mmbeeb

MultiMediaCard Interface and Software

for the BBC Computer

Use of any information or software found on this site is at your own risk!


Originally created on 22/02/06
Original Version
This Page Updated 26/01/07
Email: mmbeeb@yahoo.co.uk

Contents:


The Games Menu

MMC Interface Hardware

MMC Interface Software

MMC Related Documentation

Links

Source Code & Data


The Games Menu


The Games Menu Screen
Allows quick selection of your favourite game!

Can be used with a standard DFS, or with dfs09mmb.rom.  With the former the user is prompted to insert the required disk.

The dataset is based on the 'STH Collection', but others can be created using the associated VB6 MakeGamesData program.

All the files for the Games Menu can be found in the following self-extracting zip file:

TheGamesMenu.exe



top



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).

The read/write speed is approximately 10Kbytes/second.

As-Built Drawing - Note I built this board without planning its layout first.

The following is a diagram of the circuit:




The components used are (with Maplin's Stock Code and prices inc. VAT as at 27/10/06):

Code Qty Description Cost Comment
JP47B 1 Stripboard 29 x 39 2.70 The one shown is a 29 x 39 way cut in half, i.e. 29 x 19.
1 47K Resistor
5 4K7 Resistors
QL80B 1 1N4148 Diode 0.16
JC03D 1 2 x 31 Way 0.1" Pitch Edge Connector 1.30 I cut this down to suit with a junior hacksaw.
N57CA 1 TS1086CZ-3.3 0.94 A 3.3V voltage regulator.
WW68Y 2 10uF 16V Tantalum Capacitors 0.70 ea. As per the voltage regulator's datasheet.
JH36P 1 16 Way DIL Header 1.06 To connect the ribbon cable neatly to the stripboard.
1 16 Way Ribbon Cable x approx. 14" I used part of an old floppy disk cable.
FG84F 1 2 x 10 Way IDC Plug 1.88 For the BBC's User Port.
BL94 1 10m Bell Wire 1.55 Plenty spare!

Of course you also need a soldering iron, solder (lead free), and a “spot cutter”, plus a multi-meter is useful to check for shorts, and that the voltages of the signals to the card are ok.

See Page 426 of the Advanced User Guide for a diagram of the User Port socket.

top


MMC Related Software



dfs09mmb.rom
The patched DFS (Acorn DFS 0.90) with extra commands (DUTILS).

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.

See the DUTILs Guide for more information on this version of the DFS, and the differences from the original.


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.)



mmbeeb.dll

For use with BeebEm, allows the dfs09mmb.rom to 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 text file placed in the BeebEm folder can state a pathname to the MMB image file, else the default is “C:\BEEB.MMB”.



MMBImager.exe

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.

Standard .ssd or .img files can be dragged in or out of the image.



DFSImager.exe


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.

Allows files to be dragged in or out or deleted, the title and boot option to be changed, and compaction of the disk.

Also allows a DSD image to be split into two SSD images, or two SSD images to be combined into a DSD image.





MMCDriver.ssd (mmc.txt)

Contains a cleaned-up version of the original interface software, written in BASIC, and allows sectors to read or written from or to the MMC card.

top


MMC Related Documentation

DUTILs Guide (PDF)

A guide to the extra commands plus other information about this version of the DFS.

top


Links – Some of the web sites I can remember visiting


64MB MMC und PIC-Mikrocontroller

This site gave me all the info I needed on MMC cards and how to interface to them.

6502.org

Information on the 6502 and associated chips.

The BBC Lives!

Almost everything you would want to know about the Beeb is on this site.

WWW.STAIRWAYTOHELL.COM


A comprehensive games archive for the BBC and Electron.

The BBC Games Archive

Reviews and screen shots of most of the games for the BBC.
 
BBC Micro Documentation Project


More documentation for the Beeb.

The Electronics Club

Information on electronics!

Mike’s Eprom Programmer

Found this when considering putting the DFS into EPROM.  Some useful tips.

top
Made with Nvu