1.30.9 / 24-03-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
[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 184.108.40.206)
[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 220.127.116.11).
[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 18.104.22.168) 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 22.214.171.124).
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 126.96.36.199).
[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 188.8.131.52).
[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 184.108.40.206).
[Bug #752] Fixed Ctrl+Alt+Break wasn't emulating CTRL+OA+RESET (regression introduced at 220.127.116.11).
[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 18.104.22.168 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 22.214.171.124).
[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 126.96.36.199).
[Bug #656] Changed so only TEXT ($C050/1) and MIXED ($C052/3) have a 1 cycle delay (extension to 188.8.131.52).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.