Commit Graph

144 Commits

Author SHA1 Message Date
tomcw 055c299bb4 Debugger: use dedicated MB structs to populate mini-mem views.
Remove old v1 save-state header files.
2023-03-09 20:16:21 +00:00
tomcw 3f2f071fa6 MB: rename consts AY0/AY1 to AY1/AY2 (for consistency with mb-audit code) 2023-03-07 21:51:24 +00:00
tomcw 57c26c59b2 Update History.txt & some Phasor-related comments 2023-03-07 18:06:06 +00:00
tomcw fb37310acd Phasor: support AY READ from both AYs (#1192) 2023-03-06 22:25:30 +00:00
tomcw df0f4356ec Fix so that MB can still read AY regs after setting INACTIVE state (#1193) 2023-03-05 21:09:08 +00:00
tomcw a3a89ad156 Phasor/MB: For AY INACTIVE state, bus floats high - so reflect this in 6522 PortA (fixes #1193) 2023-03-05 15:43:13 +00:00
tomcw 500f32071b Phasor/MB (#1192)
. For MB: isChipSelected[0] = true. So do this on Reset() or for Phasor when switching to MB mode.
. Add "Notes on Phasor's AY-3-8913 chip-select & r/w"
. Refactor some common code into SY6522::UpdatePortAForHiZ()
2023-03-05 15:37:52 +00:00
tomcw 7110e92f14 MB/Phasor save-state: persist 'Chip Select' & 'Reg Address Latch Valid' for MB card too 2023-03-04 23:25:53 +00:00
tomcw d8e30e56be Phasor: support discrete LATCH & READ PSG functions (#1192)
. Recode 'MB_SUBUNIT::state' as a 2-element array
2023-03-04 22:41:07 +00:00
tomcw 3b53c882ab Phasor: improve odd Phasor logic for AY1 & AY2 chip select (#1192) 2023-03-04 19:38:11 +00:00
tomcw 34141b0c1d Phasor:
. add 2nd nAYCurrentRegister (Reg. Address Latch) for 2nd AY8913.
. add support for the odd Phasor logic when doing discrete LATCH and WRITE PSG functions.
(keep in sync with mb-audit v1.3)
2023-03-04 18:14:00 +00:00
tomcw 89eb0cb07b Mockingboard: After AY is reset, then latched addr isn't valid
. Save-state: save all 8 bits of latched addr.
. Debugger: for mini-AY dump, show latched addr (current register shown in white)
2023-03-01 21:01:59 +00:00
tomcw db44b15c37 For Phasor (native/Echo+ modes) improve support for null AY chip-select case 2023-02-28 20:42:53 +00:00
tomcw 9cf3d00288 For Phasor (native/Echo+ modes) support the null AY chip-select case (for eg. mb-audit v0.9) 2023-02-26 21:52:46 +00:00
tomcw 0d0adc1f22 Phasor's Echo+: support dual-mono (R copied to L) 2023-02-25 21:25:46 +00:00
tomcw bca99278b6 Simplify Phasor's Echo+ mode's chip-select (#1183) 2023-02-21 21:32:11 +00:00
tomcw dc029a4700 Fix Phasor's Echo+ mode's dual chip-select (#1183) 2023-02-21 21:08:20 +00:00
tomcw cc07dc7f7b Fix Phasor's Echo+ mode to use correct AYs (#1183) 2023-02-19 21:22:44 +00:00
tomcw 13ee80686c Phasor: support reading AY8913 regs for Echo+ mode 2023-02-19 18:28:37 +00:00
tomcw bcdaa3e1c1 Phasor: support Echo+ mode (#1183) 2023-02-19 16:38:06 +00:00
Andrea 6b176f8ff5
Mockingboard: fix out of bounds access. (PR #1177) 2023-02-05 21:03:37 +00:00
tomcw 6a3a3114c7 MB:6522: fix edge case for IRQ not firing for very small latch values. (Fixes #1175) 2023-02-04 12:09:19 +00:00
tomcw 958c71de5f Phasor save-state v10: load older state's AYs in correct order. (Fixes #1174) 2023-01-30 21:27:49 +00:00
tomcw 749329b99f Phasor card fixes:
. Reset/Power-cycle: revert to PH_Mockingboard mode
. Load state: set SSI263() to 'm_phasorMode'
2023-01-29 19:20:07 +00:00
tomcw d61d348f94 Fix comment 2023-01-29 13:37:07 +00:00
tomcw cf722ff0cc Fix so that MockingboardCardMgr asserts IRQ based on the wired-OR sum of all MB card's 6522s. (Fixes #1173) 2023-01-29 13:32:55 +00:00
tomcw c56d341bdb Remove old debug code 2023-01-28 20:56:54 +00:00
TomCh 71c67cf132
Refactor Mockingboard into a class (#1171)
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.
2023-01-28 18:15:28 +00:00
tomcw 32c7babf51 Phasor load save-state:
. Fix regression when switched to using correct primary AY8913 (regressed at 1.30.10 and 1.30.11)
. Specifically fixes AppleWin-Test: phasor-fugue.aws.yaml
. NB. bumps Mockingingboard version in save-state to v8
2022-09-24 20:16:19 +01:00
tomcw 9e9996bee7 SSI263: support reg3's amplitude 2022-06-03 22:09:32 +01:00
tomcw 16f66da594 SSI263: support phoneme zero amplitude
Refine Phasor native mode's logic for SSI263 access
2022-06-02 20:32:16 +01:00
tomcw 5236bb95b6 Phasor: use correct primary AY8913 for Phasor & MB modes (now checked in mb-audit v1.2) 2022-05-21 11:15:01 +01:00
tomcw 08c730c647 Cmd line: add -wav-speaker <file> & -wav-mockingboard <file> 2022-04-17 16:23:51 +01:00
Kelvin Lee 80f3eaeb91
Various *Name() functions can simply return const std::string& (PR #1049) 2022-02-28 20:52:18 +00:00
tomcw 3fe06faf65 MB/6522: remove the legacy g_nMBTimerDevice variable.
Fix ASSERT from previous commit as SY6522.Reset() needs CriticalSection.
2022-02-12 18:42:58 +00:00
TomCh f7c6ef397c
Split 6522 out of MB code and into own class (PR #1028)
NB. Update CpuInitialize() & CriticalSection creation:
. call CpuInitialize() on WM_CREATE to create CriticalSection
. needed as MB_Initialize() needs CriticalSection
2022-02-05 18:48:36 +00:00
Andrea 7ab65492c6
Load save-state for Cards: improve error messages. (#1025)
. better error message for (unlikely) slot mismatch.
. better error message if load state version is invalid.
2022-01-30 21:25:40 +00:00
Andrea 47f721882e
throw std::runtime_error instead of std::string (PR #1011)
+ add more information about location of yaml parser error.
2021-12-18 16:37:28 +00:00
Andrea f2843d4d71
Collections of changes to facilitate compilation on Linux and macOS. (PR #992) 2021-10-18 20:23:46 +01:00
tomcw f4650fb850 MB: Make AY voice & mix buffers the same size to prevent buffer overrun
(Voice buffer reduced from 1s to 0.37s)
2021-07-28 12:22:58 +01:00
tomcw 05b9668f72 Use enum SLOTS and remove pre-processor SLOTn defines 2021-05-19 21:26:23 +01:00
Henri Asseily 1b9a769332
Fix to DirectSound not working in modern environments. Need to use FAILED() instead of boolean check. (PR #951) 2021-05-16 20:03:59 +01:00
tomcw 110a706535 SC-01: fix DDRB support for #952 2021-05-16 19:49:34 +01:00
tomcw 21146cb65e AY8913: Fix regression at 2d086e87
- Phasor does support reading regs in MB mode & Phasor native mode (but not Echo+ mode).
2021-05-16 19:27:04 +01:00
tomcw ce309324bb Debugger: when displaying 6522 regs, if T1/T2 are active, then display in white 2021-05-09 13:38:16 +01:00
tomcw 5bc1261281 Logging: add more logging to Speaker code
Debug: add a debug-enabled MB S/S card
2021-05-03 19:58:13 +01:00
tomcw 60ddf0fa35 6522: Support cycle accurate reads from IFR for T1/T2 bits 2021-04-30 22:23:20 +01:00
tomcw 6fefce553a MB: Support old save-states where 6522 T1 latch is 0x0000 2021-04-18 18:33:16 +01:00
tomcw 363193ba33 MB: get rid of CriticalSection, as MB support is now single-threaded 2021-04-10 16:26:51 +01:00
Andrea a37d0b078f
Add constructor for SY6522_AY8910 for correct initialisation (PR #940)
Avoid leaks when the destructor of SY6522_AY8910 is not called.
2021-04-05 17:44:59 +01:00