Commit Graph

26 Commits

Author SHA1 Message Date
TomCh
3aa5750dcf
Make Video.cpp and WinVideo.cpp into a dependent class hierarchy (PR #898)
. class hierarchy: WinVideo IS_A Video (ie. WinVideo is a subclass of Video)
. GetVideo() singleton instance of WinVideo in AppleWin.cpp, exposed via Interface.h
2020-12-28 16:25:29 +00:00
Andrea
b8296e6c9c
Frame.h: merge into Video.h. (PR #896)
. The functions GetFrameBufferXXX() have been moved next to g_pFramebufferbits.
2020-12-27 19:01:35 +00:00
Andrea
d2a34e1f91
Remove VirtualAlloc, VirtualFree & ZeroMemory. (PR #884)
. Allocation in Memory.cpp: keep VirtualAlloc of size=64KiB (alignment=64KiB) to ease debugging.
2020-12-10 21:08:15 +00:00
Andrea Odetti
63e5c5c9ff Select a value of the Alpha mask that works at the same time in Windows and Linux (qt / sdl).
In Windows it does not seem to make any difference, so 0xFF is selected for maximum compatibility.
2020-11-28 14:13:20 +00:00
Andrea
01ad5d1882
Ensure all header files can be included (in any order) after stdafx.h. (PR #866) 2020-11-11 21:15:27 +00:00
Andrea
8cc04e2b86
Cumulative changes required to enable / ease compilation in Linux with gcc. (PR #861)
Split MouseInterface to isolate DirectInput code.
Avoid overflow in platforms where RAND_MAX is a big integer constant.
Fix include files for gcc (where enums cannot be forward declared).
2020-11-10 20:33:55 +00:00
tomcw
1e43b331f3 RGB Card support: treat AppleColor card as an alias of SL7 (#851) 2020-11-01 16:39:53 +00:00
tomcw
fb0871672c RGB card support: (#850)
. removed the precondition for enabling the extra RGB DHIRES modes
. changed IOUDIS soft-switch so that it's for //c only
2020-10-31 16:10:18 +00:00
tomcw
37009e287d Renamed enum: VT_COLOR_MONITOR_RGB to VT_COLOR_IDEALIZED 2020-10-17 14:26:33 +01:00
tomcw
a3f5989176 Idealized video: support Double-Hires-40 for FT DIGIDREAM demo 2020-10-17 12:31:44 +01:00
tomcw
b5739b862a Adjusted the Config PropSheetPage to widen the Video Mode's combo box.
Renamed a few globals & made static.
Removed a few VS2008 'int to bool' perf warnings.
2020-09-28 20:27:41 +01:00
Cyril Lambin
08458a9d29
Extended support for RGB cards (#819) (PR #837)
Video mode: "Color (RGB Card/Monitor)"
. RGB HGR rendering (no half-dot-shift, no vertical blend)
. RGB DHGR rendering
  - Color 140-mode is a real 140x192 mode with no color fringe (Video7 patent, shows that way on real hardware)
  - Mixed mode: correct transition for Color 140-mode <-> B&W (validated on a real IIc adapter.)
. Complete Féline support (eg. 2 distinct greys)
. Fixed Video7 SL7 inverse text
. Fixed DHIRES mixed mode detection
. NB. Prince of Persia will switch to B&W (560-mode) when going from HGR back to DHGR (same on real hardware).

Video mode: "Color (Composite Idealized)"
. Previously this was "Color (RGB Monitor)" (and before that, the AppleWin 1.25 "Color (Standard)")
. Now this mode does not support the extra RGB cards' video modes
2020-09-27 14:09:02 +01:00
Cyril Lambin
3e33d7f6d1
Added support for RGB cards & Video7 SL7 RGB extra modes (#819) (PR #826)
Currently only Apple Color Card and Video7 SL7 are supported.

The RGB card can be defined through the command-line:
-rgb-card-type: apple (default), sl7, eve, feline

The default text color can be modified when SL7 is selected. On the actual card this was defined by dip switches.
-rgb-card-foreground <color>
can be 6 (blue), 9 (amber), 12 (green) and white (15)

Details:
. Added RGB FG/BG Text + mixed GR mode
. Added Color Text80
. Added Duochrome HGR
. RGB card defaults to Apple Color Card + B&W text
2020-09-01 21:32:44 +01:00
tomcw
6dd129532f Fixed mem leak after a VM restart. (Fixes #809) 2020-07-04 21:39:56 +01:00
Andrea
6af3b0b028 Color (RGB Monitor): speed up 'Pure CPU MHz (video update)'. (PR #730) 2019-11-28 22:06:34 +00:00
tomcw
dad590b8c1 Bumped to 1.28.5.0 and updated History.txt
Updates for DHGR MIX (#633):
. Support new switch -rgb-card-invert-bit7 to invert bit7 for Dragon Wars.
  - Reverted DHGR MIX mode and AN2 off to invert bit7
2019-04-06 17:31:26 +01:00
tomcw
2463aae545 Updates for DHGR MIX and detection (#633):
. Support DHGR MIX mode and AN2 off to invert bit7 (undocumented)
. Improve the video-mode precondition to check for 80COL access occurring before $C05F
2019-04-06 15:17:18 +01:00
tomcw
ec36eae817 Updates for DHGR MIX and B&W modes (#631):
. Relax the video-mode precondition to just checking VF_MIXED
. In DHGR B&W mode, then HGR screen is also B&W
. For '50% scan lines', don't blend in NTSC B&W mode (as this was inconsistent with the RGB colour rendering), and DHGR MIX mode would look odd!
2019-04-06 13:49:56 +01:00
TomCh
b87ebb7514
Support better RGB fro hires video (#616) (PR #630)
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.
2019-03-16 12:49:09 +00:00
tomcw
cd9a207bee Added cmd line switch (-altgr-sends-wmchar) to enable sending WM_CHAR for key presses, when AltGr is down. (Fixes #625) 2019-03-03 14:32:19 +00:00
tomcw
82c2f3d142 1.28.3.0: Vertical blend: Changed CopyMixedSource() to operate on 14M pixel (was 7M) - #616 2019-03-02 15:54:22 +00:00
tomcw
cba3b7662e Support vertical blending: use same hires look-up table as 1.25.0.4 (#616) 2019-02-26 21:48:54 +00:00
TomCh
082b22d753
Support vertical blending for 'RGB (Color Monitor)' for hires (#616) (PR #624)
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.
2019-02-24 15:59:35 +00:00
tomcw
0458741a85 RGB AppleColor card:
- support 160-color mode by squashing 640 pixels into 560 pixels (GH#621)
  . squash by losing every 8th pixel
2019-02-03 16:39:27 +00:00
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