Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,607,086
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 05-20-24 06:30 PM
Guest: Register | Login

Main - Posts by messiaen

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

messiaen
Posted on 08-28-09 05:41 PM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 114216


Cheep-cheep
Level: 32

Posts: 143/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Mario Kart red shells in Mario 64 anyone ?



The red shell is one of the beta models leftovers found in the ROM. This bizarre thing was written in C.

messiaen
Posted on 09-21-09 01:04 AM, in Hacking Super Mario Kart Music (rev. 2 of 09-21-09 03:17 AM) Link | Quote | ID: 115696


Cheep-cheep
Level: 32

Posts: 145/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
So, I'm trying to work on an addmusic-derived music importer for Super Mario Kart. I've got the basic stuff working however I'm having trouble on the insertion part.

Until now, I was relying on the offsets for the Select Player screen Dirtbag gave me to do a few tests. In this case, the data is compressed in the ROM at 0x61e28. Before the actual pattern pointers/music data, there are these 4 bytes:

2102 00D0

0x00D0 is a pointer to where the following data will be uploaded in the SPC-RAM. I'm not sure about what the first numbers do (perhaps the size of the data block to be uploaded to SPC-RAM?). Replacing the music data that follows works nicely, however sequences bigger than about 0x200 will crash the game.

But what is puzzling me is that I can't replace other decompressed sequences in the game. For instance, the Ghost Valley music pattern pointers beggins at 0x339 in the unheadered ROM, but when I replace it the data gets uploaded to the SPC-RAM at 0xD000 however some of the data around that region is overwritten, causing the sequence not to work.

Can someone offer some insight ? I know pretty much zero about SNES and SPC hacking, so this is new territory to me. Also, could someone explain how to work out the actual location of music data in the ROM from the pointers to music data in Stifu's SMK notes? So far what I have been doing is to dump the SPC RAM, go to $D000 (unheadered) and search for that in the ROM, however I don't understand how that pointer table in Stifu's note works.

This is a small test I did a few days ago. Note that is only a really quick test, before I even got all the loop stuff to work:



Thanks in advance.

Edit: Found some good information in these old d4's notes. Seems like I missed the fact that most tracks are indeed compressed, which is probably why I couldn't replace other tracks.

messiaen
Posted on 09-30-09 04:51 AM, in Hacking Super Mario Kart Music Link | Quote | ID: 116365


Cheep-cheep
Level: 32

Posts: 146/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Thanks smkdan. Even after adjusting the block size in the header things weren't working right. I looked at the tracks from the game and after the music data there's always these 4 bytes: "00 00 00 08". Appending this after the music data mde things work. Is this usual in the N-SPC format or something specific to Mario Kart?

I've written a simple inserter using the Lunar Compress DLL, but what I need to do now is to repoint the music data to avoid corrupting the ROM when inserting data larger than the original.

I have a question about SNES pointers. To read pointers, I just read them as little endian and them get rid of the first nibble in the third byte. Ie:

28 1E [C]6 = 0x61e28
01 98 [8]4 = 0x49801

Now I have read from a DataCrystal article Dirtbag pointed to me that the "C" before the address means it's a pointer to ROM data. But what about "8" (as in the second pointer above) ? What's the difference and should I worry about it when moving data around?

messiaen
Posted on 10-03-09 07:08 AM, in The General Project Screenshot/Videos Thread... (rev. 2 of 10-03-09 07:13 PM) Link | Quote | ID: 116497


Cheep-cheep
Level: 32

Posts: 147/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Playing around with a primitive .obj importer for Mario 64. Just wish I had the pacience to learn how to use Blender properly .



(crappy) Video of this model.

messiaen
Posted on 10-12-09 01:46 AM, in Super Mario 64 Level Importer (rev. 3 of 02-21-10 01:59 PM) Link | Quote | ID: 117016


Cheep-cheep
Level: 32

Posts: 148/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
This tool imports an Wavefront .obj file as levels of Mario 64, and supports textures assigned in material files:



Download

Have fun!

messiaen
Posted on 11-05-09 12:22 PM, in Red Falcon, Contra editor (Formerly "Contra hacks...") Link | Quote | ID: 118835


Cheep-cheep
Level: 32

Posts: 149/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
I managed to reach the boss of the second level, however it required tons and tons of precise savestates. You really should balance it a bit more, the first level was hard but way more fun.

Still it's nice to see you made progress on the editor, looking forward for more levels .

messiaen
Posted on 11-08-09 03:12 PM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 119012


Cheep-cheep
Level: 32

Posts: 150/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
A super debug mode for Mario 64 I'm working on:

allowfullscreen="true" width="425" height="344">

Lets you control/spawn objects, modify music/sounds, camera (not 100% yet) and modify some other parameters.

messiaen
Posted on 11-08-09 11:05 PM, in Hacking Super Mario Kart Music Link | Quote | ID: 119031


Cheep-cheep
Level: 32

Posts: 151/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Haven't worked on this for a while, so I'll just release what I have for now: a MML importer almost fully compatible with SMW's addmusic (it's actually built from romi's addmusic) and a simple inserter (requires Lunar Compress.dll).

A warning, the inserter will corrupt your ROM if the inserted file is bigger than the original one. Right now the only option is to manually change the music pointer table at 0x1f47b so that it points to a free area of the ROM. Once I know more how SMK editors such as MAKE deal with extending the ROM and using the extra space I will make it automatically repoint stuff.

Download.

Here's a conversion of a .mml file from SMWCentral to SMK:



A few differences from Romi's addmusic: intro command ('/') isn't supported, and you can only specify one string of musical data to each channel. For instance, this won't work:

#0 v180
#1 v200
#2 v220
#0 c
#1 d
#2 e

So change to this:

#0 v180 c
#1 v200 d
#2 v220 e

Instrument list can be found on d4s's notes.

messiaen
Posted on 11-11-09 04:17 PM, in Hacking Super Mario Kart Music Link | Quote | ID: 119187


Cheep-cheep
Level: 32

Posts: 152/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Posted by Stifu
Hey messiaen,

You might want to use the compressor used in Epic Edit rather than Lunar Compress. It's open source, and has a higher compression rate.



Thanks, I may look at that. By the way, Dirtbag suggested I could perhaps use the original Track Layout/AI/Object Overlay Data space to put the new music data. Since MAKE expands the ROM and repoint stuff, the original data isn't used anymore. Does your editor do someting similar?

Posted by roxahris

addmusic
Ugh, people still use that? You'd think people would have moved onto a better way of editing music by now.


Still better than hex (by the way, Lilypond uses text-based files).

But thinking about alternatives, one could write a plug-in for some of the music notation programs out there, such as Finale or Sibelius. I know Sibelius has some sort of script language, not sure if it could handle exporting to N-SPC or something along that lines. Or perhaps one could search for a open music notation software and work from that.

messiaen
Posted on 11-14-09 02:15 AM, in Chip'n'Dale level editor: Y/N? Link | Quote | ID: 119364


Cheep-cheep
Level: 32

Posts: 153/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
I remember playing Chip'n'Dale on the NES. Wouldn't use an editor, however I would like to see a hack of that game. If you don't have enough motivation to write a full-fledged editor, at least share your notes and maybe the level viewer source.

messiaen
Posted on 11-23-09 04:22 PM, in Reuben: Not so final (but it's being worked on again) stage. Link | Quote | ID: 120143


Cheep-cheep
Level: 32

Posts: 154/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Tried a bit the interface and found one small bug report concerning the "Diagonal Line" function. When using it, one can get a "outside of array bounds" error if the line exceeds maximum Y position of the level.

It doesn't happen at the bottom or right and left boundaries.

messiaen
Posted on 11-24-09 04:31 AM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 120256


Cheep-cheep
Level: 32

Posts: 155/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Finally got external textures to work on my Mario 64 .obj importer:


messiaen
Posted on 12-02-09 04:12 AM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 121187


Cheep-cheep
Level: 32

Posts: 156/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
A Banjo-Kazooie level imported into Mario 64:



Download PPF patch.

You'll need to turn extended memory support on your emulator. Patch to a clean extended ROM.

messiaen
Posted on 12-06-09 10:48 PM, in The General Project Screenshot/Videos Thread... Link | Quote | ID: 121665


Cheep-cheep
Level: 32

Posts: 157/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Posted by Hamtaro126
P.S. to Messiean: Also a nice job hacking SM64 to use Banjo-Kazooie Levels, And I think you also ported one of B-K's Songs to SM64 complete with matching samples.

(The other video mentioned to Messiean is not shown, look at the end where the other video is shown within the youtube video selector.)


Actually, that's a video by VL-Tone showing an early version of his .obj importer. The Banjo song was only a background effect, it isn't a port.

messiaen
Posted on 12-16-09 05:23 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 123090


Cheep-cheep
Level: 32

Posts: 158/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Do you plan releasing the source code for this? I'm interested in learning about MusicXML for similar music hacking purposes and I'm also considering learning some C#. XML parsing is still something I haven't tried, though, are there good libraries for this in C#? Doing it in C (which is basically what I know) seems not so trivial.

Anyway, great work on this.

messiaen
Posted on 12-18-09 05:32 PM, in SMB3 Music Inserter - WIP Release (beta 1.3) Link | Quote | ID: 123329


Cheep-cheep
Level: 32

Posts: 159/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Thanks Kawa and JaSp. That was the motivation I needed to start learning C# . I also tried writing a MIDI converter a few months ago and was turned down by the many possible variants, it's indeed a hardware format so it can get very messy in polyphonic contexts.

messiaen
Posted on 12-24-09 05:40 PM, in The General Project Screenshot/Videos Thread... (rev. 2 of 12-24-09 06:34 PM) Link | Quote | ID: 123979


Cheep-cheep
Level: 32

Posts: 160/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
SORT OF two player mode in Mario 64 (controlling NPCs):



Many practical problems, however the concept could work in a smaller scale.

Edit: Embed doesn't seem to be working Non-embed.

messiaen
Posted on 02-12-10 05:02 AM, in Super Mario 64 Level Importer Link | Quote | ID: 126992


Cheep-cheep
Level: 32

Posts: 161/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
New, vastly improved version, including a graphical interface this time!

For those who used older versions, you'll have to patch your ROM again (read obj_import.exe or watch the video tutorial included if you have doubts):

What's new:

- Graphical interface! (Requires .NET Framework 3.5)
- Replace all levels instead of only Bob-omb Battlefield.
- Select background and environment effect, including beta flower.
- Comprehensive error trapping.
- Fixed problems with texture paths as well as parsing problems when the file had spaces.
- Better texture handling.
- Model files are now centered around (0,0,0).
- Video Tutorial.



Download v0.6


messiaen
Posted on 02-21-10 03:39 AM, in Super Mario 64 Level Importer Link | Quote | ID: 127377


Cheep-cheep
Level: 32

Posts: 162/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Posted by Dialga
That is awesome!
I'll have a look at it later...


You may want to download this small update (just replace those two .exe files), which fixes a gross bug related to texture file names.

messiaen
Posted on 02-21-10 02:01 PM, in Super Mario 64 Level Importer Link | Quote | ID: 127385


Cheep-cheep
Level: 32

Posts: 163/193
EXP: 204878
Next: 1564

Since: 05-26-08
From: Porto Alegre, Brazil

Last post: 4467 days
Last view: 4795 days
Posted by Dialga
Thanks.
The main Download link seems to be broken...


To me, it seems to be working fine. By the way, I updated the first post to avoid people downloading an older version (maybe you tried download it instead of the link in the second post?)
Pages: 1 2 3 4 5 6 7 8 9 10


Main - Posts by messiaen

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

Page rendered in 0.232 seconds. (329KB of memory used)
MySQL - queries: 132, rows: 164/164, time: 0.222 seconds.