1440 Commits

Author SHA1 Message Date
tomcw
143f6679b6 Fix NMOS 6502 illegal opcode 0C (fixes #1360) 2025-01-07 21:51:34 +00:00
michaelangel007
6c6d821051 Debugger 2.9.2.1 Added: Error message when trying to add a symbol > 51 characters. See Issue #1342 2025-01-06 15:45:47 -08: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
Andrea
c4e81fc71d
DebugFont: use an ID which is a valid macro. (PR #1359)
Simplifies linux resource embedding.
2025-01-05 17:13:06 +00:00
tomcw
b1a03a1a81 Logging: add log msg when AY reg writes are discarded (likely due to ScrollLock / full-speed mode). (#1358) 2025-01-04 13:30:36 +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
tomcw
80af06db77 Debug: fix MB IRQ logging 2025-01-02 21:04:15 +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
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
tomcw
44babe9814 Add comment for RamWorks III on a reset 2024-12-16 15:25:18 +00:00
Andrea
9b15559949
Minizip: include minizip as "minizip/unzip.h" and "minizip/zip.h". (#1345)
This aligns AW to the new way minizip is meant to be included:

7e6f0784cc

Which avoids ambiguous includes if zip is installed in a non standard path.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2024-12-06 17:31:34 +00:00
tomcw
3fb6839458 Debugger: Increase symbol length from 31 to 51 chars 2024-11-24 18:12:48 +00:00
tomcw
000b546613 MB: Refactor: rename m_phasorEnable to m_isPhasorCard 2024-11-23 15:05:02 +00:00
tomcw
d1d026f7ab MB: Refactor: add SetPhasorMode() 2024-11-23 14:57:16 +00:00
tomcw
a6416acb87 MB: SSI263: Don't try to create DS soundbuffer if DS is unavailable 2024-11-23 14:25:09 +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
TomCh
964a5d5198
Oz-DOS and Format command support (#88, PR #1337)
Support FORMAT cmd:
. HDC firmware: byte $FE, b3=1 (format supported)
. HDC firmware: allow both SmartPort and BLK FORMAT cmd (and check that SP FORMAT only has 1 parameter)

SmartPort Controller:
. Format will just zero all blocks (if not write-protected)
. Write cmd: if write-protected return NOWRITE
. SP Status cmd: 'General Status': set format-allowed & write-protected flags

If HDD image is read-only then support as write-protected.
. On Insert() setup m_bWriteProtected flag correctly
2024-11-02 11:39:49 +00:00
tomcw
f6d0c0088c HDC: Improve logging 2024-10-16 21:41:37 +01:00
TomCh
910313f176
Fix edge-case for 6522 Timer write (#1333, PR #1334)
Refactor GetOpcodeCyclesForRead()/Write() to make then consistent & consolidate common code.
2024-10-15 21:26:38 +01:00
tomcw
9f508d1b7e MB: Fix ASSERT for 6522 write (#1333) 2024-10-13 18:09:21 +01:00
Andrea
3033f3445b
SaveState: add absolute path for disk & hdd images. (#1290, PR #1294) 2024-10-06 20:44:24 +01:00
tomcw
e8641555e8 Debugger: visually show that a 6522 is configured as bad in mini-mem window's title 2024-09-28 16:46:28 +01:00
tomcw
5f40ac8e70 Fix 6522 ctor 2024-09-25 21:48:41 +01:00
tomcw
b764c00d50 Cmd line: -sN 6522a|b-bad (for mb-audit) 2024-09-25 20:58:59 +01:00
tomcw
8739b6ba08 DiskII: C0E8 (DRIVES OFF): Improve logging & comments (#926) 2024-09-20 21:57:51 +01:00
tomcw
8a3de5592a Help doc: add Hayden dongle 2024-08-25 14:31:44 +01: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
f035a53374 For II/II+/Unenhanced //e use the new SmartPort firmware, but with $Cs07 = 0x3C. (#1319) 2024-08-21 23:01:29 +01:00
TomCh
57ba330072
Support Hayden dongle (#1312, PR #1325) 2024-08-21 22:15:34 +01:00
TomCh
fd93396162
Uthernet I/II: Activate DEV SELECT I/O even if NIC interface is not valid (PR #1324) 2024-08-17 21:20:00 +01:00
tomcw
4786de0cc7 Floppy/Harddisk images: on failure, close handle for all return paths. (Fixes #1227) 2024-08-17 16:14:09 +01:00
tomcw
1127447a10 U1, U2: small refactor 2024-08-15 20:08:38 +01:00
tomcw
2e65426a11 Get U2 to emit similar warning to U1 when interface isn't valid. (#1321) 2024-08-15 18:11:56 +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
tomcw
f19822dc08 Bump version: 1.30.19
Fix for loading old save-states with HDC+HD tests
2024-07-28 21:53:33 +01:00
tomcw
91eec68fff DiskII: Fix for "DRIVES OFF forces the control flipflops to clear". (@sicklittlemonkey)
. fixes Zork0 (#926) and Shogun (#1315)
2024-07-28 16:38:37 +01:00
tomcw
95a4f44977 MB: SC-01: disable phoneme playback repeat. (#1318) 2024-07-28 16:29:19 +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
tomcw
72f0c03981 Save-state: for MB, the SC01 sub-unit is only supported from v12 2024-06-29 12:49:10 +01:00
TomCh
a88040c3ef
SSI263 - support for core functionality (#175, PR #1301)
. A phoneme will continue playing back infinitely; unless the phoneme is changed or CTL=1.
  . Reset doesn't affect SSI263/SC01 (so phonemes continue to play).
. CTL=1 sets "PD" (Power Down / "standby") mode, also set at power-on.
. CTL=0 brings device out of "PD" mode, the mode will be set to DR1,DR0 and the phoneme P5-P0 will play.
. Setting mode to DR1:0 = %00 just disables A/!R (ie. disables interrupts), but otherwise retains the previous DR1:0 mode.
. RESET is not connected to !PD/!RST pin 18.
 . Support edge-case where RESET can enable ints & assert IRQ.
. Power-on: PD=1 (so D7=0), reg4 (Filter Freq)=0xFF.
. Support SSI263 IRQ and D7 on a Phasor mode change (including Echo+).
. $Csxx I/O mapping (same for Mockingboard and Phasor mode).

Other:
. SSI263 save-state: support SC01 as a sub-unit of the card.
. 6522: Fix reg $F (ORA w/HS) to be identical to reg $1 (ORA).
2024-06-07 21:10:33 +01:00
Andrea
ae7e5a63a9
More portable headers. (PR #1310) 2024-06-02 12:54:40 +01:00
TomCh
06a646f751
Use actual video ROMs (#1308, PR #1311)
* Apple II+ - 7341-0036 - Character Generator Rev7+
* Apple IIe Enhanced - 342-0265-A
* Remove CHARSET4.BMP
2024-06-02 12:47:22 +01:00
Andrea
c0bfb0b0fe
linux munmap: fix comment and simplify memory free. (PR #1293) 2024-04-26 21:53:09 +01:00
tomcw
664d7c2d86 Phasor card: in native mode, writes to SSI263 regs 0,1 & 2 all clear the SSI263 IRQ. (#1197) 2024-04-13 13:23:10 +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