News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Super Mario All-Stars - SMB1 and Lost Levels: Spiny Egg Throwing Behavior Fix  (Read 1874 times)

ZeroShift

  • Newbie
  • *
  • Posts: 3
    • View Profile


After finding this fix for the original game on TCRF, I had to try my hand at fixing Super Mario All-Stars. Lo and behold it works!

For those who are unaware, Lakitu's current Spiny Egg throwing behavior is the result of a bug in the original game which was carried over to All-Stars. More info can be found at the link to TCRF above.

This patch corrects that bug in All-Stars and makes Lakitu a force to be reckoned with, especially in Lost Levels..

Included are IPS files for both headered and non-headered ROMs. They also should work with SMAS + SMW, it worked in testing but don't be surprised if something breaks

Video
https://www.youtube.com/watch?v=UVcWoTiey6E&feature=youtu.be

Download: https://mega.nz/#!XE42CSgB!dXT1YnszeuhtPtP44Q75xyf14Z5kl-cdN0pYhfv4a4U
« Last Edit: December 12, 2016, 06:00:09 pm by ZeroShift »

GHANMI

  • Hero Member
  • *****
  • Posts: 706
    • View Profile
Scratchpad link doesn't work.

ZeroShift

  • Newbie
  • *
  • Posts: 3
    • View Profile
Fixed.

Hopefully Mega links are okay.

Chronosplit

  • Hero Member
  • *****
  • Posts: 1274
    • View Profile
Looks like it's working with all these other All-Stars fixes that are around (+SMW with other palette and physics fixes anyway, but I've not tested with any of the title screen altering patches).  More testing to come.

Interesting how this one carried itself over to All-Stars.  Thanks a bunch!
« Last Edit: December 13, 2016, 12:29:21 pm by Chronosplit »

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6817
  • *sigh* A changed avatar. Big deal.
    • View Profile
Did All-Stars use a lot of ported NES code?
That would explain it.
"My watch says 30 chickens" Google, 2018

ZeroShift

  • Newbie
  • *
  • Posts: 3
    • View Profile
Did All-Stars use a lot of ported NES code?
That would explain it.

It seems to at least, I just used the same method used for SMB2J: Find the JSR bounding box opcode within the Spiny routine by searching hex values common with these fixes (It's located at 0x1C7F9 and 0x6C6BF in the ROM, one for SMB1 and Lost Levels I assume) and move the JSR to after the DEY opcode.

Flip 0x1CF9-1C801 from 
Code: [Select]
20 07 C7 A0 02 95 5E C9 00 30 01 88 to
Code: [Select]
A0 02 95 5E C9 00 30 01 88 20 07 C7
And flip 0x6C6BF-6C6CA  from
Code: [Select]
20 C2 C5 A0 02 95 5E C9 00 30 01 88 to
Code: [Select]
A0 02 95 5E C9 00 30 01 88 20 C2 C5
« Last Edit: December 13, 2016, 12:29:21 am by ZeroShift »

justin3009

  • Hero Member
  • *****
  • Posts: 1603
  • Welp
    • View Profile
A lot of the code in general in All-Stars is basically ported from the original games. In SMB2 the level data including enemies and object placement are 'exactly' the same so one could easily make a level on the NES and port it to All-Stars.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'