Skip to content

EN Storage

drew.po28@gmail.com edited this page Jul 21, 2026 · 5 revisions

Storage

Menu path: Storage · Boards: all (esxDOS / MB-02+ / Z-Controller / IDE/HDD are RP2350 only) · Requires: SD card (most items)

Overview

Everything that loads or saves media: tape, floppy (TR-DOS / Betadisk), esxDOS, MB-02+, Z-Controller, IDE/HDD and memory snapshots. The set of rows depends on the board and whether an SD card is present:

  • RP2350, SD present: Tape · Betadisk · esxDOS · MB-02+ · Z-Controller · IDE/HDD · Snapshot
  • RP2040, SD present: Tape · Betadisk · Snapshot (the SD-disk interfaces are RP2350-only)
  • No SD card: Tape only

SD automount. If the machine booted without a card, it keeps probing (~every 2 s) and mounts a card live the moment you insert one — an "SD card mounted" toast appears, the file menus light up and the remembered disk images / tape are re-mounted, no reboot needed. Settings stored on the card (video mode, arch, …) still only apply after a reboot.

On RP2350 a USB flash drive can be used alongside (or instead of) the SD card — see USB flash drive below.

Mutually exclusive disk interfaces. esxDOS, Z-Controller and MB-02+ all use the same SD card / ports, so only one can be active at a time — turning one on automatically turns the others off (with a notice) and resets the machine.

Menu structure

Storage
├── Tape ▸
│   ├── Select file        (F5)  load TAP / TZX / PZX
│   ├── Play / Stop        (F6)
│   ├── Tape browser       (F7)
│   ├── Player mode ▸
│   ├── Real sound-in ▸    audio input on the WAV-load pin
│   ├── Fast tape load ▸   flashload (standard loaders)
│   ├── R.G. ROM timings ▸ Rodolfo Guerra ROM fast-load support
│   └── Auto-start ▸       remember & auto-start the last tape
├── Betadisk ▸  (Drives)
│   ├── Drive A … D        each: Insert disk ▸ / Eject disk / Write Protect [ ]
│   ├── Fast Mode ▸
│   ├── Sound & LED ▸      Off / LED / Sound / Sound+LED
│   ├── ROM ▸              5.03 / 5.04TM / 5.05D / Custom
│   └── Auto-boot ▸        Yes / No  (RP2350)
├── esxDOS ▸               (RP2350)  Interface: OFF / DivMMC / DivIDE / DivSD + hd0/hd1
├── MB-02+ ▸               (RP2350)  BS-DOS interface
├── Z-Controller ▸         (RP2350)  Yes / No — raw SD on ports #57/#77
├── IDE/HDD ▸              (RP2350)  Scheme: OFF / NEMO / PROFI + hd0/hd1 + create image
└── Snapshot ▸
    ├── Load (SNA,Z80,P)   (F2)
    ├── Load fast-snap     (F3)
    └── Save fast-snap     (F4)

(Default hotkeys shown — all except F1 / Alt+F1 are reconfigurable.)

Tape

Item Description
Select file Load a .tap / .tzx / .pzx image (real-time, with OSD). Also Flashload for standard loaders
Play / Stop Start/stop tape playback
Tape browser Block-by-block browser; jump to a block
Player mode Tape behaves like a cassette player (manual play) vs. auto-stop
Real sound-in Feed a real audio signal into the tape input (input pin = the board's WAV-load GPIO) instead of a file
Fast tape load Flashload standard-speed (and on-the-fly translated) blocks for near-instant loading; turbo/custom loaders fall back to real-time
R.G. ROM timings Support for Rodolfo Guerra's ROMs fast-load routines, translating standard-speed blocks on the fly
Auto-start When on, the last loaded .tap / .tzx / .pzx is remembered and auto-started across a hard reset (F11) and reboot

Betadisk (TR-DOS)

The Beta Disk interface with four drives (A–D). TR-DOS works with any machine (48K / 128K / +2 / Pentagon / Profi) — it is gated only by the Betadisk flag, not by Pentagon; the TR-DOS entry trap (Z80::check_trdos) handles each ROM's banking rule.

Disk formats: .trd, .scl, .fdi, .udi, .td0 (Teledisk, read-only), .pro, .mbd. FDI/UDI read and write; some copy-protected FDI images need extra work.

Each drive row shows its inline status; the drive submenu has Insert disk, Eject disk and a Write Protect toggle. When mounting a disk from the file browser, an F5 slot-picker popup lets you choose the drive (with F2 = toggle Write Protect, F8 = eject).

Betadisk options:

Item Values Description
Fast Mode on/off Fast (instant) vs. realtime disk access. Evaluated per-disk, so multi-disk setups no longer get stuck in slow mode
Sound & LED Off / LED / Sound / Sound+LED FDD activity LED indicator and mechanical head click/seek sound
ROM 5.03 / 5.04TM / 5.05D (default) / Custom Active TR-DOS ROM, chosen independently of the active machine. Custom is a dedicated flash slot — flashing it never clobbers the factory 5.03/5.04TM/5.05D. The choice persists (NVS)
Auto-boot (RP2350) Yes / No (default No) When mounting a .trd/.scl that has no boot file, inject a small boot loader into the reserved tail of track 0 so the disk auto-starts — handy for images grabbed from the Web Archives. Stored in NVS (Config::trdosAutoBoot)

esxDOS (RP2350)

esxDOS over a DivMMC / DivIDE / DivSD interface — see esxdos.org.

  • Interface — OFF / DivMMC / DivIDE / DivSD.
  • hd0 / hd1 image slots — appear once an interface is active (DivMMC/DivIDE expose hd0; DivIDE also exposes hd1). Mount a card/HDD image into the slot.
  • The NMI "Magic Button" (esxDOS menu) is reached from the Reset menu.

MB-02+ (RP2350)

The MB-02+ disk interface (BS-DOS): WD2797 FDC, Z80-DMA, 512 KB SRAM paging, a 512 K RAM-disk, four drives, .mbd disk images and an NMI menu. The boot EPROM, FDC, DMA and SRAM paging are functional. See MB-02+.

On BS-DOS the floppy is drive B: by design — A: is the 512 K RAM-disk.

Mounted .mbd disk paths are persisted and re-mounted automatically the next time MB-02+ is enabled. Each written track is flushed to the .mbd file immediately after a Write Sector, so changes are not lost on reset/power-off.

Z-Controller (RP2350)

A Yes/No toggle that enables the Z-Controller — raw SD-card access via ports #57/#77 (for Z-Player and similar). Mutually exclusive with esxDOS and MB-02+ (enabling it disables those + resets).

IDE/HDD (RP2350)

ATA/IDE hard-disk and CD-ROM emulation (module src/IDE.*).

  • Scheme — OFF / NEMO / PROFI (NEMO and Profi bus schemes).
  • hd0 / hd1 image slots — mount a hard-disk image: .hdf, raw .hdd, or Fixed VHD.
  • CD-ROM / ATAPI — a slot also accepts a .iso (or auto-detects the CD001 signature) and acts as an ATAPI CD-ROM: the slot info line shows Type CD-ROM and Size … MB (ISO) instead of CHS/LBA, and no geometry is set for ATAPI devices.
  • Create empty image — make a blank HDD image on SD (choose size + name), zero-filled with a throttled progress overlay.

Karabas-Pro CP/M: mount the CP_M_2GB_CF.hdd raw image (with Scheme = PROFI) to boot CP/M from the ROMain Loading CP/M system entry — see Machine → Profi submenu.

Snapshot

Item Hotkey Description
Load (SNA, Z80, P) F2 Load a memory snapshot (.sna / .z80 / .sp / .p)
Load fast-snap F3 Restore the persistent fast snapshot
Save fast-snap F4 Save the current state as the persistent fast snapshot

USB flash drive (RP2350)

Boards built with USB-host support accept a USB flash stick (USB-MSC) in the USB host port. The stick appears as a second FatFs volume USB: next to the SD card:

  • Browsing — the F5 file browser's location chooser gains a "USB Drive" row while a stick is plugged in (it appears even without WiFi configured). SD and USB each remember their own last directory; from USB:/ the .. entry returns to the chooser.
  • Everything loads from it — TAP/TZX, TRD/SCL, snapshots, ROMs, ZIPs: all loaders take USB: paths transparently. Mounted images and last-used paths on the stick are remembered across reboots like SD ones.
  • USB-as-root fallback — if there is no SD card at boot, the firmware waits up to ~3 s for a stick and then uses it as the root volume: the config folder, /tmp and /spec all live on the stick, so the emulator is fully usable with no SD at all. When a card is present, SD always wins and the stick stays a secondary volume. In this mode the F5 chooser relabels Local → "USB Drive".
  • Filesystems — FAT32 and exFAT; sticks whose sector size isn't 512 bytes are ignored.
  • Hot plug — unplugging degrades the menus gracefully (like a missing SD); re-plugging brings the volume back.
  • Speed — roughly 0.9 MB/s read / 0.75 MB/s write (USB Full-Speed). Benchmark your stick with Hardware → Speed Test → USB Drive (see Hardware).

Wiring / schematic

The SD card (SPI) pinout for each board is in Boards & pinout.

How to test

Image Feature What it checks Expected result
48.udi Betadisk / UDI UDI read Loads (needs a write-enabled disk)
a TR-DOS .trd Betadisk Basic TR-DOS Catalogue reads, programs start
a .scl with no boot + Auto-boot on TR-DOS Auto-boot Boot injection Disk auto-starts
.td0 (CP/M) TD0 LZH unpack Q_DOS / CMP01 / Dos5 load
a .iso IDE/HDD ATAPI CD-ROM detect Slot shows Type CD-ROM, Size … MB (ISO)

Full list: Test images.

Links

Clone this wiki locally