formatted using the GCR encoding scheme. Commodore made versions of PerfectCalc and the EMACS-derived PerfectWriter available, and Commodore user groups sometimes had a selection of CP/M diskettes, but the limited software availability negated one of CP/M's chief attractions—its huge software library. In addition, the cartridges only work on early model C64s from 1982 and are incompatible with later units. Since they were also incompatible with the C128, the design team decided to support CP/M by putting the Z80 on the main system board. The C128 runs CP/M noticeably slower than most dedicated CP/M systems, as the Z80 processor runs at an effective speed of only . This was because the C128's system bus was designed around the 65xx CPUs. These CPUs handle data and memory addressing very differently from the Z80. CP/M also ran more slowly due to the reasons mentioned below, such as needing to pass control to the 8502 for any I/O or interrupt processing. For these reasons, few users actually ran CP/M software on the C128. When the C128 is powered on, the Z80 is active first and executes a small boot loader ROM at $0-$FFF to check for the presence of a CP/M disk. If one is not detected, control is passed to the 8502 and C128 native mode is started. CP/M mode in practice requires a 1571 or 1581 drive to be useful, since a 1541 cannot read MFM disks and will run much slower due to not supporting the C128's burst mode. CP/M boot disks nonetheless must be in the drive's native GCR format; MFM disks cannot be booted from, only read once the user is already in CP/M. This is because the code necessary to operate the drive in MFM mode is loaded as part of the boot process. In addition, 80-column mode is generally required since most CP/M software expects an 80-column screen. The C128 emulates an ADM-3A terminal in CP/M mode, so software will have to be set up for that. Aside from the standard ADM-3A terminal commands, a number of extra ones are available to use the VIC-II and VDC's features, including setting the text and background color. The CP/M command interpreter (although not application software) includes a safeguard to prevent the user from issuing a control code to make the text and background the same color, which would render text invisible and force the user to reset the computer.