|
|
To do: |
The CD-i was an attempt by Philips to create a multi-purpose CD player that, in addition to playing regular CDs, could act as a home video player, a photo viewer, a karaoke machine, and a game console using various industry standards for the Compact Disc that Philips codified with Sony. One of these, in fact, serves as the device's namesake. However, its $700 initial asking price, wildly substandard game quality (even with game IP's owned by Nintendo), lack of game support and proper game controllers (most of it being more focused on media browsing rather than playing video games) spelled a certain doom for the CD-i.
Despite that, it still trucked on until 1998 thanks to its other multimedia capabilities working well in workplaces and schools, and it even had internet support in the UK between 1995 and 2000. Still, its poor library of video games and difficult-to-emulate architecture means that it will forever be remembered as a flawed multimedia system... and as the source for late 2000s YouTube Poops.
OS-9 Copyright Text#
Present at 0x4640 in BIOS 200 (0x4638 in BIOS 220b).
OS-9 V2.4.0
Copyright (c) 1990 by Microware Systems Corp.
Debugging Text#
Present at 0x1272 in BIOS 200 (0x126A in BIOS 220b) is the following:
Assuming you are testing a boot loader, please enter it's entry address:
Bad data entered
Kernel
NO OS-9 kernel found.
Starting at 0x1E19 in BIOS 200 (0x1E11 in BIOS 220b) is a whole bunch of text relating to testing the CD-i's board:
CD-I MONO BOARD low level test
REL. 1.2
----
----
*** Low level test of CDI MONO board ended ***
Press any key to test receiver
Receiver o.k., you pressed:
Give a RAM address (max 6 digits) :
0. Exit Low level test
1. Writing to a default RAM address
2. ROM parity check
3. Nvram test
4. Dram test
5. Cdic test
6. Slave processor test
7. Clock Calibration
8. Attex test
9. X-bus test
Make your Selection:
0. Exit Attex menu
1. Generate full range VDSC-cs
2. Generate full range CDIC-cs
3. Generate full range Slave-cs
4. Generate full range NVRAM-cs
5. Generate KillME & DMAEN (toggle)
Make your Selection:
Done.
- CS from $000000 to $07FFFF...
- CS from $200000 to $27FFFF...
- CS from $300000 to $33FFFF...
- CS from $400000 to $47FFFF...
- CS from $300000 to $30FFFF...
- CS from $310000 to $317FFF...
- CS from $320000 to $33FFFF...
- CS from $318000 to $31FFFF...
ADDRESS DATA READ EXPECTED ERROR:
RETURN to continue, ESC to stop:
ERROR: Give startaddress:
ROM ID:
Release Number:
CheckSum:
Test DRAM bank 0 (Y/N) ?
Test DRAM bank 1 (Y/N) ?
Test full DRAM range (Y/N) ?
Filling DRAM BANK0
Read BANK0 and Compare
Filling DRAM BANK0 with inverted data
Read BANK0 and Compare
Filling DRAM BANK1
Read BANK1 and Compare
Filling DRAM BANK1 with inverted data
Read BANK1 and Compare
Filling FULL DRAM range (BANK 0 and BANK1)
Read FULL DRAM range and Compare
Filling FULL DRAM range with inverted data
Read FULL DRAM range and Compare
Read FULL DRAM, press ESC to stop
Write FULL DRAM, press ESC to stop
Write FULL DRAM (inverted), press ESC to stop
Reading DRAM0, press ESC to stop
Reading DRAM1, press ESC to stop
Writing DRAM0, press ESC to stop
Writing DRAM1, press ESC to stop
Writing DRAM0 (inverted), press ESC to stop
Writing DRAM1 (inverted), press ESC to stop
Testing CDIC Ram
Writing CDIC Ram, press ESC to stop
Writing CDIC Ram (inverted), press ESC to stop
Testing CDIC Ram with inverted data
Reading CDIC Ram, press ESC to stop
Contents of CDIC registers:
Write $F0 to the slave
Read byte from slave (should be $F0)
Release number SLAVE PROC
Release number CD PROC
Do the non-destructive NVRAM test (Y/N)?
Test NVRAM with ROM (destroys NVRAM contents) (Y/N)?
Testing NVRAM with ROM data
Testing NVRAM with inverted ROM data
Test NVRAM with address data (destroys contents) (Y/N)?
Testing NVRAM with address
Testing NVRAM with inverted address
Reading NVRAM, press ESC to stop
Writing NVRAM, press ESC to stop
Writing NVRAM (inverted), press ESC to stop
NVRAM test completed
Clock Calibration signal (512Hz) now on IC7205 pin 21
Measure this signal with : minimum gate time = 5 sec
PRESS A KEY TO CONTINUE
Please input the measured frequency (6 decimals):
The calibration byte is :
Check 512Hz signal again (Y/N) ?
**Unable to correct that much. A correction of 63 ppm is now installed **
Write Transparant command to CDIC
Read from Slave via Xbus and SPIbus
Received result (should be $A47A3B1C)
MPU incompatible with OS-9 kernel
Bad psuedo-vector table OS-9
Boot failed, can't find 'init'
WARNING - kernel has bad CRC
Can't allocate system tables
WARNING - IRQ stack too small, ignored
Can't allocate IRQ stack
can't open console terminal
OS9P2 module aborted
Can't fork to initial process init
can't allocate system tables
Bad memory list in 'init' module
References#
- Hoffos, Signe et al. CD-I Designer’s Guide. Maidenhead: McGraw-Hill Book Company, 1992.↩︎
- Interactive Dreams: CD-i in Japan - Philips Artspace and Japan Interactive Media (archived)↩︎
- CDi - Joystick, Number 30, September 1992↩︎
- PW Speciale CD-I Philips - MC microcomputer, Number 119, June 1992↩︎
- NEWS BITS: Philips, Brøderbund Plan CD-I Book - VideoGames & Computer Entertainment, January 1992↩︎
- Reportage: Revolution der Silberscheibe - Aktueller Software Markt, November 1992↩︎
- Van Bussel, Wim. CD-i een introductie. Deventer: Kluwer Technische Boeken, 1993.↩︎
- NINTENDO Y CDI, ALIANZA EXPLOSIVA - Hobby Consolas, Number 21, June 1993↩︎