Commodore Plus/4 Memory Mapping for Built-in Software
The Commodore Plus/4 utilized a unique memory management system centered around its TED chip to integrate built-in productivity software without sacrificing all available RAM. By mapping read-only memory (ROM) into specific segments of the CPU’s address space, the system could switch between the operating system, the BASIC interpreter, and the three bundled applications. This article explores the technical details of how the Plus/4 handled memory mapping, the role of the TED chip in banking ROM, and how this architecture influenced software development for the machine.
The foundation of the Plus/4 memory architecture was the MOS 6502 microprocessor, which could only address 64KB of memory at any given time. While the computer physically contained 64KB of RAM, the presence of the operating system, BASIC V3.5, and the 3+1 application pack required significant ROM space. To fit these components into the limited 64KB address space of the CPU, Commodore engineers employed a memory banking scheme managed by the TED (Text Editing Device) chip, which handled video, audio, and memory configuration.
The core of this system was the ability to map different 16KB blocks of ROM into the upper half of the memory map. The address space from $C000 to $FFFF was typically reserved for the Kernal operating system and BASIC interpreter. However, the range from $8000 to $BFFF served as a switchable window. This 16KB window could display either RAM or a specific bank of the function ROM containing the word processor, spreadsheet, database, or graphing software. By using specific registers within the TED chip, the CPU could toggle visibility between user RAM and the built-in applications.
This banking mechanism allowed the Plus/4 to offer extensive built-in functionality while still providing approximately 60KB of free RAM for user programs when the function ROM was banked out. When a user launched one of the 3+1 applications, the TED chip would map the corresponding ROM bank into the $8000-$BFFF range, temporarily hiding the RAM underneath. This process was seamless to the user but required careful handling by machine language programmers who needed to manipulate the TED registers directly to access the full memory capacity or switch contexts between software modules.
Ultimately, the memory mapping strategy of the Commodore Plus/4 was a clever solution to the hardware limitations of the 8-bit era. It allowed Commodore to market a business-oriented machine with substantial built-in value without requiring additional cartridge slots for standard productivity tools. While the banking system added complexity for developers, it maximized the utility of the 6502’s address space, ensuring that the built-in software coexisted efficiently with user data and the operating system.