User Files from Sand

Upload All User Files

#639059201157091715 - Pandoc custom writer for TASVideos forum markup

tasvideos_forum.lua
51 downloads
Uploaded 2/5/2026 8:28 PM by Sand (see all 13)

#638973083207267679 - Zork I for Apple II in 6:58.98 (80 columns, brief)

100%-80-brief.bk2
In 06:58.983 (25139 frames), 261614 rerecords
305 downloads
Uploaded 10/29/2025 4:18 AM by Sand (see all 13)
Zork I r88 for Apple II TAS.
This is a direct application of the https://www.speedrun.com/zork1/guides/iqod4. The difference from UserFiles/Info/638893574504520990 is that RNG manipulation is now automated in the same Fennel script that enters the commands of the route, which makes the run adaptable to different settings (of 40/80 columns, or brief/superbrief mode). That run used 40-column superbrief mode. This run uses 80-column brief mode, which is what I intend to use as the representative for the run going forward.
RNG manipulation works by altering the letter case of commands. In the battle against the troll, for example, the command is hIT IT, with the capital letters being inserted to alter the RNG and ensure a one-hit kill on the troll. The script would have tried hit it, hit iT, hit It, hit IT, hiT it, etc., until finding a combination that works.
See https://archive.org/details/zork-appleii-tas-20250729 for an encode and source code, and for movie files of the other three settings.

#638893574504520990 - Zork I for Apple II in 05:14.52

100%.bk2
In 05:14.517 (18871 frames), 72662 rerecords
282 downloads
Uploaded 7/29/2025 3:44 AM by Sand (see all 13)
Zork I r88 for Apple II 100% TAS.
This is a direct application of the Gym Slow RTA route, without any attempt to further optimize it, or to adapt it for the TAS setting or the Apple II. The only change is the addition of a SUPER command at the beginning, to activate super-brief mode which shortens room descriptions. I intend to use it as a basis of comparison for future improvements.

#638888257478152075 - Zork for Apple II "fastest eaten by a grue" in 00:08.27

grue.bk2
In 00:08.267 (496 frames), 615 rerecords
164 downloads
Uploaded 7/23/2025 12:02 AM by Sand (see all 13)
This is a 3-frame improvement to UserFiles/Info/638874688943283518, reducing the total time from 499 frames to 496 frames.
The difference is entering the house with w instead of in. On its own, that only saves 1 frame, but it also happens to tweak the RNG enough that 2 frames of delay for RNG manipulation can additionally be removed.
I learned that w would work from bug #25 at http://www.graeme.50webs.com/infobugs/zork1.htm.

#638886542790751703 - Zork for Apple II "fastest eaten by a grue" in 00:08.32

grue.bk2
In 00:08.317 (499 frames), 620 rerecords
157 downloads
Uploaded 7/21/2025 12:24 AM by Sand (see all 13)

#638874688943283518 - Zork for Apple II "fastest eaten by a grue" in 00:08.34

grue.bk2
In 00:08.333 (500 frames), 621 rerecords
1 comment, 169 downloads
Uploaded 7/7/2025 7:08 AM by Sand (see all 13)
This is an improvement on #5891: adelikat's AppleII Zork I: The Great Underground Empire "Fastest eaten by a grue" in 00:15.00, from 900 to 500 frames. The previous inputs were:
go e
go s
go e
open window
go in
go u
go u
The new inputs are:
s.e.open.in.u.u
[Plus an extra Return to dismiss a [MORE] prompt.]
The timesaves are:
  • Omitting the initial go e command that tries to move into the blocked front door.
  • Removing all go. For example, s does the same as go s and is shorter.
  • Shortening open window to open. The object of the command is implied.
  • Putting all the commands on one line, separated by .. This doesn't make YOU HAVE DIED arrive any quicker, but it allows ending input early. The large amount of output produced by the combined commands requires buffering an additional press of Return to dismiss a [MORE] prompt that appears, but that can be done immediately after entering the commands.
The altered command schedule affects the RNG differently. I had to add 2 frames of delay before entering the commands in order to actually get eaten by a grue in the end.

#638789633114541718 - NES Final Fantasy "game end glitch" – recreation of 4468M using a Lua script

ff1-gameend.bk2
In 01:36.491 (5799 frames), 4235 rerecords
Game: Final Fantasy ( NES, see all files )
193 downloads
Uploaded 3/30/2025 8:28 PM by Sand (see all 13)
The inputs are not exactly the same as in [4468] NES Final Fantasy "game end glitch" by AmaizumiUni, Spikestuff & DJ Incendration in 01:36.47. The name entry inputs are automatically computed. The stair movements just go down/up rather than encoding anything. Syncing with BizHawk 2.10 required an additional empty frame before the first Reset input, but other than that, the movie length is unchanged.
This is gameend.bk2 at commit c8b0cbad2c13b3a9c210b0daf9ae7777b4c00d06 of the Git repository at https://www.bamsoftware.com/git/ff1.git.

#638766622812817201 - 2079M faster name entry by 5 frames

theaxemanv4-finalfantasy-2079M.faster-names.bk2
In 00:02.845 (171 frames), 2959 rerecords
Game: Final Fantasy ( NES, see all files )
209 downloads
Uploaded 3/4/2025 5:18 AM by Sand (see all 13)
This is a demonstration of entering the "Wedg", "Bigs", "Axe ", "Viks" names from [2079] NES Final Fantasy by TheAxeMan in 1:09:57.70 5 frames faster, by taking advantage of simultaneous directional inputs. See Forum/Posts/534748. This is ff1.bk2 in commit b18ba23e47f1de4542ffc9aca1299aed6bd53d44 of the Git repository at https://www.bamsoftware.com/git/ff1.git.
  • 2 frames moving from 'd' to 'g' in "Wedg"
  • 1 frame moving from 'A' to 'x' in "Axe "
  • 2 frames moving from 'e' to ' ' in "Axe ".
The inputs were computed by a shortest-path optimizer, script/main.lua in the Git repository linked above.
  1. Pause the emulator.
  2. Reset the emulator.
  3. Start recording a movie.
  4. Load the script/main.lua script.
  5. Unpause the emulator.
  6. Wait for the emulator to pause again.
  7. Stop recording the movie.

#638766593655640386 - Partial resync of theaxemanv4-finalfantasy.fm2 from 2079M to BizHawk 2.10

theaxemanv4-finalfantasy-2079M.resync-59946.bk2
In 1:09:57.720 (252278 frames), 44637 rerecords
Game: Final Fantasy ( NES, see all files )
213 downloads
Uploaded 3/4/2025 4:29 AM by Sand (see all 13)
This is a partial resync of theaxemanv4-finalfantasy.fm2 from [2079] NES Final Fantasy by TheAxeMan in 1:09:57.70 to BizHawk 2.10. Apart from a straightforward import of the .fm2, it adds 1 blank frame after the Reset on frame 57793. It gets through three Reset inputs. It desyncs around frame 59946, in the Dwarf Cave, when an NPC walks south instead of west.
This is theaxemanv4-finalfantasy.resync.bk2 at commit c13efc5748a76408d9e2282863487a16c86d4fe6 in the git repository at https://www.bamsoftware.com/git/ff1.git.

Annotations

MovieOrigin .fm2 version 3
emuOrigin FCEUX version 21040
microphone 0
FDS 0
NewPPU 0

#638643807847186809 - Data-oriented savestate manipulation in Lua, as used in 6203M (Kwirk "Heading Out? all floors")

tas.lua
Game: Kwirk ( GB, see all files )
197 downloads
Uploaded 10/13/2024 1:46 AM by Sand (see all 13)
Lua script that plays Kwirk "Heading Out? all floors" from beginning to end. This is the same script that was used for [6203] GB Kwirk "Heading Out?, all floors" by Sand in 25:15.19, with some additional comments and edits for clarity. The reason for posting this is to demonstrate the savestate manipulation support code included in the script (from BASE_SAVESTATE to earliest_effective_frame). See Forum/Topics/25755.
This is tas.lua in the Git repository at https://www.bamsoftware.com/git/kwirk.git at commit ef2355417be15e9473ff6d776a3e85247f58db5f.

#638529018325843149 - Kwirk "Heading Out? all unique floors" in 90741 frames

kwirk-headingout-90741.bk2
In 25:17.801 (90741 frames), 88813 rerecords
Game: Kwirk ( GB, see all files )
239 downloads
Uploaded 6/2/2024 5:10 AM by Sand (see all 13)
Plays all 120 unique floors of Kwirk in Heading Out? mode, in 10 segments and with no repeated floors. See Forum/Posts/529667.
SkillSeed# FloorsFloors
Easy423032i, 35i, 55i, 46, 59, 45i, 49i, 58, 56, 33, 30i, 57, 48i, 31i, 47i, 51i, 37, 41, 38, 44i, 50i, 34i, 42i, 53, 43, 54i, 40i, 36, 52i, 39i
Hard3423138i, 110i, 139, 113i, 146, 148i, 111i, 144i, 143, 140, 131, 142i, 136i, 149i, 112i, 147, 121, 129i, 127i, 141, 135i, 115i, 118
Hard2210128, 123i, 145i, 117i, 114, 125i, 119, 120, 133, 137
Hard58 7132, 122, 126i, 124i, 134i, 130, 116
Average 22989i, 98, 90, 108, 71i, 94, 102, 86i, 106, 92i, 103i, 60, 104, 63, 91i, 97i, 64i, 62, 68, 88i, 93, 65i, 74i, 107, 73, 109, 72, 84, 78
Average17 967, 69, 75i, 61, 79, 85, 81, 70i, 66i
Average26 587, 80i, 77, 82i, 95i
Average13 583, 100i, 101i, 99i, 96
Average10 1105i
Average 5 176

#638120343391821721 - Faster entry into crooked house

mumg-A4-door.ltm
In 25:51.830 (155183 frames), 2483 rerecords
304 downloads
Uploaded 2/15/2023 5:05 AM by Sand (see all 13)
This is a demonstration of entering the crooked house 3 cycles faster, by going to the top part of the door signal line, rather than the bottom. The gain of 3 cycles is later absorbed into some framerules, so it does not save time overall. See Forum/Posts/519985.

#638091565403343303 - Mixed-Up Mother Goose AGI in 25:51.83 (7943S) with "Platform: DOS"

mumg-sand-20230112.ltm
In 25:51.830 (155183 frames), 2474 rerecords
262 downloads
Uploaded 1/12/2023 9:42 PM by Sand (see all 13)