Shadow RAM (Acorn)

Last updated

Shadow RAM, on the Acorn BBC Micro, Master-series and Acorn Electron microcomputers is the name given to a special framebuffer implementation to free up main memory for use by program code and data. Some implementations of shadow RAM also permit double-buffered graphics.

Contents

Background

The BBC Micro, Master-series and Electron machines use the 8-bit 6502 and 65C102 processors with a 16-bit address space. This address space is split into 32 KB RAM (0x0000 to 0x7FFF), 16 KB sideways "paged" address space (0x8000 to 0xBFFF) and 16 KB operating system space (0xC000 to 0xFFFF). Video or screen memory is typically allocated from 0x7FFF downwards as necessary, occupying as little as 1 KB for Teletext mode 7 (and thus the region from 0x7C00 to 0x7FFF), or as much as 20 KB for modes 0-2 (and thus the region from 0x3000 to 0x7FFF). Thus, screen memory can therefore occupy a considerable amount of the available directly-addressed 32 KB RAM.

Overview

Shadow RAM is a block of RAM that can be considered to reside in parallel to the normal memory map and is accessed by the system only under certain conditions. When shadow RAM is enabled, the memory region normally used for screen memory becomes available for BASIC program use and for applications employing officially documented operating system interfaces. Given the maximum requirement of 20 KB for screen memory with the systems concerned, the amount of shadow RAM provided is typically 20 KB.

Shadow RAM was fitted as standard on the BBC Micro Model B+ and on the BBC Master series, but was an optional feature provided by third-party expansions on earlier BBC Micro systems and the Acorn Electron. The Aries-B20 product, initially sold by Cambridge Computer Consultants, [1] offered 20 KB shadow RAM for the BBC Model B, transparently diverting non-framebuffer accesses to the shadow RAM for addresses in the 20 KB video memory region. [2]

In systems based on the BBC Model B+, like the Acorn Cambridge Workstation, a programmable array logic (PAL) chip controls access to memory and exposes the screen memory to the CPU by redirecting memory accesses to the appropriate memory locations. When shadow mode is enabled, the PAL chip monitors the addresses of instructions fetched by the CPU, and where such instructions have been fetched from a range of memory from 0xA000 to 0xAFFF or from 0xC000 to 0xDFFF, they are considered to be part of the VDU drivers that may access the screen memory. [3]

Consequently, all memory accesses performed by instructions fetched from these VDU driver regions that then access memory in the range 0x3000 to 0x7FFF are considered to be accessing screen memory, and the PAL chip asserts a signal to select the "shadow" 20 KB memory bank for such instructions so that they may read from or write to the screen. All other RAM accesses while in shadow mode are directed towards a contiguous region of RAM from 0x0000 to 0x7FFF (and potentially up to 0xAFFF, if exposed) that does not host the screen memory. Meanwhile, in non-shadow or "normal" mode, this same contiguous region does host the screen memory, as is the convention in the traditional BBC Micro architecture, and the shadow memory is not accessible. [3]

BBC Master Implementation

Unlike the expansion boards for earlier systems, the BBC Master implementation of shadow RAM permits the selection of either shadow memory or main memory for use as screen memory, this being done via the Access Control Register. [4] By switching between main and shadow memory on alternate frames, double-buffered video could be used. Acorn provided a demonstration program in BASIC showing scrolling cloud animation with and without double buffering. The video game Firetrack would also use double buffering if shadow RAM was present.

On the BBC Master (and also the BBC Model B+ [5] ), shadow RAM is activated by setting the most significant bit of the memory mode number. For example, to use mode 1 with shadow RAM enabled, mode 129 (128 combined with 1) is selected.

Another significant difference between the Master implementation of shadow RAM and previous implementations also offering 32 KB of shadow RAM is the allocation of the extra 12 KB beyond the 20 KB shadowing the screen memory. Instead of this memory occupying a single region from 0x8000 to 0xAFFF in sideways RAM space, as it does with the Aries-B32 product and the BBC Model B+, it instead occupies two regions in the Master as "private RAM": a 4 KB region from 0x8000 to 0x8FFF holding function key definitions, workspace for the operating system, and character and font definitions; an 8 KB region from 0xC000 to 0xDFFF holding paged (sideways) ROM and operating system workspace. Thus, the Master was able to support character set redefinition and to allocate memory to filing systems without the amount of available user RAM being reduced. [6]

Further Refinements

Subsequent products augmented the shadow RAM with additional RAM that could be used for other purposes. For instance, the Aries-B32 product permitted shadow/sideways RAM combinations of 20 KB/12 KB and 16KB/16KB, or the use of the 32 KB RAM as two sideways RAM banks. [7] The Slogger Master RAM Board offered a 32K RAM solution for the Acorn Electron alongside a "turbo mode" enhancement. [8]

Patent Dispute

A dispute arose between the designers of the Aries-B20 shadow RAM board (Aries Computers Limited) and two other companies offering similar products, Raven Micro Products and Watford Electronics, over the alleged infringement of patent GB2137382A describing techniques employed in the design of the Aries-B20 board. [9] The products involved were the Raven Micro Products (Raven-20) and Watford Electronics (32K RAM Expansion Board). Ultimately, in 1986, Watford Electronics acquired Aries Computers in a "five figure deal" including the patents involved, with Watford subsequently selling Aries' products alongside the company's own. [10]

Related Research Articles

<span class="mw-page-title-main">Acorn Electron</span> Personal computer sold in Britain

The Acorn Electron was a lower-cost alternative to the BBC Micro educational/home computer, also developed by Acorn Computers Ltd, to provide many of the features of that more expensive machine at a price more competitive with that of the ZX Spectrum. It had 32 kilobytes of RAM, and its ROM included BBC BASIC II together with the operating system. Announced in 1982 for a possible release the same year, it was eventually introduced on 25 August 1983 priced at £199.

<span class="mw-page-title-main">MCS-51</span> Single chip microcontroller series by Intel

The Intel MCS-51 is a single chip microcontroller (MCU) series developed by Intel in 1980 for use in embedded systems. The architect of the Intel MCS-51 instruction set was John H. Wharton. Intel's original versions were popular in the 1980s and early 1990s, and enhanced binary compatible derivatives remain popular today. It is a complex instruction set computer, but also has some of the features of RISC architectures, such as a large register set and register windows, and has separate memory spaces for program instructions and data.

<span class="mw-page-title-main">Acorn Archimedes</span> Personal computer

Acorn Archimedes is a family of personal computers designed by Acorn Computers of Cambridge, England. The systems are based on Acorn's own ARM architecture processors and the proprietary operating systems Arthur and RISC OS. The first models were introduced in 1987, and systems in the Archimedes family were sold until the mid-1990s.

<span class="mw-page-title-main">Acorn Atom</span> Acorn Computers home computer, 1980–1982

The Acorn Atom is a home computer made by Acorn Computers Ltd from 1980 to 1982, when it was replaced by the BBC Micro. The BBC Micro began life as an upgrade to the Atom, originally known as the Proton.

<span class="mw-page-title-main">Conventional memory</span> First 640 KB of RAM under DOS

In DOS memory management, conventional memory, also called base memory, is the first 640 kilobytes of the memory on IBM PC or compatible systems. It is the read-write memory directly addressable by the processor for use by the operating system and application programs. As memory prices rapidly declined, this design decision became a limitation in the use of large memory capacities until the introduction of operating systems and processors that made it irrelevant.

<span class="mw-page-title-main">BBC Master</span> Microcomputer

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

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.

The Acorn Communicator is a discontinued business computer developed by Acorn Computers. Mentioned in the computing press in late 1984 as the C30, previewed in early 1985 with estimated pricing between £500 and £800, in late 1985 with a built-in LCD display, and subsequently unveiled in a slightly different form, the system sold in very low numbers to companies requiring a computer with a built-in modem.

The Acorn Business Computer (ABC) was a series of microcomputers announced at the end of 1983 by the British company Acorn Computers. The series of eight computers was aimed at the business, research and further education markets. Demonstrated at the Personal Computer World Show in September 1984, having been under development for "about a year" and having been undergoing field trials from May 1984, the range "understandably attracted a great deal of attention" and was favourably received by some commentators. The official launch of the range was scheduled for January 1985.

<i>Frak!</i> 1984 video game

Frak! is a scrolling platform video game programmed by Nick Pelling for the BBC Micro and Acorn Electron and published by his own Aardvark Software in 1984. It was ported to the Commodore 64 the following year by "The B Team". The BBC and Electron versions were included on the Superior Software compilation Play It Again Sam 4 in 1987 and re-issued in budget form by Alternative Software in 1989.

<span class="mw-page-title-main">Tangerine Microtan 65</span>

The Tangerine Microtan 65 was a 6502-based single board microcomputer, first sold in 1979, that could be expanded into, what was for its day, a comprehensive and powerful system. The design became the basis for what later became the Oric Atmos and later computers. Those later machines have similar keyboard addressing and tape I/O as the Microtan 65. The Microtan 65 has a hardware single step function that can be used for debugging software in both ROM and RAM. The computer was available as ready-built boards or as kits consisting of board and components requiring soldering together.

<span class="mw-page-title-main">Acorn MOS</span> Computer operating system

The Machine Operating System (MOS) or OS is a discontinued computer operating system (OS) used in Acorn Computers' BBC computer range. It included support for four-channel sound, graphics, file system abstraction, and digital and analogue input/output (I/O) including a daisy-chained expansion bus. The system was single-tasking, monolithic and non-reentrant.

<span class="mw-page-title-main">Comx-35</span> Home computer based on the RCA 1802 microprocessor,

The COMX-35 was a home computer that was one of the very few systems to use the RCA 1802 microprocessor, the same microprocessor that is also used in some space probes.

<span class="mw-page-title-main">BBC Micro expansion unit</span>

A BBC Micro expansion unit, for the BBC Micro is one of a number of peripherals in a box with the same profile and styling as the main computer.

The sideways address space on the Acorn BBC Microcomputer, Electron and Master-series microcomputer was Acorn's bank switching implementation, providing for permanent system expansion in the days before hard disk drives or even floppy disk drives were commonplace. Filing systems, application and utility software, and drivers were made available as sideways ROMs, and extra RAM could be fitted via the sideways address space.

In the BBC Microcomputer System, the Tube is the expansion interface and architecture which allows the BBC Micro to communicate with a second processor, or coprocessor.

Torch Computers Ltd was a computer hardware company with origins in a 1982 joint venture between Acorn Computers and Climar Group that led to the development of the Communicator or C-series computer, a system based on the BBC Micro with a Z80 second processor and integral modem, intended as a viewdata terminal.

<span class="mw-page-title-main">BBC Micro</span> Series of British microcomputers by Acorn

The British Broadcasting Corporation Microcomputer System, or BBC Micro, is a series of microcomputer designed and built by Acorn Computers Limited in the 1980s for the Computer Literacy Project of the BBC. Designed with an emphasis on education, it was notable for its ruggedness, expandability, and the quality of its operating system. The machine was the focus of a number of educational BBC TV programmes on computer literacy, starting with The Computer Programme in 1982, followed by Making the Most of the Micro, Computers in Control in 1983, and finally Micro Live in 1985.

The Advanced Disc Filing System (ADFS) is a computing file system unique to the Acorn computer range and RISC OS-based successors. Initially based on the rare Acorn Winchester Filing System, it was renamed to the Advanced Disc Filing System when support for floppy discs was added and on later 32-bit systems a variant of a PC-style floppy controller.

Wordwise is a word processor program published in 1981. It was the best selling word processor in the UK for the BBC Microcomputer during the 1980–1990 time period. The program was supplied on an 8K ROM, and was published by Computer Concepts. The use of ROM allowed the entire RAM of the host machine to be used for storing and manipulating the text, and providing printer-buffer functionality.

References

  1. "52k BBC micro". Acorn User. January 1984. p. 10. Retrieved 10 October 2020.
  2. "A 20K RAM boost for the 'B' with a unique paging system". Acorn User. April 1984. p. 162. Retrieved 29 August 2020.
  3. 1 2 Watters, C.; Wilkins, J. (7 January 1987). ACW Service Manual. Acorn Computers Limited. pp. 43–45, 76–77. Retrieved 23 March 2022.
  4. The BBC Microcomputer System Master Series Reference Manual Part 1 (PDF). Acorn Computers Limited. 1986. pp. F.2–3. Retrieved 30 August 2020.
  5. "BBC B+ revealed". Acorn User. June 1985. pp. 7, 11. Retrieved 30 August 2020.
  6. Smith, Bruce (March 1986). "Master Work". Acorn User. pp. 73–77. Retrieved 19 October 2020.
  7. Aries-B32 32K RAM expansion for the BBC Microcomputer Model B (PDF). Aries Computers. p. 6. Retrieved 29 August 2020.
  8. Emblem, Bernard (April 1987). "Slogging it out". Acorn User. pp. 146–147. Retrieved 29 August 2020.
  9. "Patent clash over boards". Acorn User. December 1984. p. 16. Retrieved 29 August 2020.
  10. "Aries acquired". Acorn User. July 1986. p. 9. Retrieved 3 September 2020.