Copilot (and sometimes Claude, thanks Claude) helped me write almost all of this. I knew very little machine code, but I did know C. Copilot fixed the main bug I had when I was just running the disk routines, namely the crash I couldn't get my head around when trying to communicate to the controller. It was the biggest stumbling block to me getting it done, and it fixed it in about an afternoon of it fiddling with the ASM.
Hopefully now I can fix those two real +3 drives sitting on my shelf.. erm.
Features
Features
- Motor + drive status – Combined motor control and ST3 status check
- Drive probe (Read ID) – Probe media and report controller status bytes; decodes ST1/ST2 on failure
- Recal + seek track 2 – Track-0 recalibrate then seek verification
- Interactive step seek – Manually step the head track by track
- Read ID – Read sector ID from track 0 (requires readable disk)
- Read track data loop – Continuously reads sector data on selected track (J/K to change track)
- Disk RPM checker – Rotational-speed estimate from repeated ID reads; requires readable sector IDs
- Run all – Execute all core tests in sequence and display a report card
- Show report card – Display last run results (PASS / FAIL / NOT RUN per test)
- Clear stored results – Reset all stored test results
- Direct-key menu UI – Navigation and hotkeys respond directly; confirmation prompts use ENTER
Main menu
This was an exercise in how these agents work, their limits, my limits, the highlighs and the pitfalls. I let them pretty much have free reign, and had a lot of refactoring to do myself. It taught me a lot about how to work with them, and what I want from them and what I don't.
But above all, it was really fun bringing the old and new worlds together like this!
