My project to construct a
32KB Sideways Fram Board,
and MultiMediaCard interface
for the BBC Model B Computer.
Created on 22/02/06
This simple device contains just one IC (excluding the voltage regulator) and plugs into the BBC’s User Port. All the components for this board were sourced from Maplins, and cost around £10.
The read/write speed is approximately 10Kbytes/s.
The device works by creating a serial “SPI” bus. The clock (PB1) and data out (PB0) are controlled by software, and data in (CB2) is shifted in to the 6522’s Shift Register (SRMODE0 - see Advanced User Guide, page 409 or the 6522 datasheet).
My first electronics project ever is a “memory mapped” device, giving a read/write speed of around 43Kbytes/s. It sits in the redundant Econet ADLC chip socket (IC89) with the original intention of running it at 2MHz. However, it was only happy running at 1MHz, thus the reason it is mapped at &FE18. Components sourced from Maplins and RS Components.
This little board contains a Ramtron FM1808 32Kb FRAM chip, which appears to the Beeb as two 16Kb sideways roms/rams. Each is independently write protectable by use of jumpers. The FRAM chip is similar to SRAMs, with the exception that the /CS pin needs strobing. Components sourced from Maplins and Farnells.
My BBC with the Memory Mapped MMC Interface and FRAM boards in-situ. The MMC card itself is attached using part of an old PC Floppy Disc cable, with an IDC socket at one end, and an Edge Connector at the other.
The patched DFS (Acorn DFS 0.90) with extra commands (DUTILS). Note: This version does not support the Tube.
The actual DFS disk images are stored in an “MMB” image file. This can contain up to 510 single sided 200Kb disk images, i.e. 99.6Mb of data.
An actual MMC card being used with a BBC must be partitioned and formatted as FAT16. The MMB file must not be fragmented, its filename must be “BEEB.MMB” and be in the first 8 entries in the main directory. (Note: Long filenames use several directory entries.)
For use with BeebEm (currently Version 3.0) to emulate the memory mapped device. Thus the dfs09mmb.rom can be used.
The dll is placed in the BeebEm “Hardware” folder and selected as a “Model B Floppy Controller” (Hardware menu, Model B emulation only).
An optional mmc.cfg file placed in the BeebEm folder can state a pathname to the MMB image file, else the default is “C:\BEEB.MMB”.
Written in VB6, allows creation and management of MMB image files. (MMB files can be associated with MMB Imager, i.e. when Windows prompts for the program to open the file with, select MMB Imager.)
Double clicking on a “formatted” disk opens the disk using DFS Imager (see below).
Written in VB6, can be used with DFS image files (.img, .ssd and .dsd*), and with MMB files.
*These file types can be associated (by Windows) with DFS Imager.
Note: I placed MMB Imager and DFS Imager in the Windows System folder.
All the source files for the above software, plus my 6502 disassembler written in MS Access 97, used to disassemble and reassemble the DFS, and the VB6 design/test emulation of the Memory Mapped interface.
When using a 74HC14 rather than a 74LS14 I found I needed to increase the 1K resistors to 2K2’s. I any case, if possible, check the voltages on the card connector. They should be around 3.3V.
dfs09mmb.rom updated:
Currently under development (based on the ‘STH Collection’).
Contains a cleaned-up version of the original interface software, written in BASIC.
64MB MMC und PIC-Mikrocontroller
This site gave me all the info I needed on MMC cards and how to interface to them.
Information on the 6502 and associated chips.
Almost everything you would want to know about the Beeb is on this site.
A comprehensive games archive for the BBC and Electron.
BBC Micro Documentation Project
More documentation for the Beeb.
Information on electronics!
Found this when considering putting the DFS in to EPROM. Some useful tips.
Data sheets for the 74 Logic Series.