JavaScript is disabled.
You might not see the frameset to navigate these pages. Click here to reload it.

Additionally, several useful functions such as variable button- and logo sizes, depending on your screen resolution, won't work - read more about features requiring JavaScript.


Sothius' Home-Museum- Miscellaneous-IBM 5150-additional pictures


IBM PC Model 5150
Additional pictures. Note that loading the page could take a while...
(pictures copyright by M.A.Grundke)


IBM 5150 type plate (7 KBytes)
IBM 5150


IBM 5150 serial number (14 KBytes)
S/N 5150 *AA550192434 *


IBM 5150 type plate 2 (25 KBytes)
Made in Greenock
Scotland
United Kingdom
Model No.5150
COPYRIGHTED CODE CONTAINED HEREIN
© COPYRIGHT 1981 IBM Corp.


IBM 5150 overview 1 (63 KBytes)
Overview of the opened-up IBM 5150:
on the left part of the machine are its five 8 bit expansion slots, with (from left to right) display adapter, harddisk controller (both full-size boards) and floppy controller inserted. Then, the view's clearly dominated by the drives, a Tandon TM-100-2A diskdrive (middle) and the Seagate ST412 harddisk (right, both full-height). Above the floppy you can see part of the motherboard with tape- and keyboard-connectors; before them PIC, CPU and FPU-socket. Right from these the machine's power supply unit with its big fan. It is, by the way, not the original 63.5W PSU but a 130W replacement PSU (IBM P/N 1501438) - replacement was necessary because the original PSU wasn't enough to support a harddisk (with which this 5150 was upgraded)


IBM 5150 overview 2 (59 KBytes)
Overview of the 5150's board, removed from the case:
let's begin with the five 8 bit expansion slots again - the upper left is the machine's 'expansion area'. Right from them, the above mentioned tape- and keyboard-connectors with (from left to right) 8288 PIC (U2), CPU (U3) and (empty) FPU-socket (U4) below. Above the PIC, by the way, an Omron G2V-UA-006000 relay (K1). Right from the FPU socket, however, the 8288 bus controller and the power supply connector. Moving down, you can spot the two blue DIP switches (SW1, SW2), with some TTL around them. Now we've reached the board's middle, where most interesting chips reside. Again, from left to right: an empty socket (U28, near the silkscreening) might be there for an option ROM. Right from it, the machine's ROMs, 4x 8KB Microsoft BASIC-80 (U29-U32) and 1x 8KB 1983 IBM BIOS (U33). Next is an 8283 timer (U34), 8273 DMA-controller (U35) and 8255 PPI (U36). Below these, lots of TTL ICs. Moving left from that, finally, and below the ROMs, the 5150's four RAM banks can be found, each consisting of 8 pcs. 64Kx1 DRAMs plus 1 piece used for parity (U37-U45 bank 0, U53-U61 bank 1, U69-U77 bank 2, U85-U93 bank 3)


IBM 5150 board silkscreening part 1 (26 KBytes)
board silkscreening, part 1: 64KB-256KB CPU
To the left, an empty socket (U28) near the ROM bank - perhaps for an option ROM or different ROM configurations?


IBM 5150 board silkscreening part 2 (28 KBytes)
board silkscreening, part 2: 6181685 1092 V9116
(between two of the expansion slots)


NEC V20 + FPU socket + D8288 (52 KBytes)
The NEC D70108C ('V20') was often used for upgrading 8088-systems these days - it was fully compatible but overall 5-10% faster. However, since IBM only used AMD/ Intel 8088 CPUs, this machine must have been upgraded with the V20 manually (in or after 1986, if '8634' means year 1986, week 34). Above it, the FPU-socket (for an Intel 8087-FPU), and in the background the bus controller, an AMD D8288. It coordinates all bus transfers in the IBM PC-architecture (and thus is still part of today's chipsets).Interesting in that context is how Intel managed to implement a second CPU (and the i8087 is nothing else): they added two modes of operation to the 8086/ 8088 design, MINIMUM mode and MAXIMUM mode (which disappeared, by the way, with introduction of the 80286. Does the 80186 have these modes?). In MIN mode, the CPU behaves in many ways like its ancestor, the i8085, and controls I/O- and memory signals itself (allowing cheap board designs, because you don't necessarily need dedicated bus control logic). In MAX mode, several signals are 'redirected' to an i8288 (or compatible) bus controller, which is then responsible for controlling and assigning them to either CPU or FPU (because both being full microprocessors, they require equal bus access). So what we have here is an early multiprocessor system design. A last word to the MIN mode, however: although a cheaper design would've been possible by omitting the 8087-option, I can't think of any early PC or XT without it. Seems that in competition these days, the FPU feature was essential


IBM 5150 RAM bank (59 KBytes)
The 5150's four RAM banks, each consisting of 9 pcs. 64Kx1 DRAMs (one is used for providing parity bits and, to illustrate that, a little seperated from the bank). The lefmost is bank 0, using inmos IMS2600P RAMs which are directly soldered to the board. Then come bank 1 and bank 2, consisting of 9 pcs. NEC D4164C each, and bank 3 with MOSTEK 4564N RAMs. DRAMs in banks 1-3 are all socketed, as you can see


IBM 5150 BIOS ROM (22 KBytes)
The machine's ROM BIOS (8 KB), which is the latest of the three versions used in the IBM 5150 (dated October 27, 1982 internally). The earlier versions could not handle more than 544 KBytes RAM and had a bug that made them fail to recognize expansion board's ROMs in the upper memory area (causing lots of trouble especially with EGA- and VGA-cards)


IBM 5150 BASIC ROMs (35 KBytes)
These are the 5150's BASIC ROMs (4x 8KB), containing Microsoft's BASIC-80 (also called 'cassette BASIC'). Because of this ROM-BASIC, you don't necessarily need an operating system to use the IBM PC - if there's no bootable media, the machine starts up in BASIC-mode automatically. And indeed, the first 5150 came without an OS. Then, IBM's Personal Computer DOS (PC-DOS), which was nothing else than an IBM-modified (and -licensed, of course) Microsoft-DOS, was used. A well-known story is that at first, IBM's development team wanted to use CP/M ('Control Program for Microcompters') for their 'baby', which was the most popular OS of its time. But since its developer Gary Kildall (who had developed CP/M for Intel's 4004) was on holidays when IBM tried to contact him, and time went short (there were still many modifications necessary to make CP/M work with an 8088) they asked Bill Gates for advice (whose company had already supplied IBM with the ROM BASIC). He bought Tim Paterson's QDOS ('Quick and Dirty Operating System'), which was a legal CP/M-clone, and sold it to IBM as the first Microsoft DOS. Also worth a note is that BASIC-80 could only access 64 KBytes RAM


8237 DMA ctrl & 8255 PPI (36 KBytes)
AMD P8255A-5 PPI ('Programmable Peripheral Interface') and NEC D8273AC-5 (DMA controller) below, both clocked synchronously to the CPU at 4.772727 MHz (and thus both 5 MHz-versions). The PPI is a programmable I/O-device with 24 I/O pins, which are connected to the machine's various I/O-devices (like keyboard or ports). If such a device has data to transfer, it signals the PPI on one of its ports. The PPI then requests an interrupt so that the CPU can fetch the data. The DMA-controller works different. It is used for data transfers bypassing the CPU (DMA=direct memory access). In comparison to raising an interrupt request, DMA-transfer is faster since the CPU can continue with its tasks, and is thus used e.g. by SCSI controllers. But this, of course, is only true for a system like the IBM PC, in which DMA-controller and CPU run at similar or equal speed - in today's GHz-machines, the CPU polls data much faster than the DMAC could transfer it - consider that the DMA-controller, although integrated in the chipsets today, still runs at 4.772727 MHz...


8253 PIT (14 KBytes)
The 'Programmable Interval Timer' (AMD P8253-5). As the name implies, it is used as a counter and for various timings (such as memory refresh). Additionally, it's a sound generator for the internal PC-speaker. The later 5170 AT-design made use of the i8254 timer, which is improved but still fully compatible to its ancestor


8259 UART (14 KBytes)
Responsible for handling and prioritizing interrupt requests is the 'Programmable Interrupt Controller' (PIC) Intel 8259AP. Every time an I/O-device or the PPI (mentioned above) requests interrupt (IRQ), PIC notifies the CPU that there's data to be polled, which finishes its current operation to do so. Without such a PIC, the CPU had to spend most of its resources on checking all I/O-devices' ports for new data to be fetched, significantly slowing down processing


DIP SW1 (31 KBytes)
This is SW1, one of the IBM 5150's DIP-switches. Here's what the switches do (thanks to John Shadbolt for the infos on diskless operation):

SwitchFunction(s)
1OFF for one (or more) floppy drives
ON for diskless operation (together with 7=ON and 8=ON)
2OFF if 8087-FPU present (set CPU to MAX mode)
ON for no FPU (CPU in MIN mode)
3, 4memory size selection in combination with SW2 (see below)
5, 6display selection:
OFF, OFF = monochrome
OFF, ON = CGA 40-column
ON, OFF = CGA 80-column
ON, ON = EGA/ VGA display
7, 8number of diskdrives:
ON, ON = one drive (no drives when 1=ON)
OFF, ON = two drives
ON, OFF = three drives
OFF, OFF = four drives


8284 clock generator & DIP SW2 (31 KBytes)
Left you can see the NEC µPB8284AD, clock generator for CPU and other devices running synchronously. Right is SW2, the second of the machine's DIP-switches, which is used for memory size selection. Here's the combinations:

Memory size *3 (SW1)4 (SW1)123 45678
16 KBONONONONONONONOFF OFFOFF
32 KBOFFONONONONON ONOFFOFFOFF
48 KBONOFFONONONON ONOFFOFFOFF
64 KBOFFOFF ONONONONONOFFOFFOFF
128 KB **OFFOFFONOFFONON ONOFFOFFOFF
192 KB **OFFOFFON ONOFFONONOFFOFFOFF
256 KB **OFFOFFONOFFOFFON ONOFFOFFOFF
320 KB **OFFOFF ONONONOFFONOFFOFF OFF
384 KB **OFFOFFONOFFON OFFONOFFOFFOFF
448 KB **OFF OFFONONOFFOFFONOFF OFFOFF
512 KB **OFFOFFONOFF OFFOFFONOFFOFFOFF
576 KB ** OFFOFFONONONONOFF OFFOFFOFF
640 KB **OFFOFFON OFFONONOFFOFFOFFOFF

(*) Note that the total amount of memory is selected, not onboard memory only
(**) Note also that settings higher than 64KB have no effect on the early 16KB-64KB CPU-board


IBM 5150 tape & keyboard conn. (15 KBytes)
Here the IBM 5150's keyboard and tape connectors. There was a cassette drive for the tape connector which could transfer up to 2 KBytes per second. The IBM 5150's successor, the IBM PC/XT 5160 (March 1983), lacked the cassette-port. It was reincarnated one last time with the IBM 4860 PCjr (November 1983 - a total failure, btw). Interesting is that some IBM 5150 variants had the labels CASSETTE and KEYBOARD instead of the symbols shown here


Omron G2V-UA-006000 (15 KBytes)
Yes, this Omron G2V-UA-006000 is a relay. According to John Shadbolt, it is used to control a cassette drive attached to the machine's tape connector (e.g. turn it on when the LOAD-command is used in BASIC-80 mode, turn it off when tape operation is finished)


IBM Monochrome Graphics Adapter (15 KBytes)
The machine's monchrome display adaptor, IBM 1501985 430 V0011 (or just 'BLACK & WHITE/ PARALLEL'). It features TTL-monitor output and parallel printer port. Most important components on this board are a 4KB ROM (content unknown, most probably character set) and a Motorola MC6845P CRT ('Cathode Ray Tube Controller', both in the middle of the board). There are also 4 KBytes video-RAM below them (5 pcs. Toshiba TMM2114AP, 3 pcs. AMD AM9114EPC 1Kx4 DRAMs). The board was capable of outputting 80x25 characters text @ 50Hz to a TTL digital monitor (such as the IBM 5151)


IBM harddisk controller (43 KBytes)
The IBM 1501492 harddisk controller, which was capable of controlling up to two ST506/ST412-interface harddisks. Since no 5150-model came pre-equipped with a harddisk, this one must have been upgraded later (together with the 130W PSU mentioned earlier). Most important parts on this controller are a 8 KB ROM (right above slot-connector, contains WD-BIOS), three DIP-ICs by XEBEC (implementing the interface, I assume) and a Zilog Z80A CPU


IBM floppy controller (39 KBytes)
IBM 6181682-987-V9116, the IBM 5150's floppy controller. It is built around a NEC D765AC and lots of TTL. The 765AC was a very popular floppy controller these days and capable of controlling up to four diskdrives. On the left side you can see the 34 pin internal floppy connector. Also note the 37 pin SUB-D output on the controller's right, which was used for connecting external drives. Interesting is that the FDC contains a MC3487P quad balanced line receiver, and another chip labeled 'MJ336929' (maybe MC3486-compatible?). These could be used for TTL-level conversion of the NEC765AC's signals, which is necessary for external output


Seagate MFM harddisk / floppy (41 KBytes)
This Seagate ST412 MFM harddisk (right) was the latest achievement in harddisk-technology these days (being the successor to the ST506, it introduced the buffer seek command). It came with incredible 13 MBytes unformatted storage capacity! To the left, the 5150's floppy disk drive, a Tandon TM-100-2A (360K/ disk, double-sided) - early 5150s came with a 160KB floppy-drive (single-sided). As mentioned earlier, there never was a 5150-model with harddisk, so this particular machine must have been upgraded later (perhaps after IBM had introduced the 5160, which was available with optional harddisk from the start)


Sothius' Home-Museum- Miscellaneous-IBM 5150-additional pictures