Commit Graph

1065 Commits

Author SHA1 Message Date
Andrea
8662a99179
Add InitializeIO() to Card and CardManager (PR #999)
. Card::InitializeIO() is pure virtual
. CardManager::InitializeIO() initialises all cards
2021-11-11 21:45:55 +00:00
tomcw
6282790c3d Add comments to both Harddisk.cpp & the firmware code about 'sta abs16,x' false-reads, etc.
Harddisk.cpp: Fix typos and update the notes on the r/w commands' operation.
2021-11-11 21:20:54 +00:00
TomCh
5ed901f720
Slot-independent HDD firmware (#996, PR #998)
. Move the 'read block' command into the emulator - to mirror the write command
. With emulated time to do the DMA for the r/w block command
2021-11-09 21:04:57 +00:00
tomcw
d96ed5b8c5 Refactor: move m_slot into Card class 2021-11-01 21:01:28 +00:00
tomcw
67b3c28833 Refactor: remove slot from InitializeIO() calls for card objects 2021-11-01 20:39:26 +00:00
TomCh
ff7c9dc185
Make harddisk a class (#995)
. Add user-protection when unchecking HDD controller (as images aren't restored on a 'cancel')
. Fix possible crash when removing (via Config->Disk) either Disk2 card(s5) or HDD card(s7), then cancelling during emulation
. Fix m_buf[] size
2021-11-01 20:12:42 +00:00
Andrea
830030ee05
Simplify logic around CConfigNeedingRestart (PR #955) 2021-10-31 12:14:47 +00:00
tomcw
ac2233149b Debugger: Change 'brkint' params to on/off for consistency 2021-10-28 21:00:18 +01:00
tomcw
ca611eaa64 Mousecard: fix persisting card in slot-4 after a VM restart. (Fixes #993) 2021-10-19 21:56:19 +01:00
tomcw
fa18382757 Core emulation: simplify NMI & IRQ handling 2021-10-18 21:45:45 +01:00
tomcw
18f5fafb30 DiskII: Remove superfluous IsDiskImageWriteProtected() 2021-10-18 21:13:37 +01:00
Andrea
f2843d4d71
Collections of changes to facilitate compilation on Linux and macOS. (PR #992) 2021-10-18 20:23:46 +01:00
TomCh
9553106f4e
Debugger: Add IRQ support to LBR and new command to Break on Interrupt (#987, PR #990)
Extend LBR so that it includes the control-flow on a taken interrupt
Add a new command 'brkint <0|1>' to support Break on Interrupt

Internal: in core emulation loop, moved IRQ/NMI check to start of loop so that just the "interrupt vectoring" case can be single-stepped (instead of previously opcode + interrupt vector).

Debugger help chm: update Breakpoints section to include BRK, BRKOP and BRKINT
2021-10-16 16:57:00 +01:00
tomcw
4f8b30506d Debugger: Fix LBR so it's updated only if branch is taken (#987) 2021-10-16 11:58:09 +01:00
tomcw
8575238d69 Debugger: Add a simple LBR command 2021-10-15 21:58:17 +01:00
tomcw
eee2400984 Uthernet: removed unused Bittypes.h & Pcap-stdinc.h 2021-10-15 21:02:57 +01:00
tomcw
028c041175 Debugger: fix for 6502 JMP (ABS) - compute correct NMOS target address 2021-10-15 20:36:04 +01:00
tomcw
aa7d0cf240 Fix one shot paddle timers (fixes #985) 2021-10-04 22:08:37 +01:00
tomcw
51e42d1d4e SNES MAX: load state: defaulting to no buttons pressed 2021-10-02 15:28:54 +01:00
tomcw
4cb8a6414d Uthernet: fix -load-state so that tfe_init() is called 2021-10-02 12:56:55 +01:00
tomcw
b6c71201cf Uthernet: remove tfe/tfe_packetpage allocations 2021-09-22 20:46:28 +01:00
TomCh
4aa6e05528
Support Uthernet save-state (#984)
Uthernet card: support save/load state
2021-09-21 21:32:14 +01:00
tomcw
10a83eed61 SAM card: refactor as a class, and support save/load state 2021-09-18 11:55:29 +01:00
TomCh
ed298b4fd9
Improve save-state card management (PR #983)
Initially all cards are removed before loading save-state.

Use new Registry "Configuration/Slot 2" location to save SSC's port name.
Use new Registry "Configuration/Slot 7" location to save HDV's image names.
Use new Registry "Configuration/Slot n" (and "Configuration/Slot Auxiliary") locations to save all other card types.

Command line: -s<slot> (eg. -s7 empty) now get persisted to the Registry.

Only update 'HDV Starting Directory' for slot7 & drive1.
2021-09-17 20:43:10 +01:00
tomcw
1b8d26051e Fix for command line with multiple spaces between args. (#981) 2021-09-10 14:51:57 +01:00
tomcw
35b83765db Fix for command line -d2 (and -h2): if image can't be opened, this is now reported as an error. (#980) 2021-09-10 14:38:40 +01:00
tomcw
70f097d3ff Fix 'authentic disk speed' setting. (fixes #980) 2021-09-10 14:27:22 +01:00
tomcw
ad8a7e2810 SNESMAX: minor rename for member vars 2021-09-10 14:19:13 +01:00
TomCh
685b93f387
Add 4Play & SNES MAX card support (#946, #972, PR #982)
Support these new cards in slots 3, 4 or 5; based on code from Lukazi.
- extend Configuration's Input prop sheet page.
- add save/load snapshot for both cards.
- add command line switch for alt controller type (for SNES MAX card).
Change to using Registry's 'Configuration\Slot 3' for slot 3 cards (Uthernet, 4Play & SNES MAX).
Update help doc.
2021-09-10 13:57:55 +01:00
TomCh
7b55e994ec
Config GUI for DiskII card in slot-5 & improved slot config in Registry (#975, #977, PR #978)
Change to using Registry's 'Configuration\Slot n' for disk ii image pathnames (was 'Preferences').
Delete Registry's 'Configuration\Slot n' section each time there's a change of card.
Add same functionality to conf.ini.
LoadConfiguration(): load from the new Slot-n section (or otherwise the old legacy key).
Only update Registry's 'Starting Directory' for s6,d1.
Update help doc.
2021-08-29 11:39:51 +01:00
tomcw
3fece5e621 Minor interface change to PropertySheetHelper 2021-07-29 13:31:33 +01:00
tomcw
c20c9c2c9c Fix Coverity CID 1506067 in Debug.cpp 2021-07-28 14:09:22 +01:00
tomcw
405de2be14 Fix Coverity - High Impact defects:
. uninitialised vars in Debug & Win32Frame
2021-07-28 12:47:05 +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
6a5017bf91 SSI263: fix potential buffer overrun & rename var so it's explicit that it is a byte-size 2021-07-28 12:14:22 +01:00
Andrea
4375418506
Move some "char *"to "const char *", and avoid unnecessary c_str(). (PR #973) 2021-07-25 11:55:25 +01:00
tomcw
71bea52419 Disk/Harddisk: Insert() - fix comment and rename var 2021-07-15 19:23:01 +01:00
Andrea
4f45202baf
Save full pathname to registry. (#960 PR #959)
This was already happening for Hard Disks (although in a convoluted way).
Extend to Floppy Disks.
2021-07-13 21:24:29 +01:00
tomcw
3d0cdd55d1 Make a few utility funcs static 2021-07-11 12:06:29 +01:00
tomcw
7086ea5208 Full-screen / resolution change: fix display flicker. (Fixes #965) 2021-06-19 15:06:04 +01:00
TomCh
1962a3c337
Switch to a static hook filter (#962, PR #964)
Remove the HookFilter.dll which had a dependency on VCRUNTIME140.dll
2021-06-09 21:48:24 +01:00
tomcw
793f2eb507 Cmd line: -fs-height: small refactor so that bestWidth/Height are only returned for logging purposes 2021-05-31 16:40:44 +01:00
tomcw
f076986c04 Cmd line: Changed -fs-height=<best|nnnn> so it doesn't change the resolution when not full-screen (#876)
. NB. whenever switching back to non-full-screen, then it will restore the default desktop resolution.
. Allow -no-full-screen to be placed before -fs-height=<best|nnnn> (previously it only worked when placed afterwards)
2021-05-31 16:09:39 +01:00
tomcw
0ca972954e MB: fix for SSI263/SC01 in debugger's 'gg' mode (fixes #958) 2021-05-29 21:53:18 +01:00
tomcw
7f0c028250 Typo: fix IS_APPLE2() macro 2021-05-23 21:28:26 +01:00
Andrea
d631b23d24
Uthernet: fix usability and settings (PR #947)
* Make Uthernet settings behave like all other cards.
Fix as well the fact that the Uthernet interface would not be reapplied after a restart.

* Uthernet: use consistent types to reduce code complexity.
Use std::string everywhere.
2021-05-19 21:44:33 +01:00
tomcw
05b9668f72 Use enum SLOTS and remove pre-processor SLOTn defines 2021-05-19 21:26:23 +01:00
Andrea
de7f35e6bd
Make path separator OS-dependent (PR #954) 2021-05-19 21:10:22 +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