MiSTer-devel / NeoGeo_MiSTer

NeoGeo for MiSTer
GNU General Public License v2.0
145 stars 76 forks source link

32MB VROM doesn't work #128

Closed matt456 closed 3 years ago

matt456 commented 3 years ago

YM2610 32MB bank test doesn't play the 2nd BANK correctly like on real hardware:

Details and original ROM available here YM2610 NoPCM 32MB from Original discussion

Attached is a Mister compatible romset ngym2610.zip

matt456 commented 3 years ago

Sorry, I should have been clearer it is not the romset that is 32MB but the VROM itself that is 32MB within the romset.

The YM2610 has an addressable range allowing VROM to be larger than 16MB, more recent indie/homebrew games are able to take advantage of the larger size.

This test romset executes perfectly on real hardware.

On Thu, 6 May 2021 at 12:41, Alexey Melnikov @.***> wrote:

there are many NeoGeo 32MB games - they work. So it's just ROM not correctly combined

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/MiSTer-devel/NeoGeo_MiSTer/issues/128#issuecomment-833456294, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAM562IEBR42GCCZ5A4TNTTTMJ57FANCNFSM44GVUP4A .

jotego commented 3 years ago

If my notes are correct, the YM2610 had a 24-bit bus for the ADPCM B channel. The chip itself had 12 pins on which the address was outputted in two steps, requiring an external latch. That's only 16MB. Maybe there was a latch external to the YM2610 used to select different ROM banks. I made the YM2610 work on the JT12 module 2 years ago, so my memory is a bit blurry.

jotego commented 3 years ago

Sorry, after visiting the URL you referenced I see that they refer to 16MB+16MB, A channels plus B channel. That should work in JT10 (YM2610 flavor of JT12) ok. There could be a system level limitation in the core.

sorgelig commented 3 years ago

Real hardware has 2 parts: console and cart. Core has to emulate not only console but cart internals as well. If i understood right, there are no games using this config, so it's one and only cart has such hardware, and this is not a game. So it's just this exact cart config is not emulated by core. On real HW you can plug cart which may include a lot of additional HW and it will work. But it won't work on core for obvious reason.

matt456 commented 3 years ago

Sure, I don't know the internals of your core well enough to know where things divide. I'm just reporting a configuration that is technically valid by the original console in case you had a logical behaviour that needed a slight tweak.

For what it's worth this configuration will feature in the game Xeno Crisis for Neo Geo on AES/MVS and in any future games we develop.

On Fri, 7 May 2021 at 16:15, Alexey Melnikov @.***> wrote:

Real hardware has 2 parts: console and cart. Core has to emulate not only console but cart internals as well. If i understood right, there are no games using this config, so it's one and only cart has such hardware, and this is not a game. So it's just this exact cart config is not emulated by core.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/MiSTer-devel/NeoGeo_MiSTer/issues/128#issuecomment-834506379, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAM562IJCUZC535BHK4ZNKTTMP7YLANCNFSM44GVUP4A .

jotego commented 3 years ago

Does this cartridge use additional hardware to pull this trick? As Sorgelig says, cartridges can include additional devices (pretty much anything). Do you know, Matt, if something like that could be happening?

matt456 commented 3 years ago

Hi Jose, there are no extra tricks on the PCB to achieve it. If you set it up as 16MB A + 16MB B, this is possible with standard HW.

FYI - I'm one of the main developers who created Xeno Crisis.

On Sat, 8 May 2021 at 08:46, Jose Tejada @.***> wrote:

Does this cartridge use additional hardware to pull this trick? As Sorgelig says, cartridges can include additional devices (pretty much anything). Do you know, Matt, if something like that could be happening?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/MiSTer-devel/NeoGeo_MiSTer/issues/128#issuecomment-835182147, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAM562K4JDDXWIF7EKE6WKLTMTT5BANCNFSM44GVUP4A .

sorgelig commented 3 years ago

Core actually supports 16MB A + 16MB B when ROM has no pcm flag set. I need to remember right rom file set for such config. probably it must be vroma0 16MB and vromb0 16MB

matt456 commented 3 years ago

Great, thank you Alexey I'll have a try with that, thank you!

On Sat, 8 May 2021 at 17:09, Alexey Melnikov @.***> wrote:

Core actually supports 16MB A + 16MB B when ROM has no pcm flag set. I need to remember right rom file set for such config. probably it must be vroma0 16MB and vromb0 16MB

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/MiSTer-devel/NeoGeo_MiSTer/issues/128#issuecomment-835414941, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAM562MZZXE5BRTKLNLDRK3TMVO3JANCNFSM44GVUP4A .

sorgelig commented 3 years ago

here is corrected one (includes correct romset info): ngym2610_ok.zip Just copy it into games/NeoGeo - you will see "NGYM Corrected" name in list.

matt456 commented 3 years ago

Thanks that works a treat and XenoCrisis with the same settings is also working. Appreciate you taking the time to look at this.

Cheers, Matt

On Sat, 8 May 2021 at 17:54, Alexey Melnikov @.***> wrote:

here is corrected one (includes correct romset info): ngym2610_ok.zip https://github.com/MiSTer-devel/NeoGeo_MiSTer/files/6446215/ngym2610_ok.zip Just copy it into games/NeoGeo - you will see "NGYM Corrected" name in list.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/MiSTer-devel/NeoGeo_MiSTer/issues/128#issuecomment-835428077, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAM562NBN5GVXTIAJHET4FLTMVUEZANCNFSM44GVUP4A .

sorgelig commented 3 years ago

good!