Skip to content

Tardis DOS v0.1.69

Choose a tag to compare

@mathiasm74 mathiasm74 released this 02 Jul 13:17
· 140 commits to main since this release

First release since v0.1.48 — a big one. Firmware image for the One ROM (fire-24-e) attached; flash with onerom or make onerom-flash. Note: flashing wipes the NV settings area, so colors/font/history start fresh.

Shell & editing

  • Filename TAB completion, triggered by a bare CTRL tap (the C64 has no TAB key; CTRL+combos still work) — completes from what the last ls/dir listed: unique match completes, ambiguity extends to the common prefix, a further tap lists candidates. Works in Meatloaf network folders (lowercase-PETSCII names, 40+ entries).
  • HOME goes to the start of the input (not the screen); CLR wipes the typed line (not the screen).
  • JiffyDOS-compatible wedges: @ = status, @$ = dir, @#9 = device 9, /name and %name = load, ^name = run.
  • about pages now use the full screen and paginate correctly with full-width lines.

Devices

  • Prompt shows 8: meatloaf> — the drive identifies itself (UI + error channel) when you switch devices, and automatically at boot.
  • New devices command scans units 8–15 with progress dots and lists each drive's identity. dev is an alias for device.
  • New IEC probe mode bounds bus waits during scans, so absent or still-booting drives time out instead of wedging (also unblocks a future AUTOEXEC).

Persistence

  • Colors, font, and command history survive power cycles reliably now: an idle checkpoint saves ~5s after you stop typing (the old every-8-commands cadence lost short sessions), plus on reset/basic/color/font changes.

Fast loader & IEC robustness

  • fload detects truncated transfers (a mid-transfer timeout is an error, not EOF) and catches yanked-cable phantom EOFs with a post-transfer drive presence check; the under-ATN byte-ack is bounded so a half-disconnected cable can't wedge the machine.
  • Fixed a never-firing retry give-up in the Epyx receiver's ready-wait.

Under the hood

  • Root-caused and fixed the RBCP overlay-fetch glitches: VIC-II badline DMA duplicated command-page reads; every command frame now waits for a badline-safe raster window. Overlay retries dropped 5 → 2 accordingly.
  • Overlays repacked into three flash sets; boot ROM-swap hardened (bounded LOAD_SLOT with fallback-to-shell, boot trace stamps via make TRACE=1).
  • Completion matcher hand-written in 6502 (~600 bytes vs 1.3KB of compiled C); test suite 6× faster (~35s) with make test M=<module> for quick iteration.

🤖 Generated with Claude Code