Jump to content

Commodore 128

From C64 Wiki


The Commodore 128, commonly called the C128, is an 8-bit personal computer introduced by Commodore in 1985. It followed the Commodore 64 while deliberately combining a C64-compatible environment with a larger native environment and a CP/M environment. [1][2] The machine is best understood as one board with three documented operating contexts, rather than as a C64 with a single incremental feature. The selected context changes the software model available to the user, while the common hardware supplies the basis for that choice. [1][3]

Model and operating modes

[edit | edit source]

Commodore described three primary operating modes: C128, C64, and CP/M. The categories are useful because they identify distinct combinations of language, memory, processor support, and display expectations; 40- and 80-column displays are display choices within the C128 and CP/M contexts, not additional primary modes. [1][2]

Mode selection and display selection are related but different decisions. The system guide's mode-switching chart separately lists C128, C64, and CP/M destinations and distinguishes 40- and 80-column versions of the C128 and CP/M destinations. [1][4] A program or user could therefore work in the native or CP/M environment with either documented screen width when the appropriate display equipment was available. [1][5]

Context Practical character Documented facilities
C128 mode The computer's native environment. It exposes 128 KB of RAM, BASIC 7.0, and 40- or 80-column output. [1][6]
C64 mode A compatibility-oriented C64 environment. It uses BASIC 2.0, 64 KB of RAM, 40-column output, and documented C64 peripheral compatibility. [1][2]
CP/M mode A Z80-based CP/M Plus 3.0 environment. It uses the built-in Z80 and provides 128 KB of RAM with 40- or 80-column output. [1][7]

Architecture

[edit | edit source]

The C128's board-level design joins components associated with different software traditions. The preserved C128/C128D parts list identifies an MOS 8502 at U6 and a Z80 at U10, as well as the 8722 memory-management unit (MMU). An independent technical account likewise identifies the 8502, Z80, and MMU as the basis for the system's 128 KB main memory and CP/M capability. [6][4] The presence of both processors therefore explains why the C128 can support a 6502-family native and C64-facing environment while also providing a Z80 route for CP/M; it should not be mistaken for three separate machines. [6][1]

The MMU is central to that arrangement. It makes the 128 KB main-memory design usable by the native architecture, while the operating-mode documentation specifies which memory capacity is made available in each user context. [4][1] Modern technical emulation also models the internal MMU, Z80, 2 MHz operation, and C64-derived features as separate parts of the C128 system, which is consistent with the division recorded in the board parts list. [3][6]

The component inventory gives useful limits to a high-level description of “128 KB.” It lists sixteen 4164 dynamic-RAM devices for the flat C128 and separately lists two 4416 devices alongside the 8563 controller. [6][4] In other words, the main-memory figure, processor arrangement, and 80-column display hardware are not all the same resource. The native, C64, and CP/M descriptions specify the memory visible to their software contexts, while the technical record identifies distinct board components for main RAM and the VDC path. [1][6]

Video is similarly dual-path. The parts list records a VIC-family video chip and an 8563 video display controller (VDC); the system documentation distinguishes a 40-column display that supports the machine's graphics and sprites from an 80-column display intended chiefly for broader text output. [6][5] The 80-column path uses RGBI display output, whereas the 40-column path corresponds to the C64-sized screen; a technical overview independently records the same 40/80-column and RGBI distinction. [5][4] The board also retains a SID sound chip, a continuity that reinforces the C64 relationship without making the native system identical to a C64. [6][4]

C128 mode

[edit | edit source]

C128 mode is the native working environment. Its important distinction is not simply the larger RAM figure, but the combination of 128 KB access, BASIC 7.0, and the choice of either display width. [1][7] BASIC 7.0 is supplied by dedicated ROM entries in the preserved parts list, while the system guide presents it as the native language environment rather than the language used in C64 mode. [6][1]

The two display paths give native software a practical division of labour. The 40-column side can use the documented graphics and sprite facilities, while 80 columns give text-oriented applications substantially wider lines. The guide further documents programs using both displays together when suitable monitor equipment is connected. [5][4] This makes “native mode” a description of a hardware-and-firmware environment, not a claim that every program must use every C128-specific facility. [1][7]

The native environment also includes a built-in machine-language monitor and recognizes the full 92-key keyboard in the system guide's description. [1][4] Those facilities help distinguish C128 mode from the deliberately constrained C64 context, but they do not require a program to abandon C64-style 40-column graphics. [1][5]

Native mode should also not be confused with a permanently fixed screen configuration. The 40/80 display key determines the selected width when the computer is powered on, reset, or given the documented RUN/STOP–RESTORE action; after start-up, the guide documents a keyboard sequence for changing the active display format. [5][4] This is a hardware-facing selection mechanism for the display path, whereas the three main modes determine the more fundamental software environment. [1][5]

C64 mode and compatibility

[edit | edit source]

C64 mode is the C128's explicit compatibility context. Commodore's guide assigns it BASIC 2.0, 64 KB, 40-column output, and compatibility with C64 peripherals, while the museum record describes full-C64 operation as one of the system's three intended roles. [1][2] The mode is consequently more specific than the loose idea that a later computer happens to run earlier software: it presents C64-oriented software with the language and screen model documented for that earlier platform. [1][4]

This design also establishes a boundary. An independent technical overview notes that C128-specific functions are disabled in C64 mode, and the system guide separates the C64-mode language and keyboard documentation from the C128-mode material. [7][8] For historical interpretation, this is why a C128 should be described as C64-compatible rather than treated as an undifferentiated C64 replacement. [2][8]

The documented entry paths underline that separation. From C128 mode, the system guide provides a native command to enter C64 mode; at power-on it also documents a C64-oriented key choice and cartridge-triggered entry. [1][4] Returning to a C128 or CP/M context is a mode transition, rather than an extension to the active C64 environment. [1][7]

CP/M mode

[edit | edit source]

CP/M mode uses the onboard Z80 to run Commodore's CP/M Plus 3.0 implementation. The system guide identifies the Z80, 128 KB memory support, and 40- or 80-column output as properties of this context, and an independent overview likewise connects the Z80 to CP/M operation. [1][7] The guide notes that CP/M may be used on a 40-column display but that an 80-column monitor is the normal console arrangement for viewing the full-width display; the independent overview similarly treats 80 columns as generally required by the CP/M software environment. [9][7]

CP/M mode therefore widens the C128's software context without altering what C64 mode means. The three modes share the physical machine, but their documented processor, language, memory, and display arrangements serve different compatibility and application goals. [1][6]

The CP/M system is disk-loaded. The guide records both automatic loading when a CP/M system disk is present at power-on and loading from C128 mode through its documented boot command. [9][4] That dependency on a CP/M system disk and disk drive is part of the operating environment, not evidence that a disk drive is built into every C128 model. [9][7]

The guide also states that CP/M 3.0 manages the computer's memory, disk storage, console, printer, and communications devices, placing the C128 implementation in the broader CP/M software model rather than presenting it as another version of BASIC. [9][7] On the C128, the keyboard and screen serve as that console, while the Z80 supplies the processor requirement described by the guide. [9][1]

Relationship to the Commodore 64

[edit | edit source]

The C128's relationship to the C64 is architectural as well as commercial. Its board retains C64-associated video and sound hardware alongside the Z80, MMU, and VDC additions, and its documented C64 mode exposes a C64-oriented software and peripheral environment. [6][1] The 40-column display path, BASIC 2.0 context, and C64 compatibility role preserve continuity; 128 KB native operation, BASIC 7.0, 80-column output, and CP/M supply the departures. [1][2]

The resulting model avoids two oversimplifications. It is inaccurate to reduce the C128 to a C64 because the native and CP/M contexts have documented facilities that the C64 model does not provide. It is equally inaccurate to ignore its C64 role, because compatibility is a named operating context with its own documented memory, language, output, and peripheral expectations. [1][4]

The keyboard, display, and firmware choices make this relationship visible in ordinary use. In C64 mode the guide limits the language to BASIC 2.0 and the display to 40 columns, whereas C128 mode pairs BASIC 7.0 with access to both display widths and the full keyboard. [1][8] CP/M uses the same physical keyboard and may use either display width, but its documented processor and operating-system environment are different again. [1][9] Thus the three contexts overlap in hardware while preserving different expectations for software written for each one. [6][7]

For readers approaching the machine through C64 software, the important practical point is that C64 mode is a purpose-built compatibility path. For readers approaching it through native software, the important point is that the C128-specific memory, BASIC, keyboard, and display facilities exist outside that path. For readers approaching it through CP/M, the Z80 and disk-booted CP/M system define a third path. [1][9] These are complementary roles designed into one system, rather than mutually contradictory descriptions of the computer. [2][4]

See also

[edit | edit source]

References

[edit | edit source]
  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 “Commodore 128 System Guide, Section 2: Overview of the Commodore C128 Personal Computer”. Commodore Business Machines; archived by Commodore.ca. §§ 2.1–2.2. Accessed 2026-09-21.
  2. 2.0 2.1 2.2 2.3 2.4 2.5 2.6 “Commodore 128”. HomeComputerMuseum. collection description and specifications. Accessed 2026-09-21.
  3. 3.0 3.1 “VICE User Manual: About VICE, C128 emulator features”. VICE Team. § 1.1.3. Accessed 2026-09-21.
  4. 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10 4.11 4.12 4.13 “Commodore 128”. James S' Kingdom. Introduction and Technical sections. Accessed 2026-09-21.
  5. 5.0 5.1 5.2 5.3 5.4 5.5 5.6 “Commodore 128 System Guide, Section 8: Using 80-Columns”. Commodore Business Machines; archived by Commodore.ca. §§ 8.1–8.5. Accessed 2026-09-21.
  6. 6.00 6.01 6.02 6.03 6.04 6.05 6.06 6.07 6.08 6.09 6.10 6.11 “C128/C128D Parts”. Zimmers.NET, archival technical collection. U32–U35 firmware entries; U38–U53 RAM entries. Accessed 2026-09-21.
  7. 7.00 7.01 7.02 7.03 7.04 7.05 7.06 7.07 7.08 7.09 “Commodore 128”. Vintage Computers. Specifications and operating-modes overview. Accessed 2026-09-21.
  8. 8.0 8.1 8.2 “Commodore 128 System Guide, Section 9: Using the Keyboard in C64 Mode”. Commodore Business Machines; archived by Commodore.ca. §§ 9.1–9.6. Accessed 2026-09-21.
  9. 9.0 9.1 9.2 9.3 9.4 9.5 9.6 “Commodore 128 System Guide, Section 11: Introduction to CP/M 3.0”. Commodore Business Machines; archived by Commodore.ca. §§ 11.1–11.4. Accessed 2026-09-21.

Automation and sourcing note

[edit | edit source]

This candidate was independently synthesized from the cited sources under c64.wiki publication policy. It contains no copied manual prose, scans, images, screenshots, or source-code extracts; cited historical manuals and board records are used as citation-only evidence.