TomCh
dd53812132
Support for AppleColor / Video7 DHGR mixed mode ( #523 ) (PR #620 )
...
Supported modes selected via toggling AN3 and clocking in 80COL:
- 140 color mode (Apple calls this mode 2, Video7 calls this mode 0).
- mixed mode (Apple calls this mode 3, Video7 calls this mode 2).
- 560 mono mode (Apple calls this mode 1, Video7 calls this mode 3).
Save-state is also persists the extra state.
And there's a few corrections to APPLE2E.SYM for the 80STORE and 80COL I/O addresses.
2019-02-02 15:51:27 +00:00
tomcw
53af2a51b4
Renamed Video_OriginalColorTVMode.cpp to RGBMonitor.cpp
2019-01-19 16:51:45 +00:00
tomcw
4d7a3323e9
Extended -videorom <file> to also support Original //e ( #574 )
2019-01-10 21:38:21 +00:00
TomCh
25c7c41b07
Reinstate support for old AppleWin 1.25 "Color (Standard)" video mode ( #357 ) (PR #614 )
...
Renamed this video mode to: "Color (RGB Monitor)"
Also renamed "Color (Monitor)" to "Color (NTSC Monitor)".
As for the colours: I've changed them from the original 1.25 colours. Instead I runtime-generate the colours from the NTSC code. See NTSC.cpp's GenerateBaseColors(). This shifts the same 4-bit pattern in, combining with NTSC color phase, until the colour stabilises. Then I average the next 4 RGB values to get the final colour. The reason for this is that we now have consistent colours between NTSC and this simplified rendering mode.
NB. The 2 greys (in GR,DGR,DHGR) are now the same RGB value.
2019-01-09 21:29:36 +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
a2d05ca386
mem(cache): provide more details about how the mem(cache) and associated variables work, eg. when reading/writing to the same or different memory banks
2018-09-16 22:02:35 +01:00
tomcw
39f91c552c
NTSC ( #555 )
...
. For the 14M video modes (DHGR,DGR,80COL), start rendering 1x 14M pixel early to account for these video modes being shifted right by 1 pixel
. Revert the display width back to 560 by disabling EXTEND_14M_VIDEO_BY_1_PIXEL
2018-09-09 15:41:04 +01:00
tomcw
7d100a349b
NTSC: Merge-squash from 'GH555-1-pixel' branch for the 1 pixel shift for 14M video modes ( #555 )
2018-09-09 13:56:55 +01:00
tomcw
bd7a96ce6e
Small refactor of VideoGetScannerAddress()
2018-08-06 19:06:28 +01:00
tomcw
d623533e06
Improve VideoGetScannerAddress() to generate NTSC tables; and check tables with all video cycles
2018-08-05 22:19:51 +01:00
tomcw
5e02eaee53
Use VideoGetScannerAddress() to generate the NTSC video lookup tables
2018-08-02 22:37:20 +01:00
tomcw
47ec7f4355
Reverted ad12a8e
: video rendering from screen position -1: so now DHGR vertical column 559 is hidden again (see #555 ).
...
Changed HGR rendering, such that that last video byte (at hpos=64) clears g_nLastColumnPixelNTSC so that the end-of-line off-screen pixel is zero (see #555 ).
2018-06-23 17:50:23 +01:00
tomcw
e0da17ed96
Removed all VS2012 proj/slns ( #559 )
2018-06-10 17:01:44 +01:00
tomcw
ad12a8e6d2
Fix for #555 :
...
. Start video rendering from screen position -1 (ie. 1 DHGR pixel offscreen)
. Allows 559th DHGR vertical column to be visible
. But now an HGR HCOLOR=2 vertical line at column 0 is only 1 DHGR pixel wide
Also:
. Fix TEXT80 to be aligned with DHGR
. Fix FLASH in TEXT80 (inverse aux bits needed to be masked with 0x7f)
2018-05-24 21:34:26 +01:00
tomcw
3e7cc361ff
#555 : Fix for displaying colour dots & vertical lines in the far right hand column
2018-05-13 17:33:13 +01: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
018e338612
Frame.cpp: move header constants into Frame.cpp and expose with accessor functions
2017-10-11 17:38:36 +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
a5cffc7441
NTSC: Removed the redundant per-line caching of video mode & video function. Tested with ANSI STORY (end credits) and Rainbow.
2017-04-14 20:59:43 +01:00
tomcw
345200972b
NTSC: Removed g_aHorzClockMemAddress[] for caching the horz video scanner addr
2016-12-11 15:27:07 +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
c146587b8e
Save-state: Fix for loading state when TEXT40 changes to TEXT80 or v.v.
2016-10-31 21:05:10 +00:00
tomcw
d2efba4959
Fix for NTSC_VideoUpdateCycles() where Z80 updates in units of ~1000 cycles ( #371 )
2016-10-30 12:31:29 +00: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
75d56cad97
Fix GR colors gray1 gray2 #253
2016-10-14 22:28:39 -07:00
tomcw
a58f990ab8
Fix PrintScreen for Color TV and B&W TV ( fix #356 )
2016-10-11 21:52:11 +01:00
tomcw
3e51f2f02f
Extend quick fix for #341 (ANSI STORY - end credits)
2016-10-02 22:22:10 +01:00
tomcw
9b8d5b94af
Reworked NTSC_VideoRedrawWholeScreen(): now precisely call the update funcs for lines0-159 and line160-261, so that video V/H positions remain the same they were on entry (bug #352 )
2016-09-25 21:50:07 +01:00
tomcw
700a9e9f3f
Fix for previous commit's regression - random data being drawn on line 0 ( #352 )
2016-09-25 19:58:51 +01:00
tomcw
5f0ccfc75c
Added new function NTSC_VideoRedrawWholeScreen() to fix #352
2016-09-25 10:42:14 +01:00
tomcw
09fa6ccef5
Fixed #342
2016-09-16 23:05:39 +01:00
tomcw
94b8e76e3b
Small tidy-up for NTSC_CharSet.cpp, and fix-up the VS2008/2013/2015 projects
2016-07-26 19:14:06 +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
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
7e56e93449
Always updateMonoTables() since previous video-mode could have had a non-white RGB value
...
. eg. when cycling backwards from Amber to TV
2016-04-04 22:18:29 +01:00
tomcw
80ad4df409
Fix scoping of variable
2016-03-28 18:02:08 +01:00
tomcw
ad55b0f136
Fix for when VideoMode = {Text_Optimized | TV} in 50% scanline mode:
...
. RGB arithmetic could underflow
. Now clamp to zero (ToDo: consider using SIMD)
2016-03-28 17:27:25 +01:00
tomcw
e98de27039
Manual merge from master @ c798157
2016-03-21 23:48:02 +00:00
michaelangel007
f3cb2e35bf
Fixed DHGR blurry text introduced in commit e6deaee6ae
2015-01-17 11:15:00 -08:00
michaelangel007
e1c56ba386
Fixed HGR display for Archon's end of line green white fringe
2015-01-13 11:47:04 -08:00
michaelangel007
e6deaee6ae
Remove alt CHROMA_BLUR, added NTSC_REMOVE_WHITE_RINGING, NTSC_REMOVE_BLACK_GHOSTING
2015-01-13 11:02:42 -08:00
michaelangel007
4078afe82c
Reset chroma cycle back to 45
2015-01-10 22:47:07 -08:00
michaelangel007
c286f7fc99
Removed bgra_t struct since now in Video.h
2015-01-10 11:43:51 -08:00
michaelangel007
0103d43f3a
Added debug option for alt NTSC 512x4 table
2015-01-10 11:24:27 -08:00
michaelangel007
c13fb849a5
Added NTSC_VideoGetChromaTable(), _NTSC_VideoInitChroma()
2015-01-08 12:05:23 -08:00
michaelangel007
00f9d8f1b9
Cleanup dead code
2015-01-05 23:14:44 -08:00
michaelangel007
d56751773e
Cleanup NTSC_VideoGetScannerAddress()
2015-01-05 22:55:36 -08:00
michaelangel007
c9741ae133
optimize removal white ringing, touch up HGR test pattern
2015-01-05 22:03:49 -08:00
michaelangel007
05eb35e418
Bug #241 Fixed ANSI STORY Video Scanner Vertical
2015-01-05 08:39:29 -08:00
michaelangel007
1d06cd0a3f
Tweak colors to be 12 degrees offset
2015-01-04 02:03:54 -08:00
michaelangel007
7c468af8d1
Massive cleanup for filters
2015-01-04 01:10:30 -08:00
michaelangel007
201515771c
Added missing prototype
2015-01-03 18:36:16 -08:00
michaelangel007
b74aa9ed87
Cleanup: macros UpdateVideoAddressTXT() -> updateVideoScannerAddressTXT, UpdateVideoAddressHGR() -> updateVideoScannerAddressHGR()
2015-01-03 18:32:34 -08:00
michaelangel007
898a82cded
Replace NTSC_VideoGetByte() with NTSC_VideoGetScannerAddress()
2015-01-03 18:28:47 -08:00
michaelangel007
989522a43d
Optimization: Add MSVC forced inlining
2015-01-03 12:47:51 -08:00
michaelangel007
db79b4584b
Cleanup: Factor updateFlashRate
2015-01-03 11:45:44 -08:00
michaelangel007
ce94b59663
Bug #241 - AppleWin 1.26 NTSC -- Fix "ANSI STORY" so horz scroll works, fix vert scroll so it mostly works, verified "Rainbow" works
2015-01-03 03:31:19 -08:00
michaelangel007
d5abdcc97c
Massive alphabetize cleanup
2015-01-02 20:58:27 -08:00
michaelangel007
83e5de9e74
Massive cleanup: consisten updatePixel*() updateScreen*() func names
2015-01-02 20:20:30 -08:00
michaelangel007
bf815f1b6c
Cleanup: updatePixels() argument: bt -> bits
2015-01-02 20:05:49 -08:00
michaelangel007
2845ec65ee
Cleanup: VIDEO_DRAW_BITS -> updatePixels
2015-01-02 20:03:57 -08:00
michaelangel007
fb19d883eb
cleanup updateScreen*()
2015-01-02 20:00:24 -08:00
michaelangel007
851985e846
Cleanup: add func pointer types
2015-01-02 19:46:40 -08:00
michaelangel007
e14b004795
Cleanup: Add getScanlineThis0Address() for out-of-bounds array checking
2015-01-02 19:18:39 -08:00
michaelangel007
0786f759a8
Cleanup: g_aNTSC_Lines -> g_pScanlines, factor out updateVideoScannerAddress()
2015-01-02 19:14:18 -08:00
michaelangel007
bddf3df22e
Fix minor Horz timing bug in updateVideoHorzEOL
2015-01-02 19:08:30 -08:00
michaelangel007
b6b384bc10
Now displays Rainbow from Bug #254 correctly!
2015-01-02 18:51:52 -08:00
michaelangel007
1c28000801
Clean up clock offsets and add note about potential bug
2015-01-02 18:38:45 -08:00
michaelangel007
8f2a3a217c
Cleanup: updateVideoScannerAddress
2015-01-02 18:03:44 -08:00
michaelangel007
95b6fde639
Cleanup & Optimize: g_nTextFlashCounter
2015-01-02 18:00:31 -08:00
michaelangel007
e98a0f5f7e
Optimize rendering so it doesn't hog the CPU
2015-01-02 17:56:16 -08:00
michaelangel007
c3470c6e6f
Cleanup: move PAL and RGB table
2015-01-02 17:40:30 -08:00
michaelangel007
d67f084bf3
Remove flicker from NTSC_VideoUpdateCycles() -- draw each scanline
2015-01-02 17:38:48 -08:00
michaelangel007
d8fe5a4700
Cleanup: cycles name
2015-01-02 17:24:55 -08:00
michaelangel007
421db69b9e
Cleanup brga table tnames
2015-01-02 12:12:22 -08:00
michaelangel007
5288623f6e
misc. cleanup alignment
2015-01-02 11:59:49 -08:00
michaelangel007
ccb5b50f6d
Cleanup: convert macros that update the framebuffer to inline funcs and make them more readable, convert NTSC lookup tables to bgra
2015-01-02 11:46:57 -08:00
michaelangel007
9f32d59ae7
Add WIP palette PAL and RGB values
2015-01-02 09:40:36 -08:00
michaelangel007
88a7ab7b0b
Fix video configuration initialization order not being applied for 50% scan lines
2015-01-02 02:45:47 -08:00
michaelangel007
24ac8886c6
Cleanup: Global Func Pointer:
...
g_pNTSC_FuncVideoUpdate -> g_pFunc_NTSCVideoUpdateGraphics
g_pNTSC_FuncVideoText -> g_pFunc_NTSCVideoUpdateText
2015-01-02 00:06:49 -08:00
michaelangel007
8651da0903
Remove white ringing in Standard Color Monitor
2015-01-01 23:54:05 -08:00
michaelangel007
c74cafdadd
Cleanup function prototypes
2015-01-01 23:50:04 -08:00
michaelangel007
ce633237e0
Fixed Double Lo-Res and Double Hi-Res
2015-01-01 22:45:40 -08:00
michaelangel007
581e1467bc
Remove debug text80 watermark
2015-01-01 22:11:17 -08:00
michaelangel007
a29444eb6c
Fix 80-col using out-of-bounds Char Set
2015-01-01 22:05:40 -08:00
michaelangel007
6c9032d67e
Cleanup: Alphabetize functions
2015-01-01 22:04:38 -08:00
michaelangel007
c68c50c8db
Fix mode Color Text Optimized -> Monochrome TV
2015-01-01 17:32:09 -08:00
michaelangel007
29fbe9515c
Fix all GR modes -- need 16-bits for pixel color
2015-01-01 17:20:36 -08:00
michaelangel007
d75cc2b330
Cleanup and factor common code, macro VIDEO_DRAW_BITS() to inline function
2015-01-01 11:59:54 -08:00
michaelangel007
1087f738d5
Fix monochrome RGB colors
2015-01-01 09:59:58 -08:00
michaelangel007
784fb5c62b
Fix F9 video mode cycling works for monochrome modes
2014-12-31 17:57:02 -08:00
michaelangel007
e681c97c3b
Added NTSC files to Solution
2014-12-31 14:53:55 -08:00