Commit Graph

811 Commits

Author SHA1 Message Date
tomcw
af8257eefc Updated implementation to reflect my comment in #678. 2019-08-26 20:52:40 +01:00
tomcw
d9a15c30da Save-state: fix for loading state not re-asserting pending IRQs for Mouse & SSC. (#677)
NB. Small opt to CheckInterruptSources() to explicitly test sg_Mouse.IsActive() first.
2019-08-26 20:13:52 +01:00
tomcw
94bbc5ec3d Save-state: fix for loading state not re-asserting any pending MB/SY6522 interrupts 2019-08-26 16:52:11 +01:00
tomcw
b54fc8a058 Reverted 8a11feb7 (#650) - missed a bit! 2019-08-26 15:56:34 +01:00
tomcw
521a09e75a Reverted 8a11feb7 (#650) 2019-08-25 19:41:30 +01:00
tomcw
05f86f3e59 Changed _snprintf() to StringCbPrintf() (#268) 2019-08-25 19:21:33 +01:00
tomcw
2f52206e1e Merge branch 'master' of ssh://github.com/beevik/AppleWin into beevik-master 2019-08-25 17:18:23 +01:00
tomcw
e09cd21703 Added experiment code for DirectDraw & WaitForVerticalBlank() - #680 2019-08-25 17:07:08 +01:00
tomcw
1ee2261c60 Improved comments 2019-08-24 12:35:59 +01:00
tomcw
b488961fca Removed comment 2019-08-24 12:11:09 +01:00
michaelangel007
5e9b8fe2ae Set Ctrl-0 Toggle Fastest/100%, Ctrl-3 Always fastest 2019-08-23 19:33:56 -07:00
michaelangel007
32b42b2aeb Add Ctrl-0, Ctrl-1, Ctrl-3 for #678 2019-08-23 08:46:43 -07:00
michaelangel007
93bd7c678f Merge branch 'master' of https://github.com/AppleWin/AppleWin 2019-08-23 07:32:08 -07:00
tomcw
8a11feb739 NTSC TV video modes: adjust y-position by 1 pixel (#650) 2019-08-09 22:58:12 +01:00
Brett Vickers
9e5e21b8c9 Prevent uninitialized value bugs and improve string safety.
This change does two things:

1. Updates the registry APIs to reduce the likelihood of uninitialized
variables.

The code wasn't always checking the return value of registry load operations.
In some cases, this led to uninitialized memory being used, and crashes could
result. For example, LoadConfiguration in Applewin.cpp was using an
uninitialized value for the computer type if no registry variable for the
"Apple 2 type" was set.

New registry reading methods and macros have also been introduced, allowing
default value fallbacks for the cases where a registry variable is not found.
This makes registry access simpler and safer when a default value is known in
advance.

The registry code's style has also been updated to conform with the rest of
the code base (tabs instead of spaces, naming conventions, etc.)

2. Introduces string safety improvements.

A number of code paths have been modified to use safe-string functions instead
of their unsafe counterparts (e.g., strcpy, sprintf).  In the process, some
strings were converted from "char" to "TCHAR". This was done mostly for
consistency with the rest of the code-base.
2019-08-09 13:38:50 -07:00
tomcw
b66e5a2be9 WOZ: Small refactor 2019-08-03 18:21:41 +01:00
tomcw
1af12fbbb1 WOZ: Small refactor to call DataLatchReadWriteWOZ() for any WOZ data-latch access 2019-08-03 18:10:39 +01:00
tomcw
d973fb6b97 WOZ: Added debug dump sector & track functions 2019-08-03 17:51:19 +01:00
tomcw
b770306496 WOZ: #672
. Even disk i/o read accesses will update the data latch
. All disk i/o write accesses will update the data latch
2019-07-30 22:41:28 +01:00
tomcw
7987883847 WOZ: Register .woz extension and improved logging for all extensions. Also updated DELREG.INF and help. (Fixes #671) 2019-07-28 17:13:39 +01:00
tomcw
816dc77cb0 Only delay certain video modes when not Full-Speed. (Fixes #670) 2019-07-27 19:59:45 +01:00
michaelangel007
89eab1156c Merge branch 'master' of https://github.com/AppleWin/AppleWin 2019-07-22 12:06:53 -07:00
tomcw
c03eb54103 WOZ: Extended latch delay for 'Wizardry III' and 'Space Quest I' copy-protection (#662, #669) 2019-07-22 19:32:25 +01:00
tomcw
75c9669884 Fixed 2x Windowed mode: to show correct track for drive-2 2019-07-09 22:18:36 +01:00
tomcw
a73038fb74 Disk: fix LOGGING and comment typo 2019-07-08 21:14:31 +01:00
tomcw
8e5505c734 Fixed LOG_DISK to use CLK_6502_NTSC 2019-07-06 12:03:15 +01:00
TomCh
4bc75093b8
Support (read-only) WOZ1/WOZ2 images (#544) (PR #653)
Supports:
- all "woz test images" v1.3 (WOZ1, WOZ2) are working, except 3.5"
- additionally: Frogger (spiradisc), Choplifter (not Enhanced //e!), Lode Runner, Marble Madness, Skyfox.
- woz images can be .gz or .zip compressed (ie. same as other supported images)
- save-state

Limitations:
- read-only, so WOZ images are forced to be write-protected
  . as a result, games that need r/w images won't work (Stickybear Town Builder, Wizardry)
- 5.25" only (not 3.5")
2019-07-05 23:01:19 +01:00
tomcw
73ce127eef Removed some old commented out code 2019-06-29 17:05:07 +01:00
tomcw
f0f63f934f Tweak PAL 6502 base clock 2019-06-28 21:45:43 +01:00
TomCh
bd86088c59
Support 50Hz(PAL) (#648) (PR #658)
- Added Configuration GUI to include checkbox for "50Hz"
- Implicitly use PAL or NTSC base 6502 clocks depending on video refresh rate
- Added new -50hz and -60hz command line switches
- Updated save-state for video refresh rate

1.28.8.0: Updated version & history.txt
2019-06-28 21:34:34 +01:00
tomcw
dbcb789442 Don't delay a PAGE1/2 video mode change (#656) 2019-06-24 22:05:32 +01:00
tomcw
e6e52ffcf4 Delay any video mode change by 1 cycle (#654) 2019-06-15 18:15:00 +01:00
tomcw
3fbe416424 6522: Underflow on 0x0001 -> 0x0000; and FRT's period is N+2 cycles (#652) 2019-06-15 17:41:53 +01:00
tomcw
1f2dc6ee8a Full-speed: only do interrupt checking every 40 opcodes & simplify CYC macro (#651) 2019-06-02 14:30:54 +01:00
tomcw
98a733ba73 Removed comment about benchmark: as benchmark is now run in both normal and full-speed modes 2019-06-01 17:01:15 +01:00
tomcw
3a41061f83 Check interrupt sources after every opcode when in normal speed. (#651) 2019-06-01 16:54:58 +01:00
tomcw
941ef46e9a 6522: account for underflowed cycles to ensure consistent interrupt period (#651) 2019-06-01 12:21:00 +01:00
michaelangel007
a0f7fe46bf Merge branch 'master' of https://github.com/AppleWin/AppleWin 2019-04-18 15:58:19 -07:00
tomcw
6929ad98e3 Fix for 6522.TIMER2 not setting CpuAdjustIrqCheck() correctly 2019-04-18 20:47:29 +01:00
tomcw
ec74b9de6b F2 now resets keyboard. (Fixes #639) 2019-04-16 21:24:32 +01:00
tomcw
0d112158d0 Minor improvement to fix for #640 2019-04-16 21:13:55 +01:00
tomcw
06ffa28a7a Fix for inserting a disk into an empty but spinning driver. (Fixes #640) 2019-04-16 21:11:47 +01:00
tomcw
d66cdd5f2c Remove IsSpinning() 2019-04-16 20:30:54 +01:00
tomcw
65a87c8e11 Change struct FloppyDrive, FloppyDisk into classes 2019-04-16 20:19:35 +01:00
tomcw
c6a11d3824 Minor fixes for LOG_DISK wrapped code 2019-04-14 17:45:01 +01:00
tomcw
ffe37e55e5 Minor: fix a few comments and remove some whitespace 2019-04-14 17:41:26 +01:00
tomcw
d6f8d4edd8 Rename sg_DiskIICard to sg_Disk2Card 2019-04-14 17:01:49 +01:00
tomcw
97ded90a1c Rename DiskIIInterfaceCard to Disk2InterfaceCard 2019-04-14 17:00:15 +01:00
tomcw
1f846fa26f Rename Disk_t to FloppyDisk; and prefix members 2019-04-14 16:58:49 +01:00
tomcw
cd62b82af4 Rename Drive_t to FloppyDrive; and prefix members 2019-04-14 16:47:41 +01:00
michaelangel007
c0d442dc76 Merge branch 'master' of https://github.com/AppleWin/AppleWin 2019-04-13 10:22:42 -07:00
michaelangel007
a12f4283e9 TODO: colorize output of CALC 2019-04-13 10:22:39 -07:00
tomcw
971eff7875 Added info about enhanceDisk 2019-04-11 22:34:40 +01:00
tomcw
249b15b02d Get rid of duplicate func 2019-04-09 19:29:58 +01:00
tomcw
aa1e4cab09 Remove redundant Initialize() 2019-04-09 18:13:05 +01:00
tomcw
7c04c2c51e Rename var: iDrive to drive 2019-04-08 16:54:11 +01:00
tomcw
4235f08f7a Remove the 'Disk' prefix from method names 2019-04-08 10:41:47 +01:00
tomcw
f755db8516 Rename all class's private vars 2019-04-07 15:54:26 +01:00
tomcw
bbe0e67584 DiskIIInterfaceCard add in private variables 2019-04-07 15:32:24 +01:00
tomcw
e7d6eac04d Class-ify disk.cpp into DiskIIInterfaceCard 2019-04-07 14:22:05 +01:00
tomcw
4db23c10dc Fixed typo & inconsistency in $C070 write statement 2019-04-06 18:56:00 +01:00
tomcw
adcfb9ef3d Fix reads to $C07X to return floating bus (broke at 7c95c0f6c4) 2019-04-06 18:24:37 +01: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
tomcw
7c95c0f6c4 Fix read so that trigger paddles 555 timers reset (before was just ) 2019-04-06 11:26:33 +01:00
tomcw
7096a0a05a Support Enhanced //e soft switches (fixes #636)
. IOUDIS, RDIOUDIS, RDDHIRES

Also:
. Persist annunciators to save-state
. Fix so that $C07X trigger paddles 555 timers reset (before was just $C070)
2019-04-06 11:18:48 +01:00
tomcw
ffa41e35cc Added test cmd-line switch: -screenshot-and-exit <file.bmp> 2019-03-17 15:01:51 +00:00
tomcw
dff37871fc Changed to a case-insensitive compare for .gz and .zip suffixes. (Fixes #628) 2019-03-16 14:40:05 +00:00
tomcw
8c7d45bd8e Fixed occasional flicker when changing video mode with F9. (Fixes #611) 2019-03-16 14:27:40 +00: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
tomcw
c3f0653bfa Added cmd line switch to disable vertical blend (#616) 2019-02-24 22:00:14 +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
be81458284 Save-state: correctly stop & play Mockingboard sound buffer across save-state loading transition (#609) 2019-02-24 15:37:15 +00:00
tomcw
de3f0d877e Save-state: Better MB init for loading save-state 2019-02-24 10:49:09 +00:00
tomcw
1f1bcfd374 Save-state: Improved PR #623: always throw, but don't restart unless VM state has changed 2019-02-24 10:29:34 +00:00
tomcw
f998c7ddb2 Save-state: Explicitly init MB SoundcardType when loading state. (Fixes #609) 2019-02-23 10:22:52 +00:00
Raphaël Zumer
11137cbc44 Save-state: Do not reset on minor state load errors (PR #623) 2019-02-23 09:17:29 +00:00
tomcw
8589ad2510 Fix crash when entering debugger from logo screen. (Fixes #622) 2019-02-14 21:57:53 +00:00
tomcw
037adb7f98 Change Windows Subsystem to 5.01 for VS2013,VS2015,VS2017 to fix clipped window. (Fixes #571) 2019-02-14 21:55:38 +00:00
Raphaël Zumer
c9553d996d Convert files with special characters to UTF-8 (PR #604)
* Convert file encoding to UTF-8
* Set character sets to UTF-8 explicitly
2019-02-07 18:08:53 +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
tomcw
391336a383 Apple II,II+ keyboard: ignore up/down arrows. (Fixes #617) 2019-01-19 10:18:16 +00:00
tomcw
875a0bdd11 Very minor clean-up 2019-01-10 22:00:53 +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
tomcw
8ee651a6f8 Fixed comment typo 2019-01-06 17:02:24 +00:00
tomcw
ceb0416bf3 Fixed 6522 & interrupt:
. Broadside needs to see IRQ within 17 cycles (6 opcodes) of 6522 counter underflowing to detect Mockingboard. (Fixes #605)
2019-01-06 16:54:54 +00:00
tomcw
eea8cb3cdf Deprecated and removed support for v1 save-state. (Fixes #603) 2019-01-05 22:20:51 +00:00
tomcw
b17f880e6d HDD: Added a swap HDD function to the Config->Disk UI (#585) 2018-12-09 11:48:22 +00:00
tomcw
d0f03fc90c Removed CTRL+F10 functionality to reveal mouse cursor (fixes #597) 2018-12-09 10:05:46 +00:00
tomcw
54fffdf25a 1.27.13: Bump version & update History.txt + help 2018-12-08 13:29:48 +00:00
tomcw
5ddff0d688 DiskII: read write protect - fix spinning test 2018-12-03 21:36:54 +00:00
tomcw
5504d280c7 When drive is off then data register holds its present state. (Fixes #599)
NB. Drive off = motor off && stopped spinning after 1 sec delay.
2018-12-03 17:38:52 +00:00
tomcw
cbd41333c9 2K ROM: refactor 2018-11-21 21:21:54 +00:00
tomcw
af899fa90a Added support for Apple II/II+ 2K video ROMs (fixes #205) 2018-11-19 22:15:04 +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
14e0bb7b71 Added new switch: '-no-hook-alt' - used to prevent left/right ALT from emulating open/closed apple keys (#583) 2018-11-10 15:55:20 +00:00
tomcw
6fb5b3b0e8 Refactor: consolidate 'modechanging' optimisations into a single function 2018-11-10 10:30:19 +00:00
TomCh
42c58f54e7
Refactor Language Card (#593)
* 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()
2018-11-09 20:51:51 +00:00
tomcw
f9b7d9326e Fixed Coverity 'High Impact Outstanding' issues:
CIDs in main code:
1446691
1446688 (false positive)
1446672 (false positive)
1446643
1446642
1446641
1446635 (false positive)

CIDs in debugger:
1472410
1446728 (false positive)
1446684
1446673
1472409
1446693
1446692
1446726
1446687
1446685
1446683
2018-11-06 19:13:28 +00:00
tomcw
3bf94eca9d Fix for save-state v1: original Apple II needs a LC 2018-11-04 20:04:38 +00:00
tomcw
325bc23d08 Fix for LC when //e (broken 13c3936) 2018-11-04 17:29:22 +00:00
tomcw
155547f847 1.27.10: Bump version & update History.txt 2018-11-04 16:35:25 +00:00
TomCh
13c393624b
Apple II original: default to 48K (ie. no Language Card) (PR #592)
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
2018-11-04 15:07:46 +00:00
tomcw
09ab12d0b6 Save-state: Keyboard - save 'Key Waiting' flag. (Fixes #591) 2018-11-01 21:14:16 +00:00
tomcw
034337cb28 Saturn: Change cmd-line to -s0 <saturn|saturn64|saturn128> 2018-10-27 18:49:50 +01:00
tomcw
9e1170ca9e LC: Added more comments when loading save-state memory v1 for II or II+ 2018-10-27 18:16:32 +01:00
TomCh
46274d4d1c
Apple II: Language Card and Saturn support for slot-0 (PR #589)
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
2018-10-26 11:23:30 -07:00
tomcw
91a6227da1 Debugger: Fixed disasm of branch targets <000 missing leading zeros. (Fixes #587) 2018-10-13 22:35:55 +01:00
TomCh
53d1d04988
DiskII: Support partial nibble reads for very close disk latch reads (#586)
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)
2018-10-02 22:08:54 +01: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
a15e5a47f6 MemGetAuxPtr(): Refactor & added comment about video scanner fetching aux from the 1st 64K aux bank (#520) 2018-09-10 21:28:08 +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
396c55d8a3 Coverity: tackled a few CIDs (#470) 2018-08-12 12:48:08 +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
e4bd6162c5 Refactor: move code for WM_CLOSE next to WM_DESTROY, and WM_KEYDOWN next to WM_CHAR 2018-07-31 18:17:42 +01:00
tomcw
898f30f08a Fixed save-state on exit not working if there was a VM restart (eg. config h/w change). Fixes #564 2018-07-31 18:06:53 +01:00
tomcw
140d505fe9 Keyboard:
. reverted default so that ALT+TAB is not hooked (#556)
. reverted default so that ALT GR's fake LCONTROL is not hooked (#558)
. added new switches: -hook-alt-tab and -hook-altgr-control to support hooking these key combo's (#556)
2018-07-29 22:34:09 +01:00
tomcw
a4f225555f Keyboard: added comment for GH558 and removed some debug logging 2018-07-27 22:05:59 +01:00
TomCh
6ed354714e
Support ClosedApple+key with Alt Gr when combined with a regular keyboard key:
. 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
2018-07-27 21:55:53 +01:00
tomcw
1afa2490c5 Keyboard: Refactor for GetKeyState() 2018-07-23 22:27:33 +01:00
tomcw
97b07eaee4 Keyboard hook filter:
. Created a dedicated thread with message loop (#570)
HookFilter dll: Only call GetKeyState() if keycode is ESC (instead of every time)
DebuggerCursorUpdate(): reduce sleep from 10ms to 1ms
2018-07-15 21:00:01 +01:00
tomcw
c457241229 Keyboard:
. 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
2018-07-15 15:38:37 +01:00
tomcw
881e51874b Fix for other apps having sluggish key response - fixes #569 2018-06-30 18:21:28 +01:00
tomcw
9cacf8d90d Small refactor for reading $C01x soft switch status flags
Prevent Apple II from reading $C01x/$C07F soft switch status flags
2018-06-30 14:30:30 +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
9bc7feb37e Mockingboard: Better support for stop/starting 6522's IER.TIMERx (#567) 2018-06-20 22:13:18 +01:00
tomcw
7f478fa36c Mockingboard: Reading 6522's IER now returns 0x80|IER. (Fixes #567) 2018-06-17 18:47:57 +01:00
tomcw
6ad2621282 Fixed save-state not saving last key & update history.txt 2018-06-16 11:36:43 +01:00
tomcw
51669f36f3 Hook system keys: (#556)
. added -no-hook-system-key to prevent hooking system keys
. updated help
. HookFilter.dll: changed to directly send virtual key code
2018-06-16 10:24:05 +01:00
tomcw
734bc4cee2 AKD: Support both Return and Enter (and other extended keys). (#330) 2018-06-12 21:50:27 +01:00
tomcw
4a0e93fe28 Added new -alt-enter cmd-line switch to allow configuration of Alt+Enter behaviour (#556) 2018-06-10 18:14:34 +01:00
tomcw
e0da17ed96 Removed all VS2012 proj/slns (#559) 2018-06-10 17:01:44 +01:00
tomcw
fdd6a622dc Simplified AKD support 2018-06-02 22:26:29 +01:00
tomcw
539f5db40a Fix for //e keyboard's AKD. (Fixes #330) 2018-05-30 22:38:10 +01:00
tomcw
a07407c6f8 Suppress AKD support for II and II+ models. (Fixed #116) 2018-05-28 22:36:00 +01:00
tomcw
0d4be07e7e SysKey hook filter:
. 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.
2018-05-28 22:13:54 +01:00
tomcw
6b53adde55 SysKey hook filter:
. 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
2018-05-28 17:27:38 +01:00
tomcw
19b90800cf Add hook filter for system keys (eg. ALT+TAB, ALT+ESC, CTRL+ESC) - #145, #556 2018-05-27 10:56:35 +01:00
tomcw
20cd8913f5 For #556: Suppress the Windows Default Beep (ie. Ding) whenever ALT+<key> is pressed. 2018-05-26 18:04:13 +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