mmbeeb: MultiMediaCard interface and software for the BBC computer

Martin Mather's MMC beeb website, slightly reorganized and made a bit more pretty by WHS (Martin's original site is/was at http://members.lycos.co.uk/mmbeeb/, and before that at http://mmbeeb.mysite.wanadoo-members.co.uk/, was originally created on 22-02-2006, last updated 20-11-2008, and apparently won't be updated any further).

WHS: Note that I reorganised it for myself only, so things can be changed or removed at any time. The windows stuff isn't of interest to me for example, has been put on a separate page, and may be removed. I will make some utilities for FreeBSD (or any other unix variant) to do what MMB imager does and possibly the other utilities. I've removed the links to the standard BBC micro websites, just keeping those for hardware references.

Contents:

MMC interface hardware

(Click images to enlarge)

This simple device plugs into the BBC’s User Port. It contains a 3.3V
regulator to supply the MMC card with power, resistors to reduce the User Port’s 5V signals to approximately 3.3V, and an “edge-connector” into which the card is inserted.

The associated software (see below) uses the interface to create a
serial “SPI” bus to communicate with the MMC
card. The clock (PB1) and data out (PB0) are controlled by
software, and data in (CB2) is shifted into the 6522’s Shift
Register (SRMODE0 - see the Advanced User Guide, page 409).

DUTILs guide (pdf): A guide to the extra commands plus other information about this version of the DFS and the differences from the original.

Features:

The TUBE is supported, and a number of bugs have been
removed. However, the maximum size of a single block for
reading or writing is 63.75 KB.

The actual DFS disk images are stored in a single
“MMB” image file. This can contain up to
511 single sided 200Kb disk images, i.e. 99.8Mb 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.)

MMC_new_code.pdf (WHS: This file was hidden away as above in a zip file that I split).

Old version: old__DFS_4/DFS-4.ssd old interface software (WHS: This file was hidden away on the website and could only be read by opening the source_files/ directory. I split the original zip file into this file + the above PDF files).

Old version: MMCDriver08-revC.ssd WHS: old version of MMCDriver08-revX.ssd, was found as above. Might be of interest, I'll have a look.

Old version: DFS09MMB-2008.08.14.rom WHS: This is the 14 August 2008 version of the DFS09MMB.rom, was found as above. Might be of interest, I'll have a look.

Note by WHS: I've been having problems transferring files with osword 7F from Opus Challenger to MMC. I think the problems are due to DFS 0.90. For example, it doesn't appear to handle service calls 0B (NMI release), 0C (NMI claim), 0F (vectors claimed), 10, 12 (Initialise filing system). I'm working on disassembling DNFS and using that as a basis for a new MMC rom. I've disassembled it already and am comparing it to DFS 0.90...