mamedev / mame

MAME
https://www.mamedev.org/
Other
7.77k stars 1.96k forks source link

Dangerous Curves Taito JC type-C not working #10297

Open BenoitAdam94 opened 1 year ago

BenoitAdam94 commented 1 year ago

Hi There,

I've been trying to run Dangerous Curves from Taito for years now, hoping one day I could play this game.

I don't have much dev skills especially in C and in emulators. I have again tested on the last mame version (0246) and can't run the game.

I have some interrogation thus, first is that other Taito JC games are able to run.

But more than that, I've seen some clear Screenshot of the game on the web that seemed to come from the emulator (and not the arcade machine), and I have never been able to launch the game or to go past the Taito JC self-test

Here we can find the title screen : https://www.system16.com/hardware.php?id=667

dangerouscurves

And on another website we can see a hud :

dangcurv

Considering both Side By Side (another racing game by Taito) runs fine, is there hope on Dangerous Curves ? Taitojc.cpp indicates it may be a bad dumping, But I have at least 2 different files for the main dangcurv.zip

https://github.com/mamedev/mame/blob/master/src/mame/taito/taitojc.cpp

BenoitAdam94 commented 1 year ago

I've try to gather many links about the system and the game here (just doing my part) :

https://www.reddit.com/r/EmuDev/comments/e0g7yu/looking_for_a_challenge_try_making_dangerous/

BenoitAdam94 commented 1 year ago

More infos :

https://unmamed.mameworld.info/non_taito.html

"The Taito JC System driver has evolved enough to were most games we have dumped for the system run. Only Dangerous Curves seems to need the internal ROM of the TMS320C51 DSP to be dumped (or decapped) to function. The other games on the platform don't seem to use the internal functions of the DSP and run reasonably well."

I found additional ressources :

The TMS320C51 datasheet :

https://www.ti.com/lit/ds/sprs030a/sprs030a.pdf

Also, MAME seems to already have some code about the TMS32051 :

https://github.com/mamedev/mame/blob/master/src/devices/cpu/tms32051/tms32051.cpp

More infos :

https://www.reddit.com/r/emulation/comments/83nj5o/dumping_the_internal_roms_of_taito_cchips/

https://caps0ff.blogspot.com/2018/03/taito-c-chip-data-by-lobotomy.html

angelosa commented 1 year ago

https://github.com/mamedev/mame/blob/0f6d486cd329cba43da0f0f06f1bafa64f2e32f6/src/mame/taito/taitojc.cpp#L24

Supposedly Dangerous Curves uses the internal DSP ROM or a signal from outside world. It has nothing to do with C-Chip. The game doesn't boot in bleeding edge because DSP goes to a dead loop, fake resetting the DSP (in debugger: focus 2, wait until the DSP focuses, bp 205b, once it triggers open DSP memory window CTRL+M and edit 205cwith 7f00) will cause the game to show the pics in OP which is not enough for the 3d.