Home Computing Commodore C65 Specification

This page is enhanced with Google services. Refer to the Google privacy policy for more information.

System Specification for C65

Information not suitable for use

March 1, 1991

1.5 Commodore C65 System Maps (continued)

This is a preliminary system specification for the Commodore C65 intended to describe the pilot production models. This page gives an outline of the Commodore C65 system memory layout. This memory layout forms part of a series of system block diagram to describe the integrated system configuration.

1.5.3 C65 System Memory Layout

C65 System Memory layout block diagram

What does this Mean? Here is what the 64K memory map looks like in various configurations (i.e., as seen by the processor):

Commdore C64 Mode memory configuration

Commdore C65 Mode memory configuration

Commdore C65 DOS Mode memory configuration

Commdore C65 Monitor memory configuration

The memory configuration is done this way for a reason. The CPU MAPPER restricts the programmer to one offset for each 32kB half of a 64kB segment. For one chunk of ROM to MAP an another chunk with a different offset, it must do so into the other half of memory from which it is executing. The operating system does this by never mapping the chunk of ROM at $C000-$DFFF, which allows this chunk to contain the Interface/MAP code and I/O (having I/O in context is usually desireable, and you can't map I/O anyhow). The Interface/MAP ROM can be turned on and off via VIC register $30, bit 5 (ROM@$C000), and therefore does not need to be mapped to itself.

Generally, operating system functions (such as the Kernel, Editor, and DOS) live in the upper 32K half of memory, and applications (such as BASIC or the Monitor) live in the lower 32K half. For example, when Monitor mode is entered, the operating system maps out BASIC and maps in the Monitor. Each has ready access to the operating system, but no built-in access to each other. When a DOS call is made, the OS overlays itself with the DOS (except for the magical $C000 code) in the upper 32kB half of memory, and overlays the application area with DOS RAM in the lower 32kB half of memory.


❮ Previous Contents Next ❯