Commit Graph

1353 Commits

Author SHA1 Message Date
tomcw
387b66d213 Debugger: on DebugInitialize() reset counts for BPs, Watches & ZP pointers.
. fixes an issue when BPs set, do a VM restart (eg. change h/w config), and it was STEPPING when no BPs were set!
2023-03-12 16:52:05 +00:00
tomcw
17a4746df6 6522: reset also clears DDRB, DDRA, PCR 2023-03-11 21:08:41 +00:00
tomcw
5a7076135e Debugger: mini-view for AYs: show AY PSG function: RD, WR, LA (or '--' if INACTIVE) 2023-03-11 13:56:44 +00:00
tomcw
bf4eed6600 Debugger: mini-view: fix for 'm1 AYsn' 2023-03-11 11:53:20 +00:00
tomcw
2f8ad98fc0 Debugger: mini-mem views:
Add: 'm1 MBsn' and 'm2 MBsn' (eg. 'm1 MB4A').
Support 'm1 MBs' and 'm1 AYs' (eg. 'm1 MB4') which defaults to 6522-A.
Move the 2nd mini-mem view (ie. m2) down 1 line.
Remove legacy mini-mem devices: AY0-AY3 and SY0-SY3 (eg. 'm1 SY0').
. so eg. 'm1 AY0' now means show slot-0's AY1 & AY2.
2023-03-11 10:51:23 +00:00
tomcw
80328b2bac Debugger: mini-mem: fix SYn to match AYn 2023-03-09 23:02:31 +00:00
tomcw
1416cc1676 Debugger: mini-mem views: support Phasor's AY1&AY2 pair in a single view.
. use: AYsn, where s=0-7 (slot), n=A|B (6522)
2023-03-09 22:53:09 +00:00
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
453268a302 Add command line: -capslock=off (#1187) 2023-02-27 22:42:57 +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
d612972e6c Add command line support for hard disk controller (hdc) in slot-5 (#1033)
. -s5 hdc
. -s5h1 <pathname>
NB. No GUI config support, so no way to plug/unplug HDDs.
2023-02-26 20:42:21 +00:00
tomcw
0d0adc1f22 Phasor's Echo+: support dual-mono (R copied to L) 2023-02-25 21:25:46 +00:00
tomcw
abe606b2a6 Alt+Enter: fix regression, as this key combo should default to toggling full screen (#1188) 2023-02-25 10:58:53 +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
ThorstenB
e3863d47de
Properly catch the use of multiple Z80 cards. (PR #1184) 2023-02-20 19:57:25 +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
fd8ed23b56
2 small fixes: enum comparison and include. (PR #1182) 2023-02-19 09:46:07 +00:00
tomcw
1aa0e38696 Typo in comment 2023-02-17 17:20:56 +00:00
Andrea
fb11c74d62
Avoid a couple of warnings. (PR #1180) 2023-02-17 17:18:29 +00:00
tomcw
b0220169b8 Fix a few Coverity issues (#470) 2023-02-05 21:53:51 +00:00
Andrea
5dd14256c2
CardManager: remove redundant calls. (PR #1179) 2023-02-05 21:05:57 +00:00
Andrea
b2926390c8
Remove unused includes. (PR #1178) 2023-02-05 21:04:45 +00:00
Andrea
6b176f8ff5
Mockingboard: fix out of bounds access. (PR #1177) 2023-02-05 21:03:37 +00:00
tomcw
f03f5e0904 Fix for 6522 counter underflows falsely delaying when IRQ occurs. (Fixes #1176) 2023-02-05 11:02:56 +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
tomcw
f73f23c1c7 Refactor Z80Card as a class 2023-01-28 19:58:12 +00:00
tomcw
3abf0c1753 Cmd line: support removing cards from slot 4,5 and 7 too 2023-01-28 18:44:16 +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
597cea1d86 NTSC: Change to NTSC_GetVblBar() from NTSC_GetVideoVert().
Debugger: fix video scanner position's visibility (green colour) for SHR - didn't work for lines $C0-C7.
2023-01-14 14:30:12 +00:00
tomcw
d63a31a043 NTSC: only use accessors to get internal video clock vert/horz values 2023-01-14 14:08:58 +00:00
tomcw
3d5ed4de04 Debugger: add NTSC_GetVideoVForDebugger() just to get vert position 2023-01-13 21:19:10 +00:00
tomcw
d31a831ac2 Debugger: Fix for tf when in full-speed (#1164) 2023-01-13 21:11:00 +00:00
tomcw
244799ec5a Debugger: Fix for bpv when in full-speed (#1164) 2023-01-12 21:51:08 +00:00
michaelangel007
d532922821 Remove unused var nStartAddress 2023-01-08 12:48:25 -08:00
michaelangel007
2a91824873 Debugger 2.9.1.14 Fix disassembly when in middle of data 2023-01-08 12:02:53 -08:00
tomcw
d01a9ccb40 Debugger: add index bounds checks for zpa and wa cmds
. fix zpc
2023-01-05 20:40:42 +00:00
tomcw
0532edf773 Speaker fade: use proper type 2023-01-03 21:46:51 +00:00
tomcw
4377441c26 Fix 6502/65C02's D flag for BRK, IRQ, NMI and RESET. (Fixes #1099) 2023-01-02 21:41:31 +00:00
tomcw
ac12f3c294 Fix video junk on RHS edge for TV & Monitor video modes. (Fixes #1157) 2023-01-02 11:15:40 +00:00
tomcw
ad8f43d416 Minor fix for diskii T/S status 2023-01-02 09:14:49 +00:00
tomcw
f78c20f534 SNESMAX: refactor some code 2023-01-01 20:31:39 +00:00
tomcw
af9d2a6402 Help: add info about dongle 2023-01-01 19:34:32 +00:00
tomcw
dee264483a Save-state: Game I/O Connector: change yaml 2023-01-01 18:47:21 +00:00
tomcw
4ca6aaea33 Add save-state support for new unit: 'Game I/O Connector' 2022-12-31 19:51:15 +00:00
tomcw
043bc49f3d Add a new Registry Configuration interface: "Game I/O Connector" (like Slots).
Change Config->Advanced to show 'Game I/O Connector' (instead of 'Copy Protection Dongle').
2022-12-31 17:32:50 +00:00
Matthew D'Asaro
e5a87b5063
Add support for hardware copy protection dongles in game i/o socket (#1153, PR #1154)
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.
2022-12-16 09:04:29 +00:00
TomCh
5c0f3d03ad
Support controller-button remapping file for SNES MAX (#1155)
SNES MAX: Support controller-button remapping (yaml) file from command line. (#1141, PR #1155)
2022-12-15 14:45:00 +00:00
tomcw
9738af1757 Video rendering: fix glitch when in non-'50% Scan lines' mode. (Fixes #1143) 2022-11-20 20:54:15 +00:00
tomcw
7100bfa5b5 Debugger: LBR: support the unset/undefined case (eg. reset to undefined when beginning a new debug session) 2022-11-19 20:39:41 +00:00
tomcw
0000e8b9c3 Mouse: support VBL even when in 'mouse off' mode. (Fixes #1138) 2022-11-17 22:23:20 +00:00
tomcw
6a1ebe7801 Help: update for Config -> Disk: 'Show Status' 2022-11-17 21:29:20 +00:00
TomCh
8cd51ba155
Show Disk II Slot 5 status (#1134, PR #1137)
. 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
2022-11-17 21:08:11 +00:00
tomcw
8e2ee62d37 Debugger: add new command: 'bpv <vpos,[len]>'
. break on video-scanner's vpos matching
. NB. auto disable when hit
2022-10-08 19:19:18 +01:00
tomcw
a57f2b29a3 Support '-s6 diskii' and '-s6 diskii13' (#1133)
. so that a diskii card can be re-inserted into an empty slot 6
Improve command line for slots 5&6: -sN diskii and -sN diskii13
. on a restart (or change of config), if that diskii card is already in the slot then ignore
. ie. don't lose the image(s) across a restart
2022-10-06 21:18:14 +01:00
tomcw
69fa53ab7d Add command line: '-sN diskii13' to force the diskii card (in slot-N) to use the 13-sector firmware (#1133) 2022-10-05 21:29:57 +01:00
tomcw
259472a877 Fix for Rainbow demo for 50Hz/PAL Color Monitor. (fixes #1131) 2022-10-02 21:52:13 +01:00
tomcw
9df0ea1e21 Video: fix floating bus in new function getVideoScannerAddressTXTorHGR():
. when 'in mixed mode && vert >= 160' return text (not hires) video memory
2022-10-02 20:23:54 +01:00
tomcw
dfaaa2823e Debugger: Extend watches: 'WA <n> v' to show video scanner address & video data (aux and/or main or shr 4-byte) 2022-10-02 16:28:03 +01: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
4a7f05ed36 Full-screen: Retain uniform x and y scaling, unless user specifies a full-screen resolution (#1121) 2022-09-24 17:13:09 +01:00
tomcw
3875b7b433 Fix for joystick read (fixes #1128) 2022-09-19 14:44:13 +01:00
TomCh
4c83186545
Add jitter before track seam (under special conditions) (#1125, PR #1129)
Use FindTrackSeamWOZ() to find longest run of sync FF/10 nibbles.
Jitter added:
. only for tracks 33.0 and above
. only for tracks with long runs of sync FF/10 of more than 110

Changes:
. DumpTrackWOZ() outputs nibble then zeros (instead of zeros first)
. Debugger: 'disk info' outputs bitOffset (instead of byteOffset+mask)
2022-09-19 11:00:34 +01:00
tomcw
f300edb5de 1.30.11.1: point-release (#1127) 2022-09-02 21:08:25 +01:00
tomcw
b299a5d701 Debugger: fix 'Search memory' which had an out-by-one range bug for the end-address (#1127) 2022-09-01 20:15:34 +01:00
tomcw
3f40955306 WOZ: fix obscure crash bug. (Fixes #1126) 2022-08-30 21:43:20 +01:00
tomcw
5888a2b4a6 WOZ: Change track head movement positioning to work on bit (not nibble) offset. (#1022) 2022-08-21 11:48:42 +01:00
tomcw
74a664840f WOZ: Fix for 'Balance of Power' (#1022) 2022-08-20 12:54:14 +01:00
tomcw
c9f5df1e1e Fix typo in log msg 2022-07-02 16:59:03 +01:00
tomcw
3ab80d9b9c Command line: support '-s2 ssc' 2022-06-26 19:06:39 +01:00
tomcw
bba86863c3 Fix video mode for line-0: Color (PAL Monitor), when mixed GR+TEXT 2022-06-26 16:09:41 +01:00
Andrea
1095186c0c
Fix printf warning. (PR #1118) 2022-06-24 22:00:31 +01:00
tomcw
ccea9d55f8 Disk2: Stepper Control - update comment 2022-06-21 21:19:24 +01:00
TomCh
de173b2729
Support two adjacent phases turned off in rapid sequence (#1110, PR #1116)
Fix for A2osX low-level format for 48-trackl, 192K floppy image
2022-06-20 20:40:39 +01:00
Andrea
b3e617f1e5
Uthernet II: the real hardware only decodes A0 and A1, so we introduce a 0x03 mask. (PR #1115)
Fixes #1113
2022-06-17 21:27:52 +01:00
Andrea
3d260e8b78
Avoid sign extension issues in 64 bit. (PR #1112)
If "GetVideo().GetFrameBufferCentringValue() - kOverscanOffsetL" is negative, it causes an overflow.
2022-06-07 21:00:33 +01:00
tomcw
1b80c7bf16 Debugger: change search path for DebuggerAutoRun.txt
. try CurrentDir first, only if this fails then try AppleWin's ProgramDir.
Also: defer DebugInitialize() until later so it can take advantage of -current-dir command line switch.
2022-06-06 19:46:10 +01:00
Kelvin Lee
cd0fdf15ff
Replace/remove StringCat() and friends (PR #1098)
- Simply use std::string
2022-06-05 19:47:40 +01:00
Andrea
240b1fd6c7
Minor: fix static declaration. (PR #1111) 2022-06-05 19:46:35 +01:00
tomcw
bb56b99af5 HDD: change writes so they are done in units of PAGE_SIZE(256B) to match reads
. making it easier to reason about DMA breakpoints (as they are now consistent for reads & writes)
2022-06-05 19:41:06 +01:00
tomcw
80c1150183 SSI263: for amplitude (reg3), now scale the samples and not SetVolume().
Reason: calling SetVolume() in Play() is too early, and the previous phoneme won't have completed.
Getting the timing right will be difficult, so better to just manipulate the samples as they get written to the playback buffer.
2022-06-05 12:10:50 +01:00