Commit Graph

247 Commits

Author SHA1 Message Date
tomcw
75f6ab9e59 Debugger: added auto-run of 'DebuggerAutoRun.txt' on startup. (#666) 2019-10-11 21:24:01 +01:00
tomcw
319797df69 Debugger: Video-scanner info:
. moved vert,horz onto same row
. made hex & apple modes the default display config
. added 2nd line showing cycles
. moved mini-mem views over by 1 char
2019-10-10 22:21:25 +01:00
tomcw
f9a1ef04f7 Debugger: videoinfo cmd: return feedback on success 2019-09-23 01:50:18 +01:00
tomcw
604aff4bbb Debugger: added help for videoinfo cmd 2019-09-22 16:53:38 +01:00
tomcw
b3eb789e03 Debugger: added BG_INFO_WATCH|ZEROPAGE enums 2019-09-22 15:59:19 +01:00
tomcw
b5b1deeead Debugger: added & used consts for video-scanner info 2019-09-22 15:28:10 +01:00
tomcw
7261c79054 Debugger: minor refactor for VideoScanner info 2019-09-22 15:11:14 +01:00
tomcw
f84c985751 Debugger refactor: moved ConfigColorsReset() from Debug.cpp to Debugger_Color.cpp 2019-09-22 11:25:48 +01:00
tomcw
9a0617e889 Debugger: removed the now redundant Debug_UpdatePalette() func 2019-09-22 11:14:32 +01:00
tomcw
3b9dc8d0f7 Merge branch 'master' of ssh://github.com/AppleWin/AppleWin 2019-09-21 16:38:46 +01:00
tomcw
9ee9414bb6 Debugger: show video-scanner's h,v position (at the expense of losing 2 watches). (#666) 2019-09-21 16:37:45 +01:00
tomcw
e4f0a8b8d9 Debugger: fix crash in ParseSymbolTable() due to PR #687 2019-09-17 19:17:30 +01:00
tomcw
3264fd3ee9 Two fixes for the 'char* to std::string' PR #687 2019-09-15 21:26:40 +01:00
Andrea Odetti
409634d65f Use a more descriptive variable name.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-09-08 21:33:26 +01:00
Andrea Odetti
be476f9a9c Fix a couple of issues around std::string.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-09-07 18:51:07 +01:00
Andrea Odetti
dced4793b7 Next iteration of the string project.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-09-07 10:16:51 +01:00
Andrea Odetti
d5890e8356 Replace some char * with std::string. 2019-09-06 17:34:25 +01:00
michaelangel007
89eab1156c Merge branch 'master' of https://github.com/AppleWin/AppleWin 2019-07-22 12:06:53 -07:00
TomCh
4bc75093b8
Support (read-only) WOZ1/WOZ2 images (#544) (PR #653)
Supports:
- all "woz test images" v1.3 (WOZ1, WOZ2) are working, except 3.5"
- additionally: Frogger (spiradisc), Choplifter (not Enhanced //e!), Lode Runner, Marble Madness, Skyfox.
- woz images can be .gz or .zip compressed (ie. same as other supported images)
- save-state

Limitations:
- read-only, so WOZ images are forced to be write-protected
  . as a result, games that need r/w images won't work (Stickybear Town Builder, Wizardry)
- 5.25" only (not 3.5")
2019-07-05 23:01:19 +01:00
michaelangel007
a0f7fe46bf Merge branch 'master' of https://github.com/AppleWin/AppleWin 2019-04-18 15:58:19 -07:00
tomcw
d6f8d4edd8 Rename sg_DiskIICard to sg_Disk2Card 2019-04-14 17:01:49 +01:00
michaelangel007
c0d442dc76 Merge branch 'master' of https://github.com/AppleWin/AppleWin 2019-04-13 10:22:42 -07:00
michaelangel007
a12f4283e9 TODO: colorize output of CALC 2019-04-13 10:22:39 -07:00
tomcw
4235f08f7a Remove the 'Disk' prefix from method names 2019-04-08 10:41:47 +01:00
tomcw
e7d6eac04d Class-ify disk.cpp into DiskIIInterfaceCard 2019-04-07 14:22:05 +01:00
tomcw
8589ad2510 Fix crash when entering debugger from logo screen. (Fixes #622) 2019-02-14 21:57:53 +00:00
Raphaël Zumer
c9553d996d Convert files with special characters to UTF-8 (PR #604)
* Convert file encoding to UTF-8
* Set character sets to UTF-8 explicitly
2019-02-07 18:08:53 +00:00
TomCh
aa59c71847
Add support for PAL/European or custom 8K video ROMs (#596)
Added new cmd-line switch: -videorom <file> to replace the video ROM for the Enhanced //e.
- Support video ROM sizes of 4K, 8K and 16K (top 8K only).
- NB. The rocker switch is set to European video ROM.
F10 (for //e or Enhanced //e models) emulates the PAL //e's rocker switch (under the keyboard) to toggle between European or US video ROM.

Other:
- Fixed debugger's view of the AltCharSet soft-switch (it was showing the opposite state).
2018-11-17 16:29:17 +00:00
tomcw
f9b7d9326e Fixed Coverity 'High Impact Outstanding' issues:
CIDs in main code:
1446691
1446688 (false positive)
1446672 (false positive)
1446643
1446642
1446641
1446635 (false positive)

CIDs in debugger:
1472410
1446728 (false positive)
1446684
1446673
1472409
1446693
1446692
1446726
1446687
1446685
1446683
2018-11-06 19:13:28 +00:00
TomCh
46274d4d1c
Apple II: Language Card and Saturn support for slot-0 (PR #589)
Support for #408:
* added slot-0 LC and Saturn 128K for Apple II and II+
* added save-state support
  - for slot-0 LC/Saturn, save the LC state in the slot-0 card, not the //e MMU; and switch to a new Apple2 unit ver2
* added g_Slot0, g_SlotAux
* added new LanguageCard.cpp/h to project and moved Saturn code into these new files.
* updated VS2013,2015,2017 projects
2018-10-26 11:23:30 -07:00
tomcw
91a6227da1 Debugger: Fixed disasm of branch targets <000 missing leading zeros. (Fixes #587) 2018-10-13 22:35:55 +01:00
TomCh
6ed354714e
Support ClosedApple+key with Alt Gr when combined with a regular keyboard key:
. When Alt Gr is pressed, then manually post WM_CHAR message on receiving a WM_KEYDOWN (manually translate and account for shift/control/caps-lock)
. Hook filter: suppress Alt Gr's (ie. RMENU's) fake LCONTROL messages

Also:
. Hook filter: allow Ctrl+Shift+Esc (for Task Manager)
. Keyboard: refactor only use accessor functions to get the Alt/Control/Shift state
2018-07-27 21:55:53 +01:00
tomcw
1afa2490c5 Keyboard: Refactor for GetKeyState() 2018-07-23 22:27:33 +01:00
tomcw
97b07eaee4 Keyboard hook filter:
. Created a dedicated thread with message loop (#570)
HookFilter dll: Only call GetKeyState() if keycode is ESC (instead of every time)
DebuggerCursorUpdate(): reduce sleep from 10ms to 1ms
2018-07-15 21:00:01 +01:00
michaelangel007
10d68a3308 Debugger: 2.9.0.15: Cleanup: HELP CALC examples and See also. 2018-04-17 09:45:45 -07:00
michaelangel007
74c6739542 Debugger: Added HELP CALC see also: HELP OP 2018-04-17 09:43:06 -07:00
michaelangel007
c449ef12b7 Debugger: Clarify HELP CALC operators 2018-04-17 09:33:56 -07:00
michaelangel007
e852d91031 Debugger: Add examples for HELP CALC 2018-04-17 09:32:58 -07:00
michaelangel007
858586d646 Debugger: Cleanup output order of HELP CALC 2018-04-17 09:32:11 -07:00
michaelangel007
f9bc18f54c Debugger: Fix spelling 2018-04-17 09:30:59 -07:00
michaelangel007
9105019e11 Fixed: Debugger 2.9.0.14: HELP JSR 2018-04-17 07:16:21 -07:00
michaelangel007
8a9ddda46a 2.9.0.13: Add profiler cycles 2018-04-15 13:35:58 -07:00
tomcw
d7de4908cd Add comment for the reason that reset doesn't affect memmode & videomode for II and II+ models.
Add accessor for memmode, make static and replace extern refs with GetMemMode().
2018-03-19 18:49:08 -07:00
Andrea
70540bd6dc Fix the following errors reported by VS2017 Code Analysis. (#414)
* Fix the following errors reported by VS2017 Code Analysis.

applewin\source\applewin.cpp(761): warning C6385: Reading invalid data from '"Disk Image"':  the readable size is '11' bytes, but '21' bytes may be read.
applewin\source\debugger\debug.cpp(6624): warning C6386: Buffer overrun while writing to 'sName':  the writable size is '31' bytes, but '32' bytes might be written.
applewin\source\debugger\debugger_display.cpp(3715): warning C6053: The prior call to 'strncpy' might not zero-terminate string 'sText'.
applewin\source\log.cpp(42): warning C6053: The prior call to '_vsnprintf' might not zero-terminate string 'output'.
applewin\source\debugger\debug.cpp(2759): warning C6011: Dereferencing NULL pointer 'pFont'.
applewin\source\debugger\debugger_symbols.cpp(243): warning C6053: The prior call to '_tcsncpy' might not zero-terminate string 'pText'.
applewin\source\diskimagehelper.cpp(1132): warning C6053: The prior call to '_tcsncpy' might not zero-terminate string 'pszExt'.
applewin\source\diskimagehelper.cpp(1141): warning C6053: The prior call to '_tcsncpy' might not zero-terminate string 'szFilename'.
applewin\source\parallelprinter.cpp(242): warning C6053: The prior call to '_tcsncpy' might not zero-terminate string 'g_szPrintFilename'.

The one about RegSetValue(), according to Microsoft

https://msdn.microsoft.com/en-us/library/windows/desktop/ms724922(v=vs.85).aspx

the last argument cbData is ignored, so I set it to 0, as in some cases was anyway wrong (see "DiskImage").


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>

* Use sizeof() rather than hardcoded value.
Fix one more case on non terminated string.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-24 15:24:37 +00:00
Andrea
6051bc55d0 Changes to ease code compilation in gcc. (#541)
Changes to ease code compilation in GCC.

Disk_t and HDD contain a std::string and for this reason they need a proper constructor, ZeroMemory is not guaranteed to work.
2018-02-24 15:12:40 +00:00
tomcw
839812ab7d Debugger: OutputTraceLine() - add single-step comment 2018-02-02 21:10:46 +00:00
tomcw
2c8f5ce864 Support floating-bus in full-speed mode (#508, #519, #532) 2018-02-02 20:19:48 +00:00
tomcw
4a69ba8a97 git merge --squash GH125-ProDOS-Format. Fix for disk formatting #125, #196, #338:
. .dsk / .nib images
. ProDOS format / DOS 3.3 init
. authentic / enhanced disk access speed

For zero-length files, resize to the complete file size when first opened (#506)
. Support both .dsk and .nib

Created a new class FormatTrack to encapsulate the new track formatting logic

Improved precision of 'authentic' drive mode's spin emulation (#125)

Save-state: (save-state DiskII unit v2)
. support Format Track state
. save DiskLastCycle

DenibblizeTrack(): added some debug asserts and comments

Updated for VS2008/VS2013/2015/2017 projs & remove dependency on ddraw.lib for VS2013/2015

Updated disk logging:
. Moved all LOG_DISK_xx macros to new DiskLog.h (since shared by Disk.cpp and DiskFormatTrack.cpp)
. For write nibble: option to log cycle count & sync byte count
. For written track: option to log gap1/2/3 and track size
. For disk latch r/w: option to log when D5AA96 detected

Other:
. Debugger: Fix CD cmd to support absolute paths (#505)
2018-01-14 18:01:22 +00:00
tomcw
efa9ab8aaa Updated Debugger_Changelog.txt for a handful of issues 2018-01-06 16:26:07 +00:00
tomcw
607165cc9e Debugger: default to Shift+Click to toggle diasm columns (#462) 2017-12-19 23:07:12 +00:00
tomcw
d59d706e5e Merge branch 'master' into bug_479 2017-12-19 22:23:58 +00:00
tomcw
664edf5b6f Debugger: fix some static analysis issues from PR #517 2017-12-17 18:20:39 +00:00
tomcw
018e338612 Frame.cpp: move header constants into Frame.cpp and expose with accessor functions 2017-10-11 17:38:36 +01:00
michaelangel007
cf743203ce #483 click to toggle flags 2017-08-25 09:29:30 -07:00
michaelangel007
6cabe7740f #481 Extend arguments from 55 chars to 127 chars 2017-08-25 08:56:23 -07:00
michaelangel007
1612269093 #462 Added for click 2017-08-25 07:36:31 -07:00
michaelangel007
be41616359 Implements #462 sans: help disasm 2017-08-25 07:22:08 -07:00
michaelangel007
d9e9ef34ab Add note about vector clear() insert() at() 2017-08-24 18:43:54 -07:00
michaelangel007
df8d6c06a6 Fix #473 read debugger script file not being properly zero-terminated 2017-08-24 18:43:10 -07:00
michaelangel007
efdce696fc Fix off-by-one bug wrapping in debugger console #476 2017-08-24 16:59:19 -07:00
michaelangel007
1728b7b668 Bug #466 Update HELP SYM to double-quote symbols 2017-08-24 12:36:46 -07:00
michaelangel007
dc7b99c006 #479 Fix off-by-one display bug for warning long symbols name 2017-08-24 09:47:05 -07:00
michaelangel007
975230b46d #479 (b) Add Warning for long symbols when symbol table is loaded 2017-08-24 09:40:28 -07:00
michaelangel007
a276bef7df 2.9.0.10 Change Warning to Info for symbols that alias 2017-08-24 09:37:07 -07:00
michaelangel007
eed603f116 Debugger: Bugfix #479 2017-08-24 09:21:15 -07:00
tomcw
0fef6516f4 Debugger: fix _6502_GetTargets() when abs addr16 wraps over 64K boundary (crash bug) & extend debugger unit-tests 2017-08-15 22:12:51 +01:00
tomcw
c35b863bd9 Debugger: BPM cmd: trigger on stack access for BRK,JSR,PLn,PHn,RTI,RTS (#445) 2017-08-04 21:07:02 +01:00
tomcw
0a60a0a8aa Video.cpp: remove redundant code 2017-07-06 21:36:56 +01:00
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
bcbcaffcf5 GH #406 Cleanup LC status in debugger - B#, and dim inactive bank 2017-05-10 09:51:45 -07:00
michaelangel007
77075a8f32 DOC: Cleanup typo 2017-05-10 09:49:48 -07:00
michaelangel007
b155872f57 Debugger: Extend ColorizeFlags() to support custom fg if not set 2017-05-10 09:47:45 -07:00
michaelangel007
23f1f46fc8 GH #406 Cleanup - remove extraBank from _DrawSoftSwitchLanguageCardBank() 2017-05-01 08:47:31 -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
8c209cfc2d Some Read/Write for Main/Aux memory 2017-04-27 16:58:43 -07:00
michaelangel007
fd2d44a349 Change debugger background for LC to be darker cyan 2017-04-27 16:41:03 -07:00
michaelangel007
335a8e5c5c Change debugger IO title to light blue for easier reading 2017-04-27 16:37:13 -07:00
michaelangel007
d3e620fcd4 Add command line to init Saturn memory size 2017-04-27 14:50:15 -07:00
michaelangel007
9fd479b976 Debugger: Show if RAMWORKS Language Card is installed, and which page is active 2017-04-27 14:06:01 -07:00
michaelangel007
93e6d668e7 Add backend to display Extended Language Card Bank for RAMWORKS or Saturn 2017-04-27 14:04:53 -07:00
michaelangel007
59702d9c74 Only draw LC staus on Bank 2 line 2017-04-27 13:39:59 -07:00
michaelangel007
baa0b08198 Bugfix: Don't over-draw LC status outside designiated info. area 2017-04-27 13:37:56 -07:00
michaelangel007
e5087a6627 Prep for LC bank 2017-04-27 13:37:19 -07:00
michaelangel007
18fd4205c9 And turn it on 2017-04-27 12:02:09 -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
michaelangel007
f4b5aa5fa5 Cleanup via factor out _DrawSoftSwitchHighlight() 2017-04-27 09:30:08 -07:00
michaelangel007
eb0890add4 Add (default) background to ColorizeFlags() 2017-04-27 09:29:22 -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
Michaelangel007
4325900b2d DOC: Fix 6502 cheat sheet x2 x6 ZP 2017-04-05 07:51:16 -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