/* Test_ARexx.rexx test all commands of FlashMandelWOS. Set "IF 0" to "IF 1" to test the command. © 2002 Edgar Schwan $VER: Test_ARexx.rexx 1.1 (19.2.2002) */ PARSE ARG portname ' ' . IF portname = "" THEN ADDRESS FLASHMANDEL.1; ELSE ADDRESS VALUE portname; OPTIONS RESULTS; OPTIONS FAILAT 21 IF ~SHOW('L','rexxsupport.library') THEN /* 'rexxsupport.library' laden */ CALL ADDLIB('rexxsupport.library',0,-30); /**** PROJECT ****/ /* ARexx-Command 'ABOUT'. Template: - */ IF 0 THEN DO 'ABOUT' END /* ARexx-Command 'SYSINFO'. Template: - */ IF 0 THEN DO 'SYSINFO' END /* ARexx-Command 'HELP'. Template: - */ IF 0 THEN DO 'HELP' END /* ARexx-Command 'LOAD_PICTURE'. Template: "PATH,FAST/S" */ IF 0 THEN DO 'LOAD_PICTURE' 'FLASHMANDEL:Pictures/Mandelbrot_def.iff' 'FAST' 'LOAD_PICTURE' END /* ARexx-Command 'SAVE_PICTURE'. Template: "PATH,FORCE/S" */ IF 0 THEN DO 'SAVE_PICTURE' 'ram:FlashMandel_test.iff' 'FORCE' 'SAVE_PICTURE' END /* ARexx-Command 'LOAD_PALETTE'. Template: "PATH,FAST/S" */ IF 0 THEN DO 'LOAD_PALETTE' 'FLASHMANDEL:Palettes/Palette_def.256' 'FAST' /* 'LOAD_PALETTE'*/ END /* ARexx-Command 'SAVE_PALETTE'. Template: "PATH,FORCE/S" */ IF 0 THEN DO 'SAVE_PALETTE' 'ram:Palette_test.256' 'FORCE' 'SAVE_PALETTE' END /* ARexx-Command 'PRINT'. Template: "FORCE/S" */ IF 0 THEN DO 'PRINT' 'FORCE' END /* ARexx-Command 'QUIT'. Template: "FORCE/S" */ IF 0 THEN DO 'QUIT' 'FORCE' EXIT 0 END /**** OPTIONS ****/ /* ARexx-Command 'SHOW_TITLE'. Template: "BOOLEAN/A/N" */ IF 0 THEN DO 'SHOW_TITLE' '0' END /* ARexx-Command 'SHOW_ELAPSED'. Template: - */ IF 0 THEN DO Call Delay(200); 'SHOW_ELAPSED' END /* ARexx-Command 'SET_COORDINATES'. Template: "STEM" */ IF 0 THEN DO COORDS.RMIN = '-1.336'; /* Left */ COORDS.RMAX = '-0.336'; /* Top */ COORDS.IMIN = '+0.064'; /* Right */ COORDS.IMAX = '+0.816'; /* Bottom */ COORDS.JKRE = '1'; /* Julia Real */ COORDS.JKIM = '0'; /* Julia Imag */ 'SET_COORDINATES' 'COORDS' 'RENDER' 'FORCE' 'SET_COORDINATES' END /* ARexx-Command 'GET_COORDINATES'. Template: "STEM/A" */ IF 0 THEN DO 'GET_COORDINATES' 'COORDS' SAY "RMIN: " COORDS.RMIN; /* Left */ SAY "RMAX: " COORDS.RMAX; /* Top */ SAY "IMIN: " COORDS.IMIN; /* Right */ SAY "IMAX: " COORDS.IMAX; /* Bottom */ SAY "JKRE: " COORDS.JKRE; /* Julia Real */ SAY "JKIM: " COORDS.JKIM; /* Julia Imag */ SAY ""; END /* ARexx-Command 'SET_ITERATIONS'. Template: "NUMBER/N" */ IF 0 THEN DO 'SET_ITERATIONS' '1023' 'SET_ITERATIONS' END /* ARexx-Command 'GET_ITERATIONS'. Template: "VAR/A" */ IF 0 THEN DO 'GET_ITERATIONS' 'ITERATIONS' SAY "Iterations: " ITERATIONS; SAY ""; END /* ARexx-Command 'SET_POWER'. Template: "INDEX/A/N" */ IF 0 THEN DO 'SET_POWER' '4' END /* ARexx-Command 'GET_POWER'. Template: "VAR/A" */ IF 0 THEN DO 'GET_POWER' 'POWER' SAY "Power: " POWER; SAY ""; END /* ARexx-Command 'SET_PRIORITY'. Template: "PRI/A" */ IF 0 THEN DO 'SET_PRIORITY' '0' END /* ARexx-Command 'GET_PRIORITY'. Template: "VAR/A" */ IF 0 THEN DO 'GET_PRIORITY' 'PRIORITY' SAY "Priority: " PRIORITY SAY "" END /* ARexx-Command 'SET_COLOR_REMAP'. Template: "INDEX/A/N" */ IF 0 THEN DO 'SET_COLOR_REMAP' '2' END /* ARexx-Command 'GET_COLOR_REMAP'. Template: "VAR/A" */ IF 0 THEN DO 'GET_COLOR_REMAP' 'REMAP_INDEX' SAY "Color-remap-index: " REMAP_INDEX; SAY ""; END /* ARexx-Command 'SET_FRACTAL_TYPE'. Template: "INDEX/A/N" */ IF 0 THEN DO 'SET_FRACTAL_TYPE' '2' END /* ARexx-Command 'GET_FRACTAL_TYPE'. Template: "VAR/A" */ IF 0 THEN DO 'GET_FRACTAL_TYPE' 'FRAC_INDEX' SAY "Fractal-type-index: " FRAC_INDEX; SAY ""; END /* ARexx-Command 'SET_CPU_TYPE'. Template: "INDEX/A/N" */ IF 0 THEN DO 'SET_CPU_TYPE' '2' 'GET_CPU_TYPE' 'CPU_TYPE' SAY "CPU-type-index: " CPU_TYPE; SAY ""; END /* ARexx-Command 'GET_CPU_TYPE'. Template: "VAR/A" */ IF 0 THEN DO 'GET_CPU_TYPE' 'CPU_TYPE' SAY "CPU-type-index: " CPU_TYPE; SAY ""; END /**** CALCULATION ****/ /* ARexx-Command 'SHOW_PREVIEW'. Template: - */ IF 0 THEN DO 'SHOW_PREVIEW' END /* ARexx-Command 'RENDER'. Template: "FORCE/S" */ IF 0 THEN DO 'RENDER' 'FORCE' SAY "Elapsed: " RESULT SAY "" END /* ARexx-Command 'UNDO'. Template: - */ IF 0 THEN DO 'UNDO' 'RENDER' 'FORCE' END /* ARexx-Command 'SET_FRAME'. Template: "STEM/A" */ IF 0 THEN DO FRAME.LEFT = -40; FRAME.TOP = 40; FRAME.RIGHT = 900; FRAME.BOTTOM = 800; 'SET_FRAME' 'FRAME' 'GET_FRAME' 'FRAME' SAY "Frame-left: " FRAME.LEFT; SAY "Frame-top: " FRAME.TOP; SAY "Frame-right: " FRAME.RIGHT; SAY "Frame-bottom: " FRAME.BOTTOM; SAY ""; END /* ARexx-Command 'GET_FRAME'. Template: "STEM/A" */ IF 0 THEN DO 'GET_FRAME' 'FRAME' SAY "Frame-left: " FRAME.LEFT; SAY "Frame-top: " FRAME.TOP; SAY "Frame-right: " FRAME.RIGHT; SAY "Frame-bottom: " FRAME.BOTTOM; SAY ""; END /* ARexx-Command 'ZOOM'. Template: "LEFT/A/N,TOP/A/N,WIDTH/A/N,HEIGHT/A/N,REPEATS/N,FAST/S,STEPS/N" */ IF 0 THEN DO FACT = 1.1; REPEATS = 5; STEPS = 1; ZOOMWIDTH = Round(800 / FACT); ZOOMHEIGHT = Round(600 / FACT); ZOOMLEFT = Round((800 - ZOOMWIDTH ) / 2.8); ZOOMTOP = Round((600 - ZOOMHEIGHT) / 2.8); 'ZOOM' ZOOMLEFT ZOOMTOP ZOOMWIDTH ZOOMHEIGHT REPEATS STEPS 'FAST'; SAY "zoom-elapsed: " RESULT; SAY ""; END /**** DISPLAY ****/ /* ARexx-Command 'DO_COLORCYCLING'. Template: "FORWARD/S,BACKWARD/S" */ IF 0 THEN DO 'DO_COLORCYCLING' 'FORWARD' Call Delay(200); 'DO_COLORCYCLING' 'BACKWARD' END /* ARexx-Command 'SET_DELAY'. Template: "SECONDS/N" */ IF 0 THEN DO 'SET_DELAY' '3' 'SET_DELAY' END /* ARexx-Command 'GET_DELAY'. Template: "VAR/A" */ IF 0 THEN DO 'GET_DELAY' 'DELAY' SAY "Delay: " DELAY; SAY ""; END /* ARexx-Command 'SET_PALETTE'. Template: "STEM,FAST/S" */ IF 0 THEN DO SAY "Host:" Address() PALETTE.252 = '00 22 55 88'x; PALETTE.253 = '00 66 22 EE'x; PALETTE.254 = '00 44 FF AA'x; PALETTE.255 = '00 BB BB 33'x; 'SET_PALETTE' 'PALETTE' 'FAST' /* 'SET_PALETTE'*/ END /* ARexx-Command 'GET_PALETTE'. Template: "STEM/A" */ IF 0 THEN DO 'GET_PALETTE' 'PALETTE' DO I = 0 TO 255 SAY "Color" I ||": '" || C2X(PALETTE.I) || "'x"; END I SAY ""; END /* ARexx-Command 'SET_SCREENATTRS'. Template: "STEM,FAST/S" */ IF 0 THEN DO DIMS.MODE = '40D20001'x DIMS.WIDTH = 640; DIMS.HEIGHT = 480; DIMS.DEPTH = 8; DIMS.OSCANTYPE = 'TEXT'; 'SET_SCREENATTRS DIMS' 'SET_SCREENATTRS' END /* ARexx-Command 'GET_SCREENATTRS'. Template: "STEM/A" */ IF 0 THEN DO 'GET_SCREENATTRS' 'DIMS'; SAY "Screen-mode: '" || C2X(DIMS.MODE) || "'x"; SAY "Screen-width: " DIMS.WIDTH; SAY "Screen-height: " DIMS.HEIGHT; SAY "Screen-depth: " DIMS.DEPTH; SAY ""; END /* ARexx-Command 'SET_FONT'. Template: "STEM,FAST/S" */ IF 0 THEN DO FONT_ATTR.FONTNAME = "diamond.font"; FONT_ATTR.SIZE = 12; FONT_ATTR.STYLE = "BOLD"; 'SET_FONT' 'FONT_ATTR' 'FAST' 'SET_FONT' END /* ARexx-Command 'GET_FONT'. Template: "STEM/A" */ IF 0 THEN DO 'GET_FONT' 'FONT_ATTR'; SAY "Fontname: " FONT_ATTR.FONTNAME; SAY "Fontsize: " FONT_ATTR.SIZE; SAY "Fontstyle: " FONT_ATTR.STYLE; SAY ""; END /**** MISC ****/ /* ARexx-Command 'START_TIMER'. Template: - */ /* ARexx-Command 'STOP_TIMER'. Template: - */ IF 0 THEN DO 'START_TIMER' 'RENDER' 'FORCE' 'STOP_TIMER' SAY "Time: " RESULT; SAY ""; END /* ARexx-Command 'PLAY_SOUND'. Template: "PATH/A,ASYNC/S,REPEAT/S" */ IF 0 THEN DO 'PLAY_SOUND' 'FLASHMANDEL:Welcome.8svx ASYNC REPEAT' END /* ARexx-Command 'STOP_SOUND'. Template: - */ IF 0 THEN DO 'STOP_SOUND' END EXIT 0; Round: PARSE ARG Number; IF INDEX(Number, '.') ~= 0 THEN Number = LEFT(Number, (INDEX(Number, '.') - 1)); RETURN Number;