Andrea
240b1fd6c7
Minor: fix static declaration. (PR #1111 )
2022-06-05 19:46:35 +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
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
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
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
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
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
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
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
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
Kelvin Lee
be846efc83
Use clear() instread of erase(begin(), end()). (PR #1053 )
2022-03-12 11:19:34 +00:00
tomcw
648f832647
Debugger: minor stop-reason refactor
2022-03-02 21:25:04 +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
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
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
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
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
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
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
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
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
tomcw
ac2233149b
Debugger: Change 'brkint' params to on/off for consistency
2021-10-28 21:00:18 +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
028c041175
Debugger: fix for 6502 JMP (ABS) - compute correct NMOS target address
2021-10-15 20:36:04 +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
Andrea
de7f35e6bd
Make path separator OS-dependent (PR #954 )
2021-05-19 21:10:22 +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
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
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
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
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
tomcw
f3b6b8665f
Debugger: fixes to wrap 16-bit addr (was resulting in AppleWin debugger crashes)
2021-02-07 16:58:11 +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
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
Andrea
61db149eab
Move last remaining globals from WinFrame.cpp to class Win32Frame. (PR #913 )
2021-01-16 21:57:28 +00:00
Andrea
6cffb30330
FrameBase: some changes to ease implementations (PR #910 )
...
. simplify the interface FrameBase to make it easier to implement it for different cases (remove HDC and make parameters more explicit)
. remove functions which are only called on a Win32Frame (in which case a cast is guaranteed to succeed)
. otherwise there is the risk that every FrameBase implementation wants to add its own variants.
. FrameBase::FrameRefreshStatus() simplify implementation: pass all flags explicitly
2021-01-10 16:33:06 +00:00
Andrea
159cde7d64
Video & FrameBase: better split (PR #908 )
...
* Video / FrameBase: move arch specific code to FrameBase.
* Video::Initialize & SetFrameBuffer.
Ensure initialization and SetBuffer can only happen in the right order.
* Video: move virtual functions to FrameBase.
With these changes all the virtual functions are in FrameBase and Video gets closer to be (only) the Apple ][ Video device.
* Move a few more functions from Video to FrameBase (snapshot related)
Now, the inclusion is one way with Video *not* including FrameBase.
* FrameBase::VideoRefreshScreen move Video related code to Video.
And only leave management to FrameBase.
2021-01-03 16:21:24 +00:00
Andrea
9d7aa7d309
Move VideoRedrawScreen() to Video. (PR #904 )
2021-01-01 12:42:24 +00:00
TomCh
3aa5750dcf
Make Video.cpp and WinVideo.cpp into a dependent class hierarchy (PR #898 )
...
. class hierarchy: WinVideo IS_A Video (ie. WinVideo is a subclass of Video)
. GetVideo() singleton instance of WinVideo in AppleWin.cpp, exposed via Interface.h
2020-12-28 16:25:29 +00:00
Andrea
b8296e6c9c
Frame.h: merge into Video.h. (PR #896 )
...
. The functions GetFrameBufferXXX() have been moved next to g_pFramebufferbits.
2020-12-27 19:01:35 +00:00
Andrea
e27879ac99
Move interface into a class FrameBase. (PR #893 )
...
. Move the Win32 implementation into Win32Frame.
2020-12-24 15:08:50 +00:00
tomcw
97643e304f
Fix build for missing include of Interface.h
2020-12-20 15:39:53 +00:00
Andrea
2d2ba86f4f
IPropertySheet: make it a standard C++ class with pure virtual functions (PR #892 )
...
* Interface.h: ensure that functions in the interface are not exported by other header files.
This is generally harmless, except for the presence of default arguments, in which case the version with default arguments must come first.
To avoid the issue, these functions are only ever exported in the Interface.h header file.
2020-12-20 15:32:51 +00:00
Andrea
d2a34e1f91
Remove VirtualAlloc, VirtualFree & ZeroMemory. (PR #884 )
...
. Allocation in Memory.cpp: keep VirtualAlloc of size=64KiB (alignment=64KiB) to ease debugging.
2020-12-10 21:08:15 +00:00
Andrea
bbe88da787
AppleWin.cpp split (PR #875 )
...
. Split AppleWin -> Core with the functionality really needed by the emulator.
. Split AppleWin -> Utilities for generic code not called by other emulator components.
. Split AppleWin -> CmdLine for the command line option parsing.
2020-11-26 21:50:06 +00:00
Andrea
c455488b50
Split Frame.cpp to WinFrame.cpp (PR #874 )
2020-11-23 19:21:20 +00:00
Andrea
2a7191f5ce
Split Video.cpp to WinVideo.cpp to remove most of the Win32 specific functions (PR #872 )
...
. Moved DirectInput.cpp/h and WinVideo.cpp/h to a new "Windows" folder.
2020-11-21 20:57:56 +00:00
tomcw
d6a2339ff0
Coverity SA: Fixed the 2 new Impact=High issues:
...
. CID 1499553: UNINIT
. CID 1499560: OVERRUN (out of bounds access in CmdBookmarkAdd)
Fixed bug in CmdBookmarkClear() too.
2020-11-17 21:31:57 +00:00