Commit Graph

85 Commits

Author SHA1 Message Date
tomcw
3da1ce2eb7 RepeatInitialization: reset all cards near end of func; support cmd-line setting SLOT0=empty 2025-12-31 19:27:57 +00: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
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
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
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
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
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
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
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
tomcw
b5544142e0 MB: Refactor IsActive() to IsActiveToPreventFullSpeed() (#1340) 2024-11-20 21:00:38 +00:00
tomcw
d896e1cec2 MB: Fix for SSI263 phoneme blocking enhanced disk II full-speed mode. (Fixes #1340) 2024-11-18 21:27:56 +00:00
tomcw
7c6ec3dbf0 Add cmd line option (for testing): -load-state-ignore-hdc-fw 2024-11-03 19:02:01 +00:00
tomcw
b764c00d50 Cmd line: -sN 6522a|b-bad (for mb-audit) 2024-09-25 20:58:59 +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
9c1304686c Add (debug) cmd line switch: -hdc-firmware-v1 (#1277)
. use this to force all attached HDCs to use the old v1 firmware
2024-03-02 21:16:28 +00:00
Peter Ibbotson
2cbecdda68 ProDOS HDD Controller firmware returns volume size in Y:X for STATUS command (PR #1272)
* New command line option to force a size for autoexpanding use.
* New HDD Controller firmware uses a separate v2 name and folder.
* Harddisk.cpp now loads HDD Controller firmware v2 by default.
* Save-state for 'Generic HDD' bumped to v4
2024-02-06 21:32:30 +00:00
tomcw
78ee8101d5 Speaker: change from mono to stereo sound buffer (but left channel silent).
Possible fix for #1159.
2024-01-13 17:55:57 +00:00
Andrea
4b18918e0f Mockingboard: define sample rate and number of channels only once. (PR #1223) 2023-05-05 21:49:26 +01:00
TomCh
5ba153c244 Add support for SD Music card (PR #1217)
Differences compared to Mockingboard:
. Only one 6522
. AY8913 is selected by address b7

Add cmd line: -sN sdmusic
Add cmd line: -mb-audit (to enable selection of additional sound cards, eg. for mb-audit)
2023-04-28 16:41:22 +01:00
TomCh
273d07d83f Support MegaAudio card for testing mb-audit (PR #1211)
Differences compared to Mockingboard:
. TIMER1 underflows to $FFFE before it's reloaded with latch.
. TIMER1's LATCH=$0000 gets interpreted as $FFFF.
. Partial TIMER2 support: IFR.T2 gets set on underflow. But T2 reads as 0x00FF.
. AY register reads are unsupported (always read as 0).

Config->Sound: show 'MEGA Audio' in drop-down menus only if it was specified on the cmd line.
2023-04-12 18:19:18 +01:00
tomcw
d612972e6c Add command line support for hard disk controller (hdc) in slot-5 (#1033)
. -s5 hdc
. -s5h1 <pathname>
NB. No GUI config support, so no way to plug/unplug HDDs.
2023-02-26 20:42:21 +00:00
tomcw
3abf0c1753 Cmd line: support removing cards from slot 4,5 and 7 too 2023-01-28 18:44:16 +00:00
TomCh
71c67cf132 Refactor Mockingboard into a class (#1171)
Mockingboard or Phasor cards can be inserted into any slot.
Change Config->Sound to that slots 4+5 to be individually selected for the 3 soundcard types.
Add MockingboardCardManager class to manage multiple cards and mix the sound buffers.
2023-01-28 18:15:28 +00:00
tomcw
a57f2b29a3 Support '-s6 diskii' and '-s6 diskii13' (#1133)
. so that a diskii card can be re-inserted into an empty slot 6
Improve command line for slots 5&6: -sN diskii and -sN diskii13
. on a restart (or change of config), if that diskii card is already in the slot then ignore
. ie. don't lose the image(s) across a restart
2022-10-06 21:18:14 +01:00
tomcw
69fa53ab7d Add command line: '-sN diskii13' to force the diskii card (in slot-N) to use the 13-sector firmware (#1133) 2022-10-05 21:29:57 +01:00
tomcw
4a7f05ed36 Full-screen: Retain uniform x and y scaling, unless user specifies a full-screen resolution (#1121) 2022-09-24 17:13:09 +01:00
tomcw
c9f5df1e1e Fix typo in log msg 2022-07-02 16:59:03 +01:00
tomcw
3ab80d9b9c Command line: support '-s2 ssc' 2022-06-26 19:06:39 +01:00
TomCh
de173b2729 Support two adjacent phases turned off in rapid sequence (#1110, PR #1116)
Fix for A2osX low-level format for 48-trackl, 192K floppy image
2022-06-20 20:40:39 +01:00
tomcw
1b80c7bf16 Debugger: change search path for DebuggerAutoRun.txt
. try CurrentDir first, only if this fails then try AppleWin's ProgramDir.
Also: defer DebugInitialize() until later so it can take advantage of -current-dir command line switch.
2022-06-06 19:46:10 +01:00
Andrea
6a5ea92a4e Uthernet II: add virtual DNS feature (PR #1097)
Uthernet II: add extended feature to virtualise DNS requests.
. This allows pure TCP/UDP sockets to run *without* MACRAW requests (and so without libpcap).
. Raw sockets will not work.
. Add configuration for Virtual DNS.
libpcap: ensure all functions check if the library is loaded before using it.
Uthernet 1: do NOT overwrite tfe_cannot_use as it should only reflect the availability of npcap on *this* system.
Add Copyright notice, and mention Virtual DNS in html.
2022-05-08 16:26:01 +01:00
tomcw
08c730c647 Cmd line: add -wav-speaker <file> & -wav-mockingboard <file> 2022-04-17 16:23:51 +01:00
TomCh
b4b29e1ef5 Refactor ParallelPrinter.cpp/h as a C++ class (PR #1067)
Add command line:  -s1 parallel.
NB. Only a single Parallel Printer card is supported, and currently it's restricted to slot 1.
2022-03-18 22:04:34 +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
253a59fde6 Replace sprintf_s() and wsprintf() with StrFormat(). (PR #1041)
And these Debugger related:
. Improve FormatAddress() and GetSymbol().
. GetSymbol(), FindSymbolFromAddress(), FormatAddress() are changed to use std::string instead.
. Remove static variable (not nice) in FormatAddress().
. GetSymbol() returns std::string reference instead of pointer.
2022-02-26 17:54:06 +00:00
Kelvin Lee
1a4e933778 Replace StringCbPrintf() with StrFormat() (PR #1032) 2022-02-15 18:48:20 +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
a243efc74b Fix for cmd line -dcd not being honoured (regression) 2021-12-24 20:58:04 +00:00