IBM 5150  -  Cassette BASIC

This is the BASIC that is built into the IBM 5150 motherboard.

The 5150 motherboard will boot to cassette BASIC if it cannot find a disk that it can boot from.

Cassette BASIC resides in motherboard ROM chips U29, U30, U31 and U32.  Those four chips contain the BASIC and nothing else.

IBM possibly named it 'cassette BASIC' because it supports the cassette port only, e.g. you cannot write/read BASIC files to/from floppy disks (or hard disk drives).
If you require disk support, then use the BASIC or BASICA included in IBM PC DOS (or the BASIC in MS-DOS).


When cassette BASIC starts, one of the things displayed is the version number.
In a 5150, it will be either version C1.00 or the later C1.10
The 'C' portion is an indicator that the BASIC is the 'cassette' version.

RAM usage

Although cassette BASIC runs from ROM, it uses RAM (for itself, to hold your program, for variables, etc.)

When cassette BASIC starts:
• it uses a certain amount of motherboard RAM, per the following:
16KB-64KB motherboard  ---> Whatever RAM is fitted on the motherboard (either 16KB, 32KB, 48KB, or 64KB)
64KB-256KB motherboard  ---> 64 KB
• reserves some of that amount for itself; then
• displays the free amount, e.g. "62940 Bytes free".


In regard to this built-in BASIC, 'cassette BASIC' is the term used in the Guide to Operations manuals for the 5150.
In the Technical Reference manuals, 'cassette BASIC' is also used, but 'resident BASIC' has been used in some places instead.


Part numbers

The IBM part number is seven digits long, and printed on top of each BASIC ROM chip.
Following are some sets that I have seen.

  Example #1 Example #2 Example #3 Example #4
U32 5700043 5700043 6359113 5000023
U31 5700035 5700035 6359112 5000022
U30 5700027 5000020 6359111 5000021
U29 5700019 5700019 6359109 5000019
  C1.00     C1.10

A photo which includes example #4 is at here.

Replacing faulty BASIC ROM chips

Content images of the BASIC ROM chips are at here.

Note that the BASIC ROM chips have the same special pinout as used by the BIOS ROM, chip U33.
• A 2732 type EPROM is not suitable.  It has a different pinout, and its capacity (4 KB) is half of what is required.
• If a suitable adapter is used, then 2764, 27128, 27256 and 27512 EPROM's can be used.
• There is an EPROM equivalent.

Click here for more replacement information.  That page is about the U33 chip, but the same information applies to the BASIC ROM chips.


It is the same as the one used by the Radio Shack (Tandy) TRS-80.


If one or more of the BASIC ROM chips fail, the resulting symptom varies according to the revision of BIOS (BIOS resides in chip U33) that is fitted.

At power on, you see the flashing cursor as expected.
A few seconds later, one long beep followed by one short beep.  About 15 seconds later, a single short beep.
No further progress.
Even after a few minutes, a flashing cursor is still on screen.
No indication that points to the BASIC chips.
At power on, you see the flashing cursor as expected.
Then, the floppy drive's LED and spindle motor turn on, but never turn off.  No futher progress.
Then, inserting a boot floppy does nothing (no boot attempt made).
U29 failure: "F600 ROM" displayed
U30 failure: "F800 ROM" displayed
U31 failure: "FA00 ROM" displayed
U32 failure: "FC00 ROM" displayed