This evening I finished the new Cartridge RAM Tab for Stella and have submitted the changes to stephena.
Examples:
The Cartridge RAM Tab only shows up if the cartridge contains extra RAM:
Now that this is finished I'll be resuming work on Frantic and Draconian.
It's been about a month since I last looked at Stella, so last night I started off by reviewing the changes I'd made so far.
I then started to work on implementing the 5 buttons to the right of the Cartridge RAM Grid. Undo, Revert and Reset buttons appear to be working. Search and Compare are enabled when appropriate, but they don't yet function correctly.
Starting with:
Manually changed 4 Cartridge RAM locations
After Undo:
The label is now updated from the symbol file. While the buttons have been added, they're currently non-functional.
For Frantic, those two memory locations are listed in frantic.sym as:
FlickerList1 10f2 (R )
FlickerList2 110a (R )
I decided to revamp my enhancement to Stella to make it easier to implement Internal RAM for additional cartridge types. In my original enhancement you needed to add 2 additional source files for each cartridge type. The 2 files would derive a new class from the base class CartRamWidget:
base class file
CartRamWidget.hxx
DPC Plus class files
CartRamDPCPlusWidget.cxx
CartRamDPCPlusWidget.hxx
F8SC class files
CartRamF8SCWidge
Coming right at you
While it's far from finished, my work on Stella has progressed to the point where I can now view the state of DPC+'s 5K of internal RAM. The 5K is comprised of 4K Display Data and 1K Frequency Data. When custom C code is used the 1K Frequency Data is by default split in half so that 512 bytes are used for Frequency while the other 512 are used for the C variable storage pool and stack. This division of RAM can be changed - Stay Frosty 2 only used