Register | Login | |||||
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
| |
0 users currently in ROM Hacking. |
User | Post |
Googie Posts: 63/391 |
Originally posted by The Onyx Dragoon I know what you meant, I put the site for Chainlink1061 in case he wanted to see it. |
The Onyx Dragoon Posts: 67/159 |
I meant the tool itself, Googie...not the site . |
Googie Posts: 62/391 |
Check out the site Google translated. Hope this'll help... |
The Onyx Dragoon Posts: 66/159 |
http://faisoft.hp.infoseek.co.jp/music11.zip
Chainlink1061, try this...it is in japanese, but it does edit smb1 music... if someone could translate this, it would be really helpful, i'm sure . |
Shadic Posts: 104/528 |
Originally posted by Raccoon Sam Yeah, except the problem has been here forever, and nobody really feels like putting the work together to scratch the old music engine. |
Raccoon Sam Posts: 120/1040 |
Jesus!
This could be a complete revolution of SMB1 Hacking! |
infidelity Posts: 14/66 |
This is a conversation bbitmaster and I had on this subject a while back. I wanted to try and rip the entire intro song from smb1, and place it into another game. But instead I had to do the song by ear for my hack.
Anyway, hope this convo helps, cause I was able to screw around with the sounds in the first song of SMB1. infidel81: hi bbitmaster: hey infidel81: question, would you know how to find the intro music to super mario bros? infidel81: i've tried screwing around with it in the hex editor, but no luck infidel81: if you don't know, it's not a problem bbitmaster: I've heard that smb1 music hacking is really hard, because they use a really messed up format infidel81: :-) infidel81: ahhh ok bbitmaster: as for finding it... bbitmaster: I'd look for writes to sound registers bbitmaster: and try to look at what's being read bbitmaster: or actually bbitmaster: there's a way to find music data easily for almost any game (smb1 included) with fceuxd infidel81: really?!? bbitmaster: with the code data logger bbitmaster: and trace logger bbitmaster: hang on, I'll walk you through it bbitmaster: ok, with the game running on the first level bbitmaster: (music playing bbitmaster: open the code/data logger bbitmaster: and just hit start logging infidel81: k bbitmaster: you should see the "bytes logged as data" counting up as the music plays bbitmaster: that's it logging music data... bbitmaster: anyway, if you open the trace logger infidel81: oh, i think i have to click start bbitmaster: with the code data logger open and running bbitmaster: yeah, you have to click start on the code data logger infidel81: ok, there it goes bbitmaster: check the box at the bottom of the trace logger that say bbitmaster: "Only log code that accesses newly mapped data" infidel81: k it's checked bbitmaster: and check the "automatically update window while logging" bbitmaster: and click "start logging" infidel81: k its checked bbitmaster: what that will do is show all of the data reads that read data that has never been read before bbitmaster: since you're just standing in the level, with music playing bbitmaster: the only data reads most likely to occur are just music data reads infidel81: ok bbitmaster: If you need to reset the code/data logger so it counts everything as new infidel81: it's now reading the time running out song now bbitmaster: just click "Reset Log" infidel81: ok bbitmaster: this can be used for anything, not just music btw bbitmaster: if you play through the level bbitmaster: you'll see it loading level data bbitmaster: and, this works for any game infidel81: interesting! bbitmaster: you can get rid of it showing the music data by letting it play through the song once... if you need that out of the way to see level data bbitmaster: or whatever other kind of data infidel81: ok bbitmaster: oh if you check the "only log newly mapped code" checkbox bbitmaster: it'll show new subroutines and code that has never been ran before as well infidel81: ah ok bbitmaster: but like for logging data... bbitmaster: if you see bbitmaster: $8A08:B9 D1 89 LDA $89D1,Y @ $89DA = #$07 A:0F X:08 Y:09 P:nvUbdIzc bbitmaster: that means the data was at offset 89DA bbitmaster: in nes memory infidel81: hmm i'm trying to find that through the trace logger bbitmaster: well, you know the instruction that read that data was at 8a08 bbitmaster: so... you could set an execute breakpoint on 8a08 bbitmaster: and see what it is reading infidel81: mine is different infidel81: $8A08:B9 D1 89 LDA $89D1,Y @ $89D1 = #$0F bbitmaster: yeah, you logged it reading from 89d1 infidel81: now, i copied that from 6502 debugger infidel81: if i click stop logging everything dissapears infidel81: and if i try to scroll through the trace logger, it will not sit still bbitmaster: the emulator has to be paused (F2) bbitmaster: for you to scroll through it infidel81: ok infidel81: 1 sec bbitmaster: it's still logging new stuff infidel81: i'm going to start completely over infidel81: i rested the rom and click reset log bbitmaster: that works infidel81: ok, i'm about half way through the song infidel81: now do i click f2 then go into the tracer? bbitmaster: yeah, press F2 infidel81: done bbitmaster: also, ckicking "step into" on the debugger pauses the game as well bbitmaster: *clicking infidel81: ok infidel81: game is paused infidel81: $8082:AD 78 07 LDA $0778 = #$10 A:90 X:05 Y:00 P:NvUbdIzC infidel81: the very first line in tracer infidel81: for me at least bbitmaster: hmm... that's not readong from the rom infidel81: $8A08:B9 D1 89 LDA $89D1,Y @ $89D8 = #$0F A:17 X:03 Y:07 P:nvUbdIZc (7 lines skipped) infidel81: i scrolled through and found that bbitmaster: ah, ok infidel81: quarter down the list bbitmaster: 89D8 is an address you can find infidel81: if i was to do this on my own, i would not have known to look for that particular line of code bbitmaster: smb1 doesn't do any bankswitching, so it's easy to convert a nes memory addres to a rom file address infidel81: oh, ok bbitmaster: you're not really looking for any line of code in particular... infidel81: now in 6502 do i goto 89d8 infidel81: ok bbitmaster: just new data bbitmaster: 89d8 is data that was just read bbitmaster: so... go open the hex editor bbitmaster: and go to 89d8 bbitmaster: and right click, and pick "Go here in rom file" bbitmaster: you should see yellow and blue numbers bbitmaster: in the rom file infidel81: wow, i see them bbitmaster: yellow means it was logged as code bbitmaster: so, that is 6502 code bbitmaster: you don't wanna mess with code much in a hex editor, unless you know what you're doing bbitmaster: blue means data bbitmaster: you can mess with blue stuff infidel81: what will that do? bbitmaster: depends on what it's for infidel81: k infidel81: 9d3 isa pallete for the blinking coin counter and question blocks bbitmaster: $F7C9:B1 F5 LDA ($F5),Y @ $FA21 = #$19 A:90 X:7F Y:20 P:nvUbdIzc bbitmaster: that appeared while music was playing bbitmaster: it's definately music data infidel81: it's default is 27, and changing it to different vlaues, changes a certain part of the pallet color bbitmaster: let me go to FA21 bbitmaster: wow, the music is all messed up now infidel81: $F7C9:B1 F5 LDA ($F5),Y @ $FB0A = #$21 A:90 X:7F Y:11 P:nvUbdIzc infidel81: i found that string bbitmaster: that's gotta be music data too bbitmaster: because it's right near what I found bbitmaster: $FB0A is at 7B1A in the rom file infidel81: ok infidel81: i think that's the bass bbitmaster: just go there and mess with the blue numbers bbitmaster: yeah bbitmaster: that's what it sounded like infidel81: haha infidel81: that's so screwy infidel81: now i have to figure out where the actuall notes start bbitmaster: heh, good luck infidel81: lol, i know infidel81: i'm better off humming the tune in my head, lmao infidel81: i'll find the data infidel81: somehow |
Dr. Mario Posts: 49/195 |
Even IF you know where the data is located and what bytes change what instrument it's still VERY frustrating. The way the notes work is real odd, and I still can't figure it out. If I knew, I'd write up a document, but I have yet to figure out note duration, or type of note (Quarter note, sixteenth note). It's really really strange. That's why in a lot of Japanese hacks, I believe they actually change the sound format for the music, at least I believe they do. The intruments sound a lot different than the original SMB, and I don't think there is any way to actually hold a note in SMB's original sound format.
If anyone is confused as to what I mean by sound format, I just mean the way the sound data is stored and such (i.e. Nintendo made games have much different sounding music than Konami games). |
asdf Posts: 515/4077 |
Originally posted by DahrkDaiz QFT. And am I the only one who found this post ironic? Seeing as how "editor" could also refer to someone who hacks ROMs, and with DahrkDaiz just getting into heavily hacking SMB1...heh. Although I do remember that there are Game Genie codes that could be used to mess up the music, it's unlikely that they'll be of any use. |
Shadic Posts: 102/528 |
And the music has a crazy format, so good luck trying to recompose it in a hex editor.
There are notes on how the music works, and I have a slight clue, but it's such a hassle.. |
DahrkDaiz Posts: 101/403 |
Nope, there are no editors that does a thing for SMB1. |
Chainlink1061 Posts: 3/143 |
I'm making a Super Mario Bros. 1 hack, and all I have left to do is edit the music. Is there any program that lets me edit specific notes in the music? |