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

Author Topic: my super mario bros. 1 rom hacking questions  (Read 2817 times)

kirb1993

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
    • my website!
my super mario bros. 1 rom hacking questions
« on: March 28, 2019, 08:07:18 pm »
how do i make it so that whenever you collect a super mushroom, it kills you instead of turning you into big mario?
« Last Edit: April 14, 2019, 04:05:47 pm by kirb1993 »
poyo!!! :)

sics

  • Full Member
  • ***
  • Posts: 217
  • Contact me!
    • View Profile
    • Deviantart: Terwilf
Re: a question about hacking super mario bros. 1
« Reply #1 on: March 29, 2019, 09:06:47 pm »
 Recently in another post Eden.GT shared a pack with patches to modify all kinds of things in the SMB1 :thumbsup:

I'm just going to dump this to you here- out of the bunch it contains a patch that changes the display of lives so that exceeding 9, it will be 10. It will correctly display the number of lives up to 99, in which it will proceed to A0, B0, and so on.

100+ IPS patches.zip

I believe every sprite and enemy has been coded in SMB so that the very last bottom pixels will be stuck on the first pixels of solid BG tiles.

kirb1993

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
    • my website!
Re: a question about hacking super mario bros. 1
« Reply #2 on: March 29, 2019, 09:37:52 pm »
Recently in another post Eden.GT shared a pack with patches to modify all kinds of things in the SMB1 :thumbsup:
whoa! cool!
poyo!!! :)

sics

  • Full Member
  • ***
  • Posts: 217
  • Contact me!
    • View Profile
    • Deviantart: Terwilf
Re: a question about hacking super mario bros. 1
« Reply #3 on: March 30, 2019, 12:14:15 pm »


Poyo! :thumbsup:

kirb1993

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
    • my website!
another smb1 rom hacking question
« Reply #4 on: April 07, 2019, 01:08:07 am »
in super mario bros. utility, is it possible to change an enemy like a goomba into a block like a brick block?
poyo!!! :)

Metal64

  • Jr. Member
  • **
  • Posts: 10
    • View Profile
Re: another smb1 rom hacking question
« Reply #5 on: April 07, 2019, 08:25:17 pm »
in super mario bros. utility, is it possible to change an enemy like a goomba into a block like a brick block?

No

Eden.GT

  • Full Member
  • ***
  • Posts: 103
  • Hardcore SMB1 Player and Hacker
    • View Profile
Re: another smb1 rom hacking question
« Reply #6 on: April 11, 2019, 06:31:52 am »
If you're changing the sprite, just use a tile editor like YY-CHR.
Is the pool clean?

kirb1993

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
    • my website!
super mario bros. rom hacking question #3
« Reply #7 on: April 13, 2019, 08:13:15 pm »
i have just one more question.

can you re-route a pipe so it'll go to world 1-2 (for example) instead of going into the bonus room?
poyo!!! :)

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6905
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: a question about hacking super mario bros. 1
« Reply #8 on: April 14, 2019, 01:59:02 am »
Can you please ask all your Super Mario Bros. questions in a single thread?
"My watch says 30 chickens" Google, 2018

kirb1993

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
    • my website!
Re: a question about hacking super mario bros. 1
« Reply #9 on: April 14, 2019, 04:04:56 pm »
Can you please ask all your Super Mario Bros. questions in a single thread?

yeah, okay.
poyo!!! :)

NesDraug

  • RHDN Patreon Supporter!
  • Full Member
  • *****
  • Posts: 102
    • View Profile
Re: super mario bros. rom hacking question #3
« Reply #10 on: April 15, 2019, 02:04:34 am »
i have just one more question.

can you re-route a pipe so it'll go to world 1-2 (for example) instead of going into the bonus room?




If Mario walks over this blue middle square (available in the enemies section) he will be teleported to the given place next time he goes down a (can enter) pipe.
To my knowledge you can't create new "teleporters" so you have to find the ones in the game and work with what you got.
« Last Edit: April 15, 2019, 02:40:16 pm by NesDraug »
Hello! You found my shop of strange and wonderful things!
https://www.tumblr.com/blog/nesdraug

kirb1993

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
    • my website!
Re: super mario bros. rom hacking question #3
« Reply #11 on: April 15, 2019, 11:47:41 pm »



If Mario walks over this blue middle square (available in the enemies section) he will be teleported to the given place next time he goes down a (can enter) pipe.
To my knowledge you can't create new "teleporters" so you have to find the ones in the game and work with what you got.

that's pretty cool!
poyo!!! :)

NesDraug

  • RHDN Patreon Supporter!
  • Full Member
  • *****
  • Posts: 102
    • View Profile
Re: my super mario bros. 1 rom hacking questions
« Reply #12 on: April 16, 2019, 02:32:57 am »
But now I got a question. Is there a way to make Bowser throw less hammers? Like just two at a time?
Hello! You found my shop of strange and wonderful things!
https://www.tumblr.com/blog/nesdraug

kirb1993

  • Jr. Member
  • **
  • Posts: 14
    • View Profile
    • my website!
Re: my super mario bros. 1 rom hacking questions
« Reply #13 on: April 21, 2019, 03:16:20 pm »
another question i have:
is it possible for me to make it so that small mario can throw fireballs? and no, the glitch does not count as an answer.
poyo!!! :)

Psyklax

  • Hero Member
  • *****
  • Posts: 1055
    • View Profile
    • Psyklax Translations
Re: my super mario bros. 1 rom hacking questions
« Reply #14 on: April 21, 2019, 06:46:05 pm »
another question i have:
is it possible for me to make it so that small mario can throw fireballs? and no, the glitch does not count as an answer.

For the love of God, it's possible to change every byte in Super Mario Bros and turn it into Donkey Kong. :D The question isn't "is it possible" but "how do I do it". I know how I would do it... but I won't. :D

I'll explain at least. You said in another of your threads that you don't know what ASM hacking means. It's assembly hacking: assembly is the language that the game is written in (technically machine code, but whatever). By hacking the code, you can do anything. So how would I do what you ask? Well, I'd set a breakpoint in the debugger for the controller 1 input (at $4016) and hold B when I'm fire Mario, and see how the game checks the B input. What the game will presumably do is say "okay, you pushed B. Are you fire Mario? If so, go to the fire shooting routine, if not just carry on". What you need to do is find that instruction and change it so that it goes to the fire shooting routine in any situation. How? Ah, that's where the assembly lies. :)

Oh what do you know, it's in the SMB disassembly as the ProcFireball_Bubble routine:
https://gist.github.com/1wErt3r/4048722
It does pretty much what I just said.

If none of this makes sense to you, welcome to ROM hacking! :D Just give it some patience, and you'll get it eventually.

Hey, this SMB disassembly is fun. It tells you a lot of things. Here's a Game Genie code I just made which makes water bubbles all the time for no reason:
OZYLPV

And hey, here's another Game Genie code that lets you shoot fireballs whenever you want:
OZZUPV
Oh wait, that's what you wanted to do. Damn... :) Well, you'll notice that you turn big when you do them because small Mario obviously has no sprites for shooting fireballs. Anyway, enjoy!

DanielFA

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: my super mario bros. 1 rom hacking questions
« Reply #15 on: April 22, 2019, 09:36:04 am »
Hi!

Someone asked a question on another forum that I asked myself last year when I was playing the 256W hack of SMB1 (NES): How to make underwater blocks hittable? Well, after taking a look to doppelganger's disassembly, I found yesterday the answer:

Code: [Select]
AreaType = $074E ; $00 for underwater, $01 for overground, $02 for underground and $03 for castle
Here is where the exception for underwater levels is made:

Code: [Select]
0DCDA AC 4E 07       ldy AreaType
0DCDD F0 13          beq NYSpd

Therefore, the BEQ will always branch to another place when the level has AreaType=$00 preventing the block hitting. But you can fool the process redirecting it to another RAM address where you put the value $01 (overground level). You can make this without editing the disassembly and reassembling it simply by using cheat codes on your emulator or altering the ROM on a hex editor. You only need to find a free address! For example, in the original SMB (NES version) $E432=$FF is not used, so make it $01 and change $DCDA-$DCDC to $AC $32 $E4. This is a quick test on an altered world 1-1 (with a cheat code that forces $074E=$00):



Here you have a FCEUX cheat file for the NES version (FDS version has different addresses): Underwater Hitting  ;)

Edit:

Recently in another post Eden.GT shared a pack with patches to modify all kinds of things in the SMB1

After downloading it I found he fixed the same thing as me but simply NOPing that part of the code! :-[
« Last Edit: April 23, 2019, 09:41:31 am by DanielFA »