|
|
1.1 ! root 1: /*rx ! 2: * ! 3: * UAEWB.aux - auxiliary rx script for UAEWB ! 4: * ! 5: * $VER: UAEWB.aux 0.2 (26.01.98) � by Samuel Devulder ! 6: * ! 7: * Usage: UAEWB.aux [a500|ham|default|about|use|save] ! 8: */ ! 9: ! 10: Cycle_Active = 0x80421788 ! 11: Selected = 0x8042654B ! 12: Slider_Level = 0x8042AE3A ! 13: MUIA_Background = 0x8042545b ! 14: MUIA_ControlChar = 0x8042120b ! 15: MUIA_Frame = 0x8042ac64 ! 16: MUIA_Text_HiChar = 0x804218ff ! 17: MUIA_Window_DepthGadget = 0x80421923 ! 18: MUIA_Window_DragBar = 0x8042045d ! 19: MUIA_Window_SizeGadget = 0x8042e33d ! 20: ! 21: MUII_WindowBack = 0 ! 22: MUIV_Frame_None = 0 ! 23: FALSE = 0 ! 24: ! 25: OPTIONS RESULTS ! 26: PARSE ARG ACTION . ! 27: ACTION=upper(ACTION) ! 28: ! 29: ADDRESS UAEWB ! 30: ! 31: UAEPREFS = "ENV:UAEWB" ! 32: ! 33: /* if set prefs to default */ ! 34: IF ACTION='DEFAULT' THEN DO ! 35: CYCLE ID SIZE LABEL "LORES" ! 36: CYCLE ID SCRN LABEL "PUBLIC" ! 37: STRING ID SM CONTENT "" ! 38: CYCLE ID DEPTH LABEL "N/A" ! 39: SLIDER ID SLDR ATTRS 0x8042AE3A "1" ! 40: CHECK ID GRAY ATTRS 0x8042654B "0" ! 41: CHECK ID DITH ATTRS 0x8042654B "1" ! 42: CYCLE ID CHIP LABEL "2 Mb" ! 43: CYCLE ID SLOW LABEL "None" ! 44: CYCLE ID FAST LABEL "None" ! 45: POPSLIDER ID Z3RAM ATTRS 0x8042AE3A "0" ! 46: POPASL ID ROMF CONTENT "DEVS:Kickstarts/" ! 47: POPASL ID DF0 CONTENT "" ! 48: POPASL ID DF1 CONTENT "" ! 49: POPASL ID DF2 CONTENT "" ! 50: POPASL ID DF3 CONTENT "" ! 51: STRING ID VMOU1 CONTENT "" ! 52: STRING ID VMOU2 CONTENT "" ! 53: POPASL ID VPAT1 CONTENT "" ! 54: POPASL ID VPAT2 CONTENT "" ! 55: CYCLE ID SOUND LABEL "NONE" ! 56: CYCLE ID AUDBIT LABEL "8 bits" ! 57: CYCLE ID AUDMS LABEL "mono" ! 58: POPSLIDER ID FREQ ATTRS 0x8042AE3A "11" ! 59: POPSLIDER ID BUFF ATTRS 0x8042AE3A "8" ! 60: POPASL ID SFILE CONTENT "" ! 61: CYCLE ID FBLT LABEL "ON" ! 62: CYCLE ID GUI LABEL "Enabled" ! 63: CYCLE ID JOY0 LABEL "Mouse" ! 64: CYCLE ID JOY1 LABEL "Joystick" ! 65: CYCLE ID CPUT LABEL "68020" ! 66: SLIDER ID CPUR ATTRS 0x8042AE3A "4" ! 67: POPASL ID SIFF CONTENT "" ! 68: STRING ID EXTRA CONTENT "" ! 69: EXIT 0 ! 70: END; ELSE IF ACTION='A500' THEN DO ! 71: CYCLE ID CHIP LABEL "512 Kb" ! 72: CYCLE ID SLOW LABEL "512 Kb" ! 73: CYCLE ID FAST LABEL "None" ! 74: POPSLIDER ID Z3RAM ATTRS 0x8042AE3A "0" ! 75: CYCLE ID CPUT LABEL "68000" ! 76: SLIDER ID CPUR ATTRS 0x8042AE3A "4" ! 77: EXIT 0 ! 78: END; ELSE IF ACTION='HAM' THEN DO ! 79: STRING ID SM CONTENT "0x21800" ! 80: CYCLE ID DEPTH LABEL "6" ! 81: CYCLE ID SCRN LABEL "ModeID" ! 82: EXIT 0 ! 83: END; ELSE IF ACTION='ABOUT' THEN DO ! 84: WINDOW ID ABOUT ATTRS MUIA_Window_DepthGadget FALSE, ! 85: MUIA_Window_DragBar FALSE MUIA_Window_SizeGadget FALSE ! 86: GROUP HORIZ ! 87: BUTTON ICON "UAEWB" TRANS ATTRS MUIA_Background MUII_WindowBack, ! 88: MUIA_Frame MUIV_Frame_None ! 89: TEXT ATTRS MUIA_Background MUII_WindowBack MUIA_Frame MUIV_Frame_None, ! 90: LABEL "\033cUAE is the UAE Amiga Emulator\n"||, ! 91: "(\033irecursive definition\033n)\n"||, ! 92: "by Bernd Schmidt & contributors\n\n"||, ! 93: "Amiga Port by Samuel Devulder\n\n"||, ! 94: "This GUI uses MUIRexx\nby Russell Leighton" ! 95: ENDGROUP ! 96: GROUP HORIZ ! 97: SPACE HORIZ ! 98: BUTTON ID OK_BUTT COMMAND """WINDOW ID ABOUT CLOSE""" PORT UAEWB ATTRS MUIA_ControlChar 13 LABEL "Ok" ! 99: SPACE HORIZ ! 100: ENDGROUP ! 101: ENDWINDOW ! 102: EXIT 0 ! 103: END ! 104: ! 105: /* ELSE use or save */ ! 106: WINDOW ID WAIT ATTRS 0x80421923 0 0x8042045d 0 ! 107: LABEL "\033b\033cPlease wait\nwhile UAE is booting...\033n" ! 108: ENDWINDOW ! 109: ! 110: IF ~OPEN(ENVFILE,UAEPREFS,"w") then exit(255) ! 111: call writeln(ENVFILE,"/*rx*/"); ! 112: call writeln(ENVFILE,"ADDRESS UAEWB") ! 113: ! 114: /* DISPLAY */ ! 115: UAE_SIZE = get_val("CYCLE ID SIZE",LABEL) ! 116: UAE_SCRN = get_val("CYCLE ID SCRN",LABEL) ! 117: UAE_SM = get_val("STRING ID SM",CONTENT) ! 118: UAE_DEPTH = get_val("CYCLE ID DEPTH",LABEL) ! 119: UAE_FRATE = get_val("SLIDER ID SLDR ATTRS" Slider_Level,"") ! 120: UAE_GRAY = get_val("CHECK ID GRAY ATTRS" Selected,"") ! 121: UAE_DITH = get_val("CHECK ID DITH ATTRS" Selected,"") ! 122: ! 123: /* MEMORY */ ! 124: UAE_CHIP = get_val("CYCLE ID CHIP",LABEL) ! 125: UAE_SLOW = get_val("CYCLE ID SLOW",LABEL) ! 126: UAE_FAST = get_val("CYCLE ID FAST",LABEL) ! 127: UAE_Z3 = get_val("POPSLIDER ID Z3RAM ATTRS" Slider_Level,"") ! 128: UAE_ROM = get_val("POPASL ID ROMF",CONTENT) ! 129: ! 130: /* DISKS */ ! 131: UAE_DF0 = get_val("POPASL ID DF0",CONTENT) ! 132: UAE_DF1 = get_val("POPASL ID DF1",CONTENT) ! 133: UAE_DF2 = get_val("POPASL ID DF2",CONTENT) ! 134: UAE_DF3 = get_val("POPASL ID DF3",CONTENT) ! 135: UAE_VMOU1 = get_val("STRING ID VMOU1",CONTENT) ! 136: UAE_VMOU2 = get_val("STRING ID VMOU2",CONTENT) ! 137: UAE_VPAT1 = get_val("POPASL ID VPAT1",CONTENT) ! 138: UAE_VPAT2 = get_val("POPASL ID VPAT2",CONTENT) ! 139: ! 140: /* SOUND */ ! 141: UAE_SOUND = get_val("CYCLE ID SOUND",LABEL) ! 142: UAE_AUDMS = get_val("CYCLE ID AUDMS",LABEL) ! 143: UAE_AUDBI = get_val("CYCLE ID AUDBIT",LABEL) ! 144: UAE_FREQ = get_val("POPSLIDER ID FREQ ATTRS" Slider_Level,"") ! 145: UAE_BUFF = get_val("POPSLIDER ID BUFF ATTRS" Slider_Level,"") ! 146: UAE_SFILE = get_val("POPASL ID SFILE",CONTENT) ! 147: ! 148: /* MISC */ ! 149: UAE_FBLT = get_val("CYCLE ID FBLT",LABEL) ! 150: UAE_GUI = get_val("CYCLE ID GUI",LABEL) ! 151: UAE_JOY0 = get_val("CYCLE ID JOY0",LABEL) ! 152: UAE_JOY1 = get_val("CYCLE ID JOY1",LABEL) ! 153: UAE_CPUT = get_val("CYCLE ID CPUT",LABEL) ! 154: UAE_CPUR = get_val("SLIDER ID CPUR ATTRS" Slider_Level,"") ! 155: UAE_SIFF = get_val("POPASL ID SIFF",CONTENT) ! 156: UAE_EXTRA = get_val("STRING ID EXTRA",CONTENT) ! 157: ! 158: call CLOSE(ENVFILE) ! 159: ! 160: /* IF SAVE prefs to envarc, do it */ ! 161: IF ACTION='SAVE' THEN ADDRESS COMMAND "COPY "UAEPREFS" ENVARC: NOREQ QUIET" ! 162: ! 163: /* create UAE command line */ ! 164: ADDRESS COMMAND ! 165: line = "" ! 166: ! 167: /* video options */ ! 168: UAE_SIZE = upper(UAE_SIZE) ! 169: UAE_SCRN = upper(UAE_SCRN) ! 170: IF UAE_SIZE = 'LORES' then line = line "-O320:256:XYl" ! 171: IF UAE_SIZE = 'HIRES' then line = line "-O640:512:XYd" ! 172: IF UAE_SCRN = 'MODEID' then DO ! 173: IF (UAE_DEPTH = "N/A") | (UAE_SM=="") | (UAE_SM=0) THEN DO ! 174: 'RequestChoice "UAELauncher - Error" "Please set ModeID and Depth correctly" "Ok!"' ! 175: EXIT 0 ! 176: END ! 177: line = line "-H2" ! 178: Delete "ENV:UAESM >NIL:" ! 179: Avail flush ">NIL:" ! 180: SetEnv UAESM UAE_SM":"UAE_DEPTH ! 181: END ! 182: IF UAE_SCRN = ASLREQ then line = line "-H2" ! 183: IF UAE_SCRN = PUBLIC then line = line "-H1" ! 184: IF UAE_SCRN = DEFSCR then line = line "-H0" ! 185: line = line "-f"UAE_FRATE ! 186: IF UAE_GRAY then line = line "-T" ! 187: IF ~UAE_DITH then line = line "-x" ! 188: ! 189: /* RAM options */ ! 190: PARSE VAR UAE_CHIP NUM .;IF NUM<512 THEN NUM=NUM*1024;NUM=NUM/512; ! 191: IF NUM~=4 THEN line = line "-c"NUM ! 192: PARSE VAR UAE_SLOW NUM .;IF NUM=512 THEN line=line "-s2" ! 193: IF NUM=1024 THEN line=line "-s4" ! 194: PARSE VAR UAE_FAST NUM .;IF upper(NUM)~='NONE' THEN line=line "-F"NUM ! 195: PARSE VAR UAE_Z3 NUM .;IF NUM~=0 THEN line=line "-Z"NUM ! 196: IF OPEN(ROM,UAE_ROM,'R') THEN DO ! 197: line=line "-r"UAE_ROM; ! 198: call close(ROM); ! 199: end ! 200: ! 201: /* DISKS */ ! 202: UAE_VMOU1=compress(UAE_VMOU1,":") ! 203: UAE_VMOU2=compress(UAE_VMOU2,":") ! 204: IF UAE_DF0~="" THEN line=line "-0"UAE_DF0 ! 205: IF UAE_DF1~="" THEN line=line "-1"UAE_DF1 ! 206: IF UAE_DF2~="" THEN line=line "-2"UAE_DF2 ! 207: IF UAE_DF3~="" THEN line=line "-3"UAE_DF3 ! 208: IF UAE_VMOU1~="" & UAE_VPAT1~="" THEN line=line "-m"UAE_VMOU1":"UAE_VPAT1 ! 209: IF UAE_VMOU2~="" & UAE_VPAT2~="" THEN line=line "-m"UAE_VMOU2":"UAE_VPAT2 ! 210: ! 211: /* SOUND */ ! 212: UAE_SOUND=upper(UAE_SOUND) ! 213: UAE_AUDMS=upper(UAE_AUDMS) ! 214: UAE_AUDBI=upper(UAE_AUDBI) ! 215: IF UAE_SOUND="NONE" THEN line=line "-S0" ! 216: ELSE IF UAE_SOUND="OFF" THEN line=line "-S1" ! 217: ELSE DO ! 218: IF UAE_SOUND="ON" THEN line=line "-S2"; ELSE line=line "-S3" ! 219: IF UAE_AUDMS="MONO" THEN line=line":m"; ELSE line=line":s" ! 220: IF UAE_AUDBI="8 BITS" THEN line=line":8"; ELSE line=line":16" ! 221: line=line":"||trunc(UAE_FREQ*11025/11)||":"UAE_BUFF*1024 ! 222: END ! 223: IF OPEN(ZZZ,UAE_SFILE,"w") THEN DO ! 224: CALL CLOSE(ZZZ) ! 225: ADDRESS COMMAND "Delete >NIL: ENV:AUDIONAME" ! 226: ADDRESS COMMAND 'Setenv AUDIONAME "'UAE_SFILE'"' ! 227: END ! 228: ! 229: /* MISC */ ! 230: UAE_CPUT=upper(UAE_CPUT) ! 231: IF upper(UAE_FBLT)="ON" THEN line=line "-n3i" ! 232: IF UAE_CPUT="MC68K" THEN line=line "-C0c" ! 233: ELSE IF UAE_CPUT="68000" THEN line=line "-C0" ! 234: ELSE IF UAE_CPUT="68010" THEN line=line "-C1" ! 235: ELSE IF UAE_CPUT="68020" THEN line=line "-C2" ! 236: ELSE IF UAE_CPUT="020/881" THEN line=line "-C3" ! 237: IF UAE_CPUR~=4 THEN line=line "-w"||UAE_CPUR ! 238: IF UAE_SIFF~="" THEN DO ! 239: ADDRESS COMMAND 'Delete >NIL: ENV:UAEIFF' ! 240: ADDRESS COMMAND 'Setenv UAEIFF "'UAE_SIFF'"' ! 241: END ! 242: UAE_JOY0=upper(UAE_JOY0) ! 243: UAE_JOY1=upper(UAE_JOY1) ! 244: IF UAE_JOY0="MOUSE" THEN ZZZ="-JM" ! 245: IF UAE_JOY0="JOYSTICK" THEN ZZZ="-J0" ! 246: IF UAE_JOY0="KEYPAD" THEN ZZZ="-Ja" ! 247: IF UAE_JOY0="ARROWS" THEN ZZZ="-Jb" ! 248: IF UAE_JOY1="MOUSE" THEN ZZZ=ZZZ||"M" ! 249: IF UAE_JOY1="JOYSTICK" THEN ZZZ=ZZZ||"0" ! 250: IF UAE_JOY1="KEYPAD" THEN ZZZ=ZZZ||"a" ! 251: IF UAE_JOY1="ARROWS" THEN ZZZ=ZZZ||"b" ! 252: IF ZZZ~="-JM0" THEN line=line ZZZ ! 253: ! 254: IF UAE_EXTRA~="" THEN line=line UAE_EXTRA ! 255: ! 256: /* GUI ? */ ! 257: IF upper(UAE_GUI)="ENABLED" THEN DO ! 258: IF EXISTS("src/UAEGUI.rexx") THEN ! 259: ADDRESS COMMAND "Run >NIL: rx src/UAEGUI.rexx" ! 260: ELSE IF EXISTS("amiga/UAEGUI.rexx") THEN ! 261: ADDRESS COMMAND "Run >NIL: rx amiga/UAEGUI.rexx" ! 262: ELSE ADDRESS COMMAND "Run >NIL: rx UAEGUI.rexx" ! 263: END ! 264: ! 265: /* and run UAE */ ! 266: ADDRESS UAEWB 'QUIT' ! 267: ADDRESS COMMAND ! 268: TMP='t:UAEWB.'time('s') ! 269: 'echo >'TMP' "FailAt 21"' ! 270: 'echo >>'TMP' "version >NIL: ppc.library"' ! 271: 'echo >>'TMP' "IF NOT ERROR"' ! 272: 'echo >>'TMP' " Set UAE uae.elf"' ! 273: 'echo >>'TMP' "ELSE"' ! 274: 'echo >>'TMP' " Set UAE uae"' ! 275: 'echo >>'TMP' "ENDIF"' ! 276: 'echo >>'TMP' "echo Starting ''*E[1m$UAE'line'*E[0m''..."' ! 277: 'echo >>'TMP' "Stack 32000"' ! 278: 'echo >>'TMP' "$UAE'line'"' ! 279: 'echo >>'TMP' "echo Exiting..."' ! 280: 'echo >>'TMP' "Wait 10"' ! 281: 'echo >>'TMP' "run >NIL: WAIT 5 +"' ! 282: 'echo >>'TMP' "Delete 'TMP'"' ! 283: 'echo >>'TMP' "Endcli"' ! 284: 'Newcli "con:/160///UAE - Output window (Use GUI or CTRL-C to quit)/NOCLOSE" from 'TMP ! 285: exit(0) ! 286: ! 287: /* GET value and update prefs */ ! 288: get_val: PROCEDURE ! 289: PARSE ARG CMD, SET ! 290: address UAEWB CMD ! 291: GVAL=RESULT ! 292: call writeln(ENVFILE,CMD SET '"'||GVAL'"') ! 293: return GVAL
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.