Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,590,271
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 05-16-24 08:35 AM
Guest: Register | Login

Main - Posts by za909

Pages: 1 2 3 4 5 6 7 8 9 10

za909
Posted on 05-21-15 10:48 PM, in Mega Man Crimson - a Mega Man 3 hack with Improvement 2.1! Link | Quote | ID: 160145


Cheep-cheep
Level: 32

Posts: 187/196
EXP: 189469
Next: 16973

Since: 04-27-11

Last post: 3072 days
Last view: 2783 days
Alright, sorry for the slight delay of a few days... I didn't want to post shit quite honestly, and all my stuff that's not half-assed is not to be released yet.


NSF
So I took a cover I made of the Area B song in Chip & Dale Rescue Rangers 2 and spiced it up with a tone change, a few more bass notes, a time signature change and the new drums of course! These were made by me and not taken from the Konami games.
So yeah, I can usually do stuff like this and put it in a hack, but usually better songs.
I can also write my own new music but those don't really sound like Megaman music at all. I'm more familiar with the Sunsoft designs but those are incomplete without their famous bass samples.
Don't mind the other two songs in the nsf.

za909
Posted on 05-22-15 11:42 PM, in Mega Man Crimson - a Mega Man 3 hack with Improvement 2.1! Link | Quote | ID: 160173


Cheep-cheep
Level: 32

Posts: 188/196
EXP: 189469
Next: 16973

Since: 04-27-11

Last post: 3072 days
Last view: 2783 days
Wow, thanks I didn't expect that kind of response at all! Yes, it might sound "advanced" by comparison because the Capcom games, and many Japanese composers in general used the static noise by itself for drums, which are fine really, but very thin compared to what you can get when combinde with samples or the triangle (the bass channel) pitch bend technique
I could also do this technique by programming an effect in the engine which plays these blips as sound effects, but they would be missing from the music even when the game makes sound effects that don't use this sound channel.

I actually have a cover of clock tower already, so I can take a little time to transform that one as well!
(in fact I posted a midi of it to the VGMusic archive)

I do have a hack going on at the moment, but I'm not sure where exactly I want to go with it. It just seems pointless because I'm not all that great when it comes to writing code and insertign it into an already working system, it's pretty complex to understand every little routine in such an extensive game. If this were SMB1 I'd be fine because it even has a complete reverse-engineered disassembly with comments, in fact once I really want to back out and go to some simpler games I might try to make an expanded hack of SMB1, maybe even one with a sound expansion mapper.

The one thing I can do now (sort of) is writing custom code. I have a homebrew project in pretty early stages, it's almost entirely made from scratch, a custom sound engine, and whatever, but it only shows a half-assed logo and then fades out because I need graphics, and I'm shit at any kind of visual art. (And I can't steal stuff from other games like for a ROM hack in this case)

I've done a few MM3 hack over the years, progressively getting better but I could never do the sort of things you see in Rockman 4 MI or Odyssey so I'm slowly losing interest in hacking. So nowadays I'd much rather be just a composer than anything. The part of the NES I'm the most experienced with is the sound system (first touched it back in mid-2011). So yeah, that's about it.

And I really like the new Megaman image on the title screen, it's much better than the derp-faced original.


za909
Posted on 06-07-15 10:10 PM, in General Megaman Hacking Thread Link | Quote | ID: 160277


Cheep-cheep
Level: 32

Posts: 189/196
EXP: 189469
Next: 16973

Since: 04-27-11

Last post: 3072 days
Last view: 2783 days
The NES PPU can use two different sprite modes, one where a 8x8 pixel sprite is in front of the background and one where it is behind the background, but in that case, it won't be hidden by the backdrop color (in this case, the black which appears everywhere)

When MM "collides" with a Foreground TSA block, the game sets all the little sprites that make up MM's body to use the behind the background mode, so it is very wonky unless you use the foreground blocks around solid backdrop-colored areas.

za909
Posted on 09-28-15 08:38 AM, in Mega Man 2 and... REVISITABLE STAGES?! YES!!! Link | Quote | ID: 161255


Cheep-cheep
Level: 32

Posts: 190/196
EXP: 189469
Next: 16973

Since: 04-27-11

Last post: 3072 days
Last view: 2783 days
You might find that when you revisit stages, the enemies specific to that stage will die in one hit from the weapon of that robot master. For example the giant dogs in Woodman's stage will instantly die from the leaf shield. I believe this is the same sort of oversight that lets you one-shot the giant fish in the Wily stages with Quick Boomerang. The damage values were never set properly, perhaps because they knew it wouldn't be possible to revisit stages anyway.

za909
Posted on 09-28-15 04:42 PM, in Mega Man 2 and... REVISITABLE STAGES?! YES!!! Link | Quote | ID: 161258


Cheep-cheep
Level: 32

Posts: 191/196
EXP: 189469
Next: 16973

Since: 04-27-11

Last post: 3072 days
Last view: 2783 days
I first discovered this when I played the Rockman 2 Endless Mode hack, because it starts you off with all weapons on a random portion of any stage. Legacy Collection is not straightforward emulation, it's got some glitches fixed, but new ones introduced. And of course it uses Lua Script...

za909
Posted on 09-28-15 04:46 PM, in General Megaman Hacking Thread Link | Quote | ID: 161259


Cheep-cheep
Level: 32

Posts: 192/196
EXP: 189469
Next: 16973

Since: 04-27-11

Last post: 3072 days
Last view: 2783 days
First off, if there's no MMC5 version hack of MM2, you need to learn more about how the MMC1 does bankswitching, and how the MMC5 does it. If you locate all the writes to the MMC1 registers and re-write that code to attempt writing to the MMC5 bankswitch registers you have successfully ported the game to use MMC5. Though beware, the MMC5 is a bit on the excessive side, it requires a lot of initialization when the game fires up so you might have to do something with the Init code of the game, which can be found by looking at the RESET vector at the end of the PRG-ROM.

za909
Posted on 11-22-15 12:38 PM, in General Megaman Hacking Thread (rev. 3 of 11-22-15 12:40 PM) Link | Quote | ID: 161998


Cheep-cheep
Level: 32

Posts: 193/196
EXP: 189469
Next: 16973

Since: 04-27-11

Last post: 3072 days
Last view: 2783 days
I believe the AI of the teleporters expects the teleporter to be a [certain number]-th enemy in the stage for it to work properly. Same thing with the Hologram Megaman generator boss. So unless we look into the code to find where it does this sort of check, you will have to make sure that you use the same number of enemies throughout the level before and after the teleporters.

za909
Posted on 11-23-15 04:09 PM, in General Megaman Hacking Thread Link | Quote | ID: 162004


Cheep-cheep
Level: 32

Posts: 194/196
EXP: 189469
Next: 16973

Since: 04-27-11

Last post: 3072 days
Last view: 2783 days
Wily 3 also has another stage-specific bit of code, namely that the boss, whatever you decide to use, will have no invincibility period. It applies to any boss battle in Wily 3 and it's not a part of the Hologram Megaman AI.

za909
Posted on 12-02-15 08:07 PM, in Mega Man Crimson - a Mega Man 3 hack with Improvement 2.1! (rev. 5 of 12-02-15 09:24 PM) Link | Quote | ID: 162078


Cheep-cheep
Level: 32

Posts: 195/196
EXP: 189469
Next: 16973

Since: 04-27-11

Last post: 3072 days
Last view: 2783 days
Posted by Zieldak

Soooo... Shadow Man Pulse 1... for example
00 AACB AC02 AD1C ADA6 0A03 0400 1840 080B 05022E 06FF 070B

00 : Song Start
AACB : Pulse 1 => /pointer/
AC02 : Pulse 2 =>
AD1C : Illuminati (seriously) =>
ADA6 : Noise =>
0A03 : Global stuff... So it's 3 semitones up?
0400 : Useless bitflag
1840 : So Tone color... uhh... 25%
080B : Yeah, intruments.
0502 : Speed!
... wattehf*k is a 2E? Is it C#1? Oh, wait, it's actually related to speed. Tempo?
06FF : I don't think I want to change this because it's fine as it is.
070B : Volume!


My offer from long ago is still there, because other than studying for exams I can always spend time doing this stuff... but I'll explain what this data means.

00 is indeed the start of a song or sound effect. With songs, 4 16-bit pointers follow, which point to where the data for each channel begins in the order Pulse 1, Pulse 2, Triangle, Noise
The first music hack I did was swapping these pointers so I could make other channels play parts of the song, it sounded pretty terrible
And this was the first time I made an entire song properly.

0A 03 indeed means that the entire song is shifted 3 semitones up. Applying the two's complement rule, 0A FF would mean -1

04 00 is used to control bitflags for various playback effects but they are not very useful at all...

18 40 is setting the tone to 25% pulse, just like a Famitracker V01 effect would.

08 0B sets instrument $0B, remember in the Capcom engine, vibrato and tremolo effects are defined in the instrument, there is no effect to do them like the Famitracker 4xx for vibrato and 7xx for tremolo. At the end I explain how they do a vibrato in the middle of a note.

05 02 2E sets the speed. Speed is a command that takes a two-byte operand, unlike the other commands here. I'm not entirely sure what the engine makes of this, but the low-byte (the 2E one) is added to a counter every frame, and when the counter overflows, the engine inserts an extra frame of delay into the song so you can achive in-between speeds, not just the speeds you set in the high-byte. For consistency, try to keep the low byte to things like 00, 40, 80 or C0 because instruments can be affected by this somehow... the extra inserted frames can make noise drums not end when they are supposed to.

06 FF makes it so that every note hangs at the sustain level of the instrument until either a new not, or a note cut happens. If it's lower, then it automatically releases the note after some time.

07 0B sets the max volume of the channel. This is the level the instrument achieves before doing the decay phase and then hangs at the sustain level.
If you do something like this you can make an echo, but it costs a lot of space: 07 0B Note 07 04 Note 07 0B Note 07 04 Note...

You can refer to my excel table for the note values (Only use Sheet1, the other two were for my DPCM-hacked Capcom engine). You just need to learn how long the command operands are so you can see where one thing starts and ends. This is why I'm using assembly nowadays because you can name things instead of staring at a bunch of numbers.
Also, please don't follow what I say in my tutorial about note length. the 16TH NOTE is the equivalent of one row in Famitracker. 32nd is a "half row" and 64th is a "quarter row" even though there is no such thing in Famitracker.

But at the start of the song, the octave needs to be set as well. So if they do a 09 03 this will mean that a "C-0" note now comes out as a C-3, but if they do a 09 04 later, then "C-0" will mean C-4 from that point.

Vibrato in the middle of the note is made using the 01 command, "connect". You need to break up your note length into two, so half of it is with the normal instrument, the second half is with a vibrating instrument. Let's try to make a 4th note (4 rows in FT) vibrate at the middle! (remember we need to break it up into two 8th notes) Also assume that instrument ID 02 has vibrato:
I'll put the things that are related, in the same sort of brackets:
The syntax is like so: {01} [8thnote] (08) (02) {01} [8thnote]

Ok so the first 01 initiates the "connect"
then comes the first half of our 4th note,
then we change instrument to something with vibrato.
then the closure of the connect (another 01) must be placed before the last note in the "connect" sequence.
Then place the second half of the 4th note.
Tadaa! You have a 4th note which starts vibrating at its halfway point! Just don't forget to change the instrument back after this because otherwise the next note will start with the vibrato.

In Famitracker this would've looked something like this:
C-3 00 - ---
--- -- - ---
--- -- - 463
--- -- - ---

za909
Posted on 12-17-15 10:33 AM, in Megaman the Wily Wars - Editor news and Game related info Link | Quote | ID: 162200


Cheep-cheep
Level: 32

Posts: 196/196
EXP: 189469
Next: 16973

Since: 04-27-11

Last post: 3072 days
Last view: 2783 days
I'm very curious about the audio engine in Wily Wars, because most of the songs use the exact same instruments... not really making the richest use of the given hardware, so I'd really go ahead and program better instrument patches for the game if we knew where they are.
Pages: 1 2 3 4 5 6 7 8 9 10


Main - Posts by za909

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.977 seconds. (338KB of memory used)
MySQL - queries: 79, rows: 101/101, time: 0.968 seconds.