My project to construct a 32KB Sideways Fram Board,

and MultiMediaCard interface for the BBC Model B Computer.

 

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

 

 

Created on 22/02/06

Update of 15/05/06

 

 

Hardware

 

User Port MMC Interface

 


 

 

 

 

 

 

 

 

 

 


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

 


 

Memory Mapped MMC Interface

 


 

 

 

 

 

 

 

 

 


 

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.

 

 

32K Sideways FRAM

 


 

 

 

 

 

 

 

 

 


 

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 Beeb with the prototype User Port MMC interface attached, and my two MMC cards.

 

 

 

 

 

 


 

Software

 

dfs09mmb.rom

 

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

 

mmbeeb.dll

 

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

 

MMB Imager

 

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

 

DFS Imager

 

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.

 

Source Files

 

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.

 

Documentation

 

DFS Memory Usage & MMB File Structure

 

DUTILs Guide

 

 

Update of 15/05/06

 

Hardware note

 

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:

 

 

New DFS source files

 

GamesMenu.ssd

 

Currently under development (based on the ‘STH Collection’).

 

MMCbasic.ssd (mmc.txt)

 

Contains a cleaned-up version of the original interface software, written in BASIC.

 

 

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.

 

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 in to EPROM.  Some useful tips.

 

74LSXXX Datasheets

 

Data sheets for the 74 Logic Series.