Commodore Vic/C64
Commodore 128-D
com_128d

Comodore 128d

Late in 1985, Commodore released to the European market a new version of the C128 with a redesigned chassis resembling the Amiga 1000. Called the Commodore 128D, this new European model featured a plastic chassis with a carrying handle on the side, incorporated a 1571 disk drive into the main chassis, replaced the built-in keyboard with a detachable one, and added a cooling fan. The keyboard also featured two folding legs for changing the typing angle.

In the latter part of 1986, Commodore released a version of the C128D in North America and parts of Europe referred to as the C128DCR, CR meaning "cost-reduced". The DCR model features a stamped-steel chassis in place of the plastic version of the C128D (with no carrying handle), a modular switched-mode power supply similar to that of the C128D, retaining that model's detachable keyboard and internal 1571 floppy drive. A number of components on the mainboard were consolidated to reduce production costs and, as an additional cost-reduction measure, the cooling fan that was fitted to the D model's power supply was removed. However, the mounting provisions on the power supply subchassis were retained, as well as the two 12-volt DC connection points on the power supply's printed circuit board for powering the fan. The C128DCR mounting provision is for a 60 mm fan.

Commodore BASIC

Commodore BASIC was a dialect of Microsoft BASIC, licensed by Commodore in 1977 for use in the PET 2001. It ran from ROM, freeing all RAM for user programs, and provided an immediate programming environment upon power-up. The interpreter was built on the 6502 processor, with tightly coded routines for tokenization, line storage, and execution. This structure allowed BASIC statements to be entered interactively, stored in memory as linked line records, and executed sequentially or via branching constructs. Commodore kept this design across its entire 8-bit product line, from the PET and VIC-20 to the Commodore 64 and beyond, creating a sense of continuity between machines.

Historically, Commodore BASIC differed from many other implementations in its limited feature set relative to machine capabilities. For example, the original PET BASIC lacked dedicated graphics or sound commands, requiring programmers to manipulate memory directly through PEEK and POKE. Even later versions, such as BASIC V2 on the C64, still omitted high-level graphics and sound statements, in contrast with Atari BASIC or BBC BASIC, which provided structured access to system hardware. Only with extended versions such as BASIC 3.5, 4.0, and 7.0 did Commodore add disk commands, string handling improvements, and more advanced features.

When compared to contemporaries, Commodore BASIC was often criticized as being underpowered, but its simplicity made it approachable. BBC BASIC, for example, incorporated structured programming constructs and inline assembler, whereas Commodore’s offering retained the line-numbered, unstructured style of early Microsoft BASIC. Atari BASIC, developed separately, emphasized graphics and sound integration through dedicated keywords. Commodore’s approach forced users to learn the underlying memory map, making them more technically literate about hardware but also raising the entry barrier for certain types of applications.

Despite its limitations, Commodore BASIC achieved massive popularity due to sheer reach. Millions of units shipped with it as the only built-in interface, ensuring every user interacted with it directly. Its ubiquity in schools, homes, and small businesses made it a de facto teaching language for a generation. Moreover, the reliance on PEEK and POKE, while cumbersome, fostered a culture of type-in listings and hardware exploration. This combination of accessibility, wide distribution, and necessity cemented Commodore BASIC’s role as one of the most influential programming environments of the late 1970s and 1980s.

Commodore BASIC Versioning

  • BASIC 1.0 (PET 2001, 1977)

    Computers: Commodore PET 2001
    Features: Essentially a stock Microsoft BASIC interpreter running in ROM, with support for integer and floating-point arithmetic, strings, arrays, and file operations for tape storage.
    Limitations: No disk commands, no advanced error trapping, and no machine-specific extensions. Designed as a minimal environment to ship the PET quickly.
  • BASIC 2.0 (VIC-20, C64, C-MAX, 1981–1982)

    Computers: VIC-20, Commodore 64, Commodore MAX Machine
    Features: Nearly identical to BASIC 1.0 with minor bug fixes, provided the same core Microsoft BASIC functionality.
    Limitations: No disk drive commands, no dedicated graphics or sound statements. Hardware had to be accessed through POKE and PEEK.
  • BASIC 3.5 (Commodore 16, C116, Plus/4, 1984)

    Computers: Commodore 16, Commodore 116, Commodore Plus/4
    Features: Added graphics and sound commands (GRAPHIC, CIRCLE, PAINT, SOUND, PLAY), integrated disk commands (DLOAD, DSAVE, DIRECTORY), plus utilities like RENUM and TRON/TROFF.
    Limitations: Still line-number oriented and lacked the structured programming richness of competitors like BBC BASIC.
  • BASIC 4.0 (PET/CBM Business Series, 1979+)

    Computers: PET/CBM 4000 and 8000 series
    Features: Expanded disk support with DLOAD, DSAVE, DIRECTORY, COPY, and SCRATCH. Improved error handling suitable for commercial environments.
    Limitations: Focused on business and disk operations, no graphics or sound capabilities because target hardware lacked them.
  • BASIC 7.0 (C-128, 1985)

    Computers: Commodore 128
    Features: Added high-level graphics (DRAW, CIRCLE, PAINT) and sound (PLAY, SOUND) commands, advanced disk operations, structured programming constructs like WHILE...WEND, RENUM, and support for memory banking and multi-mode operation.
    Limitations: Despite enhancements, still less sophisticated in structured constructs compared to BBC BASIC or contemporary Pascal-like systems.
  • BASIC 10.0 (C-65 prototype, 1990–1991)

    Computers: Commodore 65 (prototype, unreleased commercially)
    Features: Extended support for high-resolution graphics and larger color palettes through VIC-III, up to 8 MB memory addressing, advanced string handling, and structured commands.
    Limitations: Never commercially released, so its practical impact was negligible despite advanced features.

Sound - The Commodore SID (MOS 6581)

SID is short for Sound Interface Device. It is the name of the sound chip that was used in the VC10, the commodore 64 and the Commodore 128. SID was developed by Bob Yannes, an employee of MOS Technology. Bob was not only an engineer but also knew a lot about music. His intention was to create a different sound chip than other devices at the time. He implemented a subtractive synthesis chip. The chip's distinctive sound is easily recognized and was clearly ahead of the ocmpitition. The SID combines analog and digital circuitry that cannot be 100% emulated, even today.

Source: C64 Wiki

Video - The Video Interface Chip v2

The VIC-II, or Video Interface Chip II, is a chip from MOS Technology. There are a few variants:

  • For NTSC: 6567/8562/8564
  • For PAL: 6569/8565/8566

The VIC-II generates Y/C signals and DRAM refresh signals for the Commodore 64, Commodore MAX, and Commodore 128 computers. It is the successor of the original VIC chip used in the VIC-20 computer.

Features:

  • 16 KByte address space for screen, character and sprite memory
  • 320x200 graphics in 16 colors
  • 40x25 Text resolution
  • Capable of 8 sprites per scanline (24x21 or 12x21 multicolor sprites)
  • Raster interrupt
  • Smooth Scrolling
  • Independent DRAM refresh
  • BUS mastering for the 6502-style bus. CPU and VIC-II can access the bus during alternating half-clock cycles.

Programmers quickly learned that the VIC-II was more capable than the specifications would indicate. By manupulating the 47 different control registers, and by using machine code hooked into the raster interrupt routine (or the scanline interrupt), the chip can be programmed to do sprite multiplexing. This allows for more than 8 concurrent sprites on screen. It basically allows for the screen to be split up in different slices, giving each slice its own scrolling, resolution, color and sprite properties. This even allowed programmers to use graphics outside the upper and lower borders of the screen.

CPU - The Intel 8502

The MOS Technology 8502 is an 8-bit microprocessor designed by MOS Technology and used in the Commodore 128 (C128). It is an improved version of the MOS 6510 used in the Commodore 64 (C64). It was manufactured using the HMOS process, allowing it to have higher transistor density, and lower cost, while dissipating less heat. The 8502 allows the C128 to run at double the clock rate of the C64 with some limitations.

CPU - The Zilog Z80

The Z80 quickly became popular in the personal computer market, with many early personal computers, such as the TRS-80 and Sinclair ZX80, using the Z80 as their central processing unit (CPU). It was also widely used in home computers, such as the MSX range, SORD, and the Amstrad CPC, as well as in many arcade games. Additionally, it was also used in other applications such as industrial control systems, and embedded systems. The Z80 was widely used until the mid-1980s, when it was gradually replaced by newer microprocessors such as the Intel 80286 and the Motorola 68000.

The Z80 microprocessor was developed by Zilog, a company founded by Federico Faggin in 1974. The Z80 was released in July 1976, as a successor to the Intel 8080. It was designed to be fully compatible with the 8080, but also included new features such as an improved instruction set, more powerful interrupts, and a more sophisticated memory management system.

Originally the Z80 was intended for use in embedded systems, just as the 8080 CPU. But the combination of compatibility, superior performance to other CPUs of the era, and the affordability led to a widespread use in arcade video game systems, and later in home computers such as the Osborne 1, TRS-80, ColecoVision, ZX Spectrum, MSX, Sega's Master System and many more. The Z-80 ran the original Pac-Man arcade cabinet. The Z-80 was used even in the Game Gear (1990s), and the TI-81 and succeeding graphic calculators.

The Z-80 remained in production until June of 2024, 48 years after its original release. Zilog replaced the processor with its successor the eZ80, an 8-bit microprocessor that features expanded memory addressing up to 16 megabytes, and running up to 50MHz, comparable to a Z80 clocked at 150MHz.

Technical Details
Released 1987
Country United States
Brand Commodore
Type Commodore Vic/C64
Name Commodore 128-D
CPU Class 650x
CPU MOS 8502 @1-2MHz, Zilog Z80A @3.58MHz
Memory RAM: 128kB
VRAM: 16kB
Sound Chip SID (MOS 6581)
Sound 3 osc, 4 wave channels, filters and ADSR
Display Chip VIC-IIE (MOS 8564) for C64 compatibility
Display 80x25 80x50 text
320x200 graphics
640x200 graphics
640x400 interlaced graphics
Best Color 16 colors
Graphics 640x400 interlaced
Sprites 8 16pixel wide/scanline 3 colors
System OS Commodore BASIC 7.0
CP/M
Storage Internal 3.5" Floppy Disk Drive.
Original Price $499.99
Related Systems 💾
Commodore PET/CBM - 2001/3000 Series
Commodore CBM 4000 Series
Commodore CBM 8000 Series
Commodore CBM-II 500 Series
Commodore CBM-II 600 Series
Commodore CBM-II 700 Series
Commodore C16
Commodore Vic/C64
Commodore Amiga
Commodore Amiga Desktops
Commodore Personal Computer
External Links 🌐
MOS Technology 6581 SID
Wikipage on Commodore's SID Chip
MOS Technology VIC II
Wikipage about the VIC II Chip
Z80 CPU
Wikipedia page on the very popular Z80 8-bit CPU used in many computers of the 1980's era.