AY regs: ENABLE(bits 7-6), PORTA, PORTB: support depends on AY chip type
Add cmd line: -sN ay-socketX <empty|ay8910|ay8912|ay8913|ym2149>
Save-state: Mockingboard v15: add type for AY/YM
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.
Fix bad_cast for inconsistent cmd-line options.
Allow Parallel, SSC & VidHD card insertion into any slot.
Allow floppy/HDD image insertion into any slot.
. if inserting a floppy image, and the slot had no Disk II card, then insert one (consistent with HDD images).
. 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
. Default to SSI263AP (ie. with reset fixed)
. Support SSI263 type set from cmd-line: SSI263P, SSI263AP or empty
. Support SC01 type set from cmd-line: SC01 or empty
. Save-state: MB v14: support SSI263 & SC01 type (including Empty)
Persist menu selection for bitsy.boot, bitsy.bye, basis & prodos.sys to Registry.
Add new cmd line '-bootsector <pathname>'.
Add BootSector (code & binary).
Add OS (basic17.system, bitsy.boot, quit.system; DOS33 & ProDOS2.4.3).
Update help doc:
. add workflow info to ddi-create.html.
. add new ddi-sizes.html, and ddi-advanced.html (for advanced workflow).
Better support the IIe's aux slot when it's empty or has the 80-col(1KiB) card.
- any h/w using this alternate CPU emulation, (ie. aux=empty or 80-col(1KiB)), then the 'mem' cache is completely bypassed.
Debugger: change all the direct 'mem' accesses to go via ReadByteFromMemory().
TestCPU6502: test the alt CPU emulation code too.
. Allow up to 256 x 64KiB banks
. Persist aux slot's mem card's "Number of Banks" to Registry
. LoadConfiguration() now restores aux card from Registry - don't need to pass cmd line each time
. Update help docs
Move DSXXX function to a more specific location.
. DSAvailable() is not implemented in SoundCore.
. DSInit() & DSUninit(); are only meaningful in Windows.
SoundBuffer: use plain C++ to clean it up as opposed to COM interfaces.
. which are only relevant to the Win32 implementation.
Remove 2 obsolete FMT macros.
NTSC: load bitmaps by resource id.
SoundBuffer: make creation of a SoundBuffer an atomic operation.
Fix 2019 solution.
Add new command line switch: -aux <empty|std80|ext80|rw3>
Add 6502/65C02 x normal/debugger alt read support for CPU emulation (#1353).
Fix bug in MemReadFloatingBus() reading from mem[] - no good, if MF_AUXREAD is set.
Support odd 80-col text video mode when aux slot is empty:
. add a new videoMode flag for VF_80COL_AUX_EMPTY.
Correctly support 80COL & DHIRES soft-switches when aux slot is empty or with std80 card.
Support VidHD's SHR with -aux <empty|std80>.
Save-state: support aux slot empty or with std80 card.
This replaces the LPDIRECTSOUNDBUFFER pointer with a pure virtual class and an implementation that wraps the LPDIRECTSOUNDBUFFER, allowing other sound implementations without having to simulate the exact alignment of a DIRECTSOUNDBUFFER object.
Additionally, moves the DSInit and DSUninit calls out of the SoundCore.cpp file (into a new DXSoundBuffer.cpp (for Windows)), allowing them to be appropriately reimplemented in a non-DirectSound environment.