Here's a script file that will work for Zinc:
SCRIPT_START
// this is a script for zinc
STRING emutronpath = AppDir // appdir is a program - defined string variable that holds the application directory that this program is being run from
STRING zincpath = "C:\EMU\zinc\"
STRING zincrompath = zincpath + "roms\"
STRING zincname = "zinc.exe"
STRING sshotpath = zincpath + "snap\"
STRING WavePath = emutronpath + "sound\"
STRING backgroundfile = emutronpath + "images\bckgrnd.jpg"
STRING LnchSound = "game.wav"
STRING NextGameSound = "select2.wav"
Rect sshotrect =(216,82,629,377) // rect for screen shots
Rect listrect =(226,102,629,377) // rect for the scrolling list of games
Rect offsetlistrect =(228,104,631,379) // 2 pixels down and to the left rect of list rect
Rect previewrect =(216,391,625,471) // rectangle for the list of screen shot previews
Rect backgroundrect =(0,0,640,480) // the whole screen
Font font1 = ("Slicker",24)
Font font2 = ("Slicker",36)
Color red = (255,0,0)
Color blue = (0,0,255)
Color green = (0,255,0)
Color black = (0,0,0)
Color white = (255,255,255)
var DESCCOL = 0 // the column for the game description
Var ROMINDEX = 1 // the column with the index of the game to start
var ARTCOL =2 // the column for the art snapshot filename
Var PREVIEWS_HORIZONTAL = 1 // for the display preview function
Var NUMBEROFLISTITEMS = 10 // # of items
var CENTERLISTITEM = 4 // the center item to highlight
Var LISTITEMSPACING = 22 // pixels
Bitmap backgroundbitmap
Bitmap sshotbitmap
BitmapList gamepreviews
List gamelist
// This Event is called by the program when the script starts
EVENT Load_Current_bitmaps
ACTIONS
LoadBitmap(sshotbitmap,sshotpath + CurListItem(gamelist,ARTCOL) ,sshotpath + CurListItem(gamelist,ARTCOL))
LoadPreviews(gamepreviews,gamelist,ARTCOL,sshotpath," ",ARTCOL,sshotpath," ",5)
END_ACTIONS
END_EVENT
EVENT User_Quit
KEYDEFS
SCAN_ESC
END_KEYDEFS
ACTIONS
SaveState() // save the current position in all lists
ExitProgram() // exit the program
END_ACTIONS
END_EVENT
EVENT NEXT_GAME // this is the user defined name of the event
KEYDEFS
SCAN_DOWN || MOUSE_DOWN
END_KEYDEFS
ACTIONS // list of actions
playwave (WavePath+NextGameSound)
NextInList(gamelist,1)
fireevent("Load_Current_bitmaps")
END_ACTIONS
END_EVENT
EVENT PREV_GAME // this is the user defined name of the event
KEYDEFS
SCAN_UP || MOUSE_UP
END_KEYDEFS
ACTIONS // list of actions
playwave (WavePath+NextGameSound)
PrevInList(gamelist,1)
fireevent("Load_Current_bitmaps")
END_ACTIONS
END_EVENT
EVENT PAGEDOWN_GAME // this is the user defined name of the event
KEYDEFS
SCAN_RIGHT
END_KEYDEFS
ACTIONS // list of actions
playwave (WavePath+NextGameSound)
NextInList(gamelist,NUMBEROFLISTITEMS)
fireevent("Load_Current_bitmaps")
END_ACTIONS
END_EVENT
EVENT PAGEUP_GAME // this is the user defined name of the event
KEYDEFS
SCAN_LEFT
END_KEYDEFS
ACTIONS // list of actions
playwave (WavePath+NextGameSound)
PrevInList(gamelist,NUMBEROFLISTITEMS)
fireevent("Load_Current_bitmaps")
END_ACTIONS
END_EVENT
EVENT LAUNCH_GAME
KEYDEFS
SCAN_LALT
END_KEYDEFS
ACTIONS
playwave (WavePath+LnchSound)
SaveState()
OpenWriteFile ("ETLaunch.bat")
WriteToFile("cd " +zincpath)
WriteToFile(zincname + " " + CurListItem(gamelist,ROMINDEX))
WriteToFile("cd " + emutronpath)
WriteToFile("emutron.exe")
WriteToFile("exit")
CloseWriteFile()
Launch("ETLaunch.bat")
ExitProgram() // the ETLaunch.bat file reloads emutron
END_ACTIONS
END_EVENT
// This Event is called by the program every frame for display
EVENT DISPLAY
ACTIONS
DisplayBitmapStretchFit(backgroundbitmap,backgroundrect)
DisplayBitmapStretchFit(sshotbitmap,sshotrect)
DrawTextList(gamelist,DESCCOL,listrect,LISTITEMSPACING,NUMBEROFLISTITEMS,CENTERLISTITEM,black,black,font1) // shadow
DrawTextList(gamelist,DESCCOL,offsetlistrect,LISTITEMSPACING,NUMBEROFLISTITEMS,CENTERLISTITEM,white,red,font1) // foreground
DrawText("All Zinc Games",font2,225,78,black)
DrawText("All Zinc Games",font2,226,79,blue)
DisplayPreviewList(gamepreviews,previewrect,2,red,PREVIEWS_HORIZONTAL) // horizontal
END_ACTIONS
END_EVENT
EVENT SCSTART
ACTIONS // list of actions
NativeRes(640,480) // this sets the native script size so it can be stretched
LoadList (gamelist,AppDir + "lists\zincgames.lst" ,3) // 3 columns wide of info
LoadState() // the state file tells where we are in the list
LoadBitmap(backgroundbitmap,backgroundfile) // load the background image
fireevent("Load_Current_bitmaps") // fire this event off to load the game bitmaps
END_ACTIONS
END_EVENT
SCRIPT_END