uae-wii/src/gui-muirexx/UAEWB
2009-05-05 15:36:48 +00:00

237 lines
4.3 KiB
Plaintext
Executable File

.key NOGUI/S,GUI/S,DEFSCR/S,PUBSCR/S,REQSCR/S,SM/K,DEPTH/K,LORES/S,HIRES/S,NODITHER/S,GRAY/S,FRAMERATE/K,FASTBLIT/S,CHIP/K,SLOWFAST/K,Z2RAM/K,Z3RAM/K,NOSOUND/S,DF0/K,DF1/K,DF2/K,DF3/K,ROMFILE/K,MOUNT/K
.bra {
.ket }
; $VER: UAEWB 0.4 (01.12.2004) by Richard Drummond
Failat 21
; ==============================================
; NOGUI forces the interpretation of CMDLINE arg
; ==============================================
IF NOT {NOGUI}
Skip DO_GUI
ENDIF
; ===============
; Analyse CMDLINE
; ===============
FAILAT 20
; ============================================
; Ensure IXEMUL will use the ENV:UAESM we want
; ============================================
Delete >NIL: ENV:UAESM
Avail >NIL: flush
; ==================
; SCREEN TYPE OPTION
; ==================
Set HOPT " -H1"
If {DEFSCR}
Set HOPT " -H0"
Endif
If {PUBSCR}
Set HOPT " -H1"
Endif
If {REQSCR}
Set HOPT " -H2"
Endif
Set tmp1 `eval {DEPTH}+0`
Set tmp2 `eval {SM}+0`
If $tmp1 GT 0
If $tmp2 GT 0
SetEnv UAESM $tmp2:$tmp1
Set HOPT " -H2"
ELSE
Echo "Error: Missing SM=<num> argument"
Quit 10
Endif
ELSE
If $tmp2 GT 0
Echo "Error: Missing DEPTH=<num> argument"
Quit 10
Endif
Endif
; ===========
; WINDOW SIZE
; ===========
Set OOPT " -O640:512:XYd"
If {LORES}
Set OOPT " -O320:256:XYl"
Endif
If {HIRES}
Set OOPT " -O640:512:XYd"
Endif
; ========
; RAM SIZE
; ========
Set RAMOPT ""
If {CHIP}
Set tmp1 `eval {CHIP}/256`
If $tmp1 GT 0
Set RAMOPT "$RAMOPT -c$tmp1"
ELSE
Echo "Error: CHIP=256 or 512 or 1024 or 2048"
Quit 10
Endif
Endif
If {Z2RAM}
Set tmp1 `eval {Z2RAM}/1024`
If $tmp1 GT 0
Set RAMOPT "$RAMOPT -F$tmp1"
ELSE
Echo "Error: Z2RAM=1024 or 2048 or ... or 8192"
Quit 10
Endif
Endif
If {Z3RAM}
Set tmp1 `eval {Z3RAM}/1024`
If $tmp1 GT 0
Set RAMOPT "$RAMOPT -Z$tmp1"
ELSE
Echo "Error: Z3RAM=1024 or 2048 or ..."
Quit 10
Endif
Endif
If {SLOWFAST}
Set tmp1 `eval {SLOWFAST}/256`
If $tmp1 GT 0
Set RAMOPT "$RAMOPT -s$tmp1"
ELSE
Echo "Error: SLOWFAST=512 or 1024"
Quit 10
Endif
Endif
; =====
; DISKS
; =====
Set DISKS ""
If {DF0}
Set DISKS "$DISKS -0{DF0}"
Endif
If {DF1}
Set DISKS "$DISKS -1{DF1}"
Endif
If {DF2}
Set DISKS "$DISKS -2{DF2}"
Endif
If {DF3}
Set DISKS "$DISKS -3{DF3}"
Endif
If {ROMFILE}
Set DISKS "$DISKS -r{ROMFILE}"
Endif
If {KEYFILE}
Set DISKS "$DISKS -K{KEYFILE}"
Endif
; =====
; SOUND
; =====
Set SOUND " -S2"
If {NOSOUND}
Set SOUND " -S0"
Endif
; ====
; MISC
; ====
Set MISC ""
If {NODITHER}
Set MISC "$MISC -x"
Endif
If {GRAY}
Set MISC "$MISC -T"
Endif
If {FASTBLIT}
Set MISC "$MISC -n3i"
Endif
Set tmp1 `eval {FRAMERATE}+0`
If $tmp1 GT 0
Set MISC "$MISC -f$tmp1"
Endif
; ===============
; VOLUME MOUNTING
; ===============
Set MOUNT ""
If {MOUNT}
Set MOUNT "-m{MOUNT}"
Endif
; ============
; Launch GUI ?
; ============
If {GUI}
Set tmp1 "UAEGUI.rexx"
If EXISTS $tmp1
Run >nil: rx $tmp1
ELSE
Set tmp1 "src/UAEGUI.rexx"
If EXISTS $tmp1
Run >nil: rx $tmp1
ELSE
Set tmp1 "amiga/UAEGUI.rexx"
If EXISTS $tmp1
Run >nil: rx $tmp1
ELSE
Echo "Warning: Can not find UAEGUI.rexx."
Endif
Endif
Endif
Endif
Stack >NIL: 32000
echo "Running *"uae$HOPT$OOPT$RAMOPT$SOUND$MISC$DISKS$MOUNT*""
If EXISTS uae.aos
UAE.aos $HOPT$OOPT$RAMOPT$SOUND$MISC$DISKS$MOUNT
ELSE
UAE $HOPT$OOPT$RAMOPT$SOUND$MISC$DISKS$MOUNT
Endif
Quit $RC
; ====================
; Run the GUI Launcher
; ====================
Lab DO_GUI
; in some case on my setup, I have a deadlock if this is not loaded
Version >NIL: LIBS:compressors/xpkGZIP.library
; check for MUIREXX
Which >NIL: MuiRexx
If WARN
Set Title "UAEWB: Error!"
Set Body "Can't find MUIRexx! (UAE needs at least MUIRexx 3.0)"
If EXISTS c:RequestChoice
c:RequestChoice "$Title" "$Body" "Ok"
Else
Echo >"CON://320/50/$Title/WAIT/CLOSE" "$Body"
Endif
Quit 10
Endif
;check for ixemul
;Version >NIL: ixemul.library 47
;If WARN
; Set Title "UAEWB: Error!"
; Set Body "Can't find ixemul.library v47!"
; If EXISTS c:RequestChoice
; c:RequestChoice "$Title" "$Body" "Ok"
; Else
; Echo >"CON://320/50/$Title/WAIT/CLOSE" "$Body"
; Endif
; Quit 10
;Endif
; 32Kb stack should be enough
Stack >NIL: 32000
rx >NIL: UAEWB.rexx