- The cycles counter is now essentially monotonically increasing (ie, we never need to worry about it going backwards and giving a negative difference, simplifying a lot of code
- There are now reset() methods in all places that keep track of system cycles, but they are used for a full reset only; not called each frame like before (which had to be done to prevent overflow).
This has been in patch form for about a year, and I'm finally
getting around to applying it. Basically, we separate the Cart
class into 3 classes:
- Cart: stuff specific to cartridge emulation
- BSTypes: various bankswitch types, both as enum and strings
- CartDetector: actual bankswitch auto-detection code
Also made more use of smart pointers, and added const in a few
more places.
I promise to get back to the phosphor stuff soon. This is just
to clear my head a little.
* Implemented load/save state.
* Updated the debugger tab, which required the following:
- removal of : from RAM labels (part of the debugger overhaul)
- setCrossed() functionality in the DataGrid
The Harmony/Melody CDF driver underwent a major revision to add support for the new JMP FASTJUMP feature. Note that this update breaks compatibility with the previous CDF demos.
3-Voice Audio and Digital Sample playback are in place, though both sound "off" so further work will need to be done. Debugger Widget needs additional work, and state save/load support needs to be finished.
- update some code to the '5.0' way of doing things
- allow compilation in Linux
- whitespace/tab fixes to match main codebase
- add some extra comments
- test compile under gcc 6 and clang 5, and fix some warnings
Preliminary support for new Harmony/Melody drivers BUS and CDF. Work remains for the 3-Voice Audio, Digital Sample playback, and some additional revisions to the debugger widgets.