### Booting into Windows 3.11 Source: https://tasvideos.org/Bizhawk/DOSBox Command to run to start Windows 3.11 after it has been installed on the hard disk drive. Ensure to use the correct path separator. ```dos windows\win ``` -------------------------------- ### Example Lua Script for Doom Memory Domains Source: https://tasvideos.org/Bizhawk/Doom A Lua script is available in the Bizhawk repository to demonstrate the usage of 'Things' and 'Lines' memory domains exposed by the Doom core. This script serves as a practical example for developers. ```lua require "BizHawk.External" -- Example import, actual script may vary -- Placeholder for actual script content print("This is a placeholder for the things-lines.lua script.") print("It demonstrates usage of 'Things' and 'Lines' memory domains.") ``` -------------------------------- ### Pad String Start Source: https://tasvideos.org/Bizhawk/LuaFunctions Prepends a padding character to the start of a string until it reaches a specified length. If the padding character is invalid, a space is used. ```lua string bizstring.pad_start(string str, int length, string pad_char) ``` -------------------------------- ### Get Board Name Source: https://tasvideos.org/BizHawk/LuaFunctions Returns the board name of the loaded ROM, if available. ```lua emu.getboardname() ``` -------------------------------- ### Windows 3.11 Disk Image Details Source: https://tasvideos.org/Bizhawk/DOSBox Metadata for the disk images required for installing Windows 3.11. These files are essential for creating the installation movie. ```text File: disk1.img Size: 1,474,560 bytes MD5: f6a9079f98bf7525657931c55ce7a30b SHA-1: 9fc53cc4edaba18126ca0246cfd31f7724aa7b2a ``` ```text File: disk2.img Size: 1,474,560 bytes MD5: 9d3c2d8b2d014181c10bf391a637c1f2 SHA-1: 3e64348839709639b2d068dbcedc0c603f50fa5d ``` ```text File: disk3.img Size: 1,474,560 bytes MD5: fad9e1049e406e6888dba0f86462213e SHA-1: 920a981e49fab92cfed805f1a680ff24fff4e95d ``` ```text File: disk4.img Size: 1,474,560 bytes MD5: 54f874abc9b133829f89b0c2f71eab41 SHA-1: 582dfcc90ad4ea7ed5d812b252f2b9953642e410 ``` ```text File: disk5.img Size: 1,474,560 bytes MD5: dad5556c26c90fa2c5b91e46fe795001 SHA-1: f4507367afb811035b4a8a2bcb74e5797ace0de1 ``` ```text File: disk6.img Size: 1,474,560 bytes MD5: 5bc0c7cba983c26d1300b35945a21cea SHA-1: 5f72300cf89c117c9a654185da6f2b0300c0a9b7 ``` -------------------------------- ### Windows 3.11 Utilities ISO Details Source: https://tasvideos.org/Bizhawk/DOSBox Details for the Windows 3.11 utilities ISO file, which is required for the installation process. ```text File: windows311-utilities.iso Size: 1,480,704 bytes MD5: 5c82f38ae021576268981a2209648056 SHA-1: 89c66da9f5d333e3b5839f347332e71771db2f51 ``` -------------------------------- ### Exported Hard Disk Drive Image Details Source: https://tasvideos.org/Bizhawk/DOSBox Details of the resulting HDD image after a successful Windows 3.11 installation movie. ```text File: w311.hdd Size: 527,966,208 bytes MD5: b13bc3d7c70d97e13c25b69818f209e7 SHA-1: c1745784e946131b084b7522fd950fdc92d1ad0e ``` -------------------------------- ### Get System ID Source: https://tasvideos.org/BizHawk/LuaFunctions Returns the ID string of the current core loaded. Note: No ROM loaded will return the string NULL. ```lua emu.getsystemid() ``` -------------------------------- ### client.openrom Source: https://tasvideos.org/Bizhawk/LuaFunctions Loads a ROM from the specified file path. ```APIDOC ## client.openrom ### Description Loads a ROM from the given path. ### Parameters #### Request Body - **path** (string) - Required - The file path to the ROM file. ### Response #### Success Response (200) - **result** (bool) - Returns true if the ROM was successfully loaded, otherwise false. ``` -------------------------------- ### BizHawk Forms Get Property Source: https://tasvideos.org/Bizhawk/PreviousReleaseHistory Get a property from a form element in BizHawk. ```bizhawk forms.getproperty() ``` -------------------------------- ### Get Total Executed Cycles Source: https://tasvideos.org/BizHawk/LuaFunctions Gets the total number of executed CPU cycles. ```lua emu.totalexecutedcycles() ``` -------------------------------- ### Lua: Get Window Size Source: https://tasvideos.org/Bizhawk/PreviousReleaseHistory Get the current window dimensions using the client.getwindowsize() function in Lua. ```lua client.getwindowsize() ``` -------------------------------- ### input.get Source: https://tasvideos.org/Bizhawk/LuaFunctions Retrieves the current state of host keys and buttons. ```APIDOC ## input.get ### Description Returns a dict-like table of key/button names. Only pressed buttons appear with a value of true. ### Method Function ### Response - **table** (nluatable) - Dictionary of pressed keys and buttons. ``` -------------------------------- ### input.get Source: https://tasvideos.org/BizHawk/LuaFunctions Retrieves the current state of host keys and buttons. ```APIDOC ## input.get ### Description Returns a dict-like table of key/button names. Only pressed buttons appear with a value of true. ### Response - **table** (nluatable) - Dictionary of pressed keys and buttons. ``` -------------------------------- ### comm.httpGet Source: https://tasvideos.org/Bizhawk/LuaFunctions Performs an HTTP GET request to a specified URL. ```APIDOC ## comm.httpGet ### Description Makes a HTTP GET request. ### Parameters #### Request Body - **url** (string) - Required - The target URL for the GET request. ### Response #### Success Response (200) - **response** (string) - The body of the HTTP response. ``` -------------------------------- ### Load WAD Files with Multi-Disk Bundler XML Source: https://tasvideos.org/Bizhawk/Doom Use this XML structure to specify IWAD and PWAD files for loading in BizHawk. Ensure the 'System' attribute is set to 'Doom'. ```xml ``` -------------------------------- ### Get Lag Count Source: https://tasvideos.org/BizHawk/LuaFunctions Returns the current lag count. ```lua emu.lagcount() ``` -------------------------------- ### Get Available Scopes Source: https://tasvideos.org/BizHawk/LuaFunctions Lists the available scopes that can be specified for on_bus_* events. ```lua event.availableScopes() ``` -------------------------------- ### Lua: Minimize Frameskip Source: https://tasvideos.org/Bizhawk/PreviousReleaseHistory Minimize frameskip settings using emu.minimizeframeskip() in Lua. ```lua emu.minimizeframeskip() ``` -------------------------------- ### Verify Core-7.0.iso file integrity Source: https://tasvideos.org/Bizhawk/DOSBox/Linux Checksum information for the Tiny Core 7.0 ISO image. ```text File: Core-7.0.iso Size: 11,116,544 bytes MD5: 11ee7e2a449415cec8feb5dc7dbee064 SHA-1: 724b57a226ab1e771a483dff5f0bb80d030d5a0d ``` -------------------------------- ### BizHawk Client Screen Height Source: https://tasvideos.org/Bizhawk/PreviousReleaseHistory Get the current screen height of the BizHawk client. ```bizhawk client.screenheight() ``` -------------------------------- ### Lua: Frameskip Source: https://tasvideos.org/Bizhawk/PreviousReleaseHistory Adjust the frameskip settings using emu.frameskip() in Lua. ```lua emu.frameskip() ``` -------------------------------- ### Lua: Get Mouse Input Source: https://tasvideos.org/Bizhawk/PreviousReleaseHistory Retrieve the current mouse coordinates using the input.getmouse() function in Lua. ```lua input.getmouse() ``` -------------------------------- ### Register Bus Read Event Source: https://tasvideos.org/BizHawk/LuaFunctions Fires immediately before the given address is read by the core. Your callback can have 3 parameters `(addr, val, flags)`. `val` is the value read. If no address is given, it fires on every memory read. ```lua event.on_bus_read(nluafunc luaf, [uint? address = nil], [string name = nil], [string scope = nil]) ``` -------------------------------- ### Get Display Type Source: https://tasvideos.org/BizHawk/LuaFunctions Returns the display type (PAL vs NTSC) that the emulator is currently running in. ```lua emu.getdisplaytype() ``` -------------------------------- ### TASStudio API Source: https://tasvideos.org/BizHawk/LuaFunctions Functions for controlling TASStudio playback, recording, and UI callbacks. ```APIDOC ## tastudio.islag ### Description Returns whether or not the given frame was a lag frame. ### Parameters #### Path Parameters - **frame** (int) - Required - The frame index to check. ### Response - **result** (bool?) - True if lag, false if not, null if unknown. ``` ```APIDOC ## tastudio.loadbranch ### Description Loads a branch at the given index. ### Parameters #### Path Parameters - **index** (int) - Required - The index of the branch to load. ``` ```APIDOC ## tastudio.setmarker ### Description Adds or sets a marker at the given frame. ### Parameters #### Path Parameters - **frame** (int) - Required - The frame index. - **message** (string) - Optional - An optional message for the marker. ``` -------------------------------- ### SNES Layer Control API Source: https://tasvideos.org/BizHawk/LuaFunctions Functions to get and set the visibility of various SNES background and object layers. ```APIDOC ## snes.getlayer_bg_n / snes.setlayer_bg_n ### Description Get or set the visibility of SNES background layers (1-4). ### Method GET / SET ### Parameters - **value** (bool) - Required for set - The visibility state to apply. ### Response - **Returns** (bool) - The current visibility state. ``` -------------------------------- ### Register Bus Execution Event Source: https://tasvideos.org/BizHawk/LuaFunctions Fires immediately before the given address is executed by the core. Your callback can have 3 parameters `(addr, val, flags)`. `val` is the value to be executed (or `0` if partially implemented). ```lua event.on_bus_exec(nluafunc luaf, uint address, [string name = nil], [string scope = nil]) ``` -------------------------------- ### SNES Layer Control API Source: https://tasvideos.org/Bizhawk/LuaFunctions API endpoints for getting and setting the display status of SNES background and object layers. ```APIDOC ## GET snes.getlayer_bg_2 ### Description Returns whether the bg 2 layer is displayed. ### Method GET ### Endpoint snes.getlayer_bg_2() ## GET snes.getlayer_bg_3 ### Description Returns whether the bg 3 layer is displayed. ### Method GET ### Endpoint snes.getlayer_bg_3() ## GET snes.getlayer_bg_4 ### Description Returns whether the bg 4 layer is displayed. ### Method GET ### Endpoint snes.getlayer_bg_4() ## GET snes.getlayer_obj_1 ### Description Returns whether the obj 1 layer is displayed. ### Method GET ### Endpoint snes.getlayer_obj_1() ## GET snes.getlayer_obj_2 ### Description Returns whether the obj 2 layer is displayed. ### Method GET ### Endpoint snes.getlayer_obj_2() ## GET snes.getlayer_obj_3 ### Description Returns whether the obj 3 layer is displayed. ### Method GET ### Endpoint snes.getlayer_obj_3() ## GET snes.getlayer_obj_4 ### Description Returns whether the obj 4 layer is displayed. ### Method GET ### Endpoint snes.getlayer_obj_4() ## SET snes.setlayer_bg_1 ### Description Sets whether the bg 1 layer is displayed. ### Method SET ### Endpoint snes.setlayer_bg_1(bool value) ### Parameters #### Path Parameters - **value** (bool) - Required - The desired display state for the bg 1 layer. ## SET snes.setlayer_bg_2 ### Description Sets whether the bg 2 layer is displayed. ### Method SET ### Endpoint snes.setlayer_bg_2(bool value) ### Parameters #### Path Parameters - **value** (bool) - Required - The desired display state for the bg 2 layer. ## SET snes.setlayer_bg_3 ### Description Sets whether the bg 3 layer is displayed. ### Method SET ### Endpoint snes.setlayer_bg_3(bool value) ### Parameters #### Path Parameters - **value** (bool) - Required - The desired display state for the bg 3 layer. ## SET snes.setlayer_bg_4 ### Description Sets whether the bg 4 layer is displayed. ### Method SET ### Endpoint snes.setlayer_bg_4(bool value) ### Parameters #### Path Parameters - **value** (bool) - Required - The desired display state for the bg 4 layer. ## SET snes.setlayer_obj_1 ### Description Sets whether the obj 1 layer is displayed. ### Method SET ### Endpoint snes.setlayer_obj_1(bool value) ### Parameters #### Path Parameters - **value** (bool) - Required - The desired display state for the obj 1 layer. ## SET snes.setlayer_obj_2 ### Description Sets whether the obj 2 layer is displayed. ### Method SET ### Endpoint snes.setlayer_obj_2(bool value) ### Parameters #### Path Parameters - **value** (bool) - Required - The desired display state for the obj 2 layer. ## SET snes.setlayer_obj_3 ### Description Sets whether the obj 3 layer is displayed. ### Method SET ### Endpoint snes.setlayer_obj_3(bool value) ### Parameters #### Path Parameters - **value** (bool) - Required - The desired display state for the obj 3 layer. ## SET snes.setlayer_obj_4 ### Description Sets whether the obj 4 layer is displayed. ### Method SET ### Endpoint snes.setlayer_obj_4(bool value) ### Parameters #### Path Parameters - **value** (bool) - Required - The desired display state for the obj 4 layer. ``` -------------------------------- ### BKM File Header Specification Source: https://tasvideos.org/Bizhawk/BKMFormat Details the metadata headers used in the .bkm file format, including emulator version, game information, and system-specific settings. ```APIDOC ## .bkm Header Format ### Description The header contains metadata about the movie recording. All items are strings unless otherwise specified. ### Main Headers - **comment** (string) - A note not used by the emulator. - **emuVersion** (string) - Version of BizHawk used. - **MovieVersion** (string) - Movie format version. - **Platform** (string) - Game system used. - **GameName** (string) - Name of the game. - **Author** (string) - Creator of the movie. - **rerecordCount** (integer) - Number of rerecords. - **GUID** (string) - Globally unique identifier. - **StartsFromSavestate** (boolean) - Recorded from a savestate. - **SHA1** (string) - SHA-1 checksum of the ROM. - **FirmwareSHA1** (string) - SHA-1 checksum of the BIOS. - **subtitle** (string) - Format: "subtitle FRAME X Y LENGTH COLOR MESSAGE". - **PAL** (boolean) - Recorded in PAL mode. - **BoardName** (string) - Board/mapper type. - **Skip_Bios** (string) - Indicates BIOS was skipped. - **VideoPlugin** (string) - Video plugin used. - **LoopOffset** (integer) - Frame to loop back to for infinite loop movies. ``` -------------------------------- ### Register Any Bus Execution Event Source: https://tasvideos.org/BizHawk/LuaFunctions Fires immediately before every instruction executed by the core (CPU-intensive). Your callback can have 3 parameters `(addr, val, flags)`. `val` is the value to be executed (or `0` if partially implemented). ```lua event.on_bus_exec_any([string name = nil], [string scope = nil]) ``` -------------------------------- ### Register Bus Write Event Source: https://tasvideos.org/BizHawk/LuaFunctions Fires immediately before the given address is written by the core. Your callback can have 3 parameters `(addr, val, flags)`. `val` is the value to be written (or `0` if partially implemented). If no address is given, it fires on every memory write. ```lua event.on_bus_write(nluafunc luaf, [uint? address = nil], [string name = nil], [string scope = nil]) ``` -------------------------------- ### TAStudio Lua API Source: https://tasvideos.org/Bizhawk/PreviousReleaseHistory Functions for interacting with the TAStudio recording state via Lua scripts. ```APIDOC ## Lua TAStudio API ### Description Functions to manage and query the recording state within TAStudio. ### Methods - **tastudio.getrecording()** - Returns the current recording status. - **tastudio.setrecording(bool)** - Sets the recording status. - **tastudio.togglerecording()** - Toggles the current recording status. ``` -------------------------------- ### Byte Swap 16-bit Source: https://tasvideos.org/Bizhawk/LuaFunctions Performs a byte swap on a 16-bit unsigned integer. For example, `bit.byteswap_16(0xFF00)` would return `0x00FF`. ```lua ushort bit.byteswap_16(ushort val) ``` -------------------------------- ### Verify LINLD.COM file integrity Source: https://tasvideos.org/Bizhawk/DOSBox/Linux Checksum information for the LINLD.COM utility required for the boot process. ```text File: LINLD.COM Size: 5,832 bytes MD5: cb3627ce4505a59b506beab8f6ae7360 SHA-1: 17c944731dfb4d09cf077d53147fb2f71f239c52 ```