logo
 drop

Main

Community

Submissions

Help

78284613 visitors

Author Topic: Insert streamed Playstation music in Mega Man X3 SNES  (Read 3109 times)

Bregalad

  • Hero Member
  • *****
  • Posts: 1646
  • Location: 46.48°N 6.84°E
    • View Profile
Insert streamed Playstation music in Mega Man X3 SNES
« on: March 20, 2012, 05:41:42 pm »
Everything is in the title.

I ask this because I'm considering making a Mega Man X3 hack that would insert Playstation's version streamed music in the SNES ROM. For this I'll need ~18MB of extra space, could probably fit in 16MB (24-bit addressing) if I had to. However the original ROM is only 2MB, and the largest official SNES game is 6MB.

I remember Byuu did some demo with a FMV which was extremely large but worked only in BSNES.
« Last Edit: March 23, 2012, 07:53:26 pm by Bregalad »

rveach

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: By how much are SNES ROMs expandable ?
« Reply #1 on: March 20, 2012, 05:45:49 pm »
Quote
While the SNES can address 128 Mbit,[f] only 117.75 Mbit are actually available for cartridge use. A fairly normal mapping could easily address up to 95 Mbit of ROM data (48 Mbit at FastROM speed) with 8 Mbit of battery-backed RAM.[66] However, most available memory access controllers only support mappings of up to 32 Mbit. The largest games released (Tales of Phantasia and Star Ocean) contain 48 Mbit of ROM data,[80][81] while the smallest games contain only 2 Mbit.

Wikipedia

Also Similar Forum Question

Bregalad

  • Hero Member
  • *****
  • Posts: 1646
  • Location: 46.48°N 6.84°E
    • View Profile
Re: By how much are SNES ROMs expandable ?
« Reply #2 on: March 20, 2012, 06:10:06 pm »
OK so apparently the limit is ~12MB (96 MBits), but since the game itself already needs 2MB (obviously) I'd have to make the music fit in 10MB, technically possible but the quality won't be as high as I'd like it to.

Now will the Cx4 chip enter with conflict with that idea somehow ? Sorry but SNES memory mapping is quite complex and it's been a while since I've studied it^^

Gary_Oak

  • Newbie
  • *
  • Posts: 12
    • View Profile
Re: By how much are SNES ROMs expandable ?
« Reply #3 on: March 20, 2012, 06:40:40 pm »
While I am by no means a programming expert, I would strongly recommend you to seek help in byuu's bsnes forums. There's a lot of talented folk over there that have learned to make the most out of byuu's MSU1, which should allow you to make the most out of streamed music with no limits whatsoever (you can even put the PSX/SAT version movie cutscenes in there with the MSU1 if you wish).

Azkadellia

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 777
  • Location: Georgia (the state, not the Soviet Country).
  • 提交向你的情妇!
    • View Profile
    • Princess Translations
Re: By how much are SNES ROMs expandable ?
« Reply #4 on: March 20, 2012, 06:43:41 pm »
Problem is, he doesn't want to limit the user to bsnes only.
Current Projects:
  • Nurvus: 10%
  • Princess Maker 2 Refine: 45%
  • ScriptTool: 25%
  • EditTool: 90%
I do the Twitter thing now: https://twitter.com/MistressSaeko (expect lots of game streaming announcements)

Nightcrawler

  • Hero Member
  • *****
  • Posts: 5794
    • View Profile
    • Nightcrawler's Translation Corporation
Re: By how much are SNES ROMs expandable ?
« Reply #5 on: March 20, 2012, 07:10:02 pm »
Just for information, the 'regular' limit is going to be 32Mbit with plain vanilla HiROM/LoROM addressing the majority of carts use. To even get the 96Mbit that Star Ocean does, you need to use special mapping (not supported by several emulators) or a special chip that contains memory mapping (also probably unsupported if you do something different than a stock game that uses it).

Since you are already required to use the CX-4, you're limited in emulator support. Right off the bat, unless you use BSNES with it's XML mapping, I don't believe any expansion is going to be supported by any other emulators. Even if you get lucky with some linear expansion that works (I don't know off-hand how MMX3 maps now), I doubt you'd be able to map all available regions for maximum space. The CX4 itself doesn't interfere too much on a technical level. It maps through banks $00-$3f and not too huge of a region at that. The CX4 is just a function cruncher with some registers and little bit of RAM.


What you really want to do is use the MSU-1. It was designed specifically for what you are trying to do. :) It will give you 64GB of space and allow you to stream that audio in all it's glory. That's what byuu used for the FMV demo. It would be limited to only working on BSNES at present. However, it is feasible to work on real hardware and thus could be supported by hardware devices (already one WIP product) and other emulators in the future. The fact that it can run on the hardware gives it enough merit to at least consider.

You're probably going to be limited to BSNES no matter what you do.
TransCorp - Over 15 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Herakles IV SFC/SNES Translations

Bregalad

  • Hero Member
  • *****
  • Posts: 1646
  • Location: 46.48°N 6.84°E
    • View Profile
Re: By how much are SNES ROMs expandable ?
« Reply #6 on: March 21, 2012, 08:08:11 am »
The problem is that I don't know if it's possible to have both the MSU-1 and the Cx4 at the same time. If it is then it'd be a solution.

And I wonder how many emus could handle a 96Mbit/12MB ROM with Cx4... the best way is to give it a try probably.
According to SNES9x, the ROM mapping is LoROM but it says that for all ROMs using special chips (including the Cx4) so I'm not too sure if it's just a default value in the SNES header or what.

Nightcrawler

  • Hero Member
  • *****
  • Posts: 5794
    • View Profile
    • Nightcrawler's Translation Corporation
Re: By how much are SNES ROMs expandable ?
« Reply #7 on: March 21, 2012, 09:21:12 am »
The problem is that I don't know if it's possible to have both the MSU-1 and the Cx4 at the same time. If it is then it'd be a solution.

Yes, it is. There is no conflict that I see. MSU-1 uses only a few addresses not asserted with the cart line and not in conflict with CX-4 A-bus registers.

Quote
And I wonder how many emus could handle a 96Mbit/12MB ROM with Cx4... the best way is to give it a try probably.
According to SNES9x, the ROM mapping is LoROM but it says that for all ROMs using special chips (including the Cx4) so I'm not too sure if it's just a default value in the SNES header or what.

Most likely none aside from BSNES. You'd need the ability to map all unused areas from all banks for maximum space. The closest you'll probably find outside BSNES is 'ExLoROM' support in SNES9x which has a maximum of 64Mbit. Even then, it's doubtful Cx4 support is provided under those mappings (You should confirm though).

It also can be tricky to expand a LoROM games in general to these extents because it may check or use normally mirrored areas, which would no longer be mirrored. It might require code modifications or copying some blocks of ROM to overcome this issue. I'd advise checking the documentation of Lunar Expand. It gives some nice pointers on expanding LoROM games and the issues you may encounter.

In some cases it's also possible to convert to HiROM and then 'ExHiROM' (Also 64Mbit limit) is an option and that is supported in ZSNES and SNES9x.  If I recall, Tales of Phantasia maps 48mbit that way. Feasibility of conversion is determined by the size of the game and how it's doing it's access currently. That could get out of the realm of practicality very quickly though.

Regardless of mapping, you ultimately would to use the following regions for ROM:
C0-FF:0000-FFFF
40-7D:0000-FFFF
00-3F/80-BF:8000-FFFF

In theory, you could also use all available regions that go out on the A-bus regardless of cart assertions, which includes several other small regions (such as the ones MSU1 and CX4 use). I'd imagine there is definitely no support of any kind for that outside of BSNES. It wouldn't net you all that much extra space either and it is very poor on contiguous access (very fragmented), but if you wanted every last byte, it could be done in theory.
TransCorp - Over 15 years of community dedication.
Dual Orb 2, Wozz, Emerald Dragon, Tenshi No Uta, Herakles IV SFC/SNES Translations

Bregalad

  • Hero Member
  • *****
  • Posts: 1646
  • Location: 46.48°N 6.84°E
    • View Profile
Re: Insert streamed Playstation music in Mega Man X3 SNES
« Reply #8 on: March 23, 2012, 07:59:56 pm »
OK so the soundtrack can be shrunk to 10MB and still sound good enough. That would make it work without the need for the MSU-1.
http://dl.dropbox.com/u/23465629/BRRTools/MMX3_10MB_pack.tar

I had to reduce the samplerate to 17.5 kHz for the data to fit in 10MB, cymbals are negatively affected by this change but other than that it's not much of a problem.

Now the next step is to see if emus allow the ROM to expand by this much, and if so, to write a streamer program for the SNES that I can test on my PowerPak independently of MMX3.
Then if I ever get that working, I'd just have to hack this in MMX3 and hurray... good music in the SNES version of the game.

Panzer88

  • Hero Member
  • *****
  • Posts: 4942
  • Location: Salem, Oregon
  • GENO means ♥♪!?
    • View Profile
    • Gangsta City
Re: By how much are SNES ROMs expandable ?
« Reply #9 on: July 15, 2012, 09:54:18 pm »
Problem is, he doesn't want to limit the user to bsnes only.

you don't have to use bsnes, you can also load it on the sd2snes flashcart and play it on a real SNES.
Donate now until 24 April, from the makers of shotwell Geary: a new open-source email client