Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * emu.app_name() - return application name
- * emu.app_version() - return application version
- * emu.gamename() - returns game full name
- * emu.softname() - returns softlist name
- * emu.keypost(keys) - post keys to natural keyboard
- * emu.time() - return emulation time
- * emu.start(driver) - start given driver
- * emu.pause() - pause emulation
- * emu.unpause() - unpause emulation
- * emu.register_prestart(callback) - callback before reset
- * emu.register_start(callback) - callback after reset
- * emu.register_stop(callback) - callback after stopping
- * emu.register_pause(callback) - callback at pause
- * emu.register_resume(callback) - callback at resume
- * emu.register_frame(callback) - callback at end of frame
- * emu.register_frame_done(callback) - callback after frame is drawn to screen (for overlays)
- * emu.register_periodic(callback) - periodic callback while program is running
- * emu.register_menu(event_callback, populate_callback, name) - callbacks for plugin menu
- * emu.print_verbose(str) -- output to stderr at verbose level
- * emu.print_error(str) -- output to stderr at error level
- * emu.print_info(str) -- output to stderr at info level
- * emu.print_debug(str) -- output to stderr at debug level
- * emu.driver_find(driver) -- find and return game_driver for driver
- * emu.wait(len) -- wait for len within coroutine
- * emu.lang_translate(str) -- get translation for str if available
- * emu.file([opt] searchpath, flags) - flags can be as in osdcore "OPEN_FLAG_*" or lua style with 'rwc' with addtional c for create *and truncate* (be careful)
- * support zipped files on the searchpath
- * file:open(name) - open first file matching name in searchpath, supports read and write sockets as "socket.127.0.0.1:1234"
- * file:open_next() - open next file matching name in searchpath
- * file:read(len) - only reads len bytes, doen't do lua style formats
- * file:write(data) - write data to file
- * file:seek(offset, whence) - whence is as C "SEEK_*" int
- * file:seek([opt] whence, [opt] offset) - lua style "set"|"cur"|"end", returns cur offset
- * file:size() -
- * file:filename() - name of current file, container name if file is in zip
- * file:fullpath() -
- * emu.thread()
- * thread.start(scr) - run scr (string not function) in a seperate thread in a new empty (other then modules) lua context
- * thread.continue(val) - resume thread and pass val to it
- * thread.result() - get thread result as string
- * thread.busy - check if thread is running
- * thread.yield - check if thread is yielded
- manager:options()
- * machine:options()
- * machine:ui():options()
- * options:help() - get help for options
- * options:command(command) - return output for command
- * options.entries[] - get table of option entries
- options.entries[entry_name]
- * entry.value() - get value of entry
- * entry.value(val) - set entry to val
- * entry.description() - get info about entry
- * entry.default_value() - get default for entry
- * entry.minimum() - get min value for entry
- * entry.maximum() - get max value for entry
- * entry.has_range() - are min and max valid for entry
- manager:machine()
- * machine:exit() - close program
- * machine:hard_reset() - hard reset emulation
- * machine:soft_reset() - soft reset emulation
- * machine:save(filename) - save state to filename
- * machine:load(filename) - load state from filename
- * machine:system() - get game_driver for running driver
- * machine:video() - get video_manager
- * machine:render() - get render_manager
- * machine:ioport() - get ioport_manager
- * machine:parameters() - get parameter_manager
- * machine:options() - get machine core_options
- * machine:output() - get output_manager
- * machine:input() - get input_manager
- * machine:uiinput() - get ui_input_manager
- * machine.paused - get paused state
- * machine.devices[] - get device table
- * machine.screens[] - get screens table
- * machine.images[] - get available image devices
- * machine:popmessage(str) - print str as popup
- * machine:logerror(str) - print str to log
- game_driver - this should be self explanatory
- machine:debugger()
- * debug:command(cmd) - run cmd in debugger console
- * debug.consolelog[] - get consolelog
- * debug.errorlog[] - get errorlog
- * debug.visible_cpu - accessor for debugger active cpu for commands, affects debug views
- * debug.execution_state - accessor for active cpu run state
- device:debug()
- * debug:step([opt] steps) - run cpu steps, default 1
- * debug:go() - run cpu
- * debug:bpset(addr, cond, act) - set break, cond and act are debugger expressions
- * debug:bpclr(idx) - clear break
- * debug:bplist()[] - table of breakpoints
- * debug:wpset(space, type, addr, len, cond, act) - set watch, cond and act are debugger expressions
- * debug:wpclr(idx) - clear watch
- * debug:wplist(space)[] - table of watchpoints
- machine.devices[device_tag]
- * device:name() - device long name
- * device:shortname() - device short name
- * device:tag() - device tree tag
- * device:owner() - device parent tag
- * device:debug() - debug interface, cpus only
- * device.spaces[] - device address spaces table
- * device.state[] - device state entries table
- * device.items[] - device save state items table
- machine:ioport()
- * ioport:count_players() - get count of player controllers
- * ioport.ports[] - ioports table
- ioport.ports[port_tag]
- * port:tag() - get port tag
- * port:active() - get port status
- * port:live() - get port ioport_port_live (TODO: not usable from lua as of now)
- * port:read() - get port value
- * port:write(val, mask) - set port to value & mask (output fields only, for other fields use field:set_value(val))
- * port:field(mask) - get ioport_field for port and mask
- * port.field[] - get ioport_field table
- port.field[field_tag] - this should be self explanatory
- field.live
- machine:parameters()
- * parameter:add(tag, val) - add tag = val parameter
- * parameter:lookup(tag) - get val for tag
- machine:video()
- * video:begin_recording([opt] filename) - start recording to filename if given or default
- * video:end_recording() - stop recording
- * video:snapshot() - save shot of all screens
- * video:is_recording() - get recording status
- * video:skip_this_frame() - is current frame going to be skipped
- * video:speed_factor() - get speed factor
- * video:speed_percent() - get percent from realtime
- * video.frameskip - current frameskip
- * video.throttled - throttle state
- * video.throttle_rate - throttle rate
- machine:input()
- * input:code_from_token(token) - get input_code for KEYCODE_* string token
- * input:code_pressed(code) - get pressed state for input_code
- * input:code_to_token(code) - get KEYCODE_* string token for code
- * input:code_name(code) - get code friendly name
- * input:seq_from_tokens(tokens) - get input_seq for multiple space separated KEYCODE_* string tokens
- * input:seq_pressed(seq) - get pressed state for input_seq
- * input:seq_to_tokens(seq) - get KEYCODE_* string tokens for seq
- * input:seq_name(seq) - get seq friendly name
- machine:uiinput()
- * uiinput:find_mouse() - returns x, y, button state, ui render target
- * uiinput:pressed(key) - get pressed state for ui key
- render.targets[target_index]
- * render:ui_target()
- * target:view_bounds() - get x0, x1, y0, y1 bounds for target
- * target:width() - get target width
- * target:height() - get target height
- * target:pixel_aspect() - get target aspect
- * target:hidden() - is target hidden
- * target:is_ui_target() - is ui render target
- * target:index() - target index
- * target:view_name(index) - current target layout view name
- * target.max_update_rate -
- * target.view - current target layout view
- * target.orientation - current target orientation
- * target.backdrops - enable backdrops
- * target.bezels - enable bezels
- * target.marquees - enable marquees
- * target.screen_overlay - enable overlays
- * target.zoom - enable zoom
- render:ui_container() - this should be self explanatory
- machine:render()
- * render:max_update_rate() -
- * render:ui_target() - target for ui drawing
- * render:ui_container() - container for ui drawing
- * render.target[] - render_target table
- machine.screens[screen_tag]
- * screen:draw_box(x1, y1, x2, y2, fillcol, linecol) - draw box from (x1, y1)-(x2, y2) colored linecol filled with fillcol
- * screen:draw_line(x1, y1, x2, y2, linecol) - draw line from (x1, y1)-(x2, y2) colored linecol
- * screen:draw_text(x || justify, y, message, [opt] color) - draw message at (x, y) or at line y with left, right, center justification
- * screen:height() - screen height
- * screen:width() - screen width
- * screen:orientation() - screen angle, flipx, flipy
- * screen:refresh() - screen refresh rate
- * screen:snapshot() - save snap shot
- * screen:type() - screen drawing type
- * screen:frame_number() - screen frame count
- * screen:name() - screen device full name
- * screen:shortname() - screen device short name
- * screen:tag() - screen device tag
- * screen:xscale() - screen x scale factor
- * screen:yscale() - screen y scale factor
- mame_manager:ui()
- * ui:is_menu_active() - ui menu state
- * ui:options() - ui core_options
- * ui.show_fps - fps display enabled
- * ui.show_profiler - profiler display enabled
- * ui:get_line_height() - current ui font height
- * ui:get_string_width(str, scale) - get str width with ui font at scale factor of current font size
- * ui:get_char_width(char) - get width of utf8 glyph char with ui font
- device.state[]
- * state:name() - get device state name
- * state:value() - get device state value
- * state:is_visible() - is state visible in debugger
- * state:is_divider() - is state a divider
- machine:memory()
- * memory.banks[] - table of memory banks
- * memory.regions[] - table of memory regions
- * memory.shares[] - table of memory shares
- machine:output()
- * output:set_value(name, val) - set output name to val
- * output:set_indexed_value(index, val) - set output index to val
- * output:get_value(name) - get output name value
- * output:get_indexed_value(index) - get output index value
- * output:name_to_id(name) - get index for name
- * output:id_to_name(index) - get name for index
- machine.images[] - images are floppy/cart/cdrom/tape/hdd etc, otherwise this should be self explanatory
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement