
ASSEMBLER COURSE - LESSON 20: WinUAE commandline parameters (Vers 1: 09/24)

Author: Göran Strack				

hey, not really a lesson, but an overview of WinUAE Command line parameters and
a few tests. (not all is tested and not all is up to date here!)

 _______________________________________________________________________
|[] AmigaShell                                                    |F]|!"|
|"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|"|
|12.Workbench:> cd itz:asc                                            | |
|12.Work:Iltzu/Asc> ed shell01.asc                                    | |
|                                                                     | |
|                                                                     |_|
|_____________________________________________________________________|/|

*******************************************************************************
* 1. List of parameters														  *	
*******************************************************************************

link: https://www.vware.at/winuaehelp/CommandLineParameters.html ; general

Command Line Parameters
WinUAE offers many command line parameters to control its startup behavior.

WinUAE Specific
Parameter					Description

-diskswapper=d1.adf,d2.adf	; Comma-separated list of disk images. 
							; Pre-loads disk images into the Disk Swapper
							; mechanism.
-cfgparam=
-cfgparam					; Previously used to pass configuration
							; parameters, currently ignored - see the 
							; -s parameter.
-config=configfile.uae		; Load the given configuration file during 
							; startup.
-statefile=statefile.uss	; Load a saved system state file.
-f configfile.uae			; Similar to -config, but without the equals 
							; sign: will load a configuration file.
-s option=value				; Pass on one or more options from a 
							; configuration file directly, without loading
							; a file.
-h						
-help						; Opens the help, if available (the one you 
							; are reading right now).
-cdimage=image.iso			; Inserts the given image into the emulated 
							; CD-ROM drive.

If the last parameter entry is an orphan and nothing else was loaded, WinUAE 
will check if it is a config file or statefile and load it.

Generic						
Parameter					Description

-0 disk.adf
-1 disk.adf
-2 disk.adf
-3 disk.adf					; Insert specified ADF image into emulated 
							; floppy drive 0-3
-r kick.rom					; Load main ROM from the specified path.
-K kick.rom					; Load extended ROM from the specified path.
-p value					; Name for the parallel port to be configured,
							; i.e. LPT2:
-m VOLNAME:mount_point
-M VOLNAME:mount_point		; Attach a volume directly to the specified
							; mount point.
-W value					; Hardfile specification.
-S value					; Sound parameter specification
-R value					; Output framerate in frames per second.
-i							; Enable illegal memory.
-J xy						; Specify joystick 0 (x) and 1 (y). Possible 
							; values: 0/1 for joystick 0/1, M for mouse,
							; and a/b/c.
-w value					; CPU emulation speed. Possible values: 0 for 
							; cycle exact, -1 for maximum speed.
-G							; Don't show the GUI.
-D							; Start the debugger.
-n							; Enable immediate blits. Only available when 
							; illegal memory is not enabled.
-v value					; Set chipset. Possible values: 0 (OCS), 
							; 1 (ECS Agnus), 2 (ECS Denise), 3 (Full ECS), 
							; 4 (AGA)
-C value					; Set CPU specs.
-Z value					; Z3 Fastmem size, value in 1MB blocks, i.e. 2=2MB.
-U value					; RTG memory size, value in 1MB blocks, i.e. 2=2MB.
-F value					; Fastmem size, value in 1MB blocks, i.e. 2=2MB.
-b value					; Bogomem size, value in 256kB blocks, i.e. 2=512kB
-c value					; Chipmem size, value in 512kB blocks, 
							; i.e. 2=1024kB.
-l value					; Set keyboard layout language. Possible values:
							; de, dk, us, se, fr, it, es.
-O value					; Set graphics specs.
-d value					; Serial or parallel port on demand, insert
							; s or p as value.
-H value					; Color mode.


       /\
      /..\       _
     /....\   _ // AMIGA
    /......\  \X/  Powered by Motorola.
   /_......_\
     |....|
     |....|                             Taste the power. TODAY!
____ l....l _________________________ Amiga, Multitasking since 1985. ___
     |....|
     |....|             __________________________________________________
     |....|            |==================================================|
     |....|            | __  ___________  ___________            AMIGA == |
     |....|            |[_j  L_I_I_I_I_j  L_I_I_I_I_j            ~~~~~ == |
     |....|            |________________________________ _______ ______==_|
     |....|            |[__I_I_I_I_I_I_I_I_I_I_I_I_I_I_] [__I__] [_I_I_I_]|
     |....|            |[___I_I_I_I_I_I_I_I_I_I_I_I_]  |    _    [_I_I_I_]|
     |....|            |[__I_I_I_I_I_I_I_I_I_I_I_I_L___|  _[_]_  [_I_I_I_]|
     |....|            |[_____I_I_I_I_I_I_I_I_I_I_I____] [_I_I_] [_I_I_T ||
     |....|            | [__I__I_________________I__L_] ________ [___I_I_j|
     `----'            |                                                  |
                       l__________________________________________________|


*******************************************************************************
* 2. parameter																  *
*******************************************************************************

;------------------------------------------------------------------------------
; configuration - load a config-file
;------------------------------------------------------------------------------
-config=

To load a config-file, use: 'winuae.exe -config=configfile.uae'

examples:
winuae64.exe -config=configfile.uae					; absolut path													
winuae64.exe -config=%CD%\A500_Assembler.uae -G		; relativ path
;------------------------------------------------------------------------------
-f <configfile> 

To load a config-file, use: 'winuae.exe -f configfile.uae'

examples:
winuae64.exe -f A500_Assembler.uae	
winuae64.exe -f Configurations\A500_Assembler.uae
 
;------------------------------------------------------------------------------
; Options (-cfgparam)
;------------------------------------------------------------------------------
-cfgparam <configentry=configvalue >

To set/"override"/change the state of an specific option (inside a config file),
 use: 'winuae.exe -cfgparam option=parameter'.
For example: 'winuae.exe -cfgparam use_gui=no'.

parameter(s) set with: "-cfgparam" is (are) different than '-s'.
They stay in memory and "overrides" the option(s) of all loaded configurations,		
even if you try to load new config from GUI.
To disable this state just restart WinUAE.

examples:
winuae64.exe -config=A500_Assembler.uae -cfgparam use_gui=no	; works
winuae64.exe -cfgparam chipset=aga				; works
winuae64.exe -cfgparam=quickstart=A1200,3		; doesn't work

;------------------------------------------------------------------------------
; Options (-s) set options
;------------------------------------------------------------------------------
-s option=value

For example, "-s use_gui=no" sets the configuration file entry "use_gui" to
"no". You can therefore load the configuration file (-f config_file.uae) and
then change some configuration file entries by using
"-s <config_entry=something>", as many as you like.

To set/"override"/change the parameter of an specific option (inside a config
file),

use:		 'winuae.exe -s option=parameter'.
For example: 'winuae.exe -s use_gui=no'.

The option will just be changed temporary that means the configfile itself will
not be modified.

examples:
winuae64.exe -f A500_Assembler.uae	-s use_gui=no
winuae64.exe -f Configurations\A500_Assembler.uae -G

it starts WinUAE, loads configuration opens GUI or starts without GUI -G
-------------------------------------------------------------------------------

many, many possible options.... (not all tested)

winuae.exe -s floppy0=xxx.adf 
		   -s floppy0sound=1 
		   -s floppy1sound=1 
		   -s joyport0=mouse 
		   -s joyport1=joy0 
		   -s warp=true 
		   -s blitter_cycle_exact=true 
		   -s cpu_cycle_exact=true 
		   -s cpu_memory_cycle_exact=true 
		   -s chipset=aga 
		   -s cpu_model=68020 
		   -s cpu_multiplier=4		   
		   
winuae64.exe -s use_gui=no 
			-s win32.ctrl_f11_is_quit=true 
			-s gfx_fullscreen_amiga=true 
			-s quickstart=a500,1 
			-s floppy0=disk1.adf 
			-s diskimage0=disk 1.adf 
			-s diskimage1=disk2.adf  

winuae.exe -s use_gui=no 
		   -s win32.ctrl_f11_is_quit=true 
		   -s gfx_fullscreen_amiga=true 
		   -s quickstart=a500,1 
		   -s floppy0="disc1.ipf" floppyimage0="disc1.ipf" floppyiamge1="disc2.ipf" floppyimage2="disc3.ipf"

winuae.exe -s cpu_type=68020
			-s quickstart=cd32,0

winuae.exe	-s use_gui=no 
			-s quickstart=a1200,1 
			-s hardfile=rw,32,1,2,512,.\HDD\Workbench3.1.hdf 
			-s filesystem=rw,Work:.\HDD\Work 
			-s filesystem=ro,WHDLOAD:C:\amiga\whdload\ATF2_v1.1a_2396.zip 
			-portable

winuae.exe	-s debugging_trigger=SYS:gencop 
			-s filesystem=rw,dh0:C:\uae\dh0

winuae64.exe -cfgparam=quickstart=A1200,3 
			-cfgparam=debug_mem=true -G
			-s filesystem2=rw,DH0:DH0:%CD%\hd,0 
			-s uaehf0=dir,rw,DH0:DH0:%CD%\hd,0 

For possible options look inside a Config-File. You can found the Configfiles
over WinUAE properties/path:
C:\Users\Public\Documents\Amiga Files\WinUAE\Configurations

And normally between -s and -cfgparam there is no difference. -s is only newer.

;------------------------------------------------------------------------------
; -s quickstart=  ; "Add Directory or Archive"
;------------------------------------------------------------------------------
WinUAE Properties open with F12
Quickstart/Emulated hardware

			-cfgparam=quickstart=A1200,3
			-s quickstart=a1200,1
			-s quickstart=cd32,0 
			-s quickstart=a500,1
			
;------------------------------------------------------------------------------
; -s filesystem=  ; "Add Directory or Archive"
;------------------------------------------------------------------------------
WinUAE Properties open with F12
WinUAE/Hardware/CD & Hard drives: Button "Add Directory or Archive"

Device name:  Textbox	eg.: DH1
Volume label: Textbox	eg.: Programs
Path:		  Textbox	eg.:
Read/write:   Checkbox	eg.: set
Bootable:	  Checkbox	eg.: set
Boot priority: Textbox	eg.: o

in commandline 'Add Directory or Archive' is: "filesystem="

general description:
filesystem=read/write,device_name:volume_label:<path to directory\archive>
filesystem2=read/write,device_name:volume_label:<path to directory\archive>,0 (last zero is boot priority)			 
filesystem2=rw,DH0:volumename:<path to directory\archive>,0 (last zero is boot priority)

examples:
filesystem=rw,dh0:C:\uae\dh0
filesystem=rw,Work:.\HDD\Work
filesystem2=rw,DH0:DH0:%CD%\hd,0

Read/write:
rw - read/write
ro - read only
wo - write only

-------------------------------------------------------------------------------
HDD - Hard disk image (or directory)

If you use a folder based HD you could copy a specific startup-sequence to your
boot partitions 's' folder and then start the emulation.

Finally there are 2 ways in which you could do this:
First: 
Set a Quickstart and add a hard drive in:

winuae -s quickstart=a1200,1 
	   -s use_gui=no 
	   -hardfile=rw,1,32,2,512,<harddrivefile path>\<name>.hdf

Second:
Have the user load WinUAE, set a Quickstart and add in the desired .hdf. 
Save the configuration file as say Scorpion.uae.

Now use this command line:
winuae -f "Scorpion.uae" 

;------------------------------------------------------------------------------
; -s hardfile=  ; "Add Hardfile"
;------------------------------------------------------------------------------
WinUAE Properties open with F12
WinUAE/Hardware/CD & Hard drives: Button "Add Hardfile"

Path:		Textbox	eg.:
Geometry:	Textbox	eg.: ?
FileSys:	Textbox	eg.: ?
Device:		Textbox	eg.: ?
Read/write:				Checkbox	eg.: set
Don not mount:			Checkbox	eg.: set
Full drive/RDB mode:	Checkbox	eg.: set
Boot priority: Textbox	eg.: o
Bootable:	  Checkbox	eg.: set
Surfaces:	Textbox	eg.: 1
Sectors:	Textbox	eg.: 32
Reserved:	Textbox	eg.: 2
Blocksize: Textbox	eg.: 512
...

general description:
hardfile=read/write,surfaces,sectors,reserved,block size,<harddrivefile path>\<name>.hdf
hardfile=rw,1,32,2,512,<harddrivefile path>\<name>.hdf

examples:
hardfile=rw,32,1,2,512,.\HDD\Workbench3.1.hdf
hardfile2=rw,DH0:".\\Simon The Sorcerer II The Lion, The Wizard And The Wardrobe.hdf",32,1,2,512,0,,uae0


;------------------------------------------------------------------------------
; -s uaehf0 ; "?"
;------------------------------------------------------------------------------

open point

uaehf0=dir,rw,DH0:DH0:%CD%\hd,0
uaehf0=hdf,rw,DH0:".\\Simon The Sorcerer II The Lion, The Wizard And The Wardrobe.hdf",32,1,2,512,0,,uae0

;------------------------------------------------------------------------------
; -s joyport1=		Host/Game ports
;------------------------------------------------------------------------------

winuae64.exe -f configs\A500_Assembler.uae
			-s joyport1=kbd2

winuae64.exe -f configs\A500_Assembler.uae 
			-s joyport0=kbd2 
			-s joyport1=mouse

kbd1="Keyboard Layout A"
kbd2="Keyboard Layout B"

;------------------------------------------------------------------------------
; 						Host/Filter
;------------------------------------------------------------------------------

-s gfx_resolution=superhires
-s gfx_filter_horiz_zoom_multf=2.000000		; horizontal size in filter
-s gfx_filter_horiz_zoom_multif=1.000000

;------------------------------------------------------------------------------
; -cdimage= ; "xxx"
;------------------------------------------------------------------------------

examples:
winuae64.exe -f CD32.uae -G
			 -s quickstart=cd32,0
			 -cdimage=full_path_to_Rom		
			 -s quickstart=cd32,0 
			 -cdimage=path/to/cd.cue 
			 -s use_gui=no

Also remember to enclose the entire parameter "-cdimage=path" in 
quotation marks if the path contains spaces.

;------------------------------------------------------------------------------
; -diskswapper=  ; "Host/Disk swapper"
;------------------------------------------------------------------------------


This makes it possible to add disk image(s) to diskswapper while WinUAE starts.
'winuae.exe -diskswapper image1, image2,...'

examples:
winuae.exe -s use_gui=no 
		-s quickstart=a500,1 
		-diskswapper="D:\Hyperspin\Emulators\WinUAE2.4.1.0\1.zip" 
		-0 "D:\Hyperspin\Emulators\WinUAE2.4.1.0\1.zip


-diskswapper-Command line archive "unzip" now implemented works also with zip
 files

winuae.exe -s use_gui=no 
	-s gfx_fullscreen_amiga=true 
	-s quickstart=a500,1 
	-diskswapper="path to game\game name.extension" 
	-0 "path to game \game name.extension“ 

(default.uae configuration is loaded automatically)

;------------------------------------------------------------------------------
; various
;------------------------------------------------------------------------------
-nomultidisplay		; use only primary monitor
-scsilog			; enable scsi logging
-norawinput			; don't try to enable rawinput (Windows XP multimouse)
-forcerdtsc			; always use RDTSC (CPU internal clock counting register)
-nordtsc			; never use RDTSC, use "high-resolution performance 
					; counter" instead.
					; (WinUAE normally selects best counter automatically)
-help				; (nothing happens)
-h					; (nothing happens too)
-rdbdump			; dump the "Rigid Disk Block" of all mounted drives to 
					; file(s) called rdb_dump_x.rdb.
-log				; enable logging, it is basically the same like the 
					; log-option in misc-panel
					; (WinUAE normally selects best counter automatically)
-0 <path to image in drive 0> ; and -1, -2 and -3 for other drives		
-serlog 
-inputdevicelog 16	; debug switches
					; 16 - that allowed to write the POTINP read/write in the
					; log, which allowed me to find an issue
					; T.W. Most of them are undocumented debugging options that
					; keep changing between versions.
-r "xxx.rom" 
-c 4 
-b 0 
-F 2 

-noaspifiltering
					enable detection of all SCSI devices
					(uaescsi.device normally only supports SCSI/IDE CDROMs)
					->"How to add/enable zip drive to/in WinUAE?"
http://eab.abime.net/showthread.php?t=12039&highlight=noaspifiltering

-disableharddrivesafetycheck
		if enabled WinUAE allows to use each harddrive which is recognized by
		Windows(C) (TM) even if there is allready something installed -
		for example an operating system.
		If you allready removed all files and partitions and WinUAE still does not
		detect your "empty" drive which you want to use then this parameter is more
		than helpfull too.
		This switch makes it possible to use "xx in 1 cardreader" and attached
		drives/cards (e.g.: CF II Cardflash, Microdrive, Smartmedia etc...) directly.
		

;******************************************************************************
; WinUAE Properties/ Host / Misc
;******************************************************************************

Untrap : middle button
explanation:

Show GUI on startup
explanation:
- actually only interesting if the emulation with all settings is started 
  immediately when called via the command line is started

Use CTRL-F11 to quit
explanation:
- if active, WinUAE can be terminated with Ctrl+F11

Don't show taskbar button
explanation:
- no icon is displayed in the taskbar, interesting when working in "secret"
  mode

Don't show notification icon
explanation:
- no icon is displayed in the "little taskbar", interesting when working in 
 "secret" mode

Main window always on top
explanation:

GUI window always on top
explanation:

Disable screensaver
explanation:

Synchronize clock
explanation:

One second reboot pause
explanation:

Faster RTG
explanation:

Clipboard sharing
explanation:

Allow native code
explanation:

Native on—screen display
explanation:

RTG on-screen display
explanation:

Create winuaelog.txt
explanation: 

Log illegal memory accesses
explanation: Debugger

Blank unused displays
explanation:

Start mouse uncaptured
explanation:

Start minimized
explanation:

Minimize when focus is lost
explanation:

Black frame insertion
explanation:

#Master floppy write protection
explanation:

Master harddrive write protection
explanation:

Hide all UAE autoconfig boards
explanation:

Right Control = Right Windows key
explanation:

Windows shutdown/logoff notification
explanation:

Warn when attempting to close window
explanation:

Power led dims when audio filter is disabled
explanation:

Automatically capture mouse when window is activated
explanation:

Debug memory space
explanation: Debugger for uaedbg usefull ??

Force hard reset if CPU halted
explanation:

A600/A1200/A4000 IDE scsi.device disable
explanation:

Warp mode reset
explanation:

GUI gamepad control
explanation:

Default on screen keyboard (Pad button 4)   
explanation:


*******************************************************************************
*																			  *
*******************************************************************************
