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
/
UAEGUI.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1999-01-12
|
21KB
|
597 lines
/* UAEGUI.rexx - A nice GUI for uae using MUIREXX
*
* How to use it: Open a shell a type "run rx UAEGUI.rexx".
* Then, run UAE. Once uae's window is opened, the GUI will
* popup.
*
* $VER: UAEGUI.rexx 0.7 (09.01.99) © by Samuel Devulder
*
* History:
* v0.1: First try
* v0.2: Adaptation to MUIRexx3.0 (too bad, scripts for MUIRexx2.0 are
* not fully compatible with MUIRexx3.0)
* v0.3: Added speed gauges
* v0.4: Added chipset vs cpu slider. Layout modified.
* v0.5: Added small window. Lots of internal modifications.
* v0.6: Now uses rexxsupport.library (hi Zapek :)
* v0.7: Fixed Enforcer-hits caused by a bad arg in MUIA_FixWidthTxt.
* Modify "SOUND" gadget.
*/
/***********************************************************************
* Constants
***********************************************************************/
PROGNAME = "UAEGUI.rexx" /* This program */
CLIPNAME = "UAEGUI.clip" /* clip holding window type */
TRUE = 1
FALSE = 0
MUIA_Application_Title = 0x804281b8
MUIA_Application_Version = 0x8042b33f
MUIA_Application_Copyright = 0x8042ef4d
MUIA_Application_Author = 0x80424842
MUIA_Application_Base = 0x8042e07a
MUIA_Application_OpenConfigWindow = 0x804299ba
MUIA_Application_AboutMUI = 0x8042d21d
MUIA_Background = 0x8042545b
MUIA_Image_FreeHoriz = 0x8042da84
MUIA_Image_FontMatchWidth = 0x804239bf
MUIA_Image_FontMatchHeight = 0x804239c0
MUIA_Width = 0x8042b59c
MUIA_Image_FontMatch = 0x8042815d
MUIA_Image_FontMatchHeight = 0x80429f26
MUIA_FixWidthTxt = 0x8042d044
MUIA_Group_Columns = 0x8042f416
MUIA_Weight = 0x80421d1f
MUIA_Pressed = 0x80423535
MUIA_ShowMe = 0x80429ba8
MUIA_Slider_Horiz = 0x8042fad1
MUIA_Slider_Min = 0x8042e404
MUIA_Slider_Max = 0x8042d78a
MUIA_Slider_Level = 0x8042ae3a
MUIA_Frame = 0x8042ac64
MUIA_Gauge_Current = 0x8042f0dd
MUIA_Gauge_Horiz = 0x804232dd
MUIA_Gauge_Max = 0x8042bcdb
MUIA_Gauge_Divide = 0x8042d8df
MUIA_Window_Open = 0x80428aa0
MUIA_Window_DepthGadget = 0x80421923
MUIA_Window_DragBar = 0x8042045d
MUIA_Window_SizeGadget = 0x8042e33d
MUIA_Window_PublicScreen = 0x804278e4
MUIA_Window_TopEdge = 0x80427c66
MUIA_Window_LeftEdge = 0x80426c65
MUIA_Window_Borderless = 0x80429b79
MUIA_ControlChar = 0x8042120b
Cycle_Active = 0x80421788
Menuitem_Shortcut = 0x80422030
Menuitem_Title = 0x804218be
Menuitem_Checked = 0x8042562a
Menuitem_Checkit = 0x80425ace
Selected = 0x8042654b
Disabled = 0x80423661
MUII_BACKGROUND = 128
MUII_SHADOWFILL = 133
MUII_WindowBack = 0
MUIV_Frame_None = 0
MUIV_Frame_Text = 3
MUIV_Frame_Group = 9
options results
BLK = "\033I[2:00000000:00000000:00000000]"
RED = "\033I[2:ffffffff:00000000:00000000]"
GRN = "\033I[2:00000000:ffffffff:6f000000]"
/***********************************************************************
* PARSE cmdline
***********************************************************************/
ADDRESS UAEGUI
PARSE ARG comm opt .
SELECT
WHEN comm = SMALL THEN DO /* CALLed by button "small" */
CALL close_win
CALL small
EXIT(0)
END
WHEN comm = WBBIG THEN DO /* CALLed by button "expand" */
CALL close_win
CALL wbbig
EXIT(0)
END
WHEN comm = SMDRG THEN DO /* CALLed by menu "small/drag" */
CALL close_win
IF WTYPE="SMALLDRAG" THEN CALL small; ELSE CALL smalldrag
EXIT(0)
END
WHEN comm = FRHACK THEN DO /* CALLed by button "FRateHack" */
CALL FRHACK(opt)
EXIT(0)
END
WHEN comm = ABOUT THEN DO
CALL About
EXIT(0)
END
WHEN comm = '' THEN DO /* first invocation */
CALL setup
CALL wbbig
WINDOW ID HOLD ATTRS MUIA_Window_Open FALSE
CALL main_loop
END
OTHERWISE DO
SAY "Unknown command:"comm
EXIT(0)
END
END
ERROR: SYNTAX: quit:
CALL cleanup
EXIT 0
/***********************************************************************
* Init stderr and start muirexx
***********************************************************************/
setup: /* { */
/* Setup STDERR */
DO_STDERR = 0;
IF OPEN(STDERR,,
"CON:////UAEGUI.rexx -- Error messages window/WAIT/AUTO","w") THEN
DO_STDERR = 1
/* add rexxsupport */
RXSUPP = ADDLIB('rexxsupport.library',0,-30,0)
IF ~RXSUPP THEN ADDRESS COMMAND 'resident c:wait'
/* Run MUIREXX */
IF ~show('p','UAEGUI') THEN DO
ADDRESS COMMAND 'run >nil: muirexx port UAEGUI'
cpt=0
DO WHILE ~show('p','UAEGUI')
CALL Sleep(1)
cpt=cpt+1
IF cpt=60 THEN DO
IF DO_STDERR THEN DO
CALL writeln(STDERR,"Timeout WHILE waiting MUIRexx to start.")
END
CALL quit
END
END
END
WINDOW ID HOLD ATTRS MUIA_Window_DepthGadget FALSE,
MUIA_Window_DragBar FALSE MUIA_Window_SizeGadget FALSE
LABEL "\033b\033cUAEGUI: Stand by...\033n"
ENDWINDOW
/* wait for UAE to setup */
IF ~show('p','UAE') THEN DO
cpt=0
DO WHILE ~show('p','UAE')
CALL Sleep(2)
cpt=cpt+1
IF cpt=60 THEN DO
IF DO_STDERR THEN DO
CALL writeln(STDERR,"Timeout WHILE waiting UAE to start.")
END
ADDRESS UAEGUI quit
CALL quit
END
END
END
RETURN /* } */
/***********************************************************************
* Clean stderr and feedback mechanism
***********************************************************************/
cleanup: /* { */
IF show('p','UAE') THEN DO
ADDRESS UAE feedback LED_POW PORT COMMAND CMD_ON """"""
ADDRESS UAE feedback LED_DF0 PORT COMMAND CMD_ON """"""
ADDRESS UAE feedback LED_DF1 PORT COMMAND CMD_ON """"""
ADDRESS UAE feedback LED_DF2 PORT COMMAND CMD_ON """"""
ADDRESS UAE feedback LED_DF3 PORT COMMAND CMD_ON """"""
ADDRESS UAE feedback LED_POW PORT COMMAND CMD_OFF """"""
ADDRESS UAE feedback LED_DF0 PORT COMMAND CMD_OFF """"""
ADDRESS UAE feedback LED_DF1 PORT COMMAND CMD_OFF """"""
ADDRESS UAE feedback LED_DF2 PORT COMMAND CMD_OFF """"""
ADDRESS UAE feedback LED_DF3 PORT COMMAND CMD_OFF """"""
END
IF DO_STDERR THEN CALL close(STDERR);
RETURN /* } */
/***********************************************************************
* Sleep the specified amount of time
***********************************************************************/
Sleep:
IF RXSUPP THEN CALL Delay(ARG(1)*50)
ELSE ADDRESS COMMAND 'WAIT 'ARG(1)
RETURN
/***********************************************************************
* Display about window
***********************************************************************/
About: /* { */
WINDOW ID ABOUT ATTRS,
MUIA_Window_DepthGadget FALSE,
MUIA_Window_DragBar FALSE MUIA_Window_SizeGadget FALSE
GROUP HORIZ
BUTTON ICON "UAEWB"
ADDRESS UAE VERSION NUM; NUM = RESULT
ADDRESS UAE VERSION AUTHOR; AUTHOR = RESULT
ADDRESS UAE VERSION PORT; PORTAUT = RESULT
TEXT /*ATTRS MUIA_Background MUII_WindowBack MUIA_Frame MUIV_Frame_None*/,
LABEL "\033c\033bUAE v"||NUM%10000||"."||(NUM%100)//100||"."||,
NUM//100||"\033n - the UAE Amiga Emulator\n"||,
"(\033irecursive definition\033n)\n"||,
"by Bernd Schmidt & contributors\n\n"||,
PORTAUT"\n\n"||,
"This GUI uses MUIRexx\nby Russell Leighton"
ENDGROUP
GROUP HORIZ
SPACE HORIZ
BUTTON ID OK_BUTT COMMAND """WINDOW ID ABOUT CLOSE""" PORT UAEGUI,
ATTRS MUIA_ControlChar 13 LABEL "Ok"
SPACE HORIZ
ENDGROUP
ENDWINDOW
RETURN /* } */
/***********************************************************************
* Toggle FrameRate hack on/off
***********************************************************************/
FRHACK: /* { */
/* note: { } in commentary are use by my GoldEd setup to fold blocks */
IF ARG(1)=ON THEN DO
ADDRESS UAE EMUSPEED "-1"
ADDRESS UAEGUI SLIDER ID CVSC ATTRS Disabled TRUE
END; ELSE DO
ADDRESS UAEGUI
SLIDER ID CVSC ATTRS Disabled FALSE
SLIDER ID CVSC
ADDRESS UAE EMUSPEED RESULT
END
EXIT 0 /* } */
/***********************************************************************
* Setup menu for current window
***********************************************************************/
menu: /* { */
MENU LABEL "Project"
MENU LABEL "About..."
ITEM COMMAND '"'PROGNAME' ABOUT"',
ATTRS Menuitem_Shortcut 'A' LABEL "UAE..."
ITEM COMMAND '"method 'MUIA_Application_AboutMUI' 0"' PORT UAEGUI,
ATTRS Menuitem_Shortcut 'M' LABEL "MUI..."
ENDMENU
MENU LABEL "Settings"
ITEM ID WDRG COMMAND '"'PROGNAME' SMDRG"',
ATTRS Menuitem_Shortcut 'G' LABEL "DragBar: ON "
ITEM COMMAND '"method 'MUIA_Application_OpenConfigWindow'"',
PORT UAEGUI LABEL "MUI..."
ENDMENU
ITEM ATTRS Menuitem_Title '-1'
ITEM COMMAND '"quit"' PORT UAEGUI ATTRS Menuitem_Shortcut 'X' LABEL "Quit GUI"
ENDMENU
MENU LABEL "Actions"
ITEM ID MSML COMMAND '"'PROGNAME' SMALL"',
ATTRS Menuitem_Shortcut 'S' LABEL "Switch to small GUI"
ITEM COMMAND '"QUIT"' PORT UAE,
ATTRS Menuitem_Shortcut 'Q' LABEL "Quit the emulator"
ITEM COMMAND '"RESET"' PORT UAE,
ATTRS Menuitem_Shortcut 'R' LABEL "Reset the emulator"
ITEM COMMAND '"DEBUG"' PORT UAE,
ATTRS Menuitem_Shortcut 'D' LABEL "Enter debug mode"
ENDMENU
RETURN /* } */
/***********************************************************************
* Open big window on workbench
***********************************************************************/
wbbig: /* { */
BLK = BLK||BLK||BLK||BLK
RED = RED||RED||RED||RED
GRN = GRN||GRN||GRN||GRN
WINDOW ID WBBIG COMMAND """QUIT""" PORT UAEGUI TITLE """UAE Gui"""
CALL menu
/* main title */
ADDRESS UAE VERSION NUM; NUM = RESULT
ADDRESS UAE VERSION AUTHOR; AUTHOR = RESULT
ADDRESS UAE VERSION PORT; PORTAUT = RESULT
TEXT ATTRS MUIA_Frame MUIV_Frame_Group MUIA_Background MUII_SHADOWFILL,
LABEL "\0338\033c\033bUAE v"||NUM%10000||"."||(NUM%100)//100||,
"."||NUM//100||"\033n - Un*x Amiga Emulator\n"||AUTHOR||,
"\n\n"||PORTAUT
/* Actions */
GROUP HORIZ FRAME LABEL "Actions"
BUTTON PRESS HELP """This button makes UAE switch to a small GUI""",
COMMAND """"PROGNAME" SMALL""" LABEL "Small"
BUTTON PRESS HELP """This button makes UAE and the GUI exit""",
COMMAND """QUIT""" PORT UAE LABEL "Quit"
BUTTON PRESS HELP """This button makes UAE DO a hard reset""",
COMMAND """RESET""" PORT UAE LABEL "Reset"
BUTTON PRESS HELP """This button makes UAE enter in debug mode""",
COMMAND """DEBUG""" PORT UAE LABEL "Debug"
ENDGROUP
/* POWER & Speed */
GROUP HORIZ
/* Power */
GROUP HORIZ FRAME LABEL "Power"
LABEL "POW:"
BUTTON ID POW HELP """This image represents the power-led state""",
ATTRS MUIA_FixWidthTxt 'O' LABEL BLK
ENDGROUP
/* speed */
GROUP FRAME HORIZ LABEL "Speed"
LABEL "fps:"
TEXT ID FPS ATTRS 0x8042a3f1 4 LABEL "0.00"
GAUGE ID SPD,
HELP """You can read here the approximated speed of\n"||,
"UAE relative to a real Amiga (50fps).""",
ATTRS MUIA_Gauge_Horiz TRUE MUIA_Gauge_Max 100 LABEL "%ld%%"
ENDGROUP
ENDGROUP
/* Register */
GROUP REGISTER LABELS "Drives,Parameters"
/* disks */
GROUP ATTRS MUIA_Group_Columns 4
CALL SetDfx(0)
CALL SetDfx(1)
CALL SetDfx(2)
CALL SetDfx(3)
ENDGROUP
/* Parameters */
GROUP HORIZ FRAME ATTRS MUIA_Group_Columns 4
LABEL "Draw:"
ADDRESS UAE QUERY DISPLAY
CYCLE ID DRAW,
HELP """This cycle button enables or disables the display output""",
COMMAND """DISPLAY %s""" PORT UAE,
ATTRS Cycle_Active RESULT LABELS "OFF,ON"
LABEL "Every:"
GROUP HORIZ
ADDRESS UAE QUERY FRAMERATE
POPSLIDER ID SLDR HELP """Use this slider gadget to select the ",
"frame rate""",
COMMAND """FRAMERATE %s""" PORT UAE ATTRS MUIA_Slider_Horiz TRUE,
MUIA_Slider_Min 1 MUIA_Slider_Max 20 MUIA_Weight 230,
MUIA_SLIDER_LEVEL RESULT
LABEL "frame(s)"
ENDGROUP
LABEL "FRHack:"
CYCLE,
HELP """This activates the frame rate hack.\n"||,
"Use this for very fast CPUs.""",
COMMAND """"PROGNAME" FRHACK %s""",
LABELS "OFF,ON"
LABEL "CPU/CHIP:"
ADDRESS UAE QUERY EMUSPEED
SLIDER ID CVSC HELP """Use this slider gadget to select the\n"||,
"chipset emulation speed (standard=4)""",
COMMAND """EMUSPEED %s""" PORT UAE ATTRS MUIA_Slider_Horiz TRUE,
MUIA_Slider_Min 1 MUIA_Slider_Max 20,
MUIA_SLIDER_LEVEL RESULT
LABEL "Sound:"
ADDRESS UAE QUERY SOUND
IF RESULT = -1 THEN RESULT = Disabled TRUE
ELSE RESULT = Cycle_Active RESULT
CYCLE id sound ATTRS RESULT,
HELP """This cycle button enables or disables the sound output""",
COMMAND """SOUND %s""" PORT UAE LABELS "NONE,OFF,ON,BEST"
LABEL "Joystick:"
ADDRESS UAE QUERY FAKEJOYSTICK
CYCLE ID JOY,
HELP """This cycle button enables or disables the joystick emulation""",
COMMAND """FAKEJOYSTICK %s""" PORT UAE ATTRS Cycle_Active RESULT,
LABELS "OFF,ON"
ENDGROUP
ENDGROUP
ENDWINDOW
CALL SETCLIP(CLIPNAME,"BIG")
CALL reset_gadgets
RETURN /* } */
/***********************************************************************
* open small draggable window on UAE screen
***********************************************************************/
smalldrag: /* { */
BLK = BLK||BLK
RED = RED||RED
GRN = GRN||GRN
WINDOW ID SMALL,
ATTRS MUIA_Window_DepthGadget TRUE,
MUIA_Window_DragBar TRUE,
MUIA_Window_SizeGadget TRUE,
MUIA_Window_LeftEdge 0,
MUIA_Window_TopEdge 0,
MUIA_Window_Borderless FALSE,
MUIA_Window_PublicScreen "UAE",
TITLE '"Please drag/resize the window..."'
CALL menu
CALL small_content
ENDWINDOW
CALL SETCLIP(CLIPNAME,"SMALLDRAG")
CALL reset_gadgets
ITEM ID WDRG LABEL "DragBar: OFF "
ITEM ID MSML COMMAND '"'PROGNAME' WBBIG"',
ATTRS Menuitem_Shortcut 'S' LABEL "Switch to big GUI"
RETURN /* } */
/***********************************************************************
* open small borderless window on UAE screen
***********************************************************************/
small: /* { */
BLK = BLK||BLK
RED = RED||RED
GRN = GRN||GRN
WINDOW ID SMALL,
ATTRS MUIA_Window_DepthGadget FALSE,
MUIA_Window_DragBar FALSE,
MUIA_Window_SizeGadget FALSE,
MUIA_Window_LeftEdge 0,
MUIA_Window_TopEdge 0,
MUIA_Window_Borderless TRUE,
MUIA_Window_PublicScreen "UAE"
CALL menu
CALL small_content
ENDWINDOW
CALL SETCLIP(CLIPNAME,"SMALL")
CALL reset_gadgets
ITEM ID MSML COMMAND '"'PROGNAME' WBBIG"',
ATTRS Menuitem_Shortcut 'S' LABEL "Switch to big GUI"
RETURN /* } */
/***********************************************************************
* draw the content of the small window
***********************************************************************/
small_content: /* { */
GROUP HORIZ
BUTTON PRESS,
COMMAND """"PROGNAME" WBBIG""",
LABEL "Expand"
LABEL "Pwr:"
BUTTON ID POW ATTRS MUIA_FixWidthTxt 'O' LABEL BLK
LABEL "Drv:"
BUTTON ID DF0 ATTRS MUIA_FixWidthTxt 'O' LABEL BLK
BUTTON ID DF1 ATTRS MUIA_FixWidthTxt 'O' LABEL BLK
BUTTON ID DF2 ATTRS MUIA_FixWidthTxt 'O' LABEL BLK
BUTTON ID DF3 ATTRS MUIA_FixWidthTxt 'O' LABEL BLK
LABEL "Fps:"
TEXT ID FPS ATTRS 0x8042a3f1 4 LABEL "0.00"
GAUGE ID SPD,
HELP """You can read here the approximated speed of\n"||,
"UAE relative to a real Amiga (50fps).""",
ATTRS MUIA_Gauge_Horiz TRUE MUIA_Gauge_Max 100 LABEL "%ld%%"
ENDGROUP
RETURN /* } */
/***********************************************************************
* put gadgets in a sane state
***********************************************************************/
reset_gadgets: /* { */
IF GETCLIP(CLIPNAME)="BIG" THEN DO
ADDRESS UAE QUERY NAME_DF0;R0=RESULT
ADDRESS UAE QUERY NAME_DF1;R1=RESULT
ADDRESS UAE QUERY NAME_DF2;R2=RESULT
ADDRESS UAE QUERY NAME_DF3;R3=RESULT
popasl ID NDF0 CONTENT R0
popasl ID NDF1 CONTENT R1
popasl ID NDF2 CONTENT R2
popasl ID NDF3 CONTENT R3
ADDRESS UAE feedback NAME_DF0 PORT UAEGUI,
CMD """popasl ID NDF0 CONTENT %s"""
ADDRESS UAE feedback NAME_DF1 PORT UAEGUI,
CMD """popasl ID NDF1 CONTENT %s"""
ADDRESS UAE feedback NAME_DF2 PORT UAEGUI,
CMD """popasl ID NDF2 CONTENT %s"""
ADDRESS UAE feedback NAME_DF3 PORT UAEGUI,
CMD """popasl ID NDF3 CONTENT %s"""
END; ELSE DO
ADDRESS UAE feedback NAME_DF0 PORT UAEGUI CMD '""'
ADDRESS UAE feedback NAME_DF1 PORT UAEGUI CMD '""'
ADDRESS UAE feedback NAME_DF2 PORT UAEGUI CMD '""'
ADDRESS UAE feedback NAME_DF3 PORT UAEGUI CMD '""'
END
CALL reset_leds
ADDRESS UAE feedback LED_POW PORT UAEGUI,
CMD_ON """button ID POW LABEL "RED"""",
CMD_OFF """button ID POW LABEL "BLK""""
ADDRESS UAE feedback LED_DF0 PORT UAEGUI,
CMD_ON """button ID DF0 LABEL "GRN"""",
CMD_OFF """button ID DF0 LABEL "BLK""""
ADDRESS UAE feedback LED_DF1 PORT UAEGUI,
CMD_ON """button ID DF1 LABEL "GRN"""",
CMD_OFF """button ID DF1 LABEL "BLK""""
ADDRESS UAE feedback LED_DF2 PORT UAEGUI,
CMD_ON """button ID DF2 LABEL "GRN"""",
CMD_OFF """button ID DF2 LABEL "BLK""""
ADDRESS UAE feedback LED_DF3 PORT UAEGUI,
CMD_ON """button ID DF3 LABEL "GRN"""",
CMD_OFF """button ID DF3 LABEL "BLK""""
ADDRESS UAE feedback ON_EXIT PORT UAEGUI,
CMD """quit"""
RETURN /* } */
/***********************************************************************
* reset leds
***********************************************************************/
reset_leds: /* { */
COL.1 = RED; COL.0 = BLK;
ADDRESS UAE QUERY LED_POW; button ID POW label COL.RESULT
COL.1 = GRN; COL.0 = BLK;
ADDRESS UAE QUERY LED_DF0; button ID DF0 label COL.RESULT
ADDRESS UAE QUERY LED_DF1; button ID DF1 label COL.RESULT
ADDRESS UAE QUERY LED_DF2; button ID DF2 label COL.RESULT
ADDRESS UAE QUERY LED_DF3; button ID DF3 label COL.RESULT
RETURN /* } */
/***********************************************************************
* close opened window
***********************************************************************/
close_win: /* { */
WTYPE = GETCLIP(CLIPNAME)
IF WTYPE = "BIG" THEN WINDOW ID WBBIG CLOSE
ELSE WINDOW ID SMALL CLOSE
/* inhib gadgets: */
CALL SETCLIP(CLIPNAME)
ADDRESS UAE feedback LED_POW PORT COMMAND CMD_ON '""' CMD_OFF '""'
ADDRESS UAE feedback LED_DF0 PORT COMMAND CMD_ON '""' CMD_OFF '""'
ADDRESS UAE feedback LED_DF1 PORT COMMAND CMD_ON '""' CMD_OFF '""'
ADDRESS UAE feedback LED_DF2 PORT COMMAND CMD_ON '""' CMD_OFF '""'
ADDRESS UAE feedback LED_DF3 PORT COMMAND CMD_ON '""' CMD_OFF '""'
RETURN /* } */
/***********************************************************************
* evaluate UAE's speed
***********************************************************************/
main_loop: /* { */
ADDRESS UAEGUI
ADDRESS UAE QUERY FRAMENUM;FN = RESULT; TN = time('r');
/* in case UAEGUI exits */
SIGNAL ON SYNTAX
SIGNAL ON ERROR
ADDRESS UAEGUI GAUGE ID SPD ATTRS MUIA_Gauge_Horiz TRUE MUIA_Gauge_Max 100
ok = 1
DO WHILE ok
CALL Sleep(5)
ADDRESS UAE QUERY FRAMENUM;FN0=FN;FN=RESULT;TN = time('r');
IF TN~=0 THEN TN = (FN-FN0)/TN
ok = SHOW('p','UAEGUI')
IF ok & (GETCLIP(CLIPNAME)~="") THEN DO
TEXT ID FPS LABEL trunc(100*TN)/100
GAUGE ID SPD ATTRS MUIA_Gauge_Current trunc(TN*2)
END
END
RETURN /* } */
/***********************************************************************
* Build one DFx set of gadgets
***********************************************************************/
SetDFx: /* { */
PARSE ARG unit
LABEL LEFT DOUBLE "DF"||unit||":"
ADDRESS UAE QUERY LED_DF||unit;IF RESULT=1 THEN COL=GRN; else COL=BLK
BUTTON ID DF||unit,
HELP """This image represents the state of drive "||unit||"'s led""",
ATTRS MUIA_FixWidthTxt 'O' label COL
BUTTON PRESS,
HELP """Use this button to eject the diskfile in drive DF"||unit||":""",
COMMAND """EJECT "||unit||"""" PORT UAE ATTRS MUIA_Weight 100,
LABEL "Eject"
POPASL ID NDF||unit,
HELP """Select the name of diskfile for drive DF"||unit||":""",
COMMAND """INSERT "||unit||" '%s'""" PORT UAE ATTRS MUIA_Weight 300
RETURN /* } */
/***********************************************************************/