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

Author Topic: SMB enemies in first page, death animation questions  (Read 817 times)

Alpdrucken

  • Jr. Member
  • **
  • Posts: 23
    • View Profile
SMB enemies in first page, death animation questions
« on: December 23, 2019, 02:31:46 pm »
Hello! I'm making a SMB hack and while placing enemies in the 1-1 underground section I noticed that they dont appear there, probably because they dont appear in the first page mario spawns. I think there is a way to remove that check, because I think some hacks might have dealt with that, but I'm not sure exactly how they did it.
Another question is: is it possible to make the death animation end sooner? Both the one when Mario hits an enemy and jumps offscreen and also when falling into a pit. I thought the timer was tied to the death music but even after removing the music the animation takes the same amount of time.
Thanks in advance :)

Cyneprepou4uk

  • Sr. Member
  • ****
  • Posts: 437
  • I am the baldest romhacker
    • View Profile
Re: SMB enemies in first page, death animation questions
« Reply #1 on: December 23, 2019, 03:12:23 pm »
Need more details on the first question.

If I recall correctly, animation stops when mario's high Y position is equal to #$06 or something. Anyway, while he is dying, try freezing in RAM everything that looks like timer to you.
iromhacker.ru - NES ROM hacking tutorials for beginners. Please use Google Translate browser extension

Alpdrucken

  • Jr. Member
  • **
  • Posts: 23
    • View Profile
Re: SMB enemies in first page, death animation questions
« Reply #2 on: December 23, 2019, 03:49:42 pm »
Thanks, I'll try!
Regarding the first question, I mean that i put a koopa in the first underground room in 1-1, but when I use the pipe to get down there there's no koopa. If i enable enemies on the first page within the SMBUtility emulator, then I can see the koopa.

Cyneprepou4uk

  • Sr. Member
  • ****
  • Posts: 437
  • I am the baldest romhacker
    • View Profile
Re: SMB enemies in first page, death animation questions
« Reply #3 on: December 23, 2019, 04:14:41 pm »
I don't think it's true that enemies don't appear on the first screen, because they do appear in 1-2. They begin to move to the left. So one of my guesses is that enemy gets stuck at the 1-1 underground off the screen where return pipe is, perhaps it hits a pipe and goes right, and you never see him.

You can check position addresses of that enemy to confirm.
iromhacker.ru - NES ROM hacking tutorials for beginners. Please use Google Translate browser extension

Alpdrucken

  • Jr. Member
  • **
  • Posts: 23
    • View Profile
Re: SMB enemies in first page, death animation questions
« Reply #4 on: December 23, 2019, 04:16:34 pm »
I know the enemies work cause if i use SMBUtility emulator and checkmark "enable badguys in start page" then they render properly.

Cyneprepou4uk

  • Sr. Member
  • ****
  • Posts: 437
  • I am the baldest romhacker
    • View Profile
Re: SMB enemies in first page, death animation questions
« Reply #5 on: December 23, 2019, 04:23:24 pm »
Looks like you can't trust its emulator on that. Let's wait for some SMBUtility expert to clarify.

Another crazy idea. Are you positive you did save changes? Does the output file contain those changes that you've made inside it?
« Last Edit: December 24, 2019, 07:04:43 am by Cyneprepou4uk »
iromhacker.ru - NES ROM hacking tutorials for beginners. Please use Google Translate browser extension

Alpdrucken

  • Jr. Member
  • **
  • Posts: 23
    • View Profile
Re: SMB enemies in first page, death animation questions
« Reply #6 on: December 24, 2019, 08:36:33 am »
Yes I did check. I'm pretty sure that since there's a checkmark for that in the emulator settings, the game usually hides the enemies in the first page.

December 24, 2019, 09:10:05 am - (Auto Merged - Double Posts are not allowed before 7 days.)
I checked SMBUtility's github and found what that option changed:

Code: [Select]
pb6502CPUMemory[0xC1BB] = 0x4C;
pb6502CPUMemory[0xC1BC] = 0xCB;
pb6502CPUMemory[0xC1BD] = 0xC1;
pb6502CPUMemory[0xC1BE] = 0xEA;
pb6502CPUMemory[0xC1BF] = 0xEA;

just tried it and it works :)

EDIT:apparently having it on makes goombas spawn twice once you exit a pipe. Trying to fix that.
« Last Edit: December 24, 2019, 09:43:14 am by Alpdrucken »