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

Author Topic: Megaman 1 hacking topic  (Read 4953 times)

Timaeus

  • Jr. Member
  • **
  • Posts: 83
  • Noel <3
    • View Profile
Megaman 1 hacking topic
« on: February 26, 2020, 01:33:10 pm »
  I decided to create this topic for my questions about Megaman 1 hacking to avoid spamming every question in different topics.

  I decided to change the musics for the future, and focusing on weapon hacking and enemies hacking, however I am having problems at making the Super Arm fire the block debris without needing to pick a block. I am still using hex editor and fceux by the way. Any hints about how to do that?

redmagejoe

  • Sr. Member
  • ****
  • Posts: 260
    • View Profile
Re: Megaman 1 hacking topic
« Reply #1 on: February 26, 2020, 03:16:15 pm »
I would imagine you'd need to chase down routines to find the moment that a thrown block impacts something, and set a breakpoint there, then chase around code to find out specifically what's responsible for spawning and moving those projectiles.

Vanya

  • Hero Member
  • *****
  • Posts: 1642
    • View Profile
Re: Megaman 1 hacking topic
« Reply #2 on: February 27, 2020, 01:41:36 am »
Judging from the normal behaviour of the Super Arm, there is likely a routine somewhere that toggles a flag that changes Megaman's graphics to holding the big block and another that creates the debris blocks as redmagejoe suggested.

If I'm right, then you'd have to remove the check for this flag so that it always assumes you are already holding a big block.

This *could* cause Megaman to always be carrying a stone block while using the Super Arm.
If so, you may want to find the code that makes this happen and remove it too.

At that point, it should do what you want it to... I *think*.
« Last Edit: March 01, 2020, 11:27:14 pm by Vanya »

Timaeus

  • Jr. Member
  • **
  • Posts: 83
  • Noel <3
    • View Profile
Re: Megaman 1 hacking topic
« Reply #3 on: March 01, 2020, 05:43:35 pm »
  With the hints, I made it work just like Rockman Claw's (making Megaman being able to create a rock without any rocks nearby, but with a different debris angle). Thanks guys. As for my next task, I wanna make the weapons shot more than one time at the same time. I tried, but the max I could do is to make the weapon's gauge waste properly after every fire button being pressed, but I could not think of how to make it actually shot while the other projectile is on the screen. So far I am only using hex editor and fceux.
  Any hints?
« Last Edit: March 01, 2020, 11:41:54 pm by Timaeus »

Vanya

  • Hero Member
  • *****
  • Posts: 1642
    • View Profile
Re: Megaman 1 hacking topic
« Reply #4 on: March 01, 2020, 11:33:15 pm »
Glad it's working out.
To change the fire rate I think you're going to have to look at the code that runs when the fire button is pressed.
There should be some RAM flags for which button is being pressed.
That should lead to whatever code it is that controls what happens when you fire a shot.
Probably it'll check if you are firing and what weapon you have equipped then branch to whatever code is needed.

Timaeus

  • Jr. Member
  • **
  • Posts: 83
  • Noel <3
    • View Profile
Re: Megaman 1 hacking topic
« Reply #5 on: March 17, 2020, 12:53:06 pm »
  I am having problems with a music loop. I edit the musics by hex, and before the loop, the breaks work just fine, but when the loop command triggers, the breaks become shorter, messing with the sync. The only thing I changed before the looping was the channel's pitch (the pitch changes were on the part that does not loop).
 
  Any suggestion on how to fix this?

Cyneprepou4uk

  • Sr. Member
  • ****
  • Posts: 359
  • I am the baldest romhacker
    • View Profile
Re: Megaman 1 hacking topic
« Reply #6 on: March 17, 2020, 07:36:43 pm »
Probably the loop pointer should be changed as well if you have shifted channel data
iromhacker.ru - NES ROM hacking tutorials for beginners. Please use Google Translate browser extension

Timaeus

  • Jr. Member
  • **
  • Posts: 83
  • Noel <3
    • View Profile
Re: Megaman 1 hacking topic
« Reply #7 on: March 17, 2020, 08:10:33 pm »
  I do not think that may be the case, since the looping part starts with a note before the breaks, and that first note plays correctly. Also, one specific note does not play correctly for some reason (it repeats itself without me writing it to). I changed the channels tempo and pitch before the loop, if that can be it. I will try to change the pointer again tomorrow and take a pic of what I have done when I can.

  EDIT: I managed to fix the breaks after the loop, and the loop pointer is set correctly, but the first note does not play. It does not affect things so badly so I do not think it is a big issue. Thank you.
« Last Edit: March 18, 2020, 05:16:54 pm by Timaeus »

Timaeus

  • Jr. Member
  • **
  • Posts: 83
  • Noel <3
    • View Profile
Re: Megaman 1 hacking topic
« Reply #8 on: April 27, 2020, 02:16:42 pm »
  I am having a huge problem with Super Arm. I made it so that creates guts blocks without needing to find one in the stage, and I managed to disable the part of the code that makes it replace the art from the block with something else, but in a way that still works when it gets hit by Thunder Beam. Everything was ok until a few days ago, when I changed something that I cannot remember what it was, and that made the guts blocks remove the graphics and solidification of the boss doors. I tried alot to find what I did wrong and I could not find where the error lies, and I looked at the code for the Super Arm, its weapon firing code, codes related to the door actives, and everything looks normal. My last backup was from a week ago and I really do not want to redo all the work of that last week. I use bisqwit's disassembly file.
« Last Edit: April 27, 2020, 02:24:39 pm by Timaeus »

Timaeus

  • Jr. Member
  • **
  • Posts: 83
  • Noel <3
    • View Profile
Re: Megaman 1 hacking topic
« Reply #9 on: May 12, 2020, 06:31:49 pm »
  How can I skip the wily saucer cutscene? I want to make the game go directly to the fortress stages without loading the animation (since the animation loading is causing a crash). Any ideas?
« Last Edit: May 12, 2020, 06:41:27 pm by Timaeus »

Vanya

  • Hero Member
  • *****
  • Posts: 1642
    • View Profile
Re: Megaman 1 hacking topic
« Reply #10 on: May 13, 2020, 06:57:29 am »
This could be as simple as finding an event flag that tells the game the saucer scene has already been done and trigger it early.

However, it might be better to figure out what is causing the crash.
You may want to be a bit more strict with yourself about making backups so you can tell more easily what you did that might be causing an issue.
It helps me a lot to also keep detailed notes about every change I make to the game.

Timaeus

  • Jr. Member
  • **
  • Posts: 83
  • Noel <3
    • View Profile
Re: Megaman 1 hacking topic
« Reply #11 on: May 13, 2020, 02:32:00 pm »
  I managed to fix the crashing issue with a good friend motivating me. Thank you for the reply and advice. I will start making notes of every change I make from here on. I do make backups, but that glitch happened two months ago (the first built that had the issue was in March), so I could not rely on my latest ones. Now there is only the Fireman door glitch to fix. Thanks!