Project

General

Profile

Actions

Emulator Issues #12943

closed

Datel titles require DSP LLE to boot

Added by pokechu22 over 2 years ago. Updated over 2 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-16722

Description

Game Name?

Action Replay, MaxPlay, Advance Game Port, Max Drive, and Max Drive Pro

Game ID?

GNHE5d, DTLX01

What's the problem? Describe what went wrong.

Attempting to start Datel titles with DSP HLE results in a hang.

What steps will reproduce the problem?

Disable "skip main menu" (#8223) and then attempt to load one of those Datel titles while using DSP HLE.

Is the issue present in the latest development version?

Yes, 5.0-16526.

Is the issue present in the latest stable version?

Not tested, but yes according to the wiki.

What are your PC specifications?

  • CPU: Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz, 2592 Mhz, 6 Core(s), 12 Logical Processor(s)
  • GPU: NVIDIA GeForce GTX 1650 Ti
  • OS: Windows 10 Home 10.0.19044.1706

Is there anything else that can help developers narrow down the issue?

The hang happens in Datel's version of __OSInitAudioSystem (libogc's __dsp_bootstrap). That function resets the DSP and magically causes some initialization code to run (that reads all of IROM and COEF and zero-initializes DRAM, and then sends back the mail 0x00543448). We're not properly detecting Datel's version of the function. I decompiled both functions and it seems like Datel's version has a typo; instead of clearing DSPCR_INIT (aka DSPCR_DSPRESET, with a value of 0x800) they clear DSPCR_DSPINT (with a value of 0x80), and thus the initialization code never runs and never sends back the mail, so Datel's code hangs forever. Their initialization code is also different (it doesn't zero DRAM) but I don't think that matters (and I'm not sure if Datel simply copied it from an older game, or what).

I don't know why it works on LLE, though; the initialization logic doesn't get triggered properly there either but it still works for some reason.


Related issues 1 (0 open1 closed)

Related to Emulator - Emulator Issues #8179: Datel Discs need INI changes, Bios forced on, LLE audio forced on.Won't fixkostamarino

Actions
Actions

Also available in: Atom PDF