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.
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).
. When Alt Gr is pressed, then manually post WM_CHAR message on receiving a WM_KEYDOWN (manually translate and account for shift/control/caps-lock)
. Hook filter: suppress Alt Gr's (ie. RMENU's) fake LCONTROL messages
Also:
. Hook filter: allow Ctrl+Shift+Esc (for Task Manager)
. Keyboard: refactor only use accessor functions to get the Alt/Control/Shift state
. When in MODE_LOGO, don't pass WM_CHAR to Apple II keyboard (now consistent with WM_KEYDOWN)
. Small refactor for Apple II keyboard's WM_KEYDOWN handler
Move code for log init & done to Log.cpp
. Fix for GetKeyState() not detecting the special keys as being up (so AKD was erroneously reporting the key still down).
. eg. Whilst pressing TAB, press LEFT ALT, then release TAB.
. Also suppress ALT+SPACE
. PostMessage to AppleWin message-pump for WM_KEYDOWN, WM_KEYUP for these special key combos
. Add special any-key-down (AKD) handling for these special key combos
. Support TX IRQ for both TCP and COM modes (fixes#522)
. Support CTS/RTS (fixes#311)
. Fixed reading DIPSW registers
. Fixed TCP mode which was only generating an IRQ for first byte received
. Added UpdateCommandReg() to consolidate all updates to SSC command reg
. Updated reference URLs
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.
. ie: ESC, F7 and Pause key
Debugger: Fix for MODE_STEPPING when jump from $C3xx to $C8xx:
. Don't break on floating-bus, as Expansion ROM will be switched in on
this access.
IORead_Cxxx(): Fix the logic for IO_SELECT when not slot-3
. Move the BRK and invalid opcodes checks out of main emulation's Fetch() and into DebugContinueStepping()
. Added a new break condition: when PC reads floating bus or I/O memory
. On a break condition, output a 'Stop Reason' message to the console