## Command line

AppleWin can be driven from the command line as follows:

-conf <pathname>
Use an INI file for configuration instead of the Registry.
Use this switch if you want to have multiple copies of AppleWin with different configurations, or don't want to use the Registry.
-current-dir <path>
This is guaranteed to be processed after all the image loading switches (eg. -d1, -h1, etc).
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.
-d1 <pathname>
Start with a floppy disk in slot 6 drive-1 (and auto power-on the Apple II).
NB. -s6d1 has the meaning same as -d1.
-d2 <pathname>
Start with a floppy disk in slot 6 drive-2.
NB. -s6d2 has the meaning same as -d2.
-s5d1 <pathname>
Start with a floppy disk in slot 5 drive-1 (must be used with '-s5 diskii' or '-s5 diskii13').
-s5d2 <pathname>
Start with a floppy disk in slot 5 drive-2 (must be used with '-s5 diskii' or '-s5 diskii13').
-h1 <pathname>
Start with hard disk 1 plugged in (and auto power-on the Apple II). NB. Hard disk controller card in slot 7 gets enabled.
-h2 <pathname>
Start with hard disk 2 plugged in. NB. Hard disk controller card in slot 7 gets enabled.
-s5h1 <pathname>
Start with hard disk 1 plugged into HDC in slot 5 (must be used with '-s5 hdc').
-s5h2 <pathname>
Start with hard disk 2 plugged into HDC in slot 5 (must be used with '-s5 hdc').
-s5h<1|2|3|4|5|6|7|8> <pathname>
Start with hard disk n plugged into HDC in slot 5 (must be used with '-s5 hdc').
NB. Only SmartPort firmware for enhanced //e supports hard disks 5-8.
-s7h1 <pathname>
Start with hard disk 1 plugged into HDC in slot 7 (must be used with '-s7 hdc').
-s7h2 <pathname>
Start with hard disk 2 plugged into HDC in slot 7 (must be used with '-s7 hdc').
-s7h<1|2|3|4|5|6|7|8> <pathname>
Start with hard disk n plugged into HDC in slot 7 (must be used with '-s7 hdc').
NB. Only SmartPort firmware for enhanced //e supports hard disks 5-8.
NB. For -d1,-d2,-s5d1,-s5d2,-h1,-h2,-s5h*,-s7h*, if pathname is "", then the disk is ejected or the hard disk is unplugged.
-model <apple2|apple2p|apple2jp|apple2e|apple2ee>
Select the machine model: Apple II, Apple II+, Apple II J-Plus, Apple //e, Enhanced Apple //e.
-clock-multiplier <value>
Where value is between 0.5 and 3.9, and is a base-clock multiplier, roughly mapping to 0.5MHz - 3.9MHz
-s0 <saturn|saturn64|saturn128>
Insert a Saturn 64K or Saturn 128K card into slot 0 in the Apple II or II+ machines (or similar clone).
Where -s0 saturn is an alias for -s0 saturn128.
-s3 <saturn|saturn128>
Insert a Saturn 128K card into slot 3 in any Apple II machine.
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.
-s0 <languagecard|lc>
Insert an Apple 16K Language Card into slot 0 in the original Apple II and use the F8 auto-start ROM.
NB. The Apple II+ already defaults to having a Language Card, so this switch is not required.
-s<N> empty
Remove any card from slot N (N=1-7).
NB. '-s7 empty' is useful to allow a floppy disk to boot from slot 6, drive 1. Use in combination with -d1.
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.
-s1 parallel
Insert a parallel printer card into slot 1.
-s2 ssc
Insert a SSC into slot 2.
-s3 vidhd
Insert a VidHD card into slot 3.
-s5 diskii
-s6 diskii
Insert a Disk II controller card into slot 5 or 6.
-s5 diskii13
-s6 diskii13
Insert a Disk II controller card (with 13-sector firmware) into slot 5 or 6.
-s7-empty-on-exit
Remove the hard disk controller card from slot 7 on AppleWin exit.
-s5 hdc
-s7 hdc
Insert a hard disk controller card into slot 5 or 7.
NB. For enhanced //e, the firmware will support SmartPort commands (and up to 8 hard disk devices).
-d1-disconnected, -d2-disconnected
Disconnect drive-1 and/or drive-2 from the Disk II controller card in slot 6.
-harddisknumblocks <number of ProDOS blocks>
Set the number of blocks returned by a ProDOS status call. Use -harddisknumblocks 32767 to have the same autoexpanding behavior as older AppleWin versions.
-no-nsc
Remove the No-Slot clock (NSC).
-r <number of pages>
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.
-load-state <savestate>
Load a save-state file (and auto power-on the Apple II).
NB. This takes precedent over the -d1, -d2, -s#d#, -h1, -h2, s0-7, -model and -r switches.
-f or -full-screen
Start in full-screen mode.
-no-full-screen
Start in Windowed mode (default).
-fs-height=<best|nnnn>
Use to select a better resolution for full-screen mode.

- best: picks the highest resolution where the height is an integer multiple of (192*2)
- nnnn: select a specific resolution with height=nnnn pixels

-fs-width=<nnnn>
Use in conjunction with -fs-height to select a better aspect ratio for full-screen mode.
EG. for 4:3 aspect ratio on monitors that support it: -no-full-screen -fs-width=1600 -fs-height=1200
NB. Combine with -no-full-screen to start in Windowed mode. Without this it'll just default to full-screen.
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.
-multimon
At start-up, AppleWin will use the Registry's saved "Window x/y position" to position the AppleWin window correctly for the multiple monitors
-rom <file>
Use custom 12K ROM (at $D000) for Apple II machine, or 16K ROM (at $C000) for Apple //e machine.
-f8rom <file>
Use custom 2K ROM for any Apple II machine at [$F800..$FFFF]. <file> must be 2048 bytes long.
-videorom <file>
Use an alternate custom 2K video ROM for Apple II or II+ machines (but not clones).
Use an alternate European or custom 4K, 8K or 16K (top 8K only) video ROM for the original or Enhanced //e (but not clones).
-printscreen
Enable the dialog box to display the last file saved to
-no-printscreen-key
Prevent the PrintScreen key from being registered
-no-hook-system-key
Prevent certain system key combinations from being hooked (to prevent the emulator from trapping ALT+ESC, ALT+SPACE, ALT+TAB and CTRL+ESC). This means that the equivalent Open Apple+<key> combinations won't work within the emulator.
NB. This switch takes precedence over -hook-alt-tab and -hook-altgr-control.
-no-hook-alt
Prevent the left and right ALT keys from being hooked (eg. to prevent emulation of Open/Solid Apple keys via the ALT keys).
-hook-alt-tab
By default the emulator doesn't hook ALT+TAB. Use this to allow Open Apple+TAB to be readable by the emulated machine.
-hook-altgr-control
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+<key> to be readable by the emulated machine.
NB. Suppressing this fake LEFT CONTROL seems to prevent international keyboards from being able to type certain keys.
-altgr-sends-wmchar
Use this switch to allow Solid Apple (AltGr) to be used in combination with regular keys.
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.
NB. Using this switch may prevent international keyboards from being able to type certain keys.
-capslock=off
Start with Caps Lock off.
-left-alt-control-buttons
Use Left Control & Left Alt for Open Apple & Solid Apple keys respectively.
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.
-right-alt-control-buttons
Use Right Alt (AltGr) & Right Control for Open Apple & Solid Apple keys respectively.
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.
-swap-buttons
Swap buttons 0 and 1 for all input devices.
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)
-use-real-printer
Enables Advanced configuration control to allow dumping to a real printer
-noreg
Disable registration of file extensions (.do/.dsk/.nib/.po/.woz)
-memclear <n>
Where n is [0..7]:

- 0 Initialize memory to zero
- 1 Initialize memory to random values
- 2 Initialize memory to 4 byte pattern: FF FF 00 00
- 3 Initialize memory to even pages FF, odd pages 00
- 4 Initialize memory to first half page 00, last half page FF
- 5 Initialize memory to first half page FF, last half page 00
- 6 Initialize memory to byte offset of that page (current memory address low byte) i.e. 00:00 01 02 03 ... for page $20
- 7 Initialize memory to page address (current memory address high byte) i.e. 00:20 20 20 20 ... for page $20

-modem
Shorthand for passing -dcd
Use with GBBS Pro (or any other BBS package). See the GBBS Pro 2.2 book from Call-A.P.P.L.E.
-dcd
For the SSC's 6551's Status register's DCD bit, use this switch to force AppleWin to use the state of the MS_RLSD_ON bit from GetCommModemStatus().
-alt-enter=<toggle-full-screen|open-apple-enter>
Define the behavior of Alt+Enter:

- Either: Toggle between windowed and full screen video modes (default).
- Or: Allow the emulated Apple II to read the Enter key state when Alt (Open Apple key) is pressed.

-rgb-card-type <apple|sl7|eve|feline>

- apple is Apple's Extended 80-Column Text/AppleColor Adaptor Card (default).
- sl7 is Video-7's RGB-SL7 card.

- 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 troubleshooting.

- eve/feline are Le Chat Mauve variants.

- Eve is currently unsupported, so the behavior just defaults to 'apple' RGB card type.
- 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.

Use in conjunction with the 'Color (RGB Card/Monitor)' video mode.
-rgb-card-foreground <n>
-rgb-card-background <n>
Where n is [0..15]. Defaults are foreground=15(White) and background=0(Black).
The only supported DIPSW colors are: Black=0, Blue=6, Orange=9, Green=12, White=15
NB. Only supported by '-rgb-card-type <apple|sl7>'.
Use in conjunction with the 'Color (RGB Card/Monitor)' video mode.
-rgb-card-invert-bit7
Force the RGB card to invert bit7 in MIX mode. Enables the correct rendering for Dragon Wars.
Use in conjunction with the 'Color (RGB Card/Monitor)' video mode.
-mac-lc-card-dlgr
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.
-50hz
Support 50Hz(PAL) video refresh rate and PAL 1.016MHz base CPU clock.
-60hz
Support 60Hz(NTSC) video refresh rate and NTSC 1.020MHz base CPU clock (default).
-power-on
Force a power-on.
Use to auto power-on when not using -d1, -h1 or -load-state.
-snes-max-alt-joy1 or -snes-max-alt-joy2
Use alternate button mappings for the SNES MAX card. See Input Settings.
-snes-max-user-joy1 <file.yaml> or -snes-max-user-joy2 <file.yaml>
Use a user specified button mappings file for the SNES MAX card.
For some examples, see the supplied controller_*.yaml files in the snesmax folder.
-wav-speaker <file.wav>
Save the speaker audio to a .wav file.
Warning: there's no file size limit, so it just keeps saving until AppleWin exits (~10MB per minute).
Save the Mockingboard audio (but not speech) to a .wav file.
-wav-mockingboard <file.wav>
Warning: there's no file size limit, so it just keeps saving until AppleWin exits (~10MB per minute).

Debug arguments:

-l or -log
Enable logging. Creates an AppleWin.log file.
-m
Disable DirectSound support.
-no-printscreen-dlg
Suppress the warning message-box if AppleWin fails to capture the PrintScreen key.
NB. There's now a "Don't show this message again" option on this message-box.
-screenshot-and-exit
For testing. Use in combination with -load-state.
-load-state-ignore-hdc-fw
For testing. Use in combination with -load-state.
-hdc-firmware-v1
Force all attached hard disk controllers to use the old v1 firmware (as per pre-AppleWin 1.30.17).

- NB. Switch likely to be removed after a few releases.

-s<n> hdc-[sp|bm2|bm4]

- hdc-sp: Force HDC SmartPort firmware for II/II+/Unenhanced //e machines (now won't autoboot from HDD-1).
- hdc-bm2: Modify HDC firmware: $Cn07=$3C (block mode, not SmartPort), and $CnFE to report supporting 2 block mode devices.
- hdc-bm4: Modify HDC firmware: $Cn07=$3C (block mode, not SmartPort), and $CnFE to report supporting 4 block mode devices.