Compact Disc Structure
Emulator development has cross-sections across many diverse fields of computer science, and I'm trying to share my experiences with all of them. If anyone here has suggestions for future articles for my site, I'm all ears ^-^While folks are thinking about CDs: I've not been able to get an F2/F3-frame CD image. If anyone has such a thing (not copyrighted, just a CD containing a text file or public domain music piece is fine), I'd love to get it so I can implement a CIRC encoder/decoder! My GitHub repository (linked in the article) has an RSPC Reed-Solomon encoder/decoder, a disc scrambler/descrambler, and Q-subchannel encoder/decoder. I'm trying to build up a comprehensive ISC-licensed C++ library for working with every frame level of CD data.For folks interested in the lead-in / lead-out data, to my knowledge only very few drives allow reading this raw data, namely older Plextor drives with the 0xd8 (READ_CDDA) command. If there are any hardware engineers who want to save an entire generation of CD history in a more exacting archival format, we could desperately use either hacked drive firmware for a modern CD drive, or custom CD reading hardware to preserve this data. Time is really of the essence.The vanguard of CD preservation right now, to the best of my knowledge, is Claunia's DiscImageChef project: http://discimagechef.claunia.com/I'm also working with the Game Preservation Society in Japan ( https://www.gamepres.org/ ), which has archives of thousands of rare and obscure Japanese CD media, so by all means if anyone reading this can help, please let me know.