• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

In-System-Programmable ROM SIMM

zigzagjoe

Well-known member
Is your next version going to have the lights embedded? Or will you stack this on the interposer? :)
This is intended to stack on the interposer board for use with in a quadra with bare metal code. So far I haven't come across much that would warrant a full revision of the board.... but very early days.

You could have a text log file shown on the emulated storage device? Could even include the latest status in the filename "log - failed.txt".
The problem is the emulated storage device's data is currently synthesized on the fly, so the file listing is fixed. I'm definitely thinking that I will at least have the internal log to a log "file", but the main problem is there isn't a graceful way to inform the host of changes (since the host rightly assumes storage devices don't just decide to change their contents for fun) nor is there a way to deal with the host caching data.

I think I'm going to have to do a full USB disconnect and reconnect, breaking the serial connection as well as making the host complain about the drive going away unexpectedly...
 

zigzagjoe

Well-known member
An alternative would be to expose MTP. Then you can change files without eject/reinsert...

Yeah, that would be an option, though it'd be even more complicated and also impede use on Mac and Linux unless Mac picked up native MTP support finally. Thankfully, it seems like waiting a moment after transfer finishes then replying with SCSI sense unit not ready/media ejected one time is enough to cause it to be "gracefully" rescanned.

Honestly, though, I'm wondering how much additional functionality I want to put into the "UI" UF2 stuff.

Right now it's the basics; allow reading or writing of the current bank selected by physical switch, and cover the assorted edge cases/safety stuff. It'd be easy to make it able to arbitrarily read back either bank, writing either bank on demand, more difficult... but possibly doable, though you'd have to rename files first to cause the overwrite. Some logic could also be done to make it only read back as much as was written to the bank most recently (rather than the whole 8MB), but I'm not sure how much effort I want to put into that because - let's be honest - how often will one read back what is already on the module?

I've also confirmed my logic to detect VPP with analog circuitry to automatically disable Quadra onboard ROM works as expected too.... so that's it for the hardware validation. 🎉

1705353252001.jpeg

Interestingly, Quadra 700 (420DBFF3 - Quadra 700&900 & PB140&170) and Quadra 950 (3DC27823 - Quadra 950) ROMs will boot a SE/30.
 
Last edited:
Top