Compare commits

...

986 Commits

Author SHA1 Message Date
xotmatrix
c87a2c90da
Fix for corrupt 't' glyph (#1309) 2024-06-01 18:20:02 +01:00
Andrea
c0bfb0b0fe
linux munmap: fix comment and simplify memory free. (PR #1293) 2024-04-26 21:53:09 +01:00
tomcw
664d7c2d86 Phasor card: in native mode, writes to SSI263 regs 0,1 & 2 all clear the SSI263 IRQ. (#1197) 2024-04-13 13:23:10 +01:00
TomCh
b00c9b0d3f
Fix for alloc of 'memimage': so that two adjacent 64K regions map to same physical 64K region. Fixes #1285. (PR #1286)
Includes platform-specific code for both Windows & Linux.
Co-authored-by: @audetto
2024-04-01 10:20:43 +01:00
tomcw
d3ff855f2d Minor: replace IS_APPLE2 macro with function 2024-03-28 22:36:34 +00:00
TomCh
6b4f3060c4
Update README.md 2024-03-23 15:17:36 +00:00
tomcw
ba13412e27 Save-state: fix for loading LC from older versions 2024-03-23 10:45:07 +00:00
tomcw
105537e4e0 Fix 'bad dynamic cast' for when slot-0 is empty 2024-03-22 23:16:37 +00:00
tomcw
abfdb8e0db 1.30.18.0: History.txt 2024-03-22 22:30:26 +00:00
TomCh
10bf60e149
Support an extra Saturn card in slot 3 and for all Apple II models. (#1279, PR #1284)
. Command line config only, and only permitted in slot 3 for now.
. Save-state Unit v9: Extended: memory (added 'Last Slot to Set Main Mem LC', 'MMU LC Mode').
. Add LanguageCardManager class.
2024-03-22 21:36:50 +00:00
tomcw
40bf9cd2d3 6502/65C02: Fix JSR for edge-case where JSR ABS16 is on stack and SP points to ABS16! (#1257)
. Add CPU unit-tests
2024-03-03 11:30:13 +00:00
tomcw
9c1304686c Add (debug) cmd line switch: -hdc-firmware-v1 (#1277)
. use this to force all attached HDCs to use the old v1 firmware
2024-03-02 21:16:28 +00:00
tomcw
25ce998c9a Resource: bump (c) year 2024-03-02 17:14:49 +00:00
tomcw
ff8f1b21c7 Updates to AppleWin.chm:
. Update Acknowledgements (Robocom dongles)
. Uthernet II: improve 'Virtual DNS' description
2024-03-02 17:02:15 +00:00
Andrea
a85c9bfc07
Uthernet2: use fcntl for better compatibility with MacOS. (#1269) 2024-03-02 12:34:38 +00:00
tomcw
972ab3998b Help Troubleshooting: restore the note about resetting config to default (and move to top of page). (#918) 2024-03-02 12:11:10 +00:00
tomcw
e41478be0b Help Troubleshooting: add a note about .po floppy images that don't boot 2024-02-28 21:50:56 +00:00
tomcw
a16a134ae5 Robocom Interface Module dongle: use actual values for 1000 & 1500 series dongles. (#1247) 2024-02-24 20:12:06 +00:00
tomcw
0f7bec509a Zip file support: avoid double-free if there's a problem with the zip file (eg. no valid image type) 2024-02-18 21:03:32 +00:00
Peter Ibbotson
2cbecdda68
ProDOS HDD Controller firmware returns volume size in Y:X for STATUS command (PR #1272)
* New command line option to force a size for autoexpanding use.
* New HDD Controller firmware uses a separate v2 name and folder.
* Harddisk.cpp now loads HDD Controller firmware v2 by default.
* Save-state for 'Generic HDD' bumped to v4
2024-02-06 21:32:30 +00:00
TomCh
001f04c706
Phasor in Echo+ mode: fix the chip-select polarity (PR #1276) 2024-02-03 21:07:29 +00:00
TomCh
53fddfe41a
Fix SD Music card for mb-audit v1.50 (PR #1275)
. Fix for mb-audit's TestAYReadHiZ (bus-state wasn't being set correctly for SD Music's 6522 accessed via $Cs8x)
2024-01-30 19:48:34 +00:00
tomcw
fbc22fa566 Fix for reading $C01x for Apple II and II+ models. (#1261) 2024-01-28 21:31:42 +00:00
tomcw
56cc779351 MegaAudio card: Reads of 6522 IRB & IRA always return 0x00
. generalise the implementation: move AY READ logic down to 6522 read
2024-01-21 20:43:02 +00:00
tomcw
43daabec54 MegaAudio card: AY READ always drives bus with 0x00 2024-01-21 15:03:33 +00:00
tomcw
fcd216bb45 Speaker: should be dual-mono (not silent on left channel). (#1159) 2024-01-14 15:51:12 +00:00
tomcw
d0cc5b2808 Updates to AppleWin.chm:
. Add a note about '-s6 empty' and how to restore the diskii card. (#104)
. Add a troubleshooting note about how to reset config to default. (#918)
2024-01-13 18:20:02 +00:00
tomcw
78ee8101d5 Speaker: change from mono to stereo sound buffer (but left channel silent).
Possible fix for #1159.
2024-01-13 17:55:57 +00:00
tomcw
c022bbde72 Load save-state: Remove superfluous call to UpdatePaging() in MemLoadSnapshot(). (#1267) 2024-01-13 12:48:21 +00:00
tomcw
0888a25710 Small refactor for AY(s) driving bus for 6522 PortA 2024-01-06 18:20:33 +00:00
Andrea
4ab60cebf8
Serial comms: compilation in Linux (PR #1249)
* SerialComms: compilation in linux.
1) static variables must be defined (otherwise it becomes optimisation-dependent)
2) ensure the socket is closed if an error is detected

* SerialComms: avoid issues with order of global variables.
GetFrame() and the GetCardMgr() use global variables and the order of their destructor is not well defined.
CSuperSerialCard::CommTcpSerialCleanup() is called as part of the CardManager's destructor.
2024-01-06 14:50:10 +00:00
Andrea
7497aa9923
Minor bugs in SSI263 (PR #1270)
SSI263: avoid assertion in DSVoiceStop when running with -no-mb.
2024-01-05 22:41:38 +00:00
tomcw
69151a2aff MB/Phasor: support AY(s) driving bus for 6522 PortA (ie. for the PSG READ function)
. Bump MB/Phasor save-state unit to v11
. Tested against mb-audit v1.50
2024-01-03 21:22:25 +00:00
TomCh
cf0ae53018
Update README.md
Latest stable release: 1.30.16.0
2024-01-01 21:23:58 +00:00
tomcw
fea4173b43 Debugger: CmdOutputRun:
. for scripts that can be loaded: output script pathname to console.
. for scripts that can't be loaded: don't truncate pathname that's output to console.
2024-01-01 11:11:51 +00:00
tomcw
06cc8b46e2 makeAppleWin: fix 7-zip path 2023-12-31 13:02:03 +00:00
tomcw
73015ee361 History.txt: update with debugger change 2023-12-31 11:53:49 +00:00
tomcw
ab9a856bc1 Debugger: allow pathnames > CONSOLE_WIDTH(=80) for scripts run via CmdOutputrun()
. specifically for the DebuggerAutoRun.txt script (which runs at AppleWin start-up)
. internally changed MAX_ARG_LEN from 127 to MAX_PATH(260), which is used to size Arg_t::sArg[]
2023-12-31 11:45:06 +00:00
tomcw
9ee2daf72a Fix typo 2023-12-31 10:31:16 +00:00
tomcw
e46c27e5b9 1.30.17.0: Update History.txt 2023-12-31 10:30:03 +00:00
tomcw
52447ad7d9 Load save-state: fix page 0 & 1 corruption when loading save-state with a RAMWorks card with 2 or more aux 64K banks (#1262) 2023-12-31 10:14:47 +00:00
tomcw
a8de7f2030 6522: fix reading IRB - used as MB detection by Werewolf! (#1260) 2023-12-29 10:16:51 +00:00
tomcw
370b5f910c VS2019: yaml: remove 'README' (and rename 'License') 2023-12-28 12:48:29 +00:00
Kelvin Lee
abab213e15
WIN64: Use correct IReferenceClock definition from <strmif.h> (PR #1250) 2023-12-27 22:14:10 +00:00
tomcw
6a9f2ee5f9 yaml: remove 'README' (and rename 'License') 2023-12-27 21:48:31 +00:00
Kelvin Lee
ab0258928c
Update libyaml to 0.2.5 (PR #1252) 2023-12-27 21:45:35 +00:00
Kelvin Lee
5bf099a338
Update minizip to 1.1 (from zlib-1.3) (#1253) 2023-12-27 21:20:37 +00:00
Kelvin Lee
06dd4de3fe
Update zlib to 1.3 (PR #1251) 2023-12-27 21:16:56 +00:00
tomcw
6bfa28e478 z80: remove the de-optimisation pragmas from z80mem.cpp. (#755) 2023-12-27 13:45:13 +00:00
tomcw
7fcdc9a2a9 z80.cpp: rename CPP macro from DEBUG to DEBUG_Z80; and change logic to '#if 0 && defined(DEBUG_Z80)' to ensure it's never enabled. (#1265) 2023-12-27 13:37:14 +00:00
tomcw
1e444fbb9f For the VS2019 v141_xp configurations, drop the /permissive- compilation switch (#693) 2023-12-17 21:11:20 +00:00
tomcw
dfcf3d8bb0 Help doc: add info about '-mac-lc-card-dlgr' 2023-11-26 18:43:01 +00:00
tomcw
2b3576faf6 1.30.16.0: Update History.txt 2023-11-26 18:12:16 +00:00
tomcw
e7f2e3d541 Add new cmd line -mac-lc-card-dlgr to support the DLGR bug in the 'Apple IIe card Mac LC' (#1258) 2023-11-26 17:59:04 +00:00
tomcw
be427a6a30 Phasor: AY RESET resets both AYs attached to 6522 regardless of Phasor mode & CS bits. (#1197) 2023-09-07 21:40:13 +01:00
TomCh
cd2f29b723
Update README.md - Bump latest stable release to 1.30.14 2023-07-30 20:26:10 +01:00
tomcw
90500f18c0 History.txt: update release date 2023-07-29 10:20:19 +01:00
tomcw
cfcd55d09a 1.30.15.0 2023-07-21 21:22:18 +01:00
tomcw
ab5b0e2379 Debugger: update change log 2023-07-21 21:21:08 +01:00
tomcw
a7a2ef63f2 Bump debugger version: 2.9.2.0 (fixes #1206) 2023-07-21 21:18:23 +01:00
tomcw
18e06d2905 History.txt: update 2023-07-21 21:17:09 +01:00
TomCh
927b0da09a
Support Robocom's Interface Module protection dongles (#1247, PR#1248) 2023-07-17 21:02:55 +01:00
tomcw
a62beeac1e Update History.txt 2023-07-08 21:59:41 +01:00
tomcw
d3521ffe90 TRK/SEC UI: fix to show sector in later ProDOS versions (#1215) 2023-07-01 21:48:50 +01:00
tomcw
faff74a98d WOZ: Support very large 5.25 WOZ images (#1240) 2023-06-29 21:52:59 +01:00
tomcw
f8d238f2b0 Joystick: Stylistic improvements to code (#429) 2023-06-20 20:16:58 +01:00
TomCh
cac30b31ed
Support 'squaring the circle' for analog sticks (#429, #1237, PR #1242)
Using @audetto's transformation.
2023-06-19 20:29:34 +01:00
Andrea
eead359a85
Fix warning about wrong printf modifier for size_t. (PR #1241) 2023-06-18 20:21:29 +01:00
Andrea
2759527f0d
Remove some StringCb* functions and fix assertion. (PR #1239)
. Return an error for an invalid .bin image.
2023-06-17 20:41:48 +01:00
michaelangel007
03ce472e63 Debugger: 2.9.1.26: When adding symbols list the address first then the name for readability 2023-06-06 09:35:45 -07:00
michaelangel007
1d4d1291f3 Debugger: Cleanup add symbol 2023-06-06 09:23:35 -07:00
Michael "Code Poet" Pohoreski
677ba8ffb3
Debugger: 2.9.1.25 Fixed: R P ## wasn't setting P flag status register. (#1238) 2023-06-03 19:03:11 -07:00
Michael "Code Poet" Pohoreski
000ebab3c5
Debugger 2.9.1.24 (#1236) 2023-06-03 11:08:16 -07:00
Michael "Code Poet" Pohoreski
928090c756
Debugger df qol (#1229)
* Remove trailing whitespace
* Debugger 2.9.1.21 Fixed: 'df' showing zero was displaying 0 instead 0.0
* Fix debug float output
* Debugger 2.9.1.22 Fixed: 'df <addr>' was incorrectly getting marked up as 'db'
* Debugger 2.9.1.23: Show floating-point values in scientific notation.
* Cleanup formatting
* Fix debug FAC output
2023-06-03 11:04:28 -07:00
sh95014
e5c4e2c51b
Allow alternate directory for built-in symbols (#1230)
* allow an alternate directory for built-in symbol tables -- needed because macOS apps are a bundle (tree of directories) and resources are packaged somewhere within, not necessarily in the same directory as the executable.
* use tabs
* add parentheses
2023-06-02 09:28:04 -07:00
Andrea
0d635d2817
Fix read of uninitialised values in sound_ay_overlay(). (PR #1226) 2023-05-29 15:18:06 +01:00
tomcw
213aa48516 Remove the VS2008 projs for the libs 2023-05-28 21:39:58 +01:00
tomcw
67eafa8e91 Add VS2022 sln & proj files
. Debug & Release now using:
    Windows SDK 10.0 & Platform Toolset VS2022 (v143)
. Debug v141_xp & Release v141_xp still using:
    Windows SDK 7.0 & Platform Toolset VS2017 - WinXP (v141_xp)
2023-05-28 21:23:56 +01:00
tomcw
47841bf58a Debugger: Improve stop reason for 'brkop n' cmd to include address 2023-05-19 22:24:10 +01:00
Andrea
771282a792
Avoid a potential memory leak if RamWorks memory size were configurable. (PR #1225) 2023-05-08 14:45:35 +01:00
Andrea
4b18918e0f
Mockingboard: define sample rate and number of channels only once. (PR #1223) 2023-05-05 21:49:26 +01:00
tomcw
a53fbf212e [WinMM] Fix for when joysticks not detected: (PR #1162)
. first & second devices are not always at index 0 & 1
2023-05-05 21:39:42 +01:00
tomcw
009f77ddc0 Add getter-functions for GetJoystick1() and GetJoystick2() 2023-05-05 21:36:38 +01:00
tomcw
c305e1b9f1 Merge branch 'winmmjoy' of ssh://github.com/fabricecaruso/AppleWin into fabricecaruso-winmmjoy 2023-05-03 21:36:47 +01:00
Andrea
a648c3e607
Mockingboard: do not play sound unless a card is present. (PR #1222) 2023-05-02 21:47:01 +01:00
Andrea
0ecd2e865a
Fix a linux/gcc issue where sizeof(wchar_t)==4. (PR #1218) 2023-05-02 21:41:06 +01:00
tomcw
96a386a77a Config->Sound: improve UX for extra MB cards when cmd-line is empty 2023-04-29 09:47:50 +01:00
TomCh
5ba153c244
Add support for SD Music card (PR #1217)
Differences compared to Mockingboard:
. Only one 6522
. AY8913 is selected by address b7

Add cmd line: -sN sdmusic
Add cmd line: -mb-audit (to enable selection of additional sound cards, eg. for mb-audit)
2023-04-28 16:41:22 +01:00
Michael "Code Poet" Pohoreski
e1b0b20aad
Debugger DISK INFO QoL (#1212)
* Bump debugger version 2.9.1.19

* Cleanup

* Debugger: Update DISK INFO to display disk info across 2 lines of text

* Debugger: Fix ConsolePrint() to wrap long lines of text

* Debugger: Update DISK INFO to show last nibble for non WOZ floppy image

* Replace optional pointer with reference in GetCurrentState()

* Add Log.h to Disk.h

* Cleanup GetCurrentState()

* Cleanup whitespace

* Add single line output for DISK INFO foundation. Still need CONFIG DISK #

* 2.9.1.21 Added: DISK INFO [#]
2023-04-28 16:28:49 +01:00
Michael "Code Poet" Pohoreski
f8da683d45
1204 debugger long input crash (#1213)
* Debugger: Clamp long input
* Fix backspace when input line has 78 characters
* Colorize console error line
* Cleanup alignment
* Init
* Refactor common expression
* Add support for a long input line when we decide to enable it
* Unabbreviate SOL and EOL
2023-04-24 20:00:08 -07:00
Andrea
a140946a23
RIFF: fix sizes. (PR #1214) 2023-04-23 20:10:51 +01:00
TomCh
273d07d83f
Support MegaAudio card for testing mb-audit (PR #1211)
Differences compared to Mockingboard:
. TIMER1 underflows to $FFFE before it's reloaded with latch.
. TIMER1's LATCH=$0000 gets interpreted as $FFFF.
. Partial TIMER2 support: IFR.T2 gets set on underflow. But T2 reads as 0x00FF.
. AY register reads are unsupported (always read as 0).

Config->Sound: show 'MEGA Audio' in drop-down menus only if it was specified on the cmd line.
2023-04-12 18:19:18 +01:00
Michael "Code Poet" Pohoreski
33185f3f2b
Update BMP import from GIMP 2.10 with X8 R8 G8 B8 (#1209) 2023-04-10 14:33:55 -07:00
tomcw
c4e8733b95 Add more SNES MAX controller mapping files from Lukazi.
NB. Logitech F310 has a switch at the back for X(XInput) & D(DirectInput) modes, which have different PIDs.
2023-04-05 20:25:35 +01:00
michaelangel007
a68a29bcd0 Debugger: More QoL when BP hit #1200 2023-04-01 12:37:46 -07:00
tomcw
cd9136ef1d Help doc: update acknowledgements 2023-03-31 18:11:21 +01:00
tomcw
af98c02f2b Help doc: update for CodeWriter protection key 2023-03-31 14:38:51 +01:00
tomcw
79024f0078 Debugger: match new stop reason message for HDD DMA (PR #1200) 2023-03-31 14:35:05 +01:00
TomCh
7aef95f071
Support Cortechs Corp CodeWriter protection key (#1205) 2023-03-31 12:01:19 +01:00
michaelangel007
48f4a03e6c Debugger: Cleanup formatting 2023-03-31 03:59:12 -07:00
michaelangel007
db5b668eec Debugger: Step-over #1194 2023-03-31 03:46:04 -07:00
Michael "Code Poet" Pohoreski
a3c6156508
Debugger step-over can fail (#1194, PR #1203)
. QoL cleanup (show RTS address) for step-over failure cases
. Add source code for repro test 1 and 2
2023-03-31 09:45:54 +01:00
michaelangel007
4e8006456f Debugger: Cleanup LBR formatting 2023-03-29 08:25:34 -07:00
Michael "Code Poet" Pohoreski
9a857183ba
Debugger cleanup misc march 2023 (#1199)
* Cleanup breakpoints

* Cleanup sections

* Tab cleanup
2023-03-26 11:31:15 -07:00
michaelangel007
a5c5603749 Debugger cleanup 2023-03-26 11:24:03 -07:00
michaelangel007
86f71cb3d7 Debugger cleanup 2023-03-26 11:13:11 -07:00
michaelangel007
e5b6a819da Debugger cleanup 2023-03-26 11:08:48 -07:00
michaelangel007
363b8d6990 Merge 2023-03-26 11:00:26 -07:00
michaelangel007
19ed8088c4 Debugger Cleanup indentation 2023-03-26 11:00:06 -07:00
Michael "Code Poet" Pohoreski
72566373ce
Debugger stop reason (#1200)
* Add global breakpoint so we can display last breakpoint triggered information

* Cleanup

* 2.9.1.15 Pretty print what register and breakpoint number when a breakpoint is triggered

* Bump debugger version 2.9.1.15

* Fix missing space between type and var

* Cleanup

* Add CHC_REGS
2023-03-26 10:54:30 -07:00
michaelangel007
4c08b9c20c Debugger: Cleanup: Alphabetize and Prototype breakpoint utility helpers 2023-03-23 12:42:44 -07:00
michaelangel007
8c9ba27acd Debugger: Remove unused func 2023-03-23 12:33:31 -07:00
michaelangel007
2dd3f0dbe0 Debugger: Cleanup: Apply Debugger coding started to functions 2023-03-23 12:32:14 -07:00
michaelangel007
755f023ed8 Debugger: Cleanup: DRY no breakpoints message 2023-03-23 12:16:21 -07:00
michaelangel007
730c2d8fcc Update coding standard with style already in use 2023-03-23 08:47:38 -07:00
michaelangel007
1398e7495d Debugger: Post #1191 cleanup. Add BPCHANGE params 2023-03-23 08:08:18 -07:00
michaelangel007
a767763486 Debugger: QoL for bpchange when no args 2023-03-23 08:06:02 -07:00
michaelangel007
f97531c5c0 Cleanup function to match coding-standard 2023-03-23 08:05:29 -07:00
michaelangel007
a8e6941a68 Debugger: Post cleanup for #1191. Pre-requsite for bpchange. 2023-03-23 08:00:56 -07:00
michaelangel007
7d566ad0b3 Debugger: 2.9.1.16 2023-03-22 20:48:49 -07:00
michaelangel007
b7263bb1f7 Debugger: Fix BPL to have header and be colorized 2023-03-22 20:33:34 -07:00
michaelangel007
9bf2bcda4e Cleanup alignment in _BWZ_List 2023-03-20 08:29:51 -07:00
Andrea
5287bfb409
Breakpoints: some new features (#1191)
* Debugger: add new flags to breakpoints.

Stop / no stop.
Hit count
Keep temp breakpoint alive so they can be inspected.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>

* Debugger: ensure temporary breakpoints are removed when the execution restarts.

This code:

_BWZ_Clear(pBP, iBreakpoint);

was actually a bug since the function needs the root points of all breakpoints, not to a particular one.

* Breakpoints: some extra tweaks.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>

* Remove reundant code and comment.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>

* Breakpoints: coding standards.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>

---------

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2023-03-20 06:25:25 -07:00
tomcw
387b66d213 Debugger: on DebugInitialize() reset counts for BPs, Watches & ZP pointers.
. fixes an issue when BPs set, do a VM restart (eg. change h/w config), and it was STEPPING when no BPs were set!
2023-03-12 16:52:05 +00:00
tomcw
5e06ddaa94 1.30.14.1: Update History.txt 2023-03-11 23:12:11 +00:00
tomcw
17a4746df6 6522: reset also clears DDRB, DDRA, PCR 2023-03-11 21:08:41 +00:00
tomcw
5a7076135e Debugger: mini-view for AYs: show AY PSG function: RD, WR, LA (or '--' if INACTIVE) 2023-03-11 13:56:44 +00:00
tomcw
bf4eed6600 Debugger: mini-view: fix for 'm1 AYsn' 2023-03-11 11:53:20 +00:00
tomcw
2f8ad98fc0 Debugger: mini-mem views:
Add: 'm1 MBsn' and 'm2 MBsn' (eg. 'm1 MB4A').
Support 'm1 MBs' and 'm1 AYs' (eg. 'm1 MB4') which defaults to 6522-A.
Move the 2nd mini-mem view (ie. m2) down 1 line.
Remove legacy mini-mem devices: AY0-AY3 and SY0-SY3 (eg. 'm1 SY0').
. so eg. 'm1 AY0' now means show slot-0's AY1 & AY2.
2023-03-11 10:51:23 +00:00
tomcw
80328b2bac Debugger: mini-mem: fix SYn to match AYn 2023-03-09 23:02:31 +00:00
tomcw
1416cc1676 Debugger: mini-mem views: support Phasor's AY1&AY2 pair in a single view.
. use: AYsn, where s=0-7 (slot), n=A|B (6522)
2023-03-09 22:53:09 +00:00
tomcw
055c299bb4 Debugger: use dedicated MB structs to populate mini-mem views.
Remove old v1 save-state header files.
2023-03-09 20:16:21 +00:00
tomcw
3f2f071fa6 MB: rename consts AY0/AY1 to AY1/AY2 (for consistency with mb-audit code) 2023-03-07 21:51:24 +00:00
tomcw
57c26c59b2 Update History.txt & some Phasor-related comments 2023-03-07 18:06:06 +00:00
tomcw
fb37310acd Phasor: support AY READ from both AYs (#1192) 2023-03-06 22:25:30 +00:00
tomcw
f55c1abc52 Help doc: add info about '-s5h1' and '-s5h2' 2023-03-05 22:52:05 +00:00
tomcw
46302015b6 Help doc: add info about '-s<N> hdc' 2023-03-05 22:41:59 +00:00
tomcw
df0f4356ec Fix so that MB can still read AY regs after setting INACTIVE state (#1193) 2023-03-05 21:09:08 +00:00
tomcw
7c5f0e7b9a 1.30.14.0: Update History.txt 2023-03-05 21:02:45 +00:00
tomcw
a3a89ad156 Phasor/MB: For AY INACTIVE state, bus floats high - so reflect this in 6522 PortA (fixes #1193) 2023-03-05 15:43:13 +00:00
tomcw
500f32071b Phasor/MB (#1192)
. For MB: isChipSelected[0] = true. So do this on Reset() or for Phasor when switching to MB mode.
. Add "Notes on Phasor's AY-3-8913 chip-select & r/w"
. Refactor some common code into SY6522::UpdatePortAForHiZ()
2023-03-05 15:37:52 +00:00
tomcw
7110e92f14 MB/Phasor save-state: persist 'Chip Select' & 'Reg Address Latch Valid' for MB card too 2023-03-04 23:25:53 +00:00
tomcw
4f8ee0d7d9 AppleWin help: add info about -multimon command line (#1190) 2023-03-04 23:08:49 +00:00
tomcw
d8e30e56be Phasor: support discrete LATCH & READ PSG functions (#1192)
. Recode 'MB_SUBUNIT::state' as a 2-element array
2023-03-04 22:41:07 +00:00
tomcw
3b53c882ab Phasor: improve odd Phasor logic for AY1 & AY2 chip select (#1192) 2023-03-04 19:38:11 +00:00
tomcw
34141b0c1d Phasor:
. add 2nd nAYCurrentRegister (Reg. Address Latch) for 2nd AY8913.
. add support for the odd Phasor logic when doing discrete LATCH and WRITE PSG functions.
(keep in sync with mb-audit v1.3)
2023-03-04 18:14:00 +00:00
tomcw
89eb0cb07b Mockingboard: After AY is reset, then latched addr isn't valid
. Save-state: save all 8 bits of latched addr.
. Debugger: for mini-AY dump, show latched addr (current register shown in white)
2023-03-01 21:01:59 +00:00
tomcw
db44b15c37 For Phasor (native/Echo+ modes) improve support for null AY chip-select case 2023-02-28 20:42:53 +00:00
tomcw
a57bb0cb6a Update help for -capslock=off 2023-02-27 22:54:29 +00:00
tomcw
453268a302 Add command line: -capslock=off (#1187) 2023-02-27 22:42:57 +00:00
tomcw
9cf3d00288 For Phasor (native/Echo+ modes) support the null AY chip-select case (for eg. mb-audit v0.9) 2023-02-26 21:52:46 +00:00
tomcw
31cb83419a AppleWin.chm: Sound: updated info about which slots the MB/Phasor/SAM cards can be plugged into 2023-02-26 21:06:42 +00:00
tomcw
d612972e6c Add command line support for hard disk controller (hdc) in slot-5 (#1033)
. -s5 hdc
. -s5h1 <pathname>
NB. No GUI config support, so no way to plug/unplug HDDs.
2023-02-26 20:42:21 +00:00
tomcw
0d0adc1f22 Phasor's Echo+: support dual-mono (R copied to L) 2023-02-25 21:25:46 +00:00
tomcw
abe606b2a6 Alt+Enter: fix regression, as this key combo should default to toggling full screen (#1188) 2023-02-25 10:58:53 +00:00
tomcw
bca99278b6 Simplify Phasor's Echo+ mode's chip-select (#1183) 2023-02-21 21:32:11 +00:00
tomcw
dc029a4700 Fix Phasor's Echo+ mode's dual chip-select (#1183) 2023-02-21 21:08:20 +00:00
ThorstenB
e3863d47de
Properly catch the use of multiple Z80 cards. (PR #1184) 2023-02-20 19:57:25 +00:00
tomcw
cc07dc7f7b Fix Phasor's Echo+ mode to use correct AYs (#1183) 2023-02-19 21:22:44 +00:00
tomcw
13ee80686c Phasor: support reading AY8913 regs for Echo+ mode 2023-02-19 18:28:37 +00:00
tomcw
bcdaa3e1c1 Phasor: support Echo+ mode (#1183) 2023-02-19 16:38:06 +00:00
Andrea
fd8ed23b56
2 small fixes: enum comparison and include. (PR #1182) 2023-02-19 09:46:07 +00:00
tomcw
1aa0e38696 Typo in comment 2023-02-17 17:20:56 +00:00
Andrea
fb11c74d62
Avoid a couple of warnings. (PR #1180) 2023-02-17 17:18:29 +00:00
tomcw
b0220169b8 Fix a few Coverity issues (#470) 2023-02-05 21:53:51 +00:00
Andrea
5dd14256c2
CardManager: remove redundant calls. (PR #1179) 2023-02-05 21:05:57 +00:00
Andrea
b2926390c8
Remove unused includes. (PR #1178) 2023-02-05 21:04:45 +00:00
Andrea
6b176f8ff5
Mockingboard: fix out of bounds access. (PR #1177) 2023-02-05 21:03:37 +00:00
tomcw
f03f5e0904 Fix for 6522 counter underflows falsely delaying when IRQ occurs. (Fixes #1176) 2023-02-05 11:02:56 +00:00
tomcw
6a3a3114c7 MB:6522: fix edge case for IRQ not firing for very small latch values. (Fixes #1175) 2023-02-04 12:09:19 +00:00
tomcw
958c71de5f Phasor save-state v10: load older state's AYs in correct order. (Fixes #1174) 2023-01-30 21:27:49 +00:00
tomcw
749329b99f Phasor card fixes:
. Reset/Power-cycle: revert to PH_Mockingboard mode
. Load state: set SSI263() to 'm_phasorMode'
2023-01-29 19:20:07 +00:00
tomcw
d61d348f94 Fix comment 2023-01-29 13:37:07 +00:00
tomcw
cf722ff0cc Fix so that MockingboardCardMgr asserts IRQ based on the wired-OR sum of all MB card's 6522s. (Fixes #1173) 2023-01-29 13:32:55 +00:00
tomcw
c56d341bdb Remove old debug code 2023-01-28 20:56:54 +00:00
tomcw
9853d906df Update Help for new Config->Sound selection 2023-01-28 20:18:10 +00:00
tomcw
f73f23c1c7 Refactor Z80Card as a class 2023-01-28 19:58:12 +00:00
tomcw
3abf0c1753 Cmd line: support removing cards from slot 4,5 and 7 too 2023-01-28 18:44:16 +00:00
TomCh
71c67cf132
Refactor Mockingboard into a class (#1171)
Mockingboard or Phasor cards can be inserted into any slot.
Change Config->Sound to that slots 4+5 to be individually selected for the 3 soundcard types.
Add MockingboardCardManager class to manage multiple cards and mix the sound buffers.
2023-01-28 18:15:28 +00:00
Michael "Code Poet" Pohoreski
4668718fb3
Update contributing (#1167) 2023-01-17 12:11:22 -08:00
tomcw
597cea1d86 NTSC: Change to NTSC_GetVblBar() from NTSC_GetVideoVert().
Debugger: fix video scanner position's visibility (green colour) for SHR - didn't work for lines $C0-C7.
2023-01-14 14:30:12 +00:00
tomcw
d63a31a043 NTSC: only use accessors to get internal video clock vert/horz values 2023-01-14 14:08:58 +00:00
TomCh
1effb64226
Update README.md
Link to CONTRIBUTING doc for new bugs, features & PRs.
2023-01-14 10:48:03 +00:00
tomcw
3d5ed4de04 Debugger: add NTSC_GetVideoVForDebugger() just to get vert position 2023-01-13 21:19:10 +00:00
tomcw
d31a831ac2 Debugger: Fix for tf when in full-speed (#1164) 2023-01-13 21:11:00 +00:00
tomcw
244799ec5a Debugger: Fix for bpv when in full-speed (#1164) 2023-01-12 21:51:08 +00:00
tomcw
0fe774dbdf Coding Conventions:
. Avoid global vars & provide getter/setter accessor functions.
. Avoid C++11 empty initializer lists. (PR #634)
2023-01-12 21:37:41 +00:00
Michael "Code Poet" Pohoreski
1902af4ad9
Merge pull request #1163 from AppleWin/Debugger_2.9.1.14
Debugger 2.9.1.14 Fix disassembly when in middle of data
2023-01-08 12:56:37 -08:00
michaelangel007
d532922821 Remove unused var nStartAddress 2023-01-08 12:48:25 -08:00
michaelangel007
2a91824873 Debugger 2.9.1.14 Fix disassembly when in middle of data 2023-01-08 12:02:53 -08:00
Fabrice CARUSO
6303401f54 WinMM first & second joysticks are not always 0 & 1 2023-01-07 12:16:26 +01:00
tomcw
d01a9ccb40 Debugger: add index bounds checks for zpa and wa cmds
. fix zpc
2023-01-05 20:40:42 +00:00
tomcw
71076b9cce Add missing 1.30.13.0 debugger items to History.txt 2023-01-04 20:55:58 +00:00
tomcw
0532edf773 Speaker fade: use proper type 2023-01-03 21:46:51 +00:00
tomcw
4377441c26 Fix 6502/65C02's D flag for BRK, IRQ, NMI and RESET. (Fixes #1099) 2023-01-02 21:41:31 +00:00
tomcw
3ed6a77f3b Remove VS2008 sln/vcproj. (Fixes #1050) 2023-01-02 21:05:08 +00:00
TomCh
331f6988b1
Latest (stable) release: 1.30.13.0 2023-01-02 12:16:38 +00:00
tomcw
09b685813f 1.30.13.0: Update History.txt 2023-01-02 11:18:44 +00:00
tomcw
ac12f3c294 Fix video junk on RHS edge for TV & Monitor video modes. (Fixes #1157) 2023-01-02 11:15:40 +00:00
tomcw
aa40b2dda7 1.30.13.0 2023-01-02 09:41:49 +00:00
tomcw
ad8f43d416 Minor fix for diskii T/S status 2023-01-02 09:14:49 +00:00
tomcw
42148a7ffe Update Acknowledgements & History.txt 2023-01-01 21:52:19 +00:00
tomcw
fd3e2a01e9 Add the SNES MAX controller mapping files.
Update makeAppleWin.bat to copy the mapping files into the distro zip.
2023-01-01 21:10:45 +00:00
tomcw
dfbf630edd Help: add -snes-max-user-joy1 <file.yaml> & -snes-max-user-joy2 <file.yaml> 2023-01-01 21:05:50 +00:00
tomcw
f78c20f534 SNESMAX: refactor some code 2023-01-01 20:31:39 +00:00
tomcw
af9d2a6402 Help: add info about dongle 2023-01-01 19:34:32 +00:00
tomcw
dee264483a Save-state: Game I/O Connector: change yaml 2023-01-01 18:47:21 +00:00
tomcw
4ca6aaea33 Add save-state support for new unit: 'Game I/O Connector' 2022-12-31 19:51:15 +00:00
tomcw
043bc49f3d Add a new Registry Configuration interface: "Game I/O Connector" (like Slots).
Change Config->Advanced to show 'Game I/O Connector' (instead of 'Copy Protection Dongle').
2022-12-31 17:32:50 +00:00
TomCh
be62e7afa5
Remove point about support for LCM Eve 2022-12-29 22:12:04 +00:00
tomcw
9920aaa711 1.30.12.1: point-release (#1141) 2022-12-16 10:34:51 +00:00
tomcw
74d77e1dfb vcxproj: Move CopyProtectionDongles.cpp/h under 'Emulator' 2022-12-16 10:30:33 +00:00
Matthew D'Asaro
e5a87b5063
Add support for hardware copy protection dongles in game i/o socket (#1153, PR #1154)
Changes:
- Add a drop-down menu to the 'Advanced' tab that lets the user select a dongle in use
- Add a new file "CopyProtectionDongles.cpp" that is a place to put drivers for these.
- Add a driver for the one known dongle we have now - Speed Star
- Modify Joystick.cpp to allow PB0-PB2 to be "pushed" by the protection dongle.
2022-12-16 09:04:29 +00:00
TomCh
5c0f3d03ad
Support controller-button remapping file for SNES MAX (#1155)
SNES MAX: Support controller-button remapping (yaml) file from command line. (#1141, PR #1155)
2022-12-15 14:45:00 +00:00
tomcw
9358abbb28 Help: add info about LCM Eve & Feline cards 2022-12-11 13:28:39 +00:00
tomcw
40e8cdf317 A2_BASIC.SYM: exclude the 7 MATHTBL constants. (Fixes #1144) 2022-11-20 21:18:07 +00:00
tomcw
9738af1757 Video rendering: fix glitch when in non-'50% Scan lines' mode. (Fixes #1143) 2022-11-20 20:54:15 +00:00
tomcw
7100bfa5b5 Debugger: LBR: support the unset/undefined case (eg. reset to undefined when beginning a new debug session) 2022-11-19 20:39:41 +00:00
tomcw
0000e8b9c3 Mouse: support VBL even when in 'mouse off' mode. (Fixes #1138) 2022-11-17 22:23:20 +00:00
tomcw
6a1ebe7801 Help: update for Config -> Disk: 'Show Status' 2022-11-17 21:29:20 +00:00
TomCh
8cd51ba155
Show Disk II Slot 5 status (#1134, PR #1137)
. In 2x windowed mode: always show slot 5 Disk II LEDs.
. Add tooltips for slot 5/6 track/sector info (d1 & d2) - shows dec/hex & fractional track position.
  - but this track/sector info is now on a UI toggle in the Config -> Disk tab.
. Debugger: add 'DISK SLOT n' - to set current slot of Disk II card
  - ie. support 'DISK INFO' for slot 5
2022-11-17 21:08:11 +00:00
tomcw
8e2ee62d37 Debugger: add new command: 'bpv <vpos,[len]>'
. break on video-scanner's vpos matching
. NB. auto disable when hit
2022-10-08 19:19:18 +01:00
tomcw
e6cdd5a2c9 Help: update cmd line for '-s5|6 diskii13' and debugger info about zp/memory watches 2022-10-06 21:54:12 +01:00
tomcw
a57f2b29a3 Support '-s6 diskii' and '-s6 diskii13' (#1133)
. so that a diskii card can be re-inserted into an empty slot 6
Improve command line for slots 5&6: -sN diskii and -sN diskii13
. on a restart (or change of config), if that diskii card is already in the slot then ignore
. ie. don't lose the image(s) across a restart
2022-10-06 21:18:14 +01:00
tomcw
69fa53ab7d Add command line: '-sN diskii13' to force the diskii card (in slot-N) to use the 13-sector firmware (#1133) 2022-10-05 21:29:57 +01:00
tomcw
259472a877 Fix for Rainbow demo for 50Hz/PAL Color Monitor. (fixes #1131) 2022-10-02 21:52:13 +01:00
tomcw
9df0ea1e21 Video: fix floating bus in new function getVideoScannerAddressTXTorHGR():
. when 'in mixed mode && vert >= 160' return text (not hires) video memory
2022-10-02 20:23:54 +01:00
tomcw
dfaaa2823e Debugger: Extend watches: 'WA <n> v' to show video scanner address & video data (aux and/or main or shr 4-byte) 2022-10-02 16:28:03 +01:00
tomcw
4fc07b4a7a AppleWin.rc: update copyright year! 2022-09-27 21:51:15 +01:00
tomcw
e740642857 1.30.12.0: Update History.txt 2022-09-27 21:00:13 +01:00
tomcw
32c7babf51 Phasor load save-state:
. Fix regression when switched to using correct primary AY8913 (regressed at 1.30.10 and 1.30.11)
. Specifically fixes AppleWin-Test: phasor-fugue.aws.yaml
. NB. bumps Mockingingboard version in save-state to v8
2022-09-24 20:16:19 +01:00
tomcw
4a7f05ed36 Full-screen: Retain uniform x and y scaling, unless user specifies a full-screen resolution (#1121) 2022-09-24 17:13:09 +01:00
tomcw
3875b7b433 Fix for joystick read (fixes #1128) 2022-09-19 14:44:13 +01:00
TomCh
4c83186545
Add jitter before track seam (under special conditions) (#1125, PR #1129)
Use FindTrackSeamWOZ() to find longest run of sync FF/10 nibbles.
Jitter added:
. only for tracks 33.0 and above
. only for tracks with long runs of sync FF/10 of more than 110

Changes:
. DumpTrackWOZ() outputs nibble then zeros (instead of zeros first)
. Debugger: 'disk info' outputs bitOffset (instead of byteOffset+mask)
2022-09-19 11:00:34 +01:00
tomcw
f300edb5de 1.30.11.1: point-release (#1127) 2022-09-02 21:08:25 +01:00
tomcw
b299a5d701 Debugger: fix 'Search memory' which had an out-by-one range bug for the end-address (#1127) 2022-09-01 20:15:34 +01:00
tomcw
3f40955306 WOZ: fix obscure crash bug. (Fixes #1126) 2022-08-30 21:43:20 +01:00
TomCh
09c09a1278
Update README.md 2022-08-21 13:11:23 +01:00
tomcw
5888a2b4a6 WOZ: Change track head movement positioning to work on bit (not nibble) offset. (#1022) 2022-08-21 11:48:42 +01:00
tomcw
74a664840f WOZ: Fix for 'Balance of Power' (#1022) 2022-08-20 12:54:14 +01:00
tomcw
c9f5df1e1e Fix typo in log msg 2022-07-02 16:59:03 +01:00
tomcw
a1509608f9 Help doc: add info about cmd line switch: -fs-width 2022-07-02 11:33:29 +01:00
tomcw
3ab80d9b9c Command line: support '-s2 ssc' 2022-06-26 19:06:39 +01:00
tomcw
bba86863c3 Fix video mode for line-0: Color (PAL Monitor), when mixed GR+TEXT 2022-06-26 16:09:41 +01:00
TomCh
5b1328b465
Update README.md
Latest stable release: 1.30.10.0 (was 1.29.16.0)
2022-06-26 14:39:38 +01:00
Andrea
1095186c0c
Fix printf warning. (PR #1118) 2022-06-24 22:00:31 +01:00
tomcw
6f71cffcdd 1.30.11.0: extra update to History.txt 2022-06-23 21:27:15 +01:00
tomcw
92ea6f0c61 1.30.11.0: Update History.txt 2022-06-23 20:26:09 +01:00
tomcw
ccea9d55f8 Disk2: Stepper Control - update comment 2022-06-21 21:19:24 +01:00
TomCh
de173b2729
Support two adjacent phases turned off in rapid sequence (#1110, PR #1116)
Fix for A2osX low-level format for 48-trackl, 192K floppy image
2022-06-20 20:40:39 +01:00
Andrea
b3e617f1e5
Uthernet II: the real hardware only decodes A0 and A1, so we introduce a 0x03 mask. (PR #1115)
Fixes #1113
2022-06-17 21:27:52 +01:00
tomcw
6a934bcfef Update History.txt 2022-06-07 21:46:48 +01:00
Andrea
3d260e8b78
Avoid sign extension issues in 64 bit. (PR #1112)
If "GetVideo().GetFrameBufferCentringValue() - kOverscanOffsetL" is negative, it causes an overflow.
2022-06-07 21:00:33 +01:00
tomcw
061570398d Help: Debugger: extend info about loading DebuggerAutoRun.txt 2022-06-06 21:32:23 +01:00
tomcw
1b80c7bf16 Debugger: change search path for DebuggerAutoRun.txt
. try CurrentDir first, only if this fails then try AppleWin's ProgramDir.
Also: defer DebugInitialize() until later so it can take advantage of -current-dir command line switch.
2022-06-06 19:46:10 +01:00
Kelvin Lee
cd0fdf15ff
Replace/remove StringCat() and friends (PR #1098)
- Simply use std::string
2022-06-05 19:47:40 +01:00
Andrea
240b1fd6c7
Minor: fix static declaration. (PR #1111) 2022-06-05 19:46:35 +01:00
tomcw
bb56b99af5 HDD: change writes so they are done in units of PAGE_SIZE(256B) to match reads
. making it easier to reason about DMA breakpoints (as they are now consistent for reads & writes)
2022-06-05 19:41:06 +01:00
tomcw
80c1150183 SSI263: for amplitude (reg3), now scale the samples and not SetVolume().
Reason: calling SetVolume() in Play() is too early, and the previous phoneme won't have completed.
Getting the timing right will be difficult, so better to just manipulate the samples as they get written to the playback buffer.
2022-06-05 12:10:50 +01:00
tomcw
1e65528763 SC01: use max amplitude 2022-06-03 22:16:20 +01:00
tomcw
9e9996bee7 SSI263: support reg3's amplitude 2022-06-03 22:09:32 +01:00
TomCh
22065c6325
Debugger memory breakpoint support for HDD DMA r/w (#1103, PR #1109)
When the debugger is active (eg. breakpoints enabled) then trap on HDD r/w's that match the BPM[R|W].
NB. the breakpoint will fire after the whole HDD r/w operation has completed.
2022-06-03 15:34:37 +01:00
tomcw
a1f6ebe1c9 VidHD: fix debugger mouse-click hit-test issues. (#1106) 2022-06-02 21:27:06 +01:00
tomcw
a41be14015 VidHD: fix minor junk on RHS (#1106) 2022-06-02 20:47:13 +01:00
tomcw
16f66da594 SSI263: support phoneme zero amplitude
Refine Phasor native mode's logic for SSI263 access
2022-06-02 20:32:16 +01:00
tomcw
cd0c3b00f8 Save-state: when loading state, correctly use C3 ROM when INTCXROM=0 && SLOTC3ROM=0. (Fixes #1108) 2022-06-02 17:51:57 +01:00
tomcw
0f750ee167 VidHD fix minor glitches on top, left & right edges (#1106)
. when changing VideoType (or feature) then clear these 3 edges
2022-05-29 22:00:20 +01:00
tomcw
8f07479dad SSI263 phoneme playback bug: (fixes #1104)
Fix for rare race-condition, where a phoneme could complete immediately before SSI263's interrupt is enabled:
- resulting in A2 code failing to detect SSI263 or speech phrase never completing.
Only ever possible when debugger-stepping or in full-speed mode.
2022-05-29 10:32:11 +01:00
tomcw
89cbb0c65c 1.30.10.0: Update History.txt 2022-05-27 20:32:35 +01:00
tomcw
5236bb95b6 Phasor: use correct primary AY8913 for Phasor & MB modes (now checked in mb-audit v1.2) 2022-05-21 11:15:01 +01:00
tomcw
961625721b U2: Improve comment (#1100) 2022-05-20 08:04:49 +01:00
Andrea
60cbbb40db
Uthernet II: 2 fixes and minor changes (PR #1100)
* Enable virtual DNS by default.
* Improve handling of header size:
This fixes an issue in UDP, where it would not take the header size into account when deciding how much to read.
* IPRAW socket. Fix an issue where the header would include "our" IP Address.
The doc is not very clear 5.2.3: they say "destination". But for consistency with UDP (5.2.2) where it seems clear that this is the peer's ip, we replace with the "destination" of the socket, or the "source" of the packet.
* minor tweak: signal with SOCK_SYNSENT that a connection is being established.
* remove Socket::myErrno as it serves no purpose.
It is a duplicate of (sn_sr == W5100_SN_SR_SOCK_SYNSENT).
* add some logging when reading/writing on a closed socket.
2022-05-19 19:30:34 +01:00
Andrea
6a5ea92a4e
Uthernet II: add virtual DNS feature (PR #1097)
Uthernet II: add extended feature to virtualise DNS requests.
. This allows pure TCP/UDP sockets to run *without* MACRAW requests (and so without libpcap).
. Raw sockets will not work.
. Add configuration for Virtual DNS.
libpcap: ensure all functions check if the library is loaded before using it.
Uthernet 1: do NOT overwrite tfe_cannot_use as it should only reflect the availability of npcap on *this* system.
Add Copyright notice, and mention Virtual DNS in html.
2022-05-08 16:26:01 +01:00
tomcw
ccb4582bf9 Debugger: fixed warning (and a typo) 2022-05-01 15:15:09 +01:00
Kelvin Lee
4063611e71
Debugger: replace sprintf() part 7 final - Debug (PR #1093)
- Add ProfileLine_t to take care of the profile line buffer
- Simplify _SearchMemoryDisplay() without using StringCat()
- Simplify CmdOutputPrint() significantly
2022-05-01 15:01:33 +01:00
Kelvin Lee
47ba87a015
Debugger: replace sprintf() part 6 - Debugger_Disassembler (PR #1092)
- Improve FormatCharCopy() to not buffer overflow
- Improve FormatOpcodeBytes() to not buffer overflow
- Improve FormatNopcodeBytes() to not buffer overflow
- Change FormatDisassemblyLine() to return std::string
2022-05-01 14:24:35 +01:00
Kelvin Lee
b9308b36ea
Debugger: replace sprintf() part 5 - Debugger_DisassemblerData (PR #1091)
- Change _GetAutoSymbolName() to return std::string
2022-05-01 14:08:45 +01:00
Kelvin Lee
0ab10905e4
Fix a couple of warnings from PR#1090 (PR #1094)
* Fix a couple of warnings from PR#1090
* Fix as suggested and further improvement
2022-04-30 10:53:14 +01:00
tomcw
a5c41dd8ca Uthernet: check pcap_dispatch() for -ve (error) result too (#1095) 2022-04-29 21:03:25 +01:00
tomcw
93ea5b3e60 WOZ: Improve reading write-protect (#1078) and remove 'm_resetSequencer' var 2022-04-23 18:13:15 +01:00
Michael "Code Poet" Pohoreski
777d5f6807
Merge pull request #1090 from kiyolee/replace-sprintf-part-4
Debugger: replace sprintf() part 4 - Debugger_Display
2022-04-22 08:51:14 -07:00
Michael "Code Poet" Pohoreski
d4476ac4e7
Merge pull request #1089 from kiyolee/replace-sprintf-part-3
Debugger: replace sprintf() part 3 - Debugger_Symbols
2022-04-22 08:50:39 -07:00
Kelvin Lee
d0360937c1 Fix per review 2022-04-21 00:40:46 +10:00
Kelvin Lee
d490b794e9 Fix per review 2022-04-21 00:21:30 +10:00
tomcw
cb37dd300b WOZ: Fix for reading write-protect from data register (#1078) 2022-04-18 21:13:41 +01:00
tomcw
03aec01086 Help: add cmd line info about -wav-speaker/mockingboard 2022-04-18 10:45:13 +01:00
Kelvin Lee
6a342c27ce Debugger: replace sprintf() part 4 - Debugger_Display
- Change ColorizeSpecialChar() to return std::string
2022-04-18 08:46:33 +10:00
Kelvin Lee
d83dae3b29 Debugger: replace sprintf() part 3 - Debugger_Symbols
- Change _CmdSymbolsInfoHeader() to return std::string
2022-04-18 08:46:15 +10:00
tomcw
08c730c647 Cmd line: add -wav-speaker <file> & -wav-mockingboard <file> 2022-04-17 16:23:51 +01:00
Kelvin Lee
494aaa04c0
Debugger: replace sprintf() part 2 (PR #1085) 2022-04-17 11:40:21 +01:00
Kelvin Lee
a5e8ee31a3
Debugger: Improve some for-loops definitions (PR #1084) 2022-04-17 11:32:03 +01:00
Kelvin Lee
f948a9491a
Debugger: Remove unnecessary alias pointer (PR #1083) 2022-04-06 20:37:24 +01:00
Kelvin Lee
6e003fd49f
Debugger: replace prefix 'str' with 's' (PR #1082) 2022-04-06 20:36:24 +01:00
tomcw
5b50d784d7 Fix for previous commit 05a17d9 - pass a c-string 2022-04-03 19:31:42 +01:00
tomcw
05a17d9a69 DiskII: fix build error when LOG_DISK_ENABLED = 1 2022-04-03 19:02:59 +01:00
tomcw
e97be1b836 Debugger: fix console output for 'disk info' cmd
. fix to ConsoleBufferPush() which was skipping a char when the line needed to output to a 2nd line
2022-04-03 18:49:36 +01:00
Kelvin Lee
1bcf371309
Debugger: Format changes only (PR #1076) 2022-04-03 18:15:22 +01:00
tomcw
b6404e7d96 Coding Conventions: Add a space after keywords (#1072) 2022-04-03 18:10:52 +01:00
Kelvin Lee
01b9061482
Debugger: Rename 'pszCategory' to 'pCategory' (PR #1057) 2022-03-29 19:53:51 +01:00
Kelvin Lee
0f9e64b298
Debugger: Format changes only - consistent space after keywords (PR: #1072) 2022-03-27 20:48:26 +01:00
Kelvin Lee
0f7e240841
Debugger: Fix to use logical "&&" for boolean variables (PR #1073) 2022-03-27 20:44:50 +01:00
Kelvin Lee
eac88a340d
Fix spelling: "seperator" -> "separator" (PR #1071) 2022-03-25 20:11:33 +00:00
TomCh
a3774705e9
Update README.md 2022-03-23 21:43:24 +00:00
tomcw
37445c4e35 1.30.9.0: Update History.txt 2022-03-23 20:11:50 +00:00
tomcw
7640ce8383 AppleWin.chm: credit @audetto for his work done on Uthernet II support (+other tweaks) 2022-03-22 19:51:25 +00:00
Andrea
500c2e50b6
Uthernet II: handle TCP connection failure. (PR #1070) 2022-03-22 19:39:49 +00:00
Andrea
cdd360bdfe
Uthernet II: implement IPRAW sockets. (PR #1069) 2022-03-22 19:30:42 +00:00
Kelvin Lee
2d4f60452f
Add ByteToHexStr() and WordToHexStr() (PR #1064)
- Simplify common StrFormat(), especially in Debugger (changes upcoming)
- Add helpers StrAppendByteAsHex() and StrAppendWordAsHex()
- Add helpers StrBufferAppendByteAsHex() and StrBufferAppendWordAsHex() for plain string buffer
2022-03-22 19:19:50 +00:00
TomCh
119db28de1
Update README.md 2022-03-20 16:38:14 +00:00
TomCh
b4b29e1ef5
Refactor ParallelPrinter.cpp/h as a C++ class (PR #1067)
Add command line:  -s1 parallel.
NB. Only a single Parallel Printer card is supported, and currently it's restricted to slot 1.
2022-03-18 22:04:34 +00:00
tomcw
cbc0c2cf87 Save-state: wrap string in quotes when it contains comment char '#'. Fixes #1066 2022-03-17 20:14:52 +00:00
Andrea
a4341aa808
tfesupp: remove all manual string manipulations - just use std::string. (PR #1065) 2022-03-14 21:12:52 +00:00
tomcw
00668c2668 Debugger "help <cmd>" : fix formatting.
And specifically for "help brk" - split help across an extra line for better readability
2022-03-14 20:50:21 +00:00
tomcw
169f0b29e8 Slot 3: make the default (ie. vanilla install of AppleWin) have an empty slot 3.
. Previously it would default to Uthernet, but there are now other slot 3 card options.
2022-03-13 17:19:21 +00:00
Kelvin Lee
e38e48e3a6
Debugger: replace sprintf() part 1 (PR #1060)
- Add MemoryTextFile_t::PushLineFormat()
- Replace some sprintf() with PushLineFormat()
2022-03-13 16:37:25 +00:00
tomcw
35ec3fcc7f Fix crash when in Config GUI -> Disk:
. eg. add DiskII in slot-5, cancel, then access $C0Dx
Change IsCardInSlot() to use CardMgr().QuerySlot()
2022-03-13 16:12:01 +00:00
Andrea
231e6c6d64
Cards: remove special call to InitializeIO() for Disk and Harddisk. (PR #1061) 2022-03-13 15:45:43 +00:00
Kelvin Lee
be846efc83
Use clear() instread of erase(begin(), end()). (PR #1053) 2022-03-12 11:19:34 +00:00
tomcw
51149083e6 Add log msg for power-cycle, and improve debug-check for U1 $Csnn I/O access. 2022-03-12 10:16:38 +00:00
Andrea
12d1a0e1fe
Card: cleanup interface. (PR #1059)
1) Remove Init()
2) Call Reset() via CardManager
3) Call Destroy() via CardManager (only used by Disks/Harddisk) on WM_DESTROY

The only "real" changes are in CSuperSerialCard: ensure destructor cleans up and remove Destroy().
2022-03-11 22:17:03 +00:00
Andrea
bbe2a7f8ee
Uthernet II card: support save/load state. (PR #1054)
NB. do not attempt to restore a UDP / TCP socket.
2022-03-07 21:08:31 +00:00
TomCh
10337aa95c
Update CONTRIBUTING.md
Add link to Coding Conventions doc.
2022-03-05 11:48:33 +00:00
tomcw
45f30a86a3 Coding Conventions: update for Platform Toolset v141_xp (C++11/14/17) and StrFormat() rule. (#1050) 2022-03-05 11:43:06 +00:00
tomcw
648f832647 Debugger: minor stop-reason refactor 2022-03-02 21:25:04 +00:00
Kelvin Lee
dfb8802763
Replace sprintf() with StrFormat() (PR #1048) 2022-03-02 21:10:41 +00:00
Kelvin Lee
80f3eaeb91
Various *Name() functions can simply return const std::string& (PR #1049) 2022-02-28 20:52:18 +00:00
tomcw
d2004553f1 Remove old tfe.cpp 2022-02-27 18:06:15 +00:00
Andrea
9f8c4d99af
Add Uthernet II support and make Uthernet I a Card. (PR #1047)
. tfe.cpp renamed to Uthernet1.cpp.
. add class NetworkBackend: common to both U1 and U2 cards, and abstracts Windows/Linux backends.
. modernise error message if WPCAP.DLL is not installed.
2022-02-27 17:26:48 +00:00
tomcw
514d2adb79 6522: Fix IFR.T2 when counter.b15=1 2022-02-26 21:10:42 +00:00
tomcw
c277c5152d Fix a few medium Coverity defects:
1514566, 1063811
2022-02-26 20:23:00 +00:00
tomcw
707993b686 Fix LogOutput() to call StrFormatV() 2022-02-26 18:39:39 +00:00
Kelvin Lee
253a59fde6
Replace sprintf_s() and wsprintf() with StrFormat(). (PR #1041)
And these Debugger related:
. Improve FormatAddress() and GetSymbol().
. GetSymbol(), FindSymbolFromAddress(), FormatAddress() are changed to use std::string instead.
. Remove static variable (not nice) in FormatAddress().
. GetSymbol() returns std::string reference instead of pointer.
2022-02-26 17:54:06 +00:00
Andrea
9ad6b11cf9
Fix some format errors. (PR #1042) 2022-02-26 17:15:09 +00:00
Kelvin Lee
5a5d0e2df4
Debugger: Simplify console print (PR #1038)
. Simplify console display functions using StrFormat()
. Update TestDebugger that needs StrFormat() now
2022-02-17 22:12:04 +00:00
tomcw
43b9df253a Fix build errors from PR #1039 2022-02-16 20:14:40 +00:00
Kelvin Lee
7ae8907674
Remove unnecessary static std::string variables (PR #1039) 2022-02-16 20:09:10 +00:00
sh95014
8cb3d4c88c
Make DiskGetFullPathName() public. (PR #1035)
Reasons:
. a macOS port needs it for the disk image browser feature.
. for consistency with "class HarddiskInterfaceCard".
2022-02-15 19:02:03 +00:00
Kelvin Lee
1a4e933778
Replace StringCbPrintf() with StrFormat() (PR #1032) 2022-02-15 18:48:20 +00:00
Andrea
48dd638d33
Synchronize Linux build. (PR #1037)
. remove OutputDebugStringA()
. push changes to StdAfx.h
. mention g_strSaveStatePathname in the error message for loading save-state
2022-02-14 20:37:18 +00:00
Kelvin Lee
9a3832084a
Simplify the common combination of sprintf() and OutputDebugString() (PR #1031)
- Update LogOutput() and LogFileOutput().
- Add StrFormat() to produce std::string out of snprintf() & add StrFormat.cpp to projects.
- Add PTRDIFF_T_FMT in parallel to SIZE_T_FMT to StdAfx.h, for completeness.
- In Log.cpp, changed to get timestamp using posix functions.
- Removed TCHAR usage throughout - simply use char.
2022-02-13 21:37:05 +00:00
tomcw
83e56924f7 WM_CREATE: remove CpuCreateCriticalSection(), since done in SY6522.Reset() 2022-02-13 12:37:33 +00:00
tomcw
b519031de4 WM_CREATE: call CpuCreateCriticalSection() instead of CpuInitialize() 2022-02-12 19:11:34 +00:00
tomcw
3fe06faf65 MB/6522: remove the legacy g_nMBTimerDevice variable.
Fix ASSERT from previous commit as SY6522.Reset() needs CriticalSection.
2022-02-12 18:42:58 +00:00
Andrea
8bbb85b1e8
SY6522: initialise device. (PR #1036) 2022-02-12 17:29:49 +00:00
sh95014
9459ec261a
Writes to Printer Interface card strobe should not be interpreted as a data byte (#1017 PR #1027) 2022-02-11 20:57:09 +00:00
tomcw
3d39698d2c CHM: Bump copyright year 2022-02-08 21:24:50 +00:00
tomcw
771d9b1328 1.30.8.0: Update History.txt 2022-02-08 20:32:02 +00:00
Kelvin Lee
ad73f3ec37
A couple of smallish fixes (PR #1029)
. Fix VS2008 build: int8_t is not defined
. Fix VC compile warning C4800: forcing int to bool
2022-02-05 22:02:26 +00:00
TomCh
f7c6ef397c
Split 6522 out of MB code and into own class (PR #1028)
NB. Update CpuInitialize() & CriticalSection creation:
. call CpuInitialize() on WM_CREATE to create CriticalSection
. needed as MB_Initialize() needs CriticalSection
2022-02-05 18:48:36 +00:00
tomcw
53ab72ce13 Card.cpp: add newline at EOF 2022-01-30 21:37:40 +00:00
Andrea
7ab65492c6
Load save-state for Cards: improve error messages. (#1025)
. better error message for (unlikely) slot mismatch.
. better error message if load state version is invalid.
2022-01-30 21:25:40 +00:00
tomcw
24378313c3 WOZ-related changes:
. Significant bit-cells after a gap between latch access upped from 50 to 100 (#1020)
. Minor track sync mod: Update bitStream position for current track before re-calc'ing position for new track (#1022)
. Minor: for DiskII I/O regs $A/B (Select Drive 1/2) update the isWOZ variable to reflect new image-type
2022-01-29 21:27:03 +00:00
tomcw
af814347f0 Support AN3 for IIe (#1018)
(Fix IOUDIS for IIc - $C07E/F was backwards)
2022-01-15 18:01:41 +00:00
Andrea
5fbd8339c1
Screenshot: reset file pointer to the end. (PR #1016) 2022-01-07 21:06:24 +00:00
michaelangel007
aa4af5e9d5 Debugger: Fix DF E937 not checking for 0.0 correctly 2022-01-06 10:26:30 -08:00
michaelangel007
65e4859b01 Debugger: Cleanup DB DB2 DB4 DB8 DW DW2 DW4 DF DS 2022-01-06 10:18:38 -08:00
michaelangel007
ae214a1b19 Debugger: Cleanup: Add note about magic number 200 2022-01-06 10:12:37 -08:00
michaelangel007
8667c0eb32 Debugger: Cleanup: Add note about DISASM ID 2022-01-06 10:10:59 -08:00
michaelangel007
182e48e82d Debugger: Add: First pass of DF 2022-01-06 10:10:09 -08:00
michaelangel007
32ee96fb8b Debugger: Cleanup FormatNopcodeBytes() 2022-01-06 08:24:55 -08:00
michaelangel007
7c4855e631 Debugger: Cleanup DISASM_DISPLAY_ enums 2022-01-05 15:42:34 -08:00
michaelangel007
ca1bea3b97 Debugger: Add comment about DISK command 2022-01-05 15:41:47 -08:00
michaelangel007
225b290e3e Debugger: Update wish list 2022-01-05 15:41:18 -08:00
michaelangel007
545c79f132 Debugger: Cleanup: Nopcode_e 2022-01-05 08:55:17 -08:00
michaelangel007
7853c1cfcc Debugger: Cleanup 2022-01-05 08:54:54 -08:00
michaelangel007
8d864c2ab6 Cleanup: getVideoScannerAddressTXT() and getVideoScannerAddressHGR() to make it easier to debug 2022-01-04 23:37:38 -08:00
michaelangel007
98a4481c7d Debugger: 2.9.1.13 Added: CD now detects .. to change to the previous directory and chops the trailing sub-directory from the current path. 2022-01-04 23:37:06 -08:00
michaelangel007
e91c5c0494 Merged 2022-01-04 21:41:08 -08:00
michaelangel007
2a5e156f5e Debugger: 2.9.1.12 Added: New commands HGR0, HGR3, HGR4, HGR5 to see pages /usr/bin/bash0, 0, 0, respectively. 2022-01-04 21:40:23 -08:00
tomcw
e14339e282 Registry: fix support for legacy 'Harddisk Enable' key (#1015) 2022-01-04 20:19:21 +00:00
michaelangel007
1613671c11 Debugger: Add note for 2.9.1.11 2022-01-04 11:29:18 -08:00
michaelangel007
5e70f7949c Debugger: 2.9.1.11 Fixed: Right justify signed decimal values. 2022-01-04 11:21:42 -08:00
michaelangel007
f3c0e151ab Debugger: 2.9.1.10 Fixed: Immedate #80 was not showing -128 for the signed decimal value. 2022-01-04 11:20:54 -08:00
michaelangel007
6b11e24a28 Debugger: 2.9.1.9 Fixed: Immediate #0 was showing '#' prefix but not showing zero for the signed decimal value. Changed to show the signed decimal value only if non zero. 2022-01-04 11:20:08 -08:00
michaelangel007
61d6ef58ee Debugger: Cleanup old cruft 2022-01-04 11:17:14 -08:00
michaelangel007
18b4581099 Debugger: 2.9.1.8 Changed: Disassembly window now lists symbol labels and symbol target address from User2 in orange. 2022-01-04 09:28:33 -08:00
michaelangel007
17686df3df Debugger: 2.9.1.7 Added: Extended SYM command to auto-generate symbol names when reverse engineering. NOTE: These symbols will be placed in User2. 2022-01-04 09:27:10 -08:00
michaelangel007
1f5ca5d7e7 Bugfix: Is user requested which symbol table but symbol not found, mark as not in any 2022-01-04 09:24:52 -08:00
michaelangel007
ba9388d1d8 Debugger: 2.9.1.6 Added: Branch instructions now show target address 2022-01-03 22:48:12 -08:00
michaelangel007
b3dc408195 Debugger: Cleanup 2022-01-03 22:47:25 -08:00
michaelangel007
65ab105d76 Debugger: 2.9.1.5 Added: Disassembly window now shows signed decimal values for immediate values. 2022-01-03 22:18:12 -08:00
michaelangel007
aaae1dd6a1 Debugger: 2.9.1.4 Changed: Show symbol warnings in Orange, and length of symbols in light blue 2022-01-03 22:15:41 -08:00
michaelangel007
48e0fe3a8e Debugger: 2.9.1.3 Added: DB command now optionally supports = 2022-01-03 21:11:25 -08:00
michaelangel007
3985ee9abc Debugger: 2.9.1.2: Fixed: Off by one end address when deleting DisasmData_t 2022-01-03 21:09:11 -08:00
michaelangel007
19b7d43327 Debugger: 2.9.1.1: Added: X command now supports a range and will chop off the appropiate data sections. 2022-01-03 21:07:49 -08:00
michaelangel007
561a145ab0 Debugger: Add _GetAutoSymbolName() helper 2022-01-03 21:05:37 -08:00
Andrea
d63e406573
Correct BMP creation on Linux (PR #1014)
Enable BMP Header packing on all compilers.
Add virtual function to FrameBase to select where to save screenshots.
2022-01-03 14:41:03 +00:00
tomcw
a243efc74b Fix for cmd line -dcd not being honoured (regression) 2021-12-24 20:58:04 +00:00
tomcw
a727db7cc5 Load save-state:
. fix for II/II+ when VidHD's SHR is being updated (init memVidHD ptr).
. refactor to consolidate all Mem* related initialisation.
2021-12-23 15:56:14 +00:00
tomcw
0f2d4b1878 1.30.7.0: Update History.txt 2021-12-19 19:28:50 +00:00
tomcw
d342f3a17d Fix for VS2008 2021-12-19 19:26:07 +00:00
TomCh
577ffccf8f
VidHD: Support SHR for Apple II/II+ models (#997, PR #1013)
. Support aux writes for II/II+ (6502 emulation, not 65C02)
. Extend VidHD save-state for II/II+ aux memory
2021-12-19 14:17:51 +00:00
tomcw
ff65a9f6bf Save-state: remove ASSERT when saving LC for //e or Enhanced //e 2021-12-18 21:31:17 +00:00
Andrea
47f721882e
throw std::runtime_error instead of std::string (PR #1011)
+ add more information about location of yaml parser error.
2021-12-18 16:37:28 +00:00
tomcw
651b57fdae HDD: fix for slowdown during r/w block operations
. firmware does busy-wait RMW (rol abs,x)
. the IORead then IOWrite was flipping the LED status each access, with a huge performance penalty!
2021-12-12 11:53:37 +00:00
tomcw
19aadbfb8d Add a top-level catch-handler for std::string 2021-12-11 20:27:39 +00:00
tomcw
408f5fe42f Fix for loading save-state - eg. where 'AS-S2_End Credits' & 'OMT-PAL' lost their precise frame cycle 2021-12-11 19:30:54 +00:00
Andrea
a07ba4ade0
Set SHR alpha channel to 255 for consistency with other video modes. (PR #1010) 2021-12-11 18:05:06 +00:00
tomcw
1670e0dbc0 Fix for AppleWin-Test:
. don't load floppy/harddisk images (in Registry's Config) if also loading a save-state via cmd-line.
. done to prevent MessageBox alerts when deleted disk images can't be found.
Info: Registry contains refs to disk images, but on test clean-up, the images get deleted.
2021-12-11 18:01:46 +00:00
Andrea
177c9fec05
Make Slot 0 more consistent with other slots. (PR #1006) 2021-12-11 15:26:09 +00:00
tomcw
010d3525d3 HDD read: error if reading block to ROM (#1007) 2021-12-11 15:11:13 +00:00
tomcw
2de04b35c5 Help: Update debugger info for 'brk' cmd 2021-12-11 14:32:00 +00:00
tomcw
0ac210b132 Debugger: Extend 'brk' cmd:
. brk all <on|off>
Fix 'brk' cmd for invalid opcodes of length 2 & 3
2021-12-11 13:41:34 +00:00
tomcw
1ab0d56558 HDD: remove magic numbers & add GH ref (#1007) 2021-12-10 19:37:58 +00:00
tomcw
bb6fa80335 HDD r/w: error if r/w overlaps with I/O memory
. break to debugger if single-stepping
HDD write: support memory accesses across 64KiB boundary
2021-12-09 21:22:13 +00:00
tomcw
c594d6e101 VidHD: Fix SHIFT+PRINTSCRN for 320x200 2021-12-07 21:59:05 +00:00
TomCh
443545b0f6
Support SHR video modes with a VidHD card (#997, PR #1004)
Support VidHD in slot 3 (via Config GUI or '-s3 vidhd') for SHR video modes only.
- AppleWin window is slightly enlarged when VidHD card is inserted.
Support IIgs 320x200 (and fill mode) and 640x200 video modes.
Debugger: add 'shr' command to view video
CUI: Allow user to specify width & height (for full-screen); and allow separate x,y scaling in full-screen mode.
2021-11-30 21:41:02 +00:00
Andrea
0b2104cc89
Card::Save/LoadSnapshot (PR #1003)
Add 2 virtual methods to Card to load and save snapshots.
2021-11-25 20:23:21 +00:00
tomcw
abc631432d HDD: fix edge-case for old save-state m_buf_ptr 2021-11-15 20:26:53 +00:00
TomCh
01f89f88eb
Joystick: Remove buttonlatch & BUTTONTIME (#1002) 2021-11-14 17:40:15 +00:00
Andrea
2e04ce348a
Add Card::Update() (PR #1000)
And use it in ContinueExecution()
2021-11-13 18:13:01 +00:00
Andrea
8662a99179
Add InitializeIO() to Card and CardManager (PR #999)
. Card::InitializeIO() is pure virtual
. CardManager::InitializeIO() initialises all cards
2021-11-11 21:45:55 +00:00
tomcw
25caffe7eb Minor comment typo 2021-11-11 21:24:41 +00:00
tomcw
6282790c3d Add comments to both Harddisk.cpp & the firmware code about 'sta abs16,x' false-reads, etc.
Harddisk.cpp: Fix typos and update the notes on the r/w commands' operation.
2021-11-11 21:20:54 +00:00
TomCh
5ed901f720
Slot-independent HDD firmware (#996, PR #998)
. Move the 'read block' command into the emulator - to mirror the write command
. With emulated time to do the DMA for the r/w block command
2021-11-09 21:04:57 +00:00
tomcw
d96ed5b8c5 Refactor: move m_slot into Card class 2021-11-01 21:01:28 +00:00
tomcw
67b3c28833 Refactor: remove slot from InitializeIO() calls for card objects 2021-11-01 20:39:26 +00:00
TomCh
ff7c9dc185
Make harddisk a class (#995)
. Add user-protection when unchecking HDD controller (as images aren't restored on a 'cancel')
. Fix possible crash when removing (via Config->Disk) either Disk2 card(s5) or HDD card(s7), then cancelling during emulation
. Fix m_buf[] size
2021-11-01 20:12:42 +00:00
Andrea
830030ee05
Simplify logic around CConfigNeedingRestart (PR #955) 2021-10-31 12:14:47 +00:00
tomcw
992a79075b For the pre-build event (TestCPU6502), don't echo the message for the VS2019 platform toolset.
NB. still needed for v141_xp toolset.
2021-10-30 14:53:21 +01:00
tomcw
4d14d719b9 1.30.6.0: Update History.txt 2021-10-29 21:14:13 +01:00
tomcw
5dd5d563b0 Debugger help: update for 'brkint on|off' 2021-10-28 21:09:36 +01:00
tomcw
ac2233149b Debugger: Change 'brkint' params to on/off for consistency 2021-10-28 21:00:18 +01:00
tomcw
ca611eaa64 Mousecard: fix persisting card in slot-4 after a VM restart. (Fixes #993) 2021-10-19 21:56:19 +01:00
tomcw
fa18382757 Core emulation: simplify NMI & IRQ handling 2021-10-18 21:45:45 +01:00
tomcw
18f5fafb30 DiskII: Remove superfluous IsDiskImageWriteProtected() 2021-10-18 21:13:37 +01:00
Andrea
f2843d4d71
Collections of changes to facilitate compilation on Linux and macOS. (PR #992) 2021-10-18 20:23:46 +01:00
TomCh
9553106f4e
Debugger: Add IRQ support to LBR and new command to Break on Interrupt (#987, PR #990)
Extend LBR so that it includes the control-flow on a taken interrupt
Add a new command 'brkint <0|1>' to support Break on Interrupt

Internal: in core emulation loop, moved IRQ/NMI check to start of loop so that just the "interrupt vectoring" case can be single-stepped (instead of previously opcode + interrupt vector).

Debugger help chm: update Breakpoints section to include BRK, BRKOP and BRKINT
2021-10-16 16:57:00 +01:00
tomcw
4f8b30506d Debugger: Fix LBR so it's updated only if branch is taken (#987) 2021-10-16 11:58:09 +01:00
tomcw
8575238d69 Debugger: Add a simple LBR command 2021-10-15 21:58:17 +01:00
tomcw
4c73a8003a Fix TestDebugger (currently only used by VS2008 sln) 2021-10-15 21:08:16 +01:00
tomcw
eee2400984 Uthernet: removed unused Bittypes.h & Pcap-stdinc.h 2021-10-15 21:02:57 +01:00
tomcw
028c041175 Debugger: fix for 6502 JMP (ABS) - compute correct NMOS target address 2021-10-15 20:36:04 +01:00
Ralph Irving
2e63c0c07f
Add FourPlay and SNESMAX support to VS2008 project. (#986)
Co-authored-by: Ralph Irving <ralph.irving@gmail.com>
2021-10-10 20:26:11 +01:00
tomcw
aa7d0cf240 Fix one shot paddle timers (fixes #985) 2021-10-04 22:08:37 +01:00
tomcw
e43d188e0f 1.30.5.0 - fix release date 2021-10-02 17:27:53 +01:00
tomcw
51e42d1d4e SNES MAX: load state: defaulting to no buttons pressed 2021-10-02 15:28:54 +01:00
tomcw
4cb8a6414d Uthernet: fix -load-state so that tfe_init() is called 2021-10-02 12:56:55 +01:00
tomcw
1f04d1548a Remove 'Disks' folder and the 3 .dsk images (CP/M, NSC, SAM) 2021-09-29 20:40:23 +01:00
tomcw
35e2e62b86 1.30.5.0: Update History.txt 2021-09-28 21:40:42 +01:00
tomcw
b6c71201cf Uthernet: remove tfe/tfe_packetpage allocations 2021-09-22 20:46:28 +01:00
tomcw
a50fcf2850 Help: update cards supported by save-state 2021-09-21 21:39:44 +01:00
TomCh
4aa6e05528
Support Uthernet save-state (#984)
Uthernet card: support save/load state
2021-09-21 21:32:14 +01:00
tomcw
10a83eed61 SAM card: refactor as a class, and support save/load state 2021-09-18 11:55:29 +01:00
tomcw
f85e175328 Debugger help: document how to allow CTRL+SHIFT+0 to work (to set bookmark-0) 2021-09-17 21:16:24 +01:00
TomCh
ed298b4fd9
Improve save-state card management (PR #983)
Initially all cards are removed before loading save-state.

Use new Registry "Configuration/Slot 2" location to save SSC's port name.
Use new Registry "Configuration/Slot 7" location to save HDV's image names.
Use new Registry "Configuration/Slot n" (and "Configuration/Slot Auxiliary") locations to save all other card types.

Command line: -s<slot> (eg. -s7 empty) now get persisted to the Registry.

Only update 'HDV Starting Directory' for slot7 & drive1.
2021-09-17 20:43:10 +01:00
tomcw
1b8d26051e Fix for command line with multiple spaces between args. (#981) 2021-09-10 14:51:57 +01:00
tomcw
35b83765db Fix for command line -d2 (and -h2): if image can't be opened, this is now reported as an error. (#980) 2021-09-10 14:38:40 +01:00
tomcw
70f097d3ff Fix 'authentic disk speed' setting. (fixes #980) 2021-09-10 14:27:22 +01:00
tomcw
ad8a7e2810 SNESMAX: minor rename for member vars 2021-09-10 14:19:13 +01:00
TomCh
685b93f387
Add 4Play & SNES MAX card support (#946, #972, PR #982)
Support these new cards in slots 3, 4 or 5; based on code from Lukazi.
- extend Configuration's Input prop sheet page.
- add save/load snapshot for both cards.
- add command line switch for alt controller type (for SNES MAX card).
Change to using Registry's 'Configuration\Slot 3' for slot 3 cards (Uthernet, 4Play & SNES MAX).
Update help doc.
2021-09-10 13:57:55 +01:00
tomcw
7f2dd9727d 1.30.4.0: Update History.txt 2021-08-29 12:31:48 +01:00
tomcw
efeac8420d Debugger help: tweak description 2021-08-29 12:09:09 +01:00
TomCh
7b55e994ec
Config GUI for DiskII card in slot-5 & improved slot config in Registry (#975, #977, PR #978)
Change to using Registry's 'Configuration\Slot n' for disk ii image pathnames (was 'Preferences').
Delete Registry's 'Configuration\Slot n' section each time there's a change of card.
Add same functionality to conf.ini.
LoadConfiguration(): load from the new Slot-n section (or otherwise the old legacy key).
Only update Registry's 'Starting Directory' for s6,d1.
Update help doc.
2021-08-29 11:39:51 +01:00
michaelangel007
1b4f15ae50 (#976) Add Ctrl-PrintScreen to debugger CHM docs; section Debugger > Windows 2021-08-08 06:59:11 -07:00
michaelangel007
0d192fba7d Added instructions for updating CHM and installing MS Help Workshop (See #976) 2021-08-08 06:55:00 -07:00
tomcw
3fece5e621 Minor interface change to PropertySheetHelper 2021-07-29 13:31:33 +01:00
tomcw
c20c9c2c9c Fix Coverity CID 1506067 in Debug.cpp 2021-07-28 14:09:22 +01:00
tomcw
405de2be14 Fix Coverity - High Impact defects:
. uninitialised vars in Debug & Win32Frame
2021-07-28 12:47:05 +01:00
tomcw
f4650fb850 MB: Make AY voice & mix buffers the same size to prevent buffer overrun
(Voice buffer reduced from 1s to 0.37s)
2021-07-28 12:22:58 +01:00
tomcw
6a5017bf91 SSI263: fix potential buffer overrun & rename var so it's explicit that it is a byte-size 2021-07-28 12:14:22 +01:00
Andrea
4375418506
Move some "char *"to "const char *", and avoid unnecessary c_str(). (PR #973) 2021-07-25 11:55:25 +01:00
tomcw
71bea52419 Disk/Harddisk: Insert() - fix comment and rename var 2021-07-15 19:23:01 +01:00
Andrea
4f45202baf
Save full pathname to registry. (#960 PR #959)
This was already happening for Hard Disks (although in a convoluted way).
Extend to Floppy Disks.
2021-07-13 21:24:29 +01:00
tomcw
3d0cdd55d1 Make a few utility funcs static 2021-07-11 12:06:29 +01:00
tomcw
c8813e3f8f makeAppleWin: remove HookFilter.pdb 2021-06-19 15:20:25 +01:00
tomcw
1fe557855a 1.30.3.0: update History and minor change to Help doc 2021-06-19 15:15:32 +01:00
tomcw
7086ea5208 Full-screen / resolution change: fix display flicker. (Fixes #965) 2021-06-19 15:06:04 +01:00
tomcw
0e275f0131 Apply Hook Filter patch for VS2008 proj/sln [ralph-irving] 2021-06-12 11:28:36 +01:00
tomcw
e8677a9d9e Update makeAppleWin.bat (remove HookFilter.dll) 2021-06-09 22:11:40 +01:00
TomCh
1962a3c337
Switch to a static hook filter (#962, PR #964)
Remove the HookFilter.dll which had a dependency on VCRUNTIME140.dll
2021-06-09 21:48:24 +01:00
tomcw
f33d3de093 History.txt: credit @audetto 2021-05-31 20:17:30 +01:00
tomcw
182bed5825 1.30.2.0 & update History.txt 2021-05-31 20:09:51 +01:00
tomcw
793f2eb507 Cmd line: -fs-height: small refactor so that bestWidth/Height are only returned for logging purposes 2021-05-31 16:40:44 +01:00
tomcw
cc126d7745 Help doc: update for Command Line: -fs-height 2021-05-31 16:28:33 +01:00
tomcw
f076986c04 Cmd line: Changed -fs-height=<best|nnnn> so it doesn't change the resolution when not full-screen (#876)
. NB. whenever switching back to non-full-screen, then it will restore the default desktop resolution.
. Allow -no-full-screen to be placed before -fs-height=<best|nnnn> (previously it only worked when placed afterwards)
2021-05-31 16:09:39 +01:00
tomcw
0ca972954e MB: fix for SSI263/SC01 in debugger's 'gg' mode (fixes #958) 2021-05-29 21:53:18 +01:00
tomcw
7f0c028250 Typo: fix IS_APPLE2() macro 2021-05-23 21:28:26 +01:00
tomcw
aa6572301b Help docs: update for NSC and SSI263 2021-05-23 17:12:53 +01:00
Andrea
d631b23d24
Uthernet: fix usability and settings (PR #947)
* Make Uthernet settings behave like all other cards.
Fix as well the fact that the Uthernet interface would not be reapplied after a restart.

* Uthernet: use consistent types to reduce code complexity.
Use std::string everywhere.
2021-05-19 21:44:33 +01:00
tomcw
05b9668f72 Use enum SLOTS and remove pre-processor SLOTn defines 2021-05-19 21:26:23 +01:00
Andrea
de7f35e6bd
Make path separator OS-dependent (PR #954) 2021-05-19 21:10:22 +01:00
Henri Asseily
1b9a769332
Fix to DirectSound not working in modern environments. Need to use FAILED() instead of boolean check. (PR #951) 2021-05-16 20:03:59 +01:00
tomcw
110a706535 SC-01: fix DDRB support for #952 2021-05-16 19:49:34 +01:00
tomcw
21146cb65e AY8913: Fix regression at 2d086e87
- Phasor does support reading regs in MB mode & Phasor native mode (but not Echo+ mode).
2021-05-16 19:27:04 +01:00
tomcw
ce309324bb Debugger: when displaying 6522 regs, if T1/T2 are active, then display in white 2021-05-09 13:38:16 +01:00
tomcw
b15abd0ba9 Bump version to 1.30.1.0, and update History.txt 2021-05-03 20:05:06 +01:00
tomcw
5bc1261281 Logging: add more logging to Speaker code
Debug: add a debug-enabled MB S/S card
2021-05-03 19:58:13 +01:00
tomcw
60ddf0fa35 6522: Support cycle accurate reads from IFR for T1/T2 bits 2021-04-30 22:23:20 +01:00
Andrea
f959f4f1d6
Uthernet: enable support on Linux. (PR #943)
* Make tfe easier to compile in Linux.
* libpcap in Linux: we can just use the libpcap provided and link to it directly.
2021-04-23 20:59:02 +01:00
Andrea
9bec2ce405
Avoid a crash if the LogFile cannot be opened. (PR #944) 2021-04-23 20:49:31 +01:00
Andrea
41778aa472
Debugger: move Win32 functions to separate file. (PR #941)
* Debug.cpp: move Win32 functions to separate file.
* Move _tcscat -> strcat to maximise portability.
* Remove unneeded Win32 check.
2021-04-23 20:39:24 +01:00
Andrea
c6c427aa3d
Debugger: Fix bound on maximum bytes to move backward. (PR #937)
The higher g_nDisasmCurLine the more we will have to travel back to find the instruction at the top of the window.
2021-04-23 20:34:46 +01:00
tomcw
6fefce553a MB: Support old save-states where 6522 T1 latch is 0x0000 2021-04-18 18:33:16 +01:00
tomcw
26414b74df Fix for a2audit failing Apple II/II+ LC test
. For II/II+ with NSC at F8xx, then (for NSC) also exclude the r:ROM/w:RAM (C089) case
2021-04-18 11:23:06 +01:00
tomcw
e7a3f97bb6 SSI263: For SC01, don't change reg0.DUR value 2021-04-17 18:30:11 +01:00
tomcw
83ae73387a Bump version to 1.30.0.0. Update History.txt, and some updates to help doc 2021-04-17 18:15:33 +01:00
tomcw
1314fcc0ed Swap joystick buttons (#936)
. cmd-line (-swap-buttons) or GUI "Swap 0/1" now swaps buttons 0/1 for all devices
. ie. Open/Solid Apple keys, real joystick, mouse or Num Pad keys
+ update the docs
2021-04-10 19:09:36 +01:00
tomcw
363193ba33 MB: get rid of CriticalSection, as MB support is now single-threaded 2021-04-10 16:26:51 +01:00
TomCh
b5726aae7d
Add some random woz jitter (#942)
Improve WOZ support for WL and LOA (#930)
- After T$00,S$00 (for certain 4&4 encodings) randomly skip 1 bit-cell
- Remove the previous fix for WL/LOA which was affecting other titles
2021-04-10 15:31:54 +01:00
Andrea
a37d0b078f
Add constructor for SY6522_AY8910 for correct initialisation (PR #940)
Avoid leaks when the destructor of SY6522_AY8910 is not called.
2021-04-05 17:44:59 +01:00
tomcw
7a41ede6d9 SSI263: improve logging 2021-04-05 14:56:55 +01:00
tomcw
27fe4e5ed0 SSI263: when loading state, assert Phasor's speech IRQ if required 2021-04-01 20:52:00 +01:00
tomcw
33492ac9a2 On reset: clear Phasor speech IRQ 2021-03-31 22:09:04 +01:00
tomcw
91f2c43992 Disable SC01 logging 2021-03-28 22:18:00 +01:00
tomcw
2258d01184 MB: SC01 is only mapped to the 6522 at Cn00 2021-03-28 22:16:34 +01:00
tomcw
fea5da7872 Logging: add support for SC01 2021-03-28 12:16:57 +01:00
TomCh
96bbc0c435
Improve SSI263 (PR #939)
New class for SSI263 (2 instances per MB/Phasor card)
- support 2nd SSI263 at $Cn20 connected to 6522-A (at $Cn00)

Switch from one-shot phoneme playback to ring-buffer
Use a new dedicated ring-buffer (distinct from the AY8910 ring buffer)
Gets rid of: SSI263Thread, the 2 events, and the 64 voices

Support the 2-bit Duration b7:6 of phoneme register for both SC01 & SSI263 (to fix #929)
Updated save-state
Updated IRQ logging (output cycle & 6522 source)
2021-03-23 22:01:41 +00:00
tomcw
fb6433fb7a Debugger_Disassembler.cpp: add GPL boilerplate text 2021-03-17 20:42:40 +00:00
Andrea
c7f515015b
Debugger: Separate disassembler functions from display (PR #933)
Makes it easier to use them in different environments.
2021-03-17 20:32:19 +00:00
tomcw
3f75012c0e Windows speech: trap calls to COUT1 and BASICOUT (instead of COUT) (#934) 2021-03-09 21:06:37 +00:00
tomcw
0858cc3a23 Debugger: improve mem views for 6522 & AY8913 chips 2021-03-07 13:11:22 +00:00
tomcw
3766c1e014 Debugger: fix to wrap 16-bit addr for mem watch (was getting AppleWin debugger crash) 2021-03-02 18:14:36 +00:00
tomcw
2d086e87ec Support 2nd SSI263 at $Cn20
Phasor doesn't support reading AY8913 regs
2021-02-21 19:12:36 +00:00
tomcw
2cd2f013e6 Disk: improve DebugTrackWOZ() func 2021-02-20 12:32:29 +00:00
tomcw
0bb34bfb48 Disk: remove debug DumpSectorWOZ() func 2021-02-19 16:21:44 +00:00
tomcw
62ade07746 Resource: bump (c) year 2021-02-19 15:54:22 +00:00
tomcw
c906fb5872 Help doc: bump (c) year 2021-02-19 15:51:34 +00:00
tomcw
b6f51bde9f Help doc: Troubleshooting 'switch to 2x mode' 2021-02-18 21:13:32 +00:00
tomcw
a709e9dbdf MB/SSI263: improve logging to include phoneme duration 2021-02-17 21:53:15 +00:00
tomcw
2f4bbd2b8a Avoid ASSERT from MB_Reset() on exit 2021-02-15 21:47:21 +00:00
tomcw
4e88163430 MB/6522: better reset support - only ACR,IFR,IER affected 2021-02-13 16:56:29 +00:00
tomcw
84a705d20d MB/6522: improve T1 underflow with latch 2021-02-12 19:16:14 +00:00
tomcw
ff29b055ce MB/6522: fix timer1 underflow for very small values 2021-02-11 22:44:40 +00:00
Andrea
8c2b38d19d
Enable ConformanceMode in VS2019. (PR #923)
This reduces the chances of incompatibility between gcc and vs.

99% is "const char *" literals.
1 case of a goto jumping over a variable declaration (but it is not needed).
2021-02-10 21:05:00 +00:00
Andrea
466207f5d3
Save-state: load/save dialog: Remove ; to concatenate string and avoid unused code. (PR #924) 2021-02-10 20:55:58 +00:00
tomcw
776a48fc01 MB/6522: support for T1 latch in one-shot mode 2021-02-10 20:51:11 +00:00
tomcw
f3b6b8665f Debugger: fixes to wrap 16-bit addr (was resulting in AppleWin debugger crashes) 2021-02-07 16:58:11 +00:00
tomcw
c492004e8d 6522 read: support non 4-cycle read opcodes (#833)
. ie. addr modes: (zp,x), (zp),y and (zp)
2021-02-06 18:02:35 +00:00
tomcw
f302e88f55 Add 6522 support for stz abs16 and stz abs16,x 2021-02-05 22:30:05 +00:00
tomcw
fcafa18340 Debugger: add red 'IRQ' after the v/h-pos when IRQ is being asserted to the 6502 2021-01-31 19:38:06 +00:00
tomcw
fad4dd2ad1 Disable debug-logging for previous AY8913 fix 2021-01-30 12:50:33 +00:00
tomcw
024e97ac9b MB-AY8913 fix so that no AY changes get dumped (#770)
. Needed for read of AY8913 regs too, during built-in debugger stepping (mb-audit)
2021-01-30 10:34:46 +00:00
tomcw
a3666edf48 MB: read fix 2021-01-28 20:15:23 +00:00
tomcw
735317ae17 .gitignore builds results from v141_xp folders 2021-01-20 21:40:12 +00:00
Andrea
baad40f3b8
SpkrSetEmulationType(): simplify logic and remove unreachable code. (PR #919) 2021-01-20 21:30:34 +00:00
Andrea
cdf1cb9106
Remove usages of g_hFrameWindow and g_hInstance from core emulator files. And Resource related Win32 functions. (PR #915)
. Win32Frame: remove WM_USER_RESTART.
2021-01-19 20:37:43 +00:00
tomcw
81279904e2 Pravets: fix bug in ctor 2021-01-18 20:30:51 +00:00
tomcw
44fa610ef6 Pravets.cpp: convert to UTF8 to allow VS2019 to build 2021-01-17 22:21:33 +00:00
tomcw
5d46298dcc Mockingboard: support AY-3-8913 read 2021-01-17 19:51:25 +00:00
TomCh
daa0675694
Pravets refactor: move all specialisations into new Pravets class. (PR #914)
Mainly for keyboard & printer specialisations.
2021-01-17 10:48:06 +00:00
tomcw
fc3a0f57ce Win32Frame: Fixes for VS2008 2021-01-16 22:13:02 +00:00
Andrea
61db149eab
Move last remaining globals from WinFrame.cpp to class Win32Frame. (PR #913) 2021-01-16 21:57:28 +00:00
tomcw
440831179f Keyboard: improve illegal keycodes handling for II/II+ and clones. 2021-01-16 11:01:18 +00:00
tomcw
7d2ddb3556 Base 64A: support special F2 key via the Delete key (GH#912) 2021-01-14 21:32:59 +00:00
TomCh
960e5d99bc
Update README.md
+ LC, Saturn & NSC
2021-01-14 12:15:29 +00:00
Andrea
816e22524f
VideoReinitialize(): remove default arg & refactor out common code (PR #911) 2021-01-13 22:02:48 +00:00
Andrea
6cffb30330
FrameBase: some changes to ease implementations (PR #910)
. simplify the interface FrameBase to make it easier to implement it for different cases (remove HDC and make parameters more explicit)
. remove functions which are only called on a Win32Frame (in which case a cast is guaranteed to succeed)
. otherwise there is the risk that every FrameBase implementation wants to add its own variants.
. FrameBase::FrameRefreshStatus() simplify implementation: pass all flags explicitly
2021-01-10 16:33:06 +00:00
Andrea
159cde7d64
Video & FrameBase: better split (PR #908)
* Video / FrameBase: move arch specific code to FrameBase.
* Video::Initialize & SetFrameBuffer.
Ensure initialization and SetBuffer can only happen in the right order.
* Video: move virtual functions to FrameBase.
With these changes all the virtual functions are in FrameBase and Video gets closer to be (only) the Apple ][ Video device.
* Move a few more functions from Video to FrameBase (snapshot related)
Now, the inclusion is one way with Video *not* including FrameBase.
* FrameBase::VideoRefreshScreen move Video related code to Video.
And only leave management to FrameBase.
2021-01-03 16:21:24 +00:00
Kelvin Lee
0139878dd7
x64 enabling (PR #747)
Here are a few changes to make 64-bit build possible.
The changes are mainly to use windows api in the correct way that works for both 32-bit and 64-bit builds.
2021-01-01 12:57:40 +00:00
Andrea
9d7aa7d309
Move VideoRedrawScreen() to Video. (PR #904) 2021-01-01 12:42:24 +00:00
tomcw
c7d9a780bb Minor tweaks + comment for GCC needing header file 2020-12-29 21:45:56 +00:00
Andrea
d0cd7ca090
WinVideo: share some generic code (PR #901)
* WinVideo: move some generic functions back to Video.

Introduce a new virtual function (VideoPresentScreen) to draw the video buffer to video memory.

* Move Win32Frame::VideoRedrawScreen() to FrameBase as it is generic.
2020-12-29 21:30:17 +00:00
Andrea
b226bdfd53
Small changes to improve compatibility with GCC. (PR #902)
* Fix GCC build.

1) do not fwd declare enums
2) include only base class header file IPropertySheet.

* DSInit(): make sure sound devices are cleaned before the 2nd call.

And use std::string to avoid need of memory management.
2020-12-29 21:17:03 +00:00
Andrea
6cf907f303
In Linux, save logfile to /tmp. (PR #900) 2020-12-29 21:13:35 +00:00
TomCh
19abefb2b3
Update README.md
Added 80Col/RamWorks III
2020-12-29 10:18:23 +00:00
TomCh
c819347502
Update README.md
Added a brief overview of what is supported.
2020-12-29 10:07:47 +00:00
tomcw
1faa5d5668 Update README.md for 1.29.16 2020-12-29 09:43:25 +00:00
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
tomcw
89bd685bd6 VS2019 v141_xp: added missing shlwapi.lib 2020-12-27 19:38:41 +00:00
Kevin Marty
3c6f0c1145
Add option to disable warning when PrintScreen key can't be captured (PR #891)
NB. Windows XP or higher
2020-12-27 19:21:46 +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
tomcw
41ccd21307 Fix VS2008 build due to the TestDebugger proj (only included by VS2008 at the moment) 2020-12-27 11:54:11 +00:00
Andrea
e27879ac99
Move interface into a class FrameBase. (PR #893)
. Move the Win32  implementation into Win32Frame.
2020-12-24 15:08:50 +00:00
tomcw
6ec47a357d Removed old VS projs for libs & dlls 2020-12-23 18:41:37 +00:00
tomcw
bd3fc2972a Update makeAppleWin.bat to use the v141_xp release 2020-12-23 18:28:44 +00:00
tomcw
8d7d2b9647 VS2019: new debug/release configurations for v141_xp (#693)
. NB, the Microsoft SDK 7.1A doesn't contain dxguid.lib & ddraw.lib, so they are linked against these two dx libs that are already part of the AppleWin repo.
2020-12-20 18:44:25 +00:00
tomcw
97643e304f Fix build for missing include of Interface.h 2020-12-20 15:39:53 +00:00
Andrea
2d2ba86f4f
IPropertySheet: make it a standard C++ class with pure virtual functions (PR #892)
* Interface.h: ensure that functions in the interface are not exported by other header files.

This is generally harmless, except for the presence of default arguments, in which case the version with default arguments must come first.
To avoid the issue, these functions are only ever exported in the Interface.h header file.
2020-12-20 15:32:51 +00:00
Michael "Code Poet" Pohoreski
3cb8f3bb52
Merge pull request #871 from AppleWin/CodeConventions-v3
Coding Conventions updated
2020-12-16 19:37:00 -08:00
tomcw
469f9ba807 Support disconnecting drives from DiskII Interface card: -d1-disconnected, -d2-disconnected 2020-12-12 20:49:46 +00:00
TomCh
1e35d4448c
Improved support for latch when drive is empty or disconnected (#864) (PR #870)
. NB. Not hooked up any way to configure the drive as disconnected (nor fixed the GUI to disallow inserting a disk).
2020-12-12 20:05:29 +00:00
tomcw
b1b441952b NTSC: removed unused typedefs 2020-12-12 19:17:59 +00:00
tomcw
954d7c1731 Cmd line: support -fs-height=nnnn starting in Windowed mode. (#876) 2020-12-12 18:23:23 +00:00
tomcw
0ddb1917aa SyncEvents: ensure MB & Mouse have removed their events for a restart 2020-12-12 17:46:36 +00:00
Andrea
30d3269fbf
Remove a few more Win32 memory functions. (PR #888)
CopyMemory, MoveMemory, FillMemory.
2020-12-12 11:09:14 +00:00
tomcw
50a0e81941 Rename ms_pWorkBuffer to m_pWorkBuffer (as it's no longer static) 2020-12-10 21:28:12 +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
tomcw
86851d86e5 YamlHelper: minor change 2020-12-09 20:31:21 +00:00
Andrea
8304c5738f
Fix memory leaks in Yaml parsing (PR #886) 2020-12-09 20:24:36 +00:00
tomcw
65b8f5fdbf CardManager: small refactor 2020-12-09 20:19:49 +00:00
Andrea
0d741d0b9f
Fix memory leak in CardManager (PR #885) 2020-12-06 18:43:18 +00:00
Andrea
59294d9d72
Move CtrlReset() and ResetMachineState() to Utilities.cpp (PR #883) 2020-11-29 21:11:05 +00:00
tomcw
e2d7eb7406 Removed (the now) unused alarm.h 2020-11-29 17:39:52 +00:00
Andrea
7ca547479b
Move Windows related functions to Interface.h (PR #882)
This is not complete as header files from Windows/.. are still included in:

Keyboard.cpp
SerialComms.cpp
Joystick.cpp

But probably these are arch specific and will have to be completely reimplemented elsewhere.
2020-11-29 17:30:06 +00:00
Andrea
93346c215f
Cleanup types and include's to ease GCC compilation. (PR #881)
. Do not include alarm.h as it is not needed.
The code in alarm.h is not complete: all the extern functions are missing and different linkers might complain about this.

. Do not redefine some windows.h types in VICE/types.h as it becomes harder to keep them consistent.
Biggest problem is DWORD_IS_LONG as the best way to define it in linux 64 bit is as an int. Prefer to use StdAfx.h.
2020-11-29 17:22:50 +00:00
TomCh
5d90b64829
Use _stat64() to support file size >2G (PR #880) 2020-11-29 15:48:23 +00:00
Kelvin Lee
4c19069d8b Remove unnecessary conditional compile for _MSC_VER 2020-11-30 01:05:25 +11:00
TomCh
edadde74ab
Move GetAppleWindowTitle() to Utilities.cpp as it is generic. (PR #879) 2020-11-29 13:45:49 +00:00
Kelvin Lee
a7353aa7f1 Use _stat64() to support file size >2G
1. Newer VC runtime stat(), when using 32-bit file size, returns error
   if file size is >2G. For file existence check, using 64-bit file
   size is more accurate as files bigger than 2G would be reported as
   non-existing otherwise.
2. <sys/stat.h> is required for VS2013 or before.
2020-11-29 10:12:03 +11:00
Andrea Odetti
ed178d8b1c Move GetAppleWindowTitle() to Utilities.cpp as it is generic and useful to other archs. 2020-11-28 15:49:19 +00:00
TomCh
391df5d4c0
Select a value of the Alpha mask that works at the same time in Windows and Linux (Qt / SDL). (PR #878)
In Windows it does not seem to make any difference, so 0xFF is selected for maximum compatibility.
2020-11-28 14:14:03 +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
3d70a9dd35
Some small changes to ensure code compiles with GCC. (PR #877) 2020-11-27 20:57:35 +00:00
tomcw
8ef34d7d76 Fixed TestDebugger.cpp 2020-11-26 21:52:39 +00:00
Andrea
bbe88da787
AppleWin.cpp split (PR #875)
. Split AppleWin -> Core with the functionality really needed by the emulator.
. Split AppleWin -> Utilities for generic code not called by other emulator components.
. Split AppleWin -> CmdLine for the command line option parsing.
2020-11-26 21:50:06 +00:00
TomCh
6e166dfff6
Support NSC for Apple II/II+ via F8-ROM (#827 PR #873) 2020-11-25 21:57:34 +00:00
Andrea
c455488b50
Split Frame.cpp to WinFrame.cpp (PR #874) 2020-11-23 19:21:20 +00:00
tomcw
c79abb45eb Renamed DirectVideoInitialize/Destroy() to WinVideoInitialize/Destroy() 2020-11-21 21:13:21 +00:00
Andrea
2a7191f5ce
Split Video.cpp to WinVideo.cpp to remove most of the Win32 specific functions (PR #872)
. Moved DirectInput.cpp/h and WinVideo.cpp/h to a new "Windows" folder.
2020-11-21 20:57:56 +00:00
tomcw
8fbf09d1c7 Fixed minor Coverity issue (CID 1446646) 2020-11-21 17:05:02 +00:00
tomcw
d6a2339ff0 Coverity SA: Fixed the 2 new Impact=High issues:
. CID 1499553: UNINIT
. CID 1499560: OVERRUN (out of bounds access in CmdBookmarkAdd)
Fixed bug in CmdBookmarkClear() too.
2020-11-17 21:31:57 +00:00
tomcw
38347cfba8 Removed legacy VS sln/proj files for VS2013, VS2015 and VS2017 (#693) 2020-11-14 16:49:25 +00:00
tomcw
fea97ab8b3 Proposed updated 2020-11-14 16:44:12 +00:00
tomcw
f35f1e7fda DiskII: only call CpuCalcCycle() at start of disk IORead()/IOWrite() routines 2020-11-14 14:54:39 +00:00
tomcw
6f38260b10 Renamed Applewin.cpp to AppleWin.cpp 2020-11-12 20:59:22 +00:00
tomcw
da383033a1 VS2008: fixed after recent include changes 2020-11-12 20:55:28 +00:00
tomcw
bd1d65ce4f Renamed Applewin.h to AppleWin.h across entire project 2020-11-11 22:12:39 +00:00
tomcw
8811651270 CodingConventions.txt: updated for PR #866 2020-11-11 21:56:07 +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
tomcw
9cc49af0dc VS2008 vcproj: added DirectInput.cpp/h 2020-11-10 20:47:25 +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
3d8acbbc83 Tweaked large PR recommendation 2020-11-08 21:04:43 +00:00
TomCh
dfbd6e457c
Create CONTRIBUTING.md 2020-11-08 16:50:16 +00:00
tomcw
e6e16a3c0b Removed NSC support for II/II+ models. (#827) 2020-11-02 21:41:02 +00:00
tomcw
3045e77349 Help doc: updated for Ctrl+F3/F4 and -conf <file> 2020-11-02 20:50:53 +00:00
tomcw
8be128159c 1.29.16.0: Updated version & History.txt 2020-11-01 18:20:41 +00:00
tomcw
aa4a3c06d7 RGB Card support: updated help doc 2020-11-01 17:15:16 +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
e24436f7ec Fixed issue during TRIBU (cycle-accurate demo) if: Config->uncheck 50Hz & OK, but cancel emulator restart 2020-10-25 21:35:17 +00:00
tomcw
98b72658b7 1.29.15.0: Updated version, History.txt & help 2020-10-25 18:41:22 +00:00
ThorstenB
4543117f81
More clean-up, portability and another debugger fix (PR #847)
Fixed debugger main "data" window behaviour:
. When activating the main data display ("data" command) the cursor keys wouldn't work until the minidump ("md1") was also enabled. NB. The cursor keys should work in the main data window, independently of whether the minidump is active.
2020-10-25 17:27:59 +00:00
TomCh
43455eb4fe
Improved determining path & filename when saving/loading a save-state (#691) (PR #849)
Whenever harddisks/disks are inserted (or removed) and *if path has changed* then:
. Then the internal save-state's path & filename will be updated to reflect the new defaults.
. LoadConfiguration(): Read the save-state pathname from Registry before harddisks/disks.

Also:
. CiderPress: only save pathname on OK.
. Refactored CPropertySheetHelper::BrowseToFile().
. Extended support for -d1,-d2,-h1, etc such that if the param is "", then it will eject/unplug the disk/harddisk.
2020-10-25 17:14:23 +00:00
tomcw
aa322dbd53 Fixed loading a save-state where both Phasor 6522's Timer1s are active (eg. DIGIDREAM demo) 2020-10-18 19:32:18 +01: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
4defaa80fb Help docs: updated for RGB card/monitor support 2020-10-15 21:41:14 +01:00
tomcw
cfe482cd52 NTSC: fix rare crash in NTSC_SetVideoMode() after a VM restart 2020-10-11 21:29:26 +01:00
tomcw
6f39869f8c Minor: make Spkr_DSUninit() static 2020-10-11 18:55:28 +01:00
tomcw
1a11c65d37 Replaced global g_CardMgr with a singleton object & GetCardMgr() call. (Fixes #843) 2020-10-11 17:34:44 +01:00
ThorstenB
b0b033da49
Source clean-up, portability and debugger fixes. (PR #842)
And fix two general issues:
- confusing behavior when entering the builtin (mini) assembler mode,
- and also fixes the "cl" (clear flag) command - which was documented, but did not work at all (due to an "interesting" command/syntax conflict...).
2020-10-11 17:14:03 +01:00
TomCh
6125c2b12d
Support for synchronous events (PR #841)
Switched Mockingboard/6522 Timer interrupts & Mousecard's VBlank interrupt to use synchronous events.
This is a linked-list of ordered timer-based event, where only the head of the list needs updating after every opcode.
2020-10-11 16:08:05 +01:00
ThorstenB
7d7aa17a47
Debugger: minor clean-up: compiler warnings, unused variables etc (#840) 2020-10-01 19:55:29 +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
tomcw
b9d80a0317 Save-state ANSI support: small refactor for new/delete char buffers (#838) 2020-09-25 21:25:46 +01:00
tomcw
09a5ac4761 libyaml supports UTF-8 and not accented ANSI characters - so convert to UTF-8 (Fixes GH#838) 2020-09-25 18:17:03 +01:00
tomcw
a5ebd1d4cd compiling.txt: fixed typo 2020-09-25 17:15:33 +01:00
tomcw
2d64d7a603 VS2008: disable warning 4482 for C++11 scoped enums 2020-09-01 21:36:05 +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
TomCh
ef913fe827
Removed 65d02 and used the regular 65c02/6502 headers instead (PR #825)
Removed 65d02.h and reconstructed this code using a combination of existing 6502.h/65c02.h and extra C Pre-Processor macros to include (or omit) the extra heatmap functionality.

We still end up with a normal 65c02 instance and also a debug 65c02 instance, but both will derive from the same 65c02.h file (+ same for the 6502 normal/debug instances).

Also:
. Added cpu_heatmap.inl for the built-in debugger's read/write operations.
. Support CpuRead/Write() from Z80 to hook the heatmap r/w.
2020-08-31 10:03:29 +01:00
tomcw
06f8ccb384 MB false read of 6522: limit to only the no-PX variants 2020-08-22 16:06:26 +01:00
tomcw
f13d220203 Config: fixed the tab-stops for the Disk prop sheet page (#817)
. Ethernet setting combo: extended to fit the whole Guid
2020-08-22 15:23:43 +01:00
tomcw
59d0d5bdfa UI: Ctrl+F3/F4 will also show drive pop-up menu (#817) 2020-08-22 14:58:06 +01:00
tomcw
24e6b7c132 1.29.14.0 tweak:
. 50Hz, PAL Monitor: blank out stale pixel (ANSI STORY, end credits)
. Added new test switch: -video-mode=composite-monitor
2020-08-18 17:40:56 +01:00
tomcw
d9f3d1e667 1.29.14.0: Updated version, History.txt and help 2020-08-17 21:49:10 +01:00
tomcw
bcd8fcc726 Fixed multi-zip regression (numTracks was getting zeroed). (Fixes #824) 2020-08-17 20:24:53 +01:00
tomcw
039ad8a547 Small refactor for app window's title 2020-08-17 19:26:06 +01:00
tomcw
221e35edc7 Changed app window's title to reflect NTSC or PAL for 'Color (xxx Monitor)' 2020-08-17 18:29:18 +01:00
tomcw
4d611c20d9 Added a few comment-refs to GH#763 2020-08-17 18:15:41 +01:00
TomCh
21b0fbf97a
Support for PAL killing color-burst during TEXT video mode (#763, PR #823)
tested with:
. AppleWin-Test repo -> Tests-Various.dsk (tests E, F)
. FT's ANSI STORY & TRIBU demos
2020-08-17 18:11:31 +01:00
tomcw
e69a54832c Added a comment for the leak fix 2020-08-16 18:44:21 +01:00
tomcw
caf90c427a Fixed GDI Object DC leak & crash when app window is minimised (#820) 2020-08-16 18:34:57 +01:00
tomcw
225296635a Uthernet card: added support for Npcap for Win10 (#822)
. log the version of wpcap.dll (Npcap or WinPcap)
2020-08-16 17:05:49 +01:00
tomcw
3651ca0cb8 NIB disk image: added warning if any track's first D5-nibble isn't an addr prologue (#139) 2020-08-05 13:58:17 +01:00
TomCh
d92635ffde
Update README.md 2020-07-29 21:41:12 +01:00
Wayne Arthurton
267de478d2
Bumping version in README (#816)
Updated download links to new and previous versions.
2020-07-29 21:39:07 +01:00
tomcw
b93de29ff1 Fixed the 6502/65C02 false-read of 6522 issue for Willy Byte! (fixes #52) 2020-07-24 19:39:31 +01:00
tomcw
52ff9d5b99 Fixed MB looping sound after 'OK' in Configuration (#813) 2020-07-17 22:53:17 +01:00
tomcw
b35ba0b04a RESET: reset annunciators for //e and Base64A 2020-07-07 20:54:46 +01:00
tomcw
f1f16d4fc2 Minor tweaks for previous Base64A merge:
. added dedicated IsCopamBase64A() function
. added comments to identify Copam Base64A specific vars
. added some missing const keywords
2020-07-06 20:52:31 +01:00
Iván Izaguirre
36e318e344
Support 'Copam Base 64A' - a Taiwanese Apple II clone (#806) (PR #807)
. It's an Apple II plus clone.
. The 48K bank-switched Rom is controlled with AN0 and AN1.
. The character generation video Rom has two full character sets: English and German (F10 to switch).
NB. At the prompt, "TEST" runs the ROM self-test.
2020-07-06 20:24:16 +01:00
tomcw
6dd129532f Fixed mem leak after a VM restart. (Fixes #809) 2020-07-04 21:39:56 +01:00
Andrea
82c09abd54
Minor fixes (#805)
* Add missing Riff.h include and fix const correctness of arguments.
* Cosmetic improvements to Perf breakdown in LogPerfTimings().
* Logging - removed unnecessary cast.
2020-07-01 21:08:18 +01:00
tomcw
951f7f5258 Minor: added missing static keywords 2020-06-28 10:25:59 +01:00
tomcw
9bf0cf98d4 Fixed crash in debugger's PrintGlyph() when restarting AppleII virtual machine
Fixed mem leaks for debugger's Font & Mem frame buffers
2020-06-28 10:18:59 +01:00
tomcw
60d54d6f3b Fix for 'IRQ occurring on last cycle of opcode' not always true. (Fixes #796)
. FT demo MAD2.DSK - original version now correctly crashes at start of full-screen scroller
. FT demo MADEF.DSK - graphics glitch on vertical edge where it transitions from GR to HGR mode
2020-06-27 19:29:29 +01:00
tomcw
e48ea095a3 Debugger: PrintGlyph() - removed magic numbers 2020-06-27 15:46:28 +01:00
Andrea
fe62271ef9
Some minor c++ correctness changes. (#803)
Added const, static forward declaration.
Removed some unneeded header files.
2020-06-27 14:32:09 +01:00
tomcw
42d265a25c Fixed timing for 6502 opcodes: rol abs,x; lsr abs,x; ror abs,x. (Fixes #801) 2020-06-19 19:40:23 +01:00
Cyril Lambin
af9568cbbf
Improved debugger video performance (#800)
Removed very slow BitBlt() GDI calls in PrintGlyph() - now 18x faster in Release config!
. Replaced GDI call FillRect() with new FillBackground()
. Added missing bitmap declarations in GetDebuggerMemDC()
Fixed AdditionalIncludeDirectories for Debugger source files
2020-06-17 21:56:35 +01:00
tomcw
e5ccf26d4f Help: updated about NSC in save-state, and -no-nsc switch 2020-06-10 21:45:19 +01:00
tomcw
c9ef6ecee1 NoSlotClock:
. added to save-state (v6) via a new unit type 'Miscellaneous'
. added cmd line switch '-no-nsc' to configure AppleII without an NSC
2020-06-10 20:56:00 +01:00
tomcw
f491bb19cd Improved fix for 80eb330
. During init: only need to call IoHandlerCardsOut() when loading save-state
. MemInitialize() -> MemReset() -> ResetPaging() which always inits memmode
2020-06-08 22:06:17 +01:00
tomcw
6d85c1b6bd NSC: Reset NSC on power-cycle. (Fixes #751) 2020-06-08 21:11:12 +01:00
tomcw
80eb33012f Fixed an edge case when switching from IIe to II+, and the Mockingboard wasn't visible in memory.
. Due to INTCXROM still being set and it not being excluded when in II+ mode.
. Fix is to reinit memmode on restart and only check INTCXROM if IIe or above.
2020-06-07 18:25:34 +01:00
tomcw
41203f5d2d Fixes for image loading switches (-d1,-d2,-h1,-h2,-s5d1,-s5d2):
. support relative paths (#663)
. updated the current directory with the path for each loaded image (#663) & saving state (#691)
. added a new switch -current-dir <path>
2020-06-06 16:32:58 +01:00
tomcw
f238be27e8 Use SetCursor() to busy when loading state file. (Fixes #781)
Fixed typos in dbg-bookmarks.html.
2020-06-03 20:26:06 +01:00
tomcw
105d0d77d8 1.29.13.0: Updated version and History.txt 2020-05-31 16:39:50 +01:00
tomcw
a332e58f1a Help: Debugger: added new section on Bookmarks 2020-05-31 16:11:43 +01:00
tomcw
f801655b23 Debugger: DrawFlags() - refactored to remove unused 3rd param 2020-05-30 14:41:14 +01:00
TomCh
037c338303
Debugger: Extend 'tf' command to add cycles for trace (#783) (PR #793)
Also don't call DrawFlags(), speeding up tracing by 10 times.
Authored-by: Nick Westgate
2020-05-30 14:12:36 +01:00
tomcw
4f340fa264 Revert previous fa04797:
. again '-s7 empty' doesn't persist this state to Registry/conf.ini
. consistent with other '-sn empty' cmds
2020-05-29 21:58:53 +01:00
tomcw
fa047974ec Fixed cmd line '-s7 empty' so that 'Harddisk Enable' is updated in Registry/conf.ini file
. this matches -s7-empty-on-exit and the -d1,-d2,-h1,-h2 switches
2020-05-28 21:41:15 +01:00
tomcw
b132b0d0a8 Added cmd line switch: -power-on 2020-05-26 21:37:56 +01:00
tomcw
eed3182bef Fixed cmd line regressions: (#790)
. -s7-empty-on-exit wasn't being recognised
. -d1, -d2 weren't saving the 'Last Disk Image 1/2' & 'Starting Directory'
2020-05-25 21:59:26 +01:00
tomcw
cca3ecd436 Full-speed: fix for occasional speaker clicks 2020-05-23 22:34:15 +01:00
TomCh
a8671f7a6a
Debugger: Extend 'cycles' command to do (partial) timings relative to a user-specified instruction (#787) (PR #789) 2020-05-23 18:40:12 +01:00
tomcw
13a4043118 Added a new PerfMarker class: used to instrument emulation sub-systems and log timings (#788)
To enable this uncomment the #define LOG_PERF_TIMINGS in AppleWin.h.
2020-05-23 16:41:19 +01:00
Michael "Code Poet" Pohoreski
b1ab3f9794
Merge pull request #785 from AppleWin/bookmark_cleanup
Bookmark cleanup
2020-05-20 14:53:19 -07:00
Michael "Code Poet" Pohoreski
8197121312
Merge pull request #720 from AppleWin/Improve-APPLE2E.SYM
Improve APPLE2E.SYM
2020-05-19 16:19:01 -07:00
michaelangel007
2b9adac338 Debugger: 2.9.1.0 Bookmarks now have their own indicator 2020-05-19 08:37:15 -07:00
michaelangel007
dfbb63934c Debugger 2.9.0.18 2020-05-19 08:29:23 -07:00
michaelangel007
0c0e2f6bdd Debugger fixes for 2.9.0.16 and 2.9.0.17 2020-05-19 08:28:44 -07:00
tomcw
2c268b18d1 Corrected the acknowledgement (credit to @ghedger) for the SSI263 samples. (Fixes #784) 2020-05-16 22:29:10 +01:00
tomcw
58df8ea1e6 MB/SSI263 - alt logging via LOG_SSI263B 2020-05-10 18:21:34 +01:00
tomcw
2508d3b875 1.29.12.0: Updated version and History.txt 2020-04-26 18:10:32 +01:00
tomcw
61a3f06172 MB/Phasor: SSI263 - improved save-state for different speech cards' IRQs 2020-04-26 18:07:38 +01:00
tomcw
358573a9db Fix for when joystick not connected (fixes #778) 2020-04-26 16:19:50 +01:00
tomcw
f201294451 MB/Phasor: SSI263
. extend for 6522 PCR CA1 input control=0, which sets IFR.b1 on phoneme complete
2020-04-26 10:10:39 +01:00
tomcw
389b6e6d23 Mockingboard: replicate 6522 I/O across entire $Cnxx I/O space
. SSI263.b7 not readable
. SSI263 writes also written to 6522 in low addr
2020-04-25 16:42:50 +01:00
tomcw
9f49820a8d Phasor: support SSI263 speech for Mockingboard mode (#777)
. Improved DEVICE_SELECT' I/O support (including Echo+).
. SSI263_Read() only for Phasor in Phasor mode.
. save-state: v6 (Phasor unit): phasor mode extended.
SSI263 (MB/Phasor) bug fix for when RESET/Power-cycle during phoneme playback.
Logging:
. improved for SSI263
. in CPU.cpp, added 'IRQ' / 'ISR-end'
2020-04-19 21:00:37 +01:00
tomcw
22806c6c59 Phasor: support both kinds of speech interrupts (#777) 2020-04-07 22:11:31 +01:00
tomcw
1cd466bed3 Allow use of an INI-file instead of the Registry for configuration (PR #757) 2020-04-03 21:42:13 +01:00
tomcw
2fa22d220b Merge branch 'feature/no-registry' of ssh://github.com/taeber/AppleWin into taeber-feature/no-registry 2020-04-03 21:29:54 +01:00
tomcw
1739a84b0f Fixed CmdCursorSetPC command: (PR #775)
. Hitting "=" in the debugger should set PC to the current cursor address
2020-04-03 21:15:17 +01:00
tomcw
db373c6955 Help docs: updated for Apple II J-Plus 2020-04-03 20:39:07 +01:00
tomcw
e6a8c75f6c Fixed J-Plus issue with -load-state 2020-04-02 23:39:18 +01:00
TomCh
dd2914a38e
Support Apple II J-Plus model (#773, PR #776)
. Added II-JPlus rom & video rom
. Added new apple2jp model
. Fixed support for AN3 for II/II+ models (nothing to do with J-Plus support)
2020-04-02 20:17:32 +01:00
tomcw
5177c093fb Fix typos in History.txt 2020-03-27 21:11:49 +00:00
tomcw
427cb9312b 1.29.11.0: Updated version 2020-03-27 20:31:06 +00:00
tomcw
18249bc31c Updated History.txt & AppleWin.chm (for new -rom) 2020-03-26 23:07:11 +00:00
tomcw
ec8e758c79 Custom ROM: minor refactor 2020-03-26 22:16:00 +00:00
tomcw
3659603228 Added cmd line arg -rom <file> for 12KB & 16KB roms (#771) 2020-03-25 23:05:02 +00:00
tomcw
c204783816 MB/6522: IER doesn't start/stop timers 2020-03-07 18:08:50 +00:00
tomcw
ef4ee4ed16 Fixed 6522.T2 interrupt for Lancaster (#765) 2020-02-29 18:48:46 +00:00
tomcw
2f9ba13216 Fixed warning when LOG_DISK_ENABLED isn't defined 2020-02-23 13:23:48 +00:00
tomcw
b84bb97aa1 Disk logging: Improved info & formatting for DumpTrackWOZ() 2020-02-23 13:19:38 +00:00
tomcw
7268bc1421 Updated help: mainly for WOZ DiskII 13-sector auto-firmware support + other additions & fixes 2020-02-22 15:50:35 +00:00
tomcw
3dc0aae5b2 Removed assert & added repro comment 2020-02-22 12:04:13 +00:00
TomCh
21d16d3a0c
Auto-switch DiskII firmware to 13 or 16 sector depending on disk in drive-1 (#734) (PR #761)
. The auto-switch is done on each reset, or on inserting a disk at the start-up screen (MODE_LOGO).
. The Window's title include '(S6-13)' if DiskII card has 13-sector f/w.
. The debugger's 'disk info' cmd will show FW13 or FW16 depending on f/w.
2020-02-22 11:38:25 +00:00
tomcw
ac603dcd10 Minor updates to help for cmd-line 2020-02-21 15:33:23 +00:00
tomcw
fc8753501f 1.29.10.0: Updated version 2020-02-13 19:39:35 +00:00
tomcw
ad599680d2 Small refactor for WOZ2 write track 2020-02-11 21:29:27 +00:00
tomcw
d978a1789b Updated History.txt for 1.29.10.0 2020-02-10 21:49:45 +00:00
Taeber Rapczak
c7d2fef62f Allow use of an INI-file instead of the Registry
This change adds the `-conf` switch which, if specified, will use an
INI-file instead of the Windows Registry.

This addresses AppleWin/AppleWin#709 and AppleWin/AppleWin#446.
2020-02-09 21:18:31 -05:00
TomCh
4956957ca1
Write support for WOZ1/WOZ2 images (#756)
Also:
- Allow creation of a blank (WOZ2) image
- multi-zip support extended to scan for the first valid image (useful for most woz-a-day zips which have at least 2 entries and were previously failing)
2020-02-09 21:23:15 +00:00
tomcw
d07558b610 Updated compiler.txt with F12 info; & removed old cvs/svn docs 2020-01-31 20:16:01 +00:00
tomcw
41efaad92f 1.29.9.0: Updated version & History.txt 2020-01-26 21:34:02 +00:00
tomcw
0f681de531 Fixed regression for CTRL+ALT+BREAK (where ALT wasn't recognised). (Fixes #752) 2020-01-26 11:57:40 +00:00
tomcw
fcd1b2aa68 Fix for double-clicking an associated filetype 2020-01-21 19:27:13 +00:00
tomcw
84e0ef4ef8 Cmd line: Ensure that -swap-buttons takes priority over Registry 2020-01-19 17:09:24 +00:00
tomcw
7d147d4e89 Added makeAppleWin.bat 2020-01-19 16:44:49 +00:00
tomcw
ccb589af5a 1.29.8.0: Updated version, History.txt and Resource/Help's copyright year
Added DebuggerAutoRun.txt
2020-01-19 15:36:31 +00:00
tomcw
ae908e6edf Update History.txt 2020-01-18 20:04:50 +00:00
tomcw
045d7b6509 Config: Input: Added 'Swap 0/1' toggle for swapping buttons 0 & 1 2020-01-18 19:06:06 +00:00
tomcw
53342d5550 Speed control using Ctrl+n: ignore if ALT is pressed. (Fixes #749) 2020-01-18 17:15:54 +00:00
tomcw
192fa9bc91 Help: add info about -left/right-alt-control-buttons & -swap-buttons command line switches 2020-01-18 17:02:01 +00:00
tomcw
ddbc1a8aa9 ProcessCmdLine()
. Display MessageBox with all unsupported commands that were passed in.
. MessageBox yes/no response will either continue or exit AppleWin.
Changed -left-control-alt-buttons to -left-alt-control-buttons (for consistency with -right-alt-control-buttons) (#743)
. The MessageBox will now confirm whether you typed it correctly or not.
Fixed DHIRESON/OFF typo in comment!
2020-01-18 16:47:20 +00:00
tomcw
78337c06bb WOZ: Removed version check on INFO section 2020-01-14 20:32:46 +00:00
tomcw
1e57ad7464 DiskII: data latch returns a rand() value when no disk is in drive. (Fixes #748) 2020-01-12 22:41:40 +00:00
tomcw
a624d72ffd Update History.txt 2020-01-11 17:42:18 +00:00
tomcw
68eb7ea1e1 Debugger: Added new 'cycles <abs|rel>' command to show cycles as absolute or relative.
. removed this functionality from 'videoinfo'
2020-01-11 17:38:00 +00:00
Andrea
af720f7352 Correct way to clear a std::string. (PR #723) 2020-01-09 22:12:51 +00:00
tomcw
40522204ad Joystick: support redefined button0/1 keys when not using keyboard for joystick 2020-01-09 22:04:26 +00:00
tomcw
29c0f1e4f0 Cmd line support for remapping button0&1: (#743)
. -left-control-alt-buttons : l-ctrl=button0, l-alt=button1
. -right-alt-control-buttons : r-alt=button0, r-ctrl=button1
. -swap-buttons
2020-01-07 22:04:37 +00:00
tomcw
0f473d44b6 VS2019: include <stdexcept> for std::runtime_error 2020-01-06 21:08:00 +00:00
tomcw
087616db29 Fixed Coverity 'High Impact Outstanding' issues:
1489113
1489111
1489105
1489096
1489093
1489092
1486059
1486055 (false positive)
1486054
1486051 (false positive)
1486050
1486047 (false positive)
1486043
1446684
2020-01-04 17:43:20 +00:00
tomcw
edf65762cd CardManager refactor:
. replaced most GetObj() with GetRef()
. so dynamic_cast'ing to a reference now (instead of a pointer)
2020-01-04 13:58:59 +00:00
tomcw
d3faae69fb CardManager:
. added GetRef(), which can throw a std::runtime_error
. NB. dynamic_cast for a reference will throw a std::bad_cast error on failure
Added try/catch around main VM restart loop
. split the loop into ProcessCmdLine(), GetAppleWinVersion(), OneTimeInitialization() RepeatInitialization() & Shutdown()
. catch std::runtime_error & std::exception
2020-01-04 12:32:13 +00:00
tomcw
c280d43e75 DiskImageHelper: small refactor 2020-01-02 21:01:10 +00:00
tomcw
8ec8fa6c5b Debugger: Correctly repaint AppleII screen when showing it from debugger. (Fixed #746) 2020-01-02 20:49:07 +00:00
tomcw
ce1a549bea Updated History.txt 2019-12-31 13:24:15 +00:00
tomcw
b37095715f Save-state: refactor: added a LoadMemory() specialisation for vector<BYTE> 2019-12-31 12:52:47 +00:00
tomcw
a28803cbf9 WOZ: Support large tracks (fixes #745) 2019-12-31 12:07:45 +00:00
tomcw
183ec2bc8c WOZ: Alternate fix for Wasteland (#733)
. apply extraLatchDelay on the last bitCell (if there's a latchDelay)
Debugger: Extended 'videoinfo' command to show cycles as absolute or relative.
2019-12-30 19:52:49 +00:00
tomcw
960af9bda0 MB: Moved MB_StartOfCpuExecute() to Snapshot_LoadState_v2(), since it's only needed there 2019-12-24 13:58:20 +00:00
tomcw
e03b68b7f0 MB: removed redundant g_n6522TimerPeriod variable 2019-12-24 13:19:35 +00:00
tomcw
8567f0a651 MB: include 1-cycle 65C02 opcodes 2019-12-24 12:51:43 +00:00
tomcw
c11301ff4e VS2017 & VS2019: removed deprecated /Gm (Enable Minimal Rebuild) option 2019-12-24 12:34:48 +00:00
tomcw
75bc648f01 1.29.7.0: Updated version, History.txt and Help 2019-12-20 15:23:54 +00:00
tomcw
7eee2467c5 Disk2: DumpTrackWOZ() - extended to start each line with bitOffset 2019-12-20 12:49:02 +00:00
tomcw
418687e3d8 Debugger: 'cycles' now shows step-cycle-count (before was abs cumulative cycles) (Fixes #737)
And fixed single-step to only UpdateDisplay() once.
2019-12-20 09:15:24 +00:00
tomcw
82f6bf35a5 Debugger: GR/HGR/DGR/DHGR cmds should honour the MIXED mode. (Fixes #740) 2019-12-19 20:45:55 +00:00
TomCh
769d4c6927
Support 2nd Disk][ card and improved card management (#726) (PR #741)
Support 2nd Disk][ in slot-5, via command line:
- -s5 diskii
- -s5d1 \<imagefile\>
- -s5d2 \<imagefile\>

NB. there's currently no Configuration UI support, except the Drive icons' tooltips show what's in slot-5 & slot-6 (for drive-n). So there's no way to eject the disks or insert new disks. The use-case I'm supporting it Wasteland which just has the 4 disks in the 4 drives.

Improved card management:
- Added `class Card` (in Card.h) which all other cards (that exist as classes) derive from (eg. LC,SSC,Mouse,Disk2).
- Added `class CardManager` (in CardManager.cpp\h) which now manages the 8 slots (and aux slot).
- Added `class Disk2CardManager` (in Disk2CardManager.cpp\h) which provides methods for operations that act on all Disk2 instances at the same time.
- Currently limited to just 1x SSC and 1x Mouse card (why would you need more?). This simplifies things, meaning there's no need to have dedicated SSCManager / MouseCardManager objects.
- Currently the 2nd Disk2 card can only be put into slot-5. This limitation is just due to the complexity of the Configuration UI. Having a more general drop-down per slot UI would remove this limitation.
2019-12-19 19:42:30 +00:00
tomcw
d2010860ef Debugger: refactor common code into GetTargets_IgnoreDirectJSRJMP() 2019-12-09 21:00:58 +00:00
tomcw
87677ed4c3 Debugger: In _6502_GetTargets() removed the bool bIgnoreJSRJMP parameter. 2019-12-09 20:42:16 +00:00
tomcw
f0e840f8e0 Debugger: Support BPMR for JMP (abs) and JMP (abs,x). (#451) 2019-12-09 19:13:24 +00:00
tomcw
b1316dc3da Debugger: Fixed regression at prior commit dd274bc000 for bpm addr16 not triggering.
. Extended debugger regression tests to catch this (and test many other variants).
2019-12-09 16:27:13 +00:00
tomcw
ba7a4005b0 DiskII: fixes for Wasteland for both .nib & .woz images (#733) 2019-12-08 16:23:29 +00:00
Andrea
6af3b0b028 Color (RGB Monitor): speed up 'Pure CPU MHz (video update)'. (PR #730) 2019-11-28 22:06:34 +00:00
tomcw
dd274bc000 Debugger: BPMR|W - ignore next opcode's fetch address as a candidate for memory trap address (#451) 2019-11-27 22:14:16 +00:00
tomcw
4d12a23c68 Make soundtype default to WAVE (not NONE)! (#355) 2019-11-24 15:57:33 +00:00
tomcw
37db160bd5 Addition to History.txt 2019-11-18 16:45:35 +00:00
tomcw
91f1294220 1.29.6.0: Updated version and History.txt 2019-11-18 15:11:55 +00:00
tomcw
7d38b1ba38 CPU save-state: added 'Defer IRQ By 1 Opcode' (v5) and comments for why the other state doesn't need saving 2019-11-18 15:08:59 +00:00
tomcw
b82de931a1 Fixed 6522 timer interrupt which was occurring 1 cycle late (#711) 2019-11-17 12:26:14 +00:00
TomCh
d1b595f7bd
Fix for "Mad Effect 1&2" demos (PR #725)
. 6502 interrupt delays 1 opcode when interrupt occurs on last cycle of opcode (#724).
. Only 1-cycle delay for VF_TEXT & VF_MIXED mode changes (#656).
NB. Mad Effect 1 still has a bit of flicker on Space Invader (left edge)
2019-11-16 23:49:21 +00:00
tomcw
97e73c632d Full-speed: new VideoGetVblBarEx() required when called from main loop 2019-11-11 19:55:46 +00:00
tomcw
8aff6addff History.txt updated 2019-11-11 18:44:24 +00:00
tomcw
3c6d5d1e76 Phasor: fixed noisy playback for AE's player. (Fixes #659) 2019-11-11 17:35:10 +00:00
Andrea
d6d76ae6bc Memory fix for struct ImageInfo (PR #715)
ImageInfo is not a POD and cannot simply be initialised with ZeroMemory()
. the std::string constructor must be called.
. ImageInfo: simplify code using new / delete vs VirtualAlloc
Also fixed mismatching new / delete [] reported by valgrind
2019-11-11 14:09:29 +00:00
tomcw
20b8515b7b Full-speed: Only redraw video screen during VBl (support VBl in full-speed) 2019-11-10 23:52:29 +00:00
tomcw
dd3ecf738f 1.29.5.0: Updated version and History.txt 2019-11-10 22:08:24 +00:00
tomcw
a73d216fae Help (troubleshooting): Added an item for no Apple II speaker sound. (Fixes #716) 2019-11-10 16:56:30 +00:00
tomcw
d4e01643fa Mockingboard: improved sound-buffer updating
. Changed to 6522.TIMER underflowing at 0x0000 -> 0xFFFF (#652)
. Changed MB_Update() to be based on cycle delta (was TIMER1 interval)
  . this improves support for small 6522.T1C interval
  . removed MB_GetFramePeriod()
  . removed overly-complex dual-timer support
. Replaced MB_EndOfVideoFrame() with MB_PeriodicUpdate()
2019-11-10 15:52:07 +00:00
tomcw
5ee8994253 Use disk-ii symbols agreed in GH425 2019-11-09 12:55:34 +00:00
tomcw
754953b733 APPLE2E.SYM update:
. added missing symbols
. LC: created 16 unique symbols
. DiskII: created 16 unique symbols
2019-11-09 12:02:36 +00:00
tomcw
eb59c52dc4 Mockingboard: Fix initial fast (weird) music playback issue (#711) 2019-11-03 21:37:55 +00:00
tomcw
4ad0923399 Fix video tearing by only updating during the Apple II VBL (#711) 2019-11-03 15:05:28 +00:00
tomcw
d92eca5068 Cmd line: -m and -no-mb: fix crash 2019-11-03 14:23:47 +00:00
tomcw
5792107dce Debugger: fixed help for 'videoinfo' cmd 2019-11-03 09:36:33 +00:00
TomCh
3d4691e9bd
ADTPro not working (#707) (PR #714)
. Wrap m_vbTxEmpty in a mutex
. Check WriteFile() result & log error
2019-11-02 19:53:00 +00:00
tomcw
5edd8ac32b SSC: Get initial modem status when COM port is first opened 2019-10-27 16:53:24 +00:00
tomcw
d23d091caa SSC: Support COM ports greater than 9 (#707) 2019-10-24 21:43:00 +01:00
Kelvin Lee
cb007df40b Debugger: Symbol loading: Fix random crash upon start up. (PR #694) 2019-10-25 04:25:07 +09:00
tomcw
bd730e25c0 Help: Debugger: Added row-80 - red 'x' for ALTZP 2019-10-24 19:56:20 +01:00
tomcw
a889e6f0d4 1.29.4.0: Updated version and History.txt 2019-10-24 19:27:48 +01:00
tomcw
07aeadc23f Fixed out-of-bounds global buffer access
. detected using VS2019 asan support
2019-10-23 18:17:38 +01:00
tomcw
32d0098b70 Help: Debugger: Added BPMR & BPMW 2019-10-22 21:42:55 +01:00
TomCh
2f64795e2e
Debugger: BPMR & BPMW (PR #710)
Extended BPM to also support BPMR and BPMW
Fixed BPM[R|W] 0:FFFF (ie. support a range of 0x10000)
2019-10-23 05:31:53 +09:00
tomcw
13588165ff Debugger display: minor refactor 2019-10-20 21:17:40 +01:00
tomcw
52376fd664 Debugger display (#666, #702):
. Video-scanner: when invisible use yellow (instead of red) (fixes #666)
. Soft-switches: row "80:" show a red 'x' when AltZP is set (#702)
2019-10-20 11:30:31 +01:00
tomcw
098b8036eb History.txt: tweak date for 1.29.3.0 2019-10-13 17:00:10 +01:00
tomcw
3cd4ead90d Disk: minor refactor 2019-10-13 16:01:00 +01:00
tomcw
1472f25bad Save-state: show an error MsgBox if old HDD v1 save-state and PC is in $Cnss HDD firmware 2019-10-13 15:48:07 +01:00
tomcw
2a06f32bf6 Disk: Fixed write/disk-format issue (regression at 25496d3a52) 2019-10-13 10:25:33 +01:00
tomcw
d7e0600ddd Updated History.txt for 1.29.3.0 2019-10-12 22:45:10 +01:00
tomcw
d39ba32e8a LC: Support write-enabling LC via single 'INC abs,X' opcode for 6502 & 65C02. (#404, #700) 2019-10-12 22:34:35 +01:00
tomcw
3ba303a749 Help: updated for the 3 new command line switches 2019-10-12 18:50:14 +01:00
tomcw
52c3dd982e Updated History.txt for 1.29.3.0 2019-10-12 18:24:18 +01:00
tomcw
8a55e35e2d LC: fixed INC to only write-enable LC for 65C02 (#700) 2019-10-12 18:17:11 +01:00
tomcw
df4ed7b964 Added new cmd-line switch: -model <apple2|apple2p|apple2e|apple2ee>. (Fixes #689) 2019-10-12 18:07:51 +01:00
tomcw
ad9dd28942 Added new cmd-line switch: -clock-multiplier. 2019-10-12 16:40:36 +01:00
tomcw
dc8a22169e Added new cmd-line switch: -s7-empty-on-exit. (Fixes #692) 2019-10-12 16:01:55 +01:00
tomcw
9768611a60 Added item to History.txt 2019-10-11 22:48:15 +01:00
tomcw
34b0c33cb1 1.29.3.0: Updated version and History.txt. Updated help. 2019-10-11 22:42:06 +01:00
tomcw
75f6ab9e59 Debugger: added auto-run of 'DebuggerAutoRun.txt' on startup. (#666) 2019-10-11 21:24:01 +01:00
tomcw
319797df69 Debugger: Video-scanner info:
. moved vert,horz onto same row
. made hex & apple modes the default display config
. added 2nd line showing cycles
. moved mini-mem views over by 1 char
2019-10-10 22:21:25 +01:00
tomcw
9994635e13 LC: Support write-enabling LC via single 'INC abs' and similar RMW opcodes (#700) 2019-10-08 22:12:35 +01:00
tomcw
7265dee506 Fixes:
. loading disk state (v5)
. string append bug introduced in 'char* to std::string' PR #687
2019-10-06 16:39:43 +01:00
tomcw
94926b4f55 HDD: Fixed SmartPort return address wrong when crossing page + some space-saving optimisations (Fixes #319) 2019-10-05 17:01:35 +01:00
tomcw
31b78aa09a HDD: Fixed not being able to enable HDDs - regression introduced at 506a52f359 2019-10-05 16:56:38 +01:00
tomcw
826dc6625e HDD firmware: switched assembler from A65 1.06 to ACME 0.96.4 2019-10-05 15:18:41 +01:00
tomcw
25496d3a52 WOZ: removed floppyWriteMode/FloppyLoadMode - use Sequencer Function instead 2019-10-05 09:53:02 +01:00
tomcw
d5236d5ee4 Merge branch 'master' of ssh://github.com/AppleWin/AppleWin 2019-09-30 22:14:06 +01:00
tomcw
31f7e7296b WOZ: support Sequencer Function 2019-09-30 21:29:58 +01:00
tomcw
5e98140da1 WOZ:
. set m_headWindow = 0, after >50 bitcell gap
. bias fake bits to be ~30% chance of a 1 bit
Disk logging:
. added timestamps to I/O accesses
. DumpTrackWOZ() now outputs sync bits between nibbles
2019-09-30 20:39:47 +01:00
tomcw
f9a1ef04f7 Debugger: videoinfo cmd: return feedback on success 2019-09-23 01:50:18 +01:00
tomcw
604aff4bbb Debugger: added help for videoinfo cmd 2019-09-22 16:53:38 +01:00
tomcw
b3eb789e03 Debugger: added BG_INFO_WATCH|ZEROPAGE enums 2019-09-22 15:59:19 +01:00
tomcw
b5b1deeead Debugger: added & used consts for video-scanner info 2019-09-22 15:28:10 +01:00
tomcw
7261c79054 Debugger: minor refactor for VideoScanner info 2019-09-22 15:11:14 +01:00
tomcw
f84c985751 Debugger refactor: moved ConfigColorsReset() from Debug.cpp to Debugger_Color.cpp 2019-09-22 11:25:48 +01:00
tomcw
9a0617e889 Debugger: removed the now redundant Debug_UpdatePalette() func 2019-09-22 11:14:32 +01:00
tomcw
3b9dc8d0f7 Merge branch 'master' of ssh://github.com/AppleWin/AppleWin 2019-09-21 16:38:46 +01:00
tomcw
9ee9414bb6 Debugger: show video-scanner's h,v position (at the expense of losing 2 watches). (#666) 2019-09-21 16:37:45 +01:00
tomcw
e4f0a8b8d9 Debugger: fix crash in ParseSymbolTable() due to PR #687 2019-09-17 19:17:30 +01:00
tomcw
3264fd3ee9 Two fixes for the 'char* to std::string' PR #687 2019-09-15 21:26:40 +01:00
tomcw
d2a5a6e829 Merge branch 'audetto-strings' 2019-09-15 20:45:50 +01:00
tomcw
660c75617b Merge branch 'strings' of ssh://github.com/audetto/AppleWin into audetto-strings 2019-09-15 20:45:05 +01:00
tomcw
506a52f359 Refactor slots & allow empty slots for s1(printer), s6(disk2)
. NB. can't empty s3(uthernet) yet
2019-09-15 20:37:20 +01:00
tomcw
94556b5eaf SSC: Added support for '-s2 empty' to remove SSC from slot-2 (#668) 2019-09-09 22:12:51 +01:00
Raphaël Zumer
15c30f4e1c Increase version numbers in README.md (PR #688) 2019-09-09 21:32:35 +01:00
Spiny-Norman
3414245de8 Added VS2019 support (PR #675)
VS2019: Added ddraw.lib to Debug and Release configurations; Set 'Basic Runtime Checks' = Default
2019-09-09 18:17:05 +01:00
Spiny-Norman
0f02325433 Merge branch 'kiyolee-vs2019-support' 2019-09-09 18:06:29 +01:00
Spiny-Norman
62e13b85dc Merge branch 'vs2019-support' of https://github.com/kiyolee/applewin into kiyolee-vs2019-support 2019-09-09 17:41:26 +01:00
Andrea Odetti
409634d65f Use a more descriptive variable name.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-09-08 21:33:26 +01:00
Andrea Odetti
bd201202cd Some more std::string changes.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-09-07 19:37:19 +01:00
Andrea Odetti
be476f9a9c Fix a couple of issues around std::string.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-09-07 18:51:07 +01:00
Andrea Odetti
dced4793b7 Next iteration of the string project.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-09-07 10:16:51 +01:00
Andrea Odetti
f5f60310c1 More std::strings.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-09-07 09:02:39 +01:00
tomcw
8978cabcda VS2017: Added ddraw.lib to Debug and Release configurations; Set 'Basic Runtime Checks' = Default 2019-09-07 09:01:26 +01:00
tomcw
4b4a86722c 1.29.2.0: Updated version and History.txt 2019-09-06 20:09:42 +01:00
tomcw
300494c470 Mockingboard: only do multi-TIMER1 support update when 6502 interrupts are enabled. (#685) 2019-09-06 19:59:28 +01:00
Andrea Odetti
d5890e8356 Replace some char * with std::string. 2019-09-06 17:34:25 +01:00
tomcw
ed9ae72778 Mockingboard: moved multi-TIMER1 support before the AY access. (#685) 2019-09-05 22:03:56 +01:00
tomcw
11323e2aba Mockingboard: support multiple TIMER1 interrupts, with one for MB reg updates (#685) 2019-09-05 20:42:34 +01:00
tomcw
64bdd7192a NTSC: fixed comment 2019-09-01 17:35:15 +01:00
tomcw
581546c1e9 1.29.1.2: test updated/fixed TV rendering for #650 2019-09-01 16:50:02 +01:00
tomcw
bd16b34514 NTSC: Minor refactor of updateFramebufferColorTVXXXScanline() names 2019-09-01 16:47:48 +01:00
tomcw
65b5330c51 TV video rendering: use prev (not next) line's pixel to avoid artifacts from prev frame! (#650) 2019-09-01 16:38:27 +01:00
tomcw
2f6b24b970 Fixed up the Debug/Release NoDX configurations 2019-09-01 11:28:24 +01:00
tomcw
9a061e271f VS2015: Added ddraw.lib to Debug and Release configurations 2019-09-01 11:10:37 +01:00
tomcw
fe375534cf NTSC: Commit to the improved TV modes. (#650) 2019-08-31 15:02:32 +01:00
tomcw
bad963026c 1.29.1.1: test improved TV modes for #650. Use Ctrl-9 to toggle 1.29.1.0 and 1.29.1.1. 2019-08-30 21:58:03 +01:00
tomcw
7495d0d9cc NTSC: Minor refactor of getScanlineXXX() func names 2019-08-30 16:43:28 +01:00
tomcw
bae7208852 Removed the old EXTEND_14M_VIDEO_BY_1_PIXEL rejected solution for #555 2019-08-29 21:38:00 +01:00
tomcw
2cc0f91fbf Minor: changed a REGLOAD() to REGLOAD_DEFAULT() 2019-08-29 19:19:47 +01:00
tomcw
3311c6f742 Updated History.txt and help about Ctrl-n for emulation speed control (#678) 2019-08-29 18:54:01 +01:00
Michael "Code Poet" Pohoreski
9e3f7b0ffc
Merge pull request #679 from AppleWin/bug_678_toggle_speed
Bug 678 toggle speed
2019-08-27 08:53:09 -07:00
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
00d45eb4e2 Merge branch 'beevik-master':
. Prevent uninitialized value bugs and improve string safety. (PR #674)
2019-08-25 17:30:43 +01:00
tomcw
1ad41c0be4 VS2008: Disabled warning-4995 about deprecated functions 2019-08-25 17:29:16 +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
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
michaelangel007
a12f4283e9 TODO: colorize output of CALC 2019-04-13 10:22:39 -07:00
michaelangel007
8b09cc47af Add misc. debugger stuff 2019-04-13 10:21:48 -07:00
tomcw
971eff7875 Added info about enhanceDisk 2019-04-11 22:34:40 +01:00
tomcw
c6d4512233 Merge branch 'master' into Refactor-Disk-cpp 2019-04-10 21:33:08 +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
78c9d89357 Help-troubleshooting: Added new item about issue with AltGr on international keyboards 2019-04-07 08:55:55 +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
4d9a3edd48 1.28.4: Bumped version & updated History.txt 2019-03-16 15:09:54 +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
9a4d257418 1.28.3: Fixed typos in History.txt 2019-03-03 14:55:04 +00:00
tomcw
91b828c1e6 1.28.3: Updated History.txt 2019-03-03 14:44:33 +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
tomcw
52ab95c7b6 1.28.2: Updated History.txt, and help doc 2019-02-24 17:48:34 +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
tomcw
d0d9c0ce31 1.28.1: Bumped version & updated History.txt 2019-02-02 16:11:06 +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
Raphaël Zumer
8f7ae7dc28 Ignore VS2017 database/IntelliSense folder (PR #605) 2019-01-20 11:15:02 +00:00
tomcw
a1fa710a10 Updated all VS projects for RGBMonitor.cpp & tested the debug/release builds 2019-01-19 17:09:32 +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
d077b50ea4 Updated README.md 2019-01-13 14:22:57 +00:00
tomcw
084b197f81 Help doc: video modes 2019-01-12 20:00:43 +00:00
555 changed files with 67126 additions and 44082 deletions

5
.gitignore vendored
View File

@ -10,9 +10,9 @@
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Dd]ebug v141_xp/
[Rr]elease/
[Rr]eleases/
[Rr]elease v141_xp/
x64/
x86/
build/
@ -159,6 +159,7 @@ ClientBin/
*.pfx
*.publishsettings
node_modules/
.vs/
# RIA/Silverlight projects
Generated_Code/

View File

@ -1,85 +1,99 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26430.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AppleWin", "AppleWinExpress2017.vcxproj", "{0A960136-A00A-4D4B-805F-664D9950D2CA}"
ProjectSection(ProjectDependencies) = postProject
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A} = {AA5854AD-2BC7-4EFD-9790-349ADB35E35A}
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45} = {CF5A49BF-62A5-41BB-B10C-F34D556A7A45}
{0212E0DF-06DA-4080-BD1D-F3B01599F70F} = {0212E0DF-06DA-4080-BD1D-F3B01599F70F}
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D} = {509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E} = {9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip_lib", "zip_lib\zip_lib2017.vcxproj", "{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib-Express2017.vcxproj", "{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml", "libyaml\win32\yaml2017.vcxproj", "{0212E0DF-06DA-4080-BD1D-F3B01599F70F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCPU6502", "test\TestCPU6502\TestCPU6502-vs2017.vcxproj", "{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HookFilter", "HookFilter\HookFilter-vs2017.vcxproj", "{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug NoDX|Win32 = Debug NoDX|Win32
Debug|Win32 = Debug|Win32
Release NoDX|Win32 = Release NoDX|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug NoDX|Win32.ActiveCfg = Debug NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug NoDX|Win32.Build.0 = Debug NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug|Win32.ActiveCfg = Debug|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug|Win32.Build.0 = Debug|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release NoDX|Win32.ActiveCfg = Release NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release NoDX|Win32.Build.0 = Release NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release|Win32.ActiveCfg = Release|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release|Win32.Build.0 = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug NoDX|Win32.Build.0 = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug|Win32.ActiveCfg = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug|Win32.Build.0 = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release NoDX|Win32.ActiveCfg = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release NoDX|Win32.Build.0 = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release|Win32.ActiveCfg = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release|Win32.Build.0 = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug NoDX|Win32.Build.0 = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug|Win32.ActiveCfg = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug|Win32.Build.0 = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release NoDX|Win32.ActiveCfg = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release NoDX|Win32.Build.0 = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release|Win32.ActiveCfg = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release|Win32.Build.0 = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug NoDX|Win32.Build.0 = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug|Win32.ActiveCfg = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug|Win32.Build.0 = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release NoDX|Win32.ActiveCfg = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release NoDX|Win32.Build.0 = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release|Win32.ActiveCfg = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release|Win32.Build.0 = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug NoDX|Win32.Build.0 = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug|Win32.ActiveCfg = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug|Win32.Build.0 = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release NoDX|Win32.ActiveCfg = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release NoDX|Win32.Build.0 = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release|Win32.ActiveCfg = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release|Win32.Build.0 = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug NoDX|Win32.Build.0 = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug|Win32.ActiveCfg = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug|Win32.Build.0 = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release NoDX|Win32.ActiveCfg = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release NoDX|Win32.Build.0 = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release|Win32.ActiveCfg = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29201.188
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AppleWin", "AppleWin-VS2022.vcxproj", "{0A960136-A00A-4D4B-805F-664D9950D2CA}"
ProjectSection(ProjectDependencies) = postProject
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45} = {CF5A49BF-62A5-41BB-B10C-F34D556A7A45}
{0212E0DF-06DA-4080-BD1D-F3B01599F70F} = {0212E0DF-06DA-4080-BD1D-F3B01599F70F}
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D} = {509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E} = {9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip_lib", "zip_lib\zip_VS2022.vcxproj", "{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib-VS2022.vcxproj", "{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml", "libyaml\win32\yaml-VS2022.vcxproj", "{0212E0DF-06DA-4080-BD1D-F3B01599F70F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCPU6502", "test\TestCPU6502\TestCPU6502-VS2022.vcxproj", "{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug NoDX|Win32 = Debug NoDX|Win32
Debug v141_xp|Win32 = Debug v141_xp|Win32
Debug|Win32 = Debug|Win32
Release NoDX|Win32 = Release NoDX|Win32
Release v141_xp|Win32 = Release v141_xp|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug NoDX|Win32.ActiveCfg = Debug NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug NoDX|Win32.Build.0 = Debug NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug v141_xp|Win32.ActiveCfg = Debug v141_xp|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug v141_xp|Win32.Build.0 = Debug v141_xp|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug|Win32.ActiveCfg = Debug|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug|Win32.Build.0 = Debug|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release NoDX|Win32.ActiveCfg = Release NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release NoDX|Win32.Build.0 = Release NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release v141_xp|Win32.ActiveCfg = Release v141_xp|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release v141_xp|Win32.Build.0 = Release v141_xp|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release|Win32.ActiveCfg = Release|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release|Win32.Build.0 = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug NoDX|Win32.Build.0 = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug v141_xp|Win32.ActiveCfg = Debug v141_xp|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug v141_xp|Win32.Build.0 = Debug v141_xp|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug|Win32.ActiveCfg = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug|Win32.Build.0 = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release NoDX|Win32.ActiveCfg = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release NoDX|Win32.Build.0 = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release v141_xp|Win32.ActiveCfg = Release v141_xp|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release v141_xp|Win32.Build.0 = Release v141_xp|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release|Win32.ActiveCfg = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release|Win32.Build.0 = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug NoDX|Win32.Build.0 = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug v141_xp|Win32.ActiveCfg = Debug v141_xp|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug v141_xp|Win32.Build.0 = Debug v141_xp|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug|Win32.ActiveCfg = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug|Win32.Build.0 = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release NoDX|Win32.ActiveCfg = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release NoDX|Win32.Build.0 = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release v141_xp|Win32.ActiveCfg = Release v141_xp|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release v141_xp|Win32.Build.0 = Release v141_xp|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release|Win32.ActiveCfg = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release|Win32.Build.0 = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug NoDX|Win32.Build.0 = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug v141_xp|Win32.ActiveCfg = Debug v141_xp|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug v141_xp|Win32.Build.0 = Debug v141_xp|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug|Win32.ActiveCfg = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug|Win32.Build.0 = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release NoDX|Win32.ActiveCfg = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release NoDX|Win32.Build.0 = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release v141_xp|Win32.ActiveCfg = Release v141_xp|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release v141_xp|Win32.Build.0 = Release v141_xp|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release|Win32.ActiveCfg = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release|Win32.Build.0 = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug NoDX|Win32.Build.0 = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug v141_xp|Win32.ActiveCfg = Debug v141_xp|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug v141_xp|Win32.Build.0 = Debug v141_xp|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug|Win32.ActiveCfg = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug|Win32.Build.0 = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release NoDX|Win32.ActiveCfg = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release NoDX|Win32.Build.0 = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release v141_xp|Win32.ActiveCfg = Release v141_xp|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release v141_xp|Win32.Build.0 = Release v141_xp|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release|Win32.ActiveCfg = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6D58FFC0-8F43-4085-967C-EDE80FB2808C}
EndGlobalSection
EndGlobal

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="source\Applewin.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\6821.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
@ -52,9 +49,6 @@
<ClCompile Include="source\Debugger\Debugger_Symbols.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Frame.cpp">
<Filter>Source Files\Video</Filter>
</ClCompile>
<ClCompile Include="source\Disk.cpp">
<Filter>Source Files\Disk</Filter>
</ClCompile>
@ -148,13 +142,10 @@
<ClCompile Include="source\Tape.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Tfe.cpp">
<ClCompile Include="source\Tfe\tfearch.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Tfearch.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Tfesupp.cpp">
<ClCompile Include="source\Tfe\tfesupp.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Uilib.cpp">
@ -190,17 +181,104 @@
<ClCompile Include="source\YamlHelper.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\RGBMonitor.cpp">
<Filter>Source Files\Video</Filter>
</ClCompile>
<ClCompile Include="source\CardManager.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Disk2CardManager.cpp">
<Filter>Source Files\Disk</Filter>
</ClCompile>
<ClCompile Include="source\SynchronousEventManager.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Windows\DirectInput.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="source\Windows\WinFrame.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="source\Core.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\Utilities.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\Windows\AppleWin.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="source\CmdLine.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\FrameBase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\Windows\Win32Frame.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="source\SSI263.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Disassembler.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Win32.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Windows\HookFilter.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="source\FourPlay.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\SNESMAX.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Card.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="Source\VidHD.cpp">
<Filter>Source Files\Video</Filter>
</ClCompile>
<ClCompile Include="source\6522.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\StrFormat.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\Uthernet1.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\NetworkBackend.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\PCapBackend.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Uthernet2.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\IPRaw.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\DNS.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\Config.cpp">
<Filter>Source Files\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\CopyProtectionDongles.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\MockingboardCardManager.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="source\Applewin.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\6510core.h">
<Filter>Source Files\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\alarm.h">
<Filter>Source Files\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\6821.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
@ -210,9 +288,6 @@
<ClInclude Include="source\AY8910.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Bittypes.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Bpf.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
@ -228,9 +303,6 @@
<ClInclude Include="source\CPU\cpu6502.h">
<Filter>Source Files\CPU</Filter>
</ClInclude>
<ClInclude Include="source\CPU\cpu65d02.h">
<Filter>Source Files\CPU</Filter>
</ClInclude>
<ClInclude Include="source\CPU\cpu65C02.h">
<Filter>Source Files\CPU</Filter>
</ClInclude>
@ -270,9 +342,6 @@
<ClInclude Include="source\Debugger\Debugger_Symbols.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Frame.h">
<Filter>Source Files\Video</Filter>
</ClInclude>
<ClInclude Include="source\Disk.h">
<Filter>Source Files\Disk</Filter>
</ClInclude>
@ -357,9 +426,6 @@
<ClInclude Include="source\Tfe\Pcap.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Pcap-stdinc.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PropertySheet.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
@ -402,13 +468,10 @@
<ClInclude Include="source\Tape.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Tfe.h">
<ClInclude Include="source\Tfe\tfearch.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Tfearch.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Tfesupp.h">
<ClInclude Include="source\Tfe\tfesupp.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Uilib.h">
@ -459,11 +522,101 @@
<ClInclude Include="source\YamlHelper.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SaveState_Structs_common.h">
<Filter>Source Files\_Headers</Filter>
<ClInclude Include="source\RGBMonitor.h">
<Filter>Source Files\Video</Filter>
</ClInclude>
<ClInclude Include="source\SaveState_Structs_v1.h">
<Filter>Source Files\_Headers</Filter>
<ClInclude Include="source\CardManager.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Disk2CardManager.h">
<Filter>Source Files\Disk</Filter>
</ClInclude>
<ClInclude Include="source\Card.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SynchronousEventManager.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Windows\DirectInput.h">
<Filter>Source Files\Windows</Filter>
</ClInclude>
<ClInclude Include="source\Core.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="source\Utilities.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="source\Windows\AppleWin.h">
<Filter>Source Files\Windows</Filter>
</ClInclude>
<ClInclude Include="source\CmdLine.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="source\Interface.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="source\FrameBase.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="source\Windows\Win32Frame.h">
<Filter>Source Files\Windows</Filter>
</ClInclude>
<ClInclude Include="source\SSI263.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Disassembler.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Win32.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Windows\HookFilter.h">
<Filter>Source Files\Windows</Filter>
</ClInclude>
<ClInclude Include="source\FourPlay.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SNESMAX.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="Source\VidHD.h">
<Filter>Source Files\Video</Filter>
</ClInclude>
<ClInclude Include="source\6522.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\StrFormat.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="source\Uthernet1.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\NetworkBackend.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\PCapBackend.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\W5100.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Uthernet2.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\IPRaw.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\DNS.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\CopyProtectionDongles.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\MockingboardCardManager.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\MockingboardDefs.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
@ -572,6 +725,12 @@
<Image Include="resource\RUN3000E.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\RUNBASE64A.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\ApplewinLogo.bmp">
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
<ItemGroup>
<None Include="resource\Apple2.rom">
@ -631,6 +790,21 @@
<None Include="resource\TKClock.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Base64A.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Base64A_German_Video.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Apple2_JPlus.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Apple2_JPlus_Video.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Disk2-13sector.rom">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Text Include="docs\CodingConventions.txt">
@ -696,6 +870,9 @@
<Filter Include="Source Files\Model">
<UniqueIdentifier>{15b450e4-f89f-4d80-9c44-48b32f33f3e3}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Windows">
<UniqueIdentifier>{95d0abc3-4007-4eb0-8222-4579b565de23}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="resource\Applewin.rc">

View File

@ -1,64 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Applewin", "AppleWinExpress2008.vcproj", "{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}"
ProjectSection(ProjectDependencies) = postProject
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F} = {5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}
{7935B998-C713-42AE-8F6D-9FF9080A1B1B} = {7935B998-C713-42AE-8F6D-9FF9080A1B1B}
{2CC8CA9F-E37E-41A4-BFAD-77E54EB783A2} = {2CC8CA9F-E37E-41A4-BFAD-77E54EB783A2}
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A} = {AA5854AD-2BC7-4EFD-9790-349ADB35E35A}
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B} = {709278B8-C583-4BD8-90DE-4E4F35A3BD8B}
{0AE28CF0-15B0-4DDF-B6D2-4562D8E456BB} = {0AE28CF0-15B0-4DDF-B6D2-4562D8E456BB}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib-Express2008.vcproj", "{7935B998-C713-42AE-8F6D-9FF9080A1B1B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip_lib", "zip_lib\zip_lib2008.vcproj", "{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCPU6502", "test\TestCPU6502\TestCPU6502-vs2008.vcproj", "{2CC8CA9F-E37E-41A4-BFAD-77E54EB783A2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml", "libyaml\win32\yaml2008.vcproj", "{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestDebugger", "test\TestDebugger\TestDebugger.vcproj", "{0AE28CF0-15B0-4DDF-B6D2-4562D8E456BB}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HookFilter", "HookFilter\HookFilter.vcproj", "{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Debug|Win32.ActiveCfg = Debug|Win32
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Debug|Win32.Build.0 = Debug|Win32
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Release|Win32.ActiveCfg = Release|Win32
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Release|Win32.Build.0 = Release|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Debug|Win32.ActiveCfg = Debug|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Debug|Win32.Build.0 = Debug|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Release|Win32.ActiveCfg = Release|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Release|Win32.Build.0 = Release|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Debug|Win32.ActiveCfg = Debug|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Debug|Win32.Build.0 = Debug|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Release|Win32.ActiveCfg = Release|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Release|Win32.Build.0 = Release|Win32
{2CC8CA9F-E37E-41A4-BFAD-77E54EB783A2}.Debug|Win32.ActiveCfg = Debug|Win32
{2CC8CA9F-E37E-41A4-BFAD-77E54EB783A2}.Debug|Win32.Build.0 = Debug|Win32
{2CC8CA9F-E37E-41A4-BFAD-77E54EB783A2}.Release|Win32.ActiveCfg = Release|Win32
{2CC8CA9F-E37E-41A4-BFAD-77E54EB783A2}.Release|Win32.Build.0 = Release|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Debug|Win32.ActiveCfg = Debug|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Debug|Win32.Build.0 = Debug|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Release|Win32.ActiveCfg = Release|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Release|Win32.Build.0 = Release|Win32
{0AE28CF0-15B0-4DDF-B6D2-4562D8E456BB}.Debug|Win32.ActiveCfg = Debug|Win32
{0AE28CF0-15B0-4DDF-B6D2-4562D8E456BB}.Debug|Win32.Build.0 = Debug|Win32
{0AE28CF0-15B0-4DDF-B6D2-4562D8E456BB}.Release|Win32.ActiveCfg = Release|Win32
{0AE28CF0-15B0-4DDF-B6D2-4562D8E456BB}.Release|Win32.Build.0 = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug|Win32.ActiveCfg = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug|Win32.Build.0 = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release|Win32.ActiveCfg = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

File diff suppressed because it is too large Load Diff

View File

@ -1,59 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AppleWin", "AppleWinExpress2010.vcxproj", "{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}"
ProjectSection(ProjectDependencies) = postProject
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F} = {5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib-Express2010.vcxproj", "{7935B998-C713-42AE-8F6D-9FF9080A1B1B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip_lib", "zip_lib\zip_lib2010.vcxproj", "{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml", "libyaml\win32\yaml2010.vcxproj", "{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug NoDX|Win32 = Debug NoDX|Win32
Debug|Win32 = Debug|Win32
Release NoDX|Win32 = Release NoDX|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Debug NoDX|Win32.ActiveCfg = Debug NoDX|Win32
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Debug NoDX|Win32.Build.0 = Debug NoDX|Win32
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Debug|Win32.ActiveCfg = Debug|Win32
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Debug|Win32.Build.0 = Debug|Win32
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Release NoDX|Win32.ActiveCfg = Release NoDX|Win32
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Release NoDX|Win32.Build.0 = Release NoDX|Win32
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Release|Win32.ActiveCfg = Release|Win32
{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}.Release|Win32.Build.0 = Release|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Debug NoDX|Win32.ActiveCfg = Debug NoDX|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Debug NoDX|Win32.Build.0 = Debug NoDX|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Debug|Win32.ActiveCfg = Debug|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Debug|Win32.Build.0 = Debug|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Release NoDX|Win32.ActiveCfg = Release NoDX|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Release NoDX|Win32.Build.0 = Release NoDX|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Release|Win32.ActiveCfg = Release|Win32
{7935B998-C713-42AE-8F6D-9FF9080A1B1B}.Release|Win32.Build.0 = Release|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Debug NoDX|Win32.ActiveCfg = Debug NoDX|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Debug NoDX|Win32.Build.0 = Debug NoDX|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Debug|Win32.ActiveCfg = Debug|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Debug|Win32.Build.0 = Debug|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Release NoDX|Win32.ActiveCfg = Release NoDX|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Release NoDX|Win32.Build.0 = Release NoDX|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Release|Win32.ActiveCfg = Release|Win32
{709278B8-C583-4BD8-90DE-4E4F35A3BD8B}.Release|Win32.Build.0 = Release|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Debug NoDX|Win32.Build.0 = Debug|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Debug|Win32.ActiveCfg = Debug|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Debug|Win32.Build.0 = Debug|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Release NoDX|Win32.ActiveCfg = Release|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Release NoDX|Win32.Build.0 = Release|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Release|Win32.ActiveCfg = Release|Win32
{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,568 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug NoDX|Win32">
<Configuration>Debug NoDX</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release NoDX|Win32">
<Configuration>Release NoDX</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>AppleWin</ProjectName>
<ProjectGuid>{1DA0C491-B5F4-4EC8-B1D2-CF6BE635DADC}</ProjectGuid>
<RootNamespace>AppleWin</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\Release/AppleWin.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;libyaml\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;YAML_DECLARE_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4819;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;ddraw.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalManifestDependencies>type=%27Win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 processorArchitecture=%27X86%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27;%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>$(MSBuildProjectDirectory)\ddraw_lib\x86;</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\Release/AppleWin.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;libyaml\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;NO_DIRECT_X;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4819;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;winmm.lib;dsound.lib;version.lib;strmiids.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalManifestDependencies>type=%27Win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 processorArchitecture=%27X86%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27;%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>$(MSBuildProjectDirectory)\ddraw_lib\x86;</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\Debug/AppleWin.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;libyaml\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;YAML_DECLARE_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<DisableSpecificWarnings>4819;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;ddraw.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalManifestDependencies>type=%27Win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 processorArchitecture=%27X86%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27;%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>$(MSBuildProjectDirectory)\ddraw_lib\x86;</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\Debug/AppleWin.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;libyaml\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;NO_DIRECT_X;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<BrowseInformation>true</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<DisableSpecificWarnings>4819;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;winmm.lib;dsound.lib;version.lib;strmiids.lib;user32.lib;gdi32.lib;Advapi32.lib;shell32.lib;Comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalManifestDependencies>type=%27Win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 processorArchitecture=%27X86%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27;%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>$(MSBuildProjectDirectory)\ddraw_lib\x86;</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="source\Applewin.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Use</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">Use</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Use</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">Use</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Debugger\Debug.cpp" />
<ClCompile Include="source\Debugger\Debugger_Assembler.cpp" />
<ClCompile Include="source\Debugger\Debugger_Color.cpp" />
<ClCompile Include="source\Debugger\Debugger_Commands.cpp" />
<ClCompile Include="source\Debugger\Debugger_Console.cpp" />
<ClCompile Include="source\Debugger\Debugger_DisassemblerData.cpp" />
<ClCompile Include="source\Debugger\Debugger_Display.cpp" />
<ClCompile Include="source\Debugger\Debugger_Help.cpp" />
<ClCompile Include="source\Debugger\Debugger_Parser.cpp" />
<ClCompile Include="source\Debugger\Debugger_Range.cpp" />
<ClCompile Include="source\Debugger\Debugger_Symbols.cpp" />
<ClCompile Include="source\DiskFormatTrack.cpp" />
<ClCompile Include="source\NTSC.cpp" />
<ClCompile Include="source\NTSC_CharSet.cpp" />
<ClCompile Include="source\SAM.cpp" />
<ClCompile Include="source\StdAfx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Debugger\Util_MemoryTextFile.cpp" />
<ClCompile Include="source\Tfe\Tfe.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Tfe\Tfearch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Tfe\Tfesupp.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Tfe\Uilib.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Z80VICE\daa.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Z80VICE\z80.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Z80VICE\z80mem.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\6821.cpp" />
<ClCompile Include="source\AY8910.cpp" />
<ClCompile Include="source\Joystick.cpp" />
<ClCompile Include="source\Keyboard.cpp" />
<ClCompile Include="source\Log.cpp" />
<ClCompile Include="source\Memory.cpp" />
<ClCompile Include="source\Mockingboard.cpp" />
<ClCompile Include="source\MouseInterface.cpp" />
<ClCompile Include="source\NoSlotClock.cpp" />
<ClCompile Include="source\ParallelPrinter.cpp" />
<ClCompile Include="source\Pravets.cpp" />
<ClCompile Include="source\Registry.cpp" />
<ClCompile Include="source\Riff.cpp" />
<ClCompile Include="source\SaveState.cpp" />
<ClCompile Include="source\SerialComms.cpp" />
<ClCompile Include="source\SoundCore.cpp" />
<ClCompile Include="source\Speaker.cpp" />
<ClCompile Include="source\Speech.cpp" />
<ClCompile Include="source\Tape.cpp" />
<ClCompile Include="source\z80emu.cpp" />
<ClCompile Include="source\CPU.cpp" />
<ClCompile Include="source\SAM.cpp" />
<ClCompile Include="source\Disk.cpp" />
<ClCompile Include="source\DiskImage.cpp" />
<ClCompile Include="source\DiskImageHelper.cpp" />
<ClCompile Include="source\Harddisk.cpp" />
<ClCompile Include="source\Frame.cpp" />
<ClCompile Include="source\Video.cpp" />
<ClCompile Include="source\YamlHelper.cpp" />
<ClCompile Include="source\Configuration\About.cpp" />
<ClCompile Include="source\Configuration\PageAdvanced.cpp" />
<ClCompile Include="source\Configuration\PageConfig.cpp" />
<ClCompile Include="source\Configuration\PageConfigTfe.cpp" />
<ClCompile Include="source\Configuration\PageDisk.cpp" />
<ClCompile Include="source\Configuration\PageInput.cpp" />
<ClCompile Include="source\Configuration\PageSound.cpp" />
<ClCompile Include="source\Configuration\PropertySheet.cpp" />
<ClCompile Include="source\Configuration\PropertySheetHelper.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="source\Applewin.h" />
<ClInclude Include="source\Debugger\Debug.h" />
<ClInclude Include="source\Debugger\Debugger_Assembler.h" />
<ClInclude Include="source\Debugger\Debugger_Color.h" />
<ClInclude Include="source\Debugger\Debugger_Console.h" />
<ClInclude Include="source\Debugger\Debugger_DisassemblerData.h" />
<ClInclude Include="source\Debugger\Debugger_Display.h" />
<ClInclude Include="source\Debugger\Debugger_Help.h" />
<ClInclude Include="source\Debugger\Debugger_Parser.h" />
<ClInclude Include="source\Debugger\Debugger_Range.h" />
<ClInclude Include="source\Debugger\Debugger_Symbols.h" />
<ClInclude Include="source\Debugger\Debugger_Types.h" />
<ClInclude Include="source\Debugger\Util_MemoryTextFile.h" />
<ClInclude Include="source\NTSC.h" />
<ClInclude Include="source\NTSC_CharSet.h" />
<ClInclude Include="source\Tfe\Bittypes.h" />
<ClInclude Include="source\Tfe\Bpf.h" />
<ClInclude Include="source\Tfe\Ip6_misc.h" />
<ClInclude Include="source\Tfe\Pcap-stdinc.h" />
<ClInclude Include="source\Tfe\Pcap.h" />
<ClInclude Include="source\Tfe\Tfe.h" />
<ClInclude Include="source\Tfe\Tfearch.h" />
<ClInclude Include="source\Tfe\Tfesupp.h" />
<ClInclude Include="source\Tfe\Uilib.h" />
<ClInclude Include="source\Z80VICE\daa.h" />
<ClInclude Include="source\Z80VICE\z80.h" />
<ClInclude Include="source\Z80VICE\z80mem.h" />
<ClInclude Include="source\Z80VICE\z80regs.h" />
<ClInclude Include="source\CommonVICE\6510core.h" />
<ClInclude Include="source\CommonVICE\alarm.h" />
<ClInclude Include="source\CommonVICE\interrupt.h" />
<ClInclude Include="source\CommonVICE\mem.h" />
<ClInclude Include="source\CommonVICE\types.h" />
<ClInclude Include="source\6821.h" />
<ClInclude Include="source\AY8910.h" />
<ClInclude Include="source\Joystick.h" />
<ClInclude Include="source\Keyboard.h" />
<ClInclude Include="source\Log.h" />
<ClInclude Include="source\Memory.h" />
<ClInclude Include="source\Mockingboard.h" />
<ClInclude Include="source\MouseInterface.h" />
<ClInclude Include="source\NoSlotClock.h" />
<ClInclude Include="source\ParallelPrinter.h" />
<ClInclude Include="source\Pravets.h" />
<ClInclude Include="source\Registry.h" />
<ClInclude Include="source\Riff.h" />
<ClInclude Include="source\SaveState.h" />
<ClInclude Include="source\SerialComms.h" />
<ClInclude Include="source\SoundCore.h" />
<ClInclude Include="source\Speaker.h" />
<ClInclude Include="source\Speech.h" />
<ClInclude Include="source\Tape.h" />
<ClInclude Include="source\z80emu.h" />
<ClInclude Include="source\Common.h" />
<ClInclude Include="resource\resource.h" />
<ClInclude Include="source\SSI263Phonemes.h" />
<ClInclude Include="source\StdAfx.h" />
<ClInclude Include="source\Structs.h" />
<ClInclude Include="source\CPU.h" />
<ClInclude Include="source\CPU\cpu6502.h" />
<ClInclude Include="source\CPU\cpu65C02.h" />
<ClInclude Include="source\CPU\cpu65d02.h" />
<ClInclude Include="source\Disk.h" />
<ClInclude Include="source\DiskImage.h" />
<ClInclude Include="source\DiskImageHelper.h" />
<ClInclude Include="source\Harddisk.h" />
<ClInclude Include="source\Frame.h" />
<ClInclude Include="source\Video.h" />
<ClInclude Include="source\YamlHelper.h" />
<ClInclude Include="source\Configuration\About.h" />
<ClInclude Include="source\Configuration\Config.h" />
<ClInclude Include="source\Configuration\IPropertySheet.h" />
<ClInclude Include="source\Configuration\IPropertySheetPage.h" />
<ClInclude Include="source\Configuration\PageAdvanced.h" />
<ClInclude Include="source\Configuration\PageConfig.h" />
<ClInclude Include="source\Configuration\PageConfigTfe.h" />
<ClInclude Include="source\Configuration\PageDisk.h" />
<ClInclude Include="source\Configuration\PageInput.h" />
<ClInclude Include="source\Configuration\PageSound.h" />
<ClInclude Include="source\Configuration\PropertySheet.h" />
<ClInclude Include="source\Configuration\PropertySheetDefs.h" />
<ClInclude Include="source\Configuration\PropertySheetHelper.h" />
<ClInclude Include="resource\winres.h" />
</ItemGroup>
<ItemGroup>
<None Include="source\CPU\cpu_general.inl" />
<None Include="source\CPU\cpu_instructions.inl" />
<None Include="docs\CodingConventions.txt" />
<None Include="docs\Debugger_Changelog.txt" />
<None Include="docs\FAQ.txt" />
<None Include="bin\History.txt" />
<None Include="docs\ToDo.txt" />
<None Include="docs\Video_Cleanup.txt" />
<None Include="docs\Wishlist.txt" />
<None Include="resource\Apple2.rom" />
<None Include="resource\Apple2_Plus.rom" />
<None Include="resource\Apple2e.rom" />
<None Include="resource\Apple2e_Enhanced.rom" />
<None Include="resource\Applewin.bmp" />
<None Include="resource\ApplewinLogo.bmp" />
<None Include="RESOURCE\APPLEWIN.ICO" />
<None Include="RESOURCE\CAPSOFF.BMP" />
<None Include="resource\CAPSOFF_P8.BMP" />
<None Include="RESOURCE\CAPSON.BMP" />
<None Include="resource\CAPSON_P8.BMP" />
<None Include="RESOURCE\CHARSET4.BMP" />
<None Include="resource\CHARSET82.bmp" />
<None Include="resource\CHARSET8C.bmp" />
<None Include="RESOURCE\COLOR.BMP" />
<None Include="RESOURCE\DEBUG.BMP" />
<None Include="resource\Debug_Font.bmp" />
<None Include="RESOURCE\DISK.ICO" />
<None Include="resource\Disk2.rom" />
<None Include="RESOURCE\DISKOFF.BMP" />
<None Include="resource\Diskprot.bmp" />
<None Include="RESOURCE\DISKREAD.BMP" />
<None Include="RESOURCE\DISKWRIT.BMP" />
<None Include="RESOURCE\DRIVE1.BMP" />
<None Include="RESOURCE\DRIVE2.BMP" />
<None Include="Resource\DriveSwap.bmp" />
<None Include="Resource\DRSWAP.bmp" />
<None Include="resource\Freezes_Non-autostart_F8_Rom.rom" />
<None Include="RESOURCE\FULLSCR.BMP" />
<None Include="Resource\Hddrvr.bin" />
<None Include="RESOURCE\HELP.BMP" />
<None Include="resource\LATOFF.BMP" />
<None Include="resource\LATON.BMP" />
<None Include="RESOURCE\LED_CAPS_OFF.BMP" />
<None Include="RESOURCE\LED_CAPS_OFF_LAT.BMP" />
<None Include="RESOURCE\LED_CAPS_OFF_P8.BMP" />
<None Include="RESOURCE\LED_CAPS_ON.BMP" />
<None Include="RESOURCE\LED_CAPS_ON_LAT.BMP" />
<None Include="RESOURCE\LED_CAPS_ON_P8.BMP" />
<None Include="resource\Mockingboard-D.rom" />
<None Include="resource\MouseInterface.rom" />
<None Include="resource\Parallel.rom" />
<None Include="resource\PRAVETS82.ROM" />
<None Include="resource\Pravets8C.rom" />
<None Include="RESOURCE\Pravets8M.rom" />
<None Include="RESOURCE\RUN.BMP" />
<None Include="resource\RUN3000E.bmp" />
<None Include="resource\RUNP.BMP" />
<None Include="RESOURCE\SETUP.BMP" />
<None Include="resource\SSC.rom" />
<None Include="resource\ThunderClockPlus.rom" />
<None Include="resource\TK3000e.rom" />
<None Include="resource\TKClock.rom" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="RESOURCE\APPLEWIN.RC">
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">RESOURCE;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">RESOURCE;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">RESOURCE;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">RESOURCE;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="zip_lib\zip_lib2010.vcxproj">
<Project>{709278b8-c583-4bd8-90de-4e4f35a3bd8b}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="zlib\zlib-Express2010.vcxproj">
<Project>{7935b998-c713-42ae-8f6d-9ff9080a1b1b}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="libyaml\win32\yaml2010.vcxproj">
<Project>{5CE8051A-3F0C-4C39-B1C0-3338E48BA60F}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Manifest Include="AppleWin\Release\AppleWin.exe.intermediate.manifest" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,667 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source">
<UniqueIdentifier>{74e2a597-413f-447d-bcca-b755f3924e86}</UniqueIdentifier>
<Extensions>.cpp</Extensions>
</Filter>
<Filter Include="Source\Debugger">
<UniqueIdentifier>{7ec93303-838c-4cb5-a54b-d694078abacf}</UniqueIdentifier>
</Filter>
<Filter Include="Source\Uthernet">
<UniqueIdentifier>{5895ee90-26c2-495f-b3d9-ec71379490bc}</UniqueIdentifier>
</Filter>
<Filter Include="Source\Z80VICE">
<UniqueIdentifier>{0a1a9684-44b6-4a75-932b-bd5ad687b71a}</UniqueIdentifier>
</Filter>
<Filter Include="Source\CommonVICE">
<UniqueIdentifier>{53d31f58-9328-4ff3-97e6-af038f620b03}</UniqueIdentifier>
</Filter>
<Filter Include="Source\Emulator">
<UniqueIdentifier>{330ce46b-9563-4908-836b-9f3a276fb741}</UniqueIdentifier>
</Filter>
<Filter Include="Source\_Headers">
<UniqueIdentifier>{9a51cc1a-a03e-4d1d-aa92-7742b7efe6f9}</UniqueIdentifier>
</Filter>
<Filter Include="Source\CPU">
<UniqueIdentifier>{fb24dc7c-547e-41e6-990b-6d206564e70b}</UniqueIdentifier>
</Filter>
<Filter Include="Source\Disk">
<UniqueIdentifier>{d136990f-68f2-478d-a8df-3f9458f50c2b}</UniqueIdentifier>
</Filter>
<Filter Include="Source\Video">
<UniqueIdentifier>{b777c079-2523-4d07-8819-27df18e56500}</UniqueIdentifier>
</Filter>
<Filter Include="Source\Configuration">
<UniqueIdentifier>{7537bc07-cf56-4c40-986c-3c2e05d23eec}</UniqueIdentifier>
</Filter>
<Filter Include="Docs">
<UniqueIdentifier>{6ecaa432-46b0-4795-a848-fc9a6f4f3706}</UniqueIdentifier>
</Filter>
<Filter Include="Resources">
<UniqueIdentifier>{b003a70c-a1f1-4502-a959-bbc35def32be}</UniqueIdentifier>
<Extensions>.txt,.ico,.bmp,.rc</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="source\Applewin.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debug.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Assembler.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Color.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Commands.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Console.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_DisassemblerData.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Display.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Help.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Parser.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Range.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Symbols.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Util_MemoryTextFile.cpp">
<Filter>Source\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Tfe.cpp">
<Filter>Source\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Tfearch.cpp">
<Filter>Source\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Tfesupp.cpp">
<Filter>Source\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Uilib.cpp">
<Filter>Source\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Z80VICE\daa.cpp">
<Filter>Source\Z80VICE</Filter>
</ClCompile>
<ClCompile Include="source\Z80VICE\z80.cpp">
<Filter>Source\Z80VICE</Filter>
</ClCompile>
<ClCompile Include="source\Z80VICE\z80mem.cpp">
<Filter>Source\Z80VICE</Filter>
</ClCompile>
<ClCompile Include="source\6821.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\AY8910.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Joystick.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Keyboard.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Log.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Memory.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Mockingboard.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\MouseInterface.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\NoSlotClock.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\ParallelPrinter.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Registry.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Riff.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\SaveState.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\SerialComms.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\SoundCore.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Speaker.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Speech.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Tape.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\z80emu.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\CPU.cpp">
<Filter>Source\CPU</Filter>
</ClCompile>
<ClCompile Include="source\Disk.cpp">
<Filter>Source\Disk</Filter>
</ClCompile>
<ClCompile Include="source\DiskImage.cpp">
<Filter>Source\Disk</Filter>
</ClCompile>
<ClCompile Include="source\DiskImageHelper.cpp">
<Filter>Source\Disk</Filter>
</ClCompile>
<ClCompile Include="source\Harddisk.cpp">
<Filter>Source\Disk</Filter>
</ClCompile>
<ClCompile Include="source\Frame.cpp">
<Filter>Source\Video</Filter>
</ClCompile>
<ClCompile Include="source\Video.cpp">
<Filter>Source\Video</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\About.cpp">
<Filter>Source\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageAdvanced.cpp">
<Filter>Source\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageConfig.cpp">
<Filter>Source\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageConfigTfe.cpp">
<Filter>Source\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageDisk.cpp">
<Filter>Source\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageInput.cpp">
<Filter>Source\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageSound.cpp">
<Filter>Source\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PropertySheet.cpp">
<Filter>Source\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PropertySheetHelper.cpp">
<Filter>Source\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\StdAfx.cpp">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="source\NTSC.cpp">
<Filter>Source\Video</Filter>
</ClCompile>
<ClCompile Include="source\NTSC_CharSet.cpp">
<Filter>Source\Video</Filter>
</ClCompile>
<ClCompile Include="source\SAM.cpp">
<Filter>Source\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Pravets.cpp" />
<ClCompile Include="source\YamlHelper.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="source\Applewin.h">
<Filter>Source</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debug.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Assembler.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Color.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Console.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_DisassemblerData.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Display.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Help.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Parser.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Range.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Symbols.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Types.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Util_MemoryTextFile.h">
<Filter>Source\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Bittypes.h">
<Filter>Source\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Bpf.h">
<Filter>Source\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Ip6_misc.h">
<Filter>Source\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Pcap-stdinc.h">
<Filter>Source\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Pcap.h">
<Filter>Source\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Tfe.h">
<Filter>Source\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Tfearch.h">
<Filter>Source\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Tfesupp.h">
<Filter>Source\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Uilib.h">
<Filter>Source\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Z80VICE\daa.h">
<Filter>Source\Z80VICE</Filter>
</ClInclude>
<ClInclude Include="source\Z80VICE\z80.h">
<Filter>Source\Z80VICE</Filter>
</ClInclude>
<ClInclude Include="source\Z80VICE\z80mem.h">
<Filter>Source\Z80VICE</Filter>
</ClInclude>
<ClInclude Include="source\Z80VICE\z80regs.h">
<Filter>Source\Z80VICE</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\6510core.h">
<Filter>Source\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\alarm.h">
<Filter>Source\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\interrupt.h">
<Filter>Source\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\mem.h">
<Filter>Source\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\types.h">
<Filter>Source\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\6821.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\AY8910.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Joystick.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Keyboard.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Log.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Memory.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Mockingboard.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\MouseInterface.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\NoSlotClock.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\ParallelPrinter.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Registry.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Riff.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SaveState.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SerialComms.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SoundCore.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Speaker.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Speech.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Tape.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\z80emu.h">
<Filter>Source\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Common.h">
<Filter>Source\_Headers</Filter>
</ClInclude>
<ClInclude Include="resource\resource.h">
<Filter>Source\_Headers</Filter>
</ClInclude>
<ClInclude Include="source\SSI263Phonemes.h">
<Filter>Source\_Headers</Filter>
</ClInclude>
<ClInclude Include="source\Structs.h">
<Filter>Source\_Headers</Filter>
</ClInclude>
<ClInclude Include="source\CPU.h">
<Filter>Source\CPU</Filter>
</ClInclude>
<ClInclude Include="source\CPU\cpu6502.h">
<Filter>Source\CPU</Filter>
</ClInclude>
<ClInclude Include="source\CPU\cpu65C02.h">
<Filter>Source\CPU</Filter>
</ClInclude>
<ClInclude Include="source\CPU\cpu65d02.h">
<Filter>Source\CPU</Filter>
</ClInclude>
<ClInclude Include="source\Disk.h">
<Filter>Source\Disk</Filter>
</ClInclude>
<ClInclude Include="source\DiskImage.h">
<Filter>Source\Disk</Filter>
</ClInclude>
<ClInclude Include="source\DiskImageHelper.h">
<Filter>Source\Disk</Filter>
</ClInclude>
<ClInclude Include="source\Harddisk.h">
<Filter>Source\Disk</Filter>
</ClInclude>
<ClInclude Include="source\Frame.h">
<Filter>Source\Video</Filter>
</ClInclude>
<ClInclude Include="source\Video.h">
<Filter>Source\Video</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\About.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\Config.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\IPropertySheet.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\IPropertySheetPage.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageAdvanced.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageConfig.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageConfigTfe.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageDisk.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageInput.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageSound.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PropertySheet.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PropertySheetDefs.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PropertySheetHelper.h">
<Filter>Source\Configuration</Filter>
</ClInclude>
<ClInclude Include="resource\winres.h">
<Filter>Resources</Filter>
</ClInclude>
<ClInclude Include="source\StdAfx.h">
<Filter>Source</Filter>
</ClInclude>
<ClInclude Include="source\NTSC.h">
<Filter>Source\Video</Filter>
</ClInclude>
<ClInclude Include="source\Pravets.h" />
<ClInclude Include="source\YamlHelper.h" />
<ClInclude Include="source\NTSC_CharSet.h">
<Filter>Source\Video</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="source\CPU\cpu_general.inl">
<Filter>Source\CPU</Filter>
</None>
<None Include="source\CPU\cpu_instructions.inl">
<Filter>Source\CPU</Filter>
</None>
<None Include="docs\CodingConventions.txt">
<Filter>Docs</Filter>
</None>
<None Include="docs\Debugger_Changelog.txt">
<Filter>Docs</Filter>
</None>
<None Include="docs\FAQ.txt">
<Filter>Docs</Filter>
</None>
<None Include="bin\History.txt">
<Filter>Docs</Filter>
</None>
<None Include="docs\ToDo.txt">
<Filter>Docs</Filter>
</None>
<None Include="docs\Video_Cleanup.txt">
<Filter>Docs</Filter>
</None>
<None Include="docs\Wishlist.txt">
<Filter>Docs</Filter>
</None>
<None Include="resource\Apple2.rom">
<Filter>Resources</Filter>
</None>
<None Include="resource\Apple2_Plus.rom">
<Filter>Resources</Filter>
</None>
<None Include="resource\Apple2e.rom">
<Filter>Resources</Filter>
</None>
<None Include="resource\Apple2e_Enhanced.rom">
<Filter>Resources</Filter>
</None>
<None Include="resource\Applewin.bmp">
<Filter>Resources</Filter>
</None>
<None Include="resource\ApplewinLogo.bmp">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\APPLEWIN.ICO">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\CAPSOFF.BMP">
<Filter>Resources</Filter>
</None>
<None Include="resource\CAPSOFF_P8.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\CAPSON.BMP">
<Filter>Resources</Filter>
</None>
<None Include="resource\CAPSON_P8.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\CHARSET4.BMP">
<Filter>Resources</Filter>
</None>
<None Include="resource\CHARSET82.bmp">
<Filter>Resources</Filter>
</None>
<None Include="resource\CHARSET8C.bmp">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\COLOR.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\DEBUG.BMP">
<Filter>Resources</Filter>
</None>
<None Include="resource\Debug_Font.bmp">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\DISK.ICO">
<Filter>Resources</Filter>
</None>
<None Include="resource\Disk2.rom">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\DISKOFF.BMP">
<Filter>Resources</Filter>
</None>
<None Include="resource\Diskprot.bmp">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\DISKREAD.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\DISKWRIT.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\DRIVE1.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\DRIVE2.BMP">
<Filter>Resources</Filter>
</None>
<None Include="Resource\DriveSwap.bmp">
<Filter>Resources</Filter>
</None>
<None Include="Resource\DRSWAP.bmp">
<Filter>Resources</Filter>
</None>
<None Include="resource\Freezes_Non-autostart_F8_Rom.rom">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\FULLSCR.BMP">
<Filter>Resources</Filter>
</None>
<None Include="Resource\Hddrvr.bin">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\HELP.BMP">
<Filter>Resources</Filter>
</None>
<None Include="resource\LATOFF.BMP">
<Filter>Resources</Filter>
</None>
<None Include="resource\LATON.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\LED_CAPS_OFF.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\LED_CAPS_ON.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\LED_CAPS_OFF_P8.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\LED_CAPS_ON_P8.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\LED_CAPS_OFF_LAT.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\LED_CAPS_ON_LAT.BMP">
<Filter>Resources</Filter>
</None>
<None Include="resource\Mockingboard-D.rom">
<Filter>Resources</Filter>
</None>
<None Include="resource\MouseInterface.rom">
<Filter>Resources</Filter>
</None>
<None Include="resource\Parallel.rom">
<Filter>Resources</Filter>
</None>
<None Include="resource\PRAVETS82.ROM">
<Filter>Resources</Filter>
</None>
<None Include="resource\Pravets8C.rom">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\Pravets8M.rom">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\RUN.BMP">
<Filter>Resources</Filter>
</None>
<None Include="resource\RUN3000E.bmp">
<Filter>Resources</Filter>
</None>
<None Include="resource\RUNP.BMP">
<Filter>Resources</Filter>
</None>
<None Include="RESOURCE\SETUP.BMP">
<Filter>Resources</Filter>
</None>
<None Include="resource\SSC.rom">
<Filter>Resources</Filter>
</None>
<None Include="resource\ThunderClockPlus.rom">
<Filter>Resources</Filter>
</None>
<None Include="resource\TK3000e.rom">
<Filter>Resources</Filter>
</None>
<None Include="resource\TKClock.rom">
<Filter>Resources</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="RESOURCE\APPLEWIN.RC">
<Filter>Resources</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@ -1,472 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug NoDX|Win32">
<Configuration>Debug NoDX</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release NoDX|Win32">
<Configuration>Release NoDX</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource\resource.h" />
<ClInclude Include="resource\winres.h" />
<ClInclude Include="source\6821.h" />
<ClInclude Include="source\Applewin.h" />
<ClInclude Include="source\AY8910.h" />
<ClInclude Include="source\Common.h" />
<ClInclude Include="source\CommonVICE\6510core.h" />
<ClInclude Include="source\CommonVICE\alarm.h" />
<ClInclude Include="source\CommonVICE\interrupt.h" />
<ClInclude Include="source\CommonVICE\mem.h" />
<ClInclude Include="source\CommonVICE\types.h" />
<ClInclude Include="source\Configuration\About.h" />
<ClInclude Include="source\Configuration\Config.h" />
<ClInclude Include="source\Configuration\IPropertySheet.h" />
<ClInclude Include="source\Configuration\IPropertySheetPage.h" />
<ClInclude Include="source\Configuration\PageAdvanced.h" />
<ClInclude Include="source\Configuration\PageConfig.h" />
<ClInclude Include="source\Configuration\PageConfigTfe.h" />
<ClInclude Include="source\Configuration\PageDisk.h" />
<ClInclude Include="source\Configuration\PageInput.h" />
<ClInclude Include="source\Configuration\PageSound.h" />
<ClInclude Include="source\Configuration\PropertySheet.h" />
<ClInclude Include="source\Configuration\PropertySheetDefs.h" />
<ClInclude Include="source\Configuration\PropertySheetHelper.h" />
<ClInclude Include="source\CPU.h" />
<ClInclude Include="source\CPU\cpu6502.h" />
<ClInclude Include="source\CPU\cpu65C02.h" />
<ClInclude Include="source\CPU\cpu65d02.h" />
<ClInclude Include="source\Debugger\Debug.h" />
<ClInclude Include="source\Debugger\DebugDefs.h" />
<ClInclude Include="source\Debugger\Debugger_Assembler.h" />
<ClInclude Include="source\Debugger\Debugger_Color.h" />
<ClInclude Include="source\Debugger\Debugger_Console.h" />
<ClInclude Include="source\Debugger\Debugger_DisassemblerData.h" />
<ClInclude Include="source\Debugger\Debugger_Display.h" />
<ClInclude Include="source\Debugger\Debugger_Help.h" />
<ClInclude Include="source\Debugger\Debugger_Parser.h" />
<ClInclude Include="source\Debugger\Debugger_Range.h" />
<ClInclude Include="source\Debugger\Debugger_Symbols.h" />
<ClInclude Include="source\Debugger\Debugger_Types.h" />
<ClInclude Include="source\Debugger\Util_MemoryTextFile.h" />
<ClInclude Include="source\Debugger\Util_Text.h" />
<ClInclude Include="source\Disk.h" />
<ClInclude Include="source\DiskDefs.h" />
<ClInclude Include="source\DiskFormatTrack.h" />
<ClInclude Include="source\DiskImage.h" />
<ClInclude Include="source\DiskImageHelper.h" />
<ClInclude Include="source\DiskLog.h" />
<ClInclude Include="source\Frame.h" />
<ClInclude Include="source\Harddisk.h" />
<ClInclude Include="source\Joystick.h" />
<ClInclude Include="source\Keyboard.h" />
<ClInclude Include="source\LanguageCard.h" />
<ClInclude Include="source\Log.h" />
<ClInclude Include="source\Memory.h" />
<ClInclude Include="source\Mockingboard.h" />
<ClInclude Include="source\MouseInterface.h" />
<ClInclude Include="source\NoSlotClock.h" />
<ClInclude Include="source\NTSC.h" />
<ClInclude Include="source\NTSC_CharSet.h" />
<ClInclude Include="source\ParallelPrinter.h" />
<ClInclude Include="source\Pravets.h" />
<ClInclude Include="source\Registry.h" />
<ClInclude Include="source\Riff.h" />
<ClInclude Include="source\SAM.h" />
<ClInclude Include="source\SaveState.h" />
<ClInclude Include="source\SaveState_Structs_common.h" />
<ClInclude Include="source\SaveState_Structs_v1.h" />
<ClInclude Include="source\SerialComms.h" />
<ClInclude Include="source\SoundCore.h" />
<ClInclude Include="source\Speaker.h" />
<ClInclude Include="source\Speech.h" />
<ClInclude Include="source\SSI263Phonemes.h" />
<ClInclude Include="source\StdAfx.h" />
<ClInclude Include="source\Tape.h" />
<ClInclude Include="source\Tfe\Bittypes.h" />
<ClInclude Include="source\Tfe\Bpf.h" />
<ClInclude Include="source\Tfe\Ip6_misc.h" />
<ClInclude Include="source\Tfe\Pcap-stdinc.h" />
<ClInclude Include="source\Tfe\Pcap.h" />
<ClInclude Include="source\Tfe\Tfe.h" />
<ClInclude Include="source\Tfe\Tfearch.h" />
<ClInclude Include="source\Tfe\Tfesupp.h" />
<ClInclude Include="source\Tfe\Uilib.h" />
<ClInclude Include="source\Video.h" />
<ClInclude Include="source\YamlHelper.h" />
<ClInclude Include="source\z80emu.h" />
<ClInclude Include="source\Z80VICE\daa.h" />
<ClInclude Include="source\Z80VICE\z80.h" />
<ClInclude Include="source\Z80VICE\z80mem.h" />
<ClInclude Include="source\Z80VICE\z80regs.h" />
</ItemGroup>
<ItemGroup>
<Text Include="docs\CodingConventions.txt" />
<Text Include="docs\Debugger_Changelog.txt" />
<Text Include="docs\FAQ.txt" />
<Text Include="bin\History.txt" />
<Text Include="docs\ToDo.txt" />
<Text Include="docs\Video_Cleanup.txt" />
<Text Include="docs\Wishlist.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="source\6821.cpp" />
<ClCompile Include="source\Applewin.cpp" />
<ClCompile Include="source\AY8910.cpp" />
<ClCompile Include="source\Configuration\About.cpp" />
<ClCompile Include="source\Configuration\PageAdvanced.cpp" />
<ClCompile Include="source\Configuration\PageConfig.cpp" />
<ClCompile Include="source\Configuration\PageConfigTfe.cpp" />
<ClCompile Include="source\Configuration\PageDisk.cpp" />
<ClCompile Include="source\Configuration\PageInput.cpp" />
<ClCompile Include="source\Configuration\PageSound.cpp" />
<ClCompile Include="source\Configuration\PropertySheet.cpp" />
<ClCompile Include="source\Configuration\PropertySheetHelper.cpp" />
<ClCompile Include="source\CPU.cpp" />
<ClCompile Include="source\SAM.cpp" />
<ClCompile Include="source\Debugger\Debug.cpp" />
<ClCompile Include="source\Debugger\Debugger_Assembler.cpp" />
<ClCompile Include="source\Debugger\Debugger_Color.cpp" />
<ClCompile Include="source\Debugger\Debugger_Commands.cpp" />
<ClCompile Include="source\Debugger\Debugger_Console.cpp" />
<ClCompile Include="source\Debugger\Debugger_DisassemblerData.cpp" />
<ClCompile Include="source\Debugger\Debugger_Display.cpp" />
<ClCompile Include="source\Debugger\Debugger_Help.cpp" />
<ClCompile Include="source\Debugger\Debugger_Parser.cpp" />
<ClCompile Include="source\Debugger\Debugger_Range.cpp" />
<ClCompile Include="source\Debugger\Debugger_Symbols.cpp" />
<ClCompile Include="source\Debugger\Util_MemoryTextFile.cpp" />
<ClCompile Include="source\Disk.cpp" />
<ClCompile Include="source\DiskFormatTrack.cpp" />
<ClCompile Include="source\DiskImage.cpp" />
<ClCompile Include="source\DiskImageHelper.cpp" />
<ClCompile Include="source\Frame.cpp" />
<ClCompile Include="source\Harddisk.cpp" />
<ClCompile Include="source\Joystick.cpp" />
<ClCompile Include="source\Keyboard.cpp" />
<ClCompile Include="source\LanguageCard.cpp" />
<ClCompile Include="source\Log.cpp" />
<ClCompile Include="source\Memory.cpp" />
<ClCompile Include="source\Mockingboard.cpp" />
<ClCompile Include="source\MouseInterface.cpp" />
<ClCompile Include="source\NoSlotClock.cpp" />
<ClCompile Include="source\NTSC.cpp" />
<ClCompile Include="source\NTSC_CharSet.cpp" />
<ClCompile Include="source\ParallelPrinter.cpp" />
<ClCompile Include="source\Pravets.cpp" />
<ClCompile Include="source\Registry.cpp" />
<ClCompile Include="source\Riff.cpp" />
<ClCompile Include="source\SaveState.cpp" />
<ClCompile Include="source\SerialComms.cpp" />
<ClCompile Include="source\SoundCore.cpp" />
<ClCompile Include="source\Speaker.cpp" />
<ClCompile Include="source\Speech.cpp" />
<ClCompile Include="source\StdAfx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Tape.cpp" />
<ClCompile Include="source\Tfe\Tfe.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Tfe\Tfearch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Tfe\Tfesupp.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Tfe\Uilib.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Video.cpp" />
<ClCompile Include="source\YamlHelper.cpp" />
<ClCompile Include="source\z80emu.cpp" />
<ClCompile Include="source\Z80VICE\daa.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Z80VICE\z80.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="source\Z80VICE\z80mem.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="resource\Apple2.rom" />
<None Include="resource\Apple2e.rom" />
<None Include="resource\Apple2e_Enhanced.rom" />
<None Include="resource\Apple2_Plus.rom" />
<None Include="resource\DISK2.rom" />
<None Include="resource\Freezes_Non-autostart_F8_Rom.rom" />
<None Include="resource\Hddrvr.bin" />
<None Include="resource\Mockingboard-D.rom" />
<None Include="resource\MouseInterface.rom" />
<None Include="resource\Parallel.rom" />
<None Include="resource\PRAVETS82.ROM" />
<None Include="resource\PRAVETS8C.ROM" />
<None Include="resource\PRAVETS8M.ROM" />
<None Include="resource\SSC.rom" />
<None Include="resource\ThunderClockPlus.rom" />
<None Include="resource\TK3000e.rom" />
<None Include="resource\TKClock.rom" />
<None Include="source\CPU\cpu_general.inl" />
<None Include="source\CPU\cpu_instructions.inl" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="zip_lib\zip_lib2013.vcxproj">
<Project>{509739e7-0af3-4c09-a1a9-f0b1bc31b39d}</Project>
</ProjectReference>
<ProjectReference Include="zlib\zlib-Express2013.vcxproj">
<Project>{9b32a6e7-1237-4f36-8903-a3fd51df9c4e}</Project>
</ProjectReference>
<ProjectReference Include="libyaml\win32\yaml2013.vcxproj">
<Project>{0212e0df-06da-4080-bd1d-f3b01599f70f}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Image Include="resource\Applewin.bmp" />
<Image Include="resource\APPLEWIN.ICO" />
<Image Include="resource\CAPSOFF.BMP" />
<Image Include="resource\CAPSOFF_P8.BMP" />
<Image Include="resource\CAPSON.BMP" />
<Image Include="resource\CAPSON_P8.BMP" />
<Image Include="resource\CHARSET4.BMP" />
<Image Include="resource\CHARSET82.bmp" />
<Image Include="resource\CHARSET8C.bmp" />
<Image Include="resource\CHARSET8M.bmp" />
<Image Include="resource\COLOR.BMP" />
<Image Include="resource\DEBUG.BMP" />
<Image Include="resource\Debug_Font.bmp" />
<Image Include="resource\DISK.ICO" />
<Image Include="resource\DISKOFF.BMP" />
<Image Include="resource\DISKPROT.BMP" />
<Image Include="resource\DISKREAD.BMP" />
<Image Include="resource\DISKWRIT.BMP" />
<Image Include="resource\DRIVE1.BMP" />
<Image Include="resource\DRIVE2.BMP" />
<Image Include="resource\DriveSwap.bmp" />
<Image Include="resource\FULLSCR.BMP" />
<Image Include="resource\HELP.BMP" />
<Image Include="resource\LATOFF.BMP" />
<Image Include="resource\LATON.BMP" />
<Image Include="resource\LED_CAPS_OFF.BMP" />
<Image Include="resource\LED_CAPS_OFF_LAT.BMP" />
<Image Include="resource\LED_CAPS_OFF_P8.BMP" />
<Image Include="resource\LED_CAPS_ON.BMP" />
<Image Include="resource\LED_CAPS_ON_LAT.BMP" />
<Image Include="resource\LED_CAPS_ON_P8.BMP" />
<Image Include="resource\RUN.BMP" />
<Image Include="resource\RUN3000E.bmp" />
<Image Include="resource\RUNP.BMP" />
<Image Include="resource\SETUP.BMP" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="resource\Applewin.rc" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{0A960136-A00A-4D4B-805F-664D9950D2CA}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>AppleWinExpress2013</RootNamespace>
<ProjectName>AppleWin</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;YAML_DECLARE_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;libyaml\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;advapi32.lib;shell32.lib;comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalManifestDependencies>"type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='6595b64144ccf1df' language='*'"</AdditionalManifestDependencies>
</Link>
<PreBuildEvent>
<Command>echo Performing unit-test: TestCPU6502
.\Debug\TestCPU6502.exe</Command>
</PreBuildEvent>
<PreBuildEvent>
<Message>Performing unit-test: TestCPU6502</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug NoDX|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;NO_DIRECT_X;YAML_DECLARE_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;libyaml\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;advapi32.lib;shell32.lib;comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalManifestDependencies>"type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='6595b64144ccf1df' language='*'"</AdditionalManifestDependencies>
</Link>
<PreBuildEvent>
<Command>echo Performing unit-test: TestCPU6502
.\Debug\TestCPU6502.exe</Command>
</PreBuildEvent>
<PreBuildEvent>
<Message>Performing unit-test: TestCPU6502</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;YAML_DECLARE_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;libyaml\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;advapi32.lib;shell32.lib;comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<AdditionalManifestDependencies>"type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='6595b64144ccf1df' language='*'"</AdditionalManifestDependencies>
</Link>
<PreBuildEvent>
<Command>echo Performing unit-test: TestCPU6502
.\Release\TestCPU6502.exe</Command>
</PreBuildEvent>
<PreBuildEvent>
<Message>Performing unit-test: TestCPU6502</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release NoDX|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;NO_DSHOW_STRSAFE;NO_DIRECT_X;YAML_DECLARE_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>source\cpu;source\emulator;source\debugger;zlib;zip_lib;libyaml\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>htmlhelp.lib;comctl32.lib;winmm.lib;dsound.lib;dxguid.lib;version.lib;strmiids.lib;dinput8.lib;user32.lib;gdi32.lib;advapi32.lib;shell32.lib;comdlg32.lib;ole32.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<AdditionalManifestDependencies>"type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='6595b64144ccf1df' language='*'"</AdditionalManifestDependencies>
</Link>
<PreBuildEvent>
<Command>echo Performing unit-test: TestCPU6502
.\Release\TestCPU6502.exe</Command>
</PreBuildEvent>
<PreBuildEvent>
<Message>Performing unit-test: TestCPU6502</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,85 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AppleWin", "AppleWinExpress2015.vcxproj", "{0A960136-A00A-4D4B-805F-664D9950D2CA}"
ProjectSection(ProjectDependencies) = postProject
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A} = {AA5854AD-2BC7-4EFD-9790-349ADB35E35A}
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45} = {CF5A49BF-62A5-41BB-B10C-F34D556A7A45}
{0212E0DF-06DA-4080-BD1D-F3B01599F70F} = {0212E0DF-06DA-4080-BD1D-F3B01599F70F}
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D} = {509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E} = {9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip_lib", "zip_lib\zip_lib2015.vcxproj", "{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib-Express2015.vcxproj", "{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml", "libyaml\win32\yaml2015.vcxproj", "{0212E0DF-06DA-4080-BD1D-F3B01599F70F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCPU6502", "test\TestCPU6502\TestCPU6502-vs2015.vcxproj", "{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HookFilter", "HookFilter\HookFilter-vs2015.vcxproj", "{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug NoDX|Win32 = Debug NoDX|Win32
Debug|Win32 = Debug|Win32
Release NoDX|Win32 = Release NoDX|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug NoDX|Win32.ActiveCfg = Debug NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug NoDX|Win32.Build.0 = Debug NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug|Win32.ActiveCfg = Debug|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug|Win32.Build.0 = Debug|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release NoDX|Win32.ActiveCfg = Release NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release NoDX|Win32.Build.0 = Release NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release|Win32.ActiveCfg = Release|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release|Win32.Build.0 = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug NoDX|Win32.Build.0 = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug|Win32.ActiveCfg = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug|Win32.Build.0 = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release NoDX|Win32.ActiveCfg = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release NoDX|Win32.Build.0 = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release|Win32.ActiveCfg = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release|Win32.Build.0 = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug NoDX|Win32.Build.0 = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug|Win32.ActiveCfg = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug|Win32.Build.0 = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release NoDX|Win32.ActiveCfg = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release NoDX|Win32.Build.0 = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release|Win32.ActiveCfg = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release|Win32.Build.0 = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug NoDX|Win32.Build.0 = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug|Win32.ActiveCfg = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug|Win32.Build.0 = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release NoDX|Win32.ActiveCfg = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release NoDX|Win32.Build.0 = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release|Win32.ActiveCfg = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release|Win32.Build.0 = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug NoDX|Win32.Build.0 = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug|Win32.ActiveCfg = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug|Win32.Build.0 = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release NoDX|Win32.ActiveCfg = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release NoDX|Win32.Build.0 = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release|Win32.ActiveCfg = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release|Win32.Build.0 = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug NoDX|Win32.Build.0 = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug|Win32.ActiveCfg = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug|Win32.Build.0 = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release NoDX|Win32.ActiveCfg = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release NoDX|Win32.Build.0 = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release|Win32.ActiveCfg = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,705 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="source\Applewin.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\6821.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\About.cpp">
<Filter>Source Files\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\AY8910.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\CPU.cpp">
<Filter>Source Files\CPU</Filter>
</ClCompile>
<ClCompile Include="source\Z80VICE\daa.cpp">
<Filter>Source Files\Z80VICE</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debug.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Assembler.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Color.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Commands.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Console.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_DisassemblerData.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Display.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Help.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Parser.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Range.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Debugger_Symbols.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\Frame.cpp">
<Filter>Source Files\Video</Filter>
</ClCompile>
<ClCompile Include="source\Disk.cpp">
<Filter>Source Files\Disk</Filter>
</ClCompile>
<ClCompile Include="source\DiskFormatTrack.cpp">
<Filter>Source Files\Disk</Filter>
</ClCompile>
<ClCompile Include="source\DiskImage.cpp">
<Filter>Source Files\Disk</Filter>
</ClCompile>
<ClCompile Include="source\DiskImageHelper.cpp">
<Filter>Source Files\Disk</Filter>
</ClCompile>
<ClCompile Include="source\Harddisk.cpp">
<Filter>Source Files\Disk</Filter>
</ClCompile>
<ClCompile Include="source\Joystick.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Keyboard.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\LanguageCard.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Log.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Memory.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Mockingboard.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\MouseInterface.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\NoSlotClock.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageAdvanced.cpp">
<Filter>Source Files\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageConfig.cpp">
<Filter>Source Files\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageConfigTfe.cpp">
<Filter>Source Files\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageDisk.cpp">
<Filter>Source Files\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageInput.cpp">
<Filter>Source Files\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PageSound.cpp">
<Filter>Source Files\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\ParallelPrinter.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PropertySheet.cpp">
<Filter>Source Files\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Configuration\PropertySheetHelper.cpp">
<Filter>Source Files\Configuration</Filter>
</ClCompile>
<ClCompile Include="source\Registry.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Riff.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\SaveState.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\SerialComms.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\SoundCore.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Speaker.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Speech.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\StdAfx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="source\Tape.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Tfe.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Tfearch.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Tfesupp.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Tfe\Uilib.cpp">
<Filter>Source Files\Uthernet</Filter>
</ClCompile>
<ClCompile Include="source\Video.cpp">
<Filter>Source Files\Video</Filter>
</ClCompile>
<ClCompile Include="source\Z80VICE\z80.cpp">
<Filter>Source Files\Z80VICE</Filter>
</ClCompile>
<ClCompile Include="source\Z80VICE\z80mem.cpp">
<Filter>Source Files\Z80VICE</Filter>
</ClCompile>
<ClCompile Include="source\z80emu.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\Debugger\Util_MemoryTextFile.cpp">
<Filter>Source Files\Debugger</Filter>
</ClCompile>
<ClCompile Include="source\NTSC.cpp">
<Filter>Source Files\Video</Filter>
</ClCompile>
<ClCompile Include="source\NTSC_CharSet.cpp">
<Filter>Source Files\Video</Filter>
</ClCompile>
<ClCompile Include="source\Pravets.cpp">
<Filter>Source Files\Model</Filter>
</ClCompile>
<ClCompile Include="source\SAM.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
<ClCompile Include="source\YamlHelper.cpp">
<Filter>Source Files\Emulator</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="source\Applewin.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\6510core.h">
<Filter>Source Files\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\alarm.h">
<Filter>Source Files\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\6821.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\About.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\AY8910.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Bittypes.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Bpf.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Common.h">
<Filter>Source Files\_Headers</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\Config.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\CPU.h">
<Filter>Source Files\CPU</Filter>
</ClInclude>
<ClInclude Include="source\CPU\cpu6502.h">
<Filter>Source Files\CPU</Filter>
</ClInclude>
<ClInclude Include="source\CPU\cpu65d02.h">
<Filter>Source Files\CPU</Filter>
</ClInclude>
<ClInclude Include="source\CPU\cpu65C02.h">
<Filter>Source Files\CPU</Filter>
</ClInclude>
<ClInclude Include="source\Z80VICE\daa.h">
<Filter>Source Files\Z80VICE</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Types.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debug.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Assembler.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Color.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Console.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_DisassemblerData.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Display.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Help.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Parser.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Range.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Debugger_Symbols.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Frame.h">
<Filter>Source Files\Video</Filter>
</ClInclude>
<ClInclude Include="source\Disk.h">
<Filter>Source Files\Disk</Filter>
</ClInclude>
<ClInclude Include="source\DiskFormatTrack.h">
<Filter>Source Files\Disk</Filter>
</ClInclude>
<ClInclude Include="source\DiskImage.h">
<Filter>Source Files\Disk</Filter>
</ClInclude>
<ClInclude Include="source\DiskImageHelper.h">
<Filter>Source Files\Disk</Filter>
</ClInclude>
<ClInclude Include="source\DiskLog.h">
<Filter>Source Files\Disk</Filter>
</ClInclude>
<ClInclude Include="source\Harddisk.h">
<Filter>Source Files\Disk</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\interrupt.h">
<Filter>Source Files\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\mem.h">
<Filter>Source Files\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\CommonVICE\types.h">
<Filter>Source Files\CommonVICE</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Ip6_misc.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\IPropertySheet.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\IPropertySheetPage.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Joystick.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Keyboard.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\LanguageCard.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Log.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Memory.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Mockingboard.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\MouseInterface.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\NoSlotClock.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageAdvanced.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageConfig.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageConfigTfe.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageDisk.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageInput.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PageSound.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\ParallelPrinter.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Pcap.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Pcap-stdinc.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PropertySheet.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PropertySheetDefs.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Configuration\PropertySheetHelper.h">
<Filter>Source Files\Configuration</Filter>
</ClInclude>
<ClInclude Include="source\Registry.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="resource\resource.h">
<Filter>Source Files\_Headers</Filter>
</ClInclude>
<ClInclude Include="source\Riff.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SaveState.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SerialComms.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SoundCore.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Speaker.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Speech.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SSI263Phonemes.h">
<Filter>Source Files\_Headers</Filter>
</ClInclude>
<ClInclude Include="source\StdAfx.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="source\Tape.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Tfe.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Tfearch.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Tfesupp.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Tfe\Uilib.h">
<Filter>Source Files\Uthernet</Filter>
</ClInclude>
<ClInclude Include="source\Video.h">
<Filter>Source Files\Video</Filter>
</ClInclude>
<ClInclude Include="resource\winres.h">
<Filter>Resource Files</Filter>
</ClInclude>
<ClInclude Include="source\Z80VICE\z80.h">
<Filter>Source Files\Z80VICE</Filter>
</ClInclude>
<ClInclude Include="source\Z80VICE\z80mem.h">
<Filter>Source Files\Z80VICE</Filter>
</ClInclude>
<ClInclude Include="source\Z80VICE\z80regs.h">
<Filter>Source Files\Z80VICE</Filter>
</ClInclude>
<ClInclude Include="source\z80emu.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\DebugDefs.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Util_MemoryTextFile.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\Debugger\Util_Text.h">
<Filter>Source Files\Debugger</Filter>
</ClInclude>
<ClInclude Include="source\DiskDefs.h">
<Filter>Source Files\Disk</Filter>
</ClInclude>
<ClInclude Include="source\NTSC.h">
<Filter>Source Files\Video</Filter>
</ClInclude>
<ClInclude Include="source\NTSC_CharSet.h">
<Filter>Source Files\Video</Filter>
</ClInclude>
<ClInclude Include="source\Pravets.h">
<Filter>Source Files\Model</Filter>
</ClInclude>
<ClInclude Include="source\SAM.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\YamlHelper.h">
<Filter>Source Files\Emulator</Filter>
</ClInclude>
<ClInclude Include="source\SaveState_Structs_common.h">
<Filter>Source Files\_Headers</Filter>
</ClInclude>
<ClInclude Include="source\SaveState_Structs_v1.h">
<Filter>Source Files\_Headers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Image Include="resource\Applewin.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\APPLEWIN.ICO">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\CAPSOFF.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\CAPSOFF_P8.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\CAPSON.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\CAPSON_P8.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\CHARSET4.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\CHARSET8C.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\CHARSET8M.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\CHARSET82.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\COLOR.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\DEBUG.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\Debug_Font.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\DISK.ICO">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\FULLSCR.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\HELP.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\LATOFF.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\LATON.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\LED_CAPS_OFF.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\LED_CAPS_OFF_LAT.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\LED_CAPS_OFF_P8.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\LED_CAPS_ON.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\LED_CAPS_ON_LAT.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\LED_CAPS_ON_P8.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\DISKOFF.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\DISKPROT.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\DISKREAD.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\DISKWRIT.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\DRIVE1.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\DRIVE2.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\DriveSwap.bmp">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\RUN.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\RUNP.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\SETUP.BMP">
<Filter>Resource Files</Filter>
</Image>
<Image Include="resource\RUN3000E.bmp">
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
<ItemGroup>
<None Include="resource\Apple2.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Apple2_Plus.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Apple2e.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Apple2e_Enhanced.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="source\CPU\cpu_general.inl">
<Filter>Source Files\CPU</Filter>
</None>
<None Include="source\CPU\cpu_instructions.inl">
<Filter>Source Files\CPU</Filter>
</None>
<None Include="resource\DISK2.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Freezes_Non-autostart_F8_Rom.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Hddrvr.bin">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Mockingboard-D.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\MouseInterface.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\Parallel.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\PRAVETS8C.ROM">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\PRAVETS8M.ROM">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\PRAVETS82.ROM">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\SSC.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\ThunderClockPlus.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\TK3000e.rom">
<Filter>Resource Files</Filter>
</None>
<None Include="resource\TKClock.rom">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Text Include="docs\CodingConventions.txt">
<Filter>Docs</Filter>
</Text>
<Text Include="docs\Debugger_Changelog.txt">
<Filter>Docs</Filter>
</Text>
<Text Include="docs\FAQ.txt">
<Filter>Docs</Filter>
</Text>
<Text Include="docs\ToDo.txt">
<Filter>Docs</Filter>
</Text>
<Text Include="docs\Video_Cleanup.txt">
<Filter>Docs</Filter>
</Text>
<Text Include="docs\Wishlist.txt">
<Filter>Docs</Filter>
</Text>
<Text Include="bin\History.txt" />
</ItemGroup>
<ItemGroup>
<Filter Include="Docs">
<UniqueIdentifier>{88e8853b-7cec-4a16-9dd9-5a2b96bf3c8b}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{c8f186d6-7988-4d45-87c5-d9ea62c75953}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\_Headers">
<UniqueIdentifier>{fa2685fb-1686-4525-9ac1-bcca3310c473}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\CommonVICE">
<UniqueIdentifier>{8578fca7-e2e4-488a-995e-bc1fd1c4286e}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Configuration">
<UniqueIdentifier>{dd629946-2094-409f-83a7-791ceff4bec2}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\CPU">
<UniqueIdentifier>{30a9b810-6ebd-4505-a45d-6ed212c3ba5a}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Debugger">
<UniqueIdentifier>{66471c82-8e9b-4c65-9514-600cfbd2d4c1}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Disk">
<UniqueIdentifier>{6a0a220b-e39c-486c-9f04-828b4ba6ace2}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Emulator">
<UniqueIdentifier>{6b2abcf9-39f7-4b19-ab2a-bab66c3ed4bd}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Z80VICE">
<UniqueIdentifier>{ea6eab89-9568-4f06-99e7-5d1fe99a8578}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Uthernet">
<UniqueIdentifier>{8ea2437f-ac40-4ef6-9b68-7f5244480457}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Video">
<UniqueIdentifier>{f535a998-5bc0-43a6-a96e-65918c92b8fc}</UniqueIdentifier>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{b5c6889e-727d-4339-96c8-e4284e1d6e0f}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Model">
<UniqueIdentifier>{15b450e4-f89f-4d80-9c44-48b32f33f3e3}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="resource\Applewin.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@ -1,85 +1,99 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2013 for Windows Desktop
VisualStudioVersion = 12.0.30723.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AppleWin", "AppleWinExpress2013.vcxproj", "{0A960136-A00A-4D4B-805F-664D9950D2CA}"
ProjectSection(ProjectDependencies) = postProject
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A} = {AA5854AD-2BC7-4EFD-9790-349ADB35E35A}
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45} = {CF5A49BF-62A5-41BB-B10C-F34D556A7A45}
{0212E0DF-06DA-4080-BD1D-F3B01599F70F} = {0212E0DF-06DA-4080-BD1D-F3B01599F70F}
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D} = {509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E} = {9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip_lib", "zip_lib\zip_lib2013.vcxproj", "{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib-Express2013.vcxproj", "{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml", "libyaml\win32\yaml2013.vcxproj", "{0212E0DF-06DA-4080-BD1D-F3B01599F70F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCPU6502", "test\TestCPU6502\TestCPU6502-vs2013.vcxproj", "{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HookFilter", "HookFilter\HookFilter-vs2013.vcxproj", "{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug NoDX|Win32 = Debug NoDX|Win32
Debug|Win32 = Debug|Win32
Release NoDX|Win32 = Release NoDX|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug NoDX|Win32.ActiveCfg = Debug NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug NoDX|Win32.Build.0 = Debug NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug|Win32.ActiveCfg = Debug|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug|Win32.Build.0 = Debug|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release NoDX|Win32.ActiveCfg = Release NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release NoDX|Win32.Build.0 = Release NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release|Win32.ActiveCfg = Release|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release|Win32.Build.0 = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug NoDX|Win32.Build.0 = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug|Win32.ActiveCfg = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug|Win32.Build.0 = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release NoDX|Win32.ActiveCfg = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release NoDX|Win32.Build.0 = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release|Win32.ActiveCfg = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release|Win32.Build.0 = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug NoDX|Win32.Build.0 = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug|Win32.ActiveCfg = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug|Win32.Build.0 = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release NoDX|Win32.ActiveCfg = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release NoDX|Win32.Build.0 = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release|Win32.ActiveCfg = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release|Win32.Build.0 = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug NoDX|Win32.Build.0 = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug|Win32.ActiveCfg = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug|Win32.Build.0 = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release NoDX|Win32.ActiveCfg = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release NoDX|Win32.Build.0 = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release|Win32.ActiveCfg = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release|Win32.Build.0 = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug NoDX|Win32.Build.0 = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug|Win32.ActiveCfg = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug|Win32.Build.0 = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release NoDX|Win32.ActiveCfg = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release NoDX|Win32.Build.0 = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release|Win32.ActiveCfg = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release|Win32.Build.0 = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug NoDX|Win32.Build.0 = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug|Win32.ActiveCfg = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Debug|Win32.Build.0 = Debug|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release NoDX|Win32.ActiveCfg = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release NoDX|Win32.Build.0 = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release|Win32.ActiveCfg = Release|Win32
{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29201.188
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AppleWin", "AppleWinExpress2019.vcxproj", "{0A960136-A00A-4D4B-805F-664D9950D2CA}"
ProjectSection(ProjectDependencies) = postProject
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45} = {CF5A49BF-62A5-41BB-B10C-F34D556A7A45}
{0212E0DF-06DA-4080-BD1D-F3B01599F70F} = {0212E0DF-06DA-4080-BD1D-F3B01599F70F}
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D} = {509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E} = {9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip_lib", "zip_lib\zip_lib2019.vcxproj", "{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib-Express2019.vcxproj", "{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml", "libyaml\win32\yaml2019.vcxproj", "{0212E0DF-06DA-4080-BD1D-F3B01599F70F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCPU6502", "test\TestCPU6502\TestCPU6502-vs2019.vcxproj", "{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug NoDX|Win32 = Debug NoDX|Win32
Debug v141_xp|Win32 = Debug v141_xp|Win32
Debug|Win32 = Debug|Win32
Release NoDX|Win32 = Release NoDX|Win32
Release v141_xp|Win32 = Release v141_xp|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug NoDX|Win32.ActiveCfg = Debug NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug NoDX|Win32.Build.0 = Debug NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug v141_xp|Win32.ActiveCfg = Debug v141_xp|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug v141_xp|Win32.Build.0 = Debug v141_xp|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug|Win32.ActiveCfg = Debug|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Debug|Win32.Build.0 = Debug|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release NoDX|Win32.ActiveCfg = Release NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release NoDX|Win32.Build.0 = Release NoDX|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release v141_xp|Win32.ActiveCfg = Release v141_xp|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release v141_xp|Win32.Build.0 = Release v141_xp|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release|Win32.ActiveCfg = Release|Win32
{0A960136-A00A-4D4B-805F-664D9950D2CA}.Release|Win32.Build.0 = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug NoDX|Win32.Build.0 = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug v141_xp|Win32.ActiveCfg = Debug v141_xp|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug v141_xp|Win32.Build.0 = Debug v141_xp|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug|Win32.ActiveCfg = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Debug|Win32.Build.0 = Debug|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release NoDX|Win32.ActiveCfg = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release NoDX|Win32.Build.0 = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release v141_xp|Win32.ActiveCfg = Release v141_xp|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release v141_xp|Win32.Build.0 = Release v141_xp|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release|Win32.ActiveCfg = Release|Win32
{509739E7-0AF3-4C09-A1A9-F0B1BC31B39D}.Release|Win32.Build.0 = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug NoDX|Win32.Build.0 = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug v141_xp|Win32.ActiveCfg = Debug v141_xp|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug v141_xp|Win32.Build.0 = Debug v141_xp|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug|Win32.ActiveCfg = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Debug|Win32.Build.0 = Debug|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release NoDX|Win32.ActiveCfg = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release NoDX|Win32.Build.0 = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release v141_xp|Win32.ActiveCfg = Release v141_xp|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release v141_xp|Win32.Build.0 = Release v141_xp|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release|Win32.ActiveCfg = Release|Win32
{9B32A6E7-1237-4F36-8903-A3FD51DF9C4E}.Release|Win32.Build.0 = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug NoDX|Win32.Build.0 = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug v141_xp|Win32.ActiveCfg = Debug v141_xp|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug v141_xp|Win32.Build.0 = Debug v141_xp|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug|Win32.ActiveCfg = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Debug|Win32.Build.0 = Debug|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release NoDX|Win32.ActiveCfg = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release NoDX|Win32.Build.0 = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release v141_xp|Win32.ActiveCfg = Release v141_xp|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release v141_xp|Win32.Build.0 = Release v141_xp|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release|Win32.ActiveCfg = Release|Win32
{0212E0DF-06DA-4080-BD1D-F3B01599F70F}.Release|Win32.Build.0 = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug NoDX|Win32.ActiveCfg = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug NoDX|Win32.Build.0 = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug v141_xp|Win32.ActiveCfg = Debug v141_xp|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug v141_xp|Win32.Build.0 = Debug v141_xp|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug|Win32.ActiveCfg = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Debug|Win32.Build.0 = Debug|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release NoDX|Win32.ActiveCfg = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release NoDX|Win32.Build.0 = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release v141_xp|Win32.ActiveCfg = Release v141_xp|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release v141_xp|Win32.Build.0 = Release v141_xp|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release|Win32.ActiveCfg = Release|Win32
{CF5A49BF-62A5-41BB-B10C-F34D556A7A45}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6D58FFC0-8F43-4085-967C-EDE80FB2808C}
EndGlobalSection
EndGlobal

File diff suppressed because it is too large Load Diff

67
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,67 @@
# Contributing to AppleWin
First of all, thanks for taking the time to contribute!
## How can I contribute?
### Reporting bugs
Before submitting a bug, search the existing issues to see if this bug has already been raised. If it has, then add a comment to this existing issue with your extra details.
If raising a new bug issue, then include the following details:
- AppleWin version
- OS version (eg. Windows 7-64, Windows 10 1909)
- A complete set of steps to reproduce the issue
Optionally:
- AppleWin log file (created using `applewin.exe -log`)
- Save-state file (.aws.yaml file) and any associated floppy or harddisk image files
- Screenshots
### Suggesting enhancements
Before submitting an enhancement, search the existing issues to see if this enhancement has already been raised. If it has, then add a comment to this existing issue with your extra details.
### Pull Requests
Thank you for wanting to make the project better! However, before you submit a PR (Pull Request) please read the following carefully as the process described here has several goals:
- Maintain AppleWin's quality,
- Enforce a workable solution for AppleWin maintainers to review contributions, and
- Explain the development philosophy.
Firstly,
# Do NOT submit one big patch!
The AppleWin developers work on AppleWin in their spare time. This means we have limited time to review PRs. Smaller PRs are highly desirable, as they should be simpler to review and approve. Large changes are likely to be rejected or not get looked at (resulting in them going stale, and ultimately diverging further from the mainline repo).
For large changes being submitted for review, then it's HIGHLY recommended to split the large PR into smaller PRs, and submit them piece by piece. This means that no dependencies can exist between each smaller PR.
For a PR, don't make changes that are unrelated to the PR as this adds unnecessary noise and time to review. These can and should be done in separate PRs.
Next, please make sure your code matches the existing style by reviewing the simple [Coding Conventions](https://github.com/AppleWin/AppleWin/blob/master/docs/CodingConventions.txt).
Follow the coding style in the source file(s) that are being changed. Since this is a mature codebase, then bear in mind that different coding styles can and do exist in different source files due to many different authors over the past 25+ years.
For new (large) features, then link the PR back to an enhancement issue, where the proposed feature had been discussed with AppleWin maintainers first and justified using suitable use-cases. In this enhancement issue be sure to include a specification of the feature, and a design if necessary. Having a design (doc, diagrams) that explains the logic/algorithms/protocol etc will help in the long term maintenance of this feature.
When changing project metadata files (eg. .sln, .vcproj, .rc) then different versions of Visual Studio may decide to reorder or re-format other sections of the file. This can result in lots of churn in the file each time a trivial edit is made. So before committing the PR, check the difference, and if there's been lots of unnecessary changes then just make the required change using a non-Visual Studio editor.
When submitting UI changes please discuss WHY you are making changes.
* **Our userbase expects things to work the way they are used to.** Changing default behavior without a "migration path" causes users to submit bug reports asking us to revert changes which wastes everyone's time.
* **Functionality should be prioritized over Form.** The _entire_ point of UI is to empower the user to do the thing they want to do and _then get out of their way._ A pretty UI, but one that frustrates users, is not empowering them.
* Also keep in mind many so called modern UI/UX "experts" tend to make changes for the sake of change in order to sell a product. Worse they tend to focus on mobile design even when it makes little or no sense on a desktop platform. There is a time and a place to focus on Form but as a mature project we are more interested in stability and functionality than throwing on a fresh coat of paint that more likely introduces a new set of bugs.
Understand that not everyone will agree to UI changes. The developers have been using computers a very long time and are not interested in chasing modern UI fads unless a good reason can be shown _why_ the UI should be changed. For example, take a poll, or even better raise an issue asking for feedback. This way we have hard data showing that there is interest instead of assuming that a change is automatically "better".
Trivial changes such as updating art are much easier to accept than rewriting the UI moving buttons around.
When discussing topics focus on the problem and potential solutions and not people. Please keep things professional.
Lasty, there are many reasons why we may reject a feature or PR. This does NOT mean we aren't interested; it just means that the feature or PR doesn't meet the developer's expectations and project goals _at this time._
Thanks again for your interest in wanting to make AppleWin better.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,97 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>HookFilter</ProjectName>
<ProjectGuid>{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}</ProjectGuid>
<RootNamespace>HookFilter</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>12.0.30501.0</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;HOOKFILTER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImageHasSafeExceptionHandlers />
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;HOOKFILTER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="HookFilter.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="HookFilter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,97 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>HookFilter</ProjectName>
<ProjectGuid>{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}</ProjectGuid>
<RootNamespace>HookFilter</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.25420.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;HOOKFILTER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImageHasSafeExceptionHandlers />
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;HOOKFILTER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="HookFilter.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="HookFilter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,97 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>HookFilter</ProjectName>
<ProjectGuid>{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}</ProjectGuid>
<RootNamespace>HookFilter</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>15.0.26419.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;HOOKFILTER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImageHasSafeExceptionHandlers />
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;HOOKFILTER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="HookFilter.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="HookFilter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,79 +0,0 @@
#include <windows.h>
static HWND g_hFrameWindow = (HWND)0;
static bool g_bHookAltTab = false;
static bool g_bHookAltGrControl = false;
// NB. __stdcall (or WINAPI) and extern "C":
// . symbol is decorated as _<symbol>@bytes
// . so use the #pragma to create an undecorated alias for our symbol
extern "C" __declspec(dllexport) LRESULT CALLBACK LowLevelKeyboardProc(
_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam)
{
#pragma comment(linker, "/EXPORT:" __FUNCTION__ "=" __FUNCDNAME__)
if (nCode == HC_ACTION)
{
bool suppress = false;
PKBDLLHOOKSTRUCT pKbdLlHookStruct = (PKBDLLHOOKSTRUCT) lParam;
UINT newMsg = pKbdLlHookStruct->flags & LLKHF_UP ? WM_KEYUP : WM_KEYDOWN;
LPARAM newlParam = newMsg == WM_KEYUP ? 3<<30 : 0; // b31:transition state, b30:previous key state
//
// NB. Alt Gr (Right-Alt): this normally send 2 WM_KEYDOWN messages for: VK_LCONTROL, then VK_RMENU
// Keyboard scanCodes: LCONTROL=0x1D, LCONTROL_from_RMENU=0x21D
// . For: Microsoft PS/2/Win7-64, VAIO laptop/Win7-64, Microsoft USB/Win10-64
// NB. WM_KEYDOWN also includes a 9/10-bit? scanCode: LCONTROL=0x1D, RCONTROL=0x11D, RMENU=0x1D(not 0x21D)
// . Can't suppress in app, since scanCode is not >= 0x200
if (g_bHookAltGrControl && pKbdLlHookStruct->vkCode == VK_LCONTROL && pKbdLlHookStruct->scanCode >= 0x200) // GH#558
{
suppress = true;
}
// Suppress alt-tab
if (g_bHookAltTab && pKbdLlHookStruct->vkCode == VK_TAB && (pKbdLlHookStruct->flags & LLKHF_ALTDOWN))
{
PostMessage(g_hFrameWindow, newMsg, VK_TAB, newlParam);
suppress = true;
}
// Suppress alt-escape
if (pKbdLlHookStruct->vkCode == VK_ESCAPE && (pKbdLlHookStruct->flags & LLKHF_ALTDOWN))
{
PostMessage(g_hFrameWindow, newMsg, VK_ESCAPE, newlParam);
suppress = true;
}
// Suppress alt-space
if (pKbdLlHookStruct->vkCode == VK_SPACE && (pKbdLlHookStruct->flags & LLKHF_ALTDOWN))
{
PostMessage(g_hFrameWindow, newMsg, VK_SPACE, newlParam);
suppress = true;
}
// Suppress ctrl-escape
if (pKbdLlHookStruct->vkCode == VK_ESCAPE)
{
// But don't suppress CTRL+SHIFT+ESC
if (GetKeyState(VK_CONTROL) < 0 && GetKeyState(VK_SHIFT) >= 0)
suppress = true;
}
// Suppress keys by returning 1
if (suppress)
return 1;
}
return CallNextHookEx(0/*parameter is ignored*/, nCode, wParam, lParam);
}
extern "C" __declspec(dllexport) void __cdecl RegisterHWND(HWND hWnd, bool bHookAltTab, bool bHookAltGrControl)
{
g_hFrameWindow = hWnd;
g_bHookAltTab = bHookAltTab;
g_bHookAltGrControl = bHookAltGrControl;
}

View File

@ -1,181 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="HookFilter"
ProjectGUID="{AA5854AD-2BC7-4EFD-9790-349ADB35E35A}"
RootNamespace="HookFilter"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;HOOKFILTER_EXPORTS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;HOOKFILTER_EXPORTS"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\HookFilter.cpp"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,2 +0,0 @@
attrib -r "bin\AppleWin.exe"
copy "Release\AppleWin.exe" bin\

View File

@ -1,11 +1,31 @@
AppleWin
========
Apple II emulator for Windows
#### Apple II emulator for Windows
Download latest (stable) release: [AppleWin v1.27.0.0](https://github.com/AppleWin/AppleWin/releases/download/v1.27.0.0/AppleWin1.27.0.0.zip)
AppleWin is a fully-featured emulator supporting different Apple II models and clones. A variety of peripheral cards and video display modes are supported (eg. NTSC, RGB); and there's an extensive built-in symbolic debugger.
Release Notes: [v1.27.0.0](https://github.com/AppleWin/AppleWin/releases/tag/v1.27.0.0)
Peripheral cards and add-on hardware supported:
- Mockingboard, Phasor and SAM sound cards
- Disk II interface for floppy disk drives
- Hard disk controller
- Super Serial Card (SSC)
- Parallel printer card
- Mouse interface
- Apple IIe Extended 80-Column Text Card and RamWorks III (8MB)
- RGB cards: Apple's Extended 80-Column Text/AppleColor Adaptor Card and 'Le Chat Mauve' Féline.
- CP/M SoftCard
- Uthernet I and II (ethernet cards)
- Language Card and Saturn 64/128K for Apple II/II+ (and Saturn 128K for any Apple II in slot 3)
- 4Play and SNES MAX joystick cards
- VidHD card (functionality limited to IIgs' Super Hi-Res video modes)
- No Slot Clock (NSC)
- Game I/O Connector copy protection dongles
Download latest (stable) release: [AppleWin v1.30.17.0](https://github.com/AppleWin/AppleWin/releases/download/v1.30.17.0/AppleWin1.30.17.0.zip)
Release Notes: [v1.30.17.0](https://github.com/AppleWin/AppleWin/releases/tag/v1.30.17.0)
Building
@ -15,6 +35,11 @@ To compile from source see:
* [docs/compiling.txt](https://github.com/AppleWin/AppleWin/blob/master/docs/compiling.txt)
Contributing
============
Please see the [CONTRIBUTING](https://github.com/AppleWin/AppleWin/blob/master/CONTRIBUTING.md) doc before raising new bugs, features and _especially_ PRs.
Next Version
============
Experimental build: pending
@ -25,7 +50,10 @@ Please report [new issues](https://github.com/AppleWin/AppleWin/issues/new)
Previous Versions
=================
Last pre-NTSC change:
Last version supporting Windows 2000:
* [AppleWin v1.25.0.4](https://github.com/AppleWin/AppleWin/releases/download/v1.25.0.4/AppleWin1.25.0.4.zip)
* [AppleWin v1.29.16.0](https://github.com/AppleWin/AppleWin/releases/tag/v1.29.16.0)
Last version supporting Windows 98/ME:
* [AppleWin v1.25.0.4](https://github.com/AppleWin/AppleWin/releases/tag/v1.25.0.4)

View File

@ -1,4 +1,5 @@
; Apple 2 Applesoft Symbol Table
; Version 3 Fix AppleWin GH#1144
; Version 2 Cross-referenced/Sync'd with APPLE2E.SYM & A2_BASIC.SYM
; Version 1 by Michael Pohoreski - AppleWin Debugger Dev
; Based on Bob Sander-Cederlof's "S-C DocuMentor: Applesoft"
@ -562,13 +563,14 @@ EA2B OUTOFRNG
DB5A OUTQUES
DB57 OUTSP
E8D5 OVERFLOW
79 P.ADD
50 P.AND
7B P.MUL
7F P.NEQ
46 P.OR
7D P.PWR
64 P.REL
; NB. these 7 P.xxx values are constants used in MATHTBL (a MATH OPERATOR BRANCH TABLE) - see AppleWin GH#1144
; 79 P.ADD
; 50 P.AND
; 7B P.MUL
; 7F P.NEQ
; 46 P.OR
; 7D P.PWR
; 64 P.REL
DEB2 PARCHK
D56C PARSE
.01=D56D .02=D578 .03=D588 .04=D590 .05=D5A2 .06=D5A7 .07=D5A8

View File

@ -1,7 +1,10 @@
; Apple 2 Rom Symbol Table
; Version 5 Renamed "KBD/CLR80COL" -> "KBD/CLR80STORE", "SET80COL" -> "SET80STORE"
; Renamed "CLR80VID" -> "CLR80COL", "SET80VID" -> "SET80COL"
; Renamed "RD80COL" -> "RD80STORE", "RD80VID" -> "RD80COL"
; Version 4 GH#484
; Version 3 Cross-referenced/Sync'd with APPLE2E.SYM & A2_BASIC.SYM
Added Text Holes
; Added Text Holes
; Version 2 by Michael Pohoreski - AppleWin Debugger Dev
; Version 1 Original
@ -91,8 +94,8 @@
07FB A2C.TEMP2
; Softswitches
C000 KBD/CLR80COL
C001 SET80COL
C000 KBD/CLR80STORE
C001 SET80STORE
C002 RDMAINRAM
C003 RDCARDRAM
C004 WRMAINRAM
@ -103,8 +106,8 @@ C008 SETSTDZP
C009 SETALTZP
C00A SETINTC3ROM
C00B SETSLOTC3ROM
C00C CLR80VID
C00D SET80VID
C00C CLR80COL
C00D SET80COL
C00E CLRALTCHAR
C00F SETALTCHAR
C010 KBDSTRB
@ -115,14 +118,17 @@ C014 RDRAMWRT
C015 RDCXROM
C016 RDALTZP
C017 RDC3ROM
C018 RD80COL
C018 RD80STORE
C019 RDVBLBAR
C01A RDTEXT
C01B RDMIXED
C01C RDPAGE2
C01D RDHIRES
C01E ALTCHARSET
C01F RD80VID
C01F RD80COL
C020 TAPEOUT
C030 SPKR
C040 STROBE
C050 TXTCLR
C051 TXTSET
C052 MIXCLR
@ -142,18 +148,48 @@ C05F CLRAN3
C060 TAPEIN
C061 BUTNO
C062 BUTN1
C063 BUTN2
C064 PADDL0
C065 PADDL1
C066 PADDL2
C067 PADDL3
C070 PTRIG
C080 STEPPER
C081 ROMIN
; Slot-0: Language Card
C080 LCRAMIN2
C081 ROMIN2
C082 LCROMIN2
C083 LCBANK2
C08A ENABLE1
C08B LCBANK1/ENABLE2
C08C DATASTROBE
C08D LOADLATCH
C08E SETREADMODE
C08E WRITEPROT
C08F SETWRITEMODE
C084 LCRAMIN2_
C085 ROMIN2_
C086 LCROMIN2_
C087 LCBANK2_
C088 LCRAMIN1
C089 ROMIN1
C08A LCROMIN1
C08B LCBANK1
C08C LCRAMIN1_
C08D ROMIN1_
C08E LCROMIN1_
C08F LCBANK1_
; Slot-6: DiskII interface
C0E0 DRV_P0_OFF
C0E1 DRV_P0_ON
C0E2 DRV_P1_OFF
C0E3 DRV_P1_ON
C0E4 DRV_P2_OFF
C0E5 DRV_P2_ON
C0E6 DRV_P3_OFF
C0E7 DRV_P3_ON
C0E8 DRV_OFF
C0E9 DRV_ON
C0EA DRV_SEL1
C0EB DRV_SEL2
C0EC DRV_SHIFT
C0ED DRV_LOAD
C0EE DRV_READ
C0EF DRV_WRITE
; Firmware
; Renamed due to ROM name collision

View File

@ -8,11 +8,11 @@ DelReg=RegChange
DelReg=RegChange
[RegChange]
HKCR,.bin
HKCR,.do
HKCR,.dsk
HKCR,.nib
HKCR,.po
HKCR,.woz
HKCR,DiskImage
HKCU,Software\AppleWin
HKLM,Software\AppleWin

0
bin/DebuggerAutoRun.txt Normal file
View File

View File

@ -9,6 +9,599 @@ https://github.com/AppleWin/AppleWin/issues/new
Tom Charlesworth
1.30.18.0 - 23 Mar 2023
-----------------------
- [Change #1272] New HDC firmware v2 to support returning HDD size in Y:X for status call. [@peteri]
- [Change #1277] Add (debug) cmd line switch to revert to HDC firmware v1: -hdc-firmware-v1.
- [Change #1279] Support Saturn RAM card in slot 3 for any Apple II model (for Robo Systems' RoboCAD 2).
- [Change #1159] Speaker: change from mono to stereo sound buffer.
- [Change #1247] Robocom's Interface Module dongle: use actual values for 1000 & 1500 series dongles.
- [Bug #1261] Fix for $C010 which should not read the keyboard latch on Apple II and Apple II+.
- [Bug #1257] 6502/65C02: Fix JSR for edge-case where JSR ABS16 is on stack and SP points to ABS16!
- [Bug #1276] Phasor in Echo+ mode: fix the chip-select polarity.
1.30.17.0 - 31 Dec 2023
-----------------------
- [Bug #1262] Fix loading save-state for RAMWorks III card with 2 or more aux 64K banks.
- [Bug #1260] Fix for read 6522's IRB for "Werewolf!" game's Mockingboard detection not working.
- [PR #1253] Update to minizip 1.1. [@kiyolee]
- [PR #1252] Update to libyaml 0.2.5. [@kiyolee]
- [PR #1251] Update to zlib 1.3. [@kiyolee]
- [PR #1250] Internal: Win64 DirectSound fix. [@kiyolee]
- [Change #755] Internal: remove de-optimisation for Z80 code.
- Debugger: Change DebuggerAutoRun.txt script's pathname max size from 80 to 260 chars.
1.30.16.0 - 26 Nov 2023
-----------------------
- [Change #1258] New command line: -mac-lc-card-dlgr to support the DLGR display bug in the 'Apple IIe card for Mac LC'.
- NB. This switch only has an effect when in either "Color (Composite Idealized)" or "RGB Card/Monitor" video modes.
- [Bug #1197] Phasor: 6522's AY RESET always resets both attached AYs, regardless of Phasor mode or chip-select bits.
1.30.15.0 - 29 Jul 2023
-----------------------
- [Change #1162] Fix joysticks not detected: first & second devices are not always at index 0 & 1. [@fabricecaruso]
- [Change #429, #1237] Joystick axis shaping: allow analog sticks to reach corners.
- [Change #1247] Support Robocom Ltd's BitStik Interface Module protection key.
- [Change #1198] Support Dynatech Microsoftware / Cortechs Corp's CodeWriter protection key.
- [Bug #1240] Fix for very large (>800KiB) 5.25 WOZ files.
- [Bug #1215] Fix for: Disk Status getting ?? for Sectors in ProDOS.
- [Bug #1238] Debugger: 2.9.1.25 Fixed: R P ## wasn't setting P flag status register.
- [Bug #1231] Debugger: Fix disassembly of current line is illegible in "black & white" mode.
- [Bug #1204] Debugger: Crash due to debugger command line length.
- [Bug #1194] Debugger: Step-over WAIT can fail.
- [Change #1230] Debugger: Allow alternate directory for built-in symbols.
- [Change #1229] Debugger: df ("define float") QoL.
- [Change #1212] Debugger: DISK INFO QoL.
- [Change #1209] Debugger: Update BMP import from GIMP 2.10 with X8 R8 G8 B8.
- [Change #1203] Debugger: Debugger: Step-over QoL.
- [Change #1200] Debugger: Debugger: Stop reason QoL.
1.30.14.1 - 11 Mar 2023
-----------------------
- [Bug #1193] Fix for reading AY regs after AY Function set to INACTIVE. (Fix for mb-audit v1.3.)
1.30.14.0 - 5 Mar 2023
----------------------
- [Change #1080] Support Mockingboard and Mouse at same time. (Improvement for: "Witch Trial".)
- [Change #1187] New command line: '-capslock=off' to start up with Caps Lock off.
- [Change #1183] Phasor: add support for Echo+ mode (eg. 6522 PortA chip select for the AYs, dual-mono sound output & reading AY regs).
- [Change #1190] Document command line: '-multimon'.
- At start-up, use the Registry's saved "Window x/y position" to position the AppleWin window correctly for multiple monitors.
- [Change #1033] New command line support for hard disk controller in slots 5 and 7.
- Use '-s5 hdc' or '-s7 hdc' to start up with a hard disk controller (hdc) in slots 5 and 7 respectively.
- Use '-s5h1 <pathname>' and '-s5h2 <pathname>' to connect hard disk images.
- NB. There's no GUI configuration support for the hdc in slot 5.
- NB. An hdc in slot 5 allows these 3.5" titles to work: "Perplexing Puzzles" and "Dark Heart of Uukrul".
- [Bug #1193] Phasor: now can't read AY regs (via 6522 PortA) after AY set to INACTIVE function. (Mockingboard still can.)
- [Bug #1192] Phasor: support the GAL logic for AY chip select & AY PSG Function.
- [Bug #1188] Alt+Enter: fix regression, as this key combo should default to toggling full screen.
- [Bug #1175, #1176] Mockingboard: fix some edge cases.
- [Bug #1164] Debugger: Fix 'bpv' & 'tf' commands to trigger for non-visible scan lines when in full-speed.
- [Bug #1163] Debugger: Fix disassembly when in middle of data.
- [Bug #1099] Fix 6502/65C02: Clearing the D flag (or not) on a BRK or Interrupt or Reset.
- [PR #1171] Refactor the Mockingboard & Phasor code.
- Can now put any sound card (Mockingboard, Phasor or SAM) into either or both slots 4 and 5.
- NB. Allows Mouse card in slot 4 and Mockingboard (or Phasor) in slot 5.
- Change: Command line '-s<N> empty' now works for slots 1-7 (so only slot 0 isn't supported).
- Debugger: Improve mini-memory views for AY8913 chip registers: show reg. latch address in white.
- Debugger: Fix 'zpc' command, which wasn't working.
1.30.13.0 - 2 Jan 2023
----------------------
. [Change #1153] Support Game I/O Connector copy protection dongles. [@medasaro]
- SDS SpeedStar dongle
. [Change #1141,1142,1148,1149,1150] SNES MAX support for various controllers via mapping files. [@eriknoc]
- EG. -snes-max-user-joy1 snesmax\controller_Logitech_F310.yaml
. [Change #1134] Add disk activity indicators for drives in Slot 5.
- Only visible in 2x Windowed mode.
- Add a new UI toggle in Config->Disk tab to "Show status" (ie. the track/sector status).
- Hovering over this status will show a tooltip with both decimal and hexadecimal values,
and the track includes the full fractional quarter track value too.
. [Change #1133] Add a new command line '-s<n> diskii13' to put a diskii card into slot-n and force it to use the 13-sector firmware.
. [Bug #1157] Fix video junk on RHS edge for TV & Monitor video modes. (Regression at 1.13.11.0)
. [Bug #1144] Fix some ZP symbols in A2_BASIC.SYM.
. [Bug #1143] Fix graphical glitches on penultimate scan line when in non-"50% Scan Lines" mode.
. [Bug #1138] Fix Mousecard - wasn't generating VBL interrupt for mode byte of $08. Fixes 'Jeeves'.
. [Bug #1131] Fix MIXED issue when in 'Color (PAL Monitor)' video mode.
. Change: Debugger: for LBR, support the unset/undefined case (eg. reset to undefined when beginning a new debug session).
. Change: Debugger: extend to support DISK commands for Disk II cards in other slots:
- DISK SLOT n
- Now DISK INFO will provide info for the new slot.
. Change: Debugger: add new command: 'bpv <vpos,[len]>'
- break when video-scanner's vertical position matches vpos.
- NB. auto disable when hit.
. Change: Debugger: extend watches: 'WA <n> v' to show video scanner address & video data (aux and/or main or shr 4-byte).
1.30.12.0 - 27 Sep 2022
-----------------------
. [Bug #1128] Increase paddle maximum offset - fixes 'Learning with Leepers'.
. [Bug #1127] Debugger: fix memory search command.
. [Bug #1126] Fix rare crash bug (when unprotected WOZ in drive).
. [Bug #1125] Improve WOZ support: fixes 'Accolade Comics'.
. [Bug #1121] Fix for aspect ratio in full-screen:
- Now revert to uniformly scaling in both x & y directions unless user specifies resolution.
- NB. Regression at 1.30.7.0 when adding VidHD support.
. [Bug #1119] Fix render issue in 'Color (PAL Monitor)' video mode.
. [Bug #1022] WOZ support: Better cross-track positioning - fixes 'Balance of Power'.
. Fix for loading old save-states with Phasor card (bumps MB version in save-state to v9).
- NB. Regression at 1.30.10.0 when fixed Phasor to "use correct primary AY8913".
. Change: Command line: support '-s2 ssc'.
1.30.11.0 - 23 Jun 2022
-----------------------
. [Change #1103] Debugger: support memory breakpoints for HDD DMA r/w's:
- When the debugger is active (eg. breakpoints enabled) then trap on HDD r/w's that match the BPM[R|W].
- NB. the breakpoint will fire after the whole HDD r/w operation has completed.
. [Bug #1113] Fix for Uthernet II registers repeating in DEVICE SELECT I/O space. [@audetto]
. [Bug #1110] Fix for WOZ and quarter tracks for A2osX's 192K floppy image.
- Support two adjacent phases turned off in rapid sequence.
. [Bug #1108] Fix for C3 ROM not set correctly when loading a save-state with a VidHD (in slot 3).
. [Bug #1106] Fix for minor screen corruption with VidHD enabled.
- Debugger: fix for mouse-click hit-tests with VidHD enabled.
. [Bug #1104] Fix for rare Mockingboard speech race condition when debugger-stepping.
. [PR #1098] Internal: refactor debugger. [@kiyolee]
. Change: Mockingboard's SSI263: support reg3's amplitude (fix for TR speaking during SSI263 detection).
. Change: DebuggerAutoRun.txt: extend search path to first try CurrentDir, then ProgramDir.
1.30.10.0 - 27 May 2022
-----------------------
. [Change #1097] Extend Uthernet II to support DNS offloading. [audetto]
- Details: https://github.com/a2retrosystems/uthernet2/wiki/Virtual-W5100-with-DNS
- No need for ethernet, so now works with host PC's WiFi.
- Supported by @oliverschmidt's A2Stream v1.2.
- NB. This virtual DNS is enable by default (but can be disabled via the Config UI).
- NB. Real W5100 chips don't offer this!
. [Bug #1078] WOZ support: Better LSS support for reading write-protect.
- Fix images 'Run For It' and 'Stickybear Town Builder' (both when write-protected).
. [PR #1100] Uthernet II fixes for UDP and IPRAW modes. [audetto]
. [PR #1084 + others] Internal: refactor debugger. [kiyolee]
. Fix Phasor card: use correct primary AY8913 for Phasor-native & MB modes (now checked in mb-audit v1.2).
. Command line: add -wav-speaker <file> & -wav-mockingboard <file>
- Save a .wav of either Speaker or Mockingboard audio output during the emulation session.
- Warning: there's no file size limit, so it just keeps saving until AppleWin exits.
1.30.9.0 - 23 Mar 2022
----------------------
. [Change #518] Support Uthernet II card in slot 3. [audetto]
- EG. Use with Contiki, A2osX, ii-vision, A2Stream etc.
- Support for W5100 modes: TCP, UDP, IPRAW and MACRAW (no support for PPPoE mode, interrupts and SPI).
. [Bug #1066] Fix for save-states where (eg) disk image name contains '#' character.
. [Bug #1017] Fix for printer interface where character got output twice.
. [PR #1031 + others] Internal: refactor string output handling. [kiyolee]
. Change: default install of AppleWin now sets slot 3 as empty (was Uthernet I card)
. Fix 6522 bug: IFR.T2 was always set when counter.b15=1
1.30.8.0 - 8 Feb 2022
---------------------
. [Bug #1023] WOZ support: Tweak to track sync support.
. [Bug #1020] WOZ support: Significant bit-cells after a gap between latch access upped from 50 to 100.
- Fixes: What's My Logic, Forbidden Quest, The Isle of Mem.
. [Bug #1018] Support AN3 for //e models.
. [Bug #1015] Registry: fix support for legacy 'Harddisk Enable' key.
. [PR #1028] Internal: Split 6522 out of MB code and into own class (bumps MB version in save-state to v8).
. [PR #1025] Load save-state for Cards: improve error messages. [audetto]
. [PR #1014] Correct BMP creation. [audetto]
. SSC: Fix for command line -dcd not being honoured. (Regression)
. VidHD: Fix load save-state for II/II+ when VidHD's SHR is being updated.
. Debugger: see Debugger_Changelog.txt, but including:
- Added: CD now detects ".." to change to the previous directory and chops the trailing sub-directory from the current path.
- Changed: Disassembly window now lists symbol labels and symbol target address from User2 in orange.
- Added: Branch instructions now show target address.
- Added: Disassembly window now shows signed decimal values for immediate values.
1.30.7.0 - 19 Dec 2021
----------------------
. [Bug #997] Support VidHD card for IIgs Super Hi-Res (SHR) video modes, eg. for Total Replay box art.
- Support VidHD in slot 3 (via Config GUI or '-s3 vidhd').
- Only partial VidHD support - ie. just for SHR video modes, but SHR is supported for all Apple II models.
- NB. AppleWin's window is slightly enlarged when VidHD card is inserted.
- Command line: Allow user to specify width & height (for full-screen); and allow separate x,y scaling in full-screen mode.
- eg. for 4:3 aspect ratio on monitors that support it: -no-full-screen -fs-width=1600 -fs-height=1200
- Debugger: add 'shr' command to view video.
. [Change #1007] HDD: Fail if r/w access touches $Cnnn I/O space
- Debugger: On a HDD r/w failure, execution will break, and the debugger will show a stop reason message.
- Also fix HDD write wrapping at 64KiB boundary.
. [Change #996] Adapt HDD firmware to be slot-independent.
- Internal only, since currently no support to specify HDD Controller card in another slot.
. Debugger: Add 'brk all <on|off>' command to break on any BRK or invalid opcode.
1.30.6.0 - 30 Oct 2021
----------------------
. [Bug #993] Fix Mousecard not persisting after a machine's hardware changes. (Regression at 1.30.5.0)
. [Bug #985] Fix one-shot paddle timers. [xotmatrix]
. [Bug #989] Debugger: Fix disassembly for NMOS 6502's JMP (Indirect) not showing correct target address.
. [Change #987] Debugger: Add 'lbr' command to show Last Branch Record for a change to the control-flow from an instruction or interrupt.
- NB. Bcc opcodes that aren't taken don't affect lbr.
. Debugger: Add 'brkint <on|off>' command to break at the instruction after an interrupt is taken.
1.30.5.0 - 2 Oct 2021
---------------------
. [Change #972] Add SNES MAX card (in slots 3, 4 or 5) to support up to 2 SNES (or 12-button) controllers.
. [Change #946] Add 4Play card (in slots 3, 4 or 5) to support up to 4 Atari controllers.
. [Change #420] Uthernet card's state persisted to save-state.
- NB. it's best to get your DHCP server to assign a static IP for the card's MAC address.
. Change: SAM card's state persisted to save-state.
. [Bug #980] Fix 'Authentic Disk Speed' regression (at 1.30.4.0).
. [Bug #981] Fix command line -d2 (and -h2) which weren't reporting an error if image couldn't be opened.
. [Bug #981] Support command line if there are multiple spaces between args.
. [PR #983] Improve save-state card management
- Use Registry "Configuration\Slot n' locations to save each card's type & config.
- eg. "Last Harddisk Image 1" has moved from "Preferences" to "Configuration\Slot 7".
. AppleWin's Debugger help: document how to allow CTRL+SHIFT+0 to work (to set bookmark-0).
1.30.4.0 - 29 Aug 2021
----------------------
. [Change #975] Extend Configuration's Disk GUI to support a Disk II controller in slot 5.
. [Change #977] Add per-slot configuration to the Registry (and conf.ini).
- eg. "Last Disk Image 1" has moved from "Preferences" to "Configuration\Slot 6".
. [Change #976] AppleWin's help now documents Control-PrintScreen to copy the debugger's disassembly window to the clipboard.
. [Change #960] Floppy image names are now stored in Registry (or conf.ini) with their full path.
- NB. Hard disk images were already stored with full path.
- NB. save-states still only store the filename (and use "[HDV] Starting Directory" or prompt user to find the file).
1.30.3.0 - 19 Jun 2021
----------------------
. [Change #962] Remove the HookFilter.dll, and statically link instead.
- this removes the runtime dependency on VCRUNTIME140.dll (ie. vc_redist.x86.exe).
. [Bug #965] Fix display flicker on exit.
1.30.2.0 - 31 May 2021
----------------------
. [Change #947] Uthernet: fix so that a h/w change doesn't require the app to be close & reopened. [audetto]
. [Change #876] Command line: change -fs-height so only applied during full-screen (Windows mode unaffected).
. [Bug #958] Debugger: Mockingboard speech interrupt not working in debugger 'gg' mode.
. [Bug #952] Fix Mockingboard SC-01 speech for Ape Escape.
. Fix Phasor regression (at 1.30.0.0) as it does support reading AY-3-8913 registers in Mockingboard mode & Phasor native mode (just not Echo+ mode).
. Debugger: when displaying 6522 registers, if T1 and/or T2 is active, then display in white.
1.30.1.0 - 3 May 2021
---------------------
. Improve Mockingboard's 6522 support for cycle-accurate reading of IFR at Timer1/2 underflow.
. Improve logging of Speaker code.
1.30.0.0 - 18 Apr 2021
----------------------
Note: This version only works under Windows XP and later.
. [Change #693] AppleWin built with VS2019 using v141_xp platform toolset
. [Change #939] Improved support for SSI263 speech chip.
- Fix for 'Classic Adventure' (#929) not detecting speech chip.
- Support the 2-bit Duration b7:6 of phoneme register for SSI263 (not SC01).
- Support 2nd SSI263 at $Cn20 connected to 6522-A (at $Cn00).
- SC01: only support it mapped to 6522 at $Cn00.
. [Change #936] Swap Joystick Buttons not working
- Command line (-swap-buttons) or GUI "Swap 0/1" now swaps buttons 0/1 for all devices.
. [Change #930] WOZ support: add some random jitter in the bit stream
- A better alternative fix for WOZ images: 'Wasteland' and 'Legacy of the Ancients'.
- Fix for WOZ images: 'Gruds in Space' (bug #921) and 'Buzzard Bait' (bug #930).
. [Change #912] For 'Base 64A' add support for its F2 key via the Windows DEL key.
. [Change #876] Starting up windowed mode & full-screen mode
- New command line switch -no-full-screen to start in windowed mode.
- Added command line switch -full-screen as an alias for -f.
. [Change #864] Anti-M 1.8 doesn't work
- Improved Disk II card's data latch value when: (a) drive disconnected or (b) connected, but empty.
- New command line switches -d1-disconnected and -d2-disconnected to disconnect drives from slot-6 card.
. [Bug #934] Characters doubled in BASIC.SYSTEM when using -speech switch.
- Trap calls to COUT1 and BASICOUT (instead of COUT).
. [Bug #827] Fix bug where NSC is recognised on Apple II/II+ when slot-3 is empty.
- Support NSC on 6502-based Apple II's via F8-ROM for ProDOS 2.5 compatibility.
. [Bug #770] Fix so that no AY changes get dropped.
- Support reading the AY-3-8913 registers (not Phasor though).
. [Bug #652, #833] Fixes for Mockingboard's 6522 VIA.
- Cycle-accurate TIMER1/2 r/w for all addressing modes.
- Support TIMER1 latch in one-shot mode.
- Improve 6522 reset support - only ACR,IFR,IER affected.
. [PR #891] Fix for "Unable to capture PrintScreen key" warning on startup.
- Adds a "Don't show this message again" checkbox to the message.
. Debugger: add red 'IRQ' after the v/h-pos when IRQ is being asserted to the 6502.
. Debugger: improve mini-memory views for 6522 & AY8913 chip registers.
. Much refactoring to the code by Andrea Odetti / @audetto.
1.29.16.0 - 1 Nov 2020
----------------------
Note: This is the last planned version to support Windows 2000.
. [Bug #851] RGB support: AppleColor card (-rgb-card-type apple) is now an alias for Video7's RGB-SL7 card (-rgb-card-type sl7).
. [Bug #850] RGB support: removed the preconditions for AN3 setting the RGB video mode flags.
- IOUDIS soft-switch is for //c only, so removed support for //e.
1.29.15.0 - 25 Oct 2020
-----------------------
. [Change #764] Fully support the RGB cards, and introduce a new 'Color (RGB Card/Monitor)' dedicated video mode.
- [PR #837] Support for 'Le Chat Mauve' Eve and Féline RGB cards.
- [PR #826] Support for Video7's RGB-SL7 card.
- New command line switch to select RGB card type: -rgb-card-type: apple (default), sl7, eve, feline
- New command line switches for SL7: -rgb-card-foreground <color> & -rgb-card-background <color>
- NB. The previous 'Color (RGB Monitor)' has now been renamed to 'Color (Composite Idealized)'.
. [Change #817] Request for key-accelerators for UI operations.
- Ctrl+F3/F4 will show the Drive-1/Drive-2 pop-up menus. (Then use cursor up/down to pick a menu item.)
. [Change #691] Improved determining path & filename when saving/loading a save-state.
. [Bug #838] Improved support for accented ANSI chars in pathnames in save-states.
. [Bug #612] Support IRQ cycle-accuracy in full-speed (unthrottled) mode.
. [Bug #608] Fixed regression in Broadsides' Mockingboard detection (introduced at 1.29.6.0).
. Extended support for command line switches -d1,-d2,-s5d1,-s5d2,-h1,-h2 such that if the param is "", then it will eject/unplug the disk/harddisk.
. Development PRs to improve code quality: #840, #842, #843, #847
1.29.14.0 - 17 Aug 2020
-----------------------
. [Change #822] Updated Uthernet card support to use Npcap for Win10.
. [Change #806] Added support for 'Base 64A' - a Taiwanese Apple II clone.
. [Change #763] Support for PAL(50Hz) killing color-burst during TEXT video mode.
- When 50Hz, then AppleWin's window title changes to "Color (PAL Monitor)" instead of "Color (NTSC Monitor)"
. [Change #781] Loading a large save-state takes some time - added a busy indicator.
. [Change #139] NIB disk image: added warning if any track's first D5-nibble triple isn't an address prologue.
. [Bug #824] Fixed a regression in multi-zip support (introduced at 1.29.10.0).
. [Bug #820] Fixed a GDI Object leak (occurring when accessing the Disk II with AppleWin minimised).
. [Bug #813] Mockingboard playback looping after entering debugger then configuration.
. [Bug #809] Fixed a memory leak.
. [Bug #801] Wrong timing with LSR abs,X / ROR abs,X / ROL abs,X for the 6502 CPU.
. [Bug #796] Fix for 'IRQ occurring on last cycle of opcode' not always true.
. [Bug #751] No-Slot Clock running and power-cycle can causes lock-up on power-cycle.
- NSC state persisted to save-state.
- added a new switch '-no-nsc' to configure Apple II without an NSC.
. [Bug #663, #691] Fixes for image loading switches (-d1,-d2,-h1,-h2,-s5d1,-s5d2):
- support relative paths (#663).
- updated the current directory with the path for each loaded image (#663) & when saving state (#691).
- added a new switch '-current-dir <path>' to guarantee the current dir after using image loading switches.
. [Bug #52] Fixed the 6502/65C02 false-read of 6522 issue for Willy Byte!
. [PR #800] Improved debugger's rendering speed for PrintGlyph().
1.29.13.0 - 31 May 2020
-----------------------
. [Bug #790] Fixed regression for -d1,-d2 & -s7-empty-on-exit (introduced at 1.29.7.0).
. [Change #787] Debugger: Extended 'cycles part' command to do timings relative to a user-specified base.
. [Change #783] Debugger: Extended 'tf' command to include cycle count.
. [Change #720] Debugger: Added more symbols to APPLE2E.SYM.
- NB. LC ($C08n) symbols are now correct for the LC, so 'LDA $C08C,X' will disassemble as 'LDA LCRAMIN1_,X'
instead of 'LDA DATASTROBE,X'. So now perhaps less helpful when stepping Disk II code.
. [PR #785] Debugger: Improvements to Bookmarks.
- AppleWin.chm: Added debugger help about Bookmarks.
. Fixed occasional speaker clicks in full-speed mode.
1.29.12.0 - 26 Apr 2020
-----------------------
. [PR #757] Allow use of an INI-file for configuration instead of the Registry (fixes #709).
- new command line switch: -conf <INI-file>
. [Change #773] Added Apple II J-Plus support.
. [Bug #778] Fixed for when Joystick(s) are disabled.
. [Bug #777] Fixed Phasor speech (SSI263) to match Mockingboard (when in Mockingboard mode).
- fixes: #698 (Rescue Raiders), #753 (Bejeweled).
- also improvements to Phasor card's native Phasor mode.
. [PR #775] Debugger: Fixed so that hitting "=" in the debugger sets PC to the current cursor address.
1.29.11.0 - 27 Mar 2020
-----------------------
. [Change #771] Added new command line switch to load custom ROM: -rom <file>.
- Supports 12KiB (at $D000) and 16KiB (at $C000) rom files.
. [Bug #765] Lancaster (Total Replay) hangs when starting second game.
. [Change #734] DiskII controller card: support 13-sector firmware.
- The card auto-selects the firmware based on the .woz (v2 or higher) image properties.
- Only change the firmware at reset/reboot to avoid changing whilst running in $C6xx space!
- Fixes 'The Best of MUSE' & 'MicroChess 2.0' (#732)
1.29.10.0 - 13 Feb 2020
-----------------------
. [PR #756] Write support for WOZ1/WOZ2 images.
- Fixes titles that need write support (see: #686, #704, #705).
- Allow creation of a blank (WOZ2) image (see AppleWin.chm: 'Creating Disk Images').
- multi-file zip support extended to scan for the first valid image.
- useful for most woz-a-day multi-file zips which have at least 2 entries and previously needed unzipping.
. NB. files in multi-file zips are still write-protected (same for all image types, not just woz).
1.29.9.0 - 26 Jan 2020
----------------------
. [Bug #750] Fixed double-clicking a registered file-type issue (regression introduced at 1.29.8.0).
. [Bug #752] Fixed Ctrl+Alt+Break wasn't emulating CTRL+OA+RESET (regression introduced at 1.29.8.0).
1.29.8.0 - 19 Jan 2020
----------------------
. [Bug #749] Hotkeys to change emulation speed using Ctrl+n: now ignored if ALT is pressed.
. [Bug #748] DiskII: data latch returns a rand() value when no disk is in drive.
. [Bug #746] Debugger: correctly repaint Apple II screen when showing it from debugger.
. [Bug #745] WOZ: Support for large tracks.
. [Change #743] Added new command line switches:
-left-alt-control-buttons : left-ctrl=button0, left-alt=button1
-right-alt-control-buttons : right-alt=button0, right-ctrl=button1
-swap-buttons : for swapping buttons 0 & 1
. [Bug #733] Alternate fix for WOZ 'Wasteland'.
. [PR #723] Fixed way to clear a std::string.
. Configuration->Input: Added 'Swap 0/1' toggle for swapping buttons 0 & 1.
. WOZ support: Removed version check on INFO section.
. Display MessageBox with all unsupported commands that were passed in (can choose to continue or exit).
. Debugger: Added new 'cycles <abs|rel>' command to show cycles as absolute or relative.
1.29.7.0 - 20 Dec 2019
----------------------
. [Change #726] Disk II card: supported in slot 5 via '-s5 diskii' command line.
- use in conjunction with -s5d1 <pathname>.
- NB. No support via Configuration GUI for insert/ejecting images.
. [Change #737] Debugger: Changed 'cycles' to show the cycle delta since the step/breakpoint etc.
- NB. Since 1.29.3.0 this has been the absolute cumulative cycle count.
. [Bug #740] Debugger: gr/hgr/dgr/dhgr commands will honour the state of the MIXED mode.
. [Bug #733] Fixed WOZ 'Wasteland' and also NIB 'Wasteland'.
. [Bug #451] Debugger: fix for BPM[R|W] triggering on control-flow instructions' target address.
. [Bug #355] For first-time installs of AppleWin, soundtype now defaults to WAVE (was NONE).
. [PR #730] Speed-up for 'Color (RGB Monitor)' video mode.
1.29.6.0 - 18 Nov 2019
----------------------
. [Bug #724] Fixed so that 6502 interrupt is delayed by 1 opcode when interrupt occurs on last cycle of opcode.
- fixes French Touch's "Mad Effect" & "Mad Effect #2" demos.
. [Bug #711] Fixed Mockingboard initial "stretched" music playback (regression introduced at 1.28.7.0).
. [Bug #707] Fixed ADTPro (running under AppleWin) not working with real COM ports.
. [Bug #701] Fixed 6522's TIMER being out-of-sync with 6502.
. [Bug #699] Fixed French Touch's "Mad Effect". See #656, #701, #724.
. [Bug #680] Fixed video tearing (eg. for FT's "Scroll Scroll Scroll" & "Mad Effect #2").
. [Bug #659] Fix for Applied Engineering's Phasor song player (noisy playback) (regression introduced at 1.26.3.4).
. [Bug #656] Changed so only TEXT ($C050/1) and MIXED ($C052/3) have a 1 cycle delay (extension to 1.28.8.0).
- fixes French Touch's "Mad Effect" demo.
- fixed Deater's "Cycle-count Megademo" (vertical GR grey line shouldn't be visible between GR & HGR video).
. [Bug #652] Fixed 6522's TIMER to underflow at 0x0000 -> 0xFFFF
- and T1C=0x0000 now correctly underflows on next cycle.
. [Bug #435] COM ports above COM9 weren't available from the UI.
. [Change #716] Help's troubleshooting section: added an item for no Apple II speaker sound.
. [PR #715] Memory fix for struct ImageInfo.
. [PR #694] Debugger: Symbol loading: Fix random crash upon start up.
. Fixed crash with debug command line switches: -m and -no-mb.
(1.29.5.0 - skipped)
1.29.4.0 - 24 Oct 2019
----------------------
. [Change #702] Debugger: In soft-switch display (row-80), show a red 'x' when AltZP (and AltLC) is enabled.
. [Change #666] Debugger: When video-scanner position is off-screen then show v,h as yellow (was red).
. [PR #710] Debugger: Added BPMR and BPMW to break on a read or write (respectively) to a memory address or range.
1.29.3.0 - 13 Oct 2019
----------------------
. [Change #692] Added command line switch to unplug HDD controller card on exit:
- -s7-empty-on-exit
. [Change #689] Added command line switches to set CPU speed and machine type:
- -clock-multiplier <value>, where value is a [0.5-3.9] base-clock multiplier (ie. same as the Config UI's slider)
- -model <apple2|apple2p|apple2e|apple2ee>
. [Change #666] Debugger: support showing video-scanner v,h position and cycle count.
- added debugger command: videoinfo <dec|hex|apple|real> to configure display.
- added auto-run of DebuggerAutoRun.txt on AppleWin initial start-up.
. [Bug #700] Fixed ProDOS8 2.5.0 alpha6:
- support INC $C08B (and similar) to set LC to write mode - 65C02 only.
- support INC $C08B,X (X=0) to set LC to write mode - 6502/65C02/816. (Fixes #404)
. [Bug #695] Fixed WOZ 'Taipan' not booting.
- fixed reading write protect on a write access & support Sequencer Function.
. [Bug #668] Fixed WOZ 'Seafox' not booting.
- set machine = Unenhanced Apple //e or lower & need slot2 empty.
- disable SSC in slot-2 using: '-s2 empty' command line switch.
- added '-s1 empty', '-s3 empty' and '-s6 empty' too.
. [Bug #404] a2audit.dsk 1.06 now working. (See #700)
. [Bug #319] SmartPort return address was wrong when crossing page (fix to slot-7 HDD's firmware).
- NB. Old save-states where the 6502's PC is in the old firmware now can't be loaded. (AppleWin will show an error)
. [PR #687] Replace char * with std::string.
1.29.2.0 - 6 Sep 2019
---------------------
. [Change #678] Hotkeys to change emulation speed:
- Ctrl-0 Toggles between custom speed and Full-Speed
- Ctrl-1 Sets 1 MHz
- Ctrl-3 Sets Full-Speed
. [Change #671] Register .woz extension with AppleWin. Updated AppleWin.chm & DELREG.INF.
. [Bug #685] Fixed support for French Touch's "CHIP" demo (Mockingboard / multi-TIMER interrupt support).
. [Bug #677] Loading a save-state wasn't restoring the pending IRQ.
. [Bug #672] For WOZ images: all even disk I/O read accesses will now read the data latch.
. [Bug #650] NTSC TV (Color and B&W): image was half an Apple II scanline vertically shifted down.
. [PR #674] Prevent uninitialized value bugs and improve string safety.
1.29.1.0 - 27 Jul 2019
----------------------
. [Bug #662] Fixed WOZ 'Wizardry III' not booting.
. [Bug #669] Fixed WOZ 'Space Quest I' not booting reliably.
. [Bug #670] Fixed PAGE2 not displaying correctly when in full-speed mode (regression introduced at 1.28.8.0).
1.29.0.0 - 8 Jul 2019
---------------------
. [Change #544] Support for .woz disk images.
- WOZ1 and WOZ2 formats supported.
- read-only: images forced to write-protected (so 'Stickybear Town Builder' doesn't work).
- only 5.25" (not 3.5").
- known issues: 'Wizardry III' not booting.
1.28.8.0 - 28 Jun 2019
----------------------
. [Change #648] Support 50Hz(PAL) video refresh rate and implicitly PAL 1.016MHz.
- NB. TV video modes still use NTSC rendering.
. [Bug #656] Fix for PAGE1/2 ($C054/55) not having a 1 cycle delay.
1.28.7.0 - 15 Jun 2019
----------------------
. [Bug #654] Fix for Sather's "Little Text Window" not rendering correctly.
. [Bug #652] Fix for 6522 TIMER1's period to be N+2 cycles.
1.28.6.0 - 2 Jun 2019
---------------------
. [Bug #651] Cycle-accurate interrupts:
- Interrupts sources are checked after every opcode (full-speed after every 40 opcodes).
- 6522 TIMERs in free-running mode now account for the underflowed cycles when resetting the count.
1.28.5.0 - 6 Apr 2019
---------------------
. [Change #631] Improvements for the RGB AppleColor card:
- Relax the video-mode precondition to just ignore if VF_MIXED (previously required HIRES on) for Apple II Desktop.
- Changing from DHGR B&W mode to HGR remains in B&W (color burst is off).
- For '50% scan lines', don't blend in NTSC B&W mode, as this was inconsistent with the RGB colour rendering.
. [Change #633] Improvements for the RGB AppleColor card:
- Improved the video-mode precondition to ignore if 80COL ($C00C/D) occurs before DHIRESON ($C05F) for Renegade.
- Support new switch -rgb-card-invert-bit7 to invert bit7 for Dragon Wars.
1.28.4.0 - 16 Mar 2019
----------------------
. [Change #616] Improved accuracy for 'RGB (Color Monitor)' for hires.
. [Bug #611] Holding down F9 to cycle through the video modes results in occasional flicker with garbage.
. [Bug #627] Rainbow demo not working correctly when vertical blend is enabled.
. [Bug #628] Filename suffix check for .gz and .zip needs to be case-insensitive.
1.28.3.0 - 3 Mar 2019
---------------------
. [Change #625] AltGr+<key> does not send the <key> value to $C000.
- This reverts the default behaviour introduced from 1.27.6 (#558).
- Use -altgr-sends-wmchar to allow AltGr+<key> to work correctly together.
- NB. The reason for the revert was that it was preventing international keyboards from typing certain characters.
. [Change #616] Vertical blending now uses 560-pixel granularity for half-dot shift support (consistent with all other video modes).
1.28.2.0 - 24 Feb 2019
----------------------
. [Change #616] Support vertical blending for 'RGB (Color Monitor)' for hires.
- Support the old AppleWin 1.25 vertical blending for hires via a 'Vertical Blend' checkbox.
. [Change #621] Support RGB AppleColor card's 160-color pixel mode by squashing 640 pixels into 560 pixels.
- Squashing is done by losing every 8th pixel.
. [PR #623] Do not reset on minor state load errors.
. [Bug #609] Configuration dialog didn't correctly reflect lack of Mockingboard/Phasor when loading a save-state without this sound card.
1.28.1.0 - 2 Feb 2019
---------------------
. [Change #523] Support Extended 80-Column Text/AppleColor Card's DHGR Mixed mode and 560x192 Mono mode.
. [PR #620] Corrected a few symbol names in APPLE2E.SYM for the 80STORE and 80COL I/O addresses.
. [Bug #617] Apple II,II+ keyboard: up/down arrow keys are now ignored.
1.28.0.0 - 12 Jan 2019
----------------------
. [Change #357] Resurrected the AppleWin 1.25 "Color (Standard)" video mode as "Color (RGB Monitor)".
@ -17,8 +610,8 @@ Tom Charlesworth
. [Change #603] Removed support for v1 save-state files.
- Any v1 save-state files should be loaded into AppleWin 1.27, and then re-saved to a v2 save-state file.
. [Change #597] Removed the functionality for CTRL+F10 to reveal the mouse cursor.
. [Change #585] Added a 'Swap' HDD button to the Configuration->Input property sheet.
. [Bug #608] Mockingboard's 6522 TIMER1 wasn't generating an interrupt quickly enough for Broadside's detection routine.
. [Change #585] Added a 'Swap' HDD button to the Configuration->Disk property sheet.
. [Bug #608,#236] Mockingboard's 6522 TIMER1 wasn't generating an interrupt quickly enough for detection routines for Broadside and Ultima III Jukebox.
1.27.13.0 - 8 Dec 2018
@ -70,10 +663,10 @@ Tom Charlesworth
1.27.7.0 - 6 Aug 2018
---------------------
. [Bug #564] Fixed 'Save State on Exit' not working correctly when there's a Configuration change to the hardware.
. [Bug #556] Reverted default so that ALT+TAB is not hooked (#556)
. [Bug #556] Reverted default so that ALT+TAB is not hooked
- Support new command line switch: -hook-alt-tab to support hooking ALT+TAB.
. [Bug #558] Reverted default so that ALT GR's fake LEFT CONTROL is not hooked (#558)
- Support new command line switch: -hook-altgr-control to suppess ALR GR's fake LEFT CONTROL.
. [Bug #558] Reverted default so that ALT GR's fake LEFT CONTROL is not hooked
- Support new command line switch: -hook-altgr-control to suppress ALR GR's fake LEFT CONTROL.
1.27.6.0 - 28 Jul 2018
@ -707,8 +1300,8 @@ Beta builds for specific testers
. Support for Pravets 82. Caps Lock serves as Lat/Cyr lock. The charset still needs a little fix (all characters have to be one row down).
. Some partial support for Pravets 8A. Caps Lock serves as Lat/Cyr lock, and F10 serves as Caps Lock.
In Pravets 8A mode the former behaviour of the F10 key is preserved as Ctrl+F10 (see Help/Keyboard for details).
Extended Basic and Miniassembler work, but there are still problems with the 8 bit charset (Ïàðèñ [Parris] does not switch to latin characters).
Some keys have to be remapped, because currently they are not available (i.e. Ý). There is still the problem that there is not enough space for this key on the keyboard.
Extended Basic and Miniassembler work, but there are still problems with the 8 bit charset (Ïàðèñ [Parris] does not switch to latin characters).
Some keys have to be remapped, because currently they are not available (i.e. Ý). There is still the problem that there is not enough space for this key on the keyboard.
. Added Send to CiderPress function via the popup menu of the drive buttons.
1.14.1.2 - 2 Dec 2007 (beta)

31
bin/makeAppleWin.bat Normal file
View File

@ -0,0 +1,31 @@
@IF "%~1" == "" GOTO help
@IF "%APPLEWIN_ROOT%" == "" GOTO help2
@MKDIR "%~1"
@COPY /Y "%APPLEWIN_ROOT%\bin\A2_BASIC.SYM" "%~1"
@COPY /Y "%APPLEWIN_ROOT%\bin\APPLE2E.SYM" "%~1"
@COPY /Y "%APPLEWIN_ROOT%\bin\DELREG.INF" "%~1"
@COPY /Y "%APPLEWIN_ROOT%\bin\DebuggerAutoRun.txt" "%~1"
@COPY /Y "%APPLEWIN_ROOT%\bin\GNU General Public License.txt" "%~1"
@COPY /Y "%APPLEWIN_ROOT%\bin\History.txt" "%~1"
@COPY /Y "%APPLEWIN_ROOT%\bin\MASTER.DSK" "%~1"
@COPY /Y "%APPLEWIN_ROOT%\docs\Debugger_Changelog.txt" "%~1"
@COPY /Y "%APPLEWIN_ROOT%\help\AppleWin.chm" "%~1"
@COPY /Y "%APPLEWIN_ROOT%\Release v141_xp\AppleWin.exe" "%~1"
@MKDIR "%~1\snesmax"
@COPY /Y "%APPLEWIN_ROOT%\snesmax\*" "%~1\snesmax"
CD "%~1"
"C:\Program Files\7-Zip\7z.exe" a ..\AppleWin"%~1".zip *
"C:\Program Files\7-Zip\7z.exe" a ..\AppleWin"%~1"-PDB.zip "%APPLEWIN_ROOT%\Release v141_xp\AppleWin.pdb"
CD ..
@GOTO end
:help
@ECHO %0 "<new version>"
@ECHO EG: %0 1.29.8.0
@GOTO end
:help2
@ECHO APPLEWIN_ROOT env variable is not defined
:end

View File

@ -2,6 +2,26 @@ Coding Conventions for AppleWin
===============================
History:
v7 - 23-Mar-2023 (MP)
. Clarify 2.1 Naming
. Split into sub-section 2.1.1: Simplified prefix names
. Split into sub-section 2.1.2: Loop conters
. Split into sub-section 2.1.3: Out parameters
. Clarify 2.6 Indentation
. Add 2.6.1: Brace placement
. Add 2.6.1.1: Debugger function style
. Clarify b, and n prefix
v6 - 12-Jan-2023 (TC)
. Avoid global vars & provide getter/setter accessor functions.
. Avoid C++11 empty initializer lists. (PR#634)
v5 - 03-Apr-2022 (TC)
. #1072: Add a space after keywords.
v4 - 05-Mar-2022 (TC)
. #1050: Added info about Platform Toolset v141_xp
. Use of C++11/14/17
. Use StrFormat() instead of sprintf() etc.
v3 - 14-Nov-2020 (TC)
. #868: Reduced Hungarian notation
v2 - 16-Feb-2006 (TC)
. Updated after discussion with M.Pohoreski
v1 - 04-Feb-2006 (TC)
@ -30,60 +50,57 @@ This is for shared vars, enums, structs, classes, etc.
EG. const/enum/struct
Obviously not for global funcs or vars.
1.4: PCH (StdAfx.h)
Could ditch this.
Does this gain anything for such a simple project?
1.4: At the start of each header file it must contain: #pragma once
1.5: Each module (.cpp) to include stdafx.h, and then immediately after include
the header file for that module.
EG. For Debug.cpp:
#include "stdafx.h"
#include "Debug.h"
This ensures that this header file can be included in any order in another module,
and therefore by extension all header files can be included in any order.
-------------------------------------------------------------------------------
2) Coding Style:
As a general rule and for consistency, adopt the coding convention/style of any module (or function) you are modifying.
2.1: Naming
The following simplied Hungarian style must be used:
For functions use upper camel case (PascalCase).
For variables use lower camel case (camelCase).
2.1.1: Simplified prefix names
And only if applicable, the following simplified prefix (Hungarian) style can be used:
Prefixes:
a : array
b : bool
e : enum variable
g_ : global
h : handle
i : iterator (eg. UINT, STL-iterator)
m : STL map
m_ : member
n : int
p : pointer
r : reference
s : string
sg_p : singleton (could also use 'sgp' - to be reviewed)
u : unsigned int
v : STL vector
Tags:
_e : named enum definitions
_t : struct/typedef
Legacy:
dw : DWORD [legacy: existing 'dw' to be replaced with 'u' prefix]
sz : string (null-terminated) [legacy:
Also see: "Appendix: Legacy Hungarian notation"
EG:
enum MODE_e {MODE1, MODE2, MODE2};
MODE_e eMode;
MODE_e mode;
struct PAIR_t
{
UINT uA;
UINT uB;
UINT a;
UINT b;
};
2.1.2: Loop conters
Simple loop counters (i,j,k) don't need to adhere to this style.
NOTE: It would be better to use a better descriptive loop name then a non-descript single character variable name.
Don't go Hungarian-mad (you might argue that we already have :)
. an array of any type can just be prefixed with 'a'. Eg. Array of bools:
bool aFlags[NUM_FLAGS];
. a pointer to any type can just be prefixed with 'p'. Eg. Pointer to array of bools:
bool* pFlags;
2.1.3: Out parameters
Naming for parameters that are being modified (eg. OUT):
It is recommended (but not mandatory) to use a suffix of OUT or '_', eg:
bool Find(int* pFoundOUT);
@ -111,12 +128,103 @@ Always use bool instead of BOOL
GPL header, followed by description of module & author.
2.6: Indentation
Tabs favoured over spaces.
Tabs favoured over spaces. (Tabs for indent, spaces for alignment.)
2.6.1: Brace placement
Braces should be formated with Allman Style (opening brace on separate line) and NOT K&R style (opening brace on same indentation level as its header).
EG:
void FindFoo() // GOOD
{
}
void FindFoo() { // BAD
}
See: https://en.wikipedia.org/wiki/Indentation_style
2.6.1.1: Debugger function style
For functions in the debugger, both the
* function declaration,and
* function definition
MUST have a space between the end of the function name and the opening parenthesis.
This makes it trivial to search and jump to the function implementation since every function call _won't_ have that extra space.
EG:
void FindFoo (); // .h
void FindFoo () // .cpp
{
}
void Bar()
{
if (FindFoo() // usage
}
2.7: Expression to be well spaced and parenthesised
It is recommended (but not mandatory):
. to have/use explicit parenthesis
. to have spaces between operators
Eg:
EG:
. Prefer: z = ((a + b) + 1) instead of: z=((a+b)+1)
2.8: Add a space after keywords (if, for, switch, while, etc).
EG:
for (int i=0; i<10; i++)
Not:
for(int i=0; i<10; i++)
2.9: Avoid global variables.
If a free variable exists within a C++ file, then declare it static and provide getter & setter accessor functions.
-------------------------------------------------------------------------------
3) Use of sprintf() etc.
Do not use sprintf(), StringCbPrintf(), wsprintf(), etc. - instead use StrFormat().
-------------------------------------------------------------------------------
4) Use of C++
VS2019's Platform Toolset "Visual Studio 2017 - Windows XP(v141_xp)" is used for building releases.
This is VS2017 v15.0, which includes support for C++11, C++14 and some C++17 core language support[1].
[1] https://docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=msvc-170
4.1: Type deduction (including auto)
Use type deduction only if it makes the code clearer to readers who aren't familiar with the project,
or if it makes the code safer. Do not use it merely to avoid the inconvenience of writing an explicit type.
(Ref: https://google.github.io/styleguide/cppguide.html#Type_deduction)
4.2: Avoid C++11 empty initializer lists
This notation can be too obscure, compared to using regular initialization (for POD) or ctors (for classes).
EG, avoid this:
int var {};
struct s {};
-------------------------------------------------------------------------------
Appendix: Legacy Hungarian notation
dw : DWORD
sz : string (null-terminated)
a : array
b : bool or bitmask
e : enum variable
h : handle
i : iterator (eg. UINT, STL-iterator)
m : STL map
n : int, total, or length
r : reference
s : string
sg_p : singleton
u : unsigned int
v : STL vector

View File

@ -1,4 +1,87 @@
/*
2.9.2.0 Fixed: Debugger: Step-over WAIT can fail #1194
2.9.1.26 Fixed: When adding symbols list the address first then the name for readability
2.9.1.25 Fixed: R P ## wasn't setting P flag status register.
2.9.1.24 Fixed: Disassembly line when at PC for BW mode. GH #1231
2.9.1.23 Fixed: Show floating-point values in scientific notation.
2.9.1.22 Fixed: `df FAC` was incorrectly getting marked up as `db`
2.9.1.21 Fixed: `df` showing zero was displaying 0 instead 0.0
2.9.1.20 Fixed: Changed DISK INFO to have 1 line abbreviation for disk state
2.9.1.19 Added: QoL to DISK INFO.
Colorized numbers and status to improve readability.
Also shows the .WOZ current shift register.
2.9.1.18 Fixed: NTSC LOAD was failing to import BMPs exported from GIMP.
To export a 64x256 bitmap from GIMP:
1. File, Export As...
2. Use a file extension of .bmp
3. Export Image as BMP
Compatibility Options
[x] Do not write color space information
Advanced Options
32 Bits
(x) X8 R8 G8 B8
In the debugger load your .bmp file:
NTSC LOAD palette.bmp
2.9.1.17 Fixed: Ctrl-Space failing to step over a long sub-routine (and wasn't providing any feedback on why it failed.) GH #1194
Increased the max steps to 0xFFFFF (from 0xFFFF)
If step-over succeeds the debugger's feedback is:
"Stop reason: Register PC matches 'Go until' address $nnnn"
If step-over fails (3 possible states), new (QoL) feedback from the debugger is:
"INFO: Didn't step over JSR! (RTS $nnnn on top of stack.)"
"WARN: Didn't step over JSR! (Stack has RTS $nnnn but needs fixup: $xx bytes)"
"ERROR: Didn't step over JSR! (RTS $nnnn not found!)"
2.9.1.16 Added: QoL to BPL. Header and colorized address, mem, and symbols.
2.9.1.15 Added: QoL when a breakpoint register is hit display which register and breakpoint triggered it.
Example:
Stop reason: Register PC matches breakpoint #0
2.9.1.14 Fix disassembly when in middle of data
Example:
ASC 7D0:7D7
ASC 7D8:7DF
7CF:EA 40 41 42 43 44 45 46 47 48
U 7D7
2.9.1.13 Added: CD now detects ".." to change to the previous directory and chops the trailing sub-directory from the current path.
It worked before but would clutter up the current directory with a trailing "..\".
2.9.1.12 Added: New commands HGR0, HGR3, HGR4, HGR5 to see pseudo pages $00, $60, $80, $A0 respectively.
2.9.1.11 Fixed: Right justify signed decimal values.
Example:
U 300
300:A9 80 A9 81 A9 FF A9 00 A9 01 A9 7E A9 7F
Will display as:
LDA #$80 #-128
LDA #$81 #-127
LDA #$FF #-1
LDA #$00
LDA #$01 #+1
LDA #$7E #+126
LDA #$7F #+127
2.9.1.10 Fixed: Immedate #80 was not showing -128 for the signed decimal value.
2.9.1.9 Fixed: Immediate #0 was showing '#' prefix but not showing zero for the signed decimal value. Changed to show the signed decimal value only if non zero.
2.9.1.8 Changed: Disassembly window now lists symbol labels and symbol target address from User2 in orange.
Example:
U 300
SYM @ = 303
300: 20 03 03
2.9.1.7 Added: Extended SYM command to auto-generate symbol names when reverse engineering. NOTE: These symbols will be placed in User2.
Example:
SYM @ = 800 // Alias for: SYM _0800 = 0800
2.9.1.6 Added: Branch instructions now show target address.
2.9.1.5 Added: Disassembly window now shows signed decimal values for immediate values.
2.9.1.4 Changed: Show symbol warnings in Orange, and length of symbols in light blue.
2.9.1.3 Added: DB commanoptionally supports =
DB HGR = 2000:3FFF
2.9.1.2 Fixed: Off by one end address when deleting DisasmData_t
2.9.1.1 Added: X command now supports a range and will chop off the appropiate data sections.
DB 2000:2005
X 2002:2003
Released post 1.30.7.0
2.9.1.0 Added: Bookmarks now have their own indicator (a number with a box around it) and replace the ":" separator. Updated Debug_Font.bmp
.18 Fixed: Resetting bookmarks wasn't setting the total bookmarks back to zero.
.17 Fixed: If all bookmarks were used then setting a new one wouldn't update an existing one to the new address.
.16 Fixed: Replacing an existing bookmark incorrectly increased the total bookmark count.
.15 Cleanup: HELP CALC examples and See also.
.14 Fixed: HELP JSR wasn't color-coding syntax.
.13 Added: PROFILE LIST now shows how many clock cycles were executed.

View File

@ -1,6 +1,55 @@
Requests (Wishlist):
====================
* HOME/CLS Clear Screen
* DT Define Target
Default disassembly:
D7AF:A9 13 LDA #$13
D7B1:A0 E9 LDY #$E9
Correct disassembly:
DT D7AF:B7B2
D7AF:A9 13 LDA #<CON.ONE
D7B1:A0 E9 LDY #>CON.ONE
* DF Define FAC
* Cleanup Applesoft listing
* DB
* DA
* DF
* Read/Write Track/Sector
DISK 2 READ 11 F 800
DISK 2 WRITE 11 F 800
* Save/Load memory to mounted DOS3.3 disk
DSAVE "LOGO.HGR",2000:3FFF,6,1
DLOAD "LOGO.HGR"
* Save/load memory to mounted ProDOS disk/hard drive
PREFIX
PSAVE "LOGO.HGR",2000:3FFF
PLOAD "LOGO.HGR"
* [ ] HELP BPM on read/write
Nail down syntax:
BPM A7 = R
BPM A7 = W
BPM R A7
BPM W A7
Add support 65D02 to break on read/write memory location
* [ ] HELP BPM
Add help document and examples
* [ ] Fix BUG: (partial) symbols starting with E not parsed propery
sym ErasePlayer1 = 65D3
sym ErasePlayer
Address not found: $000E
* [ ] Color code error messages in red foreground
- HELP CD: Document examples
Helps needs to list:
SEE: HELP PWD

View File

@ -36,10 +36,10 @@ To support Bob Bishop's intros, tight-loop page-flipping, etc
Plans for (1st pass) cleaning up are:
. Ditch the x86 code to access the PC speaker + ditch PC speaker support
. [DONE] The arrays ioread[] & iowrite[] in Memory.cpp should be switched from units of 1 byte to 16 bytes.
This will yield 256 entries spanning [$C000…$CFFF] currently its only [$C000…$C0FF]. This will mean that:
a) cards with I/O mapped above $C0FF (eg Mockingboard, Mouse?) dont have to be kludged as in the READ/WRITE macros in CPU.cpp
This will yield 256 entries spanning [$C000…$CFFF] currently its only [$C000…$C0FF]. This will mean that:
a) cards with I/O mapped above $C0FF (eg Mockingboard, Mouse?) dont have to be kludged as in the READ/WRITE macros in CPU.cpp
b) $CFFF (ROMs out) can be emulated
. Talking of CPU.cpp & those macros: Id prefer to replace them with inline funcs. Maintenance of these
macros is a bitch & they cant be single-stepped. Inline funs should yield the same code (in release build)
. Talking of CPU.cpp & those macros: Id prefer to replace them with inline funcs. Maintenance of these
macros is a bitch & they cant be single-stepped. Inline funs should yield the same code (in release build)
as the macros.

43
docs/build_help_chm.txt Normal file
View File

@ -0,0 +1,43 @@
=== Updating CHM ===
cd help
"C:\Program Files (x86)\HTML Help Workshop\hhc" AppleWin.hhp
To view:
start AppleWin.chm
The batch file "update.bat" will both compile and view the CHM.
=== Installing Microsoft Help Workshop ===
The official site is here...
* https://docs.microsoft.com/en-us/previous-versions/windows/desktop/htmlhelp/microsoft-html-help-downloads
... but in typical MS fashion it is outdated -- it has two broken links since the Help Workshop is not on "Microsoft Download Center."
i.e.
* https://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe
* https://download.microsoft.com/download/0/a/9/0a939ef6-e31c-430f-a3df-dfae7960d564/htmlhelpj.exe
This community question ...
* https://docs.microsoft.com/en-us/answers/questions/265752/htmlhelp-workshop-download-for-chm-compiler-instal.html
... says to use Wayback Machine.
* http://web.archive.org/web/20160201063255/http://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe
* http://web.archive.org/web/20160314043751/http://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/helpdocs.zip
Installing it is straight-forward but you'll get a misleading pop-up dialog near the end:
"This computer has a newer version of HTML Help."
This refers to the help VIEWER (which is already installed) and NOT the help COMPILER which was just installed.
A step-by-step installation guide can be found here:
* https://www.helpndoc.com/step-by-step-guides/how-to-download-and-install-microsofts-html-help-workshop-compiler/

View File

@ -27,6 +27,7 @@ MSVC 2017 Community
* [x] Graphics debugger and GPU profiler for DirectX
* [x] Static analysis tools
* [x] VC++ 2017 v141 toolset (x86,x64)
* [x] Windows Universal CRT SDK
* [x] Visual Studio C++ core features
* [x] Windows 8.1 SDK
* [x] Windows 10 SDK (10.0.15063.0) for Desktop C++ x86 and x64
@ -97,3 +98,26 @@ N/A
5. Clean & build:
devenv AppleWinExpress2008.sln /clean
cov-build --dir cov-int devenv AppleWinExpress2008.sln /build release
How to disable F12 so it doesn't trigger a breakpoint
=====================================================
When running AppleWin from Visual Studio (eg. F5), then F12 will trigger a breakpoint.
This is undesirable, since F12 is used to load a save-state.
AppleWin does also support CTRL+F12 to load a save-state too (for this very reason), but it's possible to disable F12 triggering the breakpoint.
Background:
F12 is the OS's default UserDebuggerHotKey:
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc786263(v=ws.10)
Fix:
. Change this Registry key: "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug" -> UserDebuggerHotKey to 0x07 (*)
. And restart the PC for it to take effect.
(*) Where 0x07 = Undefined
(See: https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes)

View File

@ -1,165 +0,0 @@
Setting up CVS for AppleWin
Revision 3
+ Added pass-phrase, pageant, putty info
Revision 2
+ Added diff/merge
This is the step-by-step tutorial in getting CVS setup for AppleWin.
There are a few steps, but each one is quick and easy to do.
1. Create an account BerliOS
http://developer.berlios.de/
2. Download and install TortoiseCVS.
a) http://www.tortoisecvs.org/
b) Reboot Windows (Grr...)
You can find a tutorial on how to use TortoiseCVS here:
http://cedric.babault.free.fr/TortoiseCVSDoc/UserGuide_en.html
If you don't want to use TortoiseCVs, you have a few options:
i) WinCVS (which also has a Mac OS X port, called MacCVS)
http://www.wincvs.org/
ii) cvsnt:
http://www.march-hare.com/cvspro/
3. Generate a SSH2 key, using "puttygen"
Recommend: using a pass-phrase
Recommend: using comment:
<username>@shell.berlios.de
If you installed TortoiseCVS, you will notice it includes an older version of puttygen.exe:
i.e.
\Program Files\TortoiseCVS\puttygen.exe
\Programs\VersionControl\TortoiseCVS\puttygen.exe
You can find the latest PuTTY here:
http://www.chiark.greenend.org.uk/~sgtatham/putty/
And depending on where you installed it to:
C:\Program Files\Putty\puttgygen.exe
P:\Programs\Util\Shell\PuTTY\puttygen.exe
4. In your home directory, make a sub-directory called: .ssh
i.e.
C:\Document and Settings\<username>\.ssh
\users\<username>\.ssh
5. Save your public key into your home directory
i.e.
<username>\.ssh\identity.pub
6. Save your private key into your home directory
i.e.
<username>\.ssh\identity
7. Upload your Public SSH key to BerliOS
a) http://developer.berlios.de/
b) Account Options
c) Edit Keys (at bottom of webpage)
d) copy from puttygen, and paste into web form
e) Verify: CVS/SVN/SSH Shared Keys: 1 <-- was zero
You will have to use your pass-phrase (may be up to a few hours),
until BerliOS recognizes the uploaded ssh2 key.
8. Using Windows Explorer, navigate to the parent directory where you will download AppleWin
i.e.
<username>\Projects\
P:\<username>\Projects\
9. (Optional) Specify a home folder.
If you have TortoiseCVS installed:
a) right Click on any directory
b) select CVS
c) Preferences.
TortoiseCVS should appear.
d) Select "Advanced" Tab
e) Home Folder: uncheck, always recalculate home folder
f) Enter your home directory, for "Custom Home folder"
10. (Optional) Set CVS environment variable: CVS_RSH
If you are using TortoiseCVS you can skip this step.
(TortoiseCVS uses 'plink' -- command line wrapper for ssh.)
For other cvs clients, you may need to set CVS_RSH:
To set the environment variable "CVS_RSH" to "ssh" (without the quotes):
Right-click the My Computer icon on your desktop, Properties, Advanced, Environment variables button.
11. Setting CVSROOT.
If you use TortoiseCVS
a) right click on the AppleWin Parent directory (the folder where AppleWin will be downloaded to)
b) CVS Checkout,
and set CVSROOT to:
:ext:<username>@cvs.applewin.berlios.de:/cvsroot/applewin
c) set Module (case sensitive!) to:
AppleWin
d) select OK, and wait to fetch the complete AppleWin directory.
Troubleshooting:
* You can delete "Previous CVSROOTs":
Right click on folder, CVS, Checkout, select appropiate, delete key
You will have to press OK for the old entries to be deleted.
When you do, a fetch attempt will also be made.
* If you enter the wrong init param, you may have to rename / delete your local AppleWin folder!
* If you still have problems, you may have to remove the SSH (host) entry from the registry:
i.e.
HKEY_CURRENT_USER\Software\SimonTatham\Putty\SshHostKeys
* You shouldn't have to edit, but if you need to, this CVS config file is plain text:
AppleWin\CVS\Root
If you use another cvs client, such as WinCVS, or CVSNT, this may work:
:ssh:<username>@cvs.applewin.berlios.de:/cvsroot/applewin
12. You can download a free source-code 'diff' & 'merge' app for win32
(which integrates into TortoiseCVS) from here:
http://winmerge.sourceforge.net/
Alternatively you can download a free source-code 'diff' for Win32 here:
http://www.prestosoft.com/ps.asp?page=edp_examdiff
13. Start hacking the code!
14. Automatically use your SSH2 key, instead of manually typing your pass-phrase.
If you generated a SSH2 private/public key, and have uploaded it to BerliOS,
you can tell TortoiseCVS to use your SSH2 key-pair instead of asking for your pass-phrase on every CVS action.
If you have PuTTY (pageant) installed:
a) Run pageant
C:\Program Files\PuTTY\pageant.exe
If you get a configuration error when starting pageant.exe on Win XP, this provides a workaround:
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/xp-wont-run
b) Right Click on pageant in the system tool bar
c) Add key
d) Select your private key
<username>\.ssh\identity.ppk
If you have TortoiseCVS installed:
a) right Click on any directory
b) select CVS
c) Preferences.
TortoiseCVS should appear.
d) Select "Tools" Tab
e) To the SSH paramaters, add: -2

View File

@ -1,28 +0,0 @@
Setting up SVN for AppleWin
===========================
(This doc assumes you started with cvs_setup.txt)
1. Download and install TortoiseSVN.
a) http://tortoisesvn.sourceforge.net/
b) Reboot Windows (Grr...)
==========
Start by reading the TortoiseSVN help... or just dive right in :)
To browse the svn repository using:
a) Web browser (WebSVN) : http://svn.berlios.de/wsvn/applewin
b) Windows Explorer: TortoiseSVN -> Repro-browser
Use 'SVN Checkout...' off the right-context menu in a Windows folder.
URL of repository:
http://svn.berlios.de/svnroot/repos/applewin/trunk
(to get trunk)
http://svn.berlios.de/svnroot/repos/applewin
(to get everything! Or use [...] to browse for your specific branch)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,11 @@
a65_w32 -b -l HDDRVR.A65 >hddrvr.lst
@del HDDRVR.BIN
rename 6502.bin HDDRVR.BIN
copy HDDRVR.BIN ..\..\resource
@REM ACME only ever returns 0!
acme.exe hddrvr.a65
@IF %ERRORLEVEL% NEQ 0 goto error
copy hddrvr.bin ..\..\resource
@goto end
:error
@echo "ACME failed"
:end

View File

@ -26,45 +26,60 @@
;
; Modified by Tom Charlesworth:
; . Fixed so it can be assembled by a65 v1.06
; . Updated so it can be assembled by ACME 0.97
; . Fixed so that ProDOS entrypoint is $c70a (26 Dev 2007) (Bug #12723)
; . Modified to support Apple Oasis' entrypoint: $c761 (8 Sept 2012) (Feature #5557)
; . Added support for SmartPort entrypoint (20 Oct 2012)
; - EG. "Prince of Persia (Original 3.5 floppy for IIc+).2mg"
; . GH#370 (Robert Hoem, 27 Oct 2016):
. Added a check against open-apple during boot to route boot to slot 6
. This happens after the first two blocks are loaded from the HD.
; . Added a check against open-apple during boot to route boot to slot 6
; . This happens after the first two blocks are loaded from the HD.
; . GH#319: SmartPort return address wrong when crossing page
; . GH#996: Make code slot-independent (so HDD controller card can go into any slot)
; . Moved the 512-byte block read into AppleWin's HDD emulation (to mirror the block write command)
; TODO:
; . Make code relocatable (so HDD controller card can go into any slot)
; . Remove support for Entrypoint_C746 (old AppleWin) & Entrypoint_C761 (Apple Oasis)
; . Remove support for Entrypoint_Cs46 (old AppleWin) & Entrypoint_Cs61 (Apple Oasis)
; - provide a utility to convert these to use Entrypoint_ProDOS
; . Check SmartPort: Is it OK to trash Y and $42,..,$47 ?
;
!cpu 6502 ; Compatible with all Apple2's
!to "hddrvr.bin", plain
!sl "hddrvr.labels"
; constants
hd_execute = $c0f0
hd_error = $c0f1
hd_command = $c0f2
hd_unitnum = $c0f3
hd_memblock = $c0f4
hd_diskblock = $c0f6
hd_nextbyte = $c0f8
hd_execute = $c080
hd_status = $c081 ; b7=busy, b0=error
hd_command = $c082
hd_unitnum = $c083
hd_memblock = $c084
hd_diskblock = $c086
;hd_nextbyte = $c088 ; legacy read-only port (still supported by AppleWin)
; Notes on accesses to I/O registers:
; . ROR ABS16,X and ROL ABS16,X - only used for $C081+s*$10 STATUS register:
; 6502: double read (old data), write (old data), write (new data). The writes are harmless as writes to STATUS are ignored.
; 65C02: double read (old data), write (new data). The write is harmless as writes to STATUS are ignored.
; . STA ABS16,X does a false-read. This is harmless for writable I/O registers, since the false-read has no side effect.
command = $42
unitnum = $43
memblock = $44
diskblock = $46
slot6 = $c600
slot6 = $C600
OS = $0801
BUTTON0 = $C061
;======================================
!zone code
*= $0000 ; org $0000 - position-independent code, so doesn't matter (but the other fixed org positions need to be on the same page)
; The Autoboot rom will call this.
; This is also the entry point for such things as IN#7 and PR#7
;; code
*= $c700 ; org $c700
start
; Autoboot and ProDOS look at the following few opcodes to detect block devices
@ -76,82 +91,39 @@ start
lda #$3C
bne Bootstrap
Entrypoint_ProDOS ; $c70a - ProDOS entrypoint
Entrypoint_ProDOS ; $Cn0A - ProDOS entrypoint
sec
bcs Entrypoint
Entrypoint_SmartPort ; $c70d - SmartPort entrypoint
Entrypoint_SmartPort ; $Cn0D - SmartPort entrypoint
clc
Entrypoint ; $c70e - entrypoint?
bcs cmdproc
bcc SmartPort
;;
Entrypoint ; $Cn0E - entrypoint?
bcs GetSlotInX ; C=1: GetSlotInX -> cmdproc
Bootstrap
; Lets check to see if there's an image ready
lda #$00
sta hd_command
; Slot 7, disk 1
lda #$70 ; Slot# << 4
sta hd_unitnum
lda hd_execute
; error capturing code. Applewin is picky
; about code assigning data to registers and
; memory. The safest method is via I/O port
pha
lda hd_error
clc
cmp #1
bne noerr0
sec
noerr0
pla
bcc hdboot
; no image ready, boot diskette image instead
BootSlot6
jmp slot6
; C=0: fall through to SmartPort...
;======================================
; TODO: Is it OK to trash Y and $42,..,$47 ?
; Pre: C=0
SmartPort
; Pre: C=0, X = Slot# << 4
SmartPort ; SmartPort -> GetSlotInX -> cmdproc
pla
sta $46
adc #3 ; Pre: C=0, Post: C=0 or 1
tay
pla
sta $47 ; ($47) = &cmd_hdr
sta $47 ; ($46) = &cmd_hdr
adc #0
pha
lda $46
adc #3 ; Pre: C=0, Post: assume C=0
pha ; (sp).w += 3
tya
pha ; (sp).w += 3
ldy #1
lda ($46),y ; cmd
sta $42
iny
bne SmartPort2
;======================================
; 2 unused bytes
*= $c746 ; org $c746
Entrypoint_C746 ; Old f/w 'cmdproc' entrypoint
; Keep this for any DOSMaster HDD images created with old AppleWin HDD f/w.
; DOSMaster hardcodes the entrypoint addr into its bootstrapping code:
; - So DOSMaster images are tied to the HDD's controller's f/w
sec
bcs Entrypoint
;======================================
; Pre: Y=2
SmartPort2
lda ($46),y ; param_l
sta $45
iny
@ -162,31 +134,76 @@ SmartPort2
lda ($45),y ; unit
sta $43
iny
lda ($45),y ; memblock_l
sta $44
iny
bne SmartPort3
lda ($45),y ; memblock_h
pha
iny
lda ($45),y ; diskblock_l
pha
iny
bne SmartPort2
;======================================
; 1 unused byte
*= $c761 ; org $c761
; 2 unused bytes
Entrypoint_C761 ; Apple Oasis HDD controller entrypoint
@checkCs46
*= $0046 ; org $0046
!warn "Cs46 padding = ", * - @checkCs46
Entrypoint_Cs46 ; Old f/w 'cmdproc' entrypoint
; Keep this for any DOSMaster HDD images created with old AppleWin HDD f/w.
; DOSMaster hardcodes the entrypoint addr into its bootstrapping code:
; - So DOSMaster images are tied to the HDD's controller's f/w
sec
bcs Entrypoint ; or directly to GetSlotInX
;======================================
Bootstrap
; Lets check to see if there's an image ready
; Slot n, disk 1
clc
bcc GetSlotInX ; Post: X = Slot# << 4
Bootstrap2
lda #$00
sta hd_unitnum,x ; b7=0 => disk 1
sta hd_command,x
lda hd_execute,x
ror hd_status,x ; Post: C=0 or 1
bcc hdboot
; no image ready, boot diskette image instead
BootSlot6
jmp slot6
;======================================
; 2 unused bytes
@checkCs61
*= $0061 ; org $0061
!warn "Cs61 padding = ", * - @checkCs61
Entrypoint_Cs61 ; Apple Oasis HDD controller entrypoint
; Keep this for any DOSMaster HDD images created with Apple Oasis HDD f/w.
; DOSMaster hardcodes the entrypoint addr into its bootstrapping code:
; - So DOSMaster images are tied to the HDD's controller's f/w
sec
bcs Entrypoint
bcs Entrypoint ; or directly to GetSlotInX
;======================================
; image ready. Lets boot from it.
; we want to load block 1 from s7,d1 to $800 then jump there
; we want to load block 1 from disk 1 to $800 then jump there
; Pre: X = Slot# << 4
; C = 0
hdboot
lda #$70 ; Slot# << 4
sta unitnum
lda #$0
sta unitnum ; b7=0 => disk 1
sta memblock
sta diskblock
sta diskblock+1
@ -194,106 +211,111 @@ hdboot
sta memblock+1
lda #$1
sta command
jsr cmdproc
bne cmdproc
hdboot2
bcs BootSlot6
goload
bit BUTTON0 ; button 0 pressed?
bit BUTTON0 ; button 0 pressed?
bmi BootSlot6
; X=device
ldx #$70 ; Slot# << 4
; Pre: X = Slot# << 4
jmp OS
; entry point for ProDOS' block driver
; simple really. Copy the command from $42..$47
; to our I/O ports then execute command
cmdproc
clc
lda $42
sta hd_command
lda $43
sta hd_unitnum
lda $44
sta hd_memblock
lda $45
sta hd_memblock+1
lda $46
sta hd_diskblock
lda $47
sta hd_diskblock+1
lda hd_execute
; check for error
pha
lda command
cmp #1
bne skipSread
jsr sread
skipSread
lda hd_error
clc
cmp #1
bne noerr2
sec
noerr2
pla
rts
; if there's no error, then lets read the block into memory
; because Applewin is picky about memory management, here's what I did:
; on read, hd_nextbyte = buffer[0], therefore we'll read that byte 256 times (in which
; the emulated code increments the buffer by 1 on each read) to (memblock),y
; increment memblock+1 and read the second 256 bytes via hd_nextbyte.
;
; if I could figure out how to consistantly get applewin to update it's memory regions all
; this code can be moved into the emulation code (although, this is how I'd build the hardware
; anyway...)
sread
tya
pha
ldy #0
loop1
lda hd_nextbyte
sta (memblock),y
iny
bne loop1
inc memblock+1
ldy #0
loop2
lda hd_nextbyte
sta (memblock),y
iny
bne loop2
dec memblock+1 ; restore memblock+1 ($45) to original value (for Epyx's California Games)
pla
tay
rts
;======================================
SmartPort3
lda ($45),y ; memblock_h
pha
iny
lda ($45),y ; diskblock_l
pha
iny
SmartPort2
lda ($45),y ; diskblock_h
sta $47
pla
sta $46
pla
sta $45
iny
bne cmdproc
sec
; fall through...
;======================================
; 12 unused bytes
; Pre:
; C=0 => via Bootstrap
; C=1 => via Entrypoint / SmartPort2
; Post:
; X = Slot# << 4
GetSlotInX
php
sei ; disable ints, in case an int handler races our $0000/RTS and stack accesses!
; NB. need RAM that's guaranteed to be both read & writeable:
; . can't use $0200-$BFFF, due to eg. RAMRD=0/RAMWRT=1 combination
; . can't use LC as ROM might be enabled.
; So use ZP (specifically $0000) as whatever the state of ALTZP, both read & write will be to the same physical memory location.
lda $00 ; save $00
ldx #$60 ; opcode RTS
stx $00
jsr $0000 ; RTS immediately (NB. can't use $FF58, since LC RAM may be switched in)
sta $00 ; restore $00
tsx
lda $0100,x ; $Cn
asl
asl
asl
asl
tax ; X=$n0
plp ; + restore int status
bcc Bootstrap2
; otherwise fall through for Entrypoint / SmartPort...
;--------------------------------------
; entry point for ProDOS' block driver
; simple really. Copy the command from $42..$47
; to our I/O ports then execute command
; Pre:
; C=0 => via Bootstrap (hdboot)
; C=1 => via GetSlotInX (eg. Entrypoint / SmartPort2)
; X = Slot# << 4
; Post:
; C = hd_status.b0
; A = result of hd_execute
; X = Slot# << 4
cmdproc
php
lda command
sta hd_command,x
lda unitnum
sta hd_unitnum,x
lda memblock
sta hd_memblock,x
lda memblock+1
sta hd_memblock+1,x
lda diskblock
sta hd_diskblock,x
lda diskblock+1
sta hd_diskblock+1,x
lda hd_execute,x ; A = result of hd_execute (NB. instantaneous 512 byte r/w!)
- rol hd_status,x ; b7=busy doing DMA?
bcs -
plp ; restore C from start of cmdproc
bcs done
ror hd_status,x ; Post: C=0 or 1
lda #0
beq hdboot2
done
ror hd_status,x ; Post: C=0 or 1
rts
;======================================
; 33 unused bytes
!zone data
; $CsFE = status bits (BAP p7-14)
; 7 = medium is removable
@ -308,12 +330,12 @@ SmartPort3
; $D7 = Removable, Interruptable, #Volumes=2, Supports write/read/status
; $BF = Removable, Interruptable, #Volumes=4, Supports format/write/read/status (KEGS / IIGS)
; datablock. This starts near the end of the firmware (at offset $FC)
;; data
*= $c7fc ; org $c7fc
.word $7fff ; how many blocks are on the device.
.byte $D7 ; specifics about the device (number of drives, read/write/format capability, etc)
.byte <Entrypoint_ProDOS ; entry point offset for ProDOS (must be $0a)
@checkCsFC
*= $00FC ; org $00FC
!warn "CsFC padding = ", * - @checkCsFC
.end
!word $7fff ; how many blocks are on the device.
!byte $D7 ; specifics about the device (number of drives, read/write/format capability, etc)
!byte <Entrypoint_ProDOS ; entry point offset for ProDOS (must be $0a)

11
firmware/HDDv2/build.bat Normal file
View File

@ -0,0 +1,11 @@
@REM ACME only ever returns 0!
acme.exe hddrvr-v2.a65
@IF %ERRORLEVEL% NEQ 0 goto error
copy hddrvr-v2.bin ..\..\resource
@goto end
:error
@echo "ACME failed"
:end

View File

@ -0,0 +1,358 @@
;AppleWin : An Apple //e emulator for Windows
;
;Copyright (C) 1994-1996, Michael O'Brien
;Copyright (C) 1999-2001, Oliver Schmidt
;Copyright (C) 2002-2005, Tom Charlesworth
;Copyright (C) 2006-2012, Tom Charlesworth, Michael Pohoreski
;
;AppleWin is free software; you can redistribute it and/or modify
;it under the terms of the GNU General Public License as published by
;the Free Software Foundation; either version 2 of the License, or
;(at your option) any later version.
;
;AppleWin is distributed in the hope that it will be useful,
;but WITHOUT ANY WARRANTY; without even the implied warranty of
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;GNU General Public License for more details.
;
;You should have received a copy of the GNU General Public License
;along with AppleWin; if not, write to the Free Software
;Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
;
; Description: Firmware for harddisk card
;
; Author: Copyright (c) 2005, Robert Hoem
;
; Modified by Tom Charlesworth:
; . Updated so it can be assembled by ACME 0.97
; . Fixed so that ProDOS entrypoint is $c70a (26 Dev 2007) (Bug #12723)
; . Modified to support Apple Oasis' entrypoint: $c761 (8 Sept 2012) (Feature #5557)
; . Added support for SmartPort entrypoint (20 Oct 2012)
; - EG. "Prince of Persia (Original 3.5 floppy for IIc+).2mg"
; . GH#370 (Robert Hoem, 27 Oct 2016):
; . Added a check against open-apple during boot to route boot to slot 6
; . This happens after the first two blocks are loaded from the HD.
; . GH#319: SmartPort return address wrong when crossing page
; . GH#996: Make code slot-independent (so HDD controller card can go into any slot)
; . Moved the 512-byte block read into AppleWin's HDD emulation (to mirror the block write command)
; TODO:
; . Remove support for Entrypoint_Cs46 (old AppleWin) & Entrypoint_Cs61 (Apple Oasis)
; - provide a utility to convert these to use Entrypoint_ProDOS
; . Check SmartPort: Is it OK to trash Y and $42,..,$47 ?
;
!cpu 6502 ; Compatible with all Apple2's
!to "hddrvr-v2.bin", plain
!sl "hddrvr-v2.labels"
; constants
hd_execute = $c080
hd_status = $c081 ; b7=busy, b0=error
hd_command = $c082
hd_unitnum = $c083
hd_memblock = $c084
hd_diskblock = $c086
;hd_nextbyte = $c088 ; legacy read-only port (still supported by AppleWin)
hd_imgsizelo = $c089
hd_imgsizehi = $c08a
; Notes on accesses to I/O registers:
; . ROR ABS16,X and ROL ABS16,X - only used for $C081+s*$10 STATUS register:
; 6502: double read (old data), write (old data), write (new data). The writes are harmless as writes to STATUS are ignored.
; 65C02: double read (old data), write (new data). The write is harmless as writes to STATUS are ignored.
; . STA ABS16,X does a false-read. This is harmless for writable I/O registers, since the false-read has no side effect.
command = $42
unitnum = $43
memblock = $44
diskblock = $46
slot6 = $C600
OS = $0801
BUTTON0 = $C061
;======================================
!zone code
*= $0000 ; org $0000 - position-independent code, so doesn't matter (but the other fixed org positions need to be on the same page)
; The Autoboot rom will call this.
; This is also the entry point for such things as IN#7 and PR#7
start
; Autoboot and ProDOS look at the following few opcodes to detect block devices
; NB. $Cn07 should be $00 for a SmartPort Interface, but changing this means that it won't autoboot on ][, ][+ and unenhanced IIe.
; . ref: http://www.1000bit.it/support/manuali/apple/technotes/udsk/tn.udsk.2.html
lda #$20
lda #$00
lda #$03
lda #$3C
bne Bootstrap
Entrypoint_ProDOS ; $Cn0A - ProDOS entrypoint
sec
bcs Entrypoint
Entrypoint_SmartPort ; $Cn0D - SmartPort entrypoint
clc
Entrypoint ; $Cn0E - entrypoint?
bcs GetSlotInX ; C=1: GetSlotInX -> cmdproc
; C=0: fall through to SmartPort...
;======================================
; TODO: Is it OK to trash Y and $42,..,$47 ?
; Pre: C=0, X = Slot# << 4
SmartPort ; SmartPort -> GetSlotInX -> cmdproc
pla
sta $46
adc #3 ; Pre: C=0, Post: C=0 or 1
tay
pla
sta $47 ; ($46) = &cmd_hdr
adc #0
pha
tya
pha ; (sp).w += 3
ldy #1
lda ($46),y ; cmd
sta $42
iny
lda ($46),y ; param_l
sta $45
iny
lda ($46),y ; param_h
sta $46
ldy #1 ; skip paramLength (assume it's #$03)
lda ($45),y ; unit
sta $43
iny
lda ($45),y ; memblock_l
sta $44
iny
lda ($45),y ; memblock_h
pha
iny
lda ($45),y ; diskblock_l
pha
iny
bne SmartPort2
;======================================
; 2 unused bytes
@checkCs46
*= $0046 ; org $0046
!warn "Cs46 padding = ", * - @checkCs46
Entrypoint_Cs46 ; Old f/w 'cmdproc' entrypoint
; Keep this for any DOSMaster HDD images created with old AppleWin HDD f/w.
; DOSMaster hardcodes the entrypoint addr into its bootstrapping code:
; - So DOSMaster images are tied to the HDD's controller's f/w
sec
bcs Entrypoint ; or directly to GetSlotInX
;======================================
Bootstrap
; Lets check to see if there's an image ready
; Slot n, disk 1
clc
bcc GetSlotInX ; Post: X = Slot# << 4
Bootstrap2
lda #$00
sta hd_unitnum,x ; b7=0 => disk 1
sta hd_command,x
lda hd_execute,x
ror hd_status,x ; Post: C=0 or 1
bcc hdboot
; no image ready, boot diskette image instead
BootSlot6
jmp slot6
;======================================
; 2 unused bytes
@checkCs61
*= $0061 ; org $0061
!warn "Cs61 padding = ", * - @checkCs61
Entrypoint_Cs61 ; Apple Oasis HDD controller entrypoint
; Keep this for any DOSMaster HDD images created with Apple Oasis HDD f/w.
; DOSMaster hardcodes the entrypoint addr into its bootstrapping code:
; - So DOSMaster images are tied to the HDD's controller's f/w
sec
bcs Entrypoint ; or directly to GetSlotInX
;======================================
; image ready. Lets boot from it.
; we want to load block 1 from disk 1 to $800 then jump there
; Pre: X = Slot# << 4
; C = 0
hdboot
lda #$0
sta unitnum ; b7=0 => disk 1
sta memblock
sta diskblock
sta diskblock+1
lda #$8
sta memblock+1
lda #$1
sta command
bne cmdproc
hdboot2
bcs BootSlot6
bit BUTTON0 ; button 0 pressed?
bmi BootSlot6
; Pre: X = Slot# << 4
jmp OS
;======================================
SmartPort2
lda ($45),y ; diskblock_h
sta $47
pla
sta $46
pla
sta $45
sec
; fall through...
;======================================
; Pre:
; C=0 => via Bootstrap
; C=1 => via Entrypoint / SmartPort2
; Post:
; X = Slot# << 4
GetSlotInX
php
sei ; disable ints, in case an int handler races our $0000/RTS and stack accesses!
; NB. need RAM that's guaranteed to be both read & writeable:
; . can't use $0200-$BFFF, due to eg. RAMRD=0/RAMWRT=1 combination
; . can't use LC as ROM might be enabled.
; So use ZP (specifically $0000) as whatever the state of ALTZP, both read & write will be to the same physical memory location.
lda $00 ; save $00
ldx #$60 ; opcode RTS
stx $00
jsr $0000 ; RTS immediately (NB. can't use $FF58, since LC RAM may be switched in)
sta $00 ; restore $00
tsx
lda $0100,x ; $Cn
asl
asl
asl
asl
tax ; X=$n0
plp ; + restore int status
bcc Bootstrap2
; otherwise fall through for Entrypoint / SmartPort...
;--------------------------------------
; entry point for ProDOS' block driver
; simple really. Copy the command from $42..$47
; to our I/O ports then execute command
; Pre:
; C=0 => via Bootstrap (hdboot)
; C=1 => via GetSlotInX (eg. Entrypoint / SmartPort2)
; X = Slot# << 4
; Post:
; C = hd_status.b0
; A = result of hd_execute
; Read or write command
; X = Slot# << 4
; Y = command
; Status command
; X = low byte of disk size
; Y = high byte of disk size
cmdproc
php
lda command
sta hd_command,x
lda unitnum
sta hd_unitnum,x
lda memblock
sta hd_memblock,x
lda memblock+1
sta hd_memblock+1,x
lda diskblock
sta hd_diskblock,x
lda diskblock+1
sta hd_diskblock+1,x
lda hd_execute,x ; A = result of hd_execute (NB. instantaneous 512 byte r/w!)
- rol hd_status,x ; b7=busy doing DMA?
bcs -
plp ; restore C from start of cmdproc
bcs done
ror hd_status,x ; Post: C=0 or 1
lda #0
beq hdboot2
done
ror hd_status,x ; Post: C=0 or 1
ldy command ; Was it status
beq size ; yes, fill in the values
rts ; no, go home
size
pha ; Save result
ldy hd_imgsizehi,x ; Get high byte of size
lda hd_imgsizelo,x ; Get low byte of size
tax ; Transfer into X
pla ; Get back status call result
rts
;======================================
; 18 unused bytes
!zone data
; $CsFE = status bits (BAP p7-14)
; 7 = medium is removable
; 6 = device is interruptable
; 5-4 = number of volumes (0..3 means 1..4)
; 3 = device supports Format call
; 2 = device can be written to
; 1 = device can be read from (must be 1)
; 0 = device status can be read (must be 1)
; $C7 = Removable, Interruptable, #Volumes=1, Supports write/read/status
; $D7 = Removable, Interruptable, #Volumes=2, Supports write/read/status
; $BF = Removable, Interruptable, #Volumes=4, Supports format/write/read/status (KEGS / IIGS)
; datablock. This starts near the end of the firmware (at offset $FB)
;; data
@checkCsFB
*= $00FB ; org $00FB
!warn "CsFB padding = ", * - @checkCsFB
!byte $00 ; Smart port ID Type byte
!word $0000 ; how many blocks are on the device. Zero means use status call
!byte $D7 ; specifics about the device (number of drives, read/write/format capability, etc)
!byte <Entrypoint_ProDOS ; entry point offset for ProDOS (must be $0a)

Binary file not shown.

View File

@ -11,39 +11,97 @@
<p style="FONT-WEIGHT: bold">AppleWin can be driven from the command line as
follows:
</p>
-conf &lt;pathname&gt;<br>
Use an INI file for configuration instead of the Registry.<br>
Use this switch if you want to have multiple copies of AppleWin with different configurations, or don't want to use the Registry.<br><br>
-current-dir &lt;path&gt;<br>
This is guaranteed to be processed after all the image loading switches (eg. -d1, -h1, etc).<br>
Use this switch if you have a mix of (eg) -d1 and -h1 loading images from different folders, and you want to guarantee the current dir.<br><br>
-d1 &lt;pathname&gt;<br>
Start with a floppy disk in drive-1 (and auto power-on the Apple II)<br><br>
Start with a floppy disk in slot 6 drive-1 (and auto power-on the Apple II).<br>
NB. -s6d1 has the meaning same as -d1.<br><br>
-d2 &lt;pathname&gt;<br>
Start with a floppy disk in drive-2<br><br>
Start with a floppy disk in slot 6 drive-2.<br>
NB. -s6d2 has the meaning same as -d2.<br><br>
-s5d1 &lt;pathname&gt;<br>
Start with a floppy disk in slot 5 drive-1 (must be used with '-s5 diskii' or '-s5 diskii13').<br><br>
-s5d2 &lt;pathname&gt;<br>
Start with a floppy disk in slot 5 drive-2 (must be used with '-s5 diskii' or '-s5 diskii13').<br><br>
-h1 &lt;pathname&gt;<br>
Start with hard disk 1 plugged-in (and auto power-on the Apple II). NB. Hard disk controller card gets enabled.<br><br>
-h2 &lt;pathname&gt;<br>
Start with hard disk 2 plugged-in. NB. Hard disk controller card gets enabled.<br><br>
-s5h1 &lt;pathname&gt;<br>
Start with hard disk 1 plugged-in slot 5 (must be used with '-s5 hdc').<br><br>
-s5h2 &lt;pathname&gt;<br>
Start with hard disk 2 plugged-in slot 5 (must be used with '-s5 hdc').<br><br>
NB. For -d1,-d2,-s5d1,-s5d2,-h1,-h2,-s5h1,-s5h2, if pathname is "", then the disk is ejected or the hard disk is unplugged.<br><br>
-model &lt;apple2|apple2p|apple2jp|apple2e|apple2ee&gt;<br>
Select the machine model: Apple II, Apple II+, Apple II J-Plus, Apple //e, Enhanced Apple //e.<br><br>
-clock-multiplier &lt;value&gt;<br>
Where value is between 0.5 and 3.9, and is a base-clock multiplier, roughly mapping to 0.5MHz - 3.9MHz<br><br>
-s0 &lt;saturn|saturn64|saturn128&gt;<br>
Insert a Saturn 64K or Saturn 128K card into slot 0 in the Apple II or II+ machines (or similar clone).<br>
Where -s0 saturn is an alias for -s0 saturn128.<br><br>
-s3 &lt;saturn|saturn128&gt;<br>
Insert a Saturn 128K card into slot 3 in any Apple II machine.<br>
Use this configuration for Robocom Ltd's (Robo Systems') CAD software in combination with the Interface Module protection dongle in the Game I/O Connector.<br><br>
-s0 &lt;languagecard|lc&gt;<br>
Insert an Apple 16K Language Card into slot 0 in the original Apple II and use the F8 auto-start ROM.<br>
NB. The Apple II+ already defaults to having a Language Card, so this switch is not required.<br><br>
-s7 empty<br>
Remove the hard disk controller card from slot 7.<br>
Useful to allow a floppy disk to boot from slot 6, drive 1. Use in combination with -d1.<br><br>
-s&lt;N&gt; empty<br>
Remove any card from slot N (N=1-7).<br>
NB. '-s7 empty' is useful to allow a floppy disk to boot from slot 6, drive 1. Use in combination with -d1.<br>
NB. '-s6 empty' persists this state to the Registry and there's currently no GUI option to re-insert a Disk II controller card into slot 6. So you must use '-s6 diskii' to re-enable the card in slot 6.<br><br>
-s1 parallel<br>
Insert a parallel printer card into slot 1.<br><br>
-s2 ssc<br>
Insert a SSC into slot 2.<br><br>
-s3 vidhd<br>
Insert a VidHD card into slot 3.<br><br>
-s5 diskii<br>
-s6 diskii<br>
Insert a Disk II controller card into slot 5 or 6.<br><br>
-s5 diskii13<br>
-s6 diskii13<br>
Insert a Disk II controller card (with 13-sector firmware) into slot 5 or 6.<br><br>
-s7-empty-on-exit<br>
Remove the hard disk controller card from slot 7 on AppleWin exit.<br><br>
-s5 hdc<br>
-s7 hdc<br>
Insert a hard disk controller card into slot 5 or 7.<br><br>
-d1-disconnected, -d2-disconnected<br>
Disconnect drive-1 and/or drive-2 from the Disk II controller card in slot 6.<br><br>
-harddisknumblocks &lt;number of ProDOS blocks&gt;<br>
Set the number of blocks returned by a ProDOS status call. Use -harddisknumblocks 32767 to have the same autoexpanding behavior as older AppleWin versions.<br><br>
-no-nsc<br>
Remove the No-Slot clock (NSC).<br><br>
-r &lt;number of pages&gt;<br>
Emulate a RamWorks III card with 1 to 127 pages (each page is 64K, giving a max of 8MB) in the auxiliary slot in an Apple //e machine.<br><br>
-load-state &lt;savestate&gt;<br>
Load a save-state file<br>
NB. This takes precedent over the -d1,d2,h1,h2,s0,s7 and -r switches.<br><br>
-f<br>
Start in full-screen mode<br><br>
Load a save-state file (and auto power-on the Apple II).<br>
NB. This takes precedent over the -d1, -d2, -s#d#, -h1, -h2, s0-7, -model and -r switches.<br><br>
-f or -full-screen<br>
Start in full-screen mode.<br><br>
-no-full-screen<br>
Start in Windowed mode (default).<br><br>
-fs-height=&lt;best|nnnn&gt;<br>
Use to select a better resolution for full-screen mode.<br>
<ul>
<li>best: picks the highest resolution where the height is an integer multiple of (192*2)</li>
<li>nnnn: select a specific resolution with height=nnnn pixels</li>
</ul>
NB. This changes the display resolution (and restores on exit).<br><br>
-fs-width=&lt;nnnn&gt;<br>
Use in conjunction with -fs-height to select a better aspect ratio for full-screen mode.<br>
EG. for 4:3 aspect ratio on monitors that support it: -no-full-screen -fs-width=1600 -fs-height=1200<br><br>
NB. Combine with <em>-no-full-screen</em> to start in Windowed mode. Without this it'll just default to full-screen.<br>
NB. When switching to Windowed mode the default desktop resolution will be restored, and when switching back to full-screen mode this better resolution will again be used.<br><br>
-multimon<br>
At start-up, AppleWin will use the Registry's saved "Window x/y position" to position the AppleWin window correctly for the multiple monitors<br><br>
-rom &lt;file&gt;<br>
Use custom 12K ROM (at $D000) for Apple II machine, or 16K ROM (at $C000) for Apple //e machine.<br><br>
-f8rom &lt;file&gt;<br>
Use custom 2K ROM for any Apple II machine at [$F800..$FFFF]. &lt;file&gt; must be 2048 bytes long<br><br>
Use custom 2K ROM for any Apple II machine at [$F800..$FFFF]. &lt;file&gt; must be 2048 bytes long.<br><br>
-videorom &lt;file&gt;<br>
Use an alternate custom 2K video ROM for Apple II or II+ machines (but not clones).<br>
Use an alternate European or custom 4K, 8K or 16K (top 8K only) video ROM for the original or Enhanced //e (but not clones).<br><br>
@ -59,13 +117,29 @@
-hook-alt-tab<br>
By default the emulator doesn't hook ALT+TAB. Use this to allow Open Apple+TAB to be readable by the emulated machine.<br><br>
-hook-altgr-control<br>
By default the emulator doesn't suppress ALT GR's (Right Alt's) fake LEFT CONTROL. Use this to suppress this fake LEFT CONTROL to allow Closed Apple+CTRL+&lt;key&gt; to be readable by the emulated machine.<br>
NB. Suppressing this fake LEFT CONTROL seems to prevent international keyboards from being able to type certain keys.
<br><br>
By default the emulator doesn't suppress AltGr's (Right Alt's) fake LEFT CONTROL. Use this to suppress this fake LEFT CONTROL to allow Solid Apple+CTRL+&lt;key&gt; to be readable by the emulated machine.<br>
NB. Suppressing this fake LEFT CONTROL seems to prevent international keyboards from being able to type certain keys.<br><br>
-altgr-sends-wmchar<br>
Use this switch to allow Solid Apple (AltGr) to be used in combination with regular keys.<br>
When AltGr is pressed, Windows only sends a WM_CHAR message for (eg) international key codes; and so by default the emulator doesn't explicitly send a WM_CHAR message for regular keys when AltGr is being pressed.<br>
NB. Using this switch may prevent international keyboards from being able to type certain keys.<br><br>
-capslock=off<br>
Start with Caps Lock off.<br><br>
-left-alt-control-buttons<br>
Use Left Control & Left Alt for Open Apple & Solid Apple keys respectively.<br>
Caveat: Left Control + F2 will do the //e Ctrl+Open Apple+RESET (as Left Control is now both Ctrl and Open Apple!). A workaround is just to use the Right Control key.<br><br>
-right-alt-control-buttons<br>
Use Right Alt (AltGr) & Right Control for Open Apple & Solid Apple keys respectively.<br>
Caveat: Right Control + F2 will do the //e self test (as Right Control is now both Ctrl and Solid Apple!). A workaround is just to use the Left Control key.<br><br>
-swap-buttons<br>
Swap buttons 0 and 1 for all input devices.<br>
EG. the Windows keys used for Open Apple & Solid Apple keys, and the current device being used to emulate a joystick (keyboard, real joystick or mouse)<br><br>
-use-real-printer<br>
Enables Advanced configuration control to allow dumping to a real printer<br><br>
-noreg<br>
Disable registration of file extensions (.do/.dsk/.nib/.po)<br><br>
Disable registration of file extensions (.do/.dsk/.nib/.po/.woz)<br><br>
-memclear &lt;n&gt;<br>
Where n is [0..7]:
<ul>
@ -91,18 +165,75 @@
-alt-enter=&lt;toggle-full-screen|open-apple-enter&gt;<br>
Define the behavior of Alt+Enter:
<ul>
<li>Either: Toggle between windowed and full screen video modes (default).
<li>Or: Allow the emulated Apple II to read the Enter key state when Alt (Open Apple key) is pressed.
<li>Either: Toggle between windowed and full screen video modes (default).</li>
<li>Or: Allow the emulated Apple II to read the Enter key state when Alt (Open Apple key) is pressed.</li>
</ul>
-rgb-card-type &lt;apple|sl7|eve|feline&gt;<br>
<ul>
<li><i>apple</i> is Apple's Extended 80-Column Text/AppleColor Adaptor Card (default).</li>
<li><i>sl7</i> is Video-7's RGB-SL7 card.</li>
<ul>
<li>NB. Both these apple/sl7 cards support an extra foreground/background hi-res mode that can be triggered by AN3 switching, resulting in corrupt color graphics! See <a href="Troubleshooting.html">troubleshooting</a>.
</ul>
<li><i>eve/feline</i> are Le Chat Mauve variants.</li>
<ul>
<li>Eve is currently unsupported, so the behavior just defaults to 'apple' RGB card type.
<li>Feline differs from 'apple' card type in that it doesn't support the 160 color pixel mode (so falls back to 140 mode) and has a slightly different color palette.
</ul>
</ul>
Use in conjunction with the 'Color (RGB Card/Monitor)' video mode.<br><br>
-rgb-card-foreground &lt;n&gt;<br>
-rgb-card-background &lt;n&gt;<br>
Where n is [0..15]. Defaults are foreground=15(White) and background=0(Black).<br>
The only supported DIPSW colors are: Black=0, Blue=6, Orange=9, Green=12, White=15<br>
NB. Only supported by '-rgb-card-type &lt;apple|sl7&gt;'.<br>
Use in conjunction with the 'Color (RGB Card/Monitor)' video mode.<br><br>
-rgb-card-invert-bit7<br>
Force the RGB card to invert bit7 in MIX mode. Enables the correct rendering for Dragon Wars.<br>
Use in conjunction with the 'Color (RGB Card/Monitor)' video mode.<br><br>
-mac-lc-card-dlgr<br>
Support the DLGR display bug in the 'Apple IIe card for Mac LC'.<br>
NB. This switch only has an effect when in either "Color (Composite Idealized)" or "RGB Card/Monitor" video modes.<br><br>
-50hz<br>
Support 50Hz(PAL) video refresh rate and PAL 1.016MHz base CPU clock.<br><br>
-60hz<br>
Support 60Hz(NTSC) video refresh rate and NTSC 1.020MHz base CPU clock (default).<br><br>
-power-on<br>
Force a power-on.<br>
Use to auto power-on when not using -d1, -h1 or -load-state.<br><br>
-snes-max-alt-joy1 or -snes-max-alt-joy2<br>
Use alternate button mappings for the SNES MAX card. See <a href="cfg-input.html">Input Settings</a>.<br><br>
-snes-max-user-joy1 &lt;file.yaml&gt; or -snes-max-user-joy2 &lt;file.yaml&gt;<br>
Use a user specified button mappings file for the SNES MAX card.<br>
For some examples, see the supplied <i>controller_*.yaml</i> files in the <i>snesmax</i> folder.<br>
<br>
-wav-speaker &lt;file.wav&gt;<br>
Save the speaker audio to a .wav file.<br>
Warning: there's no file size limit, so it just keeps saving until AppleWin exits (~10MB per minute).<br>
<br>
Save the Mockingboard audio (but not speech) to a .wav file.<br>
-wav-mockingboard &lt;file.wav&gt;<br>
Warning: there's no file size limit, so it just keeps saving until AppleWin exits (~10MB per minute).<br>
<br>
<br>
<P style="FONT-WEIGHT: bold">Debug arguments:
</P>
-l or -log<br>
Enable logging. Creates an AppleWin.log file<br><br>
Enable logging. Creates an AppleWin.log file.<br><br>
-m<br>
Disable DirectSound support<br><br>
Disable DirectSound support.<br><br>
-no-printscreen-dlg<br>
Suppress the warning message-box if AppleWin fails to capture the PrintScreen key<br><br>
Suppress the warning message-box if AppleWin fails to capture the PrintScreen key.<br>
NB. There's now a "Don't show this message again" option on this message-box.
<br><br>
-screenshot-and-exit<br>
For testing. Use in combination with -load-state.<br><br>
-hdc-firmware-v1<br>
Force all attached hard disk controllers to use the old v1 firmware (as per pre-AppleWin 1.30.17).
<ul>
<li>NB. Switch likely to be removed after a few releases.</li>
</ul>
<br><br>
</body>
</html>

View File

@ -78,6 +78,10 @@
<param name="Name" value="Save-state Files">
<param name="Local" value="savestate.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Command line">
<param name="Local" value="CommandLine.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Sound">
<param name="Local" value="sound.html">
@ -101,10 +105,6 @@
<param name="Local" value="uthernet-wifi-workaround.html">
</OBJECT>
</UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Command line">
<param name="Local" value="CommandLine.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="AppleWin Configuration">
<param name="Local" value="configuration.html">
@ -195,6 +195,10 @@
<param name="Name" value="Breakpoints">
<param name="Local" value="dbg-breakpoints.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Bookmarks">
<param name="Local" value="dbg-bookmarks.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Configuration">
<param name="Local" value="dbg-configuration.html">
@ -211,7 +215,7 @@
<param name="Local" value="newsgroups.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Internet FTP Sites">
<param name="Name" value="Internet Sites">
<param name="Local" value="ftp.html">
</OBJECT>
<LI> <OBJECT type="text/sitemap">

View File

@ -10,6 +10,16 @@
<hr size="4">
<p style="FONT-WEIGHT: bold">Here is a list of issues and possible solutions:</p>
How to reset AppleWin back to the default settings:
<ul>
<li>Within the AppleWin install folder there is the file: DELREG.INF.</li>
<ul>
<li>Windows 10/11: From Explorer, right click on this file, then select: Install</li>
</ul>
<li>This will remove all AppleWin configuration from the Registry.</li>
</ul>
<br>
Uthernet network card not working.
<ul>
<li>There are problems when running with certain firewalls (eg. ZoneAlarm).
@ -19,6 +29,7 @@
</li>
</ul>
<br>
AppleWin doesn't startup.
<ul>
<li>It could be being blocked by your anti-virus software. There is a known problem with Constant Guard Protection Suite.
@ -27,5 +38,91 @@
</ul>
</li>
</ul>
<br>
When using a non-US (or UK) keyboard, certain keys can't be typed.
<ul>
<li>AltGr (or right Alt) needs to be used to type certain keys, eg:
<ul>
<li>'@' is AltGr+2 (for a Canadian-French keyboard).</li>
<li>'[' is AltGr+é (for an Italian keyboard).</li>
</ul>
</li>
<li>Some games or productivity software have an action based on the Open Apple (Alt) or Solid Apple (AltGr) keys, eg:
<ul>
<li>Lode Runner uses CTRL+@ to increase the lives.</li>
<li>AppleLogo // and AppleWorks 5.1 have problems when using an Italian keyboard.</li>
</ul>
</li>
<li>This dual function for AltGr (to both type a key and emulate Solid Apple) can cause problems such that the key (eg. '@') can never be typed.</li>
<li>The workaround is to use the `-no-hook-alt` command line switch and configure Joystick 1 = "Keyboard (numpad)"; and then use the '0' and '.' keys for Open/Solid Apple.</li>
</ul>
<br>
No Apple II speaker sound, but Mockingboard sound is working!
<ul>
<li>Check the Volume Control for the Speaker, under the <a href="cfg-sound.html">Configuration->Sound tab</a>.</li>
<li>Try installing the Realtek-specific audio driver supplied by ASUS (as opposed to the default Win10 driver).</li>
</ul>
<br>
Color (RGB Card/Monitor) and title compatibility issues:
<ul>
<li>Dragon Wars: double hi-res bit7 needs inverting, so use the -rgb-card-invert-bit7 command line switch.</li>
<li>Renegade: switches to 160x192 mode at the title screen and then B&W (at the title screen) after game play.</li>
<li>Apple's AppleColor card or Video7's RGB-SL7 card: corruption for titles/demos that accidentally switch to foreground/background hi-res mode, eg. French Touch DIGIDREAM demo.</li>
</ul>
<br>
Can't switch to 2x windowed mode:
<ul>
<li>If the resolution isn't high enough to support 2x windowed mode, then AppleWin will refuse to switch.</li>
<li>For different versions of Windows this is slightly different:</li>
<ul>
<li>Windows 7 requires: 1181 x 808</li>
<li>Windows 10 (1909) requires: 1181 x 818</li>
<li>Windows 11 (23H2) requires: 1177 x 805</li>
</ul>
</ul>
<br>
Can't set bookmark 0 in the debugger / CTRL+SHIFT+0 not working:
<img style="FLOAT: right;" src="img/Change Key Sequence.png" alt="Configuration settings" hspace="5" vspace="5">
<ul>
<li>Windows 7: From "Control Panel...":</li>
<ul>
<li>Windows 7: Change keyboards or other input methods -> 'Keyboards and Languages' tab -> Change Keyboards -> 'Advanced Key Settings' -> Change Key Sequence...</li>
</ul>
</ul>
<ul>
<li>Windows 10: From "Control Panel...":</li>
<ul>
<li>Windows 10: Typing -> Advanced Keyboard Settings -> Input language hot keys -> Change Key Sequence...</li>
</ul>
</ul>
<ul>
<li>Windows 11: From "Settings":</li>
<ul>
<li>Time & Language -> Typing -> Advanced Keyboard Settings -> Input language hot keys -> Change Key Sequence...</li>
</ul>
</ul>
<ul>
<li>Finally set "Switch Keyboard Layout" to "Not Assigned".</li>
</ul>
<br>
.po floppy image doesn't boot and may crash to the monitor.
<ul>
<li>Try renaming with a ".do" or ".dsk" extension.</li>
<li>Or you can use a utility like CiderPress to convert them to proper .po disks and then they will work correctly in emulators and with ProDOS block devices.</li>
<li> Details:</li>
<ul>
<li>".do" and ".po" specify a specific order.</li>
<li>These non-booting .po images are with DOS-order sectors.</li>
</ul>
</ul>
</body>
</html>

View File

@ -8,10 +8,10 @@
link="#008000" vlink="#008000">
<h2 style="COLOR: rgb(0,128,0)">Acknowledgements</h2>
<hr size="4">
<p>The team&nbsp;would like to thank the following people for their contributions:</p>
<p>The team would like to thank the following people for their contributions:</p>
<p style="MARGIN-LEFT: 40px">Brian Broker: This HTML / CHM help file</p>
<p style="MARGIN-LEFT: 40px">Thomas Stahl: TV emulation mode (up to v1.25.0.4)</p>
<p style="MARGIN-LEFT: 40px">Chris Foxwell: SSI263 phoneme samples</p>
<p style="MARGIN-LEFT: 40px">Thomas Stahl: Vertical blend in the 'Color (Composite Idealized)' video mode</p>
<p style="MARGIN-LEFT: 40px">Greg Hedger: SSI263 phoneme samples</p>
<p style="MARGIN-LEFT: 40px">Robert Hoem: Hard disk card (source module &amp; f/w)</p>
<p style="MARGIN-LEFT: 40px">VICE team: TFE, Z80, MC6821 PIA emulation modules (<a href="http://vice-emu.sourceforge.net/index.html#developers">http://vice-emu.sourceforge.net/index.html#developers</a>)<br>
- In particular, Spiro Trikaliotis for TFE, whose code Glenn Jones adapted for Uthernet support</p>
@ -21,5 +21,14 @@
<p style="MARGIN-LEFT: 40px">Bob Sander-Cederlof: Applesoft Symbols (<a href="http://www.txbobsc.com/scsc/scdocumentor/index.html">http://www.txbobsc.com/scsc/scdocumentor/</a> S-C DocuMentor: Applesoft)</p>
<p style="MARGIN-LEFT: 40px">David Schmidt: Updates to this help file</p>
<p style="MARGIN-LEFT: 40px">Mike Harvey, Founder &amp; Editor of Nibble Magazine: For providing us Apple fans the pleasure of eagerly awaiting each next month's issue to learn about the Apple! (<a href="http://www.nibblemagazine.com/">http://www.nibblemagazine.com/</a>)</p>
<p style="MARGIN-LEFT: 40px">Andrea Odetti: working on making the source code more portable & Uthernet II card support</p>
<p style="MARGIN-LEFT: 40px">Iván Izaguirre: Taiwanese Copam Base64A Apple II clone</p>
<p style="MARGIN-LEFT: 40px">Arnaud C: debugger suggestions and help with 6502/6522/video timing issues</p>
<p style="MARGIN-LEFT: 40px">Cyril Lambin: RGB card/monitor rendering, debugger improvements</p>
<p style="MARGIN-LEFT: 40px">Alex Lukacz: 4Play & SNES MAX card support</p>
<p style="MARGIN-LEFT: 40px">Matthew D'Asaro: Game I/O Controller copy-protection dongle support</p>
<p style="MARGIN-LEFT: 40px">Erik Struiksma: SNES MAX controller mapping files</p>
<p style="MARGIN-LEFT: 40px">John Leffingwell: LFSR logic for the CodeWriter copy-protection dongle</p>
<p style="MARGIN-LEFT: 40px">Hugh Hood: loan of his Robocom Interface Module dongles</p>
</body>
</html>

View File

@ -3,8 +3,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Advanced Settings</title></head>
<body style="background-color: rgb(255, 255, 255); font-family: verdana;" alink="#008000" link="#008000" vlink="#008000">
<h2 style="color: rgb(0, 128, 0);">Advanced Settings</h2>
<hr size="4"><img style="width: 344px; height: 460px; float: right;" src="img/advanced.png" alt="Advanced settings" hspace="5" vspace="5">
<p><strong>Save State File Name:</strong><br>
<hr size="4"><img style="width: 354px; height: 497px; float: right;" src="img/advanced.png" alt="Advanced settings" hspace="5" vspace="5">
<p><strong>Save State Filename:</strong><br>
This is the file name to use for save-state files. The default
directory is the same as where your AppleWin.exe program is stored.</p>
<p><strong>Save State on Exit:</strong><br>
@ -19,11 +20,7 @@ emulation by pressing the F11 key.</p>
Press this button to load the specified state file into
the emulator. &nbsp;You can also load the system state during
emulation by pressing the F12 key.</p>
<p><strong>Clone:</strong><br>
If you have specified Computer as 'Clone' on the main Configuration
page, then this drop-down menu can be used to specify the clone type.<br>
NB. Pravets 82, 8M and 8A are Bulgarian Apple II clones.<br>
</p>
<p><strong>Printer settings </strong>(Printer is emulated in slot 1)
</p>
<p style="margin-left: 40px;"><strong>Printer dump filename:<br>
@ -60,7 +57,21 @@ disable appending when dumping to a real printer.)
</strong>When printing is started, a printer file is created and it is
closed either after the specified time expires, or when
the emulator is reset. This setting is emulation speed dependent.
</p>
</p>
<p><strong>Clone:</strong><br>
If you have specified Computer as 'Clone' on the main Configuration
page, then this drop-down menu can be used to specify the clone type.<br>
NB. Pravets 82, 8M and 8A are Bulgarian Apple II clones;
TK3000 is a Brazilian //e clone;
Base 64A is a Taiwanese Apple II clone.<br>
<ul>
<li>Pravets 8A: Use F10 for the Pravets Caps Lock (and the PC's Caps Lock key controls Cyrillic/Latin lock).
<li>TK3000: Use Scroll Lock for the 'mode' key. Use to switch between standard Apple II and accented characters.
<li>Base 64A: Use Delete for the 'F2' key (eg. press F2, release F2 then press a key to auto-type a BASIC keyword).
</ul>
</p>
<p><strong>The Freeze's non-autostart F8 rom:</strong><br>
If you have specified Computer as 'Apple ][' or 'Apple ][+' on the main
Configuration page, then you will be able to enable this setting.
@ -68,4 +79,19 @@ The Freeze F8 rom is a hacker's rom that replaces the normal 2K rom at
$F800. <a href="cfg-advanced-freeze-rom.html">Here's the
original release note</a>
</p>
</body></html>
<p><strong>Game I/O Connector:</strong><br>
From the drop-down menu, select a device to use in the internal Game I/O Connector.
Supported devices are:
<ul>
<li> Empty
<li> Southwestern Data Systems' datakey - SpeedStar (copy protection dongle)
<li> Dynatech Microsoftware / Cortechs Corp's protection key - CodeWriter (copy protection dongle)
<li> Robocom Ltd's interface module - Robo 500/1000/1500 & RoboCAD 1/2 (copy protection dongle)
</ul>
NB. Copy protection dongles can interfere with joysticks (eg. buttons may be hardwired to a fixed state), so only use dongles with the intended software.<br>
NB. Copy protection dongles can interfere with RGB cards (eg. unexpected video modes may get selected).<br>
NB. For Apple II/II+ models, when a joystick is selected (from the <a href="cfg-input.html">Input</a> tab), then there is also an implicit joystick connected at the same time as the device selected here.
</p>
</body></html>

View File

@ -8,7 +8,7 @@
link="#008000" vlink="#008000">
<h2 style="COLOR: rgb(0,128,0)">Configuration Settings</h2>
<hr size="4">
<img style="FLOAT: right; WIDTH: 344px; HEIGHT: 460px" src="img/config.png" alt="Configuration settings"
<img style="FLOAT: right; WIDTH: 354px; HEIGHT: 497px" src="img/config.png" alt="Configuration settings"
hspace="5" vspace="5">
<strong>Model:</strong><br>
@ -18,6 +18,7 @@
<ul>
<li>Apple ][ : 48K non-autostarting, Integer BASIC, no lower-case, no 80-column, 6502 CPU
<li>Apple ][+ : 64K autostarting, Applesoft BASIC version of the Apple ][
<li>Apple ][ J-Plus : 64K autostarting, Applesoft BASIC, Japanese version of the Apple ][+
<li>Apple //e : 128K machine, lower-case, 80-column, 6502 CPU</li>
<li>Enhanced Apple //e : 128K machine, lower-case, 80-column, 65C02 CPU</li>
<li>Clone (specific model selectable from Advanced page)</li>
@ -33,12 +34,17 @@
video emulation to be used for the emulator. The differences are
discussed below.<br>
<ul>
<li><strong>Monochrome (custom) :</strong>&nbsp;This mode emulates a monochrome
monitor. You can choose your monochrome color from the <em>Monochrome Color</em>
button described below.
<li><strong>Color Monitor :</strong>&nbsp;This mode emulates a standard color monitor.
<li><strong>B&W TV :</strong>&nbsp;This mode emulates an NTSC black and white TV.
<li><strong>Monochrome (custom) :</strong>&nbsp;This mode emulates a monochrome monitor.<br>
You can choose your monochrome color from the <em>Monochrome Color</em> button described below.
<li><strong>Color (Composite Idealized) :</strong>&nbsp;This mode emulates an <i>idealized</i> composite color monitor.
<br>Text is sharp like a white monochrome monitor. Color graphics has only 16 colors (with no blurring or ringing). This is the only mode that supports vertical blend.
<li><strong>Color (RGB Card/Monitor) :</strong>&nbsp;This mode emulates a standard RGB card and monitor.
<br>Text is sharp like a white monochrome monitor. Color graphics has only 16 colors (with no blurring or ringing). Double hi-res is 140x192 chunky pixels (or software selectable as: B&W or mixed Color/B&W). From the <a href="CommandLine.html">command line</a> you can specify the RGB card, the default is the Extended 80-Column Text/AppleColor Adaptor Card. Some double hi-res titles may have compatibility issues. See <a href="Troubleshooting.html">troubleshooting</a>.
<li><strong>Color (Composite Monitor) :</strong>&nbsp;This mode emulates a standard NTSC (or PAL) color monitor.
<br>Text is sharp, but contains color artifacts. Color graphics has visible alternating color and black pixels.
<li><strong>Color TV :</strong>&nbsp;This mode emulates an NTSC color TV.
<br>All text and color graphics modes are blurry and have visible ringing.
<li><strong>B&W TV :</strong>&nbsp;This mode emulates an NTSC black and white TV.
<li><strong>Monochrome (Amber/Green/White) :</strong>&nbsp;Monochrome with specified color.
</ul>
@ -46,14 +52,25 @@
This is the color to use when you choose a monochrome video mode.<br>
<br>
<strong>50% Scan line:</strong><br>
<strong>50% Scan lines:</strong><br>
Only draw alternate scanline (for better monitor authenticity).<br>
<br>
<strong>Vertical blend:</strong><br>
When video mode is 'Color (Composite Idealized)' then vertically blend the hi-res screen.<br>
<br>
<strong>Full-Screen: Show drive/keyboard status:</strong><br>
When in full-screen mode, show floppy (activity and track) and harddisk status (activity); keyboard caps-lock status and if emulation is paused.<br>
<br>
<strong>VidHD in slot 3</strong><br>
Insert a VidHD card into slot 3 (which can co-exist with an 80-column card in the Apple //e's AUX slot).<br>
Allows all Apple II models to support the IIgs' Super Hi-Res (SHR) video modes and is supported by eg. <a href="https://archive.org/details/TotalReplay">Total Replay</a>.<br>
<br>
<hr>
<strong>Serial Port:</strong><br>
This option will remap the emulated Apple's serial port to your PC's serial port (or TCP port 1977).<br>
See <a href="card-ssc.html">Super Serial Card</a> for more details.<br>
@ -61,7 +78,7 @@
<strong>Ethernet Settings...:</strong><br>
This allows to choose which network interface card (NIC) you want to
use with the Uthernet card.<br>
use with the Uthernet or Uthernet II card.<br>
<br>
<strong>Emulation Speed Control:</strong><br>
@ -71,6 +88,11 @@
processor speed from half-speed to as fast as your PC can emulate.<br>
<br>
<strong>50Hz video:</strong><br>
When checked, this option will run the emulated machine with a 50Hz(PAL) video refresh rate.
The default is unchecked, for 60Hz(NTSC).<br>
<br>
<strong>Benchmark Emulator:</strong><br>
This will run a benchmark test that will show how fast your PC can emulate an
Apple //e system with this emulator. In order to run the benchmark, the

View File

@ -6,29 +6,42 @@
</head>
<body style="background-color: rgb(255, 255, 255); font-family: verdana;" alink="#008000" link="#008000" vlink="#008000">
<h2 style="color: rgb(0, 128, 0);">Disk Settings</h2>
<hr size="4"><img style="width: 344px; height: 460px; float: right;" src="img/disk.png" alt="Disk settings" hspace="5" vspace="5">
<hr size="4"><img style="width: 354px; height: 497px; float: right;" src="img/disk.png" alt="Disk settings" hspace="5" vspace="5">
<h3>Floppy Controller Settings:</h3>
<p><strong>Disk Access Speed:</strong><br>
<p><strong>Enhanced disk access speed:</strong><br>
Here you can choose the speed at which the system can access
an emulated floppy disk drive.
By default, you would want "Enhanced Speed" so that data can
be accessed as fast as possible. However, it is also possible that
certain programs might depend on the "Authentic Speed" to function
properly. This is the speed at which the real hardware
would&nbsp;access data from your drives.
would access data from your drives.
</p>
<p><strong>Disk 1/2 drop-down menus:</strong><br>
These menus allow you to select floppy disk images (.dsk files) to
'insert' into the
<p><strong>Show status:</strong><br>
In 2x windowed-mode, optionally show the Track and Sector values for Drives 1 and 2 (for any Disk II cards in slots 5 and/or 6).
Hovering over this status will show a tooltip with both decimal and hexadecimal values, and the track includes the full fractional quarter track value too.
<p><strong>Disk 1/2 drop-down menus (slot 6):</strong><br>
These menus allow you to select floppy disk images to 'insert' into the
emulated floppy drives 1 and 2. This can also be done during emulation by <a href="toolbar.html">using the toolbar</a> or using the F3/F4 keys. Diskettes can be swapped by pressing F5 during emulation. You can also eject images from this menu.
</p>
<p><strong>Enable Disk II controller in slot 5:</strong><br>
A floppy controller card can be plugged into slot 5 by checking this box.
</p>
<p><strong>Disk 1/2 drop-down menus (slot 5):</strong><br>
You can select floppy disk images to 'insert' into the
emulated floppy drives 1 and 2.
</p>
<br>
<h3>Hard disk Controller Settings:</h3>
<p><strong>Enable hard disk controller in slot 7:</strong><br>
A hard disk controller (or interface) card can be plugged in to slot 7 by checking this box.
A hard disk controller (or interface) card can be plugged into slot 7 by checking this box.
See <a href="ddi-harddisk.html">Hard disk Images</a> for more details.
</p>
@ -41,8 +54,10 @@ WARNING! If done during image access this could result in undefined behavior (eg
These menus allow you to select hard disk images (eg. .hdv files) to
connect to the emulated hard disk controller card. You can also unplug images from this menu.
</p>
<br>
<p><strong>Path to CiderPress:</strong><br>
<p><strong>CiderPress path:</strong><br>
Use this to specify where CiderPress is installed.<br>
The right mouse button context menu on either of the drive icons allows you to open CiderPress with the image in the drive.
</p>

View File

@ -13,7 +13,7 @@
<h2 style="color: rgb(0, 128, 0);">Input Settings</h2>
<hr size="4"><img style="width: 344px; height: 460px; float: right;" src="img/input.png" alt="Input settings" hspace="5" vspace="5">
<hr size="4"><img style="width: 354px; height: 497px; float: right;" src="img/input.png" alt="Input settings" hspace="5" vspace="5">
<strong>Joystick Control:</strong><br>
These options allow you to configure up to two joysticks attached to
@ -33,10 +33,29 @@ then you should leave these values at 0.</li>
<li>When cursor keys are used for joystick emulation <strong>and</strong> are allowed to be read from the keyboard, then some games won't work correctly (eg. Lode Runner).</li>
<li>When cursor keys are blocked from being read from the keyboard, then simple command-line cursor editing in AppleSoft won't work.</li>
</ul>
<li>Swap 0/1: Swap buttons 0 and 1 for all input devices.</li>
<li>Auto-fire (all 3 buttons): For each button pressed, the button's state will be toggled when read.</li>
<li>Keyboard auto-centering: When keys used for joystick emulation are released then the joystick will return to the central position.</li>
</ul>
<strong>4Play Joystick card:</strong><br>
On real hardware this card allows up to 4 Atari 9-pin joysticks to be connected.<br>
Under emulation, the first 2 Windows-detected controllers will be used, and then for joysticks 3 and 4, use keys: ESDF+ZX and IJKL+NM. Note these keys will also be readable from the keyboard.<br>
<li>The card can be configured in slots 3, 4 or 5.
<li>Since it only uses the slot's DEVICE SELECT space ($C0Bx for slot 3) then it can co-exist with an 80-column card in the Apple //e's AUX slot. NB. For a real PAL Apple //e, then a slot riser card is required for it to fit.<br>
See Lukazi's <a href="https://lukazi.blogspot.com/2016/04/apple-ii-4play-joystick-card.html">4Play card</a> and <a href="https://lukazi.blogspot.com/2017/08/apple-ii-4play-joystick-card-software.html">4Play card software</a> blogs for more information.<br>
<br>
<strong>SNES MAX card:</strong><br>
On real hardware this card allows up to 2 SNES controllers to be connected and all 12 buttons can be read.<br>
Under emulation, the first 2 Windows-detected controllers will be used, ideally with 12 (or more) buttons eg. Logitech F310, PlayStation Dualshock 4, DualSense. Note that for some controllers (eg. 8BitDo NES30 Pro) the buttons need remapping, so use the command line switches -snes-max-alt-joy1 or -snes-max-alt-joy2 to remap.<br>
<li>The card can be configured in slots 3, 4 or 5.
<li>Since it only uses the slot's DEVICE SELECT space ($C0Bx for slot 3) then it can co-exist with an 80-column card in the Apple //e's AUX slot. NB. This card is small, so no slot riser card is required.<br>
See Lukazi's <a href="https://lukazi.blogspot.com/2021/06/game-controller-snes-max-snes.html">SNES MAX</a> blog for more information.<br>
<br>
<br>
<hr>
<strong>Scroll Lock acts as toggle for full-speed CPU:</strong><br>
<ul>
@ -49,13 +68,13 @@ then you should leave these values at 0.</li>
<ul>
<li>Disables joystick emulation with mouse.</li>
<li>Disables Mockingboard/Phasor in slot 4.</li>
<li>Show crosshairs in window's frame:</li>
<li>Show cross-hairs in window's frame:</li>
<ul>
<li>Configure whether you want crosshairs or not</li>
<li>Configure whether you want cross-hairs or not</li>
</ul>
<li>Restrict mouse to Apple window:</li>
<ul>
<li>Resticting is useful for paint applications</li>
<li>Restricting is useful for paint applications</li>
<li>When unrestricted, the emulated mouse is fully integrated with the Window desktop:
moving in and out of the AppleWin window will switch between Windows' and the Apple's mouse cursor.</li>
<li>NB. Even when unrestricted, you won't be able to move the mouse outside the Apple window for GEOS. This is not a bug.</li>

View File

@ -13,7 +13,7 @@
<h2 style="color: rgb(0, 128, 0);">Sound Settings</h2>
<hr size="4"><img style="width: 344px; height: 460px; float: right;" src="img/sound.png" alt="Sound settings" hspace="5" vspace="5"><strong>Sound:</strong><br>
<hr size="4"><img style="width: 354px; height: 497px; float: right;" src="img/sound.png" alt="Sound settings" hspace="5" vspace="5"><strong>Sound:</strong><br>
This option allows you to choose how sound is output for the
system.&nbsp;Your choices are:<br>
@ -31,16 +31,16 @@ levels of the built-in Apple //e speaker and/or an optional
Mockingboard or Phasor speaker.<br>
<br>
<strong>Mockingboard/Phasor Control:</strong><br>
<strong>Sound card selection:</strong><br>
These options allow you to either enable a pair of Mockingboard sound
cards in slots 4 and 5, or enable a Phasor sound card in slot 4, or simply disable any
external sound card for the emulated system.<br>
These options allow you to select the type of Apple II sound card in either slot 4 and/or slot 5.
<br>
<strong>SAM:</strong><br>
SAM (Software Automatic Mouth) is an 8-bit DAC card than can be enabled in slot 5.
Available sound cards are:
<ul>
<li>Mockingboard C
<li>Phasor
<li>SAM (Software Automatic Mouth) - an 8-bit DAC card
</ul>
</body>
</html>

View File

@ -11,16 +11,18 @@
<hr size="4">
<h3>Clock:</h3>
<p>AppleWin emulates a No-Slot clock (aka NSC).</p>
<p>This is a chip (a Dallas SmartWatch DS1216) that sits under one of the 28-pin ROM chips in the Apple II.<br>
No hardware configuration is required: this chip is always present, but won't interfere with emulation when not in use.
<p>This is a chip (a Dallas SmartWatch DS1216) that sits under one of the 28-pin (or 24-pin) ROM chips in the Apple II.<br>
No hardware configuration is required: this chip is always present (unless -no-nsc is used), but won't interfere with system operation when not in use.
</p>
<p>It requires a software driver to be installed (for DOS and ProDOS). This driver then emulates the Thunderclock card.</p>
<p>Here's a summary of NSC/ROM chip locations and which drivers work:</p>
<br>
<p>For the <strong>Apple //e</strong>, here's a summary of NSC/ROM chip locations and which drivers work:</p>
<ul>
<li>"CD" ROM socket: C000-DFFF (internal) ROM space - all drivers work</li>
<li>"EF" ROM socket: E000-FFFF ROM space - never seen any drivers use this space</li>
<li>"CF" ROM socket: C000-FFFF (internal) ROM space - all drivers work</li>
<li>Slot ROM socket: Cs00-CsFF (slot) ROM space - NS.CLOCK.SYSTEM works</li>
<li>"CD" ROM socket: $C000-DFFF (internal) ROM space - all drivers work</li>
<li>"EF" ROM socket: $E000-FFFF ROM space - never seen any drivers use this space</li>
<li>"CF" ROM socket: $C000-FFFF (internal) ROM space - all drivers work</li>
<li>Slot ROM socket: $Cs00-CsFF (slot) ROM space - NS.CLOCK.SYSTEM works</li>
</ul>
<p>Here are the drivers and ROM pages they check:</p>
@ -28,8 +30,21 @@
<li>ProDOS "SWU.SYSTEM" - internal C3</li>
<li>ProDOS "NS.CLOCK.SYSTEM" - internal C3 C8 / external C1-C7</li>
<li>GEOS "NoSlot Clock" - internal C8</li>
<li>ProDOS-8 v2.5.0 "NoSlotClk.IIe" - internal C3 (currently 65C02 only)</li>
</ul>
<br>
<p>For the <strong>Apple II/II+</strong>, here's a summary of NSC/ROM chip locations and driver information:</p>
<ul>
<li>"F8" ROM socket: $F800-FFFF (internal) ROM space - ProDOS-8 v2.5.0a8 (not currently working)</li>
</ul>
<p>Here are the drivers and ROM pages they check:</p>
<ul>
<li>ProDOS-8 v2.5.0 "NOSLOTCLK.II" - internal F8</li>
</ul>
<br>
<p><strong>NOTE: </strong>For ProDOS, the load order of drivers is important:</p>
<p>Some .SYSTEM drivers will <strong>not</strong> chain-load the next driver.<br>
NS.CLOCK.SYSTEM does, so ensure this is the first one ProDOS finds,

View File

@ -1,35 +1,20 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>AppleWin Configuration</title>
</head>
<body style="background-color: rgb(255, 255, 255); font-family: verdana;" alink="#008000" link="#008000" vlink="#008000">
<h2 style="color: rgb(0, 128, 0);">AppleWin Configuration</h2>
<hr size="4">
<p>Select one of the following topics: </p>
<ul>
<li><a href="cfg-config.html">Configuration
Settings</a></li>
<li><a href="cfg-config.html">Configuration Settings</a></li>
<li><a href="cfg-input.html">Input Settings</a></li>
<li><a href="cfg-sound.html">Sound Settings</a></li>
<li><a href="cfg-savestate.html">Save-State Settings</a></li>
<li><a href="cfg-disk.html">Disk/Drive Settings</a></li>
<li><a href="cfg-disk.html">Disk Settings</a></li>
<li><a href="cfg-advanced.html">Advanced Settings</a></li>
</ul>
</body>
</html>

127
help/dbg-bookmarks.html Normal file
View File

@ -0,0 +1,127 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>AppleWin Debugger Tutorial</title>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
</head>
<body style="DIRECTION: ltr" lang="en-US">
<h1>Bookmarks</h1>
<p>Bookmarks allow you to "tag" an address and consequently jump back to them.<br>
They appear as a number with a circle around them between where address and opcodes are listed (where the : separator is).
</p>
<img src="img/debugger-bookmarks-annotated.png" hspace="5" vspace="5">
<br>
<p><font size="4"><b>Notes</b>:</font></p>
<ul>
<li>Set a bookmark at the current disassembly cursor, use Ctrl-Shift-#, ie:
<ul>
<li>Ctrl-Shift-0 set bookmark 0 (by default Windows blocks this key sequence - see <a href="Troubleshooting.html">Troubleshooting</a> to resolve this)
<li>Ctrl-Shift-1 set bookmark 1
<li>Ctrl-Shift-2 set bookmark 2
<li>...
<li>Ctrl-Shift-9 set bookmark 9
</ul>
</li>
<br>
<li>To jump to an existing bookmark, if it exists, press Ctrl-#, ie:
<ul>
<li>Ctrl-0 to jump to bookmark 0
<li>Ctrl-1 to jump to bookmark 1
<li>Ctrl-2 to jump to bookmark 2
<li>...
<li>Ctrl-9 to jump to bookmark 9
</ul>
</li>
<br>
<li>NB.
<ul>
<li>Bookmarks can appear in any order that you set - not just contiguous.
<li>An address can only have ONE bookmark assigned to it. If you try setting a new bookmark over an existing one, the old one will become free for use.
</ul>
</li>
</ul>
<p>
</p>
<p><font size="4"><b>Commands to manipulate bookmarks:</b></font></p>
<table border="1" cellpadding="2" cellspacing="0" width="75%">
<COLGROUP>
<col width="64">
<col width="192">
<tbody>
<tr bgcolor="#000000">
<td width="25%">
<p><font color="#ffffff"><b>Command</b></font></p>
</td>
<td>
<p><font color="#ffffff"><b>Description</b></font></p>
</td>
</tr>
<tr>
<td width="25%">
<p>help bookmarks</p>
</td>
<td>
<p>Lists all bookmark related commands</p>
</td>
</tr>
<tr>
<td width="25%">
<p>help bma</p>
</td>
<td>
<p>Lists specific help about the bma command</p>
</td>
</tr>
<tr>
<td width="25%">
<p>bma &lt;address|label&gt;</p>
</td>
<td>
<p>Add a bookmark at an address or label</p>
</td>
</tr>
<tr>
<td width="25%">
<p>bmc #</p>
</td>
<td>
<p>Clear a specific bookmarks, for example 'bmc 1' clears bookmark 1</p>
</td>
</tr>
<tr>
<td width="25%">
<p>bmc *</p>
</td>
<td>
<p>Clears all bookmarks</p>
</td>
</tr>
<tr>
<td width="25%">
<p>bml</p>
</td>
<td>
<p>Lists all boommarks</p>
</td>
</tr>
<tr>
<td width="25%">
<p>bmsave</p>
</td>
<td>
<p>Not implemented yet</p>
</td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -51,13 +51,9 @@ BPX address[,len]<br>
BPX [op] symbol</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add
Breakpoint trigger to stop executing when the PC is within the range of
the Address, Symbol, or Expression. i.e. Range is: [addr,addr+len)<br>
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger to stop executing when the PC is within the range of the Address, Symbol, or Expression. i.e. Range is: [addr,addr+len)<br>
Default length is 1.<br>
Default comparision operator is equal =</span></i></p>
Default comparison operator is equal =</span></i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
@ -65,91 +61,121 @@ Default comparision operator is equal
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BP</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Currently
an Alias for BPX.<br>
(In a future version, will also support Loading and Saving of
breakpoints.)</span></i></p>
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Currently an Alias for BPX.<br>
(In a future version, will also support Loading and Saving of breakpoints.)</span></i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPM
address[,len]</span></b></font></font></p>
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPM address[,len]</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add
Breakpoint trigger when memory is accessed by 6502.</span></i></p>
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger when memory is accessed by 6502.</span></i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR
reg [op] value</span></b></font></font></p>
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPMR address[,len]</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add
Breakpoint trigger when Registers reg
value is compared to the Value.</span></i></p>
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger when memory is read by 6502.</span></i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPMW address[,len]</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger when memory is written by 6502.</span></i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR reg [op] value</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger when Registers reg value is compared to the Value.</span></i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPV vpos[,len]</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Add Breakpoint trigger when video-scanner's vertical position matches vpos. (NB. Auto-disable when hit.)</span></i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPD</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Disable
Breakpoint (grayed out).</span></i></p>
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Disable Breakpoint (grayed out).</span></i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPE</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Enable
Breakpoint (colored red).</span></i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPC
#</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Clear
specified Breakpoint.<br>
Note: The asterisk * may be used to clear all
breakpoints.</span></i></p>
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Enable Breakpoint (colored red).</span></i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPC #</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Clear specified Breakpoint.<br>
Note: The asterisk * may be used to clear all breakpoints.</span></i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPL</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">List
Breakpoints.</span></i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPIO</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">(In
a future version, will add Breakpoint trigger on memory read or write.)</span></i></p>
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">List Breakpoints.</span></i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPIO</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">(In a future version, will add Breakpoint trigger on memory read or write.)</span></i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPP</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">(In
a future version, will add Breakpoint trigger on specific flag cleared
or set.)</span></i></p>
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">(In a future version, will add Breakpoint trigger on specific flag cleared or set.)</span></i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRK [0|1|2|3|all] [on|off]</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Break on BRK or Invalid 1-3 byte opcodes</span></i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRKOP [opcode]</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Break on Opcode</span></i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRKINT [on|off]</span></b></font></font></p>
</td>
<td width="75%">
<p><i><span style="BACKGROUND: 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">Break on Interrupt</span></i></p>
</td>
</tr>
</tbody>
@ -359,29 +385,74 @@ or set.)</span></i></p>
</tr>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR
A 0</span></b></font></font></p>
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR A 0</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p><font color="#ffffff"><i>Adds Breakpoint when Accumulator is zero.</i></font></p>
<p><font color="#ffffff"><i>Add Breakpoint when Accumulator is zero.</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR
A ! 0</span></b></font></font></p>
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR A ! 0</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p><font color="#ffffff"><i>Adds Breakpoint when Accumulator is <b>not</b> zero.</i></font></p>
<p><font color="#ffffff"><i>Add Breakpoint when Accumulator is <b>not</b> zero.</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR
S &lt; 1FF</span></b></font></font></p>
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPR S &lt; 1FF</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p><font color="#ffffff"><i>Adds Breakpoint when Stack has had something pushed onto it.</i></font></p>
<p><font color="#ffffff"><i>Add Breakpoint when Stack has had something pushed onto it.</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BPV A0</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p><font color="#ffffff"><i>Add Breakpoint when video-scanner is at line 160 ($A0) which is the start of the MIXED area.</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRK ON</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p><font color="#ffffff"><i>Break execution when the opcode to be executed is $00 (ie. BRK).</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRK ALL ON</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p><font color="#ffffff"><i>Break execution when the opcode to be executed is $00 (ie. BRK) or any Invalid opcode.</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRK 0 OFF</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p><font color="#ffffff"><i>Disable breaking execution when the opcode to be executed is $00 (ie. BRK).</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRKOP 6C</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p><font color="#ffffff"><i>Break execution when the opcode to be executed is $6C (ie. JMP (ABS)).</i></font></p>
</td>
</tr>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">BRKINT ON</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p><font color="#ffffff"><i>Break execution just after an interrupt occurs.</i></font></p>
</td>
</tr>
</tbody>

View File

@ -229,7 +229,11 @@ MODE 2</span></b></font></font></p>
<p>
You can run custom batch or script files that contain debugger commands.&nbsp;
Scripts files do not echo their input; to print a string to the output console
window, use the <b>ECHO</b> command.
window, use the <b>ECHO</b> command. NB. When AppleWin initially starts-up, it
will attempt to auto-run '<b>DebuggerAutoRun.txt</b>' (searching starts in the "Current Directory"[1], otherwise in the same folder
as AppleWin.exe).</br>
</br>
[1] "Current Directory" is implicitly set when inserting disk/harddisk images and ultimately by the command line switch: -current-dir &lt;path&gt;.
</p>
<br>
<table border="0" cellpadding="2" cellspacing="0" width="80%">

View File

@ -98,7 +98,7 @@
</tr>
</tbody>
</table>
<p><font size="4"><b>Examples</b>:</font></p>
<p><font size="3"><b>Examples</b>:</font></p>
<table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="90%">
<COLGROUP>
<col width="64">
@ -151,6 +151,142 @@ FF0A</span></b></font></font></p>
</tbody>
</table>
<br>
<h3>Zero-page Watches</h3>
<p>Add a zero-page watch at the indirect address (nn).</p>
<table border="0" cellpadding="2" cellspacing="0" width="75%">
<COLGROUP>
<col width="64">
<col width="192">
<tbody>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#ffffff"><b>Command</b></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p style="FONT-STYLE: normal"><font color="#ffffff"><b>Effect</b></font></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>ZPA (or ZP) nn</b></font></font></p>
</td>
<td width="75%">
<p><i>Add/Update address to next zero page pointer</i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>ZPA (or ZP) # nn</b></font></font></p>
</td>
<td width="75%">
<p><i>Add/Update address to specific zero page pointer</i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>ZPC #</b></font></font></p>
</td>
<td width="75%">
<p><i>Clear (remove) zero page pointer</i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>ZPD #</b></font></font></p>
</td>
<td width="75%">
<p><i>Disable zero page pointer - it is still in the list, just not active</i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>ZPE #</b></font></font></p>
</td>
<td width="75%">
<p><i>(Re)Enable disabled zero page pointer</i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>ZPL</b></font></font></p>
</td>
<td width="75%">
<p><i>List all zero page pointers</i></p>
</td>
</tr>
</tbody>
</table>
<br>
<h3>Memory Watches</h3>
<p>Add a 16-bit memory watch at the 16-bit address nnnn.<br>
NB. For 'WA # v': specifying 'v' instead of an address will watch the video scanner.</p>
<table border="0" cellpadding="2" cellspacing="0" width="75%">
<COLGROUP>
<col width="64">
<col width="192">
<tbody>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="25%">
<p><font color="#ffffff"><b>Command</b></font></p>
</td>
<td bgcolor="#000000" width="75%">
<p style="FONT-STYLE: normal"><font color="#ffffff"><b>Effect</b></font></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>WA (or W) nnnn|symbol</b></font></font></p>
</td>
<td width="75%">
<p><i>Add/Update address or symbol to next watch</i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>WA (or W) # nnnn|symbol|v</b></font></font></p>
</td>
<td width="75%">
<p><i>Add/Update address or symbol to specific watch</i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>WC #</b></font></font></p>
</td>
<td width="75%">
<p><i>Clear (remove) watch</i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>WD #</b></font></font></p>
</td>
<td width="75%">
<p><i>Disable specific watch - it is still in the list, just not active</i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>WE #</b></font></font></p>
</td>
<td width="75%">
<p><i>(Re)Enable disabled watch</i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="25%">
<p><font color="#000000"><font face="Courier"><b>WL</b></font></font></p>
</td>
<td width="75%">
<p><i>List all watches</i></p>
</td>
</tr>
</tbody>
</table>
<br>
<h3><a name="Memory_Search">Searching Memory</a></h3>
<p>You can search memory for hex values.&nbsp; Wildcard support is also supported
via the '<b>?</b>' wildcard operator, including nibble searching. &nbsp; A

View File

@ -38,6 +38,9 @@
<li>0C: $C00C - Col40/80 (inverse indicates state of 80COL)
<li>0E: $C00E - ASC/MOUS (inverse indicates state of ALTCHARSET)
<li>80: $C080-C087: B2/M R/W (Language Card Bank2)
<ul>
<li>A red 'x' if ALTZP (and Alt Language Card) is set by a write to $C009.
</ul>
<li>88: $C088-C08F: B1/M rNN (Language Card Bank1 and RamWorks 64K bank number)
<ul>
<li>'B2' or 'B1' is inverse when that LC bank is enabled.
@ -46,7 +49,7 @@
<li>If 'W' is inverse: RAM is write enabled.
<li>If 'W' is not inverse: RAM is write protected.
<li>'rNN' will appear if a RamWorks 64K bank is active.
<li>'sNN' will appear if a Saturn 16K bank is active.
<li>'sNN' will appear if a Saturn 16K bank is active (slot 0 only).
</ul>
</ul>
</p>

View File

@ -27,6 +27,7 @@
<LI><A href="dbg-calculator.html">Calculator</A>
<LI><A href="dbg-windows.html">Windows</A>
<LI><A href="dbg-breakpoints.html">Breakpoints</A>
<LI><A href="dbg-bookmarks.html">Bookmarks</A>
<LI><A href="dbg-configuration.html">Configuration</A>
<UL>
<LI><A href="dbg-configuration.html#Colors">Colors</A>

View File

@ -79,7 +79,7 @@ to the Data window to view memory. Most scrolling keys work.</span></i></p>
</tr>
</tbody>
</table>
<p>You can cycle between windows, using these keys:</p>
<p>Key operations related to the debugger window:</p>
<table border="1" cellpadding="2" cellspacing="0" width="75%">
<COLGROUP>
<col width="26">
@ -119,6 +119,17 @@ to the Data window to view memory. Most scrolling keys work.</span></i></p>
<p><i>Cycle to prev. Window</i></p>
</td>
</tr>
<tr>
<td width="10%">
<p>^PrtScr</p>
</td>
<td width="25%">
<p>Ctrl-PrintScreen</p>
</td>
<td width="65%">
<p><i>Copy debugger disassembly window (CODE or DATA) to the clipboard.</i></p><p><b>Note:</b> It does NOT copy the console window.</p>
</td>
</tr>
</tbody>
</table>
<p style="MARGIN-BOTTOM: 0in">

View File

@ -47,9 +47,9 @@ do is make a nibble image of the disk. </p>
<p>After nibble copiers became
prevalent on
the Apple, some software publishers developed tricky new ways of
creating disks that even nibble copiers could not copy. It is
unlikely that such a disk could be successfully transferred into
a disk image. </p>
creating disks that even nibble copiers could not copy. Such a
disk can only be transferred onto a WOZ disk image using the
AppleSauce hardware & software. </p>
</body>
</html>

View File

@ -63,9 +63,9 @@ Disk Images</a> topic for more information. </p>
<p>Please note that not all disk image types supported by
AppleWin can be created in this manner.&nbsp; Since there is no way
to detect the image type from the image itself, it is determined by the
given file extension only. Three extensions are allowed: (.DSK, .DO,
.NIB). The first two create a "DOS Order Image" and then latter creates
a "Nibble Image".&nbsp; If the extension is completely omitted,
given file extension only. Four extensions are allowed: (.DSK, .DO,
.NIB, .WOZ). The first two create a "DOS Order Image", .NIB creates
a "Nibble Image" and .WOZ creates an empty .WOZ image.&nbsp; If the extension is completely omitted,
".DSK" will be chosen by default.&nbsp; For more information, see <a href="ddi-formats.html">Disk Image Formats</a>.</p>
</body>

View File

@ -57,7 +57,7 @@ successfully detect the format. Otherwise, it will revert to DOS
order, which is by far the most common format. To force ProDOS
order, give the file an extension of ".PO". </p>
<p style="font-weight: bold;">Nibble Images :</p>
<p style="font-weight: bold;">Nibble Images:</p>
<p>Nibble images contain all of the data on a
disk; not just the data in sectors but also the sector headers
@ -66,13 +66,18 @@ that would be recorded on a real disk's surface. At 232,960
bytes, nibble images are bigger than other images, but they can
be useful for making images of copy protected software. </p>
<p style="font-weight: bold;">2mg Images :</p>
<p style="font-weight: bold;">2mg Images:</p>
<p>2mg (or 2img) images are a wrapper around DOS, ProDOS or Nibble images.
They contain extra meta-data describing for example, DOS volume number and
write-protection.
</p>
<p style="font-weight: bold;">WOZ Images:</p>
<p>The WOZ Disk Image format is an offshoot of the <A href="https://applesaucefdc.com/woz">Applesauce project</A>. Capturing highly accurate bit data is of no use if you don't have a container to hold the data. The WOZ format was designed to be able to contain every possible Apple ][ disk structure and layout. It can be so accurate that even copy protected software can't tell that it isn't an original disk.
</p>
<p style="font-weight: bold;">Compressed Images :</p>
<p>All of the above can optionally be either gzip'ed or zipped. If a zip archive
@ -80,8 +85,8 @@ contains multiple files, then AppleWin only supports using the first file. For b
with hard disk images, uncompress first, as writing back to the image requires a full
image re-compression after every block write. Examples of typical extensions are:
<ul>
<li>.gz, .dsk.gz, .nib.gz, .2mg.gz</li>
<li>.zip, .dsk.zip, .nib.zip, .2mg.zip</li>
<li>.gz, .dsk.gz, .nib.gz, .2mg.gz, .woz.gz</li>
<li>.zip, .dsk.zip, .nib.zip, .2mg.zip, .woz.zip</li>
</ul>
</p>

View File

@ -15,16 +15,16 @@
Disk Images</h2>
<hr size="4">
<p>AppleWin registers the
<p>AppleWin registers<sub style="FONT-WEIGHT: bold">1</sub> the
following file types as "Disk
Images": *.do, *.dsk, *.nib, and *.po.&nbsp; Double-clicking
a disk image in the Windows Explorer will automatically load and boot
Images": *.do, *.dsk, *.nib, *.po and *.woz.&nbsp; Double-clicking
a disk image in Windows Explorer will automatically load and boot
the disk.
While older versions of
AppleWin started a new
instance of the emulator for every disk started in this manner, current
versions
of the emulator will simply replace the current disk if there is an
of the emulator will simply replace the current disk (and reboot) if there is an
instance of
the emulator already running.</p>
@ -44,10 +44,25 @@ To do this, click the checkbox for "Open as Read Only" in the Select
Disk Image dialog.&nbsp; This works like the physical
write-protection mechanism on a real Apple //e floppy disk.</p>
<p>If a Disk Image name is to
<p>If a Disk Image name is too
long to read in the Toolbar,
simply pause the mouse cursor over a drive button to get a
tool-tip with the full name.</p>
<p>Under the vertical Toolbar, are 2 LEDs, one for each floppy disk drive. The colors indicate drive status:
<li>Black: drive is off
<li>Green: drive is reading
<li>Red: drive is writing
<li>Orange: drive is reading (and floppy is write-protected)
</p>
<p>By default the Disk II Controller card has the 16-sector firmware (as used by DOS 3.3 and ProDOS). But if a WOZ image that internally identifies as 13-sector format (eg. DOS 3.2) is put into drive 1, then from the start-up/logo screen (or the next reset), the Disk II Controller card's firmware will automatically be switched to the old 13-sector firmware, allowing the disk to boot. And it will automatically switch back if a non-13-sector WOZ (or any non-WOZ) image is put into drive 1 and the machine is reset.<br>
NB. There is no support for this feature for non-WOZ images.
</p>
<p><sub style="FONT-WEIGHT: bold">1</sub>&nbsp;To register the file types in Windows Vista, Windows 7 and Windows 10,
you will need to run AppleWin with elevated privileges. This only needs to be done once.
Right click the AppleWin.exe icon and select 'Run as Administrator'.</p>
</body>
</html>

View File

@ -48,7 +48,7 @@ Common programs for doing this work are ADTPro and Arme Leute Apple Disk Transfe
<p style="font-weight: bold;">Ethernet Transfers:</p>
Apples with an <a href="http://a2retrosystems.com/">A2RetroSystems</a> Uthernet
Apples with an <a href="http://a2retrosystems.com/">A2RetroSystems</a>' Uthernet
card can transfer disk images via ADTPro:
<ul>
<li>Apple Disk Transfer ProDOS (ADTPro) - <a target="_blank" href="http://adtpro.sourceforge.net/configethernet.html">http://adtpro.sourceforge.net/configethernet.html</a>

View File

@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Internet FTP Sites</title>
<title>Internet Sites</title>
</head>
@ -11,8 +11,7 @@
<body style="background-color: rgb(255, 255, 255); font-family: verdana;" alink="#008000" link="#008000" vlink="#008000">
<h2 style="color: rgb(0, 128, 0);">Internet
FTP Sites</h2>
<h2 style="color: rgb(0, 128, 0);">Internet Sites</h2>
<hr size="4">
<p>Before transferring a program
@ -23,11 +22,21 @@ typing the word "binary".</p>
<p>
<a style="font-weight: bold;" target="_blank" href="ftp://public.asimov.net/pub/apple_II/">ftp://public.asimov.net/pub/apple_II/</a><br>
This site is the largest Apple
II emulation site, and the official release point for new
versions of AppleWin. Under the /pub/apple_II directory, you will
This site is the largest Apple II emulation site. Under the /pub/apple_II directory, you will
find disk images, utilities for making your own disk images, and
Apple emulators for other computers and operating systems.</p>
<p>
<a style="font-weight: bold;" target="_blank" href="https://archive.org/details/softwarelibrary_apple">https://archive.org/details/softwarelibrary_apple/</a><br>
This site contains a number of collections of Apple II software. Including:
<ul>
<li><a style="font-weight: bold;" target="_blank" href="https://archive.org/details/wozaday">https://archive.org/details/wozaday/</a><br>
This is an ever expanding collection of Apple II images in WOZ format.<br>
<li><a style="font-weight: bold;" target="_blank" href="https://archive.org/details/softwarelibrary_apple_woz">https://archive.org/details/softwarelibrary_apple_woz/</a><br>
Another collection of Apple II images in WOZ format.<br>
</ul>
</p>
</body>
</html>

View File

@ -16,11 +16,15 @@
<p>This can be enabled manually or automatically in a variety of ways:</p>
<ul>
<li>Permanently enable by the AppleWin <a href="cfg-config.html">Configuration</a> tab's 'Emulation Speed Control', and setting 'Custom Speed (in MHz)' to 'Fastest'.
<li>Permanently enabled by the AppleWin <a href="cfg-config.html">Configuration</a> tab's 'Emulation Speed Control', and setting 'Custom Speed (in MHz)' to 'Fastest'.
<li>Scroll Lock key: can be configured to toggle normal/full-speed mode, or only enable full-speed when pressed.
<ul>
<li>See <a href="cfg-input.html">Input</a> for configuring how Scroll Lock behaves.
</ul>
<li>Ctrl-0 & Ctrl-3: can be used to toggle custom/full-speed mode, or set full-speed mode respectively.
<ul>
<li>See <a href="keyboard.html">Using the Keyboard</a> for more information.
</ul>
<li>When 'Disk access speed' is set to 'Enhanced Speed' (the default), then whenever the Disk][ drive motor is on, the emulator will automatically switch to full-speed (and when the motor is switched off, then the emulator will automatically revert to what the 'Emulation Speed Control' has been set to).
<ul>
<li>See <a href="cfg-disk.html">Disk</a> for configuring 'Disk access speed'.

View File

@ -83,7 +83,7 @@ Apple II would not last six months.</p>
late and
suffered from poor backwards compatibility and a nearly 100%
hardware failure rate. Although Apple eventually addressed these
issues, they were not able overcome the Apple III's bad
issues, they were not able to overcome the Apple III's bad
reputation. Apple III sales remained poor, while sales of the
older Apple II continued to climb. </p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -44,7 +44,7 @@
<span style="font-style: italic;">Pause</span>
again to resume emulation.</p>
<p><span style="font-weight: bold;">Caps Lock:</span><br>
On start-up, AppleWin always begins with the Apple II's Caps Lock enabled, regardless of the current state of the PC's Caps Lock key.
On start-up, AppleWin always begins with the Apple II's Caps Lock on, regardless of the current state of the PC's Caps Lock key (but there is a <a href="CommandLine.html">Command Line</a> switch to start-up with it off).
<ul>
<li>Assuming Caps Lock is off, when you press the PC's Caps Lock key the first time, this will enable the PC's Caps Lock. AppleWin will see this but remain in the Caps Lock enabled state.
<li>Now pressing the PC's Caps Lock key a second time, AppleWin will disable Caps Lock and allow lower-case to be used.
@ -56,9 +56,16 @@
<p><span style="font-weight: bold;">Scroll Lock:</span><br>
<span style="font-style: italic;">Scroll Lock</span>
key can be configured to toggle normal/full-speed mode, or only enable full-speed when pressed. See <a href="cfg-input.html">Input</a> for configuring how <span style="font-style: italic;">Scroll Lock</span> behaves.
NOTE:&nbsp; The status of the PC's
NOTE:&nbsp;The status of the PC's
<span style="font-style: italic;">Scroll Lock</span>
LED is meaningless.</p>
<p><span style="font-weight: bold;">Ctrl+0, Ctrl+1, Ctrl+3:</span><br>
Hotkeys to change emulation speed:
<ul>
<li>Ctrl-0 Toggles between custom speed and Full-Speed
<li>Ctrl-1 Sets 1 MHz
<li>Ctrl-3 Sets Full-Speed
</ul>
<p><span style="font-weight: bold;">Shift+Insert:</span><br>
Paste text from Windows' clipboard. Text gets fed a character at a time to the
Apple's keyboard hardware. The 'CR+LF' combination gets converted to CR.</p>
@ -80,6 +87,10 @@
These PC function keys correspond to buttons on the <a href="toolbar.html">toolbar</a>.</p>
<p><span style="font-weight: bold;">Function Key F2 + Ctrl:</span><br>
This PC function key combo acts like Ctrl+Reset (instead of power-cycle).</p>
<p><span style="font-weight: bold;">Function Key F3 + Ctrl:</span><br>
This PC function key combo displays the context menu for Drive-1 (then use the cursors to select the item).</p>
<p><span style="font-weight: bold;">Function Key F4 + Ctrl:</span><br>
This PC function key combo displays the context menu for Drive-2 (then use the cursors to select the item).</p>
<p><span style="font-weight: bold;">Function Key F6 + Ctrl:</span><br>
This PC function key combo toggles between 1x and 2x window sizes.</p>
<p><span style="font-weight: bold;">Function Key F9:</span><br>

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -23,28 +23,33 @@
<li>Apple model: ][, ][+, //e, Enhanced //e or clone (eg. Pravets)</li>
<li>Apple ]['s slot-0 language card: 16K Language Card, Saturn 64K or Saturn 128K</li>
<li>Apple //e's auxiliary card: 80 Column, Extended 80 Column or RamWorks III</li>
<li>Any Apple II: Saturn 128K cards in slots other than slot 0</li>
<li>Disk][ (even during r/w operation)</li>
<li>Hard disk (even during r/w operation)</li>
<li>Mockingboard</li>
<li>Phasor</li>
<li>Mockingboard & Phasor cards</li>
<li>SAM card</li>
<li>Mouse card</li>
<li>CP/M SoftCard</li>
<li>Parallel Printer card</li>
<li>Super Serial card</li>
<li>No-Slot clock</li>
<li>Uthernet & Uthernet II cards</li>
<li>4Play & SNES MAX joystick cards</li>
<li>VidHD card</li>
<li>Game I/O Connector copy protection dongle</li>
</ul>
The following are not yet persisted to the file:
<ul>
<li>Uthernet card</li>
<li>SAM card</li>
<li>No-Slot clock (there's nothing to persist)</li>
<li>Using The Freeze's F8 ROM</li>
<li>Alternate F8 ROM</li>
<li>Alternate ROM</li>
<li>Alternate video ROM</li>
</ul>
<p>Note: Only the file names of the disk images are stored in the .yaml file (not the
full path). This allows you to move your disk image around or distribute them.
If AppleWin can't locate the disk image(s), then it will prompt for the new
location.</p>
<p>NB. Loading of the old v1 file format (.aws file) is still supported.</p>
<p>NB. Loading of the old v1 file format (.aws file) is no longer supported. Use AppleWin 1.27.13 to load it at the AppleWin start-up/logo screen,
then immediately save it (and it'll be saved in the v2 format).</p>
</body>
</html>

View File

@ -9,38 +9,51 @@
<h2 style="COLOR: rgb(0,128,0)">
Sound</h2>
<hr size="4">
<h3>Sound:</h3>
<p>AppleWin emulates the internal speaker, the Mockingboard (or Phasor) sound card and also the SAM card; using a PC sound card.</p>
<p>AppleWin emulates the Apple II's internal speaker, the Mockingboard (or Phasor) sound card and also the SAM card.</p>
<p>Use the AppleWin Configuration tab labelled <em>Sound</em>.</p>
<p>If you want to use a sound card then use at least DirectX&nbsp;9.</p>
<h4>Speaker:</h4>
<p>You can now only emulate this with a sound card.</p>
<h4>Mockingboard:</h4>
<p>When the Mockingboards are enabled, the cards are physically plugged into slots
4 and 5 of the Apple II.</p>
<p>Each Mockingboard is a type 'C': 2x AY8910 (3-channel sound generator) &amp; 1x
SSI263 (speech chip)<font face="Tahoma"><br>
</font>Each AY8910 is fully emulated (tone, noise &amp; envelope).<font face="Tahoma"><br>
</font>Each SY6522 (that controls an AY8910) can generate precise timer
interrupts or phoneme-complete interrupts.<font face="Tahoma"><br>
</font>Emulation of the SSI263 is basic at the moment and only plays back
phonemes at a fixed rate without any support for inflection or filters.<font face="Tahoma"><br>
</font>Additionally the Votrax/SC-01 (predecessor to the SSI263) is emulated by
remapping Votrax phonemes to the SSI263's.</p>
<H4>Phasor:</H4>
<P>When Phasor is enabled, the card is physically plugged into slot 4 of the Apple II.</P>
<P>Phasor is equivalent to 2 Mockingboards: so has 4x AY8910 &amp; 1x SSI263.</P>
<p>Mockingboards can be plugged into slots 4 and/or 5 of the Apple II.</p>
<p>Each Mockingboard is a type 'C': 2x AY-3-8913 (3-channel sound generator) &amp; 2x SSI263 (speech chip)<br>
Each AY-3-8913 is fully emulated (tone, noise &amp; envelope).<br>
Each SY6522 (that controls an AY-3-8913) can generate precise timer interrupts or phoneme-complete interrupts.<br>
Emulation of the SSI263 is basic at the moment and only plays back phonemes at a fixed rate without any support for inflection or filters.<br>
Additionally the Votrax/SC-01 (predecessor to the SSI263) is emulated by remapping Votrax phonemes to the SSI263's.<br>
<br>
NB. Some Mockingboard compatible software requires the card to be in a specific slot (usually slot 4).<br>
Some software will allow the user to pick the slot, and better software will auto-detect the slot.
</p>
<h4>Phasor:</h4>
<p>Phasors can be plugged into slots 4 and/or 5 of the Apple II.</p>
<p>A Phasor is roughly equivalent to 2 Mockingboards and has 4x AY-3-8913.<br>
It powers up in a hardware-identical mode to the Mockingboard type 'C', and so is compatible with all Mockingboard titles.<br>
Using software (to access memory mapped I/O) it can be switched to native Phasor mode (4x AY8913s) or Echo+ mode (but without the TMS5220 speech chip).
</p>
<br>
<P>There are a number of games and demos that support Mockingboard (or Phasor), eg:</P>
<p>There are a number of games and demos that support Mockingboard (or Phasor), eg:</p>
<ul>
<li>Adventure Construction Set</li>
<li>Berzap!</li>
<li>Ape Escape (Votrax speech)</li>
<li>Apple Cider Spider</li>
<li>Bejeweled (SSI263 speech)</li>
<li>Berzap! (with Votrax or SSI263 speech)</li>
<li>Bouncing Kamungas (Votrax speech)</li>
<li>Broadsides</li>
<li>Crimewave (Votrax speech)</li>
<li>Crypt of Medea (Votrax speech)</li>
<li>Cybernoid Music Disk</li>
<li>French Touch demos, eg. (NOT SO) Cheap Tunes, Plasmagoria, Raster Bars + others</li>
<li>French Touch demos, eg. (NOT SO) Cheap Tunes, Plasmagoria, Raster Bars + many others</li>
<li>Lady Tut (Mockingboard version)</li>
<li>Mockingboard software (Sweet Micro Systems)</li>
<li>Mockingboard Classic Adventure (Sweet Micro Systems) (SSI263 speech only)</li>
<li>Music Construction Set</li>
<li>Night Flight</li>
<li>One on one (Mockingboard version)</li>
@ -49,15 +62,18 @@
<li>Rescue Raiders v1.3 (SSI263 speech only)</li>
<li>Silent Service</li>
<li>Skyfox</li>
<li>Spy Strikes Back</li>
<li>The Spy Strikes Back (Votrax speech)</li>
<li>Thunder Bombs (Votrax speech)</li>
<li>Ultima III (Mockingboard version)</li>
<li>Ultima IV</li>
<li>Ultima V</li>
<li>Willy Byte</li>
<li>Willy Byte in the Digital Dimension</li>
<li>Zaxxon (Mockingboard version)</li>
<li>Zoo Master (Votrax speech)</li>
</ul>
<br>
<h3>SAM:</h3>
<p>SAM (Software Automatic Mouth) is an 8-bit DAC card than can be enabled in slot 5.</p>
<p>SAM (Software Automatic Mouth) is an 8-bit DAC card than can be plugged into slots 4 and/or 5.</p>
</body>
</html>

View File

@ -11,9 +11,8 @@
<br>
Copyright © 1994-1996, Michael O'Brien<br>
Copyright © 2001, Oliver Schmidt<br>
Copyright © 2002-2005, Tom Charlesworth<BR>
Copyright © 2006-2019, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis
<br>
Copyright © 2002-2005, Tom Charlesworth<br>
Copyright © 2006-2024, Tom Charlesworth, Michael Pohoreski, Nick Westgate, Linards Ticmanis<br>
<br>
<a href="applewin-team.html">AppleWin team</a>
<br>
@ -28,11 +27,11 @@
<li><a href="toolbar.html">Using the Toolbar</a>
<li><a href="keyboard.html">Using the Keyboard</a>
<li><a href="savestate.html">Save-state Files</a>
<li><a href="CommandLine.html">Command line</a>
<li><a href="sound.html">Sound</a>
<li><a href="clock.html">Clock</a>
<li><a href="card-ssc.html">Super Serial card</a>
<li><a href="uthernet.html">Uthernet network card</a>
<li><a href="CommandLine.html">Command line</a>
<li><a href="uthernet.html">Uthernet network cards</a>
<li><a href="configuration.html">AppleWin Configuration</a>
<li><a href="dbg-toc-intro.html">Using the Debugger</a>
<li><a href="resources.html">Resources</a></li>

2
help/update.bat Normal file
View File

@ -0,0 +1,2 @@
"C:\Program Files (x86)\HTML Help Workshop\hhc" AppleWin.hhp
start AppleWin.chm

View File

@ -1,55 +1,54 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Uthernet network card</title>
<title>Uthernet network cards</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
</head>
<body style="FONT-FAMILY: verdana; BACKGROUND-COLOR: rgb(255,255,255)" alink="#008000"
link="#008000" vlink="#008000">
<h2 style="COLOR: rgb(0,128,0)">Uthernet network card</h2>
<h2 style="COLOR: rgb(0,128,0)">Uthernet network cards</h2>
<hr size="4">
<p style="FONT-WEIGHT: bold">Overview:
</p>
<P>The Uthernet network card coupled with the Contiki OS allows you to browse the
<P>The Uthernet network cards coupled with the Contiki OS allow you to browse the
internet on your Apple.</P>
<P style="FONT-WEIGHT: bold">Acknowledgment:
</P>
<P>Uthernet (TFE) support in Applewin was made possible by implementing the GPL
<P>Uthernet (TFE) support in AppleWin was made possible by implementing the GPL
source written by Spiro Trikaliotis for the Vice emulator - <A href="http://vice-emu.sourceforge.net/index.html#developers">
http://vice-emu.sourceforge.net/index.html#developers</A></P>
<P><A href="https://a2retrosystems.com/">Uthernet II</A> support in AppleWin has been contributed by Andrea (audetto) Odetti.</P>
<P style="FONT-WEIGHT: bold">Details:
</P>
<P>To enable ethernet support in AppleWin you must first download and install
WinPcap.
Npcap (or WinPcap).
</P>
<P>An alternative to downloading WinPcap is to get the Wireshark package which
includes WinPcap along with Wireshark network analyzer code. To use Wireshark to
<P>An alternative to downloading Npcap is to get the Wireshark package which
includes Npcap along with Wireshark network analyzer code. To use Wireshark to
capture traffic (other than your own) you must be plugged into a shared hub vs
a switch. If you plan on doing any network programming Wireshark is a definite
must have.
</P>
<P>WinPcap: <A href="http://www.WinPcap.org/install/default.htm">http://www.WinPcap.org/install/default.htm</A>
or Wireshark: <A href="https://www.wireshark.org">https://www.wireshark.org</A>
<P>Npcap: <A href="https://nmap.org/npcap/#download">https://nmap.org/npcap/#download</A>
or Wireshark: <A href="https://www.wireshark.org">https://www.wireshark.org</A>
(or WinPcap: <A href="https://www.winpcap.org/install/default.htm">https://www.winpcap.org/install/default.htm</A>)
</P>
<P>After AppleWin starts, select the settings icon and then select the ethernet
settings button.
</P>
<P>Uthernet will be disabled. Select Uthernet from the list of available ethernet
emulations (currently the only one).
<P>Uthernet will be disabled. Select Uthernet or Uthernet II from the list of available ethernet
emulations.
</P>
<P>Select the ethernet interface you want to work with. This must be a physical
ethernet interface.
</P>
<P>If you have more than one interface you may need to select them in turn in order
to get the text description for each interface vs what WinPcap likes to use for
a reference. Select Ok. and then close AppleWin.
to get the text description for each interface vs what Npcap likes to use for
a reference.
</P>
<P><span style="font-weight: bold;">Note:</span> Wireless does not work
with WinPcap (but see <A href="uthernet-wifi-workaround.html">WiFi Workaround</A>).
</P>
<P><span style="font-weight: bold;">Note:</span> Due to a current limitation you must exit AppleWin and
re-run AppleWin for an ethernet interface change to take effect.
</P>
<P>In order to test the ethernet emulation out you should grab a copy of Contiki
for the Apple II here - <A href="http://www.a2retrosystems.com/downloads.htm">http://www.a2retrosystems.com/downloads.htm</A>
</P>
@ -58,7 +57,7 @@
also grab a copy of the Uthernet/Contiki getting started guide <A href="http://www.a2retrosystems.com/a2UtherManual.pdf">
http://www.a2retrosystems.com/a2UtherManual.pdf</A>
</P>
<P>When you run AppleWin again, select the contiki80pri.dsk image. Boot AppleWin.
<P>Select the contiki80pri.dsk image. Boot AppleWin.
</P>
<P>Once Contiki is loaded then press Enter to clear the welcome screen and press
ESC for a menu.
@ -89,5 +88,25 @@
if you are still having difficulty then you should refer to the VICE network
support page for additional information - <A href="http://vicekb.trikaliotis.net/13-005.shtml">
http://vicekb.trikaliotis.net/13-005.shtml</A></P>
</body>
<P style="FONT-WEIGHT: bold">Uthernet II:
</P>
<P>Most features of the Uthernet II are emulated, with the following caveats:
<ul>
<li>PPPoE, interrupts and SPI are not implemented</li>
<li>server side is not well tested</li>
<li>after loading a save-state file, TCP and UDP sockets are closed</li>
</ul>
</P>
<P>The card implements a <A href="https://github.com/a2retrosystems/uthernet2/wiki/Virtual-W5100-with-DNS">Virtual DNS</A>
interface (not found on real hardware) for Apple II software to run without raw sockets: this allows operation on any type of network.
</P>
<P>Note that the Apple II application must be virtual W5100-aware (currently as of early 2024 the only application that supports this is <A href="https://github.com/oliverschmidt/A2Stream">A2Stream</A>). AppleWin will utilise DNS offloading when both AppleWin is configured to use "Virtual DNS" and the Apple II application enables the W5100 for the "Virtual DNS" mode.
</P>
<P>Enabling AppleWin for "Virtual DNS" and using with Apple II applications that don't support this is harmless (but you won't get any benefit).
</P>
<P>AppleWin's W5100 emulation returns the following depending on whether AppleWin's "Virtual DNS" is checked or not:
<li>Checked (default): W5100 register 0x28 returns 0x00 (so Apple II applications can use this to detect the virtual W5100 has virtual DNS support).</li>
<li>Unchecked: W5100 register 0x28 returns 0x28 (ie. the emulated W5100 behaves like a real W5100).</li>
</P>
</body>
</html>

372
libyaml/Changes Normal file
View File

@ -0,0 +1,372 @@
0.2.5 2020-06-01
https://github.com/yaml/libyaml/pull/105
Allow question marks in plain scalars in flow collections
https://github.com/yaml/libyaml/pull/186
Emitter: Don't output trailing space for empty scalar nodes
https://github.com/yaml/libyaml/pull/185
Emitter: Output space after an alias mapping key
https://github.com/yaml/libyaml/pull/187
Add -h and --flow (on|off|keep) to run-*-test-suite
https://github.com/yaml/libyaml/pull/182
Remove unnecessary include and malloc
https://github.com/yaml/libyaml/pull/177
Add specific files back to .gitignore
https://github.com/yaml/libyaml/pull/181
Output error position in run-parser-test-suite.c
https://github.com/yaml/libyaml/pull/191
A couple patches to improve test suite support
0.2.4 2020-04-19
- https://github.com/yaml/libyaml/pull/143
Add packaging/docker-dist to Makefile.am
- https://github.com/yaml/libyaml/pull/174
Fix logic for document end before directive
0.2.3 2020-04-11
- https://github.com/yaml/libyaml/pull/130
Fixed typo.
- https://github.com/yaml/libyaml/pull/144
Fix typo in comment
- https://github.com/yaml/libyaml/pull/140
Use pointer to const for strings that aren't/shouldn't be modified
- https://github.com/yaml/libyaml/pull/128
Squash a couple of warnings in example-deconstructor-alt
- https://github.com/yaml/libyaml/pull/151
Fix spelling for error message
- https://github.com/yaml/libyaml/pull/161
Make appveyor config be a hidden file
- https://github.com/yaml/libyaml/pull/159
Add CHANGES file
- https://github.com/yaml/libyaml/pull/160
Always output document end before directive (YAML 1.2 compatibility)
- https://github.com/yaml/libyaml/pull/162
Output document end marker after open ended scalars
- https://github.com/yaml/libyaml/pull/157
change cmake target name from libOFF.a to libyaml.a
- https://github.com/yaml/libyaml/pull/155
include/yaml.h: fix comments
- https://github.com/yaml/libyaml/pull/169
Fixed missing token in example
- https://github.com/yaml/libyaml/pull/127
Avoid recursion in the document loader.
- https://github.com/yaml/libyaml/pull/172
Support %YAML 1.2 directives
- https://github.com/yaml/libyaml/pull/66
Change dllexport controlling macro to use _WIN32
0.2.2 2019-03-12
- https://github.com/yaml/libyaml/pull/95
build: do not install config.h
- https://github.com/yaml/libyaml/pull/97
appveyor.yml: fix Release build
- https://github.com/yaml/libyaml/pull/103
Remove unused code in yaml_document_delete
- https://github.com/yaml/libyaml/pull/104
Allow colons in plain scalars inside flow collections
- https://github.com/yaml/libyaml/pull/109
Fix comparison in tests/run-emitter.c
- https://github.com/yaml/libyaml/pull/117
Fix typo error
- https://github.com/yaml/libyaml/pull/119
The closing single quote needs to be indented...
- https://github.com/yaml/libyaml/pull/121
fix token name typos in comments
- https://github.com/yaml/libyaml/pull/122
Revert removing of open_ended after top level plain scalar
- https://github.com/yaml/libyaml/pull/125
Cherry-picks from PR 27
- https://github.com/yaml/libyaml/pull/135
Windows/C89 compatibility
- https://github.com/yaml/libyaml/pull/136
allow override of Windows static lib name
0.2.1 2018-06-24
- https://github.com/yaml/libyaml/pull/10
Support static and dynamic libraries
- https://github.com/yaml/libyaml/pull/12
Use .gitignore instead of .hgignore
- https://github.com/yaml/libyaml/pull/13
Add support for `make test` and travis
- https://github.com/yaml/libyaml/pull/14
Dockerfile for testing
- https://github.com/yaml/libyaml/pull/15
Apply old fix for `\/` that is not in master.
- https://github.com/yaml/libyaml/pull/17
Update license to include all years until now.
- https://github.com/yaml/libyaml/pull/18
Port bug fix from Perl binding
- https://github.com/yaml/libyaml/pull/22
Fix misspell: preceed
- https://github.com/yaml/libyaml/pull/23
Removed trailing-whitespaces
- https://github.com/yaml/libyaml/pull/24
Fix typo
- https://github.com/yaml/libyaml/pull/25
added an examples directory with a few yaml examples
- https://github.com/yaml/libyaml/pull/26
Added missing Cflags path in pkg-config file
- https://github.com/yaml/libyaml/pull/31
add unit tests to cmake configuration
- https://github.com/yaml/libyaml/pull/32
Include an example of a custom tag from Python
- https://github.com/yaml/libyaml/pull/33
Include an example of a %YAML tag
- https://github.com/yaml/libyaml/pull/34
Added an example of using a global tag
- https://github.com/yaml/libyaml/pull/36
Fix -Wformat compilation errors in tests
- https://github.com/yaml/libyaml/pull/37
Update bug report URL in LibYAML
- https://github.com/yaml/libyaml/pull/38
Use AM_CPPFLAGS since autotools deprecated INCLUDE
- https://github.com/yaml/libyaml/pull/39
Update bug report URL in README
- https://github.com/yaml/libyaml/pull/41
Add travis and Makefile support for libyaml-test
- https://github.com/yaml/libyaml/pull/43
Add Dockerfile for Fedora 25
- https://github.com/yaml/libyaml/pull/44
WIP: Enable all warnings (-Wall) in libyaml and tests
- https://github.com/yaml/libyaml/pull/45
Fix typo
- https://github.com/yaml/libyaml/pull/47
Move travis script guts to separate file
- https://github.com/yaml/libyaml/pull/48
`yaml/libyaml-test` should become part of `yaml/libyaml`
- https://github.com/yaml/libyaml/pull/50
Add a GNUMakefile for immediate make targets
- https://github.com/yaml/libyaml/pull/53
Switch from test blacklist to whitelist
- https://github.com/yaml/libyaml/pull/55
Update defs for MingGW support on Windows
- https://github.com/yaml/libyaml/pull/58
Improve CMakeLists
- https://github.com/yaml/libyaml/pull/64
README: Update libyaml link
- https://github.com/yaml/libyaml/pull/69
Skip 5 tests in libyaml-emitter.list
- https://github.com/yaml/libyaml/pull/74
Forbid escaped singlequote in doublequotes
- https://github.com/yaml/libyaml/pull/76
Rewrite make test-suite
- https://github.com/yaml/libyaml/pull/77
Undefined PTRDIFF_MAX on HP-UX
- https://github.com/yaml/libyaml/pull/78
Fixed most compiler warnings -Wall -Wextra
- https://github.com/yaml/libyaml/pull/82
Move yaml-test-suite integration onto a separate branch.
- https://github.com/yaml/libyaml/pull/86
Fix problems in CI failures (travis and semaphore)
- https://github.com/yaml/libyaml/pull/87
appveyor.yml: add mingw-w64 builds
- https://github.com/yaml/libyaml/pull/88
add -no-undefined to src/Makefile.am
- https://github.com/yaml/libyaml/pull/89
Added alpine linux testing to dockerfiles
- https://github.com/yaml/libyaml/pull/93
remove need for PTRDIFF_MAX
- https://github.com/yaml/libyaml/pull/94
.gitignore: major cleanup
- https://github.com/yaml/libyaml/pull/120
Fix doc.
0.1.7 2016-08-27
- Fixed segfault in yaml_string_write_handler.
- Fixed invalid simple key assertion.
- Fixed error handling in some examples (thank to Mathias Svensson).
- Removed obsolete VS project files.
0.1.6 2014-03-26
- https://github.com/yaml/libyaml/commit/d1003a9
Fixed heap overflow in yaml_parser_scan_uri_escapes (Thanks
Ivan Fratric of the Google Security Team).
- https://github.com/yaml/libyaml/commit/662f4be
Added tag 0.1.5 for changeset a5142b24428b
0.1.5 2014-02-03
- https://github.com/yaml/libyaml/commit/303b455
Manually define PTRDIFF_MAX for VS C compiler.
- https://github.com/yaml/libyaml/commit/1ef1171
Forgot to set the error state.
- https://github.com/yaml/libyaml/commit/c9479c7
Limit input size to SIZE_MAX/2.
- https://github.com/yaml/libyaml/commit/c201bf6
Guard against overflows in indent and flow_level.
- https://github.com/yaml/libyaml/commit/bb8ab82
Added .hgignore.
- https://github.com/yaml/libyaml/commit/2d94fc5
Prevent node index overflow (Reported by Florian Weimer).
- https://github.com/yaml/libyaml/commit/df33f25
Bumped the version number.
- https://github.com/yaml/libyaml/commit/f56726b
Fixed invalid size_t->int cast (Thank to Florian Weimer).
- https://github.com/yaml/libyaml/commit/01e8dad
Added a basic CMake project.
- https://github.com/yaml/libyaml/commit/f54fc40
Added tag 0.1.4 for changeset 3e6507fa0c26
0.1.4 2012-12-24
- Fixed a bug that prevented an empty mapping being used as a simple key
(thank to spitzak(at)rhythm(dot)com).
- Fixed pointer overflow when calculating the position of a potential
simple key (thank to ppelletier(at)oblong(dot)com).
- Fixed yaml.dll not exporting any symbols
(thank to pxn11432(at)nifty(dot)com).
- Added pkg-config support (thank to rainwoodman(at)gmail(dot)com).
0.1.3 2009-08-29
- This release fixes non-standard structure initialization and
a streaming-related issue.
0.1.2 2008-12-27
- Minor bugfix release
0.1.1 2006-08-01
- https://github.com/yaml/libyaml/commit/5e52c31
Fixed a problem when the DOCUMENT-END event is not emitted until
the beginning of the next document is available. Fixed #51.
Thanks edward(at)sweetbytes.net for the bug report.
- https://github.com/yaml/libyaml/commit/dd71484
Add project files for Visual Studio 2003.
- https://github.com/yaml/libyaml/commit/ce8a93e
Fix the example_deconstructor project.
- https://github.com/yaml/libyaml/commit/c9b74de
Eliminate some warnings and add more doxygen definitions.
- https://github.com/yaml/libyaml/commit/0122490
Undefine the NDEBUG directive for the test programs.
- https://github.com/yaml/libyaml/commit/071329a
Fix a bug in the emitter introduced while fixing warnings for VC6.
- https://github.com/yaml/libyaml/commit/6f6bbb8
Add VC6 projects for the test executables.
- https://github.com/yaml/libyaml/commit/0174ed6
Add win32 fixes and project files for VC6.
- https://github.com/yaml/libyaml/commit/e27a3c8
Add functions for constructing, parsing and emitting YAML documents.
- https://github.com/yaml/libyaml/commit/a907bf8
Add `const` qualifier for `yaml_parser_set_input_string` parameter `input`.
- https://github.com/yaml/libyaml/commit/c83b67a
Force a new line at the end of the input stream even if there
are no a new line character. This fixes a nasty bug when libyaml hangs on
documents like `[[[[`. Thanks ciaranm for reporting the bug.
- https://github.com/yaml/libyaml/commit/609cce0
Older versions of gcc do not know about -Wno-pointer-sign.
0.0.1 2006-08-01
- Initial release

View File

@ -1,4 +1,5 @@
Copyright (c) 2006 Kirill Simonov
Copyright (c) 2017-2020 Ingy döt Net
Copyright (c) 2006-2016 Kirill Simonov
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

View File

@ -1,27 +0,0 @@
LibYAML - A C library for parsing and emitting YAML.
To build and install the library, run:
$ ./configure
$ make
# make install
If you checked the source code from the Subversion repository, run
$ ./bootstrap
$ ./configure
$ make
# make install
For more information, check the LibYAML homepage:
'http://pyyaml.org/wiki/LibYAML'.
Post your questions and opinions to the YAML-Core mailing list:
'http://lists.sourceforge.net/lists/listinfo/yaml-core'.
Submit bug reports and feature requests to the LibYAML bug tracker:
'http://pyyaml.org/newticket?component=libyaml'.
LibYAML is written by Kirill Simonov <xi@resolvent.net>. It is released
under the MIT license. See the file LICENSE for more details.
This project is developed for Python Software Foundation as a part of
Google Summer of Code under the mentorship of Clark Evans.

46
libyaml/ReadMe.md Normal file
View File

@ -0,0 +1,46 @@
## LibYAML - A C library for parsing and emitting YAML.
To build and install the library, run:
$ ./configure
$ make
# make install
Required packages:
- gcc
- libtool
- make
If you checked the source code from the Git repository, run
$ ./bootstrap
$ ./configure
$ make
# make install
Required packages:
- autoconf
- libtool
- make
For more information, check the [LibYAML
homepage](https://github.com/yaml/libyaml).
Discuss LibYAML with the maintainers in IRC #libyaml irc.freenode.net.
You may also use the [YAML-Core mailing
list](http://lists.sourceforge.net/lists/listinfo/yaml-core).
Submit bug reports and feature requests to the [LibYAML bug
tracker](https://github.com/yaml/libyaml/issues/new).
This project was developed for Python Software Foundation as a part of Google
Summer of Code under the mentorship of Clark Evans.
The LibYAML module was written by Kirill Simonov <xi@resolvent.net>.
It is currently maintained by the YAML community.
LibYAML is released under the MIT license.
See the file LICENSE for more details.

View File

@ -3,81 +3,69 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>yaml: Data Structures</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">yaml
&#160;<span id="projectnumber">0.1.5</span>
&#160;<span id="projectnumber">0.2.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Data Structures</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><table>
<tr><td class="indexkey"><a class="el" href="structyaml__alias__data__s.html">yaml_alias_data_s</a></td><td class="indexvalue">This structure holds aliases data </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__document__s.html">yaml_document_s</a></td><td class="indexvalue">The document structure </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__emitter__s.html">yaml_emitter_s</a></td><td class="indexvalue">The emitter structure </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__event__s.html">yaml_event_s</a></td><td class="indexvalue">The event structure </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__mark__s.html">yaml_mark_s</a></td><td class="indexvalue">The pointer position </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__node__pair__s.html">yaml_node_pair_s</a></td><td class="indexvalue">An element of a mapping node </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__node__s.html">yaml_node_s</a></td><td class="indexvalue">The node structure </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__parser__s.html">yaml_parser_s</a></td><td class="indexvalue">The parser structure </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__simple__key__s.html">yaml_simple_key_s</a></td><td class="indexvalue">This structure holds information about a potential simple key </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__tag__directive__s.html">yaml_tag_directive_s</a></td><td class="indexvalue">The tag directive data </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__token__s.html">yaml_token_s</a></td><td class="indexvalue">The token structure </td></tr>
<tr><td class="indexkey"><a class="el" href="structyaml__version__directive__s.html">yaml_version_directive_s</a></td><td class="indexvalue">The version directive data </td></tr>
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__alias__data__s.html" target="_self">yaml_alias_data_s</a></td><td class="desc">This structure holds aliases data </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__anchors__s.html" target="_self">yaml_anchors_s</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__document__s.html" target="_self">yaml_document_s</a></td><td class="desc">The document structure </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__emitter__s.html" target="_self">yaml_emitter_s</a></td><td class="desc">The emitter structure </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__event__s.html" target="_self">yaml_event_s</a></td><td class="desc">The event structure </td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__mark__s.html" target="_self">yaml_mark_s</a></td><td class="desc">The pointer position </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__node__pair__s.html" target="_self">yaml_node_pair_s</a></td><td class="desc">An element of a mapping node </td></tr>
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__node__s.html" target="_self">yaml_node_s</a></td><td class="desc">The node structure </td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__parser__s.html" target="_self">yaml_parser_s</a></td><td class="desc">The parser structure </td></tr>
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__simple__key__s.html" target="_self">yaml_simple_key_s</a></td><td class="desc">This structure holds information about a potential simple key </td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__tag__directive__s.html" target="_self">yaml_tag_directive_s</a></td><td class="desc">The tag directive data </td></tr>
<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__token__s.html" target="_self">yaml_token_s</a></td><td class="desc">The token structure </td></tr>
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structyaml__version__directive__s.html" target="_self">yaml_version_directive_s</a></td><td class="desc">The version directive data </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jan 12 2014 18:25:30 for yaml by &#160;<a href="http://www.doxygen.org/index.html">
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</a> 1.8.14
</small></address>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 677 B

After

Width:  |  Height:  |  Size: 676 B

BIN
libyaml/doc/html/bdwn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

View File

@ -3,76 +3,61 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>yaml: Data Structure Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">yaml
&#160;<span id="projectnumber">0.1.5</span>
&#160;<span id="projectnumber">0.2.5</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Data Structure Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_Y">Y</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_Y"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;Y&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="structyaml__document__s.html">yaml_document_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__mark__s.html">yaml_mark_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__parser__s.html">yaml_parser_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__token__s.html">yaml_token_s</a>&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="structyaml__emitter__s.html">yaml_emitter_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__node__pair__s.html">yaml_node_pair_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__simple__key__s.html">yaml_simple_key_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__version__directive__s.html">yaml_version_directive_s</a>&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="structyaml__alias__data__s.html">yaml_alias_data_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__event__s.html">yaml_event_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__node__s.html">yaml_node_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__tag__directive__s.html">yaml_tag_directive_s</a>&#160;&#160;&#160;</td><td></td></tr>
<div class="qindex"><a class="qindex" href="#letter_y">y</a></div>
<table class="classindex">
<tr><td rowspan="2" valign="bottom"><a name="letter_y"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;y&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="structyaml__anchors__s.html">yaml_anchors_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__event__s.html">yaml_event_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__node__s.html">yaml_node_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__tag__directive__s.html">yaml_tag_directive_s</a>&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="structyaml__document__s.html">yaml_document_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__mark__s.html">yaml_mark_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__parser__s.html">yaml_parser_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__token__s.html">yaml_token_s</a>&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="structyaml__alias__data__s.html">yaml_alias_data_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__emitter__s.html">yaml_emitter_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__node__pair__s.html">yaml_node_pair_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__simple__key__s.html">yaml_simple_key_s</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structyaml__version__directive__s.html">yaml_version_directive_s</a>&#160;&#160;&#160;</td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_Y">Y</a></div>
<div class="qindex"><a class="qindex" href="#letter_y">y</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jan 12 2014 18:25:30 for yaml by &#160;<a href="http://www.doxygen.org/index.html">
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</a> 1.8.14
</small></address>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 B

After

Width:  |  Height:  |  Size: 132 B

Some files were not shown because too many files have changed in this diff Show More