Skip to content

Milestone 2 phase B - microdrive read/write, complete

Choose a tag to compare

@dfernande132 dfernande132 released this 20 Aug 19:33
· 24 commits to master since this release

Milestone 2, phase B: microdrive write support is now complete. SAVE/DIR/LOAD round-trip correctly on real MEGA65 R6 hardware, and - new since the last release - dirty sectors are now flushed back to the SD card's .mdv file automatically, in the background, with no menu interaction required. The MEGA65's drive-activity LED turns blue while there are unsaved sectors and back to red once they've been written out, so it's obvious when it's safe to power off. Verified with Fase0/tools/mdvcheck.py reporting 0 checksum failures out of 765 on a saved-and-reloaded image, including surviving a real power cycle.

This release also includes a fresh R3 build with all of this. As with the previous release, the R3 .cor compiles clean (positive timing margins, all constraints met, 0 unrouted nets) but has not yet been tested on real R3 hardware - if you have one, please try it and report back.

See INSTRUCTIONS.md (attached below) for exactly where each file goes on the SD card, and CHANGELOG.md / DECISIONES.md in the repository for the full milestone-by-milestone history - including two genuinely instructive debugging journeys along the way: a clock-enable-domain strobe bug plus a counter-width overflow that both blocked SAVE from working at all (M2022-M2024), and later a QNICE-bus wait-state timing bug that silently corrupted the very first release's SD flush, found by a byte-level diff against the original image rather than by re-reading the code blind (M2026-M2027).

Included

  • QL4M65-CoreQL-M2029_r6.cor - the compiled core for MEGA65 R6 (tested)
  • QL4M65-CoreQL-M2029_r3.cor - the compiled core for MEGA65 R3 (untested on real hardware)
  • main.rom - Minerva 1.98, plain (no QL-SD driver - this core doesn't implement QL-SD yet)
  • back.rom - Toolkit II (TK2)
  • blank.mdv - a blank, correctly-formatted microdrive test image
  • INSTRUCTIONS.md - installation instructions

Minerva and TK2 are GPL/GNU-licensed and redistributed here on that basis. For other QL ROMs, see https://sinclairql.net/djw/qlrom/index.html.

Known limitations of this milestone: one drive (mdv1_) only, 128 KB RAM (no expansion yet), QL-native CPU speed only, PAL video only. A physical reset button press or an abrupt power loss still doesn't run any firmware, so writes from the last moment before that can still be lost - the same accepted limitation other M2M cores with background write-back (C64MEGA65's vdrives, AExp's ADF floppy) share.