display. A Mode 3 or Mode 4 screen uses four times as much RAM as a ZX Spectrum Mode 1 display, so four times the work had to be done in the same time when updating it. A small compensation was the straightforward arrangement of colour pixels in this memory, instead of the ZX Spectrum's more limited display and attributes memory. Low-level graphics software operations could be much simpler than their Spectrum equivalents and therefore somewhat faster to execute. The penalty of memory contention delay applied to all memory accesses to RAM, and not just to memory associated with the video circuitry (as in the case of the ZX Spectrum). Hardware sprites and scrolling would have greatly improved the performance of games, unfortunately there was insufficient wafer space on the VLSI ASIC to include such circuitry. While the main 256×192 area of the screen was being drawn, the processor could only access memory in 1 out of every 8 t-states. During the border area this was 1 out of every 4 t-states, which had no effect on the many instructions whose timings were a multiple of 4. In modes 3 and 4 the display could be disabled completely, eliminating these memory contention delays for a full 6 MHz running speed. Code running in ROM or external RAM was unaffected by contention, though any RAM accesses they performed to shared internal RAM would still be affected. Audio Six channels of 8-octave stereo sound are provided by a Philips SAA1099 sound generator chip. This sound chip can also produce four 3-bit sampled sound channels, and generate noise. To provide backwards compatibility with the ZX Spectrum, the SAM also provides a single-bit 'beeper' channel which can be used to emit simple tones by toggling the bit on and off as per the original Spectrum. Backwards compatibility In order to match the processing speed of the ZX Spectrum (3.5 MHz), the SAM Coupé introduces extra wait states in display mode 1 (the ZX Spectrum-compatible graphics mode) to slow down the CPU to roughly match the rate of that system. Firmware and DOS The machine shipped with 32 KB of ROM containing code to boot the machine and a BASIC interpreter (SAM BASIC) written by Andrew Wright and heavily influenced by his earlier Beta BASIC for the ZX Spectrum. The ROMs contained only the bootstrap code and the DOS was instead loaded from disk using