Closed danj2k closed 2 months ago
In general, I don't see this specific project reaching beyond anything in the 80
CPU family, so that does, unfortunately, leave the C64 and BBC Micro behind. That said, there isn't actually a whole lot here that's specific to the Model 100. ~rom_api.asm
is where the main Model 100-specific stuff lives. I do plan on eventually revisiting this to support other TRS-80 models, as, naïvely, I would just have to make a different version of that file (plus a little indirection layer, since the register args probably won't be the same), and compile with a different origin location.~ Update: The project has since been reorganized to begin support for additional platforms. More info on how the platform-specific code works is now here.
The ZX Spectrum could work out, but would take a little more work. It only supports 32 columns, but since it has more rows, I could rearrange the screens a little and still show everything.
~Edit: It also occurs to me that the character mappings currently held in constants.asm
would need to be split out as well, and many of them won't have exact matches~ 🤔 Exact match doesn't matter, at least for the Spectrum, since I can write custom characters anyway.
Update: My curiosity has gotten the better of me, and a ZX Spectrum version is well under way 😅
It still has a long way to go, but the zx_spectrum
branch has the progress so far and some reorganization to make it a little more clear how things all fit together. Still pretty messy at the moment; I'll update on this issue when it's cleaned up and merged to some extent.
For now, here's a preview 😎
Update with some of the Tandy's custom characters ported over
Update 2
I'm glad I managed to pique your curiosity with the idea of porting to other platforms! Thank you for looking into this and even starting up a Spectrum port!
How feasible would it be for this project to be ported to other retro computers, such as the BBC Micro, ZX Spectrum or C64? The code is commented, but is there any additional documentation that would help people unfamiliar with the TRS-80 platform understand what the code is doing?
The other platforms I've mentioned have "roguelikes" (e.g. https://www.iconbar.com/articles/How_to_fit_a_roguelike_in_32k/index1132.html) but I don't think any of them have anything with updated DND 5e rules like this project.