Psycho Fox is a platformer on the Master System. It’s possible to beat the game in roughly 2 minutes using secret warps but this TAS doesn’t use any warps meaning that all 21 levels are played.

Useful Addresses

To watch all of the position and velocity I used scripthawk, a collection of Lua scripts and RAM watches for BizHawk. It can be found here https://github.com/Isotarge/ScriptHawk

Pause Glitch

There is a glitch present in many Master System games which can allow you to reduce loading times with the use of the pause button. The following description of the glitch is taken from the submission text of #5518: Sonikkustar & Alyosha's SMS Psycho Fox in 02:02.17 and is given here for completeness:
It’s possible to reduce loading times by abusing non-maskable interrupts (NMIs) that are generated in the SMS when the 'pause' button is hit. It might seem counter-intuitive that pressing the pause button would make a game go faster, but it does turn out to be the case if pressed at the right time.
Here is what the game is doing during typical loading screen frame:
 Halt, wait for interrupt (~50000 cycles)
 Vblank, Execute necessary code for the frame (~7000 cycles)
 Repeat
What happens when you press pause, is that an NMI occurs in those ~50000 cycles where nothing is happening. The NMI itslef doesn't do anything important except for Return to where the code would be executing after a normal interrupt, so basically it's doing two frames in one. EX:
 Halt, wait for interrupt (zero cycles in this case since pause is pressed immediately)
 NMI
 Execute frame code
 Halt again
 VBlank, frame code again
The basic idea is that the return from interrupt returns to the same place regardless of which interrupt is triggered. There is plenty of time in a frame to add another interrupt without effecting anything else.

Velocity building

When you press jump the game keeps your speed, then during the jump you can’t exceed that speed. You can slow down in the jump then speed up again. This means that I often try to leave jumping as late as possible if I’m building up speed.

Duck Clipping

If you duck before jumping up into a roof, then pressing left of right in the roof causes you to snap left or right about one character width. This is not extremely useful but is used in 3 places in the run.
In 5-2 this is used to clip through a pipe to save a slight bit of movement.
At the end of 5-2 there is a very low roof. Instead of running off the right side of the screen I jump duck into the roof and do a little clip to the right. This saves 1 frame.
Finally I use duck clipping for some playaround at the start of the boss in 7-3.

Route Comments

The first thing I do is break the first egg to get the bird fly. While this is not strictly necessary it saves a lot of time over the run. The egg is broken by punching it twice, but after each punch you lose all speed. Since you do 2 punches you lose the speed twice, so if the punches are closer together this saves time. If the egg is punched on the first possible frame the arm takes a long time to reach the egg, then the second punch also takes a long time to hit the egg, which means the punches have to be spread out, so the punches must be left until later to avoid this.
The boss in 1-3 was a section of heavy optimization. Hitting the boss on the first possible frame isn’t too tough but the main thing to optimize for is running at the right edge of the screen at high speed the moment it unlocks after the fight. You can’t reach full speed before it unlocks but you can get close. Most of the boss movement is to setup the movement for this screen unlock.
The boss in 2-3 is one of the few elements of RNG in the run. The RNG can’t be manipulated during the fight without pausing (which loses a lot of time), but by entering the fight later the RNG changes. I didn’t have to manipulate the RNG but I did have to manipulate the boss movement. I leave the second hit slightly later so that the boss is higher when I hit it so it bounces back closer to the left wall. This makes the boss jump towards me rather than doing an upwards jump. Leaving the second hit until later saves 69 frames. Luckily the refight with this boss in 4-3 went very well in terms of RNG.
In 3-1, 3-2 and 3-3 there is sand which slows you down. At the start of these levels it is still best to run until you reach maximum sand speed then jump off. If you’re running at full speed then land on the sand and jump off frame perfectly you slow down very slightly. Every frame you are on the sand causes you to slow down more until you reach maximum sand speed.
7-1, 7-2 and 7-3 have a lot of slopes. These slow you down even if you jump off frame perfectly. If you run up the slope, when you reach the top you will do a little jump automatically. If you are still on a lower speed after hitting the slope then doing this auto jump off the top causes you to speed up quicker. This saves 2 frames at the end of 7-1.
There are also moving stairs in 7-1, 7-2 and 7-3. These speed you up by 6.67% if you’re at full speed. I try to spend as much time as possible on these when the route allows it.
The last hit on the final boss doesn’t matter too much. Once you land the last hit the boss has to run off the screen, but if you hit him later he moves closer to the edge and leaves the screen quicker.
The maps on SMS Power were very helpful with routing the levels.
Suggested Screenshot: 25533

ThunderAxe31: Judging.
ThunderAxe31: Nice run. It shows more of the game than what the currently published movie does, while keeping a reasonable goal. Also, it's enough optimized and entertaining. Accepting to Moons as a new branch.
Fog: Processing.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15629
Location: 127.0.0.1
This topic is for the purpose of discussing #5746: The8bitbeast's SMS Psycho Fox "warpless" in 12:43.92
Challenger
He/Him
Skilled player (1702)
Joined: 2/23/2016
Posts: 1065
Nice to finally see a warpless TAS of this game. Great work and yes vote.
My homepage --Currently not much motived for TASing as before...-- But I'm still working.
Editor, Reviewer, Skilled player (1361)
Joined: 9/12/2016
Posts: 1646
Location: Italy
Challenger wrote:
Nice to finally see a warpless TAS of this game. Great work and yes vote.
I basically wanted to say the same.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
PCachu
He/Him
Joined: 10/1/2009
Posts: 166
Is it just me or is there a lot of Sonic design philosophy in this game? "Run through the level on high or low paths as fast as your feet can take you to reach the end-of-level sign."
Editor, Reviewer, Skilled player (1361)
Joined: 9/12/2016
Posts: 1646
Location: Italy
PCachu wrote:
Is it just me or is there a lot of Sonic design philosophy in this game? "Run through the level on high or low paths as fast as your feet can take you to reach the end-of-level sign."
No, it's actually the TAS making it look this way. Every character has different running speed, and running all the way through the level without dying is actually pretty insane.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15629
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [3578] SMS Psycho Fox "warpless" by The8bitbeast in 12:43.92
Zucca
He/Him
Joined: 8/22/2008
Posts: 118
Location: KUUSANKOSKI, Finland
Challenger wrote:
Nice to finally see a warpless TAS of this game. Great work and yes vote.
My words exactly.
trazz wrote:
Killing the skeletons sooner or letting the skeletons live (unlive?) won't affect that at all.