comprehensive SMB1 disassembly
Moderator: Moderators
-
CKY-2K/Clay Man
- Posts: 214
- Joined: Sun Apr 01, 2007 2:10 pm
tepples,
Did you not see loopy's page?
loopy,
One other problem that I noticed (I couldn't notice any others) that's really minor: That jumpsprings in worlds that allow very high jumping are green, not red. In this NES port, they are red in all cases. I'm still trying to figure out exactly how the FDS version turns them green in the first place, and why it doesn't work in the NES port. (It's probably the same as the pirhana plant problem, and issue with writing to PRG-RAM, which doesn't exist on the NES except for the pseudo PRG-RAM at $6000-$7fff set up by this port.
Did you not see loopy's page?
loopy,
One other problem that I noticed (I couldn't notice any others) that's really minor: That jumpsprings in worlds that allow very high jumping are green, not red. In this NES port, they are red in all cases. I'm still trying to figure out exactly how the FDS version turns them green in the first place, and why it doesn't work in the NES port. (It's probably the same as the pirhana plant problem, and issue with writing to PRG-RAM, which doesn't exist on the NES except for the pseudo PRG-RAM at $6000-$7fff set up by this port.
-
CKY-2K/Clay Man
- Posts: 214
- Joined: Sun Apr 01, 2007 2:10 pm
On loopy's new SMB2J thing, does it give you those stars for each time you beat the game without warping like on the FDS version?
Where if you have 8 you can access world A-D I think?
Also would it be possible to add that triangle wave skidding sound to the original SMB?
Where if you have 8 you can access world A-D I think?
Also would it be possible to add that triangle wave skidding sound to the original SMB?

Here to at least get an idea of how the NES works. I mean I know alot of the basic things, but this place'll help me grasp more how NES functions.
Major respect to NES developers.
-
CKY-2K/Clay Man
- Posts: 214
- Joined: Sun Apr 01, 2007 2:10 pm
The relevant RAM location:
The code that writes a value to it:
So put a watch on $0787 to find code like this.
Code: Select all
GameTimerCtrlTimer = $0787Code: Select all
ResGTCtrl: lda #$18 ;reset game timer control
sta GameTimerCtrlTimer- Hamtaro126
- Posts: 786
- Joined: Thu Jan 19, 2006 5:08 pm
-
CKY-2K/Clay Man
- Posts: 214
- Joined: Sun Apr 01, 2007 2:10 pm
I ment the HEX address of the file. I found it though. I wanted to correct the timer to an actual second.
If you wanna know what it is search the value 18 thoughout the file.
It's over the 1000th address I know for sure.
But now another question, how could I make the second digit loop back to the number 5 instead of 9?
If you wanna know what it is search the value 18 thoughout the file.
It's over the 1000th address I know for sure.
But now another question, how could I make the second digit loop back to the number 5 instead of 9?

Here to at least get an idea of how the NES works. I mean I know alot of the basic things, but this place'll help me grasp more how NES functions.
Major respect to NES developers.
-
doppelganger
- Posts: 183
- Joined: Tue Apr 05, 2005 7:30 pm
I suppose you could check to see if, before subtracting 1 from the game timer, the second and last digits of the game timer are set to 0. If they are, you'd have to set the digit modifiers to subtract 4 from the second digit and 1 from the last digit, thus making it 59 instead of 99.CKY-2K/Clay Man wrote:I ment the HEX address of the file. I found it though. I wanted to correct the timer to an actual second.
If you wanna know what it is search the value 18 thoughout the file.
It's over the 1000th address I know for sure.
But now another question, how could I make the second digit loop back to the number 5 instead of 9?
I'll leave it up to you to figure out how to make room for that.
Be whatever the situation demands.
-
doppelganger
- Posts: 183
- Joined: Tue Apr 05, 2005 7:30 pm
Anything is possible if you have room for it, if you catch my drift.CKY-2K/Clay Man wrote: Also would it be possible to add that triangle wave skidding sound to the original SMB?
Seriously though, if you consider adding the triangle wave skidding sound to SMB, I would suggest adding it to the third sfx engine (the one that handles noise channel sfx), and putting a JSR in between the conditional check for the skidding sound and the noise bit checking, so they work autonomously.
Be whatever the situation demands.
-
CKY-2K/Clay Man
- Posts: 214
- Joined: Sun Apr 01, 2007 2:10 pm
I need help with the PlayerEndLevel branch.
I want it to skip the stuff that checks if your player collided with the castle brick and the part that makes mario behind the background, but instead start doing the score time total as soon as you leave the flag, so it appears that you are walking to the next level.
I want it to skip the stuff that checks if your player collided with the castle brick and the part that makes mario behind the background, but instead start doing the score time total as soon as you leave the flag, so it appears that you are walking to the next level.

Here to at least get an idea of how the NES works. I mean I know alot of the basic things, but this place'll help me grasp more how NES functions.
Major respect to NES developers.