## 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 gets enabled.
-h2 <pathname>
Start with hard disk 2 plugged-in. NB. Hard disk controller card gets enabled.
NB. For -d1,-d2,-s5d1,-s5d2,-h1,-h2, if pathname is "", then the disk is ejected or the harddisk 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.
-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.
-s1 empty
Remove the parallel printer card from slot 1.
-s1 parallel
Insert a parallel printer card into slot 1.
-s2 empty
Remove the SSC card from slot 2.
-s2 ssc
Insert a SSC into slot 2.
-s3 empty
Remove any card from slot 3.
-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.
-s6 empty
Remove the Disk II controller card from slot 6.
-s7 empty
Remove the hard disk controller card from slot 7.
Useful to allow a floppy disk to boot from slot 6, drive 1. Use in combination with -d1.
-s7-empty-on-exit
Remove the hard disk controller card from slot 7 on AppleWin exit.
-d1-disconnected, -d2-disconnected
Disconnect drive-1 and/or drive-2 from the Disk II controller card in slot 6.
-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.
-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.
-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.
-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 (~5MB per minute).
Save the Mockingboard audio 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.