MiSTer-devel / TurboGrafx16_MiSTer

TurboGrafx-16 CD / PC Engine CD for MiSTer
94 stars 57 forks source link

Dauntaun Nekketsu Monogatari [NXCD3019] not loading with SYSCARD v3.01 (U) #101

Closed tlaloc-q closed 4 years ago

tlaloc-q commented 4 years ago

Downtown Nekketsu Monogatari [NXCD3019] is not loading and shows what appears to be a SUPER CD-ROM2 'warning' screen, no matter whether I try SYSCARD v3.01 (U)/'cd_bios.rom' with Arcade Card mode ON or OFF.

Downtown Nekketsu Monogatari was also known as River City Ransom (SCD).

sorgelig commented 4 years ago

Most japanese games require japanese bios. It's not a bug.

tlaloc-q commented 4 years ago

Funny, it worked on Magic Engine with the US Bios and to let you know, on real hardware there was never any real regional copy protection for these PC-Engine CD games, so having something like a Turbo Duo would allow you to play most every japanese game I threw at it. Without being able to verify this on actual hardware, I must admit that I found that it worked after placing SYSCARD3.0(J) in there as cd_bios.rom, but it is unusual that an emulator like Magic Engine would allow me to play Downtown Nekketsu Monogatari with a US bios yet MiSTer's TGFX16 core wouldn't.

sorgelig commented 4 years ago

MiSTer is not emulator. Also MiSTer doesn't mimic any emulator and doesn't use tricks to bypass BIOS version check.

tlaloc-q commented 4 years ago

I'm trying to help, as I know that this MiSTer is NOT an emulator in that it's goal is cycle accuracy and faithful replication of original hardware. I feel strongly that in this instance you may be mistaken in your presumption that a majority of japanese games required a japanese bios. I used to own a US bios equipped non-modded Turbo Duo and have NEVER run into a single japanese game I could not play with my v3.01 US BIOS. If the aim is faithful replication of original hardware and accuracy, then I'm simply trying to help in that endeavor. Thank you for your time.

dshadoff commented 4 years ago

I have tested and found different behavior on hardware compared to MiSTer. This is likely to also likely to be reported on other games which work fine on US hardware with US BIOS. Note: There are only a couple of games which won't run on a US machine; A.III is one of them

The reason why Downtown Nekketsu is failing seems to be because the memory is mapped via hardware in the region of $18Cx:

Registers $18C0..$18C3 are for the internal SCD memory built into the Duo & SuperCDROM2 hardware.

Registers $18C5..$18C7 are for the external SCD memory built into the Japanese and US Super System Cards.

The hardware in the US Super System Card is identical to the hardware in the Japanese Super System Card, and so reading any ports on the card will give reversed bits because of the swapping of the data lines on the US cartridge port.

That's why the Turbografx Super System Card checks $18C5/$18C6 for $55 & $AA, instead of Japanese Super System Card checking for $AA & $55.

It also explains what ex_memopen is returning in the X register, and why it sets bit 7 of X if it detects internal memory.

The value in bits 0..6 of X is the amount of SCD memory in 64Kbyte increments.

Bit 7 is used to differentiate whether a Duo/SuperCDROM2 has found SCD memory in a cartridge (from $18C5..$18C7) or in internal memory (from $18C1..$18C3), so that it doesn't unlock the internal memory if it is using external memory instead.

Left-Empty commented 4 years ago

Throwing in there (although you are probably aware), that somebody reported a similar issue with Star Parodier on the forums

sorgelig commented 4 years ago

i don't know about v3.01 (it seems some hacked version), but with original USA 3.0 BIOS i have the same warning screen in Mednafen.

sorgelig commented 4 years ago

Ok, it seems fixed. New release will require correct not pre-swapped US BIOS.

bootsector commented 4 years ago

Any real benefits on using USA 3.01 bios instead of the recommended one?

sorgelig commented 4 years ago

i don't know any

dshadoff commented 4 years ago

"3.01" BIOS was a fix to prevent bus conflicts between TurboEverdrive and TurboDuo occupying the same address range with memory on both. It should NOT be used on MiSTer.

bootsector commented 4 years ago

Thanks for answering, guys! I will make sure to keep away from that one!

Left-Empty commented 4 years ago

Damn, that's a really stupid naming they chose. Most users are gonna rush for the higher version as default.

For my own education, if I understood correctly: the fix is simply to run the US 3.0 system card?

sorgelig commented 4 years ago

actually hacked BIOS with autostart is the best for MiSTer. Basically you don't need startup screen for MiSTer. MiSTer has format Backup RAM option in OSD. Thus you don't have to care the language of BIOS.

sorgelig commented 4 years ago

fixed in today's release