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
Andrea
2e04ce348a
Add Card::Update() (PR #1000 )
...
And use it in ContinueExecution()
2021-11-13 18:13:01 +00:00
Andrea
8662a99179
Add InitializeIO() to Card and CardManager (PR #999 )
...
. Card::InitializeIO() is pure virtual
. CardManager::InitializeIO() initialises all cards
2021-11-11 21:45:55 +00:00
tomcw
6282790c3d
Add comments to both Harddisk.cpp & the firmware code about 'sta abs16,x' false-reads, etc.
...
Harddisk.cpp: Fix typos and update the notes on the r/w commands' operation.
2021-11-11 21:20:54 +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
d96ed5b8c5
Refactor: move m_slot into Card class
2021-11-01 21:01:28 +00:00
tomcw
67b3c28833
Refactor: remove slot from InitializeIO() calls for card objects
2021-11-01 20:39:26 +00:00
TomCh
ff7c9dc185
Make harddisk a class ( #995 )
...
. Add user-protection when unchecking HDD controller (as images aren't restored on a 'cancel')
. Fix possible crash when removing (via Config->Disk) either Disk2 card(s5) or HDD card(s7), then cancelling during emulation
. Fix m_buf[] size
2021-11-01 20:12:42 +00:00
Andrea
830030ee05
Simplify logic around CConfigNeedingRestart (PR #955 )
2021-10-31 12:14:47 +00:00
tomcw
ac2233149b
Debugger: Change 'brkint' params to on/off for consistency
2021-10-28 21:00:18 +01:00
tomcw
ca611eaa64
Mousecard: fix persisting card in slot-4 after a VM restart. ( Fixes #993 )
2021-10-19 21:56:19 +01:00
tomcw
fa18382757
Core emulation: simplify NMI & IRQ handling
2021-10-18 21:45:45 +01:00
tomcw
18f5fafb30
DiskII: Remove superfluous IsDiskImageWriteProtected()
2021-10-18 21:13:37 +01:00
Andrea
f2843d4d71
Collections of changes to facilitate compilation on Linux and macOS. (PR #992 )
2021-10-18 20:23:46 +01:00
TomCh
9553106f4e
Debugger: Add IRQ support to LBR and new command to Break on Interrupt ( #987 , PR #990 )
...
Extend LBR so that it includes the control-flow on a taken interrupt
Add a new command 'brkint <0|1>' to support Break on Interrupt
Internal: in core emulation loop, moved IRQ/NMI check to start of loop so that just the "interrupt vectoring" case can be single-stepped (instead of previously opcode + interrupt vector).
Debugger help chm: update Breakpoints section to include BRK, BRKOP and BRKINT
2021-10-16 16:57:00 +01:00
tomcw
4f8b30506d
Debugger: Fix LBR so it's updated only if branch is taken ( #987 )
2021-10-16 11:58:09 +01:00
tomcw
8575238d69
Debugger: Add a simple LBR command
2021-10-15 21:58:17 +01:00
tomcw
eee2400984
Uthernet: removed unused Bittypes.h & Pcap-stdinc.h
2021-10-15 21:02:57 +01:00
tomcw
028c041175
Debugger: fix for 6502 JMP (ABS) - compute correct NMOS target address
2021-10-15 20:36:04 +01:00
tomcw
aa7d0cf240
Fix one shot paddle timers ( fixes #985 )
2021-10-04 22:08:37 +01:00
tomcw
51e42d1d4e
SNES MAX: load state: defaulting to no buttons pressed
2021-10-02 15:28:54 +01:00
tomcw
4cb8a6414d
Uthernet: fix -load-state so that tfe_init() is called
2021-10-02 12:56:55 +01:00
tomcw
b6c71201cf
Uthernet: remove tfe/tfe_packetpage allocations
2021-09-22 20:46:28 +01:00
TomCh
4aa6e05528
Support Uthernet save-state ( #984 )
...
Uthernet card: support save/load state
2021-09-21 21:32:14 +01:00
tomcw
10a83eed61
SAM card: refactor as a class, and support save/load state
2021-09-18 11:55:29 +01:00
TomCh
ed298b4fd9
Improve save-state card management (PR #983 )
...
Initially all cards are removed before loading save-state.
Use new Registry "Configuration/Slot 2" location to save SSC's port name.
Use new Registry "Configuration/Slot 7" location to save HDV's image names.
Use new Registry "Configuration/Slot n" (and "Configuration/Slot Auxiliary") locations to save all other card types.
Command line: -s<slot> (eg. -s7 empty) now get persisted to the Registry.
Only update 'HDV Starting Directory' for slot7 & drive1.
2021-09-17 20:43:10 +01:00
tomcw
1b8d26051e
Fix for command line with multiple spaces between args. ( #981 )
2021-09-10 14:51:57 +01:00
tomcw
35b83765db
Fix for command line -d2 (and -h2): if image can't be opened, this is now reported as an error. ( #980 )
2021-09-10 14:38:40 +01:00
tomcw
70f097d3ff
Fix 'authentic disk speed' setting. ( fixes #980 )
2021-09-10 14:27:22 +01:00
tomcw
ad8a7e2810
SNESMAX: minor rename for member vars
2021-09-10 14:19:13 +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
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
3fece5e621
Minor interface change to PropertySheetHelper
2021-07-29 13:31:33 +01:00
tomcw
c20c9c2c9c
Fix Coverity CID 1506067 in Debug.cpp
2021-07-28 14:09:22 +01:00
tomcw
405de2be14
Fix Coverity - High Impact defects:
...
. uninitialised vars in Debug & Win32Frame
2021-07-28 12:47:05 +01:00
tomcw
f4650fb850
MB: Make AY voice & mix buffers the same size to prevent buffer overrun
...
(Voice buffer reduced from 1s to 0.37s)
2021-07-28 12:22:58 +01:00
tomcw
6a5017bf91
SSI263: fix potential buffer overrun & rename var so it's explicit that it is a byte-size
2021-07-28 12:14:22 +01:00
Andrea
4375418506
Move some "char *"to "const char *", and avoid unnecessary c_str(). (PR #973 )
2021-07-25 11:55:25 +01:00
tomcw
71bea52419
Disk/Harddisk: Insert() - fix comment and rename var
2021-07-15 19:23:01 +01:00
Andrea
4f45202baf
Save full pathname to registry. ( #960 PR #959 )
...
This was already happening for Hard Disks (although in a convoluted way).
Extend to Floppy Disks.
2021-07-13 21:24:29 +01:00
tomcw
3d0cdd55d1
Make a few utility funcs static
2021-07-11 12:06:29 +01:00
tomcw
7086ea5208
Full-screen / resolution change: fix display flicker. ( Fixes #965 )
2021-06-19 15:06:04 +01:00
TomCh
1962a3c337
Switch to a static hook filter ( #962 , PR #964 )
...
Remove the HookFilter.dll which had a dependency on VCRUNTIME140.dll
2021-06-09 21:48:24 +01:00
tomcw
793f2eb507
Cmd line: -fs-height: small refactor so that bestWidth/Height are only returned for logging purposes
2021-05-31 16:40:44 +01:00
tomcw
f076986c04
Cmd line: Changed -fs-height=<best|nnnn> so it doesn't change the resolution when not full-screen ( #876 )
...
. NB. whenever switching back to non-full-screen, then it will restore the default desktop resolution.
. Allow -no-full-screen to be placed before -fs-height=<best|nnnn> (previously it only worked when placed afterwards)
2021-05-31 16:09:39 +01:00
tomcw
0ca972954e
MB: fix for SSI263/SC01 in debugger's 'gg' mode ( fixes #958 )
2021-05-29 21:53:18 +01:00
tomcw
7f0c028250
Typo: fix IS_APPLE2() macro
2021-05-23 21:28:26 +01:00
Andrea
d631b23d24
Uthernet: fix usability and settings (PR #947 )
...
* Make Uthernet settings behave like all other cards.
Fix as well the fact that the Uthernet interface would not be reapplied after a restart.
* Uthernet: use consistent types to reduce code complexity.
Use std::string everywhere.
2021-05-19 21:44:33 +01:00
tomcw
05b9668f72
Use enum SLOTS and remove pre-processor SLOTn defines
2021-05-19 21:26:23 +01:00
Andrea
de7f35e6bd
Make path separator OS-dependent (PR #954 )
2021-05-19 21:10:22 +01:00
Henri Asseily
1b9a769332
Fix to DirectSound not working in modern environments. Need to use FAILED() instead of boolean check. (PR #951 )
2021-05-16 20:03:59 +01:00
tomcw
110a706535
SC-01: fix DDRB support for #952
2021-05-16 19:49:34 +01:00
tomcw
21146cb65e
AY8913: Fix regression at 2d086e87
...
- Phasor does support reading regs in MB mode & Phasor native mode (but not Echo+ mode).
2021-05-16 19:27:04 +01:00
tomcw
ce309324bb
Debugger: when displaying 6522 regs, if T1/T2 are active, then display in white
2021-05-09 13:38:16 +01:00
tomcw
5bc1261281
Logging: add more logging to Speaker code
...
Debug: add a debug-enabled MB S/S card
2021-05-03 19:58:13 +01:00
tomcw
60ddf0fa35
6522: Support cycle accurate reads from IFR for T1/T2 bits
2021-04-30 22:23:20 +01:00
Andrea
f959f4f1d6
Uthernet: enable support on Linux. (PR #943 )
...
* Make tfe easier to compile in Linux.
* libpcap in Linux: we can just use the libpcap provided and link to it directly.
2021-04-23 20:59:02 +01:00
Andrea
9bec2ce405
Avoid a crash if the LogFile cannot be opened. (PR #944 )
2021-04-23 20:49:31 +01:00
Andrea
41778aa472
Debugger: move Win32 functions to separate file. (PR #941 )
...
* Debug.cpp: move Win32 functions to separate file.
* Move _tcscat -> strcat to maximise portability.
* Remove unneeded Win32 check.
2021-04-23 20:39:24 +01:00
Andrea
c6c427aa3d
Debugger: Fix bound on maximum bytes to move backward. (PR #937 )
...
The higher g_nDisasmCurLine the more we will have to travel back to find the instruction at the top of the window.
2021-04-23 20:34:46 +01:00
tomcw
6fefce553a
MB: Support old save-states where 6522 T1 latch is 0x0000
2021-04-18 18:33:16 +01:00
tomcw
26414b74df
Fix for a2audit failing Apple II/II+ LC test
...
. For II/II+ with NSC at F8xx, then (for NSC) also exclude the r:ROM/w:RAM (C089) case
2021-04-18 11:23:06 +01:00
tomcw
e7a3f97bb6
SSI263: For SC01, don't change reg0.DUR value
2021-04-17 18:30:11 +01:00
tomcw
1314fcc0ed
Swap joystick buttons ( #936 )
...
. cmd-line (-swap-buttons) or GUI "Swap 0/1" now swaps buttons 0/1 for all devices
. ie. Open/Solid Apple keys, real joystick, mouse or Num Pad keys
+ update the docs
2021-04-10 19:09:36 +01:00
tomcw
363193ba33
MB: get rid of CriticalSection, as MB support is now single-threaded
2021-04-10 16:26:51 +01:00
TomCh
b5726aae7d
Add some random woz jitter ( #942 )
...
Improve WOZ support for WL and LOA (#930 )
- After T$00,S$00 (for certain 4&4 encodings) randomly skip 1 bit-cell
- Remove the previous fix for WL/LOA which was affecting other titles
2021-04-10 15:31:54 +01:00
Andrea
a37d0b078f
Add constructor for SY6522_AY8910 for correct initialisation (PR #940 )
...
Avoid leaks when the destructor of SY6522_AY8910 is not called.
2021-04-05 17:44:59 +01:00
tomcw
7a41ede6d9
SSI263: improve logging
2021-04-05 14:56:55 +01:00
tomcw
27fe4e5ed0
SSI263: when loading state, assert Phasor's speech IRQ if required
2021-04-01 20:52:00 +01:00
tomcw
33492ac9a2
On reset: clear Phasor speech IRQ
2021-03-31 22:09:04 +01:00
tomcw
91f2c43992
Disable SC01 logging
2021-03-28 22:18:00 +01:00
tomcw
2258d01184
MB: SC01 is only mapped to the 6522 at Cn00
2021-03-28 22:16:34 +01:00
tomcw
fea5da7872
Logging: add support for SC01
2021-03-28 12:16:57 +01:00
TomCh
96bbc0c435
Improve SSI263 (PR #939 )
...
New class for SSI263 (2 instances per MB/Phasor card)
- support 2nd SSI263 at $Cn20 connected to 6522-A (at $Cn00)
Switch from one-shot phoneme playback to ring-buffer
Use a new dedicated ring-buffer (distinct from the AY8910 ring buffer)
Gets rid of: SSI263Thread, the 2 events, and the 64 voices
Support the 2-bit Duration b7:6 of phoneme register for both SC01 & SSI263 (to fix #929 )
Updated save-state
Updated IRQ logging (output cycle & 6522 source)
2021-03-23 22:01:41 +00:00
tomcw
fb6433fb7a
Debugger_Disassembler.cpp: add GPL boilerplate text
2021-03-17 20:42:40 +00:00
Andrea
c7f515015b
Debugger: Separate disassembler functions from display (PR #933 )
...
Makes it easier to use them in different environments.
2021-03-17 20:32:19 +00:00
tomcw
3f75012c0e
Windows speech: trap calls to COUT1 and BASICOUT (instead of COUT) ( #934 )
2021-03-09 21:06:37 +00:00
tomcw
0858cc3a23
Debugger: improve mem views for 6522 & AY8913 chips
2021-03-07 13:11:22 +00:00
tomcw
3766c1e014
Debugger: fix to wrap 16-bit addr for mem watch (was getting AppleWin debugger crash)
2021-03-02 18:14:36 +00:00
tomcw
2d086e87ec
Support 2nd SSI263 at $Cn20
...
Phasor doesn't support reading AY8913 regs
2021-02-21 19:12:36 +00:00
tomcw
2cd2f013e6
Disk: improve DebugTrackWOZ() func
2021-02-20 12:32:29 +00:00
tomcw
0bb34bfb48
Disk: remove debug DumpSectorWOZ() func
2021-02-19 16:21:44 +00:00
tomcw
a709e9dbdf
MB/SSI263: improve logging to include phoneme duration
2021-02-17 21:53:15 +00:00
tomcw
2f4bbd2b8a
Avoid ASSERT from MB_Reset() on exit
2021-02-15 21:47:21 +00:00
tomcw
4e88163430
MB/6522: better reset support - only ACR,IFR,IER affected
2021-02-13 16:56:29 +00:00
tomcw
84a705d20d
MB/6522: improve T1 underflow with latch
2021-02-12 19:16:14 +00:00
tomcw
ff29b055ce
MB/6522: fix timer1 underflow for very small values
2021-02-11 22:44:40 +00:00
Andrea
8c2b38d19d
Enable ConformanceMode in VS2019. (PR #923 )
...
This reduces the chances of incompatibility between gcc and vs.
99% is "const char *" literals.
1 case of a goto jumping over a variable declaration (but it is not needed).
2021-02-10 21:05:00 +00:00
Andrea
466207f5d3
Save-state: load/save dialog: Remove ; to concatenate string and avoid unused code. (PR #924 )
2021-02-10 20:55:58 +00:00
tomcw
776a48fc01
MB/6522: support for T1 latch in one-shot mode
2021-02-10 20:51:11 +00:00
tomcw
f3b6b8665f
Debugger: fixes to wrap 16-bit addr (was resulting in AppleWin debugger crashes)
2021-02-07 16:58:11 +00:00
tomcw
c492004e8d
6522 read: support non 4-cycle read opcodes ( #833 )
...
. ie. addr modes: (zp,x), (zp),y and (zp)
2021-02-06 18:02:35 +00:00
tomcw
f302e88f55
Add 6522 support for stz abs16 and stz abs16,x
2021-02-05 22:30:05 +00:00
tomcw
fcafa18340
Debugger: add red 'IRQ' after the v/h-pos when IRQ is being asserted to the 6502
2021-01-31 19:38:06 +00:00
tomcw
fad4dd2ad1
Disable debug-logging for previous AY8913 fix
2021-01-30 12:50:33 +00:00
tomcw
024e97ac9b
MB-AY8913 fix so that no AY changes get dumped ( #770 )
...
. Needed for read of AY8913 regs too, during built-in debugger stepping (mb-audit)
2021-01-30 10:34:46 +00:00
tomcw
a3666edf48
MB: read fix
2021-01-28 20:15:23 +00:00
Andrea
baad40f3b8
SpkrSetEmulationType(): simplify logic and remove unreachable code. (PR #919 )
2021-01-20 21:30:34 +00:00
Andrea
cdf1cb9106
Remove usages of g_hFrameWindow and g_hInstance from core emulator files. And Resource related Win32 functions. (PR #915 )
...
. Win32Frame: remove WM_USER_RESTART.
2021-01-19 20:37:43 +00:00
tomcw
81279904e2
Pravets: fix bug in ctor
2021-01-18 20:30:51 +00:00
tomcw
44fa610ef6
Pravets.cpp: convert to UTF8 to allow VS2019 to build
2021-01-17 22:21:33 +00:00