1. Registry functions
The set of functions are changed to consistently use bool arguments.
The macros are changed to inline functions to improve type checking.
RegSaveValue() are overloaded with help of templates to reduce
typecasting at call sites. For instance, bool value would be converted
consistently instead of relying on call sites to convert bool to int values.
2. Memory functions
BOOL usages were unnecessary. Mostly internal usages which can simply be bool.
3. FrameBase
Some member variables are changed to bool.
BOOL was used because of those Registry functions.
Additional changes:
- Some expressions are forced to be bool when assigning to bool variables.
* Snapshot_GetDefaultFilenameAndPath(): fix segfault. SLOT7 -> i
* Disk & HardDisk: tidy up casts and iterations.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
. On selecting a new card in a slot, then reset to the card's default options
. On opening Config dialog, reset config for empty slots
. On HDD insert: check for dup image-name against all other 7 units
. Add PropSheetPage: Slots (and include 'Reset to Default')
- include config options for some cards
. Remove PropSheetPages: Sound & Disk
. Config page: refactor and add 'Reset all to Default'
. Input page: refactor
. Advanced page: refactor
Differences compared to Mockingboard:
. Only one 6522
. AY8913 is selected by address b7
Add cmd line: -sN sdmusic
Add cmd line: -mb-audit (to enable selection of additional sound cards, eg. for mb-audit)
Differences compared to Mockingboard:
. TIMER1 underflows to $FFFE before it's reloaded with latch.
. TIMER1's LATCH=$0000 gets interpreted as $FFFF.
. Partial TIMER2 support: IFR.T2 gets set on underflow. But T2 reads as 0x00FF.
. AY register reads are unsupported (always read as 0).
Config->Sound: show 'MEGA Audio' in drop-down menus only if it was specified on the cmd line.
Mockingboard or Phasor cards can be inserted into any slot.
Change Config->Sound to that slots 4+5 to be individually selected for the 3 soundcard types.
Add MockingboardCardManager class to manage multiple cards and mix the sound buffers.
Changes:
- Add a drop-down menu to the 'Advanced' tab that lets the user select a dongle in use
- Add a new file "CopyProtectionDongles.cpp" that is a place to put drivers for these.
- Add a driver for the one known dongle we have now - Speed Star
- Modify Joystick.cpp to allow PB0-PB2 to be "pushed" by the protection dongle.
. In 2x windowed mode: always show slot 5 Disk II LEDs.
. Add tooltips for slot 5/6 track/sector info (d1 & d2) - shows dec/hex & fractional track position.
- but this track/sector info is now on a UI toggle in the Config -> Disk tab.
. Debugger: add 'DISK SLOT n' - to set current slot of Disk II card
- ie. support 'DISK INFO' for slot 5