Sideways address space
Encyclopedia
The "Sideways" address space on the Acorn
Acorn Computers
Acorn Computers Ltd. was a British computer company established in Cambridge, England, in 1978. The company produced a number of computers which were especially popular in the UK. These included the Acorn Electron, the BBC Micro, and the Acorn Archimedes...

 BBC Microcomputer
BBC Micro
The BBC Microcomputer System, or BBC Micro, was a series of microcomputers and associated peripherals designed and built by Acorn Computers for the BBC Computer Literacy Project, operated by the British Broadcasting Corporation...

 and Master-series microcomputer
BBC Master
The BBC Master was a home computer released by Acorn Computers in early 1986. It was designed and built for the British Broadcasting Corporation and was the successor to the BBC Micro Model B. The Master 128 remained in production until 1993....

 was Acorn's bank switching
Bank switching
Bank switching is a technique to increase the amount of usable memory beyond the amount directly addressable by the processor. It can be used to configure a system differently at different times; for example, a ROM required to start a system from diskette could be switched out when no longer...

 implementation, providing for permanent system expansion in the days before hard disk drives or even floppy disk drives were commonplace. Filing systems
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...

, application and utility software and drivers were made available as Sideways ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

s, and extra RAM
Ram
-Animals:*Ram, an uncastrated male sheep*Ram cichlid, a species of freshwater fish endemic to Colombia and Venezuela-Military:*Battering ram*Ramming, a military tactic in which one vehicle runs into another...

 could be fitted via the Sideways address space.

The Advanced User Guide to the BBC Micro only 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 BBC Micro and Master-series machines used the 8-bit 6502
MOS Technology 6502
The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle and Bill Mensch for MOS Technology in 1975. When it was introduced, it was the least expensive full-featured microprocessor on the market by a considerable margin, costing less than one-sixth the price of...

 and 65C102 processors with a 16-bit address space. The address space was split into 32 KiB RAM
Ram
-Animals:*Ram, an uncastrated male sheep*Ram cichlid, a species of freshwater fish endemic to Colombia and Venezuela-Military:*Battering ram*Ramming, a military tactic in which one vehicle runs into another...

 (0x0000 to 0x7FFF), 16 KiB Sideways address space (0x8000 to 0xBFFF) and 16 KiB operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 space (0xC000 to 0xFFFF).

The Sideways address space is a bank-switched (referred to by Acorn as "paged") address space
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.- Overview :...

 that allows access to one 16 KiB 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
BBC BASIC
BBC BASIC is a programming language, developed in 1981 as a native programming language for the MOS Technology 6502 based Acorn BBC Micro home/personal computer, mainly by Sophie Wilson. It is a version of the BASIC programming language adapted for a U.K...

. Further ROMs can be added to the computer to add software that will remain available at all times; this permitted the addition of new filing systems to the OS (such as the Disc Filing System
Disc Filing System
The Disc Filing System is a computer file system developed by Acorn Computers Ltd, and introduced in 1982 for the Acorn BBC Microcomputer. It was shipped as a ROM to be inserted onto the BBC Micro's motherboard. It has an extremely limited design, and uses a flat directory structure...

) and application and utility software. Software supplied as ROMs has two main benefits: it loads instantaneously, 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 debugger
Debugger
A debugger or debugging tool is a computer program that is used to test and debug other programs . The code to be examined might alternatively be running on an instruction set simulator , a technique that allows great power in its ability to halt when specific conditions are encountered but which...

s to operate on software held in RAM.

Sideways RAM

In addition to ROM, banks of RAM could be added to the computer via the Sideways address space. The BBC Micro is hardwired to deny 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 BBC Master was re-engineered to support Sideways RAM, and could be configured with motherboard links as to which banks were ROM and which were RAM. RAM could also be plugged into the external cartridge ports.

Sideways expansion

Acorn MOS
Acorn MOS
Acorn's Machine Operating System or OS was a computer operating system used in the Acorn BBC computer range. It included support for four-channel sound and graphics, file system abstraction, and digital and analogue I/O including a daisy-chained fast expansion bus...

 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
Watford Electronics was a British computer electronics company. It was founded in 1972 in a bedroom belonging to Nazir Jessa, and grew to become one of the best-known suppliers of microcomputers and micro peripherals during the 1980s....

 Sidewise board, also provided the option of permanent, battery backed-up RAM. This allows for developer testing of new Sideways ROM software without blowing an EPROM
EPROM
An EPROM , or erasable programmable read only memory, is a type of memory chip that retains its data when its power supply is switched off. In other words, it is non-volatile. It is an array of floating-gate transistors individually programmed by an electronic device that supplies higher voltages...

 for each attempt. A write-protect switch could be used to prevent the contents of Sideways RAM from being modified.

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
Accumulator (computing)
In a computer's central processing unit , an accumulator is a register in which intermediate arithmetic and logic results are stored. Without a register like an accumulator, it would be necessary to write the result of each calculation to main memory, perhaps only to be read right back again for...

 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
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 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 requires one language ROM be present at POST
Power-on self-test
Power-On Self-Test refers to routines run immediately after power is applied, by nearly all electronic devices. Perhaps the most widely-known usage pertains to computing devices...

 to provide the computer with a user interface, else the OS will report "Language?" and halt. The version of Acorn MOS
Acorn MOS
Acorn's Machine Operating System or OS was a computer operating system used in the Acorn BBC computer range. It included support for four-channel sound and graphics, file system abstraction, and digital and analogue I/O including a daisy-chained fast expansion bus...

on the BBC Master has a built-in command line and will present this if no default language ROM is configured.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK