Note: this is the original movie format of the BizHawk emulator. It was used up until the 1.7.0 release, after which it was obsoleted by the .bk2 format
Text file format
the .bkm format is a text file in UTF-8 encoding
Header
All of these items are strings if not mentioned otherwise.
Main
- comment - A note that's not used by the emulator in any way.
- emuVersion - Version of BizHawk used to create the movie.
- MovieVersion - Movie format version.
- Platform - Game system used.
- GameName - Name of the game used.
- Author - Creator of the movie.
- rerecordCount - Number of rerecords used while making the movie (Integer).
- GUID - Globally unique identifier of the movie.
- StartsFromSavestate - Whether or not the movie was recorded from a savestate (Boolean: True or False).
- SHA1 - SHA-1 checksum of the ROM file used.
- FirmwareSHA1 - the SHA-1 checksum of the Firmware (BIOS) file used when recording the movie
- subtitle - A message to be displayed on screen during the playback of the movie.
- Format: "subtitle FRAME X Y LENGTH COLOR MESSAGE" where FRAME is an integer denoting when to start the displaying the subtitle, X is an integer for the horizontal position to display it at, Y is an integer for the vertical position to display it at, LENGTH is the an integer defining how many frames to display the subtitle for, COLOR is a hexadecimal number describing the subtitle's color, and MESSAGE is the actual string message for the subtitle.
- PAL - Whether or not the movie was recorded in PAL mode (Boolean: True or False).
- BoardName - The board/mapper type, on systems that have this info and have implemented this feature
- Skip_Bios - indicates the bios was skipped (only certain cores implement this)
- VideoPlugin - The video plugin used (for cores that use plugins)
- LoopOffset - this value indicates it is an infinite loop movie. Existence of this line will indicate this. The value is an integer value specifying at which frame the movie will loop back to when it reaches the end of the input log. This feature was originally made available in BizHawk 1.4.1
Headers Imported from Other Emulators
- CoreOrigin - Version of the core used for the original movie (.LSMV).
- CRC16 - 16-bit cyclic redundancy check (Integer, .VBM).
- CRC32 - 32-bit cyclic redundancy check (Integer, .SMV, .VMV, .ZMV).
- emuOrigin - Version of the emulator used for the original movie (.FCM, .FM2, .FMV, .GMV, .LSMV, .MC2, .MCM, .MMV, .NMV, .SMV, .VBM, .VMV, .ZMV).
- GameCode - Game Code of the ROM used while recording (Integer, .VBM).
- InternalChecksum - Internal Checksum of the ROM used while recording (Integer, .VBM).
- Japan - Whether or not the ROM used is from Japan (Boolean: True or False, .MMV).
- MD5 - Encrypted checksum of the ROM file used (.FCM, .FM2, .MC2, .MCM, .MMV)
- MovieOrigin - Version of the movie format used in the original movie (.FCM, .FM2, .FMV, .GMV, .LSMV, .MC2, .MCM, .MMV, .NMV, .SMV, .VBM, .VMV, .ZMV).
- port1 - Details on the device plugged into port 1 (.LSMV).
- port2 - Details on the device plugged into port 2 (.LSMV).
- ProjectID - The movie's ID (.LSMV).
- SHA256_X - SHA-256 checksum of the ROM file used. X denotes the name of the .sha256 source file (.LSMV).
- SuperGameBoyMode - Whether or not the the original movie was recorded in SGB mode (Boolean: True or False, .VBM).
- StartSecond - The second in which the movie starts (.LSMV).
- StartSubSecond - The sub-second in which the movie starts (.LSMV).
- SyncHack - Whether or not the sync hack was enabled for the original movie (Boolean: True or False, .FCM).
- UnitCode - The game's unit code (Integer, .VBM).
GBx Specific
- Force_DMG_Mode - forces the game into the original GB mode
- GBA_In_CGB - indicates a GBA game running in Gameboy Color mode
- SGB - Indicates the game is in Super Gameboy mode
All non-utilized headers are treated like comments. All unknown headers in .FM2 and .MC2 are copied verbatim as such.
Input
NES / Gameboy
|Flag|UDLRsSBA|
For NES, the Flag can be 'r' to indicate a reset. For Gameboy and NES, it can be 'P' to indicate a hard reset (Power).
Dual Gameboy
Flag | UDLRsSBA | Flag | UDLRsSBA |
Same pattern as Gameboy but for two gameboys
GBA
P | UDLRsSBALR |
'P' is the power button
Genesis 3-Button
|Flag|UDLRSABC|
Genesis 3-Button currently does not have any flags.
PC Engine
|Flag|UDLRsr21|
PC Engine currently does not have any flags.
SMS / GG / SG-1000
|UDLR12|Other Controllers...|pr|
p is pause, and r is reset
SNES / SGB
|Flag|UDLRsSBAXYLR|
The Flag can be 'r' to indicate a soft reset or 'P' to indicate a hard reset (Power).
Atari 2600
rs | UDLRB | UDLRB |
'r' indicates a soft reset, and s is the select switch
Atari 7800
Prsp | UDLR12 | UDLR12 |
- 'P' is hard reset (Power)
- 'r' indicates a soft reset
- 's' is the select switch
- 'p' is the pause button
N64
Flag | UDLRBAZSLRudlr xxx, yyy | other controllers |
udlr are the C buttons. Flag can be r for soft reset, and P for hard reset (Power)
[space/-]xxx are the characters for the analog X position, if negative the space will be a minus sign. [space/-]yyy is the analog Y position
Saturn
Flag | UDLRSXYZABClr |
Flag can be r for soft reset, and P for hard reset (Power)
Coleco
UDLRlr123456789*0# | UDLRlr123456789*0# |
'*' is the Star button, '#' is the pound button
Commodore 64
UDLRB | UDLRB | 1357l1234567890+-1cicQWERTYUIOP@*urskASDFGHJKL:;=eosZXCVBNM,>/sul_ |
The first two sections are for the joystick controllers (B is the button). The remaining represent the commodore keyboard.
TI-83
|0123456789`O=UDLR+_*/c^-()TVCPsmX>nL21HAGtZWY&OD,S|Flag|
TI-83 currently does not have any flags.