Submission #8624: Technoturnovers's X1 Super Mario Bros. Special in 57:37.32

(Link to video)
Sharp X1
libTAS v1.4.4 // MAME 0.258
207439
60.00000335276147
2698
PowerOn
super mario.2d
Submitted by Technoturnovers on 9/22/2023 11:51:13 PM
Submission Comments
No extra inputs on the movie this time, input actually ends when the parser says it does (well, if it weren't for a metadata length mismatch, thanks libTAS). The temporary encode isn't actually watchable yet, because it's 41.1GB and will take a few centuries to upload to YouTube. IT'S HERE!!!!! Finally.
Platform field should be "Sharp X1", since I've been informed that the site parser won't recognize my 'Platform: Sharp X1' field in the annotations. For a preview, see this WIP encode up to the beginning of 6-2. Also, the full encode ends at a prompt to Press Any Button to Continue, which brings you back to the title screen; while it would look nicer if I did that, I'm not about to add that many extra input frames in record mode just to get that in the playback. If the game seems too slow for your viewing pleasure, just turn it to 2x speed.
ENCODE/PLAYBACK INSTRUCTIONS: While not problematic from a technical perspective, MAME is very picky about the way you name and zip up your ROM and BIOS files.
  • You need the following inside your MAME ROMPATH directory:
  • Sharp X1 BIOS set, consisting of the following files inside a zip file named 'x1.zip':
    • ank.fnt (SHA-1: 0D4E072CD6195A24A1A9B68F1D37500CAA60E599)
      • MAME will tell you this is a bad dump; ignore this, this particular dump is the only version that is known to exist, it works fine and is used in official MAME tests and issue reports, and only serves as the character/font ROM for the system BIOS and basic, presenting no visual or sync issues with the game itself. The Sharp X1 is rated as "Good" support by MAME in all categories.
    • fnt0808.x1 (SHA-1: 1C1A0D8C9F4C446CCD7470516B215DDCA5052FB2)
    • ipl.x1 (SHA-1: C4DB9A6E99873808C8022AFD1C50FEF556A8B44D)
  • Super Mario Bros. Special Sharp X1 disk image, titled 'super mario.2d' (yes, really) and inside a zip file named 'smbsp.zip'.
    • SHA-1: 5972B491BE0A25EAE4B9AD8719AA988A76514BA4
    • The version used is the first, non-Alt version of Sharp X1 Super Mario Bros. Special on the MAME software list.
  • MAME arguments: x1 -floppydisk1 '{ROMPATH}/smbsp.zip' -window -nokeepaspect -skip_gameinfo -nomaximize -nonvram_save -rompath '{ROMPATH}'
  • Make sure to use the no-UI binds config file
ERRATA/ISSUES: None. Although there are some stray inputs on the TAS file for Shift_L, Shift_R, and Up; I didn't feel like getting rid of them, and they don't do anything. I also forgot to turn off mouse support, that doesn't do anything either.
DESCRIPTION:

FEAR ME, MORTALS.

For I have made a TAS of Super Mario Bros. Special, and unlike those hacks (jk) SeraphmIII, gaster319 and slither, it's the real Super Mario Bros. Special, developed by Hudsonsoft and released for the PC-8801 and Sharp X1. This is real. Be very afraid.
Fit of megalomania aside, let's get down to business. This game blows. Neither the PC-8801 nor the Sharp X1 had hardware scrolling, and adaptive tile refresh for PC platforming games wouldn't be introduced until 1990 with Commander Keen, so this game plays as a series of single screens. That's bad enough, but Hudsonsoft also screwed up the movement physics, BADLY, and the game speed is also pretty awful. The Sharp X1 version is an improvement over the PC-8801 version with superior graphics, a scrolling screen transition instead of just blanking between screens, and better sound, but it runs even worse than the PC-8801 version speedwise, going about half as fast as a Mario 1 game should just at base, and lagging badly when sprites are onscreen. One additional benefit of the X1 is that X1 emulation is superior to PC-8801 emulation on MAME, "Good" vs. "Working" respectively. The only two RTA speedruns of this game to exist run the Sharp X1 emulator overclocked to 8MHz, twice its stock speed of 4MHz, but this isn't legal for our purposes and just risks eaten frames besides. Nearly every input frame in this movie is a lag frame, with input and a new render frame occurring an average of once every 6 frames, which is god-awful.
Finally, this game has no functioning warp pipes, hence the lack of branch name for Warpless.
Instead of explaining the routing from scratch, I'll instead go over significant ways this deviates from the TAS for the romhack version, in rough level order that I think they're relevant.
1-1: Jumping and crouching are both very laggy actions in this game, and pipes are very finnicky, so getting into one "perfectly" is just about impossible without losing the time you would save by needing to slow down in advance of the pipe. There is no flagpole glitch to cancel the flag animation because that's just how the flag works normally in this port, and hitting the bottom of the flagpole is faster than hitting the top, so just hit the bottom and make sure you don't get 3 or 6 fireworks. I have no idea if framerules exist; they probably exist, since that's the easy technical implementation of level completion, but what form the timer takes (if it exists) is totally unknown.
1-2: The jumping physics in this game sucks because you jump too high, especially in comparison to your running speed, and hitting a block sends you flying back down like a brick; as such, you're constantly going to be bumping the corners of blocks, hitting the ceiling, etc etc. Crouchjumping is sometimes an option, but see above with how crouching is a pain.
1-3: Like with the romhack TAS, we're getting the mushroom here in preparation for getting the fire flower next level. Unlike in the romhack TAS, the fire flower is more important than just skipping the bridge animation, and I would be getting it even if this game had functional warps; enemies get in your way in many ways that are impossible to deal with otherwise, but most relevantly, piranha plants hate you and will block you whenever you want to jump over or enter a pipe, and unlike NES SMB1, you can't do a precise jump against the front edge of a pipe to get over them, their hitboxes are too big. Also, the way I get the mushroom here looks sloppy, but that is actually no-joke frame perfect. Momentum is just too stiff in this game, seriously, and you can't sort of clip through the edge of a ?-block like you can in normal SMB to give a bit of leeway on collecting powerups.
1-4: Now that we have the fire flower, it's time to mention that it sucks and we will only be using it if absolutely necessary. Even with frame-perfect timing, letting go of run to throw a fireball kills your momentum way more than in SMB on the NES, and it does this ESPECIALLY in mid-air (ruining many jumps in the process). It was suggested to me that killing enemies with the fireballs could help mitigate the lag, but I decided that it just wasn't worth the speed moderation to actually aim and use, and using the fireball just spawns in another sprite anyways, so the best solution to lag is to just be fast and leave these screens as fast as possible. Also as you can see, fire bars just do not want to cooperate; while SMB Special has a bug where a certain frame of a counter-clockwise firebar can let you move through it unharmed, this is rarely available when you actually want it without taking too much of a slowdown compared to just crouching.
2-1: In the first major route deviation from the romhack TAS, we are forced to use the spring because both wallclipping and walljumping are unavailable to us. This spring is basically defective, and I was unable to determine the criteria for how to trigger it in any systematic fashion, so what you're seeing in the jump is my best take after repeatedly going at it in slow-motion.
2-2: In the second major route deviation, we take the pipe to the subworld where the NES TAS forgoes it; and while it is true that this subworld is literally longer than the stretch of underwater segment skipped, distance wise, underwater sections in this game are so slow and laggy that taking this pipe actually saves us time despite that.
2-3: No route differences, but in comparison to the NES version these cheep-cheep patterns are just unmitigated suck, and I am forced to use the fire flower multiple times for continued existence.
2-4: Have I already mentioned that the lift and potobo patterns also suck? Because they do, major-key.
3-1: In yet another instance of lack of wallclipping/jumping causing a route difference, I'm forced to use the invisible blocks to proceed, something I will have to do multiple more times throughout this run. I also piss away some time at the flagpole to avoid 6 fireworks.
3-2: Finally, the biggest single route difference is that since you can't uncrouch or jump inside 1-block tall passages in this game, I am forced to lose the fire flower and become small in order to proceed, which I will have to regain as soon as possible.
3-4: Behold, the worst (and yet my favorite) level in this run. The barrels. When I posted a clip of that section in the Discord, the reaction was disbelief/skepticism that this was truly the fastest way forward, but it is. You need the hammer, because you CANNOT jump around the barrels, I've tried. You cannot damage-boost, because you need that mushroom- of all the ?-blocks remaining in the run, literally one of them is good, the rest suck and are slow to get, so you need the good one to be the fire flower. Finally, the wiggling at the end is the only way to fit down the hole (PHRASING!) thanks to the mysterious way that the hammer extends Mario's hitbox, I was not able to make it happen any faster. This is the type of jank that I love in TAS recordings, because it totally flies in the face of common-sense speedrunning strategy.
4-2: This is the only firework that I allow, because if this game has any form of framerule system then this doesn't lose any time, and even if it doesn't, pissing away more time in order to make it not happen would just waste more time.
4-3: You need to break the second set of scales in this level, or else a necessary platform won't spawn and you will be stuck.
4-4: These icicles are kind of starting to be a nuisance.
5-3: I didn't need to break that scale this time, I just did it because I could. I am also forced to duck under le Fishe at the end, because there isn't a way to kill it without wasting time.
6-1: I hit the 400pt mark on the flagpole here, because 6 fireworks would be way slower.
6-2: I take the higher route above a piranha plant, because said piranha plant will not die no matter when I shoot my fireball at, even if I do it late enough that I would get hit anyways.
7-3: Yet another wall that I need to hit invisible blocks in order to scale.
8-4: The one and only time I damage-tank, right before reaching Bowser. One thing to be careful of is that a stray hammer can actually kill you after you touch the axe if you aren't careful, but I don't let that happen naturally.
Potential Improvements: While some time has obviously been left on the table, there is nothing in the way of trivial timesave or mistakes to remedy, and I thus believe that this recording fulfills the optimization threshold (especially since this beats the WR human speedrun by almost an hour, taking into account that that one runs at twice the speed). The main potential improvements beyond optimized movement are more potential usages of running through firebars and possibly using fireballs to destroy some icicles, although it is not definite that either of these can be used to a super helpful extent beyond which that they already have.

ikuyo: Claiming for judging.

feos: Parser.

feos: Claiming for judging.
feos: I checked the first boss room and saved 104 frames by doing basic things like jumping into the ceiling to get down quicker (to avoid bumping a wall). I wanted to test some later boss room which also looked improvable with the same methods, but while getting there I found this.
Just like your other submissions, this movie is not optimized enough to be accepted. Rejecting.
Last Edited by feos on 2/4/2024 7:25 AM
Page History Latest diff List referrers