MiSTer-devel / S32X_MiSTer

Sega 32X implementation for MiSTer
57 stars 18 forks source link

MD+ support for 32X games #11

Open viciious opened 2 years ago

viciious commented 2 years ago

I know this is way too early in the project's life to issue requests such as this one, but maybe it would be possible to add MD+ support to the core, given that the addition of Sega CD is highly unlikely? That would enable 32X games to feature CD audio playback without having to rely on Sega CD Mode 1.

thehughhefner commented 2 years ago

There aren't any MD+ patches for 32x games so I don't think it is relevant for the 32x core. This is an enhance request that should be asked in the genesis repo

viciious commented 2 years ago

The upcoming version of Doom 32X Resurrection will feature MD+ support.

I wasn't sure which repository this repository this request was supposed to be asked. For all I know, TerraOnion devs had to make some special amendments in MegaSD firmware in order to get MD+ to work with the 32X, so I figured it was worth asking here as well.

thehughhefner commented 2 years ago

You posted the comment into the wrong issue ticket. :D

viciious commented 2 years ago

Oh well, I googled for MD+ support on the Genesis core for MiSTer prior to opening this issue, and was fooled into believing that it had one, but apparently people often confuse MSU-MD with MD+, and only the former is supported.

Kitrinx commented 2 years ago

this isn't going to happen any time soon I think, you'd have to merge the sega cd and 32x cores and I think that may never happen due to size.

sorgelig commented 2 years ago

MD+ is a basically Mega CD core. There is not enough resources to merge 32X and Mega CD.

viciious commented 2 years ago

MD+ is a basically Mega CD core. There is not enough resources to merge 32X and Mega CD.

Not quite exactly. MD+ is just the CD audio portion of Mega CD. Meaning no 68000, ASIC or word RAM, that would eat away the precious FPGA resources, would be needed.

sorgelig commented 2 years ago

i can evaluate the possibility. I need some 32X patch for MD+

viciious commented 2 years ago

i can evaluate the possibility. I need some 32X patch for MD+

Thanks!

Doom 32X Resurrection (comes with MD+ support): https://www.romhacking.net/hacks/6269/

Implementation example from D32XR, which uses the newly introduced command 0x2700 for obtaining the number of CDA tracks: https://github.com/viciious/d32xr/blob/master/src-md/megasd.c

Mortal Kombat II 32X+ patch: https://www.zeldix.net/t2305-mortal-kombat-ii-md-32x-msu-md

MegaSD dev manual: https://downloads.terraonion.com/public/MegaSD_DEV_Manual.pdf

sorgelig commented 2 years ago

MegaSD is NOT supported in MegaCD. It has special HW not found in original Mega CD. I can talk only about MD+ library from krikkz which requires only CD HW and nothing else.

Kitrinx commented 2 years ago

I think there's some terminology confusion. MSU-MD is the mega cd compatible version supported by everdrives, and that's what mister has support for. MD+ will probably never be supported as it's just some proprietary stuff for one flash cart. You should encourage the developers of that game hack to use MSU-MD instead as it's a much better standard.

viciious commented 2 years ago

I think there's some terminology confusion. MSU-MD is the mega cd compatible version supported by everdrives, and that's what mister has support for. MD+ will probably never be supported as it's just some proprietary stuff for one flash cart. You should encourage the developers of that game hack to use MSU-MD instead as it's a much better standard.

I'm aware of the dichotomy between MSU-MD and MD+ and I'd argue that while MD+ is indeed proprietary, on the upside it doesn't require a fullblown SegaCD attachment to work. We're pretty much in the same situation with the 32X core for MiSTer right now: we can't have the MegaCD core integrated due to space constraints and we can't have CD audio playback due to MD+ being a non-standard implementation.

As an alternative solution, would a limited support for SegaCD Mode 1 support be feasible instead? It's basically what MSU-MD uses to provide CDA support. No ASIC or word RAM functionality, no nothing. Granted, it does require the sub 68000 CPU.

sorgelig commented 2 years ago

Yeah, it was my misunderstanding.. I always confuse between MD+ and MSU-MD. MSU-MD by krikkz uses only standard Sega hardware, and that's what i was talking about. There almost no BRAM left in 32x core, so if required CD parts don't need additional RAM then PROBABLY it's possible. But with additional 68000 CPU it should need some RAM which is bad..