mcd-verificator (CD core accuracy tests)

Ask anything your want about Mega/SegaCD programming.

Moderator: Mask of Destiny

Post Reply
KRIKzz
Interested
Posts: 24
Joined: Wed Jul 22, 2009 11:25 am
Location: Ukraine
Contact:

mcd-verificator (CD core accuracy tests)

Post by KRIKzz » Wed Jul 01, 2020 12:13 am

During cd core development i spent lot of time on figuring out how mega-cd actually works, some of my conclusions reflected in mcd-verificator diagnostics tool. I share it with hope that it will help to make better CD emulators (:

https://github.com/krikzz/MEGA-PRO/tree ... erificator

Eke
Very interested
Posts: 861
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Re: mcd-verificator (CD core accuracy tests)

Post by Eke » Thu Jul 02, 2020 6:42 am

Thank your for this and for publishing your source and notes, this could indeed be quite useful to figure some undocumented stuff and improve Mega CD emulation accuracy overall.

The CDD status/command logs from real hardware are also very helpful to figure the timings of the various commands and associated CDD responses, this was the last bit of information missing after the release of C-Trac CD board emulator sourcecode by Nemesis (see viewtopic.php?f=5&t=3020&start=43). Those logs also permit to confirm real hardware CDD behavior vs CD emulator board.

NB: I noticed some status with bad checksums in your log (see below), I assume those are just glitches from the tracing hardware?

Code: Select all

0F.000000.1F - 00.000000.0F
0F.000000.1F - 00.000000.0F
9F.000000.16 - 00.000000.0F
9F.000000.16 - 00.000000.0F
9F.000000.16 - 00.000000.0F
9F.000000.16 - 00.000000.0F
9F.000000.52 - 00.000000.0F
9F.000000.52 - 00.000000.0F
9F.000000.52 - 00.000000.0F
9F.000000.16 - 00.000000.0F
9F.000000.16 - 00.000000.0F
9F.000000.16 - 00.000000.0F
9F.000000.16 - 00.000000.0F
9F.000000.16 - 00.000000.0F

KRIKzz
Interested
Posts: 24
Joined: Wed Jul 22, 2009 11:25 am
Location: Ukraine
Contact:

Re: mcd-verificator (CD core accuracy tests)

Post by KRIKzz » Thu Jul 02, 2020 9:57 am

Hm, checksums looks ok. which one is bad?
9+F+5 ^ F = 2
9+F+1 ^ F = 6

Eke
Very interested
Posts: 861
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Re: mcd-verificator (CD core accuracy tests)

Post by Eke » Thu Jul 02, 2020 12:09 pm

My bad, I forgot checksum was only the last nibble (RS9).

Now I wonder why RS8 bit 2 is set only for 3 frames while reading TOC (RS0=0×9) ?
It apparently still returns disc flags even when reporting 'not ready' status (RS1=0xF) and, according to C-Trac sourcecode, bit 2 indicates the current sector type (0=CD-DA, 1=CD-ROM) while bit 0 indicates the mute status (1=muted).

KRIKzz
Interested
Posts: 24
Joined: Wed Jul 22, 2009 11:25 am
Location: Ukraine
Contact:

Re: mcd-verificator (CD core accuracy tests)

Post by KRIKzz » Thu Jul 02, 2020 8:25 pm

From what i know valid cdd status shown only when RS1 != F

Miquel
Very interested
Posts: 495
Joined: Sat Jul 30, 2016 12:33 am

Re: mcd-verificator (CD core accuracy tests)

Post by Miquel » Wed Jul 08, 2020 1:51 pm

Hi KRIKzz, curiosity just spike up a lot with you messages, what is your project about? Perhaps a MegaCD/SegaCD in a FPGA? Just curious...
Help. Spanish TVs are brain washing people to be hostile to me.

cero
Very interested
Posts: 276
Joined: Mon Nov 30, 2015 1:55 pm

Re: mcd-verificator (CD core accuracy tests)

Post by cero » Wed Jul 08, 2020 5:42 pm

https://everdrive.me/cartridges/mega-everdrive-pro.html

You must have lived under a rock Miquel :P

Post Reply