1.30.12 / 28-09-2022
AppleWin (also known as Apple //e Emulator for Windows) is an open source
software emulator for running Apple II programs in Microsoft Windows.
It support most programs that could run either on the Apple II+ or the Apple IIe.
For its other capabilities, please check this reference.
Most Recent Changes
[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 18.104.22.168 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 22.214.171.124 when fixed Phasor to "use correct primary AY8913".
Change: Command line: support '-s2 ssc'.
[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 #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.
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.
Extend Uthernet II to support DNS offloading. Details here.
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!
WOZ support: Better LSS support for reading write-protect.Fix images 'Run For It' and 'Stickybear Town Builder' (both when write-protected).
Uthernet II fixes for UDP and IPRAW modes. [@audetto]
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 & -wav-mockingboardSave 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.
[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
[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).
[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.
[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 spaceDebugger: 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.
[Bug #993] Fix Mousecard not persisting after a machine's hardware changes. (Regression at 126.96.36.199)
[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.
[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 188.8.131.52).
[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 managementUse 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).
[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).
[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.
[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 184.108.40.206) 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.
Improve Mockingboard's 6522 support for cycle-accurate reading of IFR at Timer1/2 underflow.
Improve logging of Speaker code.
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 workingCommand 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 streamA 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 & fullscreen modeNew 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 workImproved 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).
[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.
[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.
[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 SL7 RGB 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 & -rgb-card-background
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 220.127.116.11).
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.
[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 18.104.22.168).
[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().
[Bug #790] Fixed regression for -d1,-d2 & -s7-empty-on-exit (introduced at 22.214.171.124).
[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'. But now perhaps less helpful when stepping Disk II code.
[PR #785] Debugger: Improvements to Bookmarks.AppleWin.chm: Added debugger help about Bookmarks.
[Change #773] Added Apple II J-Plus support.
[Bug #778] Fixed for when Joystick(s) are disabled.
[PR #775] Debugger: Fixed so that hitting "=" in the debugger sets PC to the current cursor address.
[Bug #771] Added new command line switch to load custom ROM: -rom .Supports 12KiB (at $D000) and 16KiB (at $C000) rom files.
[Bug #765] Lancaster (Total Replay) hangs when starting second game.
[Bug #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)
[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
[Bug #750] Fixed double-clicking a registered file-type issue (regression introduced at 126.96.36.199).
[Bug #752] Fixed Ctrl+Alt+Break wasn't emulating CTRL+OA+RESET (regression introduced at 188.8.131.52).
[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.
[Bug #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.
[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 184.108.40.206 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.
[Bug #711] Fixed Mockingboard initial "stretched" music playback (regression introduced at 220.127.116.11).
[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 #659] Fix for Applied Engineering's Phasor song player (noisy playback) (regression introduced at 18.104.22.168).
[Bug #656] Changed so only TEXT ($C050/1) and MIXED ($C052/3) have a 1 cycle delay (extension to 22.214.171.124).fixes French Touch's "Mad Effect" demo.
fixes 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 -> 0xFFFFand 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.
[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.
[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 , where value is a [0.5-3.9] base-clock multiplier (ie. same as the Config UI's slider)
[Change #666] Debugger: support showing video v,h 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 #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 #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.
[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.
[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.
[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.
[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.