>> Monday, April 23, 2007
Emulating the CD-i is a complicated and difficult process. Luckily, there is only one working emulator available, which narrows things down a bit. In Retro Gamer Magazine CD-i Emulator was highlighted with a clever article about how to get the emulator working. I want to join in and show some help on emulating the CD-i. The unlimited version is available for a fee, but a limited version you can download for free to play CD-i games on your PC. Since September 2005, version 0.52 has been released to public which you can buy here. Let's have a look how to get the CD-i emulator working on your computer.
Step 1. Head over to http://www.cdiemu.org and click on the "downloads" link in the left sidebar. Click on "cdiemu-0.5.2.zip" to download CD-i Emulator version 0.5.2 (Limited edition). Yes, it's the limited version, which means it will only work for a period of time. But it's fully functional to play around with. This way you can make your decision if you want to purchase the full version, or stick with this one. Now extract all the files to a folder on your computer (I used "C:\cdiemu").
Step 2. Now we need a BIOS ROM. To answer the first question about "why this CD-i Emulator needs the internal BIOS system of an original CD-i player" in the first place, we head over to the author himself, cdifan: "It would be easier for users, of course, and in a sense more "elegant" [if the emulator wouldn't need the extra BIOS system]. There's between 300KB and 500KB of software in most CD-i players making up the CD-RTOS operating system and its drivers. Most of it is written in assembly language and thus very compact. It would need to be essentially rewritten for a ROM-less emulator and thus introduce a quite significant amount of extra work, in addition to all the work of emulating the CD-i player hardware that would still mostly need to be done. There are also compatibility and reliability issues. The software interface available to a CD-i title is large; most titles use only a small part of it, each in its own way. Debugging a CD-RTOS rewrite would thus be very costly and frustrating, each new title would probably expose new bugs. [Moreover,] using the ROMs guarantees the "real" CD-i experience. The software running inside your emulator is *completely* identical to what runs inside your player. As a fan of the platform, I find this very appealing."
Back to step 2. Legally the BIOS files can be obtained from your actual CD-i player, though various BIOS images are available if you search online, although we can't give any links due to legal reasons. If you are going down the route of downloading the BIOS directly from the CD-i player, you need a Null Modem cable. You can easily build one yourself by following the instructions on the CD-i emulator site, under CD-i Link, in "cdilink-0.5.2.zip", CD-i Link 0.5.2 executable and documentation. Ofcourse, you can also buy one online in the Black Moon CD-i Store, check the Hardware tab.
Step 3. Retrieving the BIOS using CD-i Link. Now it's time to connect your PC with the CD-i player by using the CD-i Null Modem Cable. Download the CD-i Link 0.52 from http://www.icdia.co.uk. Look for the link "PC/Windows Downloads" and head to CD-i Communication Tools. Or download it directly by clicking here. Unzip the CD-i Link to any directory. Now open the MS-DOS Command prompt and change directory to where you unzipped CD-i Link. Use the command "CD C:\cdilink" if you installed it directly on drive C:\. Execute the CD-i Link program to view all options available with the command "cdilink.exe".
Use the command "cdilink -roms" to start the upload. You will need to reboot the CD-i player to begin this process. When cdilink says "Waiting for stub", turn on your player. The program should recognize your player and start downloading the information, which it will write to a text file in the current directory. CD-i Link uses a 'stub' protocol which in some cases you need to use an actual CD-i disc containing the CDi_stub to initiate this program. The CD-i Stub Disc is available from the ICDIA as an ISO (download here). The process of uploading the CD-i ROM/BIOS can take up to several minutes to get the 512kb file so please be patient; the CD-i Link program will inform you when the procedure has finished. cdifan about the need of cdi_stub: "Most Philips CD-i players support a subset of the "stub" protocol called the download subset, consisting of just the messages needed to download data and/or programs into the player and execute programs or continue the player startup process. This subset can be used to download one of the full "stub" programs. For CD-i players without a download subset implementation an actual CD-i stub disc has to be used. A disc image of such a disc can be found in the Downloads section; it should work on any CD-i player with a serial port."
Step 4. See the results. When cdilink has finished the uploading process you should be left with the 512 kb ROM/BIOS file, named "cdixxx.rom" where the "xxx" stands for your CD-i player type. If you also have the Digital Video Cartridge" installed you'll notice cdilink has also downloaded a 256 kb file identified as "gmpega2.rom" or a similar name. You can ignore this file for now. As of today, the CD-i emulator does not support the Digital Video Cartridge, although it does support the 1 MB extra memory of it. (like used in The Apprentice). If you've installed the CD-i Emulator in the C:\cdiemu\ directory simply move the ROM/BIOS files into the rom folder (C:\cdiemu\rom\). The CD-i Emulator program should recognize the file automatically.
Please Note: If you didn't get passed Step 3: I suppose the CD-i Null Modem Cable is attached to Port 2 of the CD-i player and the Serial connection on your PC. However, the CD-i players from series 4xx and 5xx (450, 550, ...) lack the second controller port, requiring a CD-i splitter. Another issue is the phasing-out of the serial connection on PC's. Luckily you can buy a "USB to RS232" cable so you can use the USB port for this.
Step 5. Getting the CD-i Games. The CD-i Emulator does not support CD drive emulation. You need ISO files of the games you want to play. Most games can be extracted using programs like CDRWIN. However, some games are written in the so-called CD-i Ready format. Most programs can't handle this filesystem, which means you can't create an ISO of these titles. Fortunately CloneCD is capable of reading the "pregap mode 2 data" that is typical for CD-i Ready discs. However, you need a CD-ROM player which is capable of reading the disc in the first place. If CloneCD doesn't work, you should try a different CD-ROM player! In CloneCD, select the option for copying a "Game CD" and tick the boxes to "Read SubChannel Data" from both data and audio tracks. Then start the process to create an ISO. Check this link to see which titles are in CD-i Ready format.
Step 6. Getting started with CD-i Emulator. If you've installed the BIOS ROM in the rom folder of CD-i Emulator and you have ripped an ISO of your game of choice, you are ready to go. Execute the "wcdiemu" file to load the CD-i Emulator. Under "File", you can open the game ISO. Then click on the "Emulate" tab to start emulating. To optimize your experience, you might adjust the PAL to NTSC switch for superior screen size or faster emulation (Check "Options"). Have fun!
Thanks to: Black Moon Project, ICDIA, Retro Gamer, CD-i Emulator Home