Commit Graph

63 Commits

Author SHA1 Message Date
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
TomCh 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 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
tomcw 245773795f RamWorks III: default to 1MiB (16x 64K banks). (#478) 2025-02-13 20:56:59 +00:00
tomcw ef088e49ae RamWorks III: default to 2MiB (32x 64K banks). (#478) 2025-01-19 20:47:48 +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
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
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
TomCh b371e3436f Support HDC SmartPort firmware for Enhanced //e (#1207, PR #1314)
Added new SmartPort Harddisk Controller (HDC) firmware for Enhanced //e. (@burniouf)
. remove the old DOSMaster entrypoints.
. firmware ID byte (at $FE) defaults to 4 ProDOS block devices (was 2 with older v2 f/w).
Enhanced //e defaults to using SP f/w, and older Apple II's still use the older v2 f/w.
Support up to 8 units per HDC (currently limited to 4GiB capacity for each unit).
Save-state: save HDC firmware in state file.
New slot-specific switches to configure each HDC's firmware: -s<N> -hdc-[sp|bm2|bm4].
New switch to select old non-SP firmware for all HDCs: -hdc-firmware-v2.
2024-07-28 16:12:36 +01: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 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
Kelvin Lee 80f3eaeb91 Various *Name() functions can simply return const std::string& (PR #1049) 2022-02-28 20:52:18 +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 177c9fec05 Make Slot 0 more consistent with other slots. (PR #1006) 2021-12-11 15:26:09 +00:00
tomcw 1ab0d56558 HDD: remove magic numbers & add GH ref (#1007) 2021-12-10 19:37:58 +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 3d70a9dd35 Some small changes to ensure code compiles with GCC. (PR #877) 2020-11-27 20:57:35 +00:00
TomCh 6e166dfff6 Support NSC for Apple II/II+ via F8-ROM (#827 PR #873) 2020-11-25 21:57:34 +00:00
Andrea 01ad5d1882 Ensure all header files can be included (in any order) after stdafx.h. (PR #866) 2020-11-11 21:15:27 +00:00
ThorstenB 4543117f81 More clean-up, portability and another debugger fix (PR #847)
Fixed debugger main "data" window behaviour:
. When activating the main data display ("data" command) the cursor keys wouldn't work until the minidump ("md1") was also enabled. NB. The cursor keys should work in the main data window, independently of whether the minidump is active.
2020-10-25 17:27:59 +00:00
tomcw b35ba0b04a RESET: reset annunciators for //e and Base64A 2020-07-07 20:54:46 +01:00
Iván Izaguirre 36e318e344 Support 'Copam Base 64A' - a Taiwanese Apple II clone (#806) (PR #807)
. It's an Apple II plus clone.
. The 48K bank-switched Rom is controlled with AN0 and AN1.
. The character generation video Rom has two full character sets: English and German (F10 to switch).
NB. At the prompt, "TEST" runs the ROM self-test.
2020-07-06 20:24:16 +01:00
tomcw c9ef6ecee1 NoSlotClock:
. added to save-state (v6) via a new unit type 'Miscellaneous'
. added cmd line switch '-no-nsc' to configure AppleII without an NSC
2020-06-10 20:56:00 +01:00
tomcw f491bb19cd Improved fix for 80eb330
. During init: only need to call IoHandlerCardsOut() when loading save-state
. MemInitialize() -> MemReset() -> ResetPaging() which always inits memmode
2020-06-08 22:06:17 +01:00
tomcw 3659603228 Added cmd line arg -rom <file> for 12KB & 16KB roms (#771) 2020-03-25 23:05:02 +00:00
TomCh 21d16d3a0c Auto-switch DiskII firmware to 13 or 16 sector depending on disk in drive-1 (#734) (PR #761)
. The auto-switch is done on each reset, or on inserting a disk at the start-up screen (MODE_LOGO).
. The Window's title include '(S6-13)' if DiskII card has 13-sector f/w.
. The debugger's 'disk info' cmd will show FW13 or FW16 depending on f/w.
2020-02-22 11:38:25 +00:00
tomcw 2463aae545 Updates for DHGR MIX and detection (#633):
. Support DHGR MIX mode and AN2 off to invert bit7 (undocumented)
. Improve the video-mode precondition to check for 80COL access occurring before $C05F
2019-04-06 15:17:18 +01:00
tomcw 7096a0a05a Support Enhanced //e soft switches (fixes #636)
. IOUDIS, RDIOUDIS, RDDHIRES

Also:
. Persist annunciators to save-state
. Fix so that $C07X trigger paddles 555 timers reset (before was just $C070)
2019-04-06 11:18:48 +01:00
tomcw eea8cb3cdf Deprecated and removed support for v1 save-state. (Fixes #603) 2019-01-05 22:20:51 +00:00
tomcw 6fb5b3b0e8 Refactor: consolidate 'modechanging' optimisations into a single function 2018-11-10 10:30:19 +00:00
TomCh 42c58f54e7 Refactor Language Card (#593)
* Refactor Language Card:
. MemSetPaging() now not used for $C080-C08F accesses.
  - Instead LC registers its own I/O handler like all other slot 1-7 cards.
. Saturn uses base LC's 16K for bank0

* Move all 'modechanging = 0' to UpdatePaging()
2018-11-09 20:51:51 +00:00
TomCh 46274d4d1c Apple II: Language Card and Saturn support for slot-0 (PR #589)
Support for #408:
* added slot-0 LC and Saturn 128K for Apple II and II+
* added save-state support
  - for slot-0 LC/Saturn, save the LC state in the slot-0 card, not the //e MMU; and switch to a new Apple2 unit ver2
* added g_Slot0, g_SlotAux
* added new LanguageCard.cpp/h to project and moved Saturn code into these new files.
* updated VS2013,2015,2017 projects
2018-10-26 11:23:30 -07:00
tomcw 9cacf8d90d Small refactor for reading $C01x soft switch status flags
Prevent Apple II from reading $C01x/$C07F soft switch status flags
2018-06-30 14:30:30 +01:00
tomcw 598b20fb52 Refactor: Use INTCXROM instead of SLOTCXROM to be consistent with UTAIIe (fixes #419) 2018-04-06 22:36:54 +01:00
tomcw d7de4908cd Add comment for the reason that reset doesn't affect memmode & videomode for II and II+ models.
Add accessor for memmode, make static and replace extern refs with GetMemMode().
2018-03-19 18:49:08 -07:00
tomcw d9accc82c5 Refactor codebase by renaming nCyclesLeft to uExecutedCycles (#540) 2018-03-03 21:27:50 +00:00
tomcw 3a5bf012f1 Save-state: Fix for when SSC's expansion ROM is active and PC is running in this space (GH#486) 2017-09-22 22:23:13 +01:00
tomcw 52450aa7f7 These 2 combined fix #418:
1) Uthernet card now returns floating bus for slot ROM at $Cs00-CsFF (where s=3).
2) Fixed IoHandlerCardsIn() to not map in the card in slot3's slot ROM when SLOTC3ROM=0.

Also:
. moved the typedef 'iofunction' from common.h to memory.h
2017-05-13 22:07:53 +01:00
michaelangel007 d3e620fcd4 Add command line to init Saturn memory size 2017-04-27 14:50:15 -07:00
michaelangel007 4b334e9466 Add Memory Types for Extended Memory, export RAMWORKS active bank 2017-04-27 13:59:29 -07:00
michaelangel007 10092a88f6 Fix grammar 2017-04-27 13:36:33 -07:00
michaelangel007 28218634e8 Add some comments for Language Card use 2017-04-27 12:33:51 -07:00
michaelangel007 895a6839bc Make memmode global as debugger needs access 2017-04-27 10:01:58 -07:00
michaelangel007 afa681ea9e Move Memory Flags to .h since debugger needs them 2017-04-27 09:18:37 -07:00
tomcw 3a2313c52e Debugger:
. Improved break on FB or IO: account for slot empty (or not) & if expansion ROM enable
Memory:
. IORead_Cxxx(): Fix for Apple II support for when slot-3 is empty
. Apple II type was erroneously testing //e soft-switches
2017-03-10 22:00:01 +00:00
tomcw 8c3a2148e9 Small simplification to Memory interface (directly unmap cards' ROMs if internal ROM is enabled) 2016-09-11 20:16:19 +01:00