Commit Graph

263 Commits

Author SHA1 Message Date
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