Commit Graph

350 Commits

Author SHA1 Message Date
TomCh
2f64795e2e
Debugger: BPMR & BPMW (PR #710)
Extended BPM to also support BPMR and BPMW
Fixed BPM[R|W] 0:FFFF (ie. support a range of 0x10000)
2019-10-23 05:31:53 +09:00
tomcw
13588165ff Debugger display: minor refactor 2019-10-20 21:17:40 +01:00
tomcw
52376fd664 Debugger display (#666, #702):
. Video-scanner: when invisible use yellow (instead of red) (fixes #666)
. Soft-switches: row "80:" show a red 'x' when AltZP is set (#702)
2019-10-20 11:30:31 +01:00
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
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
Kelvin Lee
bb25fb702e Fixed compiler warning about too many arguments for sprintf. 2016-12-29 11:36:43 -05:00
Kelvin Lee
9ec4012209 Fixed format typo. 2016-12-29 11:01:46 -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
af196ac8ae Tidy-up for full-screen vars 2016-07-26 22:33:45 +01:00
tomcw
66e468db65 Merged in Nick's new native resolution full-screen
- old 640x480 full-screen deprecated

Fixes for:
. Logo & Debug window scaled/positioned correctly
. Buttons & disk activity (on RHS) drawn in correct position
. Crosshairs for mouse (and when using mouse as joystick)drawn in correct position
2016-07-12 22:43:31 +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
d23ae15774 Removed border from:
. final rendered window
. print-screen bmps (both sizes)
Fixed full-screen so that:
. all mode (RUNNING, DEBUG and LOGO) all occupy the same screen position
. there's no intermediate data drawn out of position when first switching to full-screen
Tested on Win7 and Win10
2016-04-04 21:05:58 +01:00
tomcw
86802bef16 Add VS2015 proj files & fix for building under VS2015 in Release (closes #296) 2016-03-24 22:55:36 +00:00
tomcw
99219a71ec Add VS2015 proj files & fix for building under VS2015 in Release 2016-03-24 22:25:35 +00: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
6fac2483ef [PVS-Studio] Fix redundant var init in GetConsoleLineHeightPixels() Bug #301 2015-07-30 08:55:07 -07:00
michaelangel007
04702ee7c5 [PVS-Studio] Fix potential security issue sprintf() Bug #301 2015-07-30 08:26:18 -07:00
michaelangel007
6f8b75e443 [PVS-Studio] Code cleanup - fix potential security issues with wsprintf( bufffer, string ) -> wspritnf( buffer, "%s", string ) Bug #301 2015-07-30 08:20:27 -07:00
michaelangel007
8aa8f347ae Cleanup assignment in while in ConsoleBufferPush() 2015-07-30 08:14:05 -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
498f01edde New save-state (.aws) v2:
Added card save/load for:
. Phasor (#260)
. CP/M (#260)
. 80 column card:
  . aux memory now saved separately from main memory
  . extended memory (RAMworks) (#260)

Mockingboard & Phasor:
. Full AY8910 internal state now preserved.
  . needed for eg. envelope, ay_change[], etc
  . also Phasor player only updates AY regs that have changed

Other:
. On restore error, then PostMessage(WM_USER_RESTART), so that emulator not left in intermediate state
. Fix: Start Dir wasn't set when drag & dropping an image onto a drive icon or double-clicking an image file
2015-04-11 22:24:54 +01: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
94193215b9 Cleanup whitespace 2015-01-08 12:05:53 -08:00
michaelangel007
1fb2e412fd The mother of all debugger cleanups 2015-01-07 19:03:06 -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
a509cc511a Add: proper OPCODE_NOP enum 2014-12-11 10:00:51 -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
4e582b2431 Add: CHC_INFO, CHC_PATH 2014-11-30 18:39:04 -08:00
michaelangel007
ac56455f61 Cleanup: remove commented out broken long symbol table header description
FIX: Prevent buffer overflow in CmdSymbolsInfo()
2014-11-30 17:51:11 -08:00
michaelangel007
d5a58ef206 ADD: ConsoleColor_StringLength() to get the normal string length that doesn't count the escape/markup 2014-11-30 17:47:26 -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
michaelangel007
0910f05817 Cleanup - added note about CmdSymbolsLoad() zero args
(cherry picked from commit 9de7a1ca922046542cc998a04993012569e9fb54)
2014-11-28 23:33:36 -08:00
michaelangel007
6e5ff918c4 Cleanup: ParseSymbolTable() renamed arg to be more descriptive: pPathFileName
(cherry picked from commit 99a675b3b4b930071498b3ee1437f4d7d14594f4)
2014-11-28 23:33:25 -08:00
michaelangel007
d5c646a2bc Cleanup whitespace
(cherry picked from commit b5af168257f3f1fee19a314ed7d88c31bf345750)
2014-11-28 23:33:04 -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
95a2c855f4 Cleanup: remove dead comments in debugger_parser.cpp 2014-09-08 12:15:37 -07: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
3a0d2697e4 Debugger 2.7.0.35
.35 Added: DW address -- round the length up to even number for convenience. Example: DW 6062 is equivalent to: DW 6062:6063
.34 Fixed: Unified auto-defined name: B_, W_, T_ for byte, word, or text respectively
2014-09-01 09:49:55 -07:00
michaelangel007
346a171310 1.25 RC1 fixed ASC ellipsis 2014-08-30 10:03:00 -07:00
michaelangel007
1b1009ee07 2.7.0.33 Fixed ASC range, DW range to auto-define T_#### and W_#### 2014-08-29 08:51:29 -07:00
michaelangel007
be1ae810fc Debugger 2.7.0.31 fix: DB range to auto-generate symbol name: B_#### 2014-08-28 22:27:24 -07:00
michaelangel007
65cfe89e00 Debugger 2.8.0.1 fix: DB range to auto-generate symbol name: B_#### 2014-08-28 22:23:47 -07:00
michaelangel007
d5cf2d1de2 Debugger 2.8.0.0 AppleWin 1.25 2014-08-28 16:55:16 -07:00
michaelangel007
e449da5b47 Debugger: Fix ASC overflowing _sOpCodes in FormatOpcodeBytes() 2014-08-28 16:52:41 -07:00
tomcw
a05979a6d1 Bump version to 1.25 & added comment to History.txt stating dropping Win98/ME support 2014-08-28 22:34:25 +01: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
936553ab7e Cleanup misc. whitespace 2014-08-25 15:33:53 -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
4d40590fbf Renamed DiskConsts.h to DiskDefs.h + other header refactoring 2014-08-14 17:48:38 +01:00
tomcw
d21bb2cc3b Move Util_* files into Debugger subfolder & update all vcproj files 2014-08-13 22:25:22 +01:00
tomcw
6ce0f6c77f Split some of Debugger_parser.h into Util_Text.h (now Util_MemoryTextFile.cpp isn't dependent on any Debugger headers 2014-08-13 22:03:33 +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