JMarlin / nesii

0 stars 0 forks source link

[NES II] Update SHELL to load any BIOS update modules found on the disk at startup #23

Open JMarlin opened 2 months ago

JMarlin commented 2 months ago

Description

For maximum flexibility and convenience, it would be nice to have update modules load themselves into the BIOS area simply by placing them on the disk. To that end, I would like the SHELL application to look through the catalog for update files and binary load each one before entering the command processor

Acceptance criteria

JMarlin commented 2 months ago

Making a note that I'm altering this radically. I've found that I can update the cart a little more to support RAM at 6000-7FFF and that obviates this whole module loading kerfuffle.

In the above commits, I've ended up moving the floppy space to E000, limiting the ROM to the FXXX area, and mapping the cart switches into that same FXXX space since they're write-only and the BIOS is read-only.

This gives me 8K (only 4K with the way I built the cart) of non-cart RAM that I can load NOS into, and also expands my non-game-mode cart RAM available for stuff like BASIC from 16K to 24K (now that the ROM+switches+floppy only occupy 8K of the cart area).

When it comes to BASIC, if I fix up the low RAM mapping so that I can use the full 8K then the extra nice thing is that in NESII mode I'll have an uninterrupted 32K of RAM stretching from 6000 to DFFF.

Actually, I could probably pretty trivially extend the non-cart RAM down to start at 5000 as well which would allow for 32K of RAM that can be FULLY dedicated to user purposes if I assume 4K of usage for NOS code