Jump to content

Commodore 128 operating modes

From C64 Wiki

Template:Short description

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]

References

[edit | edit source]

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.