Commit Graph

1416 Commits

Author SHA1 Message Date
tomcw
f03f5e0904 Fix for 6522 counter underflows falsely delaying when IRQ occurs. (Fixes #1176) 2023-02-05 11:02:56 +00:00
tomcw
6a3a3114c7 MB:6522: fix edge case for IRQ not firing for very small latch values. (Fixes #1175) 2023-02-04 12:09:19 +00:00
tomcw
958c71de5f Phasor save-state v10: load older state's AYs in correct order. (Fixes #1174) 2023-01-30 21:27:49 +00:00
tomcw
749329b99f Phasor card fixes:
. Reset/Power-cycle: revert to PH_Mockingboard mode
. Load state: set SSI263() to 'm_phasorMode'
2023-01-29 19:20:07 +00:00
tomcw
d61d348f94 Fix comment 2023-01-29 13:37:07 +00:00
tomcw
cf722ff0cc Fix so that MockingboardCardMgr asserts IRQ based on the wired-OR sum of all MB card's 6522s. (Fixes #1173) 2023-01-29 13:32:55 +00:00
tomcw
c56d341bdb Remove old debug code 2023-01-28 20:56:54 +00:00
tomcw
f73f23c1c7 Refactor Z80Card as a class 2023-01-28 19:58:12 +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
597cea1d86 NTSC: Change to NTSC_GetVblBar() from NTSC_GetVideoVert().
Debugger: fix video scanner position's visibility (green colour) for SHR - didn't work for lines $C0-C7.
2023-01-14 14:30:12 +00:00
tomcw
d63a31a043 NTSC: only use accessors to get internal video clock vert/horz values 2023-01-14 14:08:58 +00:00
tomcw
3d5ed4de04 Debugger: add NTSC_GetVideoVForDebugger() just to get vert position 2023-01-13 21:19:10 +00:00
tomcw
d31a831ac2 Debugger: Fix for tf when in full-speed (#1164) 2023-01-13 21:11:00 +00:00
tomcw
244799ec5a Debugger: Fix for bpv when in full-speed (#1164) 2023-01-12 21:51:08 +00:00
michaelangel007
d532922821 Remove unused var nStartAddress 2023-01-08 12:48:25 -08:00
michaelangel007
2a91824873 Debugger 2.9.1.14 Fix disassembly when in middle of data 2023-01-08 12:02:53 -08:00
Fabrice CARUSO
6303401f54 WinMM first & second joysticks are not always 0 & 1 2023-01-07 12:16:26 +01:00
tomcw
d01a9ccb40 Debugger: add index bounds checks for zpa and wa cmds
. fix zpc
2023-01-05 20:40:42 +00:00
tomcw
0532edf773 Speaker fade: use proper type 2023-01-03 21:46:51 +00:00
tomcw
4377441c26 Fix 6502/65C02's D flag for BRK, IRQ, NMI and RESET. (Fixes #1099) 2023-01-02 21:41:31 +00:00
tomcw
ac12f3c294 Fix video junk on RHS edge for TV & Monitor video modes. (Fixes #1157) 2023-01-02 11:15:40 +00:00
tomcw
ad8f43d416 Minor fix for diskii T/S status 2023-01-02 09:14:49 +00:00
tomcw
f78c20f534 SNESMAX: refactor some code 2023-01-01 20:31:39 +00:00
tomcw
af9d2a6402 Help: add info about dongle 2023-01-01 19:34:32 +00:00
tomcw
dee264483a Save-state: Game I/O Connector: change yaml 2023-01-01 18:47:21 +00:00
tomcw
4ca6aaea33 Add save-state support for new unit: 'Game I/O Connector' 2022-12-31 19:51:15 +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
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
5c0f3d03ad
Support controller-button remapping file for SNES MAX (#1155)
SNES MAX: Support controller-button remapping (yaml) file from command line. (#1141, PR #1155)
2022-12-15 14:45:00 +00:00
tomcw
9738af1757 Video rendering: fix glitch when in non-'50% Scan lines' mode. (Fixes #1143) 2022-11-20 20:54:15 +00:00
tomcw
7100bfa5b5 Debugger: LBR: support the unset/undefined case (eg. reset to undefined when beginning a new debug session) 2022-11-19 20:39:41 +00:00
tomcw
0000e8b9c3 Mouse: support VBL even when in 'mouse off' mode. (Fixes #1138) 2022-11-17 22:23:20 +00:00
tomcw
6a1ebe7801 Help: update for Config -> Disk: 'Show Status' 2022-11-17 21:29:20 +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
8e2ee62d37 Debugger: add new command: 'bpv <vpos,[len]>'
. break on video-scanner's vpos matching
. NB. auto disable when hit
2022-10-08 19:19:18 +01: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
259472a877 Fix for Rainbow demo for 50Hz/PAL Color Monitor. (fixes #1131) 2022-10-02 21:52:13 +01:00
tomcw
9df0ea1e21 Video: fix floating bus in new function getVideoScannerAddressTXTorHGR():
. when 'in mixed mode && vert >= 160' return text (not hires) video memory
2022-10-02 20:23:54 +01:00
tomcw
dfaaa2823e Debugger: Extend watches: 'WA <n> v' to show video scanner address & video data (aux and/or main or shr 4-byte) 2022-10-02 16:28:03 +01:00
tomcw
32c7babf51 Phasor load save-state:
. Fix regression when switched to using correct primary AY8913 (regressed at 1.30.10 and 1.30.11)
. Specifically fixes AppleWin-Test: phasor-fugue.aws.yaml
. NB. bumps Mockingingboard version in save-state to v8
2022-09-24 20:16:19 +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
3875b7b433 Fix for joystick read (fixes #1128) 2022-09-19 14:44:13 +01:00
TomCh
4c83186545
Add jitter before track seam (under special conditions) (#1125, PR #1129)
Use FindTrackSeamWOZ() to find longest run of sync FF/10 nibbles.
Jitter added:
. only for tracks 33.0 and above
. only for tracks with long runs of sync FF/10 of more than 110

Changes:
. DumpTrackWOZ() outputs nibble then zeros (instead of zeros first)
. Debugger: 'disk info' outputs bitOffset (instead of byteOffset+mask)
2022-09-19 11:00:34 +01:00
tomcw
f300edb5de 1.30.11.1: point-release (#1127) 2022-09-02 21:08:25 +01:00
tomcw
b299a5d701 Debugger: fix 'Search memory' which had an out-by-one range bug for the end-address (#1127) 2022-09-01 20:15:34 +01:00
tomcw
3f40955306 WOZ: fix obscure crash bug. (Fixes #1126) 2022-08-30 21:43:20 +01:00
tomcw
5888a2b4a6 WOZ: Change track head movement positioning to work on bit (not nibble) offset. (#1022) 2022-08-21 11:48:42 +01:00
tomcw
74a664840f WOZ: Fix for 'Balance of Power' (#1022) 2022-08-20 12:54:14 +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
tomcw
bba86863c3 Fix video mode for line-0: Color (PAL Monitor), when mixed GR+TEXT 2022-06-26 16:09:41 +01:00
Andrea
1095186c0c
Fix printf warning. (PR #1118) 2022-06-24 22:00:31 +01:00
tomcw
ccea9d55f8 Disk2: Stepper Control - update comment 2022-06-21 21:19:24 +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
Andrea
b3e617f1e5
Uthernet II: the real hardware only decodes A0 and A1, so we introduce a 0x03 mask. (PR #1115)
Fixes #1113
2022-06-17 21:27:52 +01:00
Andrea
3d260e8b78
Avoid sign extension issues in 64 bit. (PR #1112)
If "GetVideo().GetFrameBufferCentringValue() - kOverscanOffsetL" is negative, it causes an overflow.
2022-06-07 21:00:33 +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
Kelvin Lee
cd0fdf15ff
Replace/remove StringCat() and friends (PR #1098)
- Simply use std::string
2022-06-05 19:47:40 +01:00
Andrea
240b1fd6c7
Minor: fix static declaration. (PR #1111) 2022-06-05 19:46:35 +01:00
tomcw
bb56b99af5 HDD: change writes so they are done in units of PAGE_SIZE(256B) to match reads
. making it easier to reason about DMA breakpoints (as they are now consistent for reads & writes)
2022-06-05 19:41:06 +01:00
tomcw
80c1150183 SSI263: for amplitude (reg3), now scale the samples and not SetVolume().
Reason: calling SetVolume() in Play() is too early, and the previous phoneme won't have completed.
Getting the timing right will be difficult, so better to just manipulate the samples as they get written to the playback buffer.
2022-06-05 12:10:50 +01:00
tomcw
1e65528763 SC01: use max amplitude 2022-06-03 22:16:20 +01:00
tomcw
9e9996bee7 SSI263: support reg3's amplitude 2022-06-03 22:09:32 +01:00
TomCh
22065c6325
Debugger memory breakpoint support for HDD DMA r/w (#1103, PR #1109)
When the debugger is active (eg. breakpoints enabled) then trap on HDD r/w's that match the BPM[R|W].
NB. the breakpoint will fire after the whole HDD r/w operation has completed.
2022-06-03 15:34:37 +01:00
tomcw
a1f6ebe1c9 VidHD: fix debugger mouse-click hit-test issues. (#1106) 2022-06-02 21:27:06 +01:00
tomcw
a41be14015 VidHD: fix minor junk on RHS (#1106) 2022-06-02 20:47:13 +01:00
tomcw
16f66da594 SSI263: support phoneme zero amplitude
Refine Phasor native mode's logic for SSI263 access
2022-06-02 20:32:16 +01:00
tomcw
cd0c3b00f8 Save-state: when loading state, correctly use C3 ROM when INTCXROM=0 && SLOTC3ROM=0. (Fixes #1108) 2022-06-02 17:51:57 +01:00
tomcw
0f750ee167 VidHD fix minor glitches on top, left & right edges (#1106)
. when changing VideoType (or feature) then clear these 3 edges
2022-05-29 22:00:20 +01:00
tomcw
8f07479dad SSI263 phoneme playback bug: (fixes #1104)
Fix for rare race-condition, where a phoneme could complete immediately before SSI263's interrupt is enabled:
- resulting in A2 code failing to detect SSI263 or speech phrase never completing.
Only ever possible when debugger-stepping or in full-speed mode.
2022-05-29 10:32:11 +01:00
tomcw
5236bb95b6 Phasor: use correct primary AY8913 for Phasor & MB modes (now checked in mb-audit v1.2) 2022-05-21 11:15:01 +01:00
tomcw
961625721b U2: Improve comment (#1100) 2022-05-20 08:04:49 +01:00
Andrea
60cbbb40db
Uthernet II: 2 fixes and minor changes (PR #1100)
* Enable virtual DNS by default.
* Improve handling of header size:
This fixes an issue in UDP, where it would not take the header size into account when deciding how much to read.
* IPRAW socket. Fix an issue where the header would include "our" IP Address.
The doc is not very clear 5.2.3: they say "destination". But for consistency with UDP (5.2.2) where it seems clear that this is the peer's ip, we replace with the "destination" of the socket, or the "source" of the packet.
* minor tweak: signal with SOCK_SYNSENT that a connection is being established.
* remove Socket::myErrno as it serves no purpose.
It is a duplicate of (sn_sr == W5100_SN_SR_SOCK_SYNSENT).
* add some logging when reading/writing on a closed socket.
2022-05-19 19:30:34 +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
ccb4582bf9 Debugger: fixed warning (and a typo) 2022-05-01 15:15:09 +01:00
Kelvin Lee
4063611e71
Debugger: replace sprintf() part 7 final - Debug (PR #1093)
- Add ProfileLine_t to take care of the profile line buffer
- Simplify _SearchMemoryDisplay() without using StringCat()
- Simplify CmdOutputPrint() significantly
2022-05-01 15:01:33 +01:00
Kelvin Lee
47ba87a015
Debugger: replace sprintf() part 6 - Debugger_Disassembler (PR #1092)
- Improve FormatCharCopy() to not buffer overflow
- Improve FormatOpcodeBytes() to not buffer overflow
- Improve FormatNopcodeBytes() to not buffer overflow
- Change FormatDisassemblyLine() to return std::string
2022-05-01 14:24:35 +01:00
Kelvin Lee
b9308b36ea
Debugger: replace sprintf() part 5 - Debugger_DisassemblerData (PR #1091)
- Change _GetAutoSymbolName() to return std::string
2022-05-01 14:08:45 +01:00
Kelvin Lee
0ab10905e4
Fix a couple of warnings from PR#1090 (PR #1094)
* Fix a couple of warnings from PR#1090
* Fix as suggested and further improvement
2022-04-30 10:53:14 +01:00
tomcw
a5c41dd8ca Uthernet: check pcap_dispatch() for -ve (error) result too (#1095) 2022-04-29 21:03:25 +01:00
tomcw
93ea5b3e60 WOZ: Improve reading write-protect (#1078) and remove 'm_resetSequencer' var 2022-04-23 18:13:15 +01:00
Michael "Code Poet" Pohoreski
777d5f6807
Merge pull request #1090 from kiyolee/replace-sprintf-part-4
Debugger: replace sprintf() part 4 - Debugger_Display
2022-04-22 08:51:14 -07:00
Michael "Code Poet" Pohoreski
d4476ac4e7
Merge pull request #1089 from kiyolee/replace-sprintf-part-3
Debugger: replace sprintf() part 3 - Debugger_Symbols
2022-04-22 08:50:39 -07:00
Kelvin Lee
d0360937c1 Fix per review 2022-04-21 00:40:46 +10:00
Kelvin Lee
d490b794e9 Fix per review 2022-04-21 00:21:30 +10:00
tomcw
cb37dd300b WOZ: Fix for reading write-protect from data register (#1078) 2022-04-18 21:13:41 +01:00
Kelvin Lee
6a342c27ce Debugger: replace sprintf() part 4 - Debugger_Display
- Change ColorizeSpecialChar() to return std::string
2022-04-18 08:46:33 +10:00
Kelvin Lee
d83dae3b29 Debugger: replace sprintf() part 3 - Debugger_Symbols
- Change _CmdSymbolsInfoHeader() to return std::string
2022-04-18 08:46:15 +10:00
tomcw
08c730c647 Cmd line: add -wav-speaker <file> & -wav-mockingboard <file> 2022-04-17 16:23:51 +01:00
Kelvin Lee
494aaa04c0
Debugger: replace sprintf() part 2 (PR #1085) 2022-04-17 11:40:21 +01:00
Kelvin Lee
a5e8ee31a3
Debugger: Improve some for-loops definitions (PR #1084) 2022-04-17 11:32:03 +01:00
Kelvin Lee
f948a9491a
Debugger: Remove unnecessary alias pointer (PR #1083) 2022-04-06 20:37:24 +01:00
Kelvin Lee
6e003fd49f
Debugger: replace prefix 'str' with 's' (PR #1082) 2022-04-06 20:36:24 +01:00
tomcw
5b50d784d7 Fix for previous commit 05a17d9 - pass a c-string 2022-04-03 19:31:42 +01:00
tomcw
05a17d9a69 DiskII: fix build error when LOG_DISK_ENABLED = 1 2022-04-03 19:02:59 +01:00
tomcw
e97be1b836 Debugger: fix console output for 'disk info' cmd
. fix to ConsoleBufferPush() which was skipping a char when the line needed to output to a 2nd line
2022-04-03 18:49:36 +01:00
Kelvin Lee
1bcf371309
Debugger: Format changes only (PR #1076) 2022-04-03 18:15:22 +01:00
Kelvin Lee
01b9061482
Debugger: Rename 'pszCategory' to 'pCategory' (PR #1057) 2022-03-29 19:53:51 +01:00
Kelvin Lee
0f9e64b298
Debugger: Format changes only - consistent space after keywords (PR: #1072) 2022-03-27 20:48:26 +01:00
Kelvin Lee
0f7e240841
Debugger: Fix to use logical "&&" for boolean variables (PR #1073) 2022-03-27 20:44:50 +01:00
Kelvin Lee
eac88a340d
Fix spelling: "seperator" -> "separator" (PR #1071) 2022-03-25 20:11:33 +00:00
Andrea
500c2e50b6
Uthernet II: handle TCP connection failure. (PR #1070) 2022-03-22 19:39:49 +00:00
Andrea
cdd360bdfe
Uthernet II: implement IPRAW sockets. (PR #1069) 2022-03-22 19:30:42 +00:00
Kelvin Lee
2d4f60452f
Add ByteToHexStr() and WordToHexStr() (PR #1064)
- Simplify common StrFormat(), especially in Debugger (changes upcoming)
- Add helpers StrAppendByteAsHex() and StrAppendWordAsHex()
- Add helpers StrBufferAppendByteAsHex() and StrBufferAppendWordAsHex() for plain string buffer
2022-03-22 19:19:50 +00: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
tomcw
cbc0c2cf87 Save-state: wrap string in quotes when it contains comment char '#'. Fixes #1066 2022-03-17 20:14:52 +00:00
Andrea
a4341aa808
tfesupp: remove all manual string manipulations - just use std::string. (PR #1065) 2022-03-14 21:12:52 +00:00
tomcw
00668c2668 Debugger "help <cmd>" : fix formatting.
And specifically for "help brk" - split help across an extra line for better readability
2022-03-14 20:50:21 +00:00
tomcw
169f0b29e8 Slot 3: make the default (ie. vanilla install of AppleWin) have an empty slot 3.
. Previously it would default to Uthernet, but there are now other slot 3 card options.
2022-03-13 17:19:21 +00:00
Kelvin Lee
e38e48e3a6
Debugger: replace sprintf() part 1 (PR #1060)
- Add MemoryTextFile_t::PushLineFormat()
- Replace some sprintf() with PushLineFormat()
2022-03-13 16:37:25 +00:00
tomcw
35ec3fcc7f Fix crash when in Config GUI -> Disk:
. eg. add DiskII in slot-5, cancel, then access $C0Dx
Change IsCardInSlot() to use CardMgr().QuerySlot()
2022-03-13 16:12:01 +00:00
Andrea
231e6c6d64
Cards: remove special call to InitializeIO() for Disk and Harddisk. (PR #1061) 2022-03-13 15:45:43 +00:00
Kelvin Lee
be846efc83
Use clear() instread of erase(begin(), end()). (PR #1053) 2022-03-12 11:19:34 +00:00
tomcw
51149083e6 Add log msg for power-cycle, and improve debug-check for U1 $Csnn I/O access. 2022-03-12 10:16:38 +00:00
Andrea
12d1a0e1fe
Card: cleanup interface. (PR #1059)
1) Remove Init()
2) Call Reset() via CardManager
3) Call Destroy() via CardManager (only used by Disks/Harddisk) on WM_DESTROY

The only "real" changes are in CSuperSerialCard: ensure destructor cleans up and remove Destroy().
2022-03-11 22:17:03 +00:00
Andrea
bbe2a7f8ee
Uthernet II card: support save/load state. (PR #1054)
NB. do not attempt to restore a UDP / TCP socket.
2022-03-07 21:08:31 +00:00
tomcw
648f832647 Debugger: minor stop-reason refactor 2022-03-02 21:25:04 +00:00
Kelvin Lee
dfb8802763
Replace sprintf() with StrFormat() (PR #1048) 2022-03-02 21:10:41 +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
d2004553f1 Remove old tfe.cpp 2022-02-27 18:06:15 +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
514d2adb79 6522: Fix IFR.T2 when counter.b15=1 2022-02-26 21:10:42 +00:00
tomcw
c277c5152d Fix a few medium Coverity defects:
1514566, 1063811
2022-02-26 20:23:00 +00:00
tomcw
707993b686 Fix LogOutput() to call StrFormatV() 2022-02-26 18:39:39 +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
Andrea
9ad6b11cf9
Fix some format errors. (PR #1042) 2022-02-26 17:15:09 +00:00
Kelvin Lee
5a5d0e2df4
Debugger: Simplify console print (PR #1038)
. Simplify console display functions using StrFormat()
. Update TestDebugger that needs StrFormat() now
2022-02-17 22:12:04 +00:00
tomcw
43b9df253a Fix build errors from PR #1039 2022-02-16 20:14:40 +00:00
Kelvin Lee
7ae8907674
Remove unnecessary static std::string variables (PR #1039) 2022-02-16 20:09:10 +00:00
sh95014
8cb3d4c88c
Make DiskGetFullPathName() public. (PR #1035)
Reasons:
. a macOS port needs it for the disk image browser feature.
. for consistency with "class HarddiskInterfaceCard".
2022-02-15 19:02:03 +00:00
Kelvin Lee
1a4e933778
Replace StringCbPrintf() with StrFormat() (PR #1032) 2022-02-15 18:48:20 +00:00
Andrea
48dd638d33
Synchronize Linux build. (PR #1037)
. remove OutputDebugStringA()
. push changes to StdAfx.h
. mention g_strSaveStatePathname in the error message for loading save-state
2022-02-14 20:37:18 +00:00
Kelvin Lee
9a3832084a
Simplify the common combination of sprintf() and OutputDebugString() (PR #1031)
- Update LogOutput() and LogFileOutput().
- Add StrFormat() to produce std::string out of snprintf() & add StrFormat.cpp to projects.
- Add PTRDIFF_T_FMT in parallel to SIZE_T_FMT to StdAfx.h, for completeness.
- In Log.cpp, changed to get timestamp using posix functions.
- Removed TCHAR usage throughout - simply use char.
2022-02-13 21:37:05 +00:00
tomcw
83e56924f7 WM_CREATE: remove CpuCreateCriticalSection(), since done in SY6522.Reset() 2022-02-13 12:37:33 +00:00
tomcw
b519031de4 WM_CREATE: call CpuCreateCriticalSection() instead of CpuInitialize() 2022-02-12 19:11:34 +00:00
tomcw
3fe06faf65 MB/6522: remove the legacy g_nMBTimerDevice variable.
Fix ASSERT from previous commit as SY6522.Reset() needs CriticalSection.
2022-02-12 18:42:58 +00:00
Andrea
8bbb85b1e8
SY6522: initialise device. (PR #1036) 2022-02-12 17:29:49 +00:00
sh95014
9459ec261a
Writes to Printer Interface card strobe should not be interpreted as a data byte (#1017 PR #1027) 2022-02-11 20:57:09 +00:00
Kelvin Lee
ad73f3ec37
A couple of smallish fixes (PR #1029)
. Fix VS2008 build: int8_t is not defined
. Fix VC compile warning C4800: forcing int to bool
2022-02-05 22:02:26 +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
53ab72ce13 Card.cpp: add newline at EOF 2022-01-30 21:37:40 +00:00
Andrea
7ab65492c6
Load save-state for Cards: improve error messages. (#1025)
. better error message for (unlikely) slot mismatch.
. better error message if load state version is invalid.
2022-01-30 21:25:40 +00:00
tomcw
24378313c3 WOZ-related changes:
. Significant bit-cells after a gap between latch access upped from 50 to 100 (#1020)
. Minor track sync mod: Update bitStream position for current track before re-calc'ing position for new track (#1022)
. Minor: for DiskII I/O regs $A/B (Select Drive 1/2) update the isWOZ variable to reflect new image-type
2022-01-29 21:27:03 +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
Andrea
5fbd8339c1
Screenshot: reset file pointer to the end. (PR #1016) 2022-01-07 21:06:24 +00:00
michaelangel007
aa4af5e9d5 Debugger: Fix DF E937 not checking for 0.0 correctly 2022-01-06 10:26:30 -08:00
michaelangel007
65e4859b01 Debugger: Cleanup DB DB2 DB4 DB8 DW DW2 DW4 DF DS 2022-01-06 10:18:38 -08:00
michaelangel007
ae214a1b19 Debugger: Cleanup: Add note about magic number 200 2022-01-06 10:12:37 -08:00
michaelangel007
8667c0eb32 Debugger: Cleanup: Add note about DISASM ID 2022-01-06 10:10:59 -08:00
michaelangel007
182e48e82d Debugger: Add: First pass of DF 2022-01-06 10:10:09 -08:00
michaelangel007
32ee96fb8b Debugger: Cleanup FormatNopcodeBytes() 2022-01-06 08:24:55 -08:00
michaelangel007
7c4855e631 Debugger: Cleanup DISASM_DISPLAY_ enums 2022-01-05 15:42:34 -08:00
michaelangel007
ca1bea3b97 Debugger: Add comment about DISK command 2022-01-05 15:41:47 -08:00
michaelangel007
545c79f132 Debugger: Cleanup: Nopcode_e 2022-01-05 08:55:17 -08:00
michaelangel007
7853c1cfcc Debugger: Cleanup 2022-01-05 08:54:54 -08:00
michaelangel007
8d864c2ab6 Cleanup: getVideoScannerAddressTXT() and getVideoScannerAddressHGR() to make it easier to debug 2022-01-04 23:37:38 -08:00
michaelangel007
98a4481c7d Debugger: 2.9.1.13 Added: CD now detects .. to change to the previous directory and chops the trailing sub-directory from the current path. 2022-01-04 23:37:06 -08:00
michaelangel007
e91c5c0494 Merged 2022-01-04 21:41:08 -08:00
michaelangel007
2a5e156f5e Debugger: 2.9.1.12 Added: New commands HGR0, HGR3, HGR4, HGR5 to see pages /usr/bin/bash0, 0, 0, respectively. 2022-01-04 21:40:23 -08:00
tomcw
e14339e282 Registry: fix support for legacy 'Harddisk Enable' key (#1015) 2022-01-04 20:19:21 +00:00
michaelangel007
1613671c11 Debugger: Add note for 2.9.1.11 2022-01-04 11:29:18 -08:00
michaelangel007
5e70f7949c Debugger: 2.9.1.11 Fixed: Right justify signed decimal values. 2022-01-04 11:21:42 -08:00
michaelangel007
f3c0e151ab Debugger: 2.9.1.10 Fixed: Immedate #80 was not showing -128 for the signed decimal value. 2022-01-04 11:20:54 -08:00
michaelangel007
6b11e24a28 Debugger: 2.9.1.9 Fixed: Immediate #0 was showing '#' prefix but not showing zero for the signed decimal value. Changed to show the signed decimal value only if non zero. 2022-01-04 11:20:08 -08:00
michaelangel007
61d6ef58ee Debugger: Cleanup old cruft 2022-01-04 11:17:14 -08:00
michaelangel007
18b4581099 Debugger: 2.9.1.8 Changed: Disassembly window now lists symbol labels and symbol target address from User2 in orange. 2022-01-04 09:28:33 -08:00
michaelangel007
17686df3df Debugger: 2.9.1.7 Added: Extended SYM command to auto-generate symbol names when reverse engineering. NOTE: These symbols will be placed in User2. 2022-01-04 09:27:10 -08:00
michaelangel007
1f5ca5d7e7 Bugfix: Is user requested which symbol table but symbol not found, mark as not in any 2022-01-04 09:24:52 -08:00
michaelangel007
ba9388d1d8 Debugger: 2.9.1.6 Added: Branch instructions now show target address 2022-01-03 22:48:12 -08:00
michaelangel007
b3dc408195 Debugger: Cleanup 2022-01-03 22:47:25 -08:00
michaelangel007
65ab105d76 Debugger: 2.9.1.5 Added: Disassembly window now shows signed decimal values for immediate values. 2022-01-03 22:18:12 -08:00
michaelangel007
aaae1dd6a1 Debugger: 2.9.1.4 Changed: Show symbol warnings in Orange, and length of symbols in light blue 2022-01-03 22:15:41 -08:00
michaelangel007
48e0fe3a8e Debugger: 2.9.1.3 Added: DB command now optionally supports = 2022-01-03 21:11:25 -08:00
michaelangel007
3985ee9abc Debugger: 2.9.1.2: Fixed: Off by one end address when deleting DisasmData_t 2022-01-03 21:09:11 -08:00
michaelangel007
19b7d43327 Debugger: 2.9.1.1: Added: X command now supports a range and will chop off the appropiate data sections. 2022-01-03 21:07:49 -08:00
michaelangel007
561a145ab0 Debugger: Add _GetAutoSymbolName() helper 2022-01-03 21:05:37 -08:00
Andrea
d63e406573
Correct BMP creation on Linux (PR #1014)
Enable BMP Header packing on all compilers.
Add virtual function to FrameBase to select where to save screenshots.
2022-01-03 14:41:03 +00:00
tomcw
a243efc74b Fix for cmd line -dcd not being honoured (regression) 2021-12-24 20:58:04 +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
tomcw
d342f3a17d Fix for VS2008 2021-12-19 19:26:07 +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
tomcw
ff65a9f6bf Save-state: remove ASSERT when saving LC for //e or Enhanced //e 2021-12-18 21:31:17 +00:00
Andrea
47f721882e
throw std::runtime_error instead of std::string (PR #1011)
+ add more information about location of yaml parser error.
2021-12-18 16:37:28 +00:00
tomcw
651b57fdae HDD: fix for slowdown during r/w block operations
. firmware does busy-wait RMW (rol abs,x)
. the IORead then IOWrite was flipping the LED status each access, with a huge performance penalty!
2021-12-12 11:53:37 +00:00
tomcw
19aadbfb8d Add a top-level catch-handler for std::string 2021-12-11 20:27:39 +00:00
tomcw
408f5fe42f Fix for loading save-state - eg. where 'AS-S2_End Credits' & 'OMT-PAL' lost their precise frame cycle 2021-12-11 19:30:54 +00:00
Andrea
a07ba4ade0
Set SHR alpha channel to 255 for consistency with other video modes. (PR #1010) 2021-12-11 18:05:06 +00:00
tomcw
1670e0dbc0 Fix for AppleWin-Test:
. don't load floppy/harddisk images (in Registry's Config) if also loading a save-state via cmd-line.
. done to prevent MessageBox alerts when deleted disk images can't be found.
Info: Registry contains refs to disk images, but on test clean-up, the images get deleted.
2021-12-11 18:01:46 +00:00
Andrea
177c9fec05
Make Slot 0 more consistent with other slots. (PR #1006) 2021-12-11 15:26:09 +00:00
tomcw
010d3525d3 HDD read: error if reading block to ROM (#1007) 2021-12-11 15:11:13 +00:00
tomcw
0ac210b132 Debugger: Extend 'brk' cmd:
. brk all <on|off>
Fix 'brk' cmd for invalid opcodes of length 2 & 3
2021-12-11 13:41:34 +00:00
tomcw
1ab0d56558 HDD: remove magic numbers & add GH ref (#1007) 2021-12-10 19:37:58 +00:00
tomcw
bb6fa80335 HDD r/w: error if r/w overlaps with I/O memory
. break to debugger if single-stepping
HDD write: support memory accesses across 64KiB boundary
2021-12-09 21:22:13 +00:00
tomcw
c594d6e101 VidHD: Fix SHIFT+PRINTSCRN for 320x200 2021-12-07 21:59:05 +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
Andrea
0b2104cc89
Card::Save/LoadSnapshot (PR #1003)
Add 2 virtual methods to Card to load and save snapshots.
2021-11-25 20:23:21 +00:00
tomcw
abc631432d HDD: fix edge-case for old save-state m_buf_ptr 2021-11-15 20:26:53 +00:00
TomCh
01f89f88eb
Joystick: Remove buttonlatch & BUTTONTIME (#1002) 2021-11-14 17:40:15 +00:00