Commit Graph
194 Commits
Author SHA1 Message Date
tomcw 3e327ecdd9 MemUpdatePaging(), UpdatePaging() & ResetPaging()
. pass in an enum instead of a bool to improve code readability
2026-06-06 17:16:02 +01:00
Kelvin Lee 926c592f75 Replace some BOOL usages with proper bool (PR #1500)
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.
2026-06-06 14:12:42 +01:00
tomcw 06f29c0fab Saturn card fixes: (#1486)
. cmd-line banks overrides Registry banks
. persist cmd-line (A2 model, Saturn banks) to Registry
2026-04-04 10:06:49 +01:00
tomcw a20631b366 Advanced config: change so that a No-Slot clock change causes restart 2026-03-20 12:31:49 +00:00
tomcw f7941967f1 Advanced config: add option for No-Slot clock, and save to Registry 2026-03-17 22:31:34 +00:00
tomcw 7353e87317 Rename card: RamWorks III 2026-03-14 14:01:24 +00:00
TomCh 80ec6e5545 Improve Configuration GUI for better slot/card selection (#853, PR #1462)
. 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
2026-03-07 22:00:07 +00:00
tomcw 9108722c9b Improve fix for #1428 2025-09-13 19:00:55 +01:00
tomcw fe48cfcf41 Fix for losing aux card when switching //e -> II+ -> //e. (#1428) 2025-09-12 20:45:47 +01:00
TomChandmichaelangel007 04ba39b1dd Debugger: support prefixed addresses for mini memory dump windows (PR #1427)
* Mem dump cmds without any args will now display the prefix address
* Support data sub-window (that reflects m1 dump)
* Breakpoint display: Right align R and W at end of line
* Help doc: Update Memory page to include prefix address examples
* Help doc: Update Breakpoint & Memory pages: add images showing address prefixes as shown in the UI
---------
Co-authored-by: michaelangel007 <michaelangel007@sharedcraft.com>
2025-09-08 21:58:22 +01:00
tomcw 7499adafdd rw3: power-cycle sets card back to 64K bank-0 (fixes #1414) 2025-07-09 22:20:53 +01:00
tomcw c3fb55d376 Add debug cmd line: '-alt-cpu-emu' 2025-04-04 22:16:18 +01:00
TomCh 839c493b67 Support IIe aux slot: 80-col(1KiB) card via generic read ptrs (#1341, PR #1391)
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.
2025-04-03 21:10:02 +01:00
Andrea acbef19489 Remove TEXT() and _T(). (PR #1379) 2025-02-13 20:48:37 +00:00
Andrea 168e868677 Remove TCHAR and <tchar.h> (PR #1373)
. Replace TCHAR -> char.
. Remove <tchar.h> and related functions.
2025-02-08 11:09:09 +00:00
TomCh 02b6bbdbb5 RamWorks III - 16MB support (#478, PR #1369)
. 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
2025-01-19 18:16:53 +00:00
tomcw c336a0ce40 Fix 2 minor bugs:
1) Debugger: wasn't accounting for 80STORE when checking PAGE2 switch (eg. CTRL+PRNTSCRN)
2) 80-col 1KiB card (std80): wasn't checking SW_WRITERAM
2025-01-05 17:25:32 +00:00
TomCh 16b2cf329e Support IIe aux slot: empty or with 80-col(1KiB) card (#1341, PR #1351)
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.
2024-12-30 21:39:16 +00:00
Jamiras cb1366f485 Check _WIN32 instead of _MSC_VER (PR #1346) 2024-12-24 12:06:37 +00:00
Andrea 35f176e4d8 Replace DWORD -> uint32_t. (PR #1350)
Some have been left where tightly coupled with the Win32 API.
2024-12-21 12:32:00 +00:00
TomCh 29c02d6bf2 Gh1267 update paging (#1326)
MemGetBankPtr(): simplify with a default arg. (#1262, PR #1326)
. UpdatePaging(): improve comment for page0 & page1 and memdirty
2024-08-24 20:18:28 +01:00
tomcw 6e8d79ddde Fix for both Uthernet cards not reading I/O $Csxx space as floating-bus. (#1321) 2024-08-15 17:36:32 +01:00
Andrea c0bfb0b0fe linux munmap: fix comment and simplify memory free. (PR #1293) 2024-04-26 21:53:09 +01:00
TomCh b00c9b0d3f Fix for alloc of 'memimage': so that two adjacent 64K regions map to same physical 64K region. Fixes #1285. (PR #1286)
Includes platform-specific code for both Windows & Linux.
Co-authored-by: @audetto
2024-04-01 10:20:43 +01:00
tomcw ba13412e27 Save-state: fix for loading LC from older versions 2024-03-23 10:45:07 +00:00
TomCh 10bf60e149 Support an extra Saturn card in slot 3 and for all Apple II models. (#1279, PR #1284)
. Command line config only, and only permitted in slot 3 for now.
. Save-state Unit v9: Extended: memory (added 'Last Slot to Set Main Mem LC', 'MMU LC Mode').
. Add LanguageCardManager class.
2024-03-22 21:36:50 +00:00
tomcw fbc22fa566 Fix for reading $C01x for Apple II and II+ models. (#1261) 2024-01-28 21:31:42 +00:00
tomcw c022bbde72 Load save-state: Remove superfluous call to UpdatePaging() in MemLoadSnapshot(). (#1267) 2024-01-13 12:48:21 +00:00
tomcw 52447ad7d9 Load save-state: fix page 0 & 1 corruption when loading save-state with a RAMWorks card with 2 or more aux 64K banks (#1262) 2023-12-31 10:14:47 +00:00
Andrea 771282a792 Avoid a potential memory leak if RamWorks memory size were configurable. (PR #1225) 2023-05-08 14:45:35 +01:00
TomCh 7aef95f071 Support Cortechs Corp CodeWriter protection key (#1205) 2023-03-31 12:01:19 +01:00
Andrea b2926390c8 Remove unused includes. (PR #1178) 2023-02-05 21:04:45 +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
tomcw cd0c3b00f8 Save-state: when loading state, correctly use C3 ROM when INTCXROM=0 && SLOTC3ROM=0. (Fixes #1108) 2022-06-02 17:51:57 +01:00
Kelvin Lee 2d4f60452f Add ByteToHexStr() and WordToHexStr() (PR #1064)
- Simplify common StrFormat(), especially in Debugger (changes upcoming)
- Add helpers StrAppendByteAsHex() and StrAppendWordAsHex()
- Add helpers StrBufferAppendByteAsHex() and StrBufferAppendWordAsHex() for plain string buffer
2022-03-22 19:19:50 +00:00
tomcw 35ec3fcc7f Fix crash when in Config GUI -> Disk:
. eg. add DiskII in slot-5, cancel, then access $C0Dx
Change IsCardInSlot() to use CardMgr().QuerySlot()
2022-03-13 16:12:01 +00:00
Kelvin Lee dfb8802763 Replace sprintf() with StrFormat() (PR #1048) 2022-03-02 21:10:41 +00:00
Kelvin Lee 80f3eaeb91 Various *Name() functions can simply return const std::string& (PR #1049) 2022-02-28 20:52:18 +00:00
Andrea 9f8c4d99af Add Uthernet II support and make Uthernet I a Card. (PR #1047)
. tfe.cpp renamed to Uthernet1.cpp.
. add class NetworkBackend: common to both U1 and U2 cards, and abstracts Windows/Linux backends.
. modernise error message if WPCAP.DLL is not installed.
2022-02-27 17:26:48 +00:00
tomcw c277c5152d Fix a few medium Coverity defects:
1514566, 1063811
2022-02-26 20:23:00 +00:00
Kelvin Lee 1a4e933778 Replace StringCbPrintf() with StrFormat() (PR #1032) 2022-02-15 18:48:20 +00:00
Andrea 48dd638d33 Synchronize Linux build. (PR #1037)
. remove OutputDebugStringA()
. push changes to StdAfx.h
. mention g_strSaveStatePathname in the error message for loading save-state
2022-02-14 20:37:18 +00:00
Kelvin Lee 9a3832084a Simplify the common combination of sprintf() and OutputDebugString() (PR #1031)
- Update LogOutput() and LogFileOutput().
- Add StrFormat() to produce std::string out of snprintf() & add StrFormat.cpp to projects.
- Add PTRDIFF_T_FMT in parallel to SIZE_T_FMT to StdAfx.h, for completeness.
- In Log.cpp, changed to get timestamp using posix functions.
- Removed TCHAR usage throughout - simply use char.
2022-02-13 21:37:05 +00:00
tomcw b519031de4 WM_CREATE: call CpuCreateCriticalSection() instead of CpuInitialize() 2022-02-12 19:11:34 +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
tomcw af814347f0 Support AN3 for IIe (#1018)
(Fix IOUDIS for IIc - $C07E/F was backwards)
2022-01-15 18:01:41 +00:00
tomcw a727db7cc5 Load save-state:
. fix for II/II+ when VidHD's SHR is being updated (init memVidHD ptr).
. refactor to consolidate all Mem* related initialisation.
2021-12-23 15:56:14 +00:00
TomCh 577ffccf8f VidHD: Support SHR for Apple II/II+ models (#997, PR #1013)
. Support aux writes for II/II+ (6502 emulation, not 65C02)
. Extend VidHD save-state for II/II+ aux memory
2021-12-19 14:17:51 +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 177c9fec05 Make Slot 0 more consistent with other slots. (PR #1006) 2021-12-11 15:26:09 +00:00