Commit Graph

1393 Commits

Author SHA1 Message Date
Andrea 771282a792
Avoid a potential memory leak if RamWorks memory size were configurable. (PR #1225) 2023-05-08 14:45:35 +01:00
Andrea 4b18918e0f
Mockingboard: define sample rate and number of channels only once. (PR #1223) 2023-05-05 21:49:26 +01:00
tomcw 009f77ddc0 Add getter-functions for GetJoystick1() and GetJoystick2() 2023-05-05 21:36:38 +01:00
tomcw c305e1b9f1 Merge branch 'winmmjoy' of ssh://github.com/fabricecaruso/AppleWin into fabricecaruso-winmmjoy 2023-05-03 21:36:47 +01:00
Andrea a648c3e607
Mockingboard: do not play sound unless a card is present. (PR #1222) 2023-05-02 21:47:01 +01:00
Andrea 0ecd2e865a
Fix a linux/gcc issue where sizeof(wchar_t)==4. (PR #1218) 2023-05-02 21:41:06 +01:00
tomcw 96a386a77a Config->Sound: improve UX for extra MB cards when cmd-line is empty 2023-04-29 09:47:50 +01:00
TomCh 5ba153c244
Add support for SD Music card (PR #1217)
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)
2023-04-28 16:41:22 +01:00
Michael "Code Poet" Pohoreski e1b0b20aad
Debugger DISK INFO QoL (#1212)
* Bump debugger version 2.9.1.19

* Cleanup

* Debugger: Update DISK INFO to display disk info across 2 lines of text

* Debugger: Fix ConsolePrint() to wrap long lines of text

* Debugger: Update DISK INFO to show last nibble for non WOZ floppy image

* Replace optional pointer with reference in GetCurrentState()

* Add Log.h to Disk.h

* Cleanup GetCurrentState()

* Cleanup whitespace

* Add single line output for DISK INFO foundation. Still need CONFIG DISK #

* 2.9.1.21 Added: DISK INFO [#]
2023-04-28 16:28:49 +01:00
Michael "Code Poet" Pohoreski f8da683d45
1204 debugger long input crash (#1213)
* Debugger: Clamp long input
* Fix backspace when input line has 78 characters
* Colorize console error line
* Cleanup alignment
* Init
* Refactor common expression
* Add support for a long input line when we decide to enable it
* Unabbreviate SOL and EOL
2023-04-24 20:00:08 -07:00
Andrea a140946a23
RIFF: fix sizes. (PR #1214) 2023-04-23 20:10:51 +01:00
TomCh 273d07d83f
Support MegaAudio card for testing mb-audit (PR #1211)
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.
2023-04-12 18:19:18 +01:00
Michael "Code Poet" Pohoreski 33185f3f2b
Update BMP import from GIMP 2.10 with X8 R8 G8 B8 (#1209) 2023-04-10 14:33:55 -07:00
michaelangel007 a68a29bcd0 Debugger: More QoL when BP hit #1200 2023-04-01 12:37:46 -07:00
tomcw 79024f0078 Debugger: match new stop reason message for HDD DMA (PR #1200) 2023-03-31 14:35:05 +01:00
TomCh 7aef95f071
Support Cortechs Corp CodeWriter protection key (#1205) 2023-03-31 12:01:19 +01:00
michaelangel007 48f4a03e6c Debugger: Cleanup formatting 2023-03-31 03:59:12 -07:00
michaelangel007 db5b668eec Debugger: Step-over #1194 2023-03-31 03:46:04 -07:00
Michael "Code Poet" Pohoreski a3c6156508
Debugger step-over can fail (#1194, PR #1203)
. QoL cleanup (show RTS address) for step-over failure cases
. Add source code for repro test 1 and 2
2023-03-31 09:45:54 +01:00
michaelangel007 4e8006456f Debugger: Cleanup LBR formatting 2023-03-29 08:25:34 -07:00
Michael "Code Poet" Pohoreski 9a857183ba
Debugger cleanup misc march 2023 (#1199)
* Cleanup breakpoints

* Cleanup sections

* Tab cleanup
2023-03-26 11:31:15 -07:00
michaelangel007 a5c5603749 Debugger cleanup 2023-03-26 11:24:03 -07:00
michaelangel007 86f71cb3d7 Debugger cleanup 2023-03-26 11:13:11 -07:00
michaelangel007 e5b6a819da Debugger cleanup 2023-03-26 11:08:48 -07:00
michaelangel007 363b8d6990 Merge 2023-03-26 11:00:26 -07:00
michaelangel007 19ed8088c4 Debugger Cleanup indentation 2023-03-26 11:00:06 -07:00
Michael "Code Poet" Pohoreski 72566373ce
Debugger stop reason (#1200)
* Add global breakpoint so we can display last breakpoint triggered information

* Cleanup

* 2.9.1.15 Pretty print what register and breakpoint number when a breakpoint is triggered

* Bump debugger version 2.9.1.15

* Fix missing space between type and var

* Cleanup

* Add CHC_REGS
2023-03-26 10:54:30 -07:00
michaelangel007 4c08b9c20c Debugger: Cleanup: Alphabetize and Prototype breakpoint utility helpers 2023-03-23 12:42:44 -07:00
michaelangel007 8c9ba27acd Debugger: Remove unused func 2023-03-23 12:33:31 -07:00
michaelangel007 2dd3f0dbe0 Debugger: Cleanup: Apply Debugger coding started to functions 2023-03-23 12:32:14 -07:00
michaelangel007 755f023ed8 Debugger: Cleanup: DRY no breakpoints message 2023-03-23 12:16:21 -07:00
michaelangel007 730c2d8fcc Update coding standard with style already in use 2023-03-23 08:47:38 -07:00
michaelangel007 1398e7495d Debugger: Post #1191 cleanup. Add BPCHANGE params 2023-03-23 08:08:18 -07:00
michaelangel007 a767763486 Debugger: QoL for bpchange when no args 2023-03-23 08:06:02 -07:00
michaelangel007 f97531c5c0 Cleanup function to match coding-standard 2023-03-23 08:05:29 -07:00
michaelangel007 a8e6941a68 Debugger: Post cleanup for #1191. Pre-requsite for bpchange. 2023-03-23 08:00:56 -07:00
michaelangel007 b7263bb1f7 Debugger: Fix BPL to have header and be colorized 2023-03-22 20:33:34 -07:00
michaelangel007 9bf2bcda4e Cleanup alignment in _BWZ_List 2023-03-20 08:29:51 -07:00
Andrea 5287bfb409
Breakpoints: some new features (#1191)
* Debugger: add new flags to breakpoints.

Stop / no stop.
Hit count
Keep temp breakpoint alive so they can be inspected.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>

* Debugger: ensure temporary breakpoints are removed when the execution restarts.

This code:

_BWZ_Clear(pBP, iBreakpoint);

was actually a bug since the function needs the root points of all breakpoints, not to a particular one.

* Breakpoints: some extra tweaks.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>

* Remove reundant code and comment.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>

* Breakpoints: coding standards.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>

---------

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2023-03-20 06:25:25 -07:00
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
Fabrice CARUSO 6303401f54 WinMM first & second joysticks are not always 0 & 1 2023-01-07 12:16:26 +01: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