Sideways Address Space
   HOME

TheInfoList



OR:

The sideways address space on the
Acorn The acorn, or oaknut, is the nut of the oaks and their close relatives (genera ''Quercus'' and '' Lithocarpus'', in the family Fagaceae). It usually contains one seed (occasionally two seeds), enclosed in a tough, leathery shell, and borne ...
BBC Microcomputer,
Electron The electron ( or ) is a subatomic particle with a negative one elementary electric charge. Electrons belong to the first generation of the lepton particle family, and are generally thought to be elementary particles because they have no kn ...
and Master-series microcomputer was Acorn's bank switching implementation, providing for permanent system expansion in the days before
hard disk drive A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with magnet ...
s or even floppy disk drives were commonplace. Filing systems, application and utility software, and drivers were made available as sideways
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * R ...
s, and extra RAM could be fitted via the sideways address space. The BBC Micro Advanced User Guide refers to the sideways address space as "paged ROMs" because it predated the use of this address space for RAM expansion. The BBC B+, B+ 128 and BBC Master all featured sideways RAM as standard.


Sideways address space

The machines used the 8-bit 6502 and 65C102
processors A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
with a 16-bit address space. The address space was split into 32 KB RAM (0x0000 to 0x7FFF), 16 KB sideways address space (0x8000 to 0xBFFF) and 16 KB
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
space (0xC000 to 0xFFFF). The sideways address space is a bank-switched (referred to by Acorn as "paged")
address space In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity. For software programs to save and retrieve st ...
that allows access to one 16 KB bank at a time. Each bank can be ROM or RAM. On both the BBC Micro and the BBC Master, there are ROM sockets on the motherboard (four on the BBC Micro) which take sideways ROMs. The BBC Micro shipped with a single ROM, containing BBC BASIC; further ROMs can be added to the computer to add software that will remain available at all times. The Electron's sideways address space was exposed only by the addition of a Plus 1 add-on or a third-party equivalent; the Plus 1 also introduced cartridge slots that were carried over into the BBC Master design as an alternative way to package ROMs. Sideways ROMs permitted the addition of new filing systems to the OS (such as the
Disc Filing System The Disc Filing System (DFS) is a computer file system developed by Acorn Computers, initially as an add-on to the Eurocard-based Acorn System 2. In 1981, the Education Departments of Western Australia and South Australia announced joint tender ...
) and application and utility software. Software supplied as ROMs has two main benefits: it loads instantaneously (if delivered as language or service ROMs), and it requires very little RAM to operate (and may use the dedicated paged ROM area of RAM that normal software keeps clear of). This allowed for application software to have more working space than would normally be possible, and for utility software such as debuggers to operate on software held in RAM. The ROM filing system also allowed software to reside in ROMs as files that would be loaded in a similar way to cassette programs. Such loading was not instantaneous since it involved transferring the files into RAM, but was nevertheless used by Acorn to deliver some cartridge-based software such as games and utilities, ostensibly due to the ability to redeploy cassette-based software in another medium without needing to make significant changes to the software.


Sideways model

The first few bytes of sideways ROMs contain details that inform the OS how to handle them. These include language and service entry points, ROM type code, version number and a pointer to the copyright information. On reset the OS validates each sideways bank by checking for a copyright string. During operation the OS talks to valid ROMs by jumping to the two entry points with a specific value of the accumulator set. This provides a clean API for expanding the operating system and negotiating bank switching and RAM sharing. ROMs have two entry points: the service entry point provides the
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
access to the ROM, and the language entry point is the starting point for application software contained in the ROM. "Service" ROMs need not have a language entry point, and only exist to extend the OS. "Language" ROMs are ROMs that provide application software, and gain their name from the fact that the BBC BASIC language is supplied as the default ROM in bank 15. ROMs often contain both entry points, as all user software must have a service entry point to allow the OS to call into it. Pure service ROMs typically only extend the features of the OS itself, without providing any application software. The BBC Micro and Electron require one language ROM be present at POST to provide the computer with a user interface, else the OS will report "Language?" and halt. The version of Acorn MOS on the BBC Master has a built-in command line and will present this if no default language ROM is configured.


Sideways RAM

In addition to ROM, banks of RAM could be added to the computer via the sideways address space. These could either be used to load and use ROM images from disk or as extra workspace for machine code programs. The BBC Model B is hard-wired to prevent writing to the sideways area, so a write signal needs to be collected from somewhere. The methods vary, but the two most common methods are removing chips from the board and placing them into an expansion board that occupies the chips' original sockets, and fitting a RAM module in a ROM socket with a flying lead connected to a write signal elsewhere on the motherboard. The 64 KB model B+ had 12 KB of "special" sideways RAM. This used the sideways address but was selected by the high bit of the ROM select register and could not be used to load ROM images. The 128 KB model B+ had an expansion board with 64 KB of "regular" sideways RAM in addition to the 12 KB of "special" sideways RAM on the main board. The BBC Master came with 64 KB of regular sideways RAM, and could be configured with motherboard links as to which banks were ROM and which were RAM. In addition it had 4 KB of "special" sideways RAM and 8 KB of RAM paged over the operating system. Unlike on the B+ where the "special" sideways RAM had been available for user applications these memory areas on the Master were used as operating system and filing system workspace. The cartridge port wiring differs between the Electron and Master 128 with regard to certain RAM-related signals. The Master's slots replace the READY signal with a more general R/W signal, preserving the CSRW (chip select, read/write) signal only for certain addresses in pages FC, FD and FE, whereas CSRW corresponds to the CPU read/write line in the Electron Plus 1 cartridge interface. Both systems support RAM cartridges, however.


Sideways expansion

Acorn MOS supports up to 16 sideways banks. Due to limited motherboard space, extra sideways sockets were made available by third-party expansion boards. Certain boards, such as the
Watford Electronics Watford Electronics was a British computer electronics company. It was founded in 1972 in a bedroom belonging to brothers Nazir and Raza Jessa, and grew to become one of the best-known suppliers of microcomputers and micro peripherals during the 19 ...
Sidewise board, also provided the option of permanent, battery backed-up RAM. This allows for developer testing of new sideways ROM software without burning an EPROM for each attempt. A write-protect switch could be used to prevent the contents of sideways RAM from being modified.


References

{{reflist


External links


Paged ROM article on BeebWiki mirror at mdfs.netSideways memory used on Apple
clock card 1982 and demonstrated at Compec 1982]
Original design notes for sideway RAM
Computer memory Acorn Computers Memory management