|
|
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.