Commit Graph

1859 Commits

Author SHA1 Message Date
Kelvin Lee
eb0e3a6b4e Add VS2019 support. 2019-08-11 17:45:23 +10:00
tomcw
2509329e8a History.txt: tweaked 2019-08-10 11:53:53 +01: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
df5127684a Removed all VS2010 proj/slns (Fixes #559) 2019-08-07 23:03:47 +01: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
f87ccb7d2f History.txt: typos 2019-07-27 21:30:51 +01:00
tomcw
d97032739e 1.29.1.0: Updated version and history.txt 2019-07-27 20:50:13 +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
Nick Westgate
f073153c64
Add Windows Universal CRT SDK to VS 2017 build instructions
I found I needed this to fix errors on standard headers as per:
https://stackoverflow.com/questions/42777424/visual-studio-2017-errors-on-standard-headers
2019-07-13 11:53:13 +12:00
tomcw
75c9669884 Fixed 2x Windowed mode: to show correct track for drive-2 2019-07-09 22:18:36 +01:00
tomcw
b891f72a0a Help: fix typo 2019-07-09 07:49:20 +01:00
tomcw
65e1d9a80e 1.29.0.0: Updated version, history.txt & help. 2019-07-08 21:46:52 +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
51802257aa 1.28.7.0: Updated version & history.txt 2019-06-15 22:38:31 +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
9a7424e704 1.28.6.0: Updated version & history.txt 2019-06-02 17:41:51 +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
tomcw
f8bd94ae87 History.txt: updated for U3 Jukebox being fixed at 1.28.0 2019-04-20 15:03:18 +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
TomCh
1ef1182d2c
Refactor Disk.cpp (#637)
* Class-ify disk.cpp into DiskIIInterfaceCard

* DiskIIInterfaceCard add in private variables

* Rename all class's private vars

* Remove the 'Disk' prefix from method names

* Rename var: iDrive to drive

* Remove redundant Initialize()

* Get rid of duplicate func

* Added info about enhanceDisk

* Rename Drive_t to FloppyDrive; and prefix members

* Rename Disk_t to FloppyDisk; and prefix members

* Rename DiskIIInterfaceCard to Disk2InterfaceCard

* Rename sg_DiskIICard to sg_Disk2Card

* Minor: fix a few comments and remove some whitespace

* Minor fixes for LOG_DISK wrapped code

* Change struct FloppyDrive, FloppyDisk into classes

* Remove IsSpinning()
2019-04-16 20:35:33 +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