Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Neo Geo CD (Feature Request) #13

Open
BrianHoldsworth opened this issue Jun 18, 2023 · 1 comment
Open

Neo Geo CD (Feature Request) #13

BrianHoldsworth opened this issue Jun 18, 2023 · 1 comment

Comments

@BrianHoldsworth
Copy link

Might it be possible and worthwhile to support Neo Geo CD games? The benefit I see is that they should all be able to run with minimal PSRAM, since the console itself fit the code & assets into <8MiB. So, perhaps all released CD games could then be playable with the EC-32MB.

@Wuerfel21
Copy link
Contributor

Wuerfel21 commented Jun 18, 2023

Possible? definite maybe. Emulating RAM (as opposed to ROM) using external PSRAM is slightly hard. Some of this was already discussed in the context of Amiga emulation in the forum.

  • Cache invalidation: The emulator performs read-ahead of instruction data, so self-modifying code (where the modified code is already fetched) will go awry without checks that invalidate or update this cache. Though I would assume NGCD games don't really do this on account of being ported from their cartridge versions.
  • PSRAM RMW overhead: The 16 bit PSRAM setup on the Edge can only natively access aligned 32 bit chunks. When reading, unnecessary data can be ignored, but when writing, an RMW sequence needs to be performed (possibly 4 ops total when writing an unaligned long on a row boundary. And that case always needs to be checked for.)
  • NeoYume takes significant advantage of the character ROMs being invisible to the 68000 by re-arranging the tile data into a convenient chunky format at load time. I think there's some restriction as to when the NGCD can load tile data (and I assume most games just use the BIOS call to do it) but idk.

IIRC when I lasted looked into it the documentation wrt the disc drive controller interface was lacking, too.

Also, there would need to be a free cog to handle the SD card streaming, which there isn't.

Worthwhile? These are the NGCD games where the cartridge version is larger than 32 MB:

  • Fatal Fury 3
  • KoF 95/96/97/98/99
  • The Last Blade 1/2
  • Metal Slug 2
  • Ninja Master's
  • Pulstar
  • Ragnagard
  • Real Bout Fatal Fury 1/Special/2
  • Samurai Shodown 3/4
  • World Heroes Perfect

There's some good ones in there ig.

There's also a handful of exclusives:

  • ADK World
  • Crossed Swords 2 (Cartridge hack version exists)
  • Samurai Shodown RPG
  • Zintrick

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants