For the RGB hires look-up table:
- extended to include the previous video byte's high bit
- so it's now: {previous high bit + prev 2 video bits + next 2 video bits} & current byte
For all the RGB look-up tables:
- reduced from 512 to 256 lines (only 256 were being used, so it was just wasting space)
Refactored CopyMixedSource():
- fixed the Rainbow demo (#627)
- sped up in Debug config
Bumped version to 1.28.3.1.
Support the old AppleWin 1.25 vertical blending for hires:
- extended Config dialog to include 'Vertical Blend' checkbox
- Persist 'Video Styles' to Registry
- new cmd line options to select this style & also select 'RGB (Color Monitor)'
- code refactor to support enum VideoStyle_e (and replaced g_uHalfScanLines with a bit in g_eVideoStyles)
Bumped version to 1.28.2.0.
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.
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.
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).
* Refactor Language Card:
. MemSetPaging() now not used for $C080-C08F accesses.
- Instead LC registers its own I/O handler like all other slot 1-7 cards.
. Saturn uses base LC's 16K for bank0
* Move all 'modechanging = 0' to UpdatePaging()
Added support for #590:
* Changed Apple II original to default to no LC
* Added new cmd-line switch: -s0 <languagecard|lc>
* Changed so when LC is in slot-0, it now use Apple II+'s F8 (auto-start) ROM
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
Support partial reads for sequential accesses of 6 or less cycles.
- And 31 or less cycles when in "Disk Access Speed" = "Authentic Speed"
Save-state support for partial read cycle (Disk][ unit v3)
Added boot-time logging for Phasor1.dsk (ProDOS 1.1.1)
. 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