Subcodes only for CD+G ?
Moderator: Mask of Destiny
Subcodes only for CD+G ?
Hi,
While Nemesis started a subject about this 3 years ago, it didn't seem to answer this basic question : are the subcodes ONLY used for CD+G ?
I know R to W are used for CD+G (and CD TExt) but does the MegaCD use the P and Q ones ?
I mean, internally, to handle TOC/track (with Q Mode 1 ) or to detect data vs audio (even if I think it's handle more on the CD DSP side)
While Nemesis started a subject about this 3 years ago, it didn't seem to answer this basic question : are the subcodes ONLY used for CD+G ?
I know R to W are used for CD+G (and CD TExt) but does the MegaCD use the P and Q ones ?
I mean, internally, to handle TOC/track (with Q Mode 1 ) or to detect data vs audio (even if I think it's handle more on the CD DSP side)
-
- Very interested
- Posts: 616
- Joined: Thu Nov 30, 2006 6:30 am
Re: Subcodes only for CD+G ?
Are you asking about whether the BIOS itself uses subcode data or if the subcode data is used by the Mega CD in general? For the latter, the answer is trivially yes because it's the only place to get the TOC. It's encoded repeatedly in the subcode data inside the lead-in area. What I can't personally say is whether the BIOS gets the raw subcode data and interprets it or whether some part of the CD hardware handles decoding the TOC.
Re: Subcodes only for CD+G ?
OK, so I'll need to get deeper on the BIOS. I asked before, to avoid losing time if anyone already did it
Thanks
Thanks
Re: Subcodes only for CD+G ?
D/M status, TOC and current Track infos are all retrieved/computed by dedicated 4-bit microprocessor using subcode Q data output by CD DSP on SUBQ pin (controlled by serial clock on SQCK pin).
D/M status bit is found in Q subchannel control field while TOC and current Track infos are found in q-data field respectively during Lead In and User Data / Lead Out areas.
Those infos are written back in CDD status words that can be read by software in ASIC registers. Additionaly, D/M status is provided to main ASIC to distinguish between CD-AUDIO/CD-ROM sectors data (also appears as a bit in one of the ASIC registers).
P subchannel is only accessible from subcodes buffer inside main ASIC. No software(including BIOS) seems to use P-Q subchannels data from this buffer (I don't emulate it by default unless a .sub file is found and it does not cause any issue).
D/M status bit is found in Q subchannel control field while TOC and current Track infos are found in q-data field respectively during Lead In and User Data / Lead Out areas.
Those infos are written back in CDD status words that can be read by software in ASIC registers. Additionaly, D/M status is provided to main ASIC to distinguish between CD-AUDIO/CD-ROM sectors data (also appears as a bit in one of the ASIC registers).
P subchannel is only accessible from subcodes buffer inside main ASIC. No software(including BIOS) seems to use P-Q subchannels data from this buffer (I don't emulate it by default unless a .sub file is found and it does not cause any issue).
Re: Subcodes only for CD+G ?
OK, so the CD DSP need it, not the ASIC (if we forget about CD+G)
If the SBSO line is flat, it won't bug the game ?
You said GX support .sub files.
Unfortunatly, they rarely come with game rip
What could I use to made a private rip including the .sub part ? (on windows)
If the SBSO line is flat, it won't bug the game ?
You said GX support .sub files.
Unfortunatly, they rarely come with game rip
What could I use to made a private rip including the .sub part ? (on windows)
Re: Subcodes only for CD+G ?
It shouldn't affect software since, from my testing in emulator, neither games or BIOS care if the subcode interrupt never occursKanedaFr wrote:If the SBSO line is flat, it won't bug the game ?
But it's possible it could lock the ASIC and thus the whole Mega CD hardware, depending how it was designed. Quite unlikely but you never know
Because for all released games (I don't count CD+G title as games), they don't hold any meaningful data (likely zeros) in Q-W subchannels and P-Q subchannels infos are standard infos that are easily recreated when burning the CD image or running it in an emulator.KanedaFr wrote: Unfortunatly, they rarely come with game rip
I think CloneCD can do it but don't quote me on that. You should probably ask on redump forums.KanedaFr wrote:What could I use to made a private rip including the .sub part ? (on windows)
Re: Subcodes only for CD+G ?
Eke wrote:It shouldn't affect software since, from my testing in emulator, neither games or BIOS care if the subcode interrupt never occursKanedaFr wrote:If the SBSO line is flat, it won't bug the game ?
But it's possible it could lock the ASIC and thus the whole Mega CD hardware, depending how it was designed. Quite unlikely but you never know
yes, I see what you mean...Eke wrote:Because for all released games (I don't count CD+G title as games), they don't hold any meaningful data (likely zeros) in Q-W subchannels and P-Q subchannels infos are standard infos that are easily recreated when burning the CD image or running it in an emulator.KanedaFr wrote: Unfortunatly, they rarely come with game rip
So perhaps I could just fake it the same way than to read a subchannel file...
It seems some software are able to dump CUE/BIN/SUB....else, yes, CloneCD (and Alcohol) seems to be able to handle it.I think CloneCD can do it but don't quote me on that. You should probably ask on redump forums.KanedaFr wrote:What could I use to made a private rip including the .sub part ? (on windows)
I recently discover it thanks to CDEmu
Re: Subcodes only for CD+G ?
If you are on Windows, CD Manipulator can make clonecd compatible dumps with subcode included, and it is free:
http://www.storeroom.info/cdm/
It will write a "cdm" file instead of "ccd" but the format is the same, and it can be renamed and work the same.
http://www.storeroom.info/cdm/
It will write a "cdm" file instead of "ccd" but the format is the same, and it can be renamed and work the same.
Re: Subcodes only for CD+G ?
I managed to get full subcode reading working on the LaserActive hardware through software. I found the bios routines were buggy and flawed. I had to partially bypass them and poke the hardware directly. Synchronization is also a problem. Subcode data arrives independently from sector data and unsynchronized with it, so it's usually off by a few sectors. It's certainly possible to read subcode data on the MegaCD/LD hardware though, with some effort.