Sources
As of April 2023, the sources for the CD-i Emulator program amount to over 120,000 lines of
C++ code in over 650 files, written in my private time over a period of
more than twenty years (not counting support tools or sources not entirely written by me). They will be available at some future date.
Purely as reference points, the January 2011 numbers were over 100,000 lines in over 500 files
while in July 2005 they were over 70,000 lines in over 350 files.
As of version 0.5.3, CD-i Emulator incorporates source code from MAME/MESS
used to support the CHD file format and the writing of AVI and PNG files.
Such re-use is allowed by the MAME/MESS license for these sources
which is essentially BSD; the full license conditions are described in
detail in the file MCOPYING included with CD-i Emulator.
References
I found the following publicly-available references helpful:
- SCC68070 User Manual 1991, Parts 1 and 2 (hardcopy)
- Complete description of 68070 processor used in most Philips CD-i player models.
- MC68341 Integrated Processor User Manual (online)
- Complete description of 68341 processor used in several portable CD-i player models.
- CPU32 Reference Manual (online)
- Complete description of the CPU32 instruction set implemented in the 68341 processor.
- SCC66470 Video And System Controller, Data Sheet (online)
- Complete description of CD-i video hardware used in older CD-i player models.
- Motorola MCD212 Video Decoder and System Controller (VDSC), Advance Information (online)
- Complete description of CD-i video hardware used in
newer CD-i player models.
- Motorola MCD221 CD-Interface and Audio Processor (CIAP), Technical Summary (online)
- Somewhat high-level description of CD-i cd+audio hardware used in newer
CD-i player models.
- Motorola MCD251 MPEG Full Motion Video Decoder (FMV), Technical Summary (online)
- Somewhat high-level description of CD-i MPEG hardware used in IMPEG cartridge models.
- M48T08/M48T18 TIMEKEEPER® SRAM (online)
- Complete description of CD-i NVRAM hardware used in many CD-i player models.
- Microware OS-9 2.4 Documentation (online)
- Complete description of base component of CD-RTOS operating system used in all CD-i players.
- Compact Disc Interactive Full Functional Specification (hardcopy, online)
- Official specification of the CD-i system, online since at least August 2011
Many of these are available from the ICDIA website at
www.icdia.co.uk;
the CPU32 documentation is available from the Freescale Semiconductor
website at www.freescale.com. In 2009 I received several pointers to documents from the MESS community.