home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Exec 5 / CD_Magazyn_EXEC_nr_5.iso / Programy / Emulatory / AmigaOS-uae086-exe.lha / uae-0.8.6 / UAEWB < prev    next >
AmigaDOS Script File  |  1999-01-12  |  4KB  |  232 lines

  1. .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
  2. .bra {
  3. .ket }
  4.  
  5. ; $VER: UAEWB 0.2 (26.01.97) © by Samuel Devulder
  6.  
  7. ; ==============================================
  8. ; NOGUI forces the interpretation of CMDLINE arg
  9. ; ==============================================
  10. IF NOT {NOGUI} 
  11.   Skip DO_GUI
  12. ENDIF
  13.  
  14. ; ===============
  15. ; Analyse CMDLINE
  16. ; ===============
  17.  
  18. FAILAT 20
  19.  
  20. ; ============================================
  21. ; Ensure IXEMUL will use the ENV:UAESM we want
  22. ; ============================================
  23. Delete >NIL: ENV:UAESM
  24. Avail >NIL: flush
  25.  
  26. ; ==================
  27. ; SCREEN TYPE OPTION
  28. ; ==================
  29. Set HOPT " -H1"
  30. If {DEFSCR}
  31.    Set HOPT " -H0"
  32. Endif
  33. If {PUBSCR}
  34.    Set HOPT " -H1"
  35. Endif
  36. If {REQSCR}
  37.    Set HOPT " -H2"
  38. Endif
  39. Set tmp1 `eval {DEPTH}+0`
  40. Set tmp2 `eval {SM}+0`
  41. If $tmp1 GT 0
  42.    If $tmp2 GT 0
  43.         SetEnv UAESM $tmp2:$tmp1
  44.         Set HOPT " -H2"
  45.    ELSE
  46.       Echo "Error: Missing SM=<num> argument"
  47.       Quit 10
  48.    Endif
  49. ELSE
  50.   If $tmp2 GT 0
  51.       Echo "Error: Missing DEPTH=<num> argument"
  52.       Quit 10
  53.   Endif
  54. Endif
  55.  
  56. ; ===========
  57. ; WINDOW SIZE
  58. ; ===========
  59. Set OOPT " -O640:512:XYd"
  60. If {LORES}
  61.    Set OOPT " -O320:256:XYl"
  62. Endif
  63. If {HIRES}
  64.    Set OOPT " -O640:512:XYd"
  65. Endif
  66.  
  67. ; ========
  68. ; RAM SIZE
  69. ; ========
  70. Set RAMOPT ""
  71. If {CHIP}
  72.    Set tmp1 `eval {CHIP}/256`
  73.    If $tmp1 GT 0
  74.       Set RAMOPT "$RAMOPT -c$tmp1"
  75.    ELSE
  76.       Echo "Error: CHIP=256 or 512 or 1024 or 2048"
  77.       Quit 10
  78.    Endif
  79. Endif
  80. If {Z2RAM}
  81.    Set tmp1 `eval {Z2RAM}/1024`
  82.    If $tmp1 GT 0
  83.       Set RAMOPT "$RAMOPT -F$tmp1"
  84.    ELSE
  85.       Echo "Error: Z2RAM=1024 or 2048 or ... or 8192"
  86.       Quit 10
  87.    Endif
  88. Endif
  89. If {Z3RAM}
  90.    Set tmp1 `eval {Z3RAM}/1024`
  91.    If $tmp1 GT 0
  92.       Set RAMOPT "$RAMOPT -Z$tmp1"
  93.    ELSE
  94.       Echo "Error: Z3RAM=1024 or 2048 or ..."
  95.       Quit 10
  96.    Endif
  97. Endif
  98. If {SLOWFAST}
  99.    Set tmp1 `eval {SLOWFAST}/256`
  100.    If $tmp1 GT 0
  101.       Set RAMOPT "$RAMOPT -s$tmp1"
  102.    ELSE
  103.       Echo "Error: SLOWFAST=512 or 1024"
  104.       Quit 10
  105.    Endif
  106. Endif
  107.  
  108. ; =====
  109. ; DISKS
  110. ; =====
  111. Set DISKS ""
  112. If {DF0}
  113.   Set DISKS "$DISKS -0{DF0}"
  114. Endif
  115. If {DF1}
  116.   Set DISKS "$DISKS -1{DF1}"
  117. Endif
  118. If {DF2}
  119.   Set DISKS "$DISKS -2{DF2}"
  120. Endif
  121. If {DF3}
  122.   Set DISKS "$DISKS -3{DF3}"
  123. Endif
  124. If {ROMFILE}
  125.   Set RISKS "$DISKS -r{ROMFILE}"
  126. Endif
  127.  
  128. ; =====
  129. ; SOUND
  130. ; =====
  131. Set SOUND " -S2"
  132. If {NOSOUND}
  133.   Set SOUND " -S0"
  134. Endif
  135.  
  136. ; ====
  137. ; MISC
  138. ; ====
  139. Set MISC ""
  140. If {NODITHER}
  141.   Set MISC "$MISC -x"
  142. Endif
  143. If {GRAY}
  144.   Set MISC "$MISC -T"
  145. Endif
  146. If {FASTBLIT}
  147.   Set MISC "$MISC -n3i"
  148. Endif
  149. Set tmp1 `eval {FRAMERATE}+0`
  150. If $tmp1 GT 0
  151.   Set MISC "$MISC -f$tmp1"
  152. Endif
  153.  
  154. ; ===============
  155. ; VOLUME MOUNTING
  156. ; ===============
  157. Set MOUNT ""
  158. If {MOUNT}
  159.   Set MOUNT "-m{MOUNT}"
  160. Endif
  161.  
  162. ; ============
  163. ; Launch GUI ?
  164. ; ============
  165. If {GUI}
  166.    Set tmp1 "UAEGUI.rexx"
  167.    If EXISTS $tmp1
  168.       Run >nil: rx $tmp1
  169.    ELSE
  170.    Set tmp1 "src/UAEGUI.rexx"
  171.    If EXISTS $tmp1
  172.       Run >nil: rx $tmp1
  173.    ELSE
  174.    Set tmp1 "amiga/UAEGUI.rexx"
  175.    If EXISTS $tmp1
  176.       Run >nil: rx $tmp1
  177.    ELSE
  178.       Echo "Warning: Can not find UAEGUI.rexx."
  179.    Endif
  180.    Endif
  181.    Endif
  182. Endif
  183.  
  184. Stack >NIL: 32000
  185.  
  186. echo "Running *"uae$HOPT$OOPT$RAMOPT$SOUND$MISC$DISKS$MOUNT*""
  187.  
  188. If EXISTS uae.aos
  189.    UAE.aos $HOPT$OOPT$RAMOPT$SOUND$MISC$DISKS$MOUNT
  190. ELSE
  191.    UAE $HOPT$OOPT$RAMOPT$SOUND$MISC$DISKS$MOUNT
  192. Endif
  193.  
  194. Quit $RC
  195.  
  196. ; ====================
  197. ; Run the GUI Launcher
  198. ; ====================
  199. Lab DO_GUI
  200. ; in some case on my setup, I have a deadlock if this is not loaded
  201. Version >NIL: LIBS:compressors/xpkGZIP.library
  202.  
  203. ; check for MUIREXX
  204. Which >NIL: MuiRexx
  205. If WARN
  206.    Set Title "UAEWB: Error!"
  207.    Set Body  "Can't find MUIRexx! (UAE needs at least MUIRexx 3.0)"
  208.    If EXISTS c:RequestChoice
  209.       c:RequestChoice "$Title" "$Body" "Ok"
  210.    Else
  211.       Echo >"CON://320/50/$Title/WAIT/CLOSE" "$Body"
  212.    Endif
  213.    Quit 10
  214. Endif
  215.  
  216. ;check for ixemul
  217. Version >NIL: ixemul.library 47
  218. If WARN
  219.    Set Title "UAEWB: Error!"
  220.    Set Body  "Can't find ixemul.library v47!"
  221.    If EXISTS c:RequestChoice
  222.       c:RequestChoice "$Title" "$Body" "Ok"
  223.    Else
  224.       Echo >"CON://320/50/$Title/WAIT/CLOSE" "$Body"
  225.    Endif
  226.    Quit 10
  227. Endif
  228.  
  229. ; 32Kb stack should be enough
  230. Stack >NIL: 32000         
  231. rx >NIL: UAEWB.rexx
  232.