A fork from lui practice rom
You have two options: either compile the project or use one of the patches in the release section
This project was made for the NTSC PRG0 version of the game.
The SHA256 hash for the original rom is 47ba60fad332fdea5ae44b7979fe1ee78de1d316ee027fea2ad5fe3c0d86f25a
You can check your rom hash here
You can patch the bps file using this
You can patch the ips file using this
Run build.bat; the practice ROM will be in the bin folder.
Run build.sh; the practice ROM will be in the bin folder.
- Best title screen this world has ever seen
- Level select on the title screen
- Option menu to replace the Hp bar function, scroll down for more details
- Pause screen now shows timers, which can be toggled to be dynamic or fixed via the title screen.
Start
to start the game (duh)Up
orDown
to move the cursorLeft
orRight
to change the option where the cursor is- Hold
Left
orRight
to scroll faster through the level selection options
To use these controls, ensure the cursor is on the Custom option
A
orB
to change the Lo part of the custom adress- Hold
A
orB
to move faster when changing the Lo part. - Hold
Select
+A
orB
to increment the Hi part of the address - Holding both
Select
andA
orB
simultaneously also works for faster changes
Up
orDown
to select a levelSelect
to load that level
The HP bar is now easily replaceable with a custom function, meaning you can draw anything instead of displaying hit points
Here are a few example functions already implemented (more can be added in the future)
Vanilla
: Functions just like the original HP barGlobal timer
: Displays the global timerSub pixel X
: Shows the character's X-axis sub-pixel positionSub pixel Y
: Shows the character's Y-axis sub-pixel positionLag frame
: Displays the number of lag frames that have occurred in the current areaSand timer
: Tracks the number of frames where you could dig.
The implementation of this is a bit weird, and I currently don't have an ideal way to track states.
As a result, it's normal to lose a frame after each dig if you're perfect.
The initial dig can have 0 frames of delay, but any subsequent dig, where you're waiting for the animation, will always add +1 frame if executed perfectly.Can jump
: Indicates whether jumping is currently allowedCustom
: Allows you to select which address to display. See the custom control section for more information.
Here a list of the ram adresses
- Lui: For the original practice hack.
- Xkeeper0 and Kmck: For their work on the smb2 disassembly