applications. Intended to give the new computer a large library of professional-grade business software that Commodore lacked, CP/M was long past its prime by the mid-1980s, and so it was seldom used on the C128. C64 By incorporating the original C64 BASIC and Kernal ROMs in their entirety (16 KB total), the C128 achieves almost 100 percent compatibility with the Commodore 64. The C64 mode can be accessed in three ways: Holding down the Commodore-logo key when booting. Entering the GO 64 command, then responding Y to the ARE YOU SURE? prompt, in BASIC 7.0. Booting with a C64 cartridge plugged in. Grounding the cartridge port's /EXROM and/or /GAME lines will cause the computer to automatically start up in C64 mode. This feature faithfully duplicates the C64's behavior when a cartridge (such as Simons' BASIC) is plugged into the port and asserts either of these lines but, unlike an actual C64, where the memory-map-changing action of these lines is implemented directly in hardware, the C128's Z80 firmware startup code polls these lines on power-up and then switches modes as necessary. C128 native-mode cartridges are recognized and started by the kernal polling defined locations in the memory map. C64 mode almost exactly duplicates the features of a hardware C64. The MMU, Z80, and IEC burst mode are disabled in C64 mode, however all other C128 hardware features including the VDU and 2 MHz mode are still accessible. The extended keys of the C128 keyboard may be read from machine language, although the kernal routines only recognize the keys that exist on the C64. A few games are capable of detecting if a C128 is running and switching to 2 MHz mode during the vertical retrace for faster performance. On North American C128s, when in C64 mode, even the character (font) ROM changes from that of C128 mode. Early C128 prototypes had a single ROM, with a slightly improved character set over that of the C64. But some C64 programs read the character ROM as data, and will fail in various ways on a C128. Thus, the C128 was given a double-sized character ROM, which delivers the C128 font in C128 mode, and the C64 font in C64 mode. International models of the C128 use the unmodified C64 font in both modes, since the second half of the character ROM is instead dedicated to the international font (containing such things as accented