Super Mario 64: The Missing Stars (Rom Hack) by messiaen at 6:00 PM EDT on May 5, 2009
Hi!

Some of you will remind me from my thread about Mario 64 (and basically, Nintendo first-party) sequence format.

This is just to let you guys know that I finished my Super Mario 64 hack, called "The Missing Stars". It's the first ever complete Mario 64 hack and features, besides new levels, tons of custom music, including an original composition of mine.

Download it here:
http://sites.google.com/site/messiaen64/themissingstars

edited 6:02 PM EDT May 5, 2009
by hcs at 6:16 PM EDT on May 5, 2009
Cool! Gonna dust off the ol' N64 and check it out.
by messiaen at 7:41 PM EDT on May 5, 2009
Damn, there was a last minute bug due to a minimal change in an object position. Please redownload the patch if you have downloaded it before this message.

This hack uses extended memory, so I guess it won't work on a real N64 :(.
by Lunar at 7:56 PM EDT on May 5, 2009
I was wondering just recently when we'd see a full hack of SM64. There's plenty of videos on youtube of kids dicking around in toad's tool, but to date I haven't seen anything solid. I'd like to play this! Shame my only means would be emulation.
by hcs at 9:21 PM EDT on May 5, 2009
Well, the title screen works, but when going into the demo or pressing start it freezes at the full white screen (music keeps going into demo, though).
It's probably a matter of misalignment somewhere. I noticed the extender tool mentioned something about a future version doing 16-byte alignment, that might be required for ROM access via DMA (though iirc it was 8 bytes).

edited 9:31 PM EDT May 5, 2009
by messiaen at 7:55 AM EDT on May 6, 2009
The title screen already runs some functions from the upper 4mb memory so I guess that means, unlike I thought, that it can work with the extension pak after all?

Have you tried running a "clean" extended ROM on your N64 just to see if the same problem happens? Since there is an open-source ROM Extender tool, I could try word aligning the data just to check if that would work.
by hcs at 8:38 AM EDT on May 6, 2009
The "new extender" output also freezes after hitting start or going into the demo.

Sure enough, if I have it round the "new offsets" up to the next 16 bytes it works, here's my diff. I don't know if this is a particularly safe way to handle it, though, as I don't take into account the actual file sizes, so they might overlap. I'm just guessing here.

edited 9:05 AM EDT May 6, 2009
by messiaen at 9:08 AM EDT on May 6, 2009
Ok, thanks for the help. If I have some time today, I'll try sending you a version of the extended ROM with the alignment corrected. If that works, I can make a new patch compatible with the N64 hardware and try to convince VL-Tone (the guy who programmed Toad's Tool 64) to correct it in future versions of the extender :).

Edit: Ops, you edited your post after mine :). I don't know exactly what you modified, but what I was about to do is edit the tables.c file and change offsets like 0x00b1f8b5 to 0x00b1f8b4. There's a 32k space (if I remember correctly) space between the uncompressed files moved to the upper part of the ROM, so it's safe to displace them a few bytes.

edited 9:22 AM EDT May 6, 2009
by hcs at 10:34 AM EDT on May 6, 2009
All I did was have the program do the rounding itself. I removed the const from the table and added a loop to round addresses up to the >= 16-aligned address. If the spacing is as you describe then this should work fine, though I guess it makes more sense to just fix the table.
0x00b1f8b4 won't work if I understand the issue correctly, you'll want 0x00b1f8b0 likely. And I'd personally round up instead of down, to 0xb1f8c0 (0xb1f8b8 might work, too, but I didn't test 8-byte alignment). That way you're consuming your own padding, rather than that of the previous file.

[edit]
Oh, man, I've known about Toad's Tool for a while, but I just got the pun. Awesome.

edited 10:37 AM EDT May 6, 2009

edited 2:21 PM EDT May 6, 2009
by Lunar at 7:45 PM EDT on May 7, 2009
I played the hack and i was disappointed. it's the same wanky arbitrary approach you see on youtube. no rhyme no reason, just a "mess around", throwing whatever objects wherever just because you can, no real attempt at interesting level design or dialogue. random music choices as well... hah, were those originally midi sequences from vgmusic? easiest approach there would probably be to either stick to mario series compositions. imitating kondo's compositional voice from the ground up to create new compositions would take substantially more skill, but that would be exciting.

anyway, nothing inherently wrong with mess-around hacks, fun for about 5 - 10 minutes, but your first post made it sound more promising than that. :(

well, it's good to see these things are possible. hope someone really capitalises on it.
by arbingordon at 11:55 PM EDT on May 10, 2009
yea, and the broken camera system is kind of a game breaker... hope that can be fixed...
by arbingordon at 12:27 AM EDT on May 12, 2009
on another note, however, the game hangs at the end of the game:

Hope I didn't miss much of it.
by messiaen at 9:22 PM EDT on May 12, 2009
This hack is insane, really. All level geometry is made by some "pre-made" solid objects, with some hacks in the collision system to make it actually work without slowing down the game like hell. There is a shitload of hacks to make this thing work, and while the level desing may not be great (taking in account the limitations I've worked with, it's very decent), I'm satisfied with it, especially the later areas. There's tons of cool stuff: the catch Yoshi-star, Fire Mario powerup, day-night, etc.

As for custom music, I have done the possible with the limited tools I wrote by cracking myself the music format. There's one original song (the night "town" music) which I think turned out quite well, but I didn't want to write more because it would be hard to make them sound good without hours and hours of work and I was too busy trying to solve dozens of small problems everywhere.

Mastery: You are using an inadequate video plug-in (there's a reason a readme.txt file is included!). I'm not sure what is going on in the end, I couldn't reproduce whatever bug you had there.

Edit: About the camera: the main problem of the camera is that the original Mario 64 camera is broken. It only works because there are tons of hardcoded camera positions for each level, and I (or anyone else) couldn't yet get rid of this.

edited 9:24 PM EDT May 12, 2009
by hcs at 9:42 PM EDT on May 12, 2009
Don't let these Negative Nancys get to you, it's a cool hack. I'm looking forward to playing it on the hardware, any progress in that direction?
by arbingordon at 10:27 PM EDT on May 12, 2009
Messiaen: I'm using Jabo's Direct 3D8 1.6 Plugin. If I'm not mistaken, that is I was instructed to use in the readme and on the site.

Here is the save state:
M64-TheMissingStars.pj.zip

About the camera, the hard coded camera positions isn't really the nuisance, but rather that you're restricted from angling the camera into logical positions, and that it tends to go in the opposite direction of what'd seem logical to be at.

edited 10:48 PM EDT May 12, 2009
by messiaen at 11:16 PM EDT on May 12, 2009
hcs: I'll try doing a new patch soon (maybe this weekend), I'm looking forward to see it working on real hardware but unfortunately I have been way too busy with real life :).

Mastery: that's strange, the grass texture coordinates look messed up, and the only plug-in with this problem (from the ones I've tested) is Jabo's 1.5.2. The camera angle limitations are also part of hardcoded (on a level basis) stuff. There are dozens of different functions affecting the camera coordinates at once, so it's really hard to understand it and thus overcome these problems.
by arbingordon at 11:25 PM EDT on May 12, 2009
is there any way to "unlock" camera control everywhere?
by messiaen at 8:33 AM EDT on May 17, 2009
Right, here's the aligned patch:

http://www.mediafire.com/download.php?zhqojiu3tgy

Nemu is the only emulator that seems to care about the alignment, since it wouldn't run the extended ROM before and now it works perfectly. That's great, because I had to resort to PJ 1.4 debugger (ugh) to correct some bugs and now I can use Nemu 64.

Now let's see if it works on real hardware. If so, I want PICS :). Patch it to the normal (non-aligned) output of the extender.

Also, for those interested or merely curious about it, here is pretty much all source code for the assembly/C hacks used:

http://sites.google.com/site/messiaen64/themissingstars/download/missing_stars_src.zip?attredirects=0

(Warning: I'm an amateur programmer!)
by hcs at 2:01 PM EDT on May 17, 2009
Doesn't seem to work too well. Here's some video.
by messiaen at 5:19 PM EDT on May 17, 2009
That was very interesting to watch!

I guess if I can correct some of the messed up display lists maybe it can work reasonably. I will try doing some tweaks in the RSP commands of the 'basic objects' and producing a new patch.

Now would be a good time to try some low level video plugins :P.

Edit: Yep, the Z64 plugin seem accurate enough to reproduce most of the graphical glitches, I'll see what I can do.

edited 5:53 PM EDT May 17, 2009
by hcs at 10:33 PM EDT on May 17, 2009
Cool, I was afraid you wouldn't want to delve into such things, many props for insisting on correctness!
by MIO0 at 11:56 AM EDT on May 18, 2009
Here is an updated extender that has an option to align the data to 16 byte boundaries.

http://desktop64.homeip.net:8086/newextender-0.03.tar.gz
by Camo Yoshi at 6:19 PM EDT on May 19, 2009
If you want more of that, check out Star Fox: The Nightmare Rom... @_@
by messiaen at 12:13 PM EDT on June 12, 2009
No luck yet trying to fix some of the display lists to work with low-level video plugins, but let me use this thread to show this bizare mini hack:

Mario 64 "Pong":
http://www.youtube.com/watch?v=FBjUml6xPQo

It's basically a pong game which exploits the Print
functions from the game. Features a primitive computer AI with progressive levels of difficulty and even some sounds :P.

Crappy source at http://sites.google.com/site/messiaen64/pong_of_death
Super Mario 64 The Missing Stars by the_audio_ripper at 11:19 AM EST on January 17, 2012
USF?
by messiaen at 1:06 AM EST on January 23, 2012
Seriously, the soundtrack isn't worth it. If you really want it, it's easier to use the debug code I've developed, stop sfx and capture the music ingame.

http://www.youtube.com/watch?v=A-QleEpFqDo&feature=channel_video_title


Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source