Commit Graph

231 Commits

Author SHA1 Message Date
tomcw
b5e78b59a0 Debugger: Fix for 'tf' (trace-file) cmd, so that exiting debugger with F7 doesn't close the trace file and continues in MODE_STEPPING 2017-05-24 22:40:22 +01:00
michaelangel007
158b5212e6 Debugger 2.9.0.8 2017-05-11 05:44:42 -07:00
michaelangel007
d243425c20 2.9.0.7 Memory softswitches are now in chronological order, and their background is a dark grey 2017-04-27 17:13:34 -07:00
michaelangel007
d3e620fcd4 Add command line to init Saturn memory size 2017-04-27 14:50:15 -07:00
michaelangel007
5cc4cbd26c Debugger 2.9.0.4 Language Card Status 2017-04-27 12:00:54 -07:00
michaelangel007
785fe505b6 Debugger 2.9.0.3 internal cleanup of drawing soft switches 2017-04-27 09:31:34 -07:00
tomcw
41286cd29f Debugger: Remove DebugDisplay()'s unused first parameter: bDrawBackground because it was unused and in some cases it was being passed a bitfield, not a BOOL 2017-04-22 20:52:21 +01:00
tomcw
124eca4546 Debugger: Allow MODE_DEBUG and MODE_STEPPING states to persist across an F2 ResetMachineState() call (#217) 2017-04-22 20:42:42 +01:00
tomcw
5e6a445bab Debugger: When MODE_STEPPING (eg. g or gg mode), prevent ESC from exiting back to the debugger. F7 or Pause keys can still be used. (#217) 2017-04-22 17:13:41 +01:00
Michaelangel007
a5274ca7d0 Fix comment typo 2017-04-17 21:44:30 -07:00
tomcw
3db755c2b4 Fixed #316 - For g cmd: don't set regular BP when also doing g_nDebugStepUntil 2017-03-21 21:25:24 +00:00
tomcw
1c3838ab8f Debugger: removed unused var 2017-03-12 21:56:42 +00:00
tomcw
30d8b7716a Debugger: Mute sound when entering debugger from MODE_STEPPING:
. ie: ESC, F7 and Pause key
Debugger: Fix for MODE_STEPPING when jump from $C3xx to $C8xx:
. Don't break on floating-bus, as Expansion ROM will be switched in on
this access.
IORead_Cxxx(): Fix the logic for IO_SELECT when not slot-3
2017-03-12 21:54:08 +00:00
tomcw
3a2313c52e Debugger:
. Improved break on FB or IO: account for slot empty (or not) & if expansion ROM enable
Memory:
. IORead_Cxxx(): Fix for Apple II support for when slot-3 is empty
. Apple II type was erroneously testing //e soft-switches
2017-03-10 22:00:01 +00:00
tomcw
3d6c10bad9 Debugger:
. Move the BRK and invalid opcodes checks out of main emulation's Fetch() and into DebugContinueStepping()
. Added a new break condition: when PC reads floating bus or I/O memory
. On a break condition, output a 'Stop Reason' message to the console
2017-03-07 21:35:38 +00:00
tomcw
743add80f0 Improve ContinueExecution() whilst MODE_STEPPING:
. GetKeyState(VK_SCROLL) is slow, so only call periodically
. Account for g_nCpuCyclesFeedback before calling SpkrUpdate()
2017-02-26 13:45:06 +00:00
tomcw
29b7fa15b8 Merge branch 'master' of https://github.com/AppleWin/AppleWin 2017-02-25 22:48:07 +00:00
tomcw
0b6c5bbb91 Support for #384:
. Debug 'G(o)' cmd now defaults to normal speed (and precise video updates)
. New debug 'GG' cmd enables full speed (and periodic video updates)
. Single-stepping (normal or full speed) now routed through ContinueExecution()
. Removed Cpu6502()/Cpu65C02() check for debug breakpoints
. Removed the (undocumented) SHIFT+F7 feature to exit debugger for 'normal speed breakpoints'
. Removed the g_bDebugNormalSpeedBreakpoints variable
2017-02-25 22:32:46 +00:00
tomcw
8c4f451557 Remove old, unused _Video_SetupBanks() 2017-02-17 16:00:22 +00:00
Kelvin Lee
0992cf16c4 Added variadic variants of ConsolePrint(), ConsoleBufferPush() to make code cleaner. Also added ConsoleColorizePrint() and variants. 2016-12-29 12:07:54 -05:00
tomcw
b8b90a6bd9 NTSC_VideoGetScannerAddress(): remove redundant 'long cycle6502' parameter
MemReadFloatingBus(): Make consistent by making one call the other
2016-11-17 19:52:49 +00:00
tomcw
074acce2ae Debugger: Extend tf cmd to optionally output video scanner info: tf <file.txt> [v] (#359) 2016-11-07 21:48:17 +00:00
tomcw
ab8ae7f3a0 Debugger: tf cmd - add video scanner addr & floating bus data (#359) 2016-11-07 21:12:18 +00:00
tomcw
981b711fef Refactor: int bVideoMode -> uint32_t uVideoMode 2016-11-06 21:59:45 +00:00
tomcw
1bb60026a5 Debugger - Fix #345: wrap and protect debugger's video mode 2016-11-06 14:23:23 +00:00
tomcw
7f3cc09217 Fix #363: Redraw screen whilst debug stepping 2016-10-17 22:10:33 +01:00
TomCh
bcd4c7c7fa Merge pull request #362 from AppleWin/Release-1.26.0.1
Merge all the changes & fixes from the Release-1.26.0.1 branch back into master.
2016-10-16 21:15:03 +01:00
michaelangel007
515e66ca7d Debugger: NTSC: Import 16x1 and 64x1 bmp for palette for #357 2016-10-14 12:12:19 -07:00
tomcw
5f0ccfc75c Added new function NTSC_VideoRedrawWholeScreen() to fix #352 2016-09-25 10:42:14 +01:00
michaelangel007
c96b935fff Fix Bug #349 [Debugger] NTSC LOAD or SAVE without filename crash 2016-09-20 10:03:13 -07:00
tomcw
41b2547acb Fix to get GR2 working, but #345 still not complete 2016-09-17 10:04:32 +01:00
tomcw
5fdc879a05 Merge from branch 'NTSC_PreMerge':
1.26.0.1
. NTSC video modes (TV Color, TV B&W, Monitor Color, Monitor B&W)
. Full Screen using native resolution (not 640x480)

NB. 6502 emulation is slower now, which means disk loading (ie. full-speed) is slower.
. EG. Aztec.dsk: from F2 boot to "Press any key". (Release build, 50% "TV Color", not run in VS, VAIO laptop)
  ~4 secs: AppleWin 1.25.0.3 (built with VS2005)
  ~7 secs: AppleWin 1.26.0.1 (built with VS2008 or VS015)
2016-09-04 21:14:26 +01:00
tomcw
04c9d09e38 When FullSpeed: don't do cycle-accurate graphics update
. means that disk accesses (eg. loading) is much quicker
Correct naming of video modes (in UI and code)
Pixel adjust for NTSC B&W and Color video modes to align with other video modes
2016-05-17 22:07:27 +01:00
tomcw
e98de27039 Manual merge from master @ c798157 2016-03-21 23:48:02 +00:00
tomcw
5c16c3642a Merged master to savestate branch 2015-09-13 11:39:58 +01:00
michaelangel007
8d4cb8de35 Fix uninit var in CmdMemoryLoad() 2015-07-30 09:25:53 -07:00
michaelangel007
550b230ad8 Cleanup warning unreachable code 2015-07-30 09:10:28 -07:00
michaelangel007
04702ee7c5 [PVS-Studio] Fix potential security issue sprintf() Bug #301 2015-07-30 08:26:18 -07:00
michaelangel007
b62758636b Cleanup unused variables 2015-07-30 08:12:55 -07:00
michaelangel007
2381734256 [PVS-Studio] Fix extra argument in fprintf() OutputTraceLine() and bad logic in DebuggerMouseClick() bug #301 2015-07-30 07:58:34 -07:00
michaelangel007
56c52beac9 [PVS-Studio] Fix false positive extra parameters to wsprintf() in CmdBreakOpcode() 2015-07-30 07:29:20 -07:00
michaelangel007
5a112ee9ed Fixed some issuses mentioned in #301 2015-07-30 07:08:18 -07:00
tomcw
04cd0b4018 Fix for sprintf buffer overflow - #268 2015-02-17 22:00:52 +00:00
tomcw
717c5cba84 New save-state (.aws) v2:
. Format now extensible for supporting new hardware types in the future
. Include missing items like Apple2Type, CyclesThisVideoFrame (#255)
Continue to support loading of old v1 format.

Added card save/load for:
. Mouse (#260)
. HDD (#260)
. Printer

Extended card support for:
. SSC

Other:
. Added save-state v1 struct size checks
. Create SaveState_Structs_v2.h and split out common into SaveState_Structs_common.h
. Refactor HardDisk.cpp to use imagehandle; and consolidate with Disk.cpp
. Fix Disk/HD_GetFullPathName() which wasn't always returning full pathname
. Consolidate common GetImageTitle() and move into DiskImage.cpp
2015-02-13 22:40:53 +00:00
michaelangel007
f5869776dd DOC: Fix swizzle resolution (64x256) comment 2015-01-11 08:46:51 -08:00
michaelangel007
f794f3f4c6 Debugger 2.9.0.1: implemented cd command 2015-01-10 22:50:07 -08:00
michaelangel007
ba1a08b96b Add ntsc .bmp import 2015-01-10 22:47:55 -08:00
michaelangel007
9ffc6b7491 Clean ntsc export bmp, WIP: import bmp 2015-01-10 12:14:38 -08:00
michaelangel007
8876044d3a Fixed debugger ntsc save .bmp to save as 64x256 raw image 2015-01-10 11:23:46 -08:00
michaelangel007
2a54240372 Fix: force ntsc export alpha=255 2015-01-10 09:28:23 -08:00
michaelangel007
ae6f1c9f0f Debugger: Added: ntsc save [filename], ntsc load [filename] 2015-01-08 12:15:19 -08:00
michaelangel007
de00db9cf8 Debugger: Fixed view output Double Lo-Res and Double Hi-Res 2015-01-01 22:47:55 -08:00
michaelangel007
75c5cc8151 Fix broken MIXED mode, fix Debugger view output, change main loop to call VideoRefresh() 2015-01-01 11:48:59 -08:00
michaelangel007
d0b067f8d2 Fix BLOAD 'filename.hgr' so an address can be specified and used as an over-ride 2015-01-01 05:51:06 -08:00
michaelangel007
581bb332fe Debugger 2.8.0.9b: BLOAD now recognizes the extensions .hgr or .hgr2 to load to $2000, or $4000 respectfully 2014-12-31 19:38:36 -08:00
michaelangel007
07be4dfa1d Debugger 2.8.0.9: BLOAD now recognizes the extensions .hgr or .hgr2 to load to $2000, or $4000 respectfully 2014-12-31 19:24:04 -08:00
michaelangel007
2dedaf0158 NTSC: fix Debugger View Output commands: TEXT, HGR, etc 2014-12-31 17:15:36 -08:00
michaelangel007
03b43bf388 Bug #227 2.8.0.8 Fixed: Showing/hiding the address and/or opcodes will show long symbolic targets without overflowing into the register info pane
File: Debugger_Display.cpp
Func: DrawDisassemblyLine()
2014-12-11 10:00:02 -08:00
michaelangel007
d6002721e5 Fix Bug #251: ASC #:# with null byte doesn't mark up properly 2014-12-11 09:41:42 -08:00
michaelangel007
c2d6f5b026 Bug #239 : Debugger 2.8.0.6: Ctrl-Print Screen while the debugger is active will copy the debugger text to the clipboard 2014-12-01 22:01:08 -08:00
michaelangel007
4102fd91f9 DEBUG: 2.8.0.5: FIX: Bug #244 -- print warning about duplicate symbol's address(es) aliasing existing ones 2014-11-30 18:58:15 -08:00
michaelangel007
7345b017aa FIX: Bug #246 (Debugger) Memory (Changing Memory) command in CHM help files
- fixed EXITBENCH from being matched with 'E'
- fixed out of date documentation with MEB, MEW
2014-11-29 17:42:12 -08:00
michaelangel007
763b8172f0 DEBUGGER: Cleanup error message for invalid symbol table for: syminfo
(cherry picked from commit ca5002dfa3807f6b5fea33c14bd6ee5c9c879456)
2014-11-28 23:33:54 -08:00
tomcw
bc45812f4e Simplified and moved main-loop video update logic into Video.cpp.
Removed complex case below for:
. VideoHasRefreshed(), 'anyupdates'
. VideoCheckPage()

Detailed notes below.

---

Video updates in ContinueExecution() loop:

'anyupdates' gets set if there were any page-flip(s) in last ~17030 cycles:
	anyupdates |= VideoHasRefreshed();
ie. VideoRefreshScreen() was called outside of this loop.

If there's been a call to VideoRefreshScreen() outside of this loop,
  and then the video framebuffer gets written to, ie. VideoApparentlyDirty() returns TRUE,
then don't call VideoRefreshScreen() from this loop for 3 frames.
(If a VideoRefreshScreen() is called outside of this loop then restart the 3 frame count.)

So..
 if the game is flipping, the VideoApparentlyDirty() will return FALSE (since game writes to other framebuffer).
 if the game is not flipping, then VideoHasRefreshed() will return FALSE (since no flips occur).

Therefore this complex case above probably only arises at a boundary eg. when the game is transitioning between these 2 modes,
and so if the emulator does the very occasional screen update in this main loop, it is of no consequence.

(I guess this extra logic was to throttle video updates on very old slow machines)

---

VideoCheckPage(BOOL bForce) was called twice in main-loop:

UnexpectedPage if g_bVideoDisplayPage2 != SW_PAGE2

Once each time through the loop (ie. every 1ms), with bForce=0
	if UnexpectedPage && >500ms since last flip then VideoRefreshScreen()

Once each video frame (ie. ~17030 cycles) when not flipping, with bForce=1
	if UnexpectedPage then VideoRefreshScreen()

Basically this was all about supporting FullSpeed mode, and limiting the calls to VideoRefreshScreen().
2014-09-13 22:22:27 +01:00
michaelangel007
4b7f8aab3e Debugger 2.8.0.1 Fix #227 (Debugger)[1.25] AppleSoft symbol: COPY.FAC.TO.ARG.ROUNDED overflows into registers 2014-09-08 09:19:12 -07:00
michaelangel007
0c06520dc5 Added note about g_sCurrentDir to use g_sDebugDir 2014-09-02 08:44:21 -07:00
michaelangel007
cf7de38720 2.7.0.36 Fixed: empty command was re-triggering previous command. Example: DW 6062, // test 2014-09-01 12:47:43 -07:00
michaelangel007
d5cf2d1de2 Debugger 2.8.0.0 AppleWin 1.25 2014-08-28 16:55:16 -07:00
michaelangel007
fc5818ee34 Debugger 2.7.0.29 -- Renamed DS to ASC, fixed disassembly for ASC 2014-08-28 11:13:02 -07:00
tomcw
313e7bdcc8 TSAVE: Remap control chars to printable ones 2014-08-27 22:13:14 +01:00
michaelangel007
77aef24880 Cleanup code conventions 2014-08-25 17:12:16 -07:00
michaelangel007
1bcf5b29ee Fix TSAVE and Ctrl-PrintScreen -- convert inverse control characters to space 2014-08-25 15:35:09 -07:00
michaelangel007
24e581ba2c Added: Ctrl-PrintScreen will copy the text screen (auto detect 40/80 columns) to the clipboard. 2014-08-25 08:35:43 -07:00
michaelangel007
9d36d6d007 Added new Debugger command: TSAVE to save the text screen to a file 2014-08-23 23:08:22 -07:00
michaelangel007
eea9110649 Update History.txt with Debugger 2.7.0.23 2014-08-23 17:09:48 -07:00
michaelangel007
8119e22f08 BUGFIX: MemoryFill and MemoryMove: Fix infinite hang if target memory address ends with FFFF due to 16-bit address wrapping around to zero instead of using length.
i.e. F D000:FFFF 0
2014-08-23 12:52:14 -07:00
tomcw
cbdad2a02f Qualified all STL refs with std:: to get rid of the 'using namespace std' mismatch between the main code & debugger code 2014-08-14 20:29:01 +01:00
tomcw
c1bfb8075c Created new DebugDefs.h for memory defs 2014-08-14 18:14:39 +01:00
tomcw
6a26a95487 PCH refactor: remove non-system headers from stdafx.h 2014-08-13 21:30:35 +01:00
michaelangel007
9ded7f0926 Cleanup: Removed unused variable: g_bResetTiming 2014-07-17 19:52:56 -07:00
tomcw
d591dd006b Remove the top-level AppleWin folder 2014-05-23 22:59:02 +01:00