Commit Graph

101 Commits

Author SHA1 Message Date
tomcw
2d2304b4c6 AppleWin's Config>Benchmark, reported a "Pure CPU MHz" which was not a good indicator of unthrottled speed for v1.26+, as it was still getting the emulator to do full NTSC/cycle-accurate video update. The reality (when in full-speed/unthrottled mode) is that the video is only refreshed at 16.6ms (wall-clock).
So added a 2nd "Pure CPU MHz" for full-speed (ie. no video update), eg:

---------------------------
Benchmarks
---------------------------
Pure Video FPS:	2860 hires, 2868 text
Pure CPU MHz:	10.3 (video update)
Pure CPU MHz:	241.3 (full-speed)

EXPECTED AVERAGE VIDEO GAME
PERFORMANCE: 476 FPS

(ref: #424, #540)
2018-03-03 22:01:03 +00:00
tomcw
552d8fcc7b Remove old debug timing code (#540) 2018-02-26 21:34:01 +00:00
tomcw
6c031e7930 Disk II: changing 'enhancedisk' doesn't cause a restart + added accessors (fixes #546) 2018-02-25 15:09:25 +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
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
d46491c5d0 VideoMode: 80STORE should only mask, not clear PAGE2 - and this is handled by underlying NTSC video code (#516) 2017-12-04 20:43:42 +00:00
tomcw
670ca20057 Frame.cpp: Remove redundant, commented out and if 0 code, mostly relating to the old full-screen implementation 2017-10-11 19:18:53 +01:00
tomcw
018e338612 Frame.cpp: move header constants into Frame.cpp and expose with accessor functions 2017-10-11 17:38:36 +01:00
tomcw
b1dfd57502 Tidy-up in Frame.cpp: unused prototypes, dead code; consolidate some full-screen constants 2017-10-10 22:06:24 +01:00
tomcw
9616df504e Full-screen: Added Config UI checkbox for the display of subunit status (ie. keyboard caps, disk activity, paused/stepping state) - #224 2017-10-02 22:22:26 +01:00
tomcw
0a60a0a8aa Video.cpp: remove redundant code 2017-07-06 21:36:56 +01:00
Andrea Odetti
64e924bcae Delete unused code from Video.cpp
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-05-01 20:20:02 +01:00
tomcw
d11f0a222d Fix the discontinuous whole screen redraw bug in full-speed mode (#405) 2017-04-23 21:37:01 +01:00
tomcw
d9669fa45b Printscreen: Fix for missing half-top line for B&W TV and Color TV (#403) 2017-04-22 22:22:29 +01: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
tomcw
fc781cdd47 Remove old, unused Video.cpp var/code:
. g_VideoForceFullRedraw
. VideoApparentlyDirty()
2017-02-17 15:37:37 +00:00
tomcw
a6bfe4cfe9 1.26.1.1: Fix #382 - CTRL+RESET not re-init'ing correct 40/80 text rendering routine when in mixed mode 2017-02-17 14:55:04 +00:00
tomcw
3e0d399665 Some video-related comment clean up & simplified VideoGetVblBar() 2016-12-11 15:02:12 +00: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
8447a22942 VBlank tweaks:
. Removed NTSC_VideoVbl(), since it's not accurate during full-speed. (Nothing was using it)
. Renamed VideoGetVbl() to VideoGetVblBar()
. Correctly pass Vbl (not VblBar) to Mouse's SetVBlank()
2016-11-16 11:18:41 +00:00
tomcw
981b711fef Refactor: int bVideoMode -> uint32_t uVideoMode 2016-11-06 21:59:45 +00:00
tomcw
421d9a77f6 VideoRefreshScreen(): Use default args instead of passing 0 for arg0 2016-11-06 14:33:14 +00:00
tomcw
1bb60026a5 Debugger - Fix #345: wrap and protect debugger's video mode 2016-11-06 14:23:23 +00:00
tomcw
c146587b8e Save-state: Fix for loading state when TEXT40 changes to TEXT80 or v.v. 2016-10-31 21:05:10 +00:00
tomcw
a58f990ab8 Fix PrintScreen for Color TV and B&W TV (fix #356) 2016-10-11 21:52:11 +01:00
tomcw
ef9bb822fa Bump to 1.26.0.5: Restore the y-shift for TV Color + TV B&W 2016-10-06 22:23:06 +01:00
tomcw
3e51f2f02f Extend quick fix for #341 (ANSI STORY - end credits) 2016-10-02 22:22:10 +01:00
tomcw
63789e525a Quick fix for #341 (alignment of NTSC Monitor/TV video modes) 2016-10-01 15:24:20 +01:00
tomcw
5f0ccfc75c Added new function NTSC_VideoRedrawWholeScreen() to fix #352 2016-09-25 10:42:14 +01:00
tomcw
30160583cb For full-speed: update every 16ms of real-time (close #351) 2016-09-22 22:34:16 +01:00
tomcw
f559deddc3 Fix for flickery/bad video updates when MODE_RUNNING and full-speed (broken in previous 09fa6cc) 2016-09-17 21:26:45 +01:00
tomcw
09fa6ccef5 Fixed #342 2016-09-16 23:05:39 +01:00
tomcw
31ba57b7c7 Debug logging: add log message for time from boot until first key read (for AZTEC.DSK).
+ Remove an unused var.
2016-09-06 21:38:00 +01:00
tomcw
20ed6607e5 Prepare for RC:
. Removed title screen's "NTSC alpha v18" text
. Updated History.txt
. Updated Help html files
2016-09-05 22:36:24 +01:00
tomcw
af196ac8ae Tidy-up for full-screen vars 2016-07-26 22:33:45 +01:00
tomcw
3cf54e6fa3 Calculate full-screen scale using borderless dimensions & allow more than 2x scale 2016-07-25 21:19:00 +01:00
tomcw
02b0d7419a Fixed screen update when running at full-speed
. Specifically IBIZA.DSK demo which streams data from the disk throughout (ie. so runs at full-speed all the time)
. Update the screen every frame, but only if video memory has changed (check AZTEC.DSK loading time)
. NB. When running at full-speed, then 6502 emulation doesn't do cycle-accurate video updates
Fixed crash that could occur when switch video mode (F9) when running at full-speed
. Occured when g_nVideoClockVert was >= 192
2016-07-23 22:53:29 +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
749e1514bd Use correct resource BMP for each model's character set (Apple ][, original //e and Pravets)
Also resized the Pravets BMPs to be either 256 or 512 pixels in height.
2016-04-12 23:21:05 +01:00
tomcw
9adbb1e8e6 Added NTSC_Reinitialize() to re-init NTSC state after loading a save-state file 2016-04-05 22:17:29 +01:00
tomcw
7ccf722200 Fixed: AltCharSet flag was inverted 2016-04-04 22:38:01 +01:00
tomcw
346f45b3e9 Fixed: NTSC video mode vars not setup after loading save-state 2016-04-04 21:32:40 +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
e98de27039 Manual merge from master @ c798157 2016-03-21 23:48:02 +00:00
michaelangel007
4886b5daea version 18 Blurry 80-col text 2015-01-17 11:19:29 -08:00
michaelangel007
dfc4ef6d13 Version 17 BMP Palette 2015-01-10 23:12:22 -08:00