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, this amount of RAM is provided as shadow RAM. 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. The Master RAM Board, made by Slogger, offered similar functionality for the Electron. In systems based on the BBC Model B+, like the
Acorn Cambridge Workstation, the screen memory can reside in either conventional RAM or shadow RAM. 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 to or from to , they are considered to be part of the
VDU drivers that may access the screen memory.
Extra RAM The Model B+ provides 32 KB of additional RAM, with 20 KB used to shadow the screen memory. The remaining 12 KB can be made available in the memory region associated with sideways RAM (from to ), but the operating system does not recognise applications installed in this memory precisely as it would for conventional sideways RAM. This "private RAM" can be controlled independently, and since part of it coincides with the regions associated with VDU drivers, it provides a "killer feature" for games or other applications wishing to write to the screen memory directly in shadow mode, utilising their own fast routines instead of the more general, but slower, operating system routines. Subsequent expansions for the BBC Model B also 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 16 KB/16 KB, or the use of the 32 KB RAM as two sideways RAM banks. The Slogger Master RAM Board offered a 32 K RAM solution for the Acorn Electron alongside a "turbo mode" enhancement. == BBC Master Implementation ==