bus. The driver code for the Tube interface is not held in the MOS, usually being supplied by an external service ROM. The OS has calls to handle reading and writing to all I/O (ports and screen memory) and programmers are strongly advised to use these by the Acorn documentation. The reason for this is that when a second processor is installed, user software is run from the separate memory map on the far side of the Tube processor bus, and direct access to memory-mapped I/O registers and video memory is impossible. However, for the sake of performance, many apps including many games, write directly to main address space for I/O, and hence crash or give a blank screen if a 6502 second processor is attached. One such performance-critical area is sprite support: BBC Micro hardware does not support sprites, and games must implement sprites in software. In practice, the widespread use of direct access in place of the OS calls very rarely caused problems. Second processor units were expensive and very little software was written to make use of them, so few people bought them, and those who did have them could simply switch them off or unplug the cable if a problem arose. The MOS contains two built-in file systems: cassette and ROM. These are quite similar (try , , with a suitable ROM installed) and share a great deal of code. They feature a rudimentary copy protection mechanism where a file with a certain flag set cannot be loaded except to execute it. (Before Amstrad's launch of a mass-market twin cassette recorder in 1987, most home users did not have facilities to dub cassettes without loading the files into the computer for re-saving.) The Advanced Disc Filing System (ADFS), installed as standard in the Master series, has a similar mechanism. Versions Releases 0 and 1 Versions for the BBC Micro family, starting at 0.10 and finishing at 1.20. Confusingly the Electron shipped with version 1.00 despite being released after the BBC Micro's version 1.20, because it was the first release of a ROM for the electron. The MOS version number was not intended as an API definition: the Electron ROM was not "based on" the BBC Micro ROM version 1.0 in any sense. Release 2 This version is for the BBC Model B+, essentially the same as MOS 1.20 except with the addition of support for the