Release Structure - hoglet67/MMFS GitHub Wiki

This page documents the release package structure of MMFS and MMFS2 versions 1_55_1 (and later).

For earlier versions see this page

The release package is a ZIP file with the following two-level folder structure:

  <mmfs><interface type>/mmfs.ssd - a SSD disk image containing all builds
  <mmfs><interface type>/<build>.rom  - a 16KB Sideways ROM/RAM image
  <mmfs><interface type>/<build>.lst  - an assembly listing for reference/debugging

The top level of the folder structure contains just two entries:

  • MMFS for the classic version of MMFS that works with a single MMB file
  • MMFS2 for the later version of MMFS that works with individual SSD and DSD files

The second level of the folder structure has several entries, one per interface type:

  • U - Standard User Port (&FE60 on the Model B/Master or &FCB0 on the Electron) - Non-Turbo interface
  • U2 - Alternative User Port (&FE80) - Non-Turbo interface
  • U3 - Alternative User Port (&FEA0) - Non-Turbo interface
  • T - Standard User Port (&FE60 on BBC/Master or &FCB0 on Electron) - Turbo interface
  • T2 - Alternative User Port (&FE80) - Turbo interface
  • T3 - Alternative User Port (&FEA0) - Turbo interface
  • P - Model B/Master Printer Port connected interface (see this this thread)
  • E - Electron Plus One Printer Port connected interface (see this this thread)
  • M - Memory Mapped SPI interface (&FE1C on the Model B and &FEDC on the Master). This version is for use in in emulators (b-em and beebem) and in BeebFPGA.
  • G - Electron Mega Games Cartridge - under development with Dave Hitchens

Here we are using interface to cover both the type of SD card interface (e.g. turbo vs non-turbo) and how it's connected to your Acorn computer.

Note, the builds for the printer port connected interfaces ("P" and "E") only support the Non-Turbo interface hardware.

Within the interface folder are the actual 16KB ROM files, for example:

MMFS.rom     - BBC Model B MMFS (PAGE=&1900)
SWMMFS.rom   - BBC Model B MMFS using SWRAM (PAGE=&E00)
ZMMFS.rom    - BBC Model B MMFS using SWRAM (PAGE=&E00) wrapped with bootloader
MMFSDBG.rom  - BBC Model B MMFS with debug enabled (PAGE=&1900)

EMMFS.rom    - Electron MMFS (PAGE=&1900)
ESWMMFS.rom  - Electron MMFS using SWRAM (PAGE=&E00)
ZEMMFS.rom   - Electron MMFS using SWRAM (PAGE=&E00) wrapped with bootloader
EMMFSDB.rom  - Electron MMFS with debug enabled (PAGE=&1900)

SWMMFS+.rom  - BBC Model B+ MMFS (PAGE=&E00)

MAMMFS.rom   - Master MMFS (PAGE=&E00)

The standard version (MMFS for the Model B, EMMFS for the Electron and MAMMFS for the Master) can be programmed into an EPROM.

The "SW" (Sideways RAM) versions must be run from sideways RAM as they use this as workspace.

The "Z" versions and a hybrid that wraps the "SW" version with a boot loader. These should be programmed into ROM, and need an open sideways RAM slot to work. On power up (and Ctrl-Break) a boot loader copies the ROM into sideways RAM.

⚠️ **GitHub.com Fallback** ⚠️