Commit Graph

188 Commits

Author SHA1 Message Date
tomcw
f8e111fe51 Fix for regs.pc++ - move this outside of CPP macros 2025-03-12 22:14:28 +00:00
tomcw
d6b0fd01a5 Convert all addressing mode macros to use _READ_ALT2, which reads from memshadow[] 2025-03-12 21:50:37 +00:00
tomcw
17b58d1bce Fix POP_ALT 2025-03-10 08:05:26 +00:00
tomcw
24f832a59f Move 1KiB mem from $0000 to $0400 (WIP - 1.07 OK, but crashes in a2audit 1.06)
Add JSR_ALT (from completeness)
2025-03-10 07:40:08 +00:00
tomcw
f087f7152c Remove the extern memwriteDirtyPage 2025-03-09 18:28:13 +00:00
tomcw
2b25e4b024 Remove the memwriteDirtyPage[] table 2025-03-09 18:27:21 +00:00
tomcw
f528b8ab2b Reorder some loop code for better efficiency 2025-03-09 17:04:20 +00:00
tomcw
cf467109d9 Fix for 80-col card & SHR 2025-03-09 16:37:34 +00:00
tomcw
e44281ff4a Fix a few addressing modes for ProDOS 80col card detect & a2audit 2025-03-08 22:02:21 +00:00
tomcw
373d552e68 WIP: Create _ALT CPP macros for CPU emulation to do direct memaux access 2025-03-08 21:23:02 +00:00
tomcw
8a9e9595fe CPU emu: added _POP_ALT and _PUSH_ALT macros
For SW_ALTZP=1, fixed memwrite[] to write to mem (ie. CPU read cache)
2025-01-04 18:55:01 +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
TomCh
443545b0f6 Support SHR video modes with a VidHD card (#997, PR #1004)
Support VidHD in slot 3 (via Config GUI or '-s3 vidhd') for SHR video modes only.
- AppleWin window is slightly enlarged when VidHD card is inserted.
Support IIgs 320x200 (and fill mode) and 640x200 video modes.
Debugger: add 'shr' command to view video
CUI: Allow user to specify width & height (for full-screen); and allow separate x,y scaling in full-screen mode.
2021-11-30 21:41:02 +00:00
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
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
f2843d4d71 Collections of changes to facilitate compilation on Linux and macOS. (PR #992) 2021-10-18 20:23:46 +01:00
TomCh
4aa6e05528 Support Uthernet save-state (#984)
Uthernet card: support save/load state
2021-09-21 21:32:14 +01:00