Author
|
Topic: Possible to use MP3s as music in SNES ROMs? (Read 3041 times)
|
Lenophis
Guest
|
|
« Reply #15 on: July 31, 2007, 01:04:45 pm » |
|
Please tell me I'm misunderstanding you and you're not advocating rewriting an entire game from scratch just to add a small feature or two, after I just posted on how absurd an idea that was :/ Well, I was address more of "the sky's the limit" of his initial post: Huh??? Who cares if it doesn't play on the real hardware? Emulators have a million features the actual hardware lacks, so whether it works on an actual SNES or not is a moot point. I specified in my original thread that how big the ROM gets doesn't matter. Even if the sound files would need to be in WAV and therefore the ROM would bloat to 900 megs, it wouldn't bother me at all. It would take me maybe two or three days to get an SNES game hacked and playing MPEGs and streaming audio. Then I'd say I want proof. It would take me maybe two or three years to port an entire game to the PC, and it'd never be even close to identical to the original. Little details like algorithms for battle damage would be different, etc. Expanding a SNES cart beyond it's normal capabilities would require re-wiring the SNES to use 32-bit+ addressing. IIRC, the theoretical max was 8 megs because of the 24-bit, yes? The idea really is a cool one. Ideas are always cool. Realistic ideas are better. Knowing something is even possible is where to start. However, I do agree that we should be very careful not to call it an SNES game. Because it would not be. Yes, anything can be ... fuck, you can hardwire a Core 2 Duo and use it in an SNES game if you want. Or stick an eSATA connector on the top of a cart. But since nobody has it but you, and it was never commercially sold (not to mention officially), it doesn't really matter whether or not a hardware proof of concept exists. Sounds like you're proposing an add-on chip then. Something along the lines of a beefy C4 would be nice to see. After that your next problem is getting every emu developer to even care for it. Good luck with that. We don't want to dillute emulation in the future to accomodate hacks. I agree with this. We probably just see where that line is differently. To me, the instant you go beyond the scope of the original hardware, you're going beyond the scope of the emulator. I might be in the minority on that one though. I would absolutely be using a new file extension for this. I'd probably even make a separate emulator and not call that an SNES emulator anymore. Isn't that what I said? :huh:
|
|
|
|
CaseCrash
Guest
|
|
« Reply #16 on: July 31, 2007, 01:18:07 pm » |
|
First off, it seems most posters missed the first line of the topic starting post: Hello, all. 1st post here, so be gentle. Also, whether or not this concept could be considered 'emulation' is a completely retarded discussion since all he wants to do play the f**king game. It does not matter if it's considered a "real" SNES game after modification, as he said: Who cares if it doesn't play on the real hardware? Let's just agree that it was an SNES game and afterwards would be a game that is almost entirely based on an SNES game and now requires a modifed version of an SNES emulator. I'm not trying to flame-bait or troll or anything, I just think the discussion should focus more on what he wants done, not whether you think that it's "real" emulation and therefore worthwhile. Peace.
|
|
|
|
byuu
Guest
|
|
« Reply #17 on: July 31, 2007, 01:26:16 pm » |
|
Then I'd say I want proof. http://forums.xbox-scene.com/index.php?showtopic=548967Those are codes for Zsnexbox to add rumble pad support to many SNES games. They all take about as long as a cheat search to make. If you want me to make an audio example myself ... no. I'm not interested in doing that at this time, sorry. Expanding a SNES cart beyond it's normal capabilities would require re-wiring the SNES to use 32-bit+ addressing. IIRC, the theoretical max was 8 megs because of the 24-bit, yes? You would use a memory address decoder, similar to Star Ocean. You write to a special register that the cart can see on the bus (similar to add-on chips in a way) to page out 1-4MB chunks, and connect that to as large a ROM as you can imagine. Just like those 200-in-1 NES games with the NES' 16-bit (64kb) address bus do. Rewiring an address bus to 32-bit addressing, howver, actually would be completely impossible. Ideas are always cool. Realistic ideas are better. Knowing something is even possible is where to start. All three of your above comments seem to be implying that I don't know what I'm talking about. I don't want to come off as an egotistical jerk, but please trust me that I've been doing this stuff for a long time, and I've thought these things through. What I've said is completely possible. All of it. I have both the emulation and ROM hacking experience necessary here for credibility.
|
|
|
|
Lenophis
Guest
|
|
« Reply #18 on: July 31, 2007, 01:54:13 pm » |
|
I'm not trying to flame-bait or troll or anything, I just think the discussion should focus more on what he wants done, not whether you think that it's "real" emulation and therefore worthwhile. Ok then, just for the sake of argument let's say that there is such a game. You wouldn't be able to use the SPC700 with this, as it only has 65K of memory, and I believe the best it could do was "near CD-quality for 10 minutes." I'm not exactly sure on the numbers, but a game with the extra data (something like this) would need a new sound processor or something else to output (such as an add-on chip). My question is, how would you process CD-quality (or *gulp* higher than CD-quality) with an add-on chip like the thread creator is suggesting? Then I'd say I want proof. http://forums.xbox-scene.com/index.php?showtopic=548967Those are codes for Zsnexbox to add rumble pad support to many SNES games. They all take about as long as a cheat search to make. If you want me to make an audio example myself ... no. I'm not interested in doing that at this time, sorry. Rumblepad != MP3. Now I'm sure there will be some that say "that's the same concept." Tell me, is a hardware register (two of them if you want varying rumble) really the same as data in a rom? You would use a memory address decoder, similar to Star Ocean. You write to a special register that the cart can see on the bus (similar to add-on chips in a way) to page out 1-4MB chunks, and connect that to as large a ROM as you can imagine. Just like those 200-in-1 NES games with the NES' 16-bit (64kb) address bus do. Interesting. How many SNES roms actually use this? And how does that work with Hi/Lo switching as it needs to? All three of your above comments seem to be implying that I don't know what I'm talking about. No, I know that you know. This comment was mis-directed. My apologies. What I've said is completely possible. A lot of times I hear about "oh, this would be cool!" and "oh man that would be awesome!" and etc etc etc. Most of the time they come from the newbies that (realistically) don't know what would be involved in doing something like that. And in all fairness, how could they know? That's why they are asking.
|
|
|
|
Strat
Guest
|
|
« Reply #19 on: July 31, 2007, 02:06:18 pm » |
|
First off, it seems most posters missed the first line of the topic starting post: Hello, all. 1st post here, so be gentle. Also, whether or not this concept could be considered 'emulation' is a completely retarded discussion since all he wants to do play the f**king game. It does not matter if it's considered a "real" SNES game after modification, as he said: Who cares if it doesn't play on the real hardware? Let's just agree that it was an SNES game and afterwards would be a game that is almost entirely based on an SNES game and now requires a modifed version of an SNES emulator. I'm not trying to flame-bait or troll or anything, I just think the discussion should focus more on what he wants done, not whether you think that it's "real" emulation and therefore worthwhile. Peace. THANK YOU!!!!!!!!! :thumbsup: :crazy: :woot!: It's like asking a simple question like "How are you?" and instead of getting a "Good" or "Not bad, you?" you get a whole discussion hovering around existantial debates. LOL! Lenophis, I understand your point entirely. Don't get me wrong. But in all honesty, I couldn't care less about that viewpoint, because it's not what my question was pertaining to. I was merely asking if it was possible. No, I don't even *own* a SNES, nor would I ever care to make the visuals even worse by playing those games on a system pumping its signal to my TV. Whether this fits your definition of emulation is important merely to others, but not I. You're welcome to start a "What *is* emulation?" thread and I'm sure you'll be able to debate your points with a very interested crowd reading & participating, but that's not what this discussion is about. I don't care one bit if a mapper has to be created, an emulation plug-in, if it goes through WinAmp to get it done, if it'll run on an actual SNES console, requires voodoo magic, animal sacrifices, selling my soul for a doughnut, or wearing a gay pride t-shirt. The ONLY thing I care to know is if it's possible. Now I know that it is ; just that it would require a lot of work. Sorry if that seems a bit rough, but I don't exactly know how to get it through to you that all of the comments you made so far are so entirely irrelevant to me that you're wasting your time writing & debating. This statement shows you are misunderstanding my original question : "My question is, how would you process CD-quality (or *gulp* higher than CD-quality) with an add-on chip like the thread creator is suggesting?" No hardware is being discussed, here. Software exclusively. I'd be running this on my PC and frankly, what I want is beyond the capabilities of the SNES. I repeat ; I solely care about running ZSNES on my PC, playing my favorite RPGs with real-time orchestrated music. If you don't grasp my question now, then all hope is lost. LOL! byuu, too bad you don't feel like giving it a try. I'm sure I'm not the sole one who'd go gaga for this concept. I even have the server space & bandwith to host the final product. :S
|
|
|
|
creaothceann
Guest
|
|
« Reply #20 on: July 31, 2007, 02:12:28 pm » |
|
Ok then, just for the sake of argument let's say that there is such a game. You wouldn't be able to use the SPC700 with this, as it only has 64K of memory, and I believe the best it could do was "near CD-quality for 10 minutes." I'm not exactly sure on the numbers, but a game with the extra data (something like this) would need a new sound processor or something else to output (such as an add-on chip).
My question is, how would you process CD-quality (or *gulp* higher than CD-quality) with an add-on chip like the thread creator is suggesting?
The data can be streamed from cartridge: that's where the "10 minutes" come from. Since larger carts are possible via the bankswitching method byuu explained, more data can be streamed. (It'd be 32000 Hz of course.) </offtopic>
|
|
|
|
Nightcrawler
Guest
|
|
« Reply #21 on: July 31, 2007, 02:29:17 pm » |
|
This topic makes me gag. Here, let's sum it up.
1. You cannot play an MP3 on the SNES in any way. The SNES audio hardware can only stream BRR encoded 32Khz data. 2. Even IF the data was converted, there is not enough addressable ROM space for a fully streaming soundtrack. 3. Modifying an emulator with hooks for Game X to load external mp3s is possible and fairly easily done with knowledge about the game in question and some programming ability. It could all be done on the emulator side. No ROMhacking involved other than figuring out what the emulator should trigger the mp3 files on. 4. A second option is adding a new addressing scheme to the emulator, make a huge ROM, and stream the whole thing, but that would require massive rewrites of the ROM code.
So, there you have it. Not possible on the SNES. Possible via modified emulator Yes, How do you do it?
Well, byuu already explained one approach which includes a small bit of ROM hacking for the ROM to access a special virtual register to signal the emulator of what mp3 track to play and when to start. The other is to hard code the emulator to monitor the SPC code and trigger the mp3 file based on the game's existing music loading code when it sees a certain song being loaded.
What more is there to discuss?
|
|
|
|
Disch
Guest
|
|
« Reply #22 on: July 31, 2007, 03:01:46 pm » |
|
This idea is nothing new. I hear it from someone new at least once every 3 months (though the people I hear it from usually want to do things to NES games rather than SNES). Replacing in-game music with external mp3/ogg/whatever files was one of the ideas. Another idea was to replace in game graphics with external pngs. It all flows in the same vein.
Personally, I have been longstanding opposed to these ideas. I can't explain it... it just seems like a bastardization of emulation to me. Making/hacking an emu to deliberately act in a way contradictory to the system it's emulating is like the complete opposite of what emulation is to me. The ideal goal is to have an emu that mimics the system down to the smallest detail.
Throwing in goodies to spice up the output of the emulation is one thing (graphics filters, fastforward, savestates etc), but those merely enhance the experience without altering the product. Even with savestates, movies, rewind, fastforward, and a million graphics filters, it's still [theoretically] possible for an emu to be dead on accurate.
One thing I've noticed with this idea is it tends to come from people who have come to ROM hacking from somewhere else semi-related, like PC game modding. The kind of person that enjoys the game part of emulation, not necessarily the emulation part of emulation. That is -- they couldn't care less whether or not an emulator is accurate, as long as it plays their favorite game. So ideas like this one seem like a "no shit" idea and they wonder why nobody has really done it yet.
But I feel that gaming and emulation are fundamentally different. One of the major appeal to emulation is its retro feel. Why do people still emulate megaman 1-3 even after Wily Wars is out? Why do people emulate Final Fantasy 4 for SNES when there have been numerous remakes for "prettier" systems? There's something to be said for the old media. That's the charm that emulation has that PC gaming simply does not.
So while I can certainly see why some people might want these ideas to be put into motion... I still feel it'd be greatly detrimental. Personally... I'll mourn the day when something like this actually happens. Emulation will never be the same afterwards -- it will have lost a great deal of its charm.
|
|
|
|
Nightcrawler
Guest
|
|
« Reply #23 on: July 31, 2007, 03:08:24 pm » |
|
*clap-clap smiley that someone should make because it doesn't exist* Agreed. I feel the same. That was beautiful and poetic. If I were gay, I'd you, but I'm not, so you'll only get a :beer:. I'm a sucker for all the rhetorical questions. They must be a part of any great speech. it's hard to put into words why these ideas are often opposed. :crazy:
|
|
|
|
byuu
Guest
|
|
« Reply #24 on: July 31, 2007, 03:19:13 pm » |
|
This post is all theoretical. Strat isn't interested, so please don't read this post, Strat For Lenophis and Nightcrawler, there actually is a hardware way to stream CD quality audio (either uncompressed or in MP3 format). The BS-X uses it to stream audio data from the satellite attachment -- this is why the BS Zelda 3 game has no audio -- they were streaming orchestral tracks along with live commentary as gamers played (although that's most likely from the expansion port on the bottom and not from the cart, the cart has the same pins, and even if it didn't, you could design a passthru from the expansion to the cart anyway if necessary), and there's also a CD player attachment for the SNES that is Japan exclusive. It was for use in one or two obscure games. Info on it is psychotically difficult to come across, though. But I've seen pictures before. Just like the Famicom (but not the NES), the SNES has two cart pins for stereo output. Those pins are unused on every normal SNES cart ever released, but they are mixed with the S-DSP to make the final output. The NES did take advantage of these pins. Remember the VRC6,7 and games like Moero Pro Whatever-The-Fuck Baseball? They used them to output sound the NES was incapable of making on its' own. The SNES would be just as easy. You'd just need a chip with a 32khz crystal, maybe a decoder, ROM for the data, and a bus monitor so you can signal the thing to start streaming tracks (yeah, that easy! </sarcasm>). It would require a special chip that doesn't exist, yes, but it's entirely possible to design the hardware to do it. So at best, you could output lossless 16-bit stereo 32khz audio from an SNES, and you could stream something like 240x160x256 colors@30hz video [dither that to RGB332 ... it really doesn't look half bad, especially not for animated movies]. Rumble might be possible, you'd have to take advantage of the serial interface trick to send the controller the data (blargg designed a serial interface to his PC for console output), but I believe it could be done. It's probably the easiest of all. Point here being, you're both quick to say things are impossible, because you perceive them to be. But you haven't really looked into the technical details to definitively say that it is. One thing I've noticed with this idea is it tends to come from people who have come to ROM hacking from somewhere else semi-related, like PC game modding. The kind of person that enjoys the game part of emulation, not necessarily the emulation part of emulation. That is -- they couldn't care less whether or not an emulator is accurate, as long as it plays their favorite game. ... and would you say that about me, too? While I can't eat my cake and have it too, I can have my cake and eat it too. The two concepts cannot be merged, but they can be split along two separate paths. If I ever decide to do this, I won't be exposing the new registers and tricks to pure SNES emulation. It would require a special new ROM header / format to even enable it so as not to pollute SNES hardware / ROMs / emulators, and even then I'd probably make it an entirely separate program. I understand and respect your viewpoint. But your viewpoint is not the only one. The classics will still be there. The dead-on accurate emulators will still be there and won't recognize these flashy, gimmicky improvement hacks. It'll just be one more option for people if they want it. Why does it matter so much to you what other people do with their time?
|
|
|
|
Nightcrawler
Guest
|
|
« Reply #25 on: July 31, 2007, 03:30:32 pm » |
|
Point here being, you're both quick to say things are impossible, because you perceive them to be. But you haven't really looked into the technical details to definitively say that it is.
Mr. byuu, while very informative, I think an add on contraption with advanced hardware to generate the streaming music is a bit outside the scope of this discussion. It doesn't use any part of the SNES hardware but a set of stereo pins. It's barely different from not even using the SNES sound hardware at all and simply outputting sound from an external device direct. For all practical purposes it is impossible. This really seems like we're nitpicking here. Does it matter? The facts are laid out. We've established how it can be accomplished despite being quite outlandish.
|
|
|
|
byuu
Guest
|
|
« Reply #26 on: July 31, 2007, 03:50:38 pm » |
|
And yet: Akumajou Densetsu, Madara, Esper Dream II, Nigel Mansell's World Challenge, Lagrange Point, the BS-X and the CD playback SNES game all had no problems using these pins for this purpose.
I didn't think it was offtopic too much. He wanted to know if it was possible in emulation. It was. Then you said it wasn't possible on hardware ("So, there you have it. Not possible on the SNES"). I was just correcting you. Agreed that it's completely irrelevent. Even if someone designed such an elaborate cart now, it wouldn't matter. The SNES is long dead, and no such device would ever be official anyway. So there's no sense emulating such a device, other than for fun. And I don't see why everyone's so upset at the idea of doing this purely for fun ... other than because they don't personally like the idea.
So, the original poster's question has been answered now. You can lock the topic if you want, or we can sidetrack things and discuss the ethics of emulator enhancements. Either way.
For what it's worth, one of the reasons I haven't added this kind of thing to my emulator yet is because I respect the opinions of you, Disch, and a few others who have voiced negative concerns about this idea (another reason being lack of time). I'm not saying I won't try this out one day, so please don't hold me to that. But I would like to see eye to eye with my respected peers before going ahead with this.
|
|
« Last Edit: July 31, 2007, 03:58:32 pm by byuu »
|
|
|
|
StarBeamAlpha
Guest
|
|
« Reply #27 on: July 31, 2007, 03:58:28 pm » |
|
|
|
|
|
Disch
Guest
|
|
« Reply #28 on: July 31, 2007, 04:14:03 pm » |
|
... and would you say that about me, too? I didn't intend to speak in absolutes. No, I would not classify you that way... but then again, you weren't the one that brought up the idea. The two concepts cannot be merged, but they can be split along two separate paths. If I ever decide to do this, I won't be exposing the new registers and tricks to pure SNES emulation. It would require a special new ROM header / format to even enable it so as not to pollute SNES hardware / ROMs / emulators, and even then I'd probably make it an entirely separate program. I actually thought this was a sensible approach when you brought up the seperate file format before. I still can't say I'd approve, but if it were going to be done, I'd prefer it be done in a manner such as this -- clearly distinguishing itself from traditional emulation. Try to keep the number of blurred lines to a minimum. Why does it matter so much to you what other people do with their time? I couldn't help but find this question a little strange -- considering your stance on forking different versions of emulators. You don't want some yokel creating a seperate build of bsnes to add specific features... but you have no problem with him creating a seperate ROM format to add specific features? also: Nigel Mansell's World Challenge NSF is mislabelled -- that game doesn't use any external sound ;P
|
|
|
|
Strat
Guest
|
|
« Reply #29 on: July 31, 2007, 04:28:38 pm » |
|
One thing I've noticed with this idea is it tends to come from people who have come to ROM hacking from somewhere else semi-related, like PC game modding. The kind of person that enjoys the game part of emulation, not necessarily the emulation part of emulation. That is -- they couldn't care less whether or not an emulator is accurate, as long as it plays their favorite game. Oh no!!!! Call the cops! I actually care about how fun a game is versus if a shade of the *actual* color palette is a shade darker or brighter than what it's supposed to be? OH NO! How stupid of me! Forgive the sarcasm, but honestly guys... you're all forgetting that these are GAMES! Games are there to be enjoyed. If you dream of mathematical algorithms and different hacks that can be done on a game, all the more power to you. But seriously, that is what gets *you* excited and that's what bores me to tears. I don't care whatsoever about 8x8 fonts, mappers, or whatever other terminology you throw in here. Does the game work well? Is it fun? Does it look and sound great? Then, I'm happy. To be blunt, I won't be weeping silently to myself in a corner because *GASP!* somebody's more interested in playing the damn thing than deconstructing it. :laugh: I mean, come on. It's as "out there" a philosophy as saying "You shouldn't just *live* in a house. You should know how one's built." Same with a car, or a refridgerator. The list would never end. There's no way that you know everything about everything you use and I'm positive that you really enjoy using certain things and don't care to know the guts and the hows and the whys of these things. So why this comment and why does it seem to bother you so much? Seriously, that is about one of the weirdest things I've ever read. One of the major appeal to emulation is its retro feel. Wrong! It's one of the major appeals for YOU! There's a fundamental difference here that you seem to either neglect or ignore and that's the reason why you don't or won't understand my point of view. You mentioned the MegaMan series. Why do I prefer running it on an emulator rather than buy the collection on GameCube? Because it's free and because the buttons to jump and shoot are reversed on the GC version and I can't play it that way. Ever since I can remember, jump was to the right and shooting on the left. On the GC, they reversed the order. You mentioned FF4. Why do I refuse to play it on the PSX? Because of the useless FMVs and the loading times which I find inexcusable considering the size of the game and the system it's running on. Why do people love the Beatles? Some liked John, others Paul, some others George, and of course Ringo. Some enjoyed their early pop stuff, others like me their psychadelic period and others will tell you they prefer the late period right before they broke up when their songs had lavish arrangements. They played everything ; rock, country, pop, even stuff that was considered heavy metal at the time. They had some classically-influenced pieces as well. I could go on & on. The point I'm trying to get across to you is... who cares? Who gives a rat's behind? If you liked the pop stuff, I wouldn't be raining on your parade and saying stuff like "Ugh! Why do these people like that stuff instead of liking it for the reasons *I* like it?" This is exactly how you're behaving and though I don't know you, to be blunt, that seems to show a bit of arrogance on your part. Your reasons for liking something aren't superior in any way to mine. It's an opinion. They're tastes. There is no right or wrong. So while I can certainly see why some people might want these ideas to be put into motion... I still feel it'd be greatly detrimental. Personally... I'll mourn the day when something like this actually happens. Emulation will never be the same afterwards -- it will have lost a great deal of its charm.
Ugh. Come on, man... There's room for both and no, it wouldn't be detrimental. By your logic, you should be saddened by the fact that translation hacks even exist, since they're not 100% accurate ROMs, anymore. *sigh* Perfect emulation of NES and SNES titles has existed for a very long time. Perfect emulation of other systems still has a long way to go. Those will be the challenges. Adding bells & whistles, filters for graphics and yes, changing the soundtrack of a game with the orchestrated versions won't change a thing. If you go on ROM websites, there are many many version of the same game. There are different translations of the same game, different hacks of the same game, etc. Just check out the Final Fantasy and Super Mario sections if you don't believe me. Having a new & improved version of a game (like Final Fantasy ++) doesn't mean the original is automatically ignored, deleted, or despised. There's room for people who want the same game with updated graphics and those like you who cannot breathe properly unless it's 100% accurate. Don't know why you feel it has to be one or the other. This post quotes you, Disch. However, it's not directed solely at you, but rather at everybody who has this "all or nothing" or the "there's something wrong with that crowd" attitude I personally thought your post exhibited. Again, I don't know you, but that's how it came across.
|
|
|
|
|