Commodore 128 operating modes
The Commodore 128 operating modes are three distinct user environments built into the computer: native C128 mode, Commodore 64 (C64) mode, and CP/M mode. They are not three names for the same desktop with different screen widths. Native C128 mode and C64 mode present different BASIC and compatibility environments, while CP/M starts a disk-based operating system for the machine’s Z80 processor.[1][2] The 40/80 DISPLAY control concerns which video system is selected at startup; it does not by itself convert a C128 session into C64 or CP/M mode.[1][3]
Native C128 mode
[edit | edit source]Native C128 mode is the ordinary starting environment when neither a C64 startup selection nor a CP/M system-disk boot takes precedence. It makes the machine’s 128 KB of main RAM available to the C128 environment and starts Commodore BASIC 7.0. The native environment also supports both 40-column and 80-column output, the expanded keyboard, and the built-in machine-language monitor.[4][2]
For normal use, native mode is the appropriate starting point for C128 software and for BASIC 7.0 programs. A 40-column display uses the VIC-II-family video hardware, whereas the 80-column display uses the VDC and its RGBI-oriented output; a suitable 80-column monitor or display connection is therefore part of the practical setup for the latter.[4][3] The computer samples the 40/80 DISPLAY control during startup or reset. With the control set for 40 columns, a normal start enters native C128 mode on the 40-column display; with it set for 80 columns, it enters the same native mode using the 80-column display.[1][2]
The distinction matters when selecting software. BASIC 7.0 and the C128’s 80-column facilities belong to the native environment, so changing only the display choice is not a substitute for selecting the appropriate operating mode.[4][3]
C64 mode
[edit | edit source]C64 mode is the compatibility environment for software intended for the earlier Commodore 64. It supplies C64 BASIC 2.0, 64 KB of RAM, and 40-column output, and it follows the C64 keyboard and peripheral model closely enough for C64 software to use the familiar environment.[1][2] This mode is intentionally narrower than native C128 mode: the native 80-column environment and BASIC 7.0 facilities are not the operating context in which a C64 program runs.[4][2]
From native BASIC, a user enters C64 mode by issuing the `GO 64` command and confirming the request. At a cold start, holding the Commodore (C=) key while powering on selects C64 mode instead.[1][2] The transition is best treated as a change of machine environment, not as an application launch: to return to C128 mode, the documented route is to reset or power-cycle the computer, then start normally.[4][3]
A user who wants to run a C64 disk, tape, cartridge, or program should normally establish C64 mode first and then follow the program’s own loading instructions. Conversely, a C128-specific program should be started in native mode rather than assumed to gain its C128 features while C64 mode is active.[1][4]
CP/M mode
[edit | edit source]CP/M mode turns the C128 into a CP/M Plus 3.0 system. In this environment the built-in Z80 is the principal processor for CP/M software, while the C128’s hardware and firmware support the operating system’s console and peripheral handling. Commodore’s implementation provides 128 KB arranged as 64 KB banks and offers either 40-column or 80-column display output.[4][2] CP/M is therefore a separate, disk-loaded environment rather than a BASIC command set added to native mode.[5][6]
CP/M needs a CP/M system disk. From native C128 BASIC, the user places that disk in the disk drive and enters the `BOOT` command. Alternatively, with the system disk already in the drive, turning on the drive and then the computer loads CP/M automatically.[5][6] After loading, CP/M presents its command prompt, from which the user runs CP/M commands and applications rather than BASIC programs.[5][6]
The intended display can be chosen before booting. The official mode chart specifies the 40/80 DISPLAY control position for 40-column or 80-column CP/M startup, and the independent emulator guide confirms the same boot-time selection in practice.[1][6] A 40-column CP/M session still formats an 80-column logical display, so only part of each line is visible until the user scrolls horizontally. An 80-column display avoids that limitation when the necessary display hardware is connected.[5][6]
If the machine is already in C64 mode, the mode chart directs the user to power it off, prepare the CP/M system disk and display selection, and start again. This is consistent with C64 mode being a startup-selected compatibility environment rather than a place from which CP/M is loaded in-session.[1][3]
Choosing a mode
[edit | edit source]The practical question is which software environment the user needs. Choose native C128 mode for BASIC 7.0, C128 applications, or native 40/80-column work. Choose C64 mode when an application expects the C64’s BASIC, memory, video, and compatibility environment. Choose CP/M mode when the intended program is a CP/M application and a CP/M system disk is available to boot it.[4][5][2]
Keeping the two decisions separate prevents common confusion: first select the operating environment required by the software, then select a 40- or 80-column display where that environment supports both. C64 mode is the exception because it is a 40-column C64-compatible environment, not an alternate 80-column C64 screen.[1][4]
See also
[edit | edit source]- Commodore 128
- Commodore 64
- Commodore BASIC
- CP/M
- Commodore 1571
- MOS Technology 8502
- Zilog Z80
- Commodore 128 Programmer's Reference Guide
References
[edit | edit source]- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 “Commodore 128 System Guide, section 2: Overview of the Commodore C128 Personal Computer”. Accessed 2026-09-21.
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 “Commodore 128 Repair – Part 4: Commodore 128 Modes”(2014-10-26). Accessed 2026-09-21.
- ↑ 3.0 3.1 3.2 3.3 3.4 “Commodore 128”. Accessed 2026-09-21.
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 “Commodore 128 Programmer's Reference Guide”. Accessed 2026-09-21.
- ↑ 5.0 5.1 5.2 5.3 5.4 “Commodore 128 System Guide, section 11: Introduction to CP/M 3.0”. Accessed 2026-09-21.
- ↑ 6.0 6.1 6.2 6.3 6.4 “How to Use CP/M on the Commodore 128 Vice Emulator”(2024-03-31). Accessed 2026-09-21.
Automation and sourcing note
[edit | edit source]This article was independently synthesized from the cited sources under c64.wiki publication policy. The sources were used to verify factual propositions; the organization, explanations, and wording are original to this publication candidate. No manual prose, scans, screenshots, images, or source code has been reproduced.