DTL-H2000 CD Software Emulation : Possible ?

General information to do with the PlayStation 1 Hardware. Including modchips, pinouts, rare or obscure development equipment, etc.
Post Reply
User avatar
New Nova
Active PSXDEV User
Active PSXDEV User
Posts: 61
Joined: Oct 27, 2018
I am a: Collector, developper, artist
Motto: RTFM
PlayStation Model: DTL-H2000
Location: France
Contact:

DTL-H2000 CD Software Emulation : Possible ?

Post by New Nova » August 8th, 2023, 7:13 am

HEYYYYYY
My setup is mostly good, close to perfection. But I have 1 problem : I cannot play CD XA tracks. I don't have the official Playstation CD Emulator, and my debugger keeps saying that the "tray" is open.

My question is : is it possible to emulate CD streaming with the DTL-H2000 without the hardware emulator ?
Because I found a bit stupid (or maybe I'm too inexperienced) to use only SPU streaming while we can have CD quality sound.

Also, since I have "SN File Server", it MEANS that it can serves files from a folder. So if I can load TIM and RSD from the hard drive like you would do on CD, why can't I stream XA files too with the same thing ?
And why would it be separated if it was so necessary at the time ?

For me, the CD Emulator was for companies to test in the most precise way (and official way) CD Streaming when they were close to finish their games, but wasn't necessary during development.

I think it's possible, but maybe my coding wasn't right.
It's only for demos, not games.

Thanks for any answer on that !
And if someone is willing to sell me one of those CD Emulator, in case I have to use it, I'm open. I know I can use the PS1 with XplorerFX and Caetla for testing, but it will defeat the whole purpose of having an actual devkit.
Development PC : Compaq PC, Intel Pentium III 600MHz, 256MB RAM, NVIDIA GeForce4 MX 440 (AGP)
Development Unit : DTL-H2000 board + DTL-H2010 CD-ROM drive
Retail Unit : SCPH-1002 + XplorerFX + caetla + modchip + activity LED mod

User avatar
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 555
Joined: Nov 12, 2012
Contact:

Post by nocash » August 8th, 2023, 8:30 am

CD-DA and XA-ADPCM are both decoded by the hardware, directly while reading from the compact disc.
I don't think that Sony could inject CD-DA or XA-ADPCM from other sources.

Theoretically you could inject it yourself, CD-DA could be injected to the SPU Reverb/Echo buffer, and XA-ADPCM could be injected via the CDROM controller's "Sound Map" feature. But I guess that could be difficult, and it might slowdown other things.

Other than that, you perhaps burn the audio stuff to CDR, and keep loading the game engine and other data via cable connection.

User avatar
New Nova
Active PSXDEV User
Active PSXDEV User
Posts: 61
Joined: Oct 27, 2018
I am a: Collector, developper, artist
Motto: RTFM
PlayStation Model: DTL-H2000
Location: France
Contact:

Post by New Nova » August 9th, 2023, 4:35 am

I've been digging and searching for stuff.

To be clear, incase of misunderstanding : I want to be able to load an audio file (XA) the debug way without an emulator. Then when I build it for CD, it will be rewritten for that media.

The CD Emulator seems to have been optional (especially since you can find version of it being fully external).
It also seems that it has been used primarly to test how the game will act when it will be burned, using an emulator with hard drive to be reusable, instead of burning each time a CD-R.

And again, why would you be able to load like from disc files like TIM, TMDs and VAG files from the PC with SN File Server, and not XA audio ? It makes no sense.

Also : https://psx.arthus.net/sdk/Psy-Q/DOCS/D ... lh2000.pdf
According to the official documentation, the DTL-H2000 DOES have CD-ROM subsystem (Equivalent to the Playstation) (check in specifications). That, to me, sounds like fully capable of using XA files. Not from actual CD-R of course, or from a CD-R image through emulator, but directly from the hard drive itself by file serving.

Maybe, using CDRead() for example on a system without CD emulation (or actual drive) will not work, because it will want to reach for actual CD (or emulated). I saw that it exists something like "PCRead()' that will do the same but from PC instead of CD. Maybe it's that.
Maybe you set functions when you set a debug through #define, and when you want to compile it for CD-R, you can switch that by changing a value, something like a "#define DEBUG 1" (respectively 0).

Because I don' see devs at the time buying an OPTIONAL tool for something THIS important, and again, not consistent with the fact that you can load TIM files and others through file serving like no problem.

Or maybe I'm the most stupid noob ever.
Development PC : Compaq PC, Intel Pentium III 600MHz, 256MB RAM, NVIDIA GeForce4 MX 440 (AGP)
Development Unit : DTL-H2000 board + DTL-H2010 CD-ROM drive
Retail Unit : SCPH-1002 + XplorerFX + caetla + modchip + activity LED mod

User avatar
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 555
Joined: Nov 12, 2012
Contact:

Post by nocash » August 9th, 2023, 10:33 am

New Nova wrote: August 9th, 2023, 4:35 am To be clear, incase of misunderstanding : I want to be able to load an audio file (XA)
That part isn't too clear, you mentioned XA files or XA tracks with CD quality - but such a thing doesn't exist by that name. The three existing audio formats are:
  • CA-DA (decoded by CDROM controller, from CDROM signel) with uncompressed 16bit samples, CD quality
  • XA-ADPCM (decoded by CDROM controller, from CDROM signel) with compressed 4bit samples
  • SPU-ADPCM (decoded by SPU, from SPU-RAM) with compressed 4bit samples
Which of those formats do you want to use, and what improvements are you hoping for?
New Nova wrote: August 9th, 2023, 4:35 am And again, why would you be able to load like from disc files like TIM, TMDs and VAG files from the PC with SN File Server, and not XA audio ? It makes no sense.
You didn't understand, the two CDROM audio formats are directly decoded by CDROM controller, directly from the CDROM signal, and it's direcly passed to the sound mixer, without storing the data in memory. Knowing that, it's totally obvious that one can't easily replace them with data from other sources.

I am not familar with the hardware devkits, and I don't know which hardware setups can emulate or mimmick CDROM audio. But it's quite possible that you need that CDROM emulator or a real CDROM drive for that.

The part where you have said that it does have a CDROM subsystem, I think that does just mean that it has a CDROM controller, and that you can connect a CDROM drive to it.

User avatar
New Nova
Active PSXDEV User
Active PSXDEV User
Posts: 61
Joined: Oct 27, 2018
I am a: Collector, developper, artist
Motto: RTFM
PlayStation Model: DTL-H2000
Location: France
Contact:

Post by New Nova » August 9th, 2023, 6:01 pm

Oh okay didn't understand that in that way.
What I want to achieve is more CD-DA uncompressed for playing a music. Unless I can play a full length track over SPU without CD decoding, with sufficient quality, then I guess my way to go is to burn CD with the track I want to play and use Caetla. I don't have the CD Emulator, and will probably never have it, so got no choice (unless I can use no$psx on Win98).

I thought it would be possible to stream and do CD emulation through PC without additional card, purely software (like on the Wii)
Development PC : Compaq PC, Intel Pentium III 600MHz, 256MB RAM, NVIDIA GeForce4 MX 440 (AGP)
Development Unit : DTL-H2000 board + DTL-H2010 CD-ROM drive
Retail Unit : SCPH-1002 + XplorerFX + caetla + modchip + activity LED mod

User avatar
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 555
Joined: Nov 12, 2012
Contact:

Post by nocash » August 10th, 2023, 1:21 am

Sufficient quality depends on whether you are audiophile or not. Personally I am fine with ADPCM compression. And if you look at other PSX titles, it seems that CD-DA is rarely used on PSX, and mostly in older games, and only if the CDROM did have enough free space for uncompressed audio.

Full length SPU streaming is possible, in fact the length could be about 4 hours with 44.1kHz two channel stereo ADPCM, more than with CD-DA. I don't know if the SDK has provisions for SPU streaming, or if you have to manually load new SPU data snippets from cdrom/harddisk and then manually DMA them to SPU RAM in sync with SPU or Timer interrupts.

No$psx does work on win98. I am using a 1Ghz Pentium3 with win98 myself (which works fine, but, for games with high GPU load, it can be too slow for fullspeed emulation with continous audio playback).

User avatar
New Nova
Active PSXDEV User
Active PSXDEV User
Posts: 61
Joined: Oct 27, 2018
I am a: Collector, developper, artist
Motto: RTFM
PlayStation Model: DTL-H2000
Location: France
Contact:

Post by New Nova » August 10th, 2023, 1:28 am

Interesting. I'l give it a shot when I have time.
As long as I can use my DTL-H2000 without CD emulator, while keeping good audio quality, then I'm good.
I think I saw something about SPU streaming in the official docs, but maybe my memory isn't good. I'll check that too.

As for no$psx, I'll try, but I still think I'm better off with XplorerFX and Caetla for now.
Development PC : Compaq PC, Intel Pentium III 600MHz, 256MB RAM, NVIDIA GeForce4 MX 440 (AGP)
Development Unit : DTL-H2000 board + DTL-H2010 CD-ROM drive
Retail Unit : SCPH-1002 + XplorerFX + caetla + modchip + activity LED mod

User avatar
nocash
Verified
PSX Aficionado
PSX Aficionado
Posts: 555
Joined: Nov 12, 2012
Contact:

Post by nocash » August 10th, 2023, 3:19 am

New Nova wrote: August 10th, 2023, 1:28 amI still think I'm better off with XplorerFX and Caetla for now.
That... with SPU streaming... the Xplorer transfer functions are spending most of the time on awkwardly polling status bits (instead of just transferring the data bytes at reasonable speed)... and in lack of DMA, it's stalling the MIPS CPU during the transfer.
It might be fast enough for streaming compressed ADPCM data without totally freezing your game engine, but it's quite an extra obstacle that could make developing on "real hardware" more difficult than software emulation... even the crappiest PSX emulator is probably providing a better CDROM emulation than the old Xplorer cable hardware hacks.

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests