1 #LyX 2.1 created this file. For more info see http://www.lyx.org/
6 \use_default_options true
7 \maintain_unincluded_children false
9 \language_package default
14 \font_typewriter default
16 \font_default_family default
17 \use_non_tex_fonts false
23 \default_output_format default
25 \bibtex_command default
26 \index_command default
27 \paperfontsize default
31 \use_package amsmath 1
32 \use_package amssymb 1
35 \use_package mathdots 1
36 \use_package mathtools 1
38 \use_package stackrel 1
39 \use_package stmaryrd 1
40 \use_package undertilde 1
42 \cite_engine_type default
46 \paperorientation portrait
56 \paragraph_separation indent
57 \paragraph_indentation default
58 \quotes_language english
61 \paperpagestyle default
62 \tracking_changes false
75 \begin_layout Standard
76 lsnes is SNES rerecording emulator based on bsnes core.
83 \begin_layout Enumerate
84 bsnes libsnes (for bsnes SNES core)
88 \begin_layout Enumerate
89 v084-v087 (v084 or v085 for delayreset support)
92 \begin_layout Enumerate
93 accuracy or compatiblity core with debugger enabled.
96 \begin_layout Enumerate
97 Patched version (using included 7 patches)
101 \begin_layout Enumerate
102 gambatte (for gambatte core)
106 \begin_layout Enumerate
107 SVN r320, r358 or r364
110 \begin_layout Enumerate
111 Patched with included patches
115 \begin_layout Enumerate
119 \begin_layout Enumerate
123 \begin_layout Enumerate
127 \begin_layout Enumerate
128 boost_thread (if native std::thread is not available)
131 \begin_layout Enumerate
135 \begin_layout Enumerate
136 sdlmain (SDL only, part of SDL)
139 \begin_layout Enumerate
140 boost_conversion (this is header-only library)
143 \begin_layout Enumerate
144 libswscale (wxwidgets graphics only)
147 \begin_layout Enumerate
148 Portaudio (portaudio sound only)
151 \begin_layout Enumerate
152 libao (libao sound only)
155 \begin_layout Enumerate
156 Lua version 5.1.X or 5.2.X
159 \begin_layout Enumerate
163 \begin_layout Enumerate
164 libopus (optional, for commentary track tool)
167 \begin_layout Section
171 \begin_layout Itemize
172 Copy bsnes sources (the bsnes subdirectory) to subdirectory 'bsnes' (for
176 \begin_layout Itemize
177 Copy gambatte sources to subdirectory 'gambatte' (for gambatte core).
180 \begin_layout Itemize
181 Patch the bsnes sources with included patches (directory 'bsnes-patches/<version
185 \begin_layout Itemize
186 Patch the gambatte sources with included patches (directory 'gambatte-patches/<v
187 ersion>', gambatte core)
190 \begin_layout Itemize
191 Edit options.build (or copy of that file)
194 \begin_layout Itemize
195 Run make (passing 'OPTIONS=<filename>' if using something else than options.build
199 \begin_layout Section
203 \begin_layout Subsection
207 \begin_layout Subsubsection
211 \begin_layout Standard
215 \begin_layout Subsubsection
219 \begin_layout Standard
223 \begin_layout Subsubsection
227 \begin_layout Standard
228 Load <file> as movie or savestate file on startup.
231 \begin_layout Subsubsection
235 \begin_layout Standard
236 Instead of starting the emulator, only display the settings.
239 \begin_layout Subsubsection
243 \begin_layout Standard
244 Instead of starting the emulator, display the plugin manager (useful to
245 disable some plugin that causes emulator to crash on startup)
248 \begin_layout Subsubsection
252 \begin_layout Standard
253 Run this Lua file on startup
256 \begin_layout Subsection
257 dump options (lsnes-dumpavi only)
260 \begin_layout Subsubsection
264 \begin_layout Standard
269 \begin_layout Subsubsection
273 \begin_layout Standard
274 Load <filename> as movie or savestate file on startup.
278 \begin_layout Subsubsection
282 \begin_layout Standard
283 Set the dumper to use (required).
284 Use 'list' for listing of known dumpers.
287 \begin_layout Subsubsection
288 --firmware-path=<path>
291 \begin_layout Standard
292 Set path to look for firmware.
295 \begin_layout Subsubsection
299 \begin_layout Standard
300 Set the mode to use (required for dumpers with multiple modes, forbidden
302 Use 'list' for known modes.
305 \begin_layout Subsubsection
309 \begin_layout Standard
312 \begin_inset Quotes eld
316 \begin_inset Quotes erd
322 \begin_layout Subsubsection
323 --option=<name>=<value>
326 \begin_layout Standard
327 Set option <name> to value <value>.
330 \begin_layout Subsubsection
334 \begin_layout Standard
335 Set number of frames to dump.
336 Mandatory, unless --overdump-length is specified.
339 \begin_layout Subsubsection
340 --overdump-length=<length>
343 \begin_layout Standard
344 Set number of frames to dump after movie end.
345 Mutually exclusive with --length.
348 \begin_layout Subsubsection
352 \begin_layout Standard
353 Run specified lua script (lsnes-dumpavi does not have initialization files).
356 \begin_layout Subsubsection
357 --load-library=<library>
360 \begin_layout Standard
361 Load the specified shared object / dynamic library / dynamic link library.
364 \begin_layout Subsection
365 lsnes settings directory
368 \begin_layout Standard
369 The lsnes settings directory is (in order of decreasing perference):
372 \begin_layout Itemize
375 lsnes (if %APPDATA% exists)
378 \begin_layout Itemize
379 Unix: $XDG_CONFIG_HOME/lsnes (if $XDG_CONFIG_HOME exists)
382 \begin_layout Itemize
383 Unix: $HOME/.config/lsnes (if $HOME exists)
386 \begin_layout Itemize
391 \begin_layout Standard
392 If leading directories do not exist, attempt to create them is made.
395 \begin_layout Section
399 \begin_layout Itemize
400 Commands beginning with '*' invoke the corresponding command without alias
404 \begin_layout Itemize
405 If command starts with '+' (after possible '*'), the command is executed
406 as-is when button is pressed, and when button is released, it is executed
407 with '+' replaced by '-'.
410 \begin_layout Itemize
411 Commands without '+' execute only on negative edge (release).
414 \begin_layout Subsection
418 \begin_layout Standard
419 Run <script> as if commands were entered on the command line.
422 \begin_layout Subsection
426 \begin_layout Itemize
427 <address> can be one of:
431 \begin_layout Itemize
435 \begin_layout Itemize
436 Hexadecimal number (prefixed with 0x)
439 \begin_layout Itemize
440 <memarea>+<hexoffset> (no 0x prefix for offset).
444 \begin_layout Standard
445 <value> can be hexadecimal (prefixed with '0x'), unsigned or signed (prefixed
449 \begin_layout Standard
450 The available element <sizes> are:
453 \begin_layout Itemize
457 \begin_layout Itemize
461 \begin_layout Itemize
465 \begin_layout Itemize
469 \begin_layout Itemize
473 \begin_layout Itemize
474 float: 4 bytes (floating-point)
477 \begin_layout Itemize
478 double: 8 bytes (floating-point)
481 \begin_layout Standard
482 When reading RAM and ROM, multi-byte reads/writes are big-endian.
483 When dealing with DSP memory, multi-byte reads/writes are native-endian
484 (do not use operand sizes exceeding DSP bitness, except dword is OK for
488 \begin_layout Subsubsection
489 read-<size> <address>
492 \begin_layout Standard
493 Read the value of byte in <address>.
496 \begin_layout Subsubsection
497 read-s<size> <address>
500 \begin_layout Standard
501 Read the value of signed byte in <address>.
504 \begin_layout Subsubsection
505 write-<size> <address> <value>
508 \begin_layout Standard
509 Write <value> to byte in address <address>.
512 \begin_layout Subsection
516 \begin_layout Standard
517 These commands are not available in lsnesrc, but are available after ROM
521 \begin_layout Subsubsection
525 \begin_layout Standard
529 \begin_layout Subsubsection
533 \begin_layout Standard
534 Toggle paused/unpaused
537 \begin_layout Subsubsection
541 \begin_layout Standard
543 If the button is still held after configurable timeout expires, game unpauses
544 for the duration frame advance is held.
547 \begin_layout Subsubsection
551 \begin_layout Standard
553 If the button is still held after configurable timeout expires, game unpauses
554 for the duration frame advance is held.
557 \begin_layout Subsubsection
561 \begin_layout Standard
562 Skip to first poll in frame after current.
565 \begin_layout Subsubsection
569 \begin_layout Standard
570 Reset the SNES after this frame.
573 \begin_layout Subsubsection
577 \begin_layout Standard
578 Load savestate <filename> in current mode.
581 \begin_layout Subsubsection
582 load-state <filename>
585 \begin_layout Standard
586 Load savestate <filename> in readwrite mode.
589 \begin_layout Subsubsection
590 load-readonly <filename>
593 \begin_layout Standard
594 Load savestate <filename> in readonly mode.
597 \begin_layout Subsubsection
598 load-preserve <filename>
601 \begin_layout Standard
602 Load savestate <filename> in readonly mode, preserving current events.
605 \begin_layout Subsubsection
606 load-movie <filename>
609 \begin_layout Standard
610 Load savestate <filename>, ignoring save part in readonly mode.
613 \begin_layout Subsubsection
614 save-state <filename>
617 \begin_layout Standard
618 Save system state to <filename> as soon as possible.
621 \begin_layout Subsubsection
622 save-movie <filename>
625 \begin_layout Standard
626 Save movie to <filename>.
629 \begin_layout Subsubsection
633 \begin_layout Standard
637 \begin_layout Subsubsection
641 \begin_layout Standard
645 \begin_layout Subsubsection
649 \begin_layout Standard
650 Toggle between playback and recording modes.
653 \begin_layout Subsubsection
654 test-1, test-2, test-3
657 \begin_layout Standard
658 Internal test commands.
662 \begin_layout Subsubsection
663 take-screenshot <filename>
666 \begin_layout Standard
667 Save screenshot to <filename>.
670 \begin_layout Subsubsection
671 +controller <class>-<#>-<button>
674 \begin_layout Standard
675 Press button <button> on controller <num> of class <class>.
678 \begin_layout Itemize
679 Class 'gamepad': A, B, X, Y, L, R, select, start, up, down, left, right,
680 ext0, ext1, ext2, ext3
683 \begin_layout Itemize
687 \begin_layout Itemize
688 Class 'superscope': trigger, cursor, turbo, pause
691 \begin_layout Itemize
692 Class 'justifier': trigger, start
695 \begin_layout Itemize
696 Class 'gb': A, B, select, start, up, down, left, right
699 \begin_layout Subsubsection
700 hold-controller <class>-<#>-<button>
703 \begin_layout Standard
704 Hold/unhold button <button> on controller <num> of class <class>.
707 \begin_layout Subsubsection
708 type-controller <class>-<#>-<button>
711 \begin_layout Standard
712 Hold/unhold button <button> on controller <num> of class <class> for the
714 See +controller for button names.
717 \begin_layout Standard
718 Cauntion: Does not work properly if outside frame advance.
721 \begin_layout Subsubsection
722 +autofire-controller <class>-<#>-<button> [[<duty>] <cyclelen>]
725 \begin_layout Standard
727 If duty is not specified, defaults to 1.
728 If <cyclelen> is not specified, defaults to 2.
731 \begin_layout Subsubsection
732 -autofire-controller <class>-<#>-<button> [[<duty>] <cyclelen>]
735 \begin_layout Standard
739 \begin_layout Subsubsection
740 autofire-controller <class>-<#>-<button> [[<duty>] <cyclelen>]
743 \begin_layout Standard
745 If autofire is turned on, specified cycle is used.
748 \begin_layout Subsubsection
749 designate-position <class>-<#>-analog<n>
752 \begin_layout Standard
753 Designate position for analog pair.
754 <n> is only there if there are multiple axis pairs.
757 \begin_layout Subsubsection
761 \begin_layout Standard
765 \begin_layout Subsubsection
769 \begin_layout Standard
770 Toggle pause on end flag.
773 \begin_layout Subsubsection
777 \begin_layout Standard
778 Set pause on end flag.
781 \begin_layout Subsubsection
785 \begin_layout Standard
786 Clear pause on end flag.
789 \begin_layout Subsubsection
790 action <action> [<parameters>]
793 \begin_layout Standard
794 Run specified core action.
797 \begin_layout Subsection
801 \begin_layout Subsubsection
802 cycle-jukebox-backward
805 \begin_layout Standard
806 Cycle save jukebox backwards.
809 \begin_layout Subsubsection
810 cycle-jukebox-forward
813 \begin_layout Standard
814 Cycle save jukebox forwards
817 \begin_layout Subsubsection
818 set-jukebox-slot <slot>
821 \begin_layout Standard
822 Set current jukebox slot
825 \begin_layout Subsubsection
829 \begin_layout Standard
830 Do load from jukebox (current mode).
833 \begin_layout Subsubsection
837 \begin_layout Standard
838 Do state save to jukebox.
841 \begin_layout Subsection
845 \begin_layout Subsubsection
849 \begin_layout Standard
853 \begin_layout Subsubsection
854 create-branch <pid> <name>
857 \begin_layout Standard
858 Create a new branch, with <pid> as parent and <name> as name.
861 \begin_layout Subsubsection
862 rename-branch <id> <name>
865 \begin_layout Standard
866 Rename branch <id> to <name>.
869 \begin_layout Subsubsection
870 reparent-branch <id> <pid>
873 \begin_layout Standard
874 Set parent of branch <id> to <pid>.
877 \begin_layout Subsubsection
881 \begin_layout Standard
882 Set current branch to <id>.
885 \begin_layout Subsubsection
889 \begin_layout Standard
893 \begin_layout Standard
897 \begin_layout Subsection
901 \begin_layout Subsubsection
902 evaluate-lua <luacode>
905 \begin_layout Standard
906 Run Lua code <luacode> using built-in Lua interpretter.
909 \begin_layout Subsubsection
913 \begin_layout Standard
914 Synonym for evaluate-lua.
917 \begin_layout Subsubsection
921 \begin_layout Standard
922 Run specified lua file using built-in Lua interpretter.
925 \begin_layout Subsubsection
929 \begin_layout Standard
930 Clear the Lua VM state and restore to factory defaults.
933 \begin_layout Subsection
937 \begin_layout Subsubsection
938 enable-sound <on/off>
941 \begin_layout Standard
942 Enable/Disable sound.
945 \begin_layout Subsection
949 \begin_layout Subsubsection
953 \begin_layout Standard
954 Loads ROM (format autodetected) from <file>.
957 \begin_layout Subsubsection
961 \begin_layout Standard
962 Reloads the main ROM image from.
965 \begin_layout Subsubsection
969 \begin_layout Standard
970 Tangent for recording voice for commentary track.
971 While pressed, record a stream.
974 \begin_layout Subsubsection
975 advance-subframe-timeout
978 \begin_layout Standard
979 Subframe advance timeout in milliseconds.
983 \begin_layout Subsubsection
987 \begin_layout Standard
988 Set the speed multiplier.
989 <speed> may be positive number (1 is normal speed) or
990 \begin_inset Quotes eld
994 \begin_inset Quotes erd
1000 \begin_layout Section
1004 \begin_layout Subsection
1008 \begin_layout Subsection
1012 \begin_layout Subsubsection
1016 \begin_layout Standard
1017 AVI dumper: Always dump at 512x448 or 512x478 regardless of what the console
1021 \begin_layout Subsubsection
1025 \begin_layout Standard
1026 AVI dumper: Set the default left border thickness (unless lua overrides)
1032 \begin_layout Subsubsection
1036 \begin_layout Standard
1037 AVI dumper: Set the default right border thickness (unless lua overrides)
1043 \begin_layout Subsubsection
1047 \begin_layout Standard
1048 AVI dumper: Set the default top border thickness (unless lua overrides)
1054 \begin_layout Subsubsection
1058 \begin_layout Standard
1059 AVI dumper: Set the default bottom border thickness (unless lua overrides)
1065 \begin_layout Subsubsection
1069 \begin_layout Standard
1070 AVI dumper: Maximum number of frames per dump segment (0 => unlimited).
1075 \begin_layout Subsubsection
1079 \begin_layout Standard
1080 AVI dumper: Compression level (0-18).
1083 \begin_layout Itemize
1084 Compression levels 10 and above are not compatible with stock CSCD codec.
1087 \begin_layout Itemize
1088 Recomended level is 7.
1091 \begin_layout Subsubsection
1095 \begin_layout Standard
1096 AVI dumper: Set method of determining the sound rate.
1099 \begin_layout Itemize
1100 0: Pick nearest of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48, 64, 88.2, 96,
1101 128, 176.4 and 192 kHz.
1104 \begin_layout Itemize
1105 1: Round down to nearest integer.
1108 \begin_layout Itemize
1109 2: Round up to nearest ingeter.
1112 \begin_layout Itemize
1113 3: Multiply by denominator.
1116 \begin_layout Itemize
1117 4: High quality 44.1kHz (SRC needed).
1120 \begin_layout Itemize
1121 5: High quality 48kHz (SRC needed).
1124 \begin_layout Subsection
1128 \begin_layout Subsubsection
1132 \begin_layout Standard
1133 JMD dumper: Compression level (0-9).
1136 \begin_layout Section
1140 \begin_layout Itemize
1141 The editor edits in-memory movie.
1144 \begin_layout Itemize
1145 Because past can't be edited and readwrite mode doesn't allow future, editing
1153 \begin_layout Itemize
1154 Keyboard triggers the normal hotkeys and bindings.
1157 \begin_layout Subsection
1161 \begin_layout Itemize
1162 Clicking on cell in future (indicated by lack of redish background) toggles
1163 it (if it is a button) or prompts for a value (if it is an axis)
1166 \begin_layout Itemize
1167 Dragging vertically toggles sequence of buttons or changes a sequence of
1171 \begin_layout Subsection
1172 Right button actions
1175 \begin_layout Standard
1176 The right mouse button pops up a context-sensitive menu:
1179 \begin_layout Itemize
1180 Toggle <something>: Toggle this button
1183 \begin_layout Itemize
1184 Change <something>: Change this axis value
1187 \begin_layout Itemize
1188 Insert frame after: Insert a frame after this frame
1191 \begin_layout Itemize
1192 Append frame: Append a frame to movie
1195 \begin_layout Itemize
1196 Append frames: Append specified number of frames to movie
1199 \begin_layout Itemize
1200 Delete frame: Delete this frame
1203 \begin_layout Itemize
1204 Delete subframe: Delete this subframe
1207 \begin_layout Itemize
1208 Truncate movie: Delete this subframe and everything after it.
1211 \begin_layout Itemize
1212 Scroll to frame: Prompt for a frame and scroll the display to that frame.
1215 \begin_layout Itemize
1216 Scroll to current frame: Scroll the display to current position
1219 \begin_layout Itemize
1220 Run to frame: Prompts for frame and runs the emulation to that frame.
1223 \begin_layout Itemize
1224 Change number of lines visible: Change the height of the movie display (1
1228 \begin_layout Itemize
1229 Lock scroll to playback: While playing back or rewinding movies, the display
1230 will follow if enabled.
1233 \begin_layout Section
1234 Memory watch expression syntax
1237 \begin_layout Standard
1238 Memory watch expressions has the following syntax elements:
1241 \begin_layout LyX-Code
1242 ${foo} The value of memory watch foo.
1245 \begin_layout LyX-Code
1246 0x1234 Hexadecimal number 1234
1249 \begin_layout LyX-Code
1250 12345 Decimal number 12345
1253 \begin_layout LyX-Code
1254 3.141 Decimal number 3.141
1257 \begin_layout LyX-Code
1261 \begin_layout LyX-Code
1262 ~a Bitwise NOT (integers only)
1265 \begin_layout LyX-Code
1269 \begin_layout LyX-Code
1270 a/b Division/quotent
1273 \begin_layout LyX-Code
1274 a%b Remainder (integers only)
1277 \begin_layout LyX-Code
1278 a+b Sum or string concatenation
1281 \begin_layout LyX-Code
1285 \begin_layout LyX-Code
1286 a<<b Shift left (integers only)
1289 \begin_layout LyX-Code
1290 a>>b Shift right (integers only).
1291 Arithmetic for signed.
1294 \begin_layout LyX-Code
1298 \begin_layout LyX-Code
1299 a<=b Less or equal to
1302 \begin_layout LyX-Code
1306 \begin_layout LyX-Code
1310 \begin_layout LyX-Code
1311 a>=b Greater or equal to
1314 \begin_layout LyX-Code
1318 \begin_layout LyX-Code
1319 a&b Bitwise AND (integers only)
1322 \begin_layout LyX-Code
1323 a^b Bitwise XOR (integers only)
1326 \begin_layout LyX-Code
1327 a|b Bitwise OR (integers only)
1330 \begin_layout LyX-Code
1334 \begin_layout LyX-Code
1338 \begin_layout LyX-Code
1339 π Numeric constant pi.
1342 \begin_layout LyX-Code
1346 \begin_layout LyX-Code
1347 if(x,y) If x is true, y, else false.
1350 \begin_layout LyX-Code
1351 if(x,y,z) If x is true, y, else z.
1354 \begin_layout LyX-Code
1358 \begin_layout LyX-Code
1360 that is not false, or false if none.
1363 \begin_layout LyX-Code
1367 \begin_layout LyX-Code
1371 \begin_layout LyX-Code
1375 \begin_layout LyX-Code
1379 \begin_layout LyX-Code
1383 \begin_layout LyX-Code
1387 \begin_layout LyX-Code
1388 min(x...) The smallest value among x...
1392 \begin_layout LyX-Code
1393 max(x...) The largest value among x...
1397 \begin_layout LyX-Code
1398 sum(x...) Sum/concatenation of x...
1402 \begin_layout LyX-Code
1403 prod(x...) Product of x...
1407 \begin_layout LyX-Code
1408 sqrt(x) Square root of x.
1411 \begin_layout LyX-Code
1412 log(x) Natural log of x.
1415 \begin_layout LyX-Code
1416 log(x,y) Log of y to base x.
1419 \begin_layout LyX-Code
1423 \begin_layout LyX-Code
1427 \begin_layout LyX-Code
1431 \begin_layout LyX-Code
1435 \begin_layout LyX-Code
1439 \begin_layout LyX-Code
1440 asin(x) Arcsine of x
1443 \begin_layout LyX-Code
1444 acos(x) Arccosine of x
1447 \begin_layout LyX-Code
1448 atan(x) Arctangent of x
1451 \begin_layout LyX-Code
1452 atan(x,y) Angle between vector (x,y) and x-axis.
1455 \begin_layout LyX-Code
1456 sinh(x) Hyperbolic sine of x
1459 \begin_layout LyX-Code
1460 cosh(x) Hyperbolic cosine of x
1463 \begin_layout LyX-Code
1464 tanh(x) Hyperbolic tangent of x
1467 \begin_layout LyX-Code
1468 arsinh(x) Hyperbolic arsine of x
1471 \begin_layout LyX-Code
1472 arcosh(x) Hyperbolic arcosine of x
1475 \begin_layout LyX-Code
1476 artanh(x) Hyperbolic artangent of x
1479 \begin_layout LyX-Code
1480 torad(x) Convert x degrees to radians.
1483 \begin_layout LyX-Code
1484 todeg(x) Convert x radians to degrees.
1487 \begin_layout LyX-Code
1488 re(x) Real part of complex number x.
1491 \begin_layout LyX-Code
1492 im(x) Imaginary part of complex number x.
1495 \begin_layout LyX-Code
1496 conj(x) Complex conjugate of x.
1499 \begin_layout LyX-Code
1500 abs(x) Absolute value of x.
1503 \begin_layout LyX-Code
1504 arg(x) Argument of x.
1507 \begin_layout LyX-Code
1508 pyth(x...) sqrt(sum(x^2)).
1510 pythagorean distance.
1513 \begin_layout LyX-Code
1514 e Base of natural logarithm
1517 \begin_layout LyX-Code
1521 \begin_layout LyX-Code
1525 \begin_layout LyX-Code
1526 false Constant false
1529 \begin_layout LyX-Code
1533 \begin_layout Section
1534 Modifier and key names:
1537 \begin_layout Subsection
1541 \begin_layout Subsubsection
1545 \begin_layout Standard
1546 Following modifier names are known:
1549 \begin_layout Itemize
1553 \begin_layout Itemize
1557 \begin_layout Itemize
1561 \begin_layout Itemize
1565 \begin_layout Itemize
1569 \begin_layout Subsubsection
1573 \begin_layout Standard
1574 Following key names are known:
1577 \begin_layout Itemize
1578 back, tab, return, escape, space, exclaim, quotedbl, hash, dollar, percent,
1579 ampersand, quote, leftparen, rightparen, asterisk, plus, comma, minus,
1580 period, slash, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, colon, semicolon, less, equals,
1581 greater, question, at, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p,
1582 q, r, s, t, u, v, w, x, y, z, leftbracket, backslash, rightbracket, caret,
1583 underscore, backquote, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p,
1584 q, r, s, t, u, v, w, x, y, z, leftcurly, pipe, rightcurly, tilde, delete,
1585 start, lbutton, rbutton, cancel, mbutton, clear, shift, alt, control, menu,
1586 pause, capital, end, home, lefT, up, right, down, select, print, execute,
1587 snapshot, insert, help, numpad0, numpad1, numpad2, numpad3, numpad4, numpad5,
1588 numpad6, numpad7, numpad8, numpad9, multiply, add, separator, subtract,
1589 decimal, divide, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13,
1590 f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, numlock, scroll,
1591 pageup, pagedown, numpad_space, numpad_tab, numpad_enter, numpad_f1, numpad_f2,
1592 numpad_f3, numpad_f4, numpad_home, numpad_left, numpad_up, numpad_right,
1593 numpad_down, numpad_pageup, numpad_pagedown, numpad_end, numpad_begin,
1594 numpad_insert, numpad_delete, numpad_equal, numpad_multiply, numpad_add,
1595 numpad_separator, numpad_subtract, numpad_decimal, numpad_divide, windows_left,
1596 windows_right, windows_menu, command, special1, special2, special3, special4,
1597 special5, special6, special7, special8, special9, special10, special11,
1598 special12, special13, special14, special15, special16, special17, special18,
1599 special19, special20
1602 \begin_layout Section
1606 \begin_layout Standard
1607 Movie file is .zip archive in itself, normal ZIP archive tools work on it
1608 (note: If you recompress it, do not use compression methods other than
1609 store and deflate and especially do not use encryption of any kind).
1612 \begin_layout Subsection
1613 Detecting clean start/SRAM/Savestate
1616 \begin_layout Itemize
1618 \begin_inset Quotes eld
1622 \begin_inset Quotes erd
1625 it is savestate, otherwise:
1628 \begin_layout Itemize
1629 If file has members with names starting
1630 \begin_inset Quotes eld
1634 \begin_inset Quotes erd
1637 it is movie starting from SRAM, otherwise:
1640 \begin_layout Itemize
1641 It is movie starting from clear state.
1644 \begin_layout Subsection
1648 \begin_layout Standard
1649 Type of game ROM and region (as one line).
1653 \begin_layout Standard
1654 \begin_inset Tabular
1655 <lyxtabular version="3" rows="8" columns="3">
1656 <features rotate="0" tabularvalignment="middle">
1657 <column alignment="center" valignment="top">
1658 <column alignment="center" valignment="top">
1659 <column alignment="center" valignment="top">
1661 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1664 \begin_layout Plain Layout
1670 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1673 \begin_layout Plain Layout
1679 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1682 \begin_layout Plain Layout
1690 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1693 \begin_layout Plain Layout
1699 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1702 \begin_layout Plain Layout
1708 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1711 \begin_layout Plain Layout
1719 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1722 \begin_layout Plain Layout
1728 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1731 \begin_layout Plain Layout
1737 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1740 \begin_layout Plain Layout
1748 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1751 \begin_layout Plain Layout
1757 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1760 \begin_layout Plain Layout
1766 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1769 \begin_layout Plain Layout
1777 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1780 \begin_layout Plain Layout
1786 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1789 \begin_layout Plain Layout
1795 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1798 \begin_layout Plain Layout
1806 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1809 \begin_layout Plain Layout
1815 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1818 \begin_layout Plain Layout
1824 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1827 \begin_layout Plain Layout
1835 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1838 \begin_layout Plain Layout
1844 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1847 \begin_layout Plain Layout
1853 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1856 \begin_layout Plain Layout
1864 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1867 \begin_layout Plain Layout
1873 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1876 \begin_layout Plain Layout
1882 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1885 \begin_layout Plain Layout
1899 \begin_layout Standard
1903 \begin_layout Standard
1904 \begin_inset Tabular
1905 <lyxtabular version="3" rows="3" columns="2">
1906 <features rotate="0" tabularvalignment="middle">
1907 <column alignment="center" valignment="top">
1908 <column alignment="center" valignment="top">
1910 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1913 \begin_layout Plain Layout
1919 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1922 \begin_layout Plain Layout
1930 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1933 \begin_layout Plain Layout
1939 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1942 \begin_layout Plain Layout
1950 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
1953 \begin_layout Plain Layout
1959 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
1962 \begin_layout Plain Layout
1976 \begin_layout Subsection
1980 \begin_layout Standard
1981 Contains type of port #1 (as one line).
1982 Valid values are 'none', 'gamepad', 'multitap' and 'mouse'.
1983 If not present, defaults to 'gamepad'.
1986 \begin_layout Subsection
1990 \begin_layout Standard
1991 Contains type of port #2 (as one line).
1992 Valid values are 'none', 'gamepad', 'multitap', 'mouse', 'superscope',
1993 'justifier' and 'justifiers'.
1994 If not present, defaults to 'none'.
1997 \begin_layout Subsection
2001 \begin_layout Standard
2002 Contains name of the game (as one line).
2005 \begin_layout Subsection
2009 \begin_layout Standard
2010 Contains authors, one per line.
2011 Part before '|' is the full name, part after is the nickname.
2014 \begin_layout Subsection
2018 \begin_layout Standard
2020 \begin_inset Quotes eld
2024 \begin_inset Quotes erd
2028 Used to reject other saves.
2031 \begin_layout Subsection
2032 Member: controlsversion
2035 \begin_layout Standard
2037 \begin_inset Quotes eld
2041 \begin_inset Quotes erd
2045 Used to identify what controls are there.
2048 \begin_layout Subsection
2050 \begin_inset Quotes eld
2054 \begin_inset Quotes erd
2060 \begin_layout Standard
2061 Contains bsnes core version number (as one line).
2064 \begin_layout Subsection
2068 \begin_layout Standard
2069 Contains project ID (as one line).
2070 Used to identify if two movies are part of the same project.
2073 \begin_layout Subsection
2074 Member: {rom,slota,slotb}{,xml}.sha256
2077 \begin_layout Standard
2078 Contains SHA-256 of said ROM or ROM mapping file (as one line).
2079 Absent if corresponding file is absent.
2082 \begin_layout Subsection
2083 Member: moviesram.<name>
2086 \begin_layout Standard
2087 Raw binary startup SRAM of kind <name>.
2088 Only present in savestates and movies starting from SRAM.
2091 \begin_layout Subsection
2095 \begin_layout Standard
2096 Contains frame number (as one line) of frame movie was saved on.
2097 Only present in savestates.
2100 \begin_layout Subsection
2104 \begin_layout Standard
2105 Current value of lag counter (as one line).
2106 Only present in savestates.
2109 \begin_layout Subsection
2110 Member: pollcounters
2113 \begin_layout Standard
2114 Contains poll counters (currently 100 of them), one per line.
2115 Each line is raw poll count if DRDY is set for it.
2116 Otherwise it is negative poll count minus one.
2117 Only present in savestates.
2120 \begin_layout Subsection
2124 \begin_layout Standard
2125 Raw binary dump of host memory.
2126 Only present in savestates.
2129 \begin_layout Subsection
2133 \begin_layout Standard
2134 The raw binary savestate itself.
2135 Savestate detection uses this file, only present in savestates.
2138 \begin_layout Subsection
2142 \begin_layout Standard
2143 Screenshot of current frame.
2144 Only present in savestates.
2145 First 2 bytes are big-endian width of image, rest are 24-bit RGB image
2147 Height of image is inferred from the width and size of data.
2150 \begin_layout Subsection
2154 \begin_layout Standard
2155 Raw binary SRAM of kind <name> at time of savestate.
2156 Only present in savestates.
2159 \begin_layout Subsection
2163 \begin_layout Standard
2164 The actual input track, one line per subframe (blank lines are skipped).
2167 \begin_layout Itemize
2168 If the first byte of each line is '.', ' ', <tab> or '|', then the line is
2169 part of same frame as previous, otherwise it starts a new frame.
2172 \begin_layout Itemize
2173 First subframe must start a new frame.
2176 \begin_layout Standard
2177 Length of movie in frames is number of lines in input file that start a
2181 \begin_layout Subsection
2185 \begin_layout Standard
2190 \begin_layout Itemize
2191 Each line is in form <firstframe> <numframes> <text>.
2194 \begin_layout Itemize
2195 Linefeed is encoded as
2197 n, backslash is encoded as
2204 \begin_layout Subsection
2208 \begin_layout Standard
2209 Contains textual base-10 rerecord count (as one line; emulator just writes
2210 this, it doesn't read it) + 1.
2213 \begin_layout Subsection
2217 \begin_layout Standard
2218 This member stores set of load IDs.
2219 There is one load ID per rerecord (plus one corresponding to start of project).
2222 \begin_layout Itemize
2223 This member constists of concatenation of records
2226 \begin_layout Itemize
2227 Each record is 2-36 bytes long and can represent 1-16,843,009 consequtive
2231 \begin_layout Itemize
2232 IDs are interpretted as 256-bit big-endian integers with warparound.
2235 \begin_layout Itemize
2236 Initial predicted ID is all zeroes.
2239 \begin_layout Standard
2240 Format of each record is:
2243 \begin_layout Itemize
2244 1 byte: Opcode byte.
2245 Bits 0-4 are prefix length (prefixlen), bits 5-6 are count length (countlen).
2249 \begin_layout Itemize
2250 32-prefixlen bytes of ID.
2253 \begin_layout Itemize
2254 countlen bytes of big-endian count (count).
2257 \begin_layout Standard
2258 Records are processed as follows:
2261 \begin_layout Itemize
2262 To form the first ID encoded by record, take the first prefixlen bytes predicted
2263 ID and append the read ID value to it.
2264 The result is the first ID encoded.
2267 \begin_layout Itemize
2268 If countlen is 0, record encodes 1 ID.
2271 \begin_layout Itemize
2272 If countlen is 1, record encodes 2+count IDs.
2275 \begin_layout Itemize
2276 If countlen is 2, record encodes 258+count IDs.
2279 \begin_layout Itemize
2280 If countlen is 3, record encodes 65794+count IDs.
2283 \begin_layout Itemize
2284 The new predicted ID is the next ID after last one encoded by the record.
2287 \begin_layout Standard
2288 The number of rerecords + 1 is equal to the sum of number of IDs encoded
2292 \begin_layout Subsection
2293 Member: starttime.second
2296 \begin_layout Standard
2297 Movie starting time, second part.
2298 Epoch is Unix epoch.
2299 Default is 1,000,000,000.
2302 \begin_layout Subsection
2303 Member: starttime.subsecond
2306 \begin_layout Standard
2307 Movie starting time, subsecond part.
2312 \begin_layout Subsection
2313 Member: savetime.second
2316 \begin_layout Standard
2317 Movie saving time, second part.
2318 Default is starttime.second.
2319 Only present in savestates.
2322 \begin_layout Subsection
2323 Member: savetime.subsecond
2326 \begin_layout Standard
2327 Movie saving time, subsecond part.
2328 Default is starttime.subsecond.
2329 Only present in savestates.
2332 \begin_layout Section
2333 lsvs file format (commentary tracks)
2336 \begin_layout Subsection
2340 \begin_layout Itemize
2341 Each cluster is 8kB (8192 bytes) in size.
2344 \begin_layout Itemize
2345 Cluster n starts at offset 8192*n in file.
2348 \begin_layout Itemize
2349 The following clusters are system special:
2353 \begin_layout Itemize
2354 Cluster 0 and all clusters with number multiple of 2048 (cluster tables)
2357 \begin_layout Itemize
2358 Cluster 1 (superblock)
2362 \begin_layout Subsection
2366 \begin_layout Itemize
2367 The cluster table describing cluster n is stored in cluster n & ~0x7FF (zero
2371 \begin_layout Itemize
2372 This cluster table consists of 2048 4-byte big-endian integers.
2375 \begin_layout Itemize
2376 Each entry describes a cluster in 16MB supercluster, in order.
2379 \begin_layout Itemize
2380 The valid values for entries are:
2384 \begin_layout Itemize
2385 0x00000000: Free cluster
2388 \begin_layout Itemize
2389 0x00000001: Last cluster in chain.
2392 \begin_layout Itemize
2393 0xFFFFFFFF: System cluster (cluster tables and superblock)
2396 \begin_layout Itemize
2397 (anything else): Number of next cluster in chain.
2398 Must not be multiple of 2048.
2402 \begin_layout Itemize
2403 Due to limitations of the format, there can be at most 2097052 superclusters,
2404 giving maximum file size of 16TB.
2407 \begin_layout Subsection
2411 \begin_layout Itemize
2412 The stream table chain always starts in cluster 2.
2415 \begin_layout Itemize
2416 Otherwise, it follows normal chaining.
2419 \begin_layout Itemize
2420 The stream table consists of 16-byte entries:
2424 \begin_layout Itemize
2425 The first 8 bytes of entry give big-endian beginning position of stream
2426 in units of 1/48000 s.
2429 \begin_layout Itemize
2430 The next 4 bytes of entry give big-endian beginning cluster for control
2432 0 here marks the entry as not present.
2435 \begin_layout Itemize
2436 The last 4 bytes of entry give big-endian beginning cluster for codec data.
2440 \begin_layout Itemize
2441 Stream table clusters are normal clusters, following normal chaining.
2444 \begin_layout Itemize
2445 The stream begnning position is not guarenteed unique.
2446 There can be multiple streams with the same starting position in the file.
2449 \begin_layout Subsection
2453 \begin_layout Itemize
2454 The stream control data consists of entries 4 bytes each:
2458 \begin_layout Itemize
2459 The first 2 bytes of entry gives big-endian length of packet
2462 \begin_layout Itemize
2463 The next byte of entry gives audio length of packet in units of 1/400 s.
2466 \begin_layout Itemize
2467 The last byte is control byte.
2471 \begin_layout Itemize
2472 0 means this entry is not present and the control data ends.
2475 \begin_layout Itemize
2476 1 is valid control entry.
2481 \begin_layout Itemize
2482 The stream control data can also end by running into end of the readable
2487 \begin_layout Itemize
2488 This happens if there happens to be exact multiple of 2048 packets in stream
2489 and number of packets is nonzero.
2493 \begin_layout Itemize
2494 These clusters follow normal chaining.
2497 \begin_layout Subsection
2501 \begin_layout Itemize
2502 Stream codec data consists of raw Opus data packets packed back to back
2503 with nothing in between.
2506 \begin_layout Itemize
2507 Warning: Due to internal limitations, this data must reside in the first
2508 65536 superclusters (that is, the first 1TB of the file).
2511 \begin_layout Subsection
2515 \begin_layout Itemize
2516 The superblock is stored in cluster 1.
2520 \begin_layout Itemize
2521 The first 11 bytes are
2522 \begin_inset Quotes eld
2526 \begin_inset Quotes erd
2532 \begin_layout Itemize
2533 The rest are unused.
2536 \begin_layout Itemize
2537 This cluster 1 is marked as system special.
2540 \begin_layout Section
2541 Known ROM extensions
2544 \begin_layout Itemize
2545 SNES cartridge ROMs: sfc, smc, swc, fig, ufo, sf2, gd3, gd7, dx2, mgd, mgh.
2548 \begin_layout Itemize
2549 DMG cartridge ROMs: dmg, gb.
2552 \begin_layout Itemize
2553 GBC cartridge ROMs: cgb, gbc.
2556 \begin_layout Section
2560 \begin_layout Itemize
2561 The first line must be:
2562 \begin_inset Quotes eld
2566 \begin_inset Quotes erd
2572 \begin_layout Itemize
2573 There is one needed line:
2574 \begin_inset Quotes eld
2578 \begin_inset Quotes erd
2582 This sets system type to <systype>.
2583 The following system types are valid:
2587 \begin_layout Itemize
2591 \begin_layout Itemize
2592 bsx (BS-X non-slotted)
2595 \begin_layout Itemize
2596 bsxslotted (BS-X slotted)
2599 \begin_layout Itemize
2600 sufamiturbo (Sufami Turbo)
2603 \begin_layout Itemize
2604 sgb (Super Game Boy)
2607 \begin_layout Itemize
2611 \begin_layout Itemize
2612 gbc (Game Boy Color)
2615 \begin_layout Itemize
2616 gbc_gba (Game Boy Color with GBA initial register values)
2620 \begin_layout Itemize
2621 Optionally a region can be specified:
2622 \begin_inset Quotes eld
2626 \begin_inset Quotes erd
2630 The following values are valid:
2634 \begin_layout Itemize
2635 autodetect (Autodetect region: snes and sgb only)
2638 \begin_layout Itemize
2639 ntsc (NTSC: snes, bsx, bsxslotted, sufamiturbo, sgb)
2642 \begin_layout Itemize
2643 pal (PAL: snes, sgb)
2646 \begin_layout Itemize
2647 world (World: dmg, gbc, gbc_gba)
2651 \begin_layout Itemize
2652 ROM images are loaded as:
2653 \begin_inset Quotes eld
2657 \begin_inset Quotes erd
2661 The following types are valid:
2665 \begin_layout Itemize
2666 rom (Cartridge ROM in snes, dmg, gbc, gbc_gba.
2667 BIOS in bsx, bsxslotted, sufamiturbo)
2670 \begin_layout Itemize
2671 bsx (Cartridge ROM in bsx, bsxslotted)
2674 \begin_layout Itemize
2675 slot-a (Cartridge ROM in sufamiturbo)
2678 \begin_layout Itemize
2679 slot-b (Cartridge ROM in sufamiturbo)
2683 \begin_layout Itemize
2684 ROM markup can be loaded as:
2685 \begin_inset Quotes eld
2689 \begin_inset Quotes erd
2693 The types valid are the same as for ROMs.
2696 \begin_layout Itemize
2697 Patches can be loaded as
2698 \begin_inset Quotes eld
2701 patch[<offset>] <type> <file>
2702 \begin_inset Quotes erd
2706 The types are the same as for ROMs.
2710 \begin_layout Itemize
2711 Offset is given in form [+-]<number>.
2712 Usually offset is either +0 or -512.
2715 \begin_layout Itemize
2716 Default offset is +0.
2720 \begin_layout Subsection
2724 \begin_layout LyX-Code
2728 \begin_layout LyX-Code
2732 \begin_layout LyX-Code
2733 rom rom speedygonzales.sfc
2736 \begin_layout LyX-Code
2737 patch-512 rom sonicthehedgehog.ips
2740 \begin_layout Subsection
2744 \begin_layout LyX-Code
2748 \begin_layout LyX-Code
2752 \begin_layout LyX-Code
2753 rom rom supergameboy.sfc
2756 \begin_layout LyX-Code
2757 rom dmg megamanV.dmg
2760 \begin_layout Section
2761 Quick'n'dirty encode guide
2764 \begin_layout Enumerate
2765 Start the emulator and load the ROM and movie file.
2768 \begin_layout Enumerate
2769 Set large AVI option 'set-setting avi-large on'
2772 \begin_layout Enumerate
2773 Enable dumping 'dump-avi tmpdump'
2776 \begin_layout Enumerate
2777 Unpause and let it run until you want to end dumping.
2780 \begin_layout Enumerate
2781 Close the emulator (closing the window is the easiest way).
2785 \begin_layout Enumerate
2786 For each tmpdump*.avi file created, on command prompt, do 'x264 --crf 10
2787 -o tmpdump_<numbers>.mkv tmpdump_<numbers>.avi'.
2790 \begin_layout Enumerate
2791 Do 'sox tmpdump.sox tmpdump.ogg rate -v 32000'
2794 \begin_layout Enumerate
2795 Do 'mkvmerge -o tmpdump_video.mkv tmpdump_0000000.mkv + tmpdump_0000001.mkv
2796 + tmpdump_0000002.mkv' (list every tmpdump_<numbers>.mkv, with + in between).
2799 \begin_layout Enumerate
2800 Do 'mkvmerge -o final.mkv tmpdump_video.mkv tmpdump.ogg'.
2801 Now final.mkv contains quick'n'dirty encode.
2804 \begin_layout Section
2805 Axis configurations for some gamepad types:
2808 \begin_layout Subsection
2812 \begin_layout Standard
2813 Axes 2 and 5 (joystick<n>axis2 and joystick<n>axis5) should be set to pressure-+.
2816 \begin_layout LyX-Code
2817 set-axis joystick0axis2 pressure-+
2820 \begin_layout LyX-Code
2821 set-axis joystick0axis5 pressure-+
2824 \begin_layout Itemize
2825 This is needed for SDL only.
2826 EVDEV sets those types correctly.
2829 \begin_layout Subsection
2831 \begin_inset Quotes eld
2835 \begin_inset Quotes erd
2841 \begin_layout Standard
2842 Axes 8-19 should be disabled.
2845 \begin_layout LyX-Code
2846 set-axis joystick0axis8 disabled
2849 \begin_layout LyX-Code
2850 set-axis joystick0axis9 disabled
2853 \begin_layout LyX-Code
2854 set-axis joystick0axis10 disabled
2857 \begin_layout LyX-Code
2858 set-axis joystick0axis11 disabled
2861 \begin_layout LyX-Code
2862 set-axis joystick0axis12 disabled
2865 \begin_layout LyX-Code
2866 set-axis joystick0axis13 disabled
2869 \begin_layout LyX-Code
2870 set-axis joystick0axis14 disabled
2873 \begin_layout LyX-Code
2874 set-axis joystick0axis15 disabled
2877 \begin_layout LyX-Code
2878 set-axis joystick0axis16 disabled
2881 \begin_layout LyX-Code
2882 set-axis joystick0axis17 disabled
2885 \begin_layout LyX-Code
2886 set-axis joystick0axis18 disabled
2889 \begin_layout LyX-Code
2890 set-axis joystick0axis19 disabled
2893 \begin_layout Section
2897 \begin_layout Subsection
2898 Problems from BSNES core:
2901 \begin_layout Itemize
2902 The whole pending save stuff.
2905 \begin_layout Itemize
2906 It is slow (especially accuracy).
2909 \begin_layout Itemize
2910 Firmwares can't be loaded from ZIP archives.
2913 \begin_layout Subsection
2917 \begin_layout Itemize
2918 Modifiers don't work with pseudo-keys.
2921 \begin_layout Itemize
2922 Audio for last dumped frame is not itself dumped.
2925 \begin_layout Itemize
2926 Audio in UI is pretty bad in quality if game doesn't run at full speed.