152 Commits

Author SHA1 Message Date
TomCh
3f6009bfb8 Alternate method to scan COM ports (#1425 PR #1442)
* Use QueryDosDevice() to scan COM ports instead of CreateFile()
* 1.31.0.1
2025-10-19 11:14:53 +01:00
tomcw
bb6ac84f6b Version: 1.31.0.0
. Update History.txt
. Fix makeAppleWin.bat for PDB files
2025-09-28 18:53:37 +01:00
TomCh
54f86f0cdc Debugger: support address prefixes for slot, bank, language card & ROM (#1419)
* Minor tidy

* Changes:
. semicolon now Comment EOL
. double fwd-slash now Divide floor
. (single fwd-slash unassigned)

* . fwd-slash now parsed in Range_GetPrefix()
. WIP: 'bp bank/addr'

* Add error msgs

* Extend Breakpoint_t struct

* Update cmd 'bpl' to support displaying prefixes

* Do prefix checks & output error msgs

* Add _CheckBreakpointValueWithPrefix()
. support bank, for BP_OP_EQUAL
Stop reason: include BP id

* WIP: fix BPs (non-BPM)

* Fix cmd 'bpr'

* Stop reason: don't show BP id for BP_HIT_REG (as it already includes it)
Add comment about nArgs from calling funcs
Refactor _CmdBreakpointAddCommonArg(): nArgs

* Stop reason for memory BP: show full prefixed address

* Stop reason: output BP id in consistenct way

* Support ROM prefix filter

* Complete addr prefix logic

* Improve logic

* BP: 'HDD DMA to/from memory' - use common hit id function

* Support rw bank 100

* Support double forward-slash at start of line as a comment

* Refactor: use debugger naming convention for vars

* Changed prefix errors from 'bad' to 'out-of-range'

* DebugInitialize(): Reset g_breakpointHitID

* Refactor: use debugger var naming convention & formatting style

* Switch divide-operator to the underscore char, and allow double-fslash as a comment anywhere on a line

* Update help for debugger calculator

* Update help for debugger breakpoints

* Update help for debugger breakpoints (conditional)

* Fix help:breakpoints.html & fix ArgsGetRegisterVlaue() to do case-insensitive compare

* Fix underscore to be treated as a alphanumeric in a few edge cases

* Revert to using '//' as divide operator

* Help: update debugger Breakpoints & Calculalor pages

* Help: update debugger Calculator (missed one)

* Detabify and align

* Display (1) or (2) prefix for LC1 or LC2 breakpoint

* #1419 Added Aux.1 and Aux.N indicators

* Display (1) or (2) suffix for LC1 or LC2 breakpoint

* Extend cmd 'bpl' to display BP's end addr

* Show both bank and slot together

* Fix spacing for BP with range

* Add: FG_INFO_BP_MEM, FG_INFO_MEM_WRITE, BG_INFO_MEM_BANK_LC, FG_INFO_MEM_BANK_LC colors

* Cleanup

* Add 3x5 mini hex numbers

* Mini hex font to have rounded 0,A,C glyphs

* Display 2 hex Bank now

* Support edge-case for bank 0x100

* Tidy up end red spacer

* Refactor & introduce new struct AddressPrefix_t

* Fix a few bugs:
. bpl: fix end addr
. fix for 'R' and 'W' not coloured for single-byte BPs (eg. bpmr 100)

---------

Co-authored-by: michaelangel007 <michaelangel007@sharedcraft.com>
2025-09-06 02:43:57 -07:00
tomcw
79499fba0e Bump year to 2025 in resource file 2025-07-06 17:25:37 +01:00
tomcw
0b5ce77e41 Bump version: 1.30.21.0 2025-05-31 10:23:02 +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
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
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
7f9563b8ea 1.30.20: Update History.txt 2024-11-16 12:21:51 +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
f19822dc08 Bump version: 1.30.19
Fix for loading old save-states with HDC+HD tests
2024-07-28 21:53:33 +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
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
xotmatrix
c87a2c90da Fix for corrupt 't' glyph (#1309) 2024-06-01 18:20:02 +01:00
tomcw
abfdb8e0db 1.30.18.0: History.txt 2024-03-22 22:30:26 +00:00
tomcw
25ce998c9a Resource: bump (c) year 2024-03-02 17:14:49 +00:00
tomcw
a16a134ae5 Robocom Interface Module dongle: use actual values for 1000 & 1500 series dongles. (#1247) 2024-02-24 20:12:06 +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
e46c27e5b9 1.30.17.0: Update History.txt 2023-12-31 10:30:03 +00:00
tomcw
2b3576faf6 1.30.16.0: Update History.txt 2023-11-26 18:12:16 +00:00
tomcw
cfcd55d09a 1.30.15.0 2023-07-21 21:22:18 +01:00
TomCh
7aef95f071 Support Cortechs Corp CodeWriter protection key (#1205) 2023-03-31 12:01:19 +01:00
tomcw
5e06ddaa94 1.30.14.1: Update History.txt 2023-03-11 23:12:11 +00:00
tomcw
7c5f0e7b9a 1.30.14.0: Update History.txt 2023-03-05 21:02:45 +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
aa40b2dda7 1.30.13.0 2023-01-02 09:41:49 +00:00
tomcw
af9d2a6402 Help: add info about dongle 2023-01-01 19:34:32 +00:00
tomcw
043bc49f3d Add a new Registry Configuration interface: "Game I/O Connector" (like Slots).
Change Config->Advanced to show 'Game I/O Connector' (instead of 'Copy Protection Dongle').
2022-12-31 17:32:50 +00:00
tomcw
9920aaa711 1.30.12.1: point-release (#1141) 2022-12-16 10:34:51 +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
TomCh
8cd51ba155 Show Disk II Slot 5 status (#1134, PR #1137)
. In 2x windowed mode: always show slot 5 Disk II LEDs.
. Add tooltips for slot 5/6 track/sector info (d1 & d2) - shows dec/hex & fractional track position.
  - but this track/sector info is now on a UI toggle in the Config -> Disk tab.
. Debugger: add 'DISK SLOT n' - to set current slot of Disk II card
  - ie. support 'DISK INFO' for slot 5
2022-11-17 21:08:11 +00:00
tomcw
4fc07b4a7a AppleWin.rc: update copyright year! 2022-09-27 21:51:15 +01:00
tomcw
e740642857 1.30.12.0: Update History.txt 2022-09-27 21:00:13 +01:00
tomcw
f300edb5de 1.30.11.1: point-release (#1127) 2022-09-02 21:08:25 +01:00
tomcw
92ea6f0c61 1.30.11.0: Update History.txt 2022-06-23 20:26:09 +01:00
tomcw
89cbb0c65c 1.30.10.0: Update History.txt 2022-05-27 20:32:35 +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
37445c4e35 1.30.9.0: Update History.txt 2022-03-23 20:11:50 +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
771d9b1328 1.30.8.0: Update History.txt 2022-02-08 20:32:02 +00:00
tomcw
0f2d4b1878 1.30.7.0: Update History.txt 2021-12-19 19:28:50 +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
TomCh
5ed901f720 Slot-independent HDD firmware (#996, PR #998)
. Move the 'read block' command into the emulator - to mirror the write command
. With emulated time to do the DMA for the r/w block command
2021-11-09 21:04:57 +00:00
tomcw
4d14d719b9 1.30.6.0: Update History.txt 2021-10-29 21:14:13 +01:00
tomcw
35e2e62b86 1.30.5.0: Update History.txt 2021-09-28 21:40:42 +01:00
TomCh
685b93f387 Add 4Play & SNES MAX card support (#946, #972, PR #982)
Support these new cards in slots 3, 4 or 5; based on code from Lukazi.
- extend Configuration's Input prop sheet page.
- add save/load snapshot for both cards.
- add command line switch for alt controller type (for SNES MAX card).
Change to using Registry's 'Configuration\Slot 3' for slot 3 cards (Uthernet, 4Play & SNES MAX).
Update help doc.
2021-09-10 13:57:55 +01:00
tomcw
7f2dd9727d 1.30.4.0: Update History.txt 2021-08-29 12:31:48 +01:00
TomCh
7b55e994ec Config GUI for DiskII card in slot-5 & improved slot config in Registry (#975, #977, PR #978)
Change to using Registry's 'Configuration\Slot n' for disk ii image pathnames (was 'Preferences').
Delete Registry's 'Configuration\Slot n' section each time there's a change of card.
Add same functionality to conf.ini.
LoadConfiguration(): load from the new Slot-n section (or otherwise the old legacy key).
Only update Registry's 'Starting Directory' for s6,d1.
Update help doc.
2021-08-29 11:39:51 +01:00
tomcw
1fe557855a 1.30.3.0: update History and minor change to Help doc 2021-06-19 15:15:32 +01:00
tomcw
182bed5825 1.30.2.0 & update History.txt 2021-05-31 20:09:51 +01:00