14 users online: alexwong, Gamet2004, Hidincuzimsmokin, Klug, Larabee, LinkVideo64, OEO6, pandapand, Saela, Space_Pig,  Tahixham, wye, yogui, Zavok - Guests: 74 - Bots: 257 Users: 55,722 (2,328 active)
Latest user: pandapand
Not logged in.
Posts by BMF54123
BMF54123's Profile - Posts by BMF54123
Pages: « 1 2 3 »
Alright, let's get a couple things straight:

1) I didn't use any special tools or insert WAVs directly into the ROM. bsnes supports a (currently) fictional SNES expansion chip called the MSU1, which is capable of playing WAV audio or streaming data from external files, similar to how the unreleased SNES CD addon would have worked. The smo_msu1.sfc "ROM" is actually an ordinary folder with all the necessary files inside; try opening it in Windows Explorer if you don't believe me. ;P
2) bsnes has no MP3 support, so MP3s included in future releases will have to be converted to WAV before they can be used. I do plan to include a batch file and a copy of LAME to simplify the process for Windows users.
Running that code every frame wouldn't be a good idea, since playback stops and the (real) MSU1 goes into a "busy" state every time you write to the track register. The easiest option would be to put that code into a LevelASM init routine so it runs only once at the beginning of a level. The ideal option (and the one I used) would be to replace the original game's music handler with some slightly more complex code, so you have full control over the music at any time.

As byuu and smkdan mentioned, you'll also need to use a custom XML memory map in order to enable the MSU1. The one included with Odyssey should work with any 4MB LoROM hack; if you need to modify it or make your own, these threads should help:

I honestly wonder if we'd even be having this discussion if the SNES CD made it to production.

Think about it: if I were to hack Sonic the Hedgehog to use the Sega CD's audio capabilities, do you think anyone would complain?

The only difference here is that the Sega CD was released. The SNES CD wasn't. The MSU1 is simply filling in that gap, albeit a decade and a half late.
There's obviously a lot more to it than that, but it does change the game mode ($7E0100) to 14, which gives you full control of Mario and disables the title screen-specific features.
My code doesn't handle anything but the death music yet, but it's amazingly simple to handle the rest (set the MSU1 pause flag when the SPC song starts, reset it when it ends).

And yes, using the MSU1 does require some ASM hacking, the complexity of which depends entirely on how many features you want to have. It takes very little code to just start a song at the beginning of a level, but a complete drop-in, backwards-compatible SPC replacement (one that handles things like the "special" music and volume fades after boss fights) would obviously be a lot trickier, and require hooking a number of routines.
Originally posted by byuu
If you're willing to live without the screenshot previews, I can offer a classic Windows-style file load dialog that won't have that problem.

I know I would prefer a standard Windows dialog, mostly because the current Qt dialog doesn't allow me to access files on network shares unless they're mapped to a drive letter. :\
Originally posted by GoldenSonic15
Originally posted by Error 52
Also what the fuck where's the IPS

The .sfc's a ROM. I have no idea why he did that, but whatever. :/

Oh, derrrrrrp. I knew I was forgetting something when I uploaded this. D:

Maybe I ought to repackage it in a slightly more legal manner...
I would really like to do that, but...bleh. It would take a hell of a lot of effort to compile and insert two decent soundtracks for the game, in two different formats (and I'm not just gonna use the original SMW tracks, they're really boring and totally inappropriate for some of the later levels and events I have planned). I barely have enough free time and motivation to work on the MSU1 version. :(

If someone wants to do it themselves when the final version is released, that's fine, but don't expect much help from me.
Originally posted by Raibys
I'd say that Xkeeper's faking it, especially given the blatant ?p=editprofile that the online list kept returning for his activity, while meanwhile SNN was browsing other pages.

Seriously, how pathetic.
Actually, it was Sails. The ?p=editprofile was from Xkeeper fixing his layout afterwards.
I get the feeling a lot of people in this thread haven't been paying enough attention to byuu's posts. :\

The MSU1 is a cartridge-based expansion chip, just like the SuperFX, SA-1, Cx4, et al. It is accessed via special registers, just like the aforementioned chips ($2000-$2007 in this case). It currently only exists as code within bsnes, though someone is making very good progress on a prototype cartridge, similar to the PowerPak, with the functionality built in. If all goes as planned, you'll be able to play these hacks on a real SNES in the near future. :)
I am totally in love with the new Direct Map16 multi-tile object support.

I decided to replace a bunch of single-tile DM16 objects in World 1-1 of SMO with new multi-tile versions, and this was the result:

Before: 4,982 bytes
After: 4,212 bytes

...for a total savings of 770 bytes, or 15.45%. And this is after replacing just the treetops, trunks, bushes, slopes, and a few waterfalls on a short 9-screen level; I could easily replace even more objects if I rearranged the Map16 a bit. The savings will definitely be much more significant in hacks with longer, more complex levels.

My only gripes are that you have to waste/duplicate a few Map16 tiles to make some objects, and you can't make objects with fixed endpoints (e.g. pipes or cloud platforms), but they're hardly deal-breakers, and if I bothered to learn how ObjectTool works I could easily solve them. ;)

I'm curious as to how the new DM16 code works. My guess is it modifies the existing DM16 object to define the starting Map16 tile and number of tiles to incrementally draw in either dimension before repeating, in addition to the standard X/Y position and size. Am I close, FuSoYa? :)
Given the huge amount of Map16 space LM now offers, I don't think a few wasted tiles here and there are such a big deal. And does it really take THAT long to rearrange the tiles if they're in the wrong order? Left click, right click, repeat until done. You don't even need to use the keyboard. :P

I still think a much more useful (and easier to code) addition would be fixed-endpoint objects, given how incredibly common they are. Consider that virtually every pipe, wall, ground ledge, and water line in SMW is one of these.
Originally posted by Logup
It seems to me that the Terra Stripe is not compatible with the new Lunar Magic. Every time I open my ROM, a message appears:
"File decompression routine has been moved to an unknown location.
Program may not function correctly"
The program crashes and I am forced to close it.

I got that message all the time using the previous LM, though it would still load images from the ROM just fine. I never actually saved anything back to the ROM, though; I always exported to .stim files and inserted them manually (I have my own layer 3 handling system for SMO).

With the new version of LM, does it crash when you try to do anything, or only when you try to save? If the former is true, I'll have to keep an old copy of SMO and LM around for layer 3 editing...
Originally posted by Logup
@BMF54123 and Killozapit: The program crashes even before I load a layer 3 image of my hack. When I select my ROM, this message appears and the program stops working completely.
I restored a backup of my hack before editing the overworld and now Terra Stripe is working.

That's really odd. O_o

I just tested Terra Stripe with my latest ROM, and though I still get the warning message, it otherwise works fine. I haven't touched the overworld, though, since my hack doesn't use it...perhaps that's where the problem lies?
Originally posted by KilloZapit
Personalty, I rather just load right from rom either by replacing a pointer you aren't going to use or by loading the pointer manually and jumping into the stripe image loader, although the later needs some tricky stuff to work because it uses rts.

I just hacked the existing stripe image uploader to check a specific RAM address and, if it's non-zero, use the 24-bit pointer stored there instead. Makes uploading custom layer 3 backgrounds really easy.
And you guys wonder why you get so much flack from other sites.
AAAAAAAAAAAAAAAAAAA last minute submission GO

Super Mario World: Legend of the Golden Mushroom

A (very) short but sweet adventure into a giant hole to find a shiny fungus. I went for quality over quantity with this one, and tried to make it more relaxing and "classic SMW"-type fun than long and mind-bendingly difficult.

Enjoy! :D
I hope debugging/testing levels that aren't accessible during the normal course of play aren't counted towards the 75-screen limit...lots of stuff broke at the very last minute and I didn't have time to clean anything up. >_>

woop hello may as well link to my hack
clicken ze linken for ze golden mushroomen
Originally posted by Riolu180
Tell me, though... How the heck did you do the lights!? I can't figure it out, unless it's just basic map16 stuff...

Toss in a bit of translucent layer 2 and you're probably on the right track. ;)
Originally posted by S.N.N.
Originally posted by Shog

He actually stated on another forum that he didn't personally feel that this was his stronger work (or something slightly similar, too lazy to check right now). Still pretty impressive though.

The fact of the matter is, I simply don't have a ton of free time to devote to hacking anymore, especially the past few months. On top of my full-time job and volunteering weekends at an improv theatre, I've been working on starting up a T-shirt business with a friend, as well as taking improv classes on Tuesdays...and on top of all that, I only heard about the contest a week after it started. :(

I originally had much grander plans for the level. My original idea involved four areas, one for each switch (red, green, blue, yellow); there was to be a water/ice level for the blue switch, and a desert-themed area for the yellow switch. Pressing all four switches would have completed a bridge to the final area, which likely would have featured a boss battle of some kind. A few days before the contest ended, when I had the green and red areas mostly done, I realized that I simply was not going to have enough time to complete an entire two additional areas (I was measuring my free time in hours at this point), and decided to just wrap up what I had completed and submit it as-is. I actually got the idea for the "red + green = gold" ending as I was lying in bed on the eve of the last day; I'm honestly surprised (and a little bit proud of myself) that I was able to complete it, especially considering I got off work about four hours before the deadline. :P

Moral of the story: real life kinda sucks sometimes.
Pages: « 1 2 3 »
BMF54123's Profile - Posts by BMF54123