146 Commits
Author SHA1 Message Date
tomcw 21ea317902 Add Input Config GUI for hooking system keys (eg. Alt+Tab) and Alt+Enter behaviour. (#1532)
Add cmd line: -hook-system-key
Default to not hooking system keys, ie. hook filter is off
Update help doc.
2026-10-24 17:59:06 +01:00
tomcw 6c579da5bd Add cmd line: -no-joystick<1|2>. (#1234) 2026-10-04 16:59:00 +01:00
Tom Charlesworth 8af1a6db8e Output audio device name when Spkr_DSInit() fails (#1527) 2026-09-27 17:43:15 +01:00
Tom Charlesworth 0e1e4caa71 Config->Slots: Just use MessageBox() for a modal dialog (#1507, PR #1508) 2026-09-19 21:47:59 +01:00
tomcw 56c95d3126 Add cmd line: -ssc-tcp-port <port> to change the default TCP port number. (#1516) 2026-09-19 11:41:19 +01:00
Kelvin Lee 3e8054b462 Replace BOOL (almost all) with bool (PR #1509)
. Remove uses of !!
2026-07-26 21:49:53 +01:00
tomcw d5db8e84a6 AY: support empty socket
AY regs: ENABLE(bits 7-6), PORTA, PORTB: support depends on AY chip type
Add cmd line: -sN ay-socketX <empty|ay8910|ay8912|ay8913|ym2149>
Save-state: Mockingboard v15: add type for AY/YM
2026-07-18 15:42:12 +01:00
Kelvin Lee 8193cc1fd1 Remove void argument lists (PR #1505) 2026-07-05 16:43:36 +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 0bdda0ba44 Fix a few regressions from recent commits 2026-05-04 22:09:35 +01:00
Tom Charlesworth 22dca96cbb Fixes for cmd-line support (#1491, PR #1496)
Fix bad_cast for inconsistent cmd-line options.
Allow Parallel, SSC & VidHD card insertion into any slot.
Allow floppy/HDD image insertion into any slot.
. if inserting a floppy image, and the slot had no Disk II card, then insert one (consistent with HDD images).
2026-05-02 18:24:25 +01:00
tomcw 0f6bf4e171 Slots config for HDC: (#1470)
. Support HDC firmware selection from combo: auto, SP, BLK2, BLK4 modes
2026-04-18 12:31:04 +01:00
tomcw 175a72bc50 Fix for starting with model=IIe, and specifying '-s0 saturn'. (#1486) 2026-04-04 17:36:35 +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 8219799b83 Minor UI tweaks:
. Don't assume slot 6 has a Disk II card
. Disk II config dialog: check the 'show status' box regardless of slot
2026-04-03 15:18:44 +01:00
tomcw 91ca49f4f5 Slots config: Disk II: add option for 13-sector firmware, and save to Registry 2026-03-20 15:20:42 +00:00
tomcw b004316a03 Slots config: Saturn card: add option for mem size (16K-128K), and save to Registry 2026-03-14 16:02:13 +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 0ed8d3407e Fix for AppleWin's window width (for Min Version = 6.00) (#1438)
Change: Win32 builds: Minimum Required Version = 6.00 (Vista)
2025-10-19 12:13:42 +01:00
tomcw 14323064de When using -debugger-auto-run <file.txt> (to set breakpoints), then we want to be MODE_STEPPING when leaving MODE_LOGO 2025-10-18 16:27:40 +01:00
TomCh 1a68914a4a Fix all x64 warnings in the AppleWin proj (PR #1434)
NB. 10 warnings still in libyaml proj (but there's no upstream update - so will leave as-is).
2025-09-22 21:25:35 +01:00
Andrea 11fcaa63d1 Synch linux branch (PR #1432)
. Debug.cpp: fix compilation errors.
. Remove obsolete __attribute__((regparm(1))) & WATCOM.
. Support MINGW32.
. Replace sprintf with StrFormat().
---------
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2025-09-18 10:40:02 +01:00
tomcw 84c7c347cc Benchmark dialog: include CPU id for ARM64 CPUs 2025-09-14 16:02:31 +01:00
tomcw b2da092718 Benchmark dialog: add CPU id; add 'debug' suffix (for debug build) 2025-09-14 15:40:40 +01:00
TomChandmichaelangel007 99fef84e8b Add x64 build configs (#1392, PR #1430)
. Remove v141_xp build configs
. Add CPUID support

---------
Co-authored-by: michaelangel007 <michaelangel007@sharedcraft.com>
2025-09-14 15:26:32 +01:00
tomcw 8b31042c13 Add cmd line: -debugger-auto-run <script file>
. Use this to override the default "DebuggerAutoRun.txt"
2025-08-31 17:38:43 +01:00
tomcw d35bb2bcde For Drive1/2 pop-up menu: fade out all audio whilst menu is active. (fixes #1407) 2025-06-13 20:23:25 +01:00
Andrea 75cc573d0e Make ProDOS utils cross platform. (#1406)
* Move ProDOS utils to separate file.

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

* Use std::vector to fix and avoid memory leaks.

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

* Remove TEXT and TCHAR.

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

---------

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2025-06-13 08:51:59 -07:00
tomcw cdba020ca7 Fix off-by-one error 2025-06-08 19:28:46 +01:00
tomcw 552d830045 SSI263:
. Default to SSI263AP (ie. with reset fixed)
. Support SSI263 type set from cmd-line: SSI263P, SSI263AP or empty
. Support SC01 type set from cmd-line: SC01 or empty
. Save-state: MB v14: support SSI263 & SC01 type (including Empty)
2025-06-08 12:42:55 +01:00
tomcw 001ffe8dee MB: Add cmd line to set SSI263 type or empty socket 2025-06-07 23:10:59 +01:00
tomcw 04a6c6ec6c Fix for static_assert(): requires message parameter pre-C++17 2025-05-31 10:17:53 +01:00
tomcw 00ab15ddaf Fix focussing issue for AppleWin.chm, when it overlaps the AppleWin window. (#1403) 2025-05-30 22:19:18 +01:00
Michael "Code Poet" Pohoreski 3d0ef63537 Extend context menu for disk buttons (Disk image QoL) (#1363, PR #1364)
Persist menu selection for bitsy.boot, bitsy.bye, basis & prodos.sys to Registry.
Add new cmd line '-bootsector <pathname>'.
Add BootSector (code & binary).
Add OS (basic17.system, bitsy.boot, quit.system; DOS33 & ProDOS2.4.3).
Update help doc:
. add workflow info to ddi-create.html.
. add new ddi-sizes.html, and ddi-advanced.html (for advanced workflow).
2025-05-22 22:44:28 -07:00
tomcw 217a31d095 Include AppleWin version & '32/64-bit build' info-string in Benchmark dialog summary (#1392) 2025-05-04 20:00:33 +01:00
tomcw 265f1ddbf1 Include '32/64-bit build' info-string in log file and debugger's MOTD (#1392) 2025-05-04 18:36:33 +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
tomcw 693812319a Use dtor for setting m_hasVidHD=false when VidHD card is removed. 2025-02-08 16:42:01 +00:00
tomcw 0ef6ead4a6 Fix setting m_hasVidHD=false when '-s3 empty' is specified on cmd line 2025-02-08 16:32:48 +00:00
tomcw bd87cae92c Improve logging: for -fs-width/height=x: for each display resolution, after the WxH also output the aspect ratio. 2025-02-08 16:03:41 +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
tomcw 9bd5f838b3 RepeatInitialization(): fix function's code indentation. NB. no code changes! 2025-01-26 19:40:24 +00:00
tomcw 7cde8d40c9 RepeatInitialization(): call KeybReset(). Fixes #1367 2025-01-26 19:32:32 +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
Andrea 3a3663d9d6 More cleanup (PR #1357)
SoundBuffer: move Windows only flags to DXSoundBuffer.
Remove out of date _MSC_VER checks (pre-VS2019).
2025-01-04 12:35:31 +00:00
Andrea d7918d9ac9 A few miscellaneous cleanups. (PR #1355)
Move DSXXX function to a more specific location.
. DSAvailable() is not implemented in SoundCore.
. DSInit() & DSUninit(); are only meaningful in Windows.
SoundBuffer: use plain C++ to clean it up as opposed to COM interfaces.
. which are only relevant to the Win32 implementation.
Remove 2 obsolete FMT macros.
NTSC: load bitmaps by resource id.
SoundBuffer: make creation of a SoundBuffer an atomic operation.
Fix 2019 solution.
2025-01-02 21:08:55 +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 a2b03483ee Add SoundBuffer interface (PR #1352)
This replaces the LPDIRECTSOUNDBUFFER pointer with a pure virtual class and an implementation that wraps the LPDIRECTSOUNDBUFFER, allowing other sound implementations without having to simulate the exact alignment of a DIRECTSOUNDBUFFER object.

Additionally, moves the DSInit and DSUninit calls out of the SoundCore.cpp file (into a new DXSoundBuffer.cpp (for Windows)), allowing them to be appropriately reimplemented in a non-DirectSound environment.
2024-12-30 12:42:26 +00:00