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- Commodore-Commodore 128D-CR-additional pictures


Commodore 128D-CR
Additional pictures. Note that loading the page could take a while...
(pictures copyright by M.A.Grundke)


Commodore 128D-CR serial number (25 KBytes)
serial number: HB1 012840



Commodore 128D-CR german keyboard (32 KBytes)
C128D-CR german keyboard closeup. Note the combined ASCII and DIN-layout (e.g. Z and Y keys, additional german special characters left from RETURN key etc), that could be toggled by pressing the ASCII/DIN function key. Such a combined ASCII/ DIN layout had been created before - for the german Plus/4 (a rare localized version of the ASCII Plus/4). However, the DIN Plus/4 came without a key to toggle layouts, so the DIN character set was available only in the integrated TriMicro 3-plus-1 software or by entering a POKE in BASIC-mode (thus the C128 is much more comfortable here)



Commodore 128D-CR board overview 1 (60 KBytes)
C128D-CR with cover removed:
on the machine's left you can see the integrated power supply, a MITSUMI SR 73. It outputs 4.5A at 5V DC, 1.2A at 12V DC and 0.5A at 9V AC (while taking in 0.5A at 240V AC for Europe). On the machine's right, the integrated CBM 1571CR (or at least its drive mechanism, MITSUMI/ Newtronics D502), which is a cost-reduced CBM 1571. Since the older 'plastic C128D' came with a standard 1571, the drive's PCB (with its CPU, RAM, PLA on it) was simply integrated in the C128D's case. In the C128D-CR, all of the drive's components are part of the machine's mainboard, thus reducing production cost. However, the 1571CR is not fully compatible to the standard 1571, since it makes use of a newer DOS (CBM DOS 3.1) and the custom MOS 5710 floppy controller/ gate array (the C128D used standard WD1770/ WD1772 controllers). Furthermore, it's not quite clear why Commodore chose to put the machine in a metal case. Did that reduce production cost as well? I doubt it, but maybe in countries with strict regulations for electro-magnetic emissions, there have been problems with the plastic case version, or with the cost-reduced PSU



Commodore 128D-CR board overview 2 (58 KBytes)
C128D-CR board overview:
beginning in the rear left, left and below the machine's user port, is one of MOS 6526A CIA (at U4). Right from there, beneath RGB port and RF-modulator, is the board's video area, consisting of the VDC (U22) with its 64K RAM (2 pcs. 64Kx4 at U23 & U25) and the VIC-IIE (U21, with the smaller MOS 8701 at U28 to its left). As you can see, these chips are usually shielded completely. Below the video area, among some TTL ICs is the ROM bank (U32, U34, empty option-ROM socket U36) and the machine's 128K RAM (4 pcs. 64Kx4 at U38-U41). Right from there are both CPUs (8502R0 at U6, Z80 at U10) and the 128's PLA (U11). Above these and below VIC-IIE, are SID (U5) and MMU (U7), with power connectors for PSU and 1571CR to their right (next to that blue capacitor in the board's middle). Above these, the character generator ROM (U18) and a 2Kx8 SRAM (U19, below RF-modulator and serial/ video ports). Still right, below the expansion port, is the machine's second CIA (U2), with joystick ports and keyboard connector on the board's right edge. Now to the 1571CR parts: moving left from the machine's cassette port (board's right side), there's the drive's PLA (U105), its 65C22 (U104) and a 2Kx8 SRAM (U103). Further left, the 1571CR's ROM (U102) and its CPU (U101). Above the ROM, the UM6522A (U106), with the MOS 5710 to its right. Still above, the 10 pin connector to the drive's head and the square Motorola MC2871A R/W amplifier. You have noticed most likely that the C128D-CR's chipset is produced in the HMOS-2 process - however, the original C128D still came with NMOS chips



Commodore 128D-CR board silkscreening part 1 (25 KBytes)
board silkscreening, part 1:
GX-211 VO 8701 94V-O



Commodore 128D-CR board silkscreening part 2 (31 KBytes)
board silkscreening, part 2:
C= COMMODORE C128DCR PCB ASSY NO. 250477



Commodore 128D-CR board silkscreening part 3 (26 KBytes)
board silkscreening, part 3 (lower side of the board):
FAB. NO.
355116 REV.1

GX-211 VO
94V-0



Commodore 128D-CR CPUs part 1 (50 KBytes)
The Zilog Z80B (front) and the MOS 8502R0 (behind). The MOS 8502 is basically a 6510 (i.e. its HMOS-2 equivalent, the 8500), which comes with a 7 bit bi-directional I/O port instead of the 6510/ 8500's 8 bit port. It's clocked either at 985.248 KHz/ 1.0227 MHz (C64 mode PAL/ NTSC) or 1.97 MHz/ 2.02 MHz (C128 mode). The story of how the Z80 made it into the 128's design is quite interesting - if you guessed that CP/M compatibility was planned from the start, you're wrong. According to Bil Herd, chief designer of the C128, it was added 'by accident': when the early prototypes were tested with C64 cartridges, there were lots of problems. The CP/M cartridge, for example, consumed simply too much power for the machine's PSU ('an additional 0.5A', as Herd pointed out in a Newsgroup article) - the result was a very unstable C128. Additionally, some carts made the MMU initialize in 64-mode when powered up, also crashing the machine. So Herd decided to simply add the Z80 to the C128's board, creating that additional feature called 'CP/M compatibility' (although MS-DOS was already pushing CP/M away these days). So the CP/M cartridge wasn't required anymore, and the Z80 could also be used to initialize the MMU correctly for existing cartridges



Commodore 128D-CR CPUs part 2 (38 KBytes)
This MOS 6502AD is the integrated CBM 1571CR's CPU - like all CBM diskdrives, the 1571CR has CPU, ROM and RAM just like the C128 itself, and works quite similar (CPU executes code from RAM or ROM, handles IRQs etc). The 6502AD can be clocked at a maximum of 2 MHz (thus the 'A'-suffix), which is required for C128 mode. Still a mystery: what does the 'D'-suffix mean? The chip revision?



MOS 8722 MMU (39 KBytes)
The MOS 8722R2 MMU ('memory management unit') is required because the 8502, like its 6510-ancestor, can only access 64 KB address space (RAM or ROM) directly. So in the C128, RAM's split into two banks of 64KB size each - the MMU does the switching, so that other devices (i.e. the CPU) can access them within the valid address range ('bank selection'). This technique is also used for ROM- and I/O access - if the CPU needs to access a ROM area, for example, the MMU reconfigures the memory map so the RAM at that location is 'disabled' (i.e. it's lying 'under' the ROM, which can now be accessed by the CPU). Another example is the machine's C64 mode, in which the memory map is reconfigured to that of a C64 (e.g. with the second RAM bank disabled). Note also that for some devices, such as VIC-II, bank selection isn't necessary - they can write into RAM even if the MMU has disabled it for ROM-access



Commodore 128D-CR RAM bank (39 KBytes)
These four 64Kx4 SRAMs (OKI M41464-15) form the C128D-CR's RAM bank. It's divided into two 64K banks, the second bank being disabled in 64 mode, of course. Interesting in that context is that the MMU has bank select registers for four RAM banks, although only two were actually implemented in the C128-design (maybe the additional banks were implemented in some of the various C128 prototypes?). However, there were different RAM configurations in the C128-series (e.g. the older machines used 8 pcs. 64Kx1 RAMs, some came with 200 ns RAMs etc.)



Commodore C128D-CR ROMs part 1 (37 KBytes)
The C128D-CRs ROMs, part 1:
C318077-01 (U32) integrates several ROMs on one chip (C901226-01 CBM BASIC V2, C901227-03 CBM Kernal Rev.3, C128 KERNAL, Z80-BIOS and C128 screen-editor). Note that the KERNAL part of the ROM contains a localized keyboard map for the machine's german (DIN) keyboard layout. Right from there, at U34, the C128's BASIC V7 (C318022-02), in the later 1986-version. At U36, finally, the 'function-ROM socket', which is empty by default. It can take 16- or 32 KB ROMs with additional software, although such a C128 did never exist. These 'option ROMs', by the way, were also implemented in previous CBM-designs, such as the PET series or the Plus/4. By the way, earlier machines used 4 pcs. 16Kx8 ROMs, instead of the 2 pcs. 32Kx8 shown here (the C128-design can, theoretically, handle both types, although this board revision doesn't come with the four sockets required...). A last word about BASIC 7: it's a synthesis of the BASIC 4 (PET-series) and the later BASIC 3.5 (264-series), with powerful graphic- and disk I/O-commands. Quite interesting here is the existance of BASIC 3.6, which was used in the Commodore LCD prototype. It was intended as a 'stripped-down' BASIC 7 - missing some of its commands, but instead of returning an error when these are issued, just ignoring them! Seems that again, Commodore had learned from the various problems with incompatible BASIC-versions (such as BASIC 2 and BASIC 3.5)...



Commodore C128D-CR ROMs part 2 + color RAM (27 KBytes)
The C128D-CRs ROMs, part 2:
C315079-01 is the machine's ASCII/ DIN character generator ROM. It contains both the character sets for C64- and C128-mode. Below it, a 2Kx8 SRAM (Samsung KM6816AL-15), which is used as color-RAM (=storing screen color data) for the VIC-IIE



Commodore C128D-CR ROMs part 3 + 1571CR RAM (31 KBytes)
The C128D-CRs ROMs, part 3:
C318047-01 contains the firmware for the C128D-CR's integrated 1571CR, CBM DOS 3.1. Note that the CBM 1571 (and thus the older 'plastic C128D' as well) used CBM DOS 3.0. In combination with the slightly different hardware (5710 instead of WD1770/ 1772), the 1571CR is not fully compatible to its ancestor (especially as far as hardware upgrades, such as floppy speeders, are concerned)



MOS 8566 VIC-IIE + MOS 8701 (59 KBytes)
The MOS 8566R3, also called 'VIC-IIE'. The main difference to the HMOS-2 VIC-II, i.e. 8562 (NTSC)/ 8565 (PAL) used in late C64 boards, is that the VIC-IIE can be clocked at 2 MHz - necessary for 128 mode. Additionally, the VIC-IIE offers a keyboard control register and enhanced DMA capabilities (both remnants of TED used in the 264-series). Above it you can see the MOS 8701 clock generator. It can be found in all C128 and most C64 (from ASSY 250425 on), and when introduced, it replaced some TTL logic for cost- and fault-reduction (''improved system clock circuit design'). The MOS 8701 is connected to VIC's PHI COLOR/ PHI IN lines, and, depending on a mainboard jumper, creates a 14.31818 MHz NTSC- or 17.73447 PAL clock signal



MOS 8568 VDC + VDC RAM (55 KBytes)
The MOS 8568 'VDC' or 'DVDC' outputs the 80 column digital RGBI modes of the 128. It was originally developed as an enhanced 'color 6845' for the CBM 900, Commodore's Zilog Z8001 machine. When its development was cancelled due to the purchase of Amiga Inc., the existing VDC design was integrated in the C128. However, two versions do exist: the MOS 8563 was used in the flat C128 and 'plastic C128D', the later MOS 8568 can be found in C128D-CR and the C128-CR prototypes. They are not pin-compatible, as the 8568 introduced composite HSYNC and VSYNC lines and an RDY interrupt. Both can be programmed for a variety of display modes (including variable VSYNC & HSYNC when 8565), like text with up to 80x50 characters and interlaced graphics with up to 736x708 pixels (736x354 non-interlaced). The highest modes were rarely used, however, because they required 64K VDC RAM - the older machines (C128/ 'plastic C128D') had only 16K. Another reason is that the higher the graphics mode, the slower is VDC, of course... Right before VDC, you can see the 64K DVDC RAM just mentioned (2 pcs. 64Kx4, OKI M41464-15)



MOS 8580 SID (40 KBytes)
The well-known SID, here in the HMOS-2 version as MOS 8580R5. Since SID was a great soundchip, nobody thought of replacing it when C128-design was conceived (although the later C65/ C64DX prototype came with two SIDs for true stereo ouput). However, the 8580 is not fully compatible to its NMOS equivalent MOS 6581. Reason is that a fault in the 6581's design (causing a voltage leak when using volume control) was corrected in the 8580. However, since only very few ('pre-8580') programs rely on that bug, it's just a minor incompatibility...



MOS 5710 + UM6522A (50 KBytes)
Now these are parts of the integrated 1571CR's I/O subsystem, UMC UM6522A VIA and MOS 5710, the C128D-CR's floppy controller. Like all Commodore diskdrives and most peripherals for the CBM serial bus, the 1571CR features its own CIAs/ VIAs, CPU, RAM and ROM. A reason for that, apart from taking load from the host computer, is the serial bus itself: it's based on the IEEE-488 bus used in the PET-series (although CBM serial is slower and has fewer features), and requires 'intelligent peripherals' to handle the protocol. The MOS 5710 (below) is the C128D-CR's floppy controller and one of the reasons why the 1571CR is 'cost reduced': it replaces both the Western Digital WD1770/ WD1772 FDC and the CBM 251829-01 gate array used in CBM 1570/ 1571 diskdrives (and thus in the 'plastic C128D' as well). Its tasks in the 1571CR, apart from controlling the MC2871A for operating the drive mechanism and data transfer, are RAM and I/O adress decoding and mode selection (i.e. to change into 1541-compatibility mode upon activation of the machine's 64 mode). Interesting is also that the 5710 was the direct predecessor to GARY (MOS 5719), used in the Amiga-series



Motorola MC2871A (36 KBytes)
The Motorola MC2871A is a read/ write amplifier and identical to Sanyo LA8200M and Sony CX20185 (which were also used in some C128D). As the name implies, it amplifies and transfers the read-/ write- and erase-signals between MOS 5710 and the drive's heads, thus doing the physical data transfer (initiated and controlled by the 5710, which also does the GCR/ MFM format de-/encoding). The MC2871A was especially designed for FDD signalsv



MOS 6526A CIA #1 (38 KBytes) MOS 6526A CIA #2 (38 KBytes)
Here are the C128D-CR's two MOS 6526A CIA ('complex interface adaptor' for the 65XX bus). Their two 8 bit I/O ports and 16 programmable I/O lines are used for the machine's several I/O functions (serial bus, user port, expansion port, keyboard and joystick-ports). Additionally, the 6526s feature time-of-day clock and two 16 bit interval timers. The 6526 used here can be clocked with up to 2 MHz (thus the 'A-suffix'), but since the C128's I/O subsystem always operates at 1 MHz (even in the machine's 2 MHz 'FAST mode'), that's irrelevant. Note that, although most of the C128D-CR's chips are HMOS-2, the CIAs are still NMOS - Commodore began to use the 8520 CIA in the Amiga-series



MOS 8721R3 PLA (39 KBytes)
The C128D-CR's PLA ('programmable logic array'), MOS 8721R3. As the name implies, it's an array of gates, each programmable to create custom logic equations via AND, OR and invert states. It's responsible for memory and I/O address selection, i.e. to allow devices to read and write to RAM and ROM areas in the 64K address space (e.g. if a cartridge is inserted, certain PLA lines will be grounded. All devices accessing that memory area will then access the expansion ROM there, i.e. the inserted cartridge, instead of the RAM lying 'beneath' it). By the way, PLA's have to be programmed individually for each machine, meaning that you cannot exchange a C64's PLA with that of a C128



R65C22 CIA + MOS 251828-01 PLA (55 KBytes)
These two chips are also part of the integrated 1571CR diskdrive, a Rockwell R65C22P2 CIA and a 251828-01 PLA. As mentioned earlier, CBM diskdrives are 'intelligent peripherals' and come with their own CIAs, PLA, RAM, ROM and CPU. Thus these chips' functions are similar to those in other Commodore computers and peripherals: the CIA is used for the drive's serial bus, and the PLA provides logic equations for adress decoding (required since the drive's 6502AD CPU also has 64K address space, shared between I/O, RAM and ROM). Interesting in that context is that CBM 1570/ 1571 (and the 'plastic C128D') have a second PLA, 251829-01, whose gate array functions have been integrated into the C128D-CR's MOS 5710 (reducing overall production cost)



Commodore C128D-CR reset switches (16 KBytes)
Closeup on the machine's two reset buttons (right side), one for the machine itself and one for the 1571CR


Sothius' Home-Museum- Commodore-Commodore 128D-CR-additional pictures