Sources

As of January 2011, the sources for the CD-i Emulator program amount to over 100,000 lines of C++ code in over 500 files, written in my private time over a period of more than ten years (not counting support tools or sources not entirely written by me). They will be available at some future date.

Purely as a reference point, the July 2005 numbers where over 70,000 lines of C++ code 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.
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.