CD-i: Difference between revisions

From Emulation General Wiki
Jump to navigation Jump to search
Doom03 (talk | contribs)
Gorilli09 (talk | contribs)
Cleanup
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Infobox information appliance
{{Infobox information appliance
| name = Compact Disc-Interactive
| image = CD-i-910-Console-Set.png
| image = CD-i-910-Console-Set.png
| image_size =  
| caption = Philips CDI 910, the first consumer-oriented CD-i player, pictured with its "Touchpad" game controller
| manufacturer = [[Philips]], [[Sony]]
| manufacturer = [[Philips]], [[Sony]]
| type = [[:Category:Home video game consoles|Home video game console]]<br />[[data storage device|Media player]]
| type = [[:Category:Home video game consoles|Home video game console]]<br>[[data storage device|Media player]]
| generation = [[:Category:Fourth-generation video game consoles|Fourth]]
| generation = [[:Category:Fourth-generation video game consoles|Fourth]]
| release_date = NA: December 3, 1991<br/>JP: April 25, 1992<br/>EU: July 10, 1992
| released = NA: December 3, 1991<br>JP: April 25, 1992<br>EU: July 10, 1992
| discontinued = 1998
| discontinued = June 1999
| predecessor = [[Philips Videopac + G7400]] (spiritual)
| caption = Philips CDI 220, with its game controller
| emulated = {{~}}
| emulated = {{~}}
| emulated notes = Many full-motion CD-i games still can't be emulated; see the &quot;Hardware features and accessories&quot; section.
| emulated notes = Many full-motion CD-i games still can't be emulated; see the &quot;Hardware features and accessories&quot; section.
Line 14: Line 13:
}}
}}


'''CD-i''' ('''Compact Disc Interactive'''), is a disk format and media player developed and released by [[wikipedia:Philips|Philips]]. The main system ran on Microware [[wikipedia:OS-9|OS-9]] and had a Philips SCC68070 CPU at 15.5 MHz with 1MB of RAM. It has many [[#Hardware variants|hardware variants]], and some third-party manufacturers even produced their own [[Home media players|media players]] based on the CD-i format and technology.
'''CD-i''' ('''Compact Disc Interactive'''), is a disk format and media player developed and released by Philips. The main system ran on Microware OS-9 and had a Philips SCC68070 CPU at 15.5 MHz with 1MB of RAM. It has many [[CD-i#Hardware variants|hardware variants]], and some third-party manufacturers even produced their own [[Home media players|media players]] based on the CD-i format and technology.


The CD-i was never meant to be a video game console, it was designed to be a "Interactive Multimedia" CD player, targeted mainly at people with disposable income. When the system started to show signs of being a major flop for Philips, they pivoted the direction of the CD-i into the uncharted territories of video games.
The CD-i was never meant to be a video game console, it was designed to be a "Interactive Multimedia" CD player, targeted mainly at people with disposable income. When the system started to show signs of being a major flop for Philips, they pivoted the direction of the CD-i into the uncharted territories of video games.


The CD-i is best known nowadays for being home to a port of [https://www.mobygames.com/game/45865/tetris/ Tetris] with a new-age Jim Andron soundtrack, and [https://www.mobygames.com/game/21133/zeldas-adventure/ four] [https://www.mobygames.com/game/21134/zelda-the-wand-of-gamelon/ particularly] [https://www.mobygames.com/game/21409/link-the-faces-of-evil/ notorious] [https://www.mobygames.com/game/21411/hotel-mario/ games] loosely based on Nintendo copyrights, which were mainly made possible by Philips's prior attempts to develop a CD add-on for the [[Super Nintendo emulators|SNES]]. Their takes on Nintendo intellectual property have earned so much infamy over the years that you would be hard-pressed to find anyone who doesn't immediately think of them whenever you mention the CD-i. However, there were a few cult classic games for the system as well.
The CD-i is best known nowadays for being home to a port of [https://www.mobygames.com/game/45865/tetris/ Tetris] with a new-age Jim Andron soundtrack, and [https://www.mobygames.com/game/21133/zeldas-adventure/ four] [https://www.mobygames.com/game/21134/zelda-the-wand-of-gamelon/ particularly] [https://www.mobygames.com/game/21409/link-the-faces-of-evil/ notorious] [https://www.mobygames.com/game/21411/hotel-mario/ games] loosely based on Nintendo copyrights, which were mainly made possible by Philips's prior attempts to develop a CD add-on for the [[Super Nintendo emulators|SNES]]. Their takes on Nintendo intellectual property have earned so much infamy over the years that you would be hard-pressed to find anyone who doesn't immediately think of them whenever you mention the CD-i. However, there were a few cult classic games for the system as well.
__TOC__


==Emulators==
== Emulators ==
{|class="wikitable" style="text-align:center;line-height:1.5;width:74%;font-size:90%;"
{| {{Emulator table}}
|+Before editing, review the [[Getting involved]] and [[Recommended emulators|Recommended]] pages. See [[Computer_specifications#Recommended_Specifications|system requirements]] page for performance demand of the emulators.<br/>See tables for <span style="font-weight: bold; color: #CC0000; border: 1px solid #CC0000; padding: 2px;">[[#Enhancements|enhancements]], [[#Hardware_features_and_accessories|hardware features and accessories]] and [[#Hardware variants|hardware variants]].</span><br/>For more details such as [[licensing]], [[Source_code#Language_levels|programming language]], [[High_and_low-level_emulation|emulation method]], visit each emulator’s dedicated page.
|+{{Emulator comparison introduction|[[#Enhancements|enhancements]], [[#Hardware features and peripherals|hardware features & peripherals]], and [[#Hardware variants|hardware variants]]}}
! scope="col"|Name
!Name
! scope="col"|Platform(s)
!Platform(s)
! scope="col"|Latest version
!Active?
! scope="col"|[[Licensing|License]]
!Latest version
! scope="col"|Active
![[Licensing|License]]
! scope="col"|Compatibility
!Compatibility
! scope="col" |[[Recommended emulators|Recommended]]
![[Recommended emulators|Recommended? (overall)]]
|-
|-
! colspan="11" |x86
! colspan="7" |PC
|-
|-
| [[CD-i Emulator]]
|[[CD-i Emulator]]
| align=left|{{Icon|Windows}}
| align="left" |{{Icon|Windows}}||{{Ya}}  
| [https://www.cdiemu.org/download/cdiemu-0.5.3-beta9.zip {{CD-i EmulatorVer}}]<br/>[https://tgames.fr/tgames/cdiemu-0.5.3-beta8-Patched.zip 0.5.3 beta 8 (Patched)]
|[https://www.cdiemu.org/download/cdiemu-0.5.3-beta9.zip {{CD-i EmulatorVer}}]
|{{Red}} {{License|Proprietary}} ||{{✓}}  
[https://tgames.fr/tgames/cdiemu-0.5.3-beta8-Patched.zip 0.5.3 beta 8 (Patched)]
|{{Emulator compatibility|link=https://www.cdiemu.org/?body=site/players060.htm|10|37}}
|{{Red}} {{License|Proprietary}}  
|{{~}}
|{{Emulator compatibility|10|37|link=https://www.cdiemu.org/?body=site/players060.htm}}||{{~}}
|-
|-
| [https://docs.libretro.com/library/same_cdi/ Same CDi<br/><small>same_cdi_libretro</small>]
|[https://docs.libretro.com/library/same_cdi/ Same CDi]
| align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
[https://docs.libretro.com/library/same_cdi/ <small>same_cdi_libretro</small>]
| [https://buildbot.libretro.com/nightly/ libretro core]
| align="left" |{{Icon|Windows|Linux|macOS|FreeBSD}}||{{Ya}}  
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) |
|[https://buildbot.libretro.com/nightly/ libretro core]
|{{✓}}
| {{Green}} {{License|GPLv2}} ({{License|Copyleft}})
|
|||{{~}}
|{{~}}
|-
|-
| [[MAME]]
|[[MAME]]
| align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
| align="left" |{{Icon|Windows|Linux|macOS|FreeBSD}}||{{Ya}}  
| [http://www.mamedev.org/release.html {{MAMEVer}}]
|[http://www.mamedev.org/release.html {{MAMEVer}}]||{{Green}} {{License|GPLv2}}<br>{{License|BSD3}}  
|{{Green}} {{License|GPLv2}}<br>{{License|BSD3}} ||{{✓}}  
|||{{~|link=https://github.com/mamedev/mame/blob/master/src/mame/philips/cdi.cpp}}
| ||{{~}}[https://github.com/mamedev/mame/blob/master/src/mame/philips/cdi.cpp *]
|-
|-
| [https://mamedev.emulab.it/haze/ TinyCDi]
|[https://web.archive.org/web/20010926085947/http://cdice.emuhq.com:80/ CD-iCE]
| align=left|{{Icon|Windows}}
| align="left" |{{Icon|Windows|Linux}}||{{Na}}  
| ?
|[https://www.zophar.net/cd-i/cd-ice.html 2001-08-20]||{{Red}} {{License|Proprietary}}  
|{{Red}} {{License|Proprietary}} ||{{✗}}  
|||{{Na}}
| |
|{{}}
|-
|-
| [https://github.com/Stovent/CeDImu CeDImu]
|[https://github.com/Stovent/CeDImu CeDImu]
| align=left|{{Icon|Windows|Linux}}
| align="left" |{{Icon|Windows|Linux}}||{{~}}  
| None (pre-alpha)
|None (pre-alpha)||{{Dunno}}  
|{{?}} ||{{~}}  
|||{{Na}}<small>(WIP)</small>
| ||{{}}<small>(WIP)</small>
|-
|-
| [https://web.archive.org/web/20010926085947/http://cdice.emuhq.com:80/ CD-iCE]
|[https://mamedev.emulab.it/haze/ TinyCDi]
| align=left|{{Icon|Windows|Linux}}
| align="left" |{{Icon|Windows}}||{{Na}}  
| [https://www.zophar.net/cd-i/cd-ice.html 2001-08-20]
|?||{{Red}} {{License|Proprietary}}  
|{{Red}} {{License|Proprietary}} ||{{✗}}  
|||{{Na}}
| ||{{}}
|-
|-
! colspan="11" |ARM
! colspan="7" |Mobile
 
|-
|[https://docs.libretro.com/library/same_cdi/ Same CDi]
[https://docs.libretro.com/library/same_cdi/ <small>same_cdi_libretro</small>]
| align="left" |{{Icon|Android|iOS}}||{{Ya}}
|[https://buildbot.libretro.com/nightly/ libretro core]||{{Green}} {{License|GPLv2}} ({{License|Copyleft}})
|||{{~}}
|-
|-
|[[Provenance]]
|[[Provenance]]
|align=left|{{Icon|iOS|iPadOS|tvOS}}
| align="left" |{{Icon|iOS|iPadOS|tvOS}}||{{Ya}}  
|[https://apps.apple.com/us/app/provenance-app/id1596862805 {{ProvenanceVer}}]</br>[https://github.com/Provenance-Emu/Provenance/releases git]|| ||{{Ya}}
|[https://apps.apple.com/us/app/provenance-app/id1596862805 {{ProvenanceVer}}]
|
[https://github.com/Provenance-Emu/Provenance/releases git]
|{{Dunno}}
|{{Dunno}}  
|-
|||{{Dunno}}
| [https://docs.libretro.com/library/same_cdi/ Same CDi<br/><small>same_cdi_libretro</small>]
| align=left|{{Icon|Android|iOS}}
| [https://buildbot.libretro.com/nightly/ libretro core]
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{✓}}
| ||{{~}}
|-
|-
! colspan="11" |[[FPGA]]
! colspan="7" |[[FPGA]]
|-
|-
| CDi_MiSTer
|CDi_MiSTer
| align=left|[[MiSTer]]
| align="left" |[[MiSTer]]||{{Ya}}
| [https://github.com/MiSTer-devel/CDi_MiSTer/releases dvc_rc0]
|[https://github.com/MiSTer-devel/CDi_MiSTer/releases dvc_rc0]||{{Green}} {{License|GPLv3}} ({{License|Copyleft}})  
|{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) ||{{✓}}
|||{{Ya}}
| ||{{}}
|}
|}
===Comparisons===
;[[MAME]]
:This [[multi-system emulators|multi-system emulator]] includes a driver for the CD-i, although support is incomplete as it still has no [[#Digital Video Cartridge|DVC emulation]].<ref>https://github.com/mamedev/mame/issues/1170</ref> Starting the game from disc is recommended; this can be done with the built-in frontend by picking the specific game or through a soft reset after mounting the disc. MAME is also currently the only program to provide CD-i emulation through a [[libretro]] core, which makes it the easiest and the most stable method of emulating the CD-i for now. Compared to CD-i Emulator, MAME is generally easier to control and can better emulate the audio for some games.
:;[https://docs.libretro.com/library/same_cdi/ Same CDi]
::SAME CDi is a S(ingle) A(rcade) M(achine) E(mulator) for libretro, just like [[Neo_Geo_and_variants#Emulators|NeoCD <small>(neocd_libretro)</small>]] forked from MAME libretro, which is in turn a fork of MAME. It includes only the Philips CD-i driver, and simplifies the loading of CD content to provide a 'plug-and-play' experience.
:;[https://mamedev.emulab.it/haze/ TinyCDi]
::An unofficial build of [[MESS]] from 2009 made by one of MAME's active developers, Haze. This build is named such that it only focuses on the CD-i. It uses a fixed game list. Some games have more issues than they have on the official MAME build.
;[[CD-i Emulator]]
:This emulator by CD-i Fan is currently closed-source donationware, with vague plans to move to [[Licensing#Open-core software|open-core]] at a future date.<ref>https://github.com/cdifan/cdiemu</ref> The public beta releases unfortunately handle free trial timing in a way that makes them unusable (without cracking, anyway) after set calendar dates; for the latest beta, 0.5.3 beta 10, this will be on 1st January 2027. The current betas do have proof-of-concept [[#Digital Video Cartridge|DVC emulation]], although compatibility may still be an issue.<ref>http://www.cdiemu.org/site/relnotes.htm</ref> Despite the long time between releases, this emulator is likely still in active development as of 2025, with work being done on the next version (likely called 0.6) that reportedly supports most of the DVC games and also has several other improvements.<ref>https://www.theworldofcdi.com/cd-i-emulation/cd-i-emulator-053beta5-titles-compatibilities/</ref> As a sneak peak you can already look at the [https://www.cdiemu.org/site/players060.htm Player Support for CD-i Emulator version 0.6.0 page.]
;CeDImu
:A much newer independent project being actively developed by Stovent, largely based on an unofficial documentation set written by CD-i Fan (the creator of CD-i Emulator).<ref>https://github.com/cdifan/cdichips</ref> As of 2025, it was still active but currently in pre-alpha status, so don't expect it to boot any games just yet.
;CD-iCE
:One of the earliest CD-i emulators. It doesn't need a BIOS, but it was only developed to be able to play Rise of the Robots and does not support anything else.


==Enhancements==
=== Comparisons ===
{| class="wikitable sortable" style="text-align:center;width:100%"
 
; [[MAME]]
: [https://github.com/mamedev/mame/issues/1170 This multi-system emulator includes a driver for the CD-i, although support is incomplete as it still has no DVC emulation.] Starting the game from disc is recommended; this can be done with the built-in frontend by picking the specific game or through a soft reset after mounting the disc. MAME is also currently the only program to provide CD-i emulation through a [[libretro]] core, which makes it the easiest and the most stable method of emulating the CD-i for now. Compared to CD-i Emulator, MAME is generally easier to control and can better emulate the audio for some games.
:; [https://docs.libretro.com/library/same_cdi/ Same CDi]
:: SAME CDi is a S(ingle) A(rcade) M(achine) E(mulator) for libretro, just like [[Neo Geo and variants#Emulators|NeoCD <small>(neocd_libretro)</small>]] forked from MAME libretro, which is in turn a fork of MAME. It includes only the Philips CD-i driver, and simplifies the loading of CD content to provide a 'plug-and-play' experience.
:; [https://mamedev.emulab.it/haze/ TinyCDi]
:: An unofficial build of [[MESS]] from 2009 made by one of MAME's active developers, Haze. This build is named such that it only focuses on the CD-i. It uses a fixed game list. Some games have more issues than they have on the official MAME build.
; [[CD-i Emulator]]
: [https://github.com/cdifan/cdiemu This emulator by CD-i Fan is currently closed-source donationware, with vague plans to move to open-core at a future date.] The public beta releases unfortunately handle free trial timing in a way that makes them unusable (without cracking, anyway) after set calendar dates; for the latest beta, 0.5.3 beta 10, this will be on 1st January 2027. [http://www.cdiemu.org/site/relnotes.htm The current betas do have proof-of-concept DVC emulation, although compatibility may still be an issue.] [https://www.theworldofcdi.com/cd-i-emulation/cd-i-emulator-053beta5-titles-compatibilities/ Despite the long time between releases, this emulator is likely still in active development as of 2025, with work being done on the next version (likely called 0.6) that reportedly supports most of the DVC games and also has several other improvements.] As a sneak peak you can already look at the [https://www.cdiemu.org/site/players060.htm Player Support for CD-i Emulator version 0.6.0 page.]
; CeDImu
: [https://github.com/cdifan/cdichips A much newer independent project being actively developed by Stovent, largely based on an unofficial documentation set written by CD-i Fan (the creator of CD-i Emulator).] As of 2025, it was still active but currently in pre-alpha status, so don't expect it to boot any games just yet.
; CD-iCE
: One of the earliest CD-i emulators. It doesn't need a BIOS, but it was only developed to be able to play Rise of the Robots and does not support anything else.
 
== Enhancements ==
{| {{Basic table}}
|+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages.
|+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages.
! colspan=2 style="width:50%" | Name
! colspan="2" style="width:50%" |Name
!CD-i Emulator
!CD-i Emulator
! Same CDi
!Same CDi
! MAME
!MAME
|-
|-
| rowspan="2" |Controls
| rowspan="2" |Controls
|[[Input_lag|Input lag-mitigating technique]]
|[[Input lag|Input lag-mitigating technique]]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|-
|-
|[https://docs.retroachievements.org/general/tutorials/turbo-button.html Turbo button]
|[https://docs.retroachievements.org/general/tutorials/turbo-button.html Turbo button]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|-
|-
| rowspan="3" | Graphics
| rowspan="3" |Graphics
| [[Resolution|Resizable internal resolution]]
|[[Resolution|Resizable internal resolution]]
| colspan="3" |For emulation of 2D systems, the resolution can only be upscaled, making the pixels more apparent.
| colspan="3" |For emulation of 2D systems, the resolution can only be upscaled, making the pixels more apparent.
|-
|-
| [[Texture_packs#Sprite_Replacement_.282D.29|Sprite Replacement]]
|[[Texture packs#Sprite Replacement (2D)|Sprite Replacement]]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
| {{Dunno}}
| {{Dunno}}
|-
|-
| [[Widescreen_hacks|Widescreen hack]]
|[[Widescreen hacks|Widescreen hack]]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
| {{Dunno}}
| {{Dunno}}
|-
|-
| rowspan="4" |Performance
| rowspan="4" |Performance
|[https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection/ Frame generation technologies]<br /><small>([https://store.steampowered.com/app/993090/Lossless_Scaling/ LSFG], [https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS_G.md DLSS-FG] and [https://nvidia.custhelp.com/app/answers/detail/a_id/5621/~/enabling-smooth-motion-in-nvidia-app SM], [https://www.techpowerup.com/316835/extrass-framework-paper-details-intels-take-on-frame-generation XeSS-FG], [https://community.amd.com/t5/gaming/amd-fluid-motion-frames-is-out-now-on-amd-radeon-rx-7000-series/ba-p/634372 AFMF] and [https://gpuopen.com/fidelityfx-super-resolution-3/#:~:text=Features-,Frame%20Generation,-Insert%20interpolated%20frames FSR FG])</small>
|[https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection/ Frame generation technologies]
| colspan="3" |<small>Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as [[Wikipedia:Motion_interpolation|motion interpolation]] is quite possible. [[Input_lag|Input latency]] will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use '''after applying the "Internal Framerate Hack"'''.<br/>While '''AFMF''' or '''LSFG''' can be used with MAME, please be aware that some visual glitches and artifacts may occur at this time.
<small>([https://store.steampowered.com/app/993090/Lossless_Scaling/ LSFG], [https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS_G.md DLSS-FG] and [https://nvidia.custhelp.com/app/answers/detail/a_id/5621/~/enabling-smooth-motion-in-nvidia-app SM], [https://www.techpowerup.com/316835/extrass-framework-paper-details-intels-take-on-frame-generation XeSS-FG], [https://community.amd.com/t5/gaming/amd-fluid-motion-frames-is-out-now-on-amd-radeon-rx-7000-series/ba-p/634372 AFMF] and [https://gpuopen.com/fidelityfx-super-resolution-3/#:~:text=Features-,Frame%20Generation,-Insert%20interpolated%20frames FSR FG])</small>
| colspan="3" |<small>Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as motion interpolation is quite possible. [[Input lag|Input latency]] will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use '''after applying the "internal frame rate Hack"'''.</small>
<small>While '''AFMF''' or '''LSFG''' can be used with MAME, please be aware that some visual glitches and artifacts may occur at this time.</small>
|-
|-
| [[30/60_FPS_cheat_codes|Internal frame rate hack]]
|[[30/60 FPS cheat codes|Internal frame rate hack]]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
| {{Dunno}}
| {{Dunno}}
|-
|-
| [[Overclocking|Overclock]]
|[[Overclocking|Overclock]]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
| {{Dunno}}
| {{Dunno}}
|-
|-
| Preload [[Wikipedia:Template:Disk_images|optical disc image]] to RAM<br /><small>For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement '''might''' offer smoother experience, potentially reduced power consumption; it also shines when disc images reside on a network drive.<br />Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.</small>
|Preload optical disc image to RAM
|{{Dunno}}
<small>For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement '''might''' offer smoother experience, potentially reduced power consumption; it also shines when disc images reside on a network drive.</small>
| {{Dunno}}
 
| {{Dunno}}
<small>Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.</small>
|{{Dunno}}||{{Dunno}}||{{Dunno}}
|-
|-
| rowspan="6" |Post-processing
| rowspan="6" |Post-processing
|{{Enhancements/Post-processing/AI-powered filter compatible}}
|{{Enhancements/Post-processing/AI-powered filter}}||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
| {{Dunno}}
| {{Dunno}}
|-
|-
| {{Enhancements/Post-processing/Filters}}
|{{Enhancements/Post-processing/Filters}}||{{Dunno}}||{{Ya}}||{{Ya}}
|{{Dunno}}
| {{Ya}}
| {{Ya}}
|-
|-
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
|[[High dynamic range#Inverse tone mapping|Inverse tone mapping]]||{{Dunno}}||{{Ya|link=https://www.libretro.com/index.php/category/hdr/}}||{{Dunno}}
|{{Dunno}}
| {{Ya}}[https://www.libretro.com/index.php/category/hdr/ *]
| {{Dunno}}
|-
|-
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering anti-aliasing]]<br /><small>(FXAA, TXAA and MLAA/SMAA)</small>
|Post-rendering anti-aliasing
|{{Dunno}}
<small>(FXAA, TXAA and MLAA/SMAA)</small>
| {{Ya}}
|{{Dunno}}||{{Ya}}||{{Dunno}}
| {{Dunno}}
|-
|-
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br /><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
|Post-rendering scaling
|{{Dunno}}
<small>(Sharp bilinear, Lanczos and FSR 1)</small>
| {{Ya}}
|{{Dunno}}||{{Ya}}||{{Ya}}
| {{Ya}}
|-
|-
| {{Enhancements/Post-processing/Shader chain}}
|{{Enhancements/Post-processing/Shader chain}}||{{Dunno}}||{{Ya}}||{{Ya}}
|{{Dunno}}
| {{Ya}}
| {{Ya}}
|-
|-
| rowspan="11" |Quality of life
| rowspan="11" |Quality of life
|Automatic updater
|Automatic updater||{{Dunno}}||{{Ya}}||{{Dunno}}
|{{Dunno}}
| {{Ya}}
| {{Dunno}}
|-
|-
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
|[[Frontends#Graphical User Interfaces (GUIs)|Big Picture Mode]]||{{Dunno}}||{{Ya}}||{{Ya}}
|{{Dunno}}
| {{Ya}}
| {{Ya}}
|-
|-
| Built-in [[Cheats_and_patches|cheat manager]]
|Built-in [[Cheats and patches|cheat manager]]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
| {{Dunno}}
| {{Dunno}}
|-
|-
| Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 custom resolution/CRTSwitchRes]<br /><small>For using this on Windows, you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br />Another option is using EDID editor tool such as "Custom Resolution Utility".</small>
|Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 custom resolution/CRTSwitchRes]
| colspan="3" |Exclusive to [https://docs.libretro.com/guides/crtswitchres/ libretro cores] and [[GroovyMAME]] at the moment.<br />Also there is a [https://github.com/psakhis/Groovy_MiSTer project] for achieving software emulators like libretro cores and GroovyMAME send the raw RGB data over a network to a core running on MiSTer, it basically turns the MiSTer into a GPU for the emulator allowing for easy setup and use with CRT TVs/Arcade monitors.
<small>For using this on Windows, you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].</small>
 
<small>Another option is using EDID editor tool such as "Custom Resolution Utility".</small>
| colspan="3" |Exclusive to [https://docs.libretro.com/guides/crtswitchres/ libretro cores] and [[GroovyMAME]] at the moment.
Also there is a [https://github.com/psakhis/Groovy_MiSTer project] for achieving software emulators like libretro cores and GroovyMAME send the raw RGB data over a network to a core running on MiSTer, it basically turns the MiSTer into a GPU for the emulator allowing for easy setup and use with CRT TVs/Arcade monitors.
|-
|-
| Built-in [[Mods,_hacks_and_fan-translations#Built-in mod editor and manager for emulators|mod editor and manager]]
|Built-in [[Mods, hacks and fan-translations#Built-in mod editor and manager for emulators|mod editor and manager]]||{{Dunno}}||{{Na}}||{{Na}}
|{{Dunno}}
| {{Na}}
| {{Na}}
|-
|-
| Built-in [[Cheats_and_patches|patch manager]]
|Built-in [[Cheats and patches|patch manager]]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
| {{Dunno}}
| {{Dunno}}
|-
|-
| Command-line options
|Command-line options||{{Dunno}}||{{Ya}}||{{Ya}}
|{{Dunno}}
| {{Ya}}
| {{Ya}}
|-
|-
|Pause/Resume emulation
|Pause/Resume emulation||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
| {{Dunno}}
| {{Dunno}}
|-
|-
| Per-game profiles
|Per-game profiles||{{Dunno}}||{{Ya}}||{{Ya}}
|{{Dunno}}
| {{Ya}}
| {{Ya}}
|-
|-
|[https://www.portablefreeware.com/faq.php#portable Portable] and [https://www.portablefreeware.com/faq.php#stealth stealth]<br /><small>Useful enhancement feature for non-personal computer use or plug-and-play scenarios. However, the software may still require the necessary [[Computer_specifications#Operating_System|prerequisites and dependencies]] for your operating system if it is not statically linked.</small>
|[https://www.portablefreeware.com/faq.php#portable Portable] and [https://www.portablefreeware.com/faq.php#stealth stealth]
|{{Dunno}}
<small>Useful enhancement feature for non-personal computer use or plug-and-play scenarios. However, the software may still require the necessary [[Computer specifications#Operating System|prerequisites and dependencies]] for your operating system if it is not statically linked.</small>
| {{Ya}}
|{{Dunno}}||{{Ya}}||{{Ya}}
| {{Ya}}
|-
|-
| [[Save_disk_space_for_ISOs|Streamable compression format]]
|[[Save disk space for ISOs|Streamable compression format]]||{{Dunno}}||{{Ya}}||{{Ya}}
|{{Dunno}}
| {{Ya}}
| {{Ya}}
|-
|-
| rowspan="6" |[https://tasvideos.org/Emulatorresources/Features TAS features]
| rowspan="6" |[https://tasvideos.org/Emulatorresources/Features TAS features]
|Fast forward/Turbo speed
|Fast forward/Turbo speed||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|-
|-
|Frame step<br /><small>(forwards and backwards)</small>
|Frame step
|{{Dunno}}
<small>(forwards and backwards)</small>
|{{Dunno}}
|{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
|-
|-
|[[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
|Macros/Scripts/[https://tasvideos.org/LuaScripting Lua]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|-
|-
|[https://tasvideos.org/Movies Movie recording/playback]
|[https://tasvideos.org/Movies Movie recording/playback]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|-
|-
|Rewind
|Rewind||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|-
|-
|Save states
|Save states||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|-
|-
| rowspan="9" |Misc.
| rowspan="9" |Misc.
|[[Sound and audio#Ambient_sounds_simulation|Ambient sounds simulation]]<br /><small>Simulation of audio from original hardware and environments, such as mechanical hard drive, floppy diskette, and optical drive noises (e.g., head seeks, spin-up/down, tray loading, disc spinning, and clicking), variable CRT flyback transformer whine (the classic high-pitched "coil whine" that dynamically changes pitch based on screen brightness and content), arcade cabinet effects (e.g., fan hum or button rattles), and other background ambient noises.</small>
|[[Sound and audio#Ambient sounds simulation|Ambient sounds simulation]]
|{{Dunno}}||{{Na}}
<small>Simulation of audio from original hardware and environments, such as mechanical hard drive, floppy diskette, and optical drive noises (e.g., head seeks, spin-up/down, tray loading, disc spinning, and clicking), variable CRT flyback transformer whine (the classic high-pitched "coil whine" that dynamically changes pitch based on screen brightness and content), arcade cabinet effects (e.g., fan hum or button rattles), and other background ambient noises.</small>
|{{Na}}
|{{Dunno}}||{{Na}}||{{Na}}
|-
|-
|[[Sound and audio#Audio filters and presets|Audio filters and presets]]<br /><small>Simulation of characteristic playback limitations and coloration of vintage consumer audio hardware, such as CRT television speakers, arcade cabinets, handheld consoles, early PC sound outputs, and low-fidelity integrated speakers. These filters are not intended to be perfectly accurate recreations, but rather to evoke the tonal qualities, distortion, bandwidth limits, resonance, and compression associated with 8-bit and 16-bit era devices. Examples include mono or narrow stereo output, reduced frequency response, speaker cone distortion, mild saturation, aliasing, and preset lo-fi profiles inspired by classic TVs, portable game systems, radios, and retro multimedia hardware.</small>
|[[Sound and audio#Audio filters and presets|Audio filters and presets]]
<small>Simulation of characteristic playback limitations and coloration of vintage consumer audio hardware, such as CRT television speakers, arcade cabinets, handheld consoles, early PC sound outputs, and low-fidelity integrated speakers. These filters are not intended to be perfectly accurate recreations, but rather to evoke the tonal qualities, distortion, bandwidth limits, resonance, and compression associated with 8-bit and 16-bit era devices. Examples include mono or narrow stereo output, reduced frequency response, speaker cone distortion, mild saturation, aliasing, and preset lo-fi profiles inspired by classic TVs, portable game systems, radios, and retro multimedia hardware.</small>
| colspan="3" |Exclusive to [https://github.com/RetroCrisis/Retro-Crisis-Audio-Filters libretro cores] at the moment.
| colspan="3" |Exclusive to [https://github.com/RetroCrisis/Retro-Crisis-Audio-Filters libretro cores] at the moment.
|-
|-
| [[Wikipedia:Category:Debugging|Debug features]]
|Debug features||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
| {{Dunno}}
| {{Dunno}}
|-
|-
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
|[[Virtual reality#VR game room simulations|EmuVR support]]
| colspan="3" |Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment.
| colspan="3" |Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment.
|-
|-
| Free Look<br /><small>Free Look is a enhancement feature that allows manipulation of the in-game camera.</small>
|Free Look
| colspan="3" |<small>While freecam would be technically possible, it will require per-game patches.<br />Said patches would require a significant amount of time to reverse the game's engine, which means that only someone talented with enough dedication to a single game could do it.</small>
<small>Free Look is a enhancement feature that allows manipulation of the in-game camera.</small>
| colspan="3" |<small>While freecam would be technically possible, it will require per-game patches.</small>
<small>Said patches would require a significant amount of time to reverse the game's engine, which means that only someone talented with enough dedication to a single game could do it.</small>
|-
|-
| [[Netplay]]
|[[Netplay]]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
| {{Dunno}}
| {{Dunno}}
|-
|-
| [[RetroAchievements]]
|[[RetroAchievements]]||{{Dunno}}||{{Na}}||{{Na}}
|{{Dunno}}
| {{Na}}
| {{Na}}
|-
|-
|Rich Presence (RPC)<br/><small>Allows the emulator to share real-time game session details (e.g., current game title, level, boss, playtime, or custom status) with external applications. This enables features such as displaying what you're playing on your profile, inviting friends to spectate, or triggering join-in-progress functionality where supported.</small>
|Rich Presence (RPC)
|{{Dunno}}||{{Ya}}
<small>Allows the emulator to share real-time game session details (e.g., current game title, level, boss, playtime, or custom status) with external applications. This enables features such as displaying what you're playing on your profile, inviting friends to spectate, or triggering join-in-progress functionality where supported.</small>
|{{Dunno}}
|{{Dunno}}||{{Ya}}||{{Dunno}}
|-
|-
|Screen translator<br /><small>Using optical character recognition (OCR) and other techniques, this feature can provide live translation of in-game text, text-to-speech for visually impaired users, and more — either on demand or automatically.</small>
|Screen translator
<small>Using optical character recognition (OCR) and other techniques, this feature can provide live translation of in-game text, text-to-speech for visually impaired users, and more — either on demand or automatically.</small>
| colspan="3" |You can use [https://docs.libretro.com/guides/ai-service/ RetroArch's AI Service] or the standalone offline [https://github.com/bquenin/interpreter bquenin's Interpreter].
| colspan="3" |You can use [https://docs.libretro.com/guides/ai-service/ RetroArch's AI Service] or the standalone offline [https://github.com/bquenin/interpreter bquenin's Interpreter].
|}
|}


==Hardware features and accessories==
== Hardware features and accessories ==
{|class="wikitable sortable" style="text-align:center;width:100%"
{| {{Basic table}}
|+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages.
|+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages.
! colspan=2 style="width:50%" | Name
! colspan="2" style="width:50%" |Name
! CD-i Emulator
!CD-i Emulator
! Same CDi
!Same CDi
! MAME
!MAME
|-
|-
| colspan=2 | [[Disc Drive emulation|CD-i Player]]
| colspan="2" |[[Disc Drive emulation|CD-i Player]]||{{Dunno}}||{{Na}}||{{Dunno}}
|{{Dunno}}
|{{Na}}
|{{Dunno}}
|-
|-
| colspan=2 | [[Early_online_services#CD-Online_.28Philips_CD-i.29|CD-Online]]
| colspan="2" |[[Early online services#CD-Online (Philips CD-i)|CD-Online]]||{{Dunno}}||{{Dunno}}||{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|{{Dunno}}
|-
|-
| colspan=2 | [[#Digital_Video_Cartridge|Digital Video Cartridge]]
| colspan="2" |[[CD-i#Digital Video Cartridge|Digital Video Cartridge]]||{{~|link=https://www.cdiemu.org/site/dvcarts.htm}}||{{Na}}<ref>https://github.com/libretro/same_cdi/issues/7, https://github.com/zach-morris/same_cdi/issues/14</ref>||{{Na|link=https://github.com/mamedev/mame/issues/1170}}
|{{~}}[https://www.cdiemu.org/site/dvcarts.htm *]
|{{Na}}[https://github.com/libretro/same_cdi/issues/7][https://github.com/zach-morris/same_cdi/issues/14]
|{{Na}}[https://github.com/mamedev/mame/issues/1170 *]
|}
|}
===Digital Video Cartridge===
The one and only expansion card officially sold for the CD-i was the '''MPEG Digital Video Cartridge''' (DVC), a hardware MPEG-1 video decoder which enabled CD-i Digital Video and [[wikipedia:Video CD|Video CD]] playback as well as enhanced FMV capabilities for games that support it (similarly to the [[Sega_Saturn_emulators#Hardware_features_and_accessories|Sega Saturn's Video CD Card]]). As of 2025, there is no emulator that fully supports the DVC, and several games that require MPEG-1 video decoding will be pretty much unplayable without that support. To know whether your chosen games require the DVC, either check the "DVC status" column of [[wikipedia:List of CD-i games#Games|Wikipedia's CD-i game list]], or check [https://github.com/mamedev/mame/blob/master/hash/cdi.xml MAME's CD-i hash list] for games where the list includes <code>&lt;sharedfeat name="compatibility" value="DVC" /&gt;</code>. [https://github.com/MiSTer-devel/CDi_MiSTer CDi_MiSTer] FPGA core partially supports DVC emulation.


=== Digital Video Cartridge ===
The one and only expansion card officially sold for the CD-i was the '''MPEG Digital Video Cartridge''' (DVC), a hardware MPEG-1 video decoder which enabled CD-i Digital Video and Video CD playback as well as enhanced FMV capabilities for games that support it (similarly to the [[Sega Saturn emulators#Hardware features and accessories|Sega Saturn's Video CD Card]]). As of 2025, there is no emulator that fully supports the DVC, and several games that require MPEG-1 video decoding will be pretty much unplayable without that support. To know whether your chosen games require the DVC, either check the "DVC status" column of [[wikipedia:List of CD-i games#Games|Wikipedia's CD-i game list]], or check [https://github.com/mamedev/mame/blob/master/hash/cdi.xml MAME's CD-i hash list] for games where the list includes <code>&#x3C;sharedfeat name="compatibility" value="DVC" /&#x3E;</code>. [https://github.com/MiSTer-devel/CDi_MiSTer CDi_MiSTer] FPGA core partially supports DVC emulation.
{| class="wikitable"
{| class="wikitable"
! Model !! RAM !! Region !! Notes
!Model
!RAM
!Region
!Notes
|-
|-
| '''22ER9141 (AH00)''' || 1MB || PAL || The initial consumer DVC. Uses the Motorola 68000-based architecture.
|'''22ER9141 (AH00)'''
|1MB
|PAL
|The initial consumer DVC. Uses the Motorola 68000-based architecture.
|-
|-
| '''22ER9141 (AH01)''' || 1MB || NTSC || North American equivalent to the AH00.
|'''22ER9141 (AH01)'''
|1MB
|NTSC
|North American equivalent to the AH00.
|-
|-
| '''22ER9956 (AH02)''' || 1MB || Universal || An updated revision with improved microcode for better synchronization.
|'''22ER9956 (AH02)'''
|1MB
|Universal
|An updated revision with improved microcode for better synchronization.
|-
|-
| '''22ER9956 (AH03)''' || 1MB || Universal || The final major revision. Often considered the most stable for software compatibility in emulators like [[MAME]] and [[Celine]].
|'''22ER9956 (AH03)'''
|1MB
|Universal
|The final major revision. Often considered the most stable for software compatibility in emulators like [[MAME]] and [[Celine]].
|}
|}


==Hardware variants==
== Hardware variants ==
CD-i has many hardware variants, and some third-party manufacturers even produced their own [[Home media players|media players]] based on the CD-i format and technology.[https://www.cdiemu.org/?body=site/dvcarts.htm]
CD-i has many hardware variants, and some third-party manufacturers even produced their own [[Home media players|media players]] based on the CD-i format and technology.[https://www.cdiemu.org/?body=site/dvcarts.htm]


===Internal Board Revisions===
=== Internal Board Revisions ===
The underlying architecture of CD-i players changed drastically over the platform's lifespan to reduce costs and consolidate chips. Knowing the board type is critical for emulation, as it dictates which chips (like the VDSC or CDIC) are present.
The underlying architecture of CD-i players changed drastically over the platform's lifespan to reduce costs and consolidate chips. Knowing the board type is critical for emulation, as it dictates which chips (like the VDSC or CDIC) are present.
{| class="wikitable"
{| class="wikitable"
! Board !! Description !! Chips !! Used In
!Board
!Description
!Chips
!Used In
|-
|-
| '''JNMS''' || Original Japanese New Media System board (?) || VSR + 2xVSC and CDIC || CD-i 180 development player
|'''JNMS'''
|Original Japanese New Media System board (?)
|VSR + 2xVSC and CDIC
|CD-i 180 development player
|-
|-
| '''Maxi-MMC''' || Original MultiMedia Controller board || VSR + 2xVSC and CDIC + SLAVE || CD-i 601 and CD-i 602 professional players
|'''Maxi-MMC'''
|Original MultiMedia Controller board
|VSR + 2xVSC and CDIC + SLAVE
|CD-i 601 and CD-i 602 professional players
|-
|-
| '''Mini-MMC''' || Miniature MultiMedia Controller board || VSD + 2xVSC and CDIC + SLAVE || CD-i 605 and CD-i 205/910 players
|'''Mini-MMC'''
|Miniature MultiMedia Controller board
|VSD + 2xVSC and CDIC + SLAVE
|CD-i 605 and CD-i 205/910 players
|-
|-
| '''Mono-I''' || First generation Monoboard || VDSC and CDIC + SLAVE || 2nd generation consumer players
|'''Mono-I'''
|First generation Monoboard
|VDSC and CDIC + SLAVE
|2nd generation consumer players
|-
|-
| '''Mono-II''' || Second generation Monoboard || VDSC and DSP + SLAVE || 3rd generation consumer players
|'''Mono-II'''
|Second generation Monoboard
|VDSC and DSP + SLAVE
|3rd generation consumer players
|-
|-
| '''Mono-III''' || Third generation Monoboard || VDSC and CIAP + IKAT || 4th generation consumer players
|'''Mono-III'''
|Third generation Monoboard
|VDSC and CIAP + IKAT
|4th generation consumer players
|-
|-
| '''Mono-IV''' || Fourth generation Monoboard || VDSC and CIAP + IKAT || 5th generation consumer players
|'''Mono-IV'''
|Fourth generation Monoboard
|VDSC and CIAP + IKAT
|5th generation consumer players
|-
|-
| '''Mono-V''' || Fifth generation Monoboard || Chips used unknown || Skipped; never went into production
|'''Mono-V'''
|Fifth generation Monoboard
|Chips used unknown
|Skipped; never went into production
|-
|-
| '''Mono-VI''' || Sixth generation Monoboard (One-Chip CD-i) || VDSC and CIAP + IKAT || 6th generation consumer players (untested)
|'''Mono-VI'''
|Sixth generation Monoboard (One-Chip CD-i)
|VDSC and CIAP + IKAT
|6th generation consumer players (untested)
|-
|-
| '''Roboco''' || Smaller footprint variation of Mono-III board || VDSC and CIAP + IKAT || Small form-factor consumer players
|'''Roboco'''
|Smaller footprint variation of Mono-III board
|VDSC and CIAP + IKAT
|Small form-factor consumer players
|-
|-
| '''Goldstar''' || Various Goldstar boards using 68340 processor (formerly called PCDI boards) || VDSC and CD/AP + RCHIP || CD-i 370 / GPI-1200M portable consumer and some rebranded consumer players
|'''Goldstar'''
|Various Goldstar boards using 68340 processor (formerly called PCDI boards)
|VDSC and CD/AP + RCHIP
|CD-i 370 / GPI-1200M portable consumer and some rebranded consumer players
|}
|}


===Philips Models (First-Party)===
=== Philips Models (First-Party) ===
Philips released several "series" of players, each with slightly different internal BIOS and board revisions. The numbers following the slash (e.g., /00, /17) generally indicate regional variations or minor hardware revisions.
Philips released several "series" of players, each with slightly different internal BIOS and board revisions. The numbers following the slash (e.g., /00, /17) generally indicate regional variations or minor hardware revisions.


* '''100 Series (180):''' The original "professional" and early consumer units (180/20/37). These often have a distinct, older BIOS look and feel.
* '''100 Series (180):''' The original "professional" and early consumer units (180/20/37). These often have a distinct, older BIOS look and feel.
* '''200 Series (200 / 205 / 210 / 220):''' The most common consumer units. They resemble high-end VCRs.  
* '''200 Series (200 / 205 / 210 / 220):''' The most common consumer units. They resemble high-end VCRs.
** Models include: 200/00/17/20/37/40/57, 205/00, 210/00/17/20/25/37/40/57/60/77, 220/00/17/20/37/40/57/60/77/80/97.
** Models include: 200/00/17/20/37/40/57, 205/00, 210/00/17/20/25/37/40/57/60/77, 220/00/17/20/37/40/57/60/77/80/97.
** ''Notes:'' The CD-i 200 is the USA version of the CD-i 210. The CD-i 210/00 is internally a CD-i 220/20 in a different case with some features missing.
** ''Notes:'' The CD-i 200 is the USA version of the CD-i 210. The CD-i 210/00 is internally a CD-i 220/20 in a different case with some features missing.
Line 407: Line 367:
** '''21TCDI30/00:''' A television set containing a built-in CD-i 210/40.
** '''21TCDI30/00:''' A television set containing a built-in CD-i 210/40.


===Third-Party Manufacturers===
=== Third-Party Manufacturers ===
Because CD-i was intended as a universal standard (like [[Home media players|VHS or Audio CD]]), several other companies produced hardware:
Because CD-i was intended as a universal standard (like [[Home media players|VHS or Audio CD]]), several other companies produced hardware:


* '''Goldstar / LG:'''  
* '''Goldstar / LG:'''
** '''GDI 750 / GDI 1000''' (00/17): Rebranded Philips CD-i 450 units.
** '''GDI 750 / GDI 1000''' (00/17): Rebranded Philips CD-i 450 units.
** '''GPI-1200M/00:''' A portable unit (also rebranded by Philips as the 370).
** '''GPI-1200M/00:''' A portable unit (also rebranded by Philips as the 370).
** '''LG GDI-700/00'''.
** '''LG GDI-700/00'''.
* '''Magnavox:''' Primarily rebranded Philips units for the North American market (e.g., Magnavox CD-i 200).
* '''Magnavox:''' Primarily rebranded Philips units for the North American market (e.g., Magnavox CD-i 200).
* '''Sony:''' Produced the ''' Sony IVO-V10''' (Intelligent Video), a portable player aimed at industrial and educational use.
* '''Sony:''' Produced the '''Sony IVO-V10''' (Intelligent Video), a portable player aimed at industrial and educational use.
* '''Samsung:''' Released the '''Samsung DV-5500''', which is highly sought after by collectors for its unique build quality.
* '''Samsung:''' Released the '''Samsung DV-5500''', which is highly sought after by collectors for its unique build quality.
* '''Kyocera:''' Produced the '''Kyocera Pro 1000'''.
* '''Kyocera:''' Produced the '''Kyocera Pro 1000'''.
Line 422: Line 382:
* '''DMB Korea:''' Released the '''DMB-1000/00'''.
* '''DMB Korea:''' Released the '''DMB-1000/00'''.


===Emulation Considerations===
=== Emulation Considerations ===
 
* '''BIOS Matching:''' Most CD-i emulators require a specific BIOS file that matches the hardware model. For general gaming, a Philips 220 or 450 BIOS is recommended. The board type (Mono-I vs Mono-IV, etc.) dictates which emulation profiles will boot successfully.
* '''BIOS Matching:''' Most CD-i emulators require a specific BIOS file that matches the hardware model. For general gaming, a Philips 220 or 450 BIOS is recommended. The board type (Mono-I vs Mono-IV, etc.) dictates which emulation profiles will boot successfully.
* '''DVC Emulation:''' To play games marked as "Digital Video Required," the emulator must have a DVC ROM (like the AH00, AH01, AH02, or AH03) mapped to the system. Without this, the system will prompt the user to "Insert Digital Video Cartridge" or simply crash to the shell.
* '''DVC Emulation:''' To play games marked as "Digital Video Required," the emulator must have a DVC ROM (like the AH00, AH01, AH02, or AH03) mapped to the system. Without this, the system will prompt the user to "Insert Digital Video Cartridge" or simply crash to the shell.
* '''NVRAM:''' The CD-i uses Timekeeper RAM (NVRAM) to store save games. In real hardware, these batteries eventually die; emulators handle this by creating a separate `.nv` or `.srm` file.
* '''NVRAM:''' The CD-i uses Timekeeper RAM (NVRAM) to store save games. In real hardware, these batteries eventually die; emulators handle this by creating a separate `.nv` or `.srm` file.


==External links==
== Notes ==
*[https://github.com/MiSTer-devel/CDi_MiSTer CDi_MiSTer]
{{Notelist|group=note}}
*[https://github.com/TobiFlex/TG68K.C TG68K.C]
 
*[https://opencores.org/projects/68hc05 68hc05]
== References ==
*[https://github.com/cdifan/cdichips cdichips]
{{Reflist}}
*[http://www.icdia.co.uk/microware/index.html icdia: Microware OS-9 Documentation]
 
*[https://github.com/Stovent/CeDImu/blob/master/src/CDI/OS9/SystemCalls.hpp CeDImu: SystemCalls.hpp]
== External links ==
*[https://github.com/mamedev/mame/blob/master/src/mame/philips/cdi.cpp MAME's cdi.cpp]


==References==
* [https://github.com/MiSTer-devel/CDi_MiSTer CDi_MiSTer]
<references/>
* [https://github.com/TobiFlex/TG68K.C TG68K.C]
* [https://opencores.org/projects/68hc05 68hc05]
* [https://github.com/cdifan/cdichips cdichips]
* [http://www.icdia.co.uk/microware/index.html icdia: Microware OS-9 Documentation]
* [https://github.com/Stovent/CeDImu/blob/master/src/CDI/OS9/SystemCalls.hpp CeDImu: SystemCalls.hpp]
* [https://github.com/mamedev/mame/blob/master/src/mame/philips/cdi.cpp MAME's cdi.cpp]


{{Philips}}
{{Philips}}


[[Category:68k-based]]
[[Category:68070-based]]
[[Category:CD-ROM-based]]
[[Category:CD-ROM-based]]
[[Category:Discontinued video game consoles]]
[[Category:Discontinued video game consoles]]
[[Category:Fourth-generation video game consoles]]
[[Category:Fourth-generation video game consoles]]
[[Category:Home video game consoles]]
[[Category:Home video game consoles]]

Latest revision as of 22:59, 15 September 2026

Compact Disc-Interactive
Philips CDI 910, the first consumer-oriented CD-i player, pictured with its "Touchpad" game controller
Manufacturer Philips, Sony
Type Home video game console
Media player
Generation Fourth
Discontinued June 1999
Emulated [#Hardware_features_and_accessories ~][note 1]

CD-i (Compact Disc Interactive), is a disk format and media player developed and released by Philips. The main system ran on Microware OS-9 and had a Philips SCC68070 CPU at 15.5 MHz with 1MB of RAM. It has many hardware variants, and some third-party manufacturers even produced their own media players based on the CD-i format and technology.

The CD-i was never meant to be a video game console, it was designed to be a "Interactive Multimedia" CD player, targeted mainly at people with disposable income. When the system started to show signs of being a major flop for Philips, they pivoted the direction of the CD-i into the uncharted territories of video games.

The CD-i is best known nowadays for being home to a port of Tetris with a new-age Jim Andron soundtrack, and four particularly notorious games loosely based on Nintendo copyrights, which were mainly made possible by Philips's prior attempts to develop a CD add-on for the SNES. Their takes on Nintendo intellectual property have earned so much infamy over the years that you would be hard-pressed to find anyone who doesn't immediately think of them whenever you mention the CD-i. However, there were a few cult classic games for the system as well.

Emulators

[edit | edit source]
Before editing, review the getting involved and recommended pages. See system requirements page for performance demand of the emulators.
See tables for enhancements, hardware features & peripherals, and hardware variants.
For more details such as licensing, programming language, emulation method, visit each emulator’s dedicated page.
Name Platform(s) Active? Latest version License Compatibility Recommended? (overall)
PC
CD-i Emulator Windows 0.5.3 beta 10

0.5.3 beta 8 (Patched)

Proprietary 27.03%
10 out of 37 reported titles
~
Same CDi

same_cdi_libretro

Windows Linux macOS FreeBSD libretro core GPLv2 (Copyleft) ~
MAME Windows Linux macOS FreeBSD 0.289 GPLv2
BSD-3-Clause
~
CD-iCE Windows Linux 2001-08-20 Proprietary
CeDImu Windows Linux ~ None (pre-alpha) ? (WIP)
TinyCDi Windows ? Proprietary
Mobile
Same CDi

same_cdi_libretro

Android iOS libretro core GPLv2 (Copyleft) ~
Provenance iOS iPadOS AppleTV 3.3.0

git

? ?
FPGA
CDi_MiSTer MiSTer dvc_rc0 GPLv3 (Copyleft)

Comparisons

[edit | edit source]
MAME
This multi-system emulator includes a driver for the CD-i, although support is incomplete as it still has no DVC emulation. Starting the game from disc is recommended; this can be done with the built-in frontend by picking the specific game or through a soft reset after mounting the disc. MAME is also currently the only program to provide CD-i emulation through a libretro core, which makes it the easiest and the most stable method of emulating the CD-i for now. Compared to CD-i Emulator, MAME is generally easier to control and can better emulate the audio for some games.
Same CDi
SAME CDi is a S(ingle) A(rcade) M(achine) E(mulator) for libretro, just like NeoCD (neocd_libretro) forked from MAME libretro, which is in turn a fork of MAME. It includes only the Philips CD-i driver, and simplifies the loading of CD content to provide a 'plug-and-play' experience.
TinyCDi
An unofficial build of MESS from 2009 made by one of MAME's active developers, Haze. This build is named such that it only focuses on the CD-i. It uses a fixed game list. Some games have more issues than they have on the official MAME build.
CD-i Emulator
This emulator by CD-i Fan is currently closed-source donationware, with vague plans to move to open-core at a future date. The public beta releases unfortunately handle free trial timing in a way that makes them unusable (without cracking, anyway) after set calendar dates; for the latest beta, 0.5.3 beta 10, this will be on 1st January 2027. The current betas do have proof-of-concept DVC emulation, although compatibility may still be an issue. Despite the long time between releases, this emulator is likely still in active development as of 2025, with work being done on the next version (likely called 0.6) that reportedly supports most of the DVC games and also has several other improvements. As a sneak peak you can already look at the Player Support for CD-i Emulator version 0.6.0 page.
CeDImu
A much newer independent project being actively developed by Stovent, largely based on an unofficial documentation set written by CD-i Fan (the creator of CD-i Emulator). As of 2025, it was still active but currently in pre-alpha status, so don't expect it to boot any games just yet.
CD-iCE
One of the earliest CD-i emulators. It doesn't need a BIOS, but it was only developed to be able to play Rise of the Robots and does not support anything else.

Enhancements

[edit | edit source]
Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages.
Name CD-i Emulator Same CDi MAME
Controls Input lag-mitigating technique ? ? ?
Turbo button ? ? ?
Graphics Resizable internal resolution For emulation of 2D systems, the resolution can only be upscaled, making the pixels more apparent.
Sprite Replacement ? ? ?
Widescreen hack ? ? ?
Performance Frame generation technologies

(LSFG, DLSS-FG and SM, XeSS-FG, AFMF and FSR FG)

Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as motion interpolation is quite possible. Input latency will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use after applying the "internal frame rate Hack".

While AFMF or LSFG can be used with MAME, please be aware that some visual glitches and artifacts may occur at this time.

Internal frame rate hack ? ? ?
Overclock ? ? ?
Preload optical disc image to RAM

For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement might offer smoother experience, potentially reduced power consumption; it also shines when disc images reside on a network drive.

Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.

? ? ?
Post-processing AI-powered filter
(Freestyle)
? ? ?
Filters ?
Inverse tone mapping ? ?
Post-rendering anti-aliasing

(FXAA, TXAA and MLAA/SMAA)

? ?
Post-rendering scaling

(Sharp bilinear, Lanczos and FSR 1)

?
Shader chain ?
Quality of life Automatic updater ? ?
Big Picture Mode ?
Built-in cheat manager ? ? ?
Built-in custom resolution/CRTSwitchRes

For using this on Windows, you need CRT Emudriver.

Another option is using EDID editor tool such as "Custom Resolution Utility".

Exclusive to libretro cores and GroovyMAME at the moment.

Also there is a project for achieving software emulators like libretro cores and GroovyMAME send the raw RGB data over a network to a core running on MiSTer, it basically turns the MiSTer into a GPU for the emulator allowing for easy setup and use with CRT TVs/Arcade monitors.

Built-in mod editor and manager ?
Built-in patch manager ? ? ?
Command-line options ?
Pause/Resume emulation ? ? ?
Per-game profiles ?
Portable and stealth

Useful enhancement feature for non-personal computer use or plug-and-play scenarios. However, the software may still require the necessary prerequisites and dependencies for your operating system if it is not statically linked.

?
Streamable compression format ?
TAS features Fast forward/Turbo speed ? ? ?
Frame step

(forwards and backwards)

? ? ?
Macros/Scripts/Lua ? ? ?
Movie recording/playback ? ? ?
Rewind ? ? ?
Save states ? ? ?
Misc. Ambient sounds simulation

Simulation of audio from original hardware and environments, such as mechanical hard drive, floppy diskette, and optical drive noises (e.g., head seeks, spin-up/down, tray loading, disc spinning, and clicking), variable CRT flyback transformer whine (the classic high-pitched "coil whine" that dynamically changes pitch based on screen brightness and content), arcade cabinet effects (e.g., fan hum or button rattles), and other background ambient noises.

?
Audio filters and presets

Simulation of characteristic playback limitations and coloration of vintage consumer audio hardware, such as CRT television speakers, arcade cabinets, handheld consoles, early PC sound outputs, and low-fidelity integrated speakers. These filters are not intended to be perfectly accurate recreations, but rather to evoke the tonal qualities, distortion, bandwidth limits, resonance, and compression associated with 8-bit and 16-bit era devices. Examples include mono or narrow stereo output, reduced frequency response, speaker cone distortion, mild saturation, aliasing, and preset lo-fi profiles inspired by classic TVs, portable game systems, radios, and retro multimedia hardware.

Exclusive to libretro cores at the moment.
Debug features ? ? ?
EmuVR support Exclusive to libretro cores at the moment.
Free Look

Free Look is a enhancement feature that allows manipulation of the in-game camera.

While freecam would be technically possible, it will require per-game patches.

Said patches would require a significant amount of time to reverse the game's engine, which means that only someone talented with enough dedication to a single game could do it.

Netplay ? ? ?
RetroAchievements ?
Rich Presence (RPC)

Allows the emulator to share real-time game session details (e.g., current game title, level, boss, playtime, or custom status) with external applications. This enables features such as displaying what you're playing on your profile, inviting friends to spectate, or triggering join-in-progress functionality where supported.

? ?
Screen translator

Using optical character recognition (OCR) and other techniques, this feature can provide live translation of in-game text, text-to-speech for visually impaired users, and more — either on demand or automatically.

You can use RetroArch's AI Service or the standalone offline bquenin's Interpreter.

Hardware features and accessories

[edit | edit source]
Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages.
Name CD-i Emulator Same CDi MAME
CD-i Player ? ?
CD-Online ? ? ?
Digital Video Cartridge ~ [1]

Digital Video Cartridge

[edit | edit source]

The one and only expansion card officially sold for the CD-i was the MPEG Digital Video Cartridge (DVC), a hardware MPEG-1 video decoder which enabled CD-i Digital Video and Video CD playback as well as enhanced FMV capabilities for games that support it (similarly to the Sega Saturn's Video CD Card). As of 2025, there is no emulator that fully supports the DVC, and several games that require MPEG-1 video decoding will be pretty much unplayable without that support. To know whether your chosen games require the DVC, either check the "DVC status" column of Wikipedia's CD-i game list, or check MAME's CD-i hash list for games where the list includes <sharedfeat name="compatibility" value="DVC" />. CDi_MiSTer FPGA core partially supports DVC emulation.

Model RAM Region Notes
22ER9141 (AH00) 1MB PAL The initial consumer DVC. Uses the Motorola 68000-based architecture.
22ER9141 (AH01) 1MB NTSC North American equivalent to the AH00.
22ER9956 (AH02) 1MB Universal An updated revision with improved microcode for better synchronization.
22ER9956 (AH03) 1MB Universal The final major revision. Often considered the most stable for software compatibility in emulators like MAME and Celine.

Hardware variants

[edit | edit source]

CD-i has many hardware variants, and some third-party manufacturers even produced their own media players based on the CD-i format and technology.[1]

Internal Board Revisions

[edit | edit source]

The underlying architecture of CD-i players changed drastically over the platform's lifespan to reduce costs and consolidate chips. Knowing the board type is critical for emulation, as it dictates which chips (like the VDSC or CDIC) are present.

Board Description Chips Used In
JNMS Original Japanese New Media System board (?) VSR + 2xVSC and CDIC CD-i 180 development player
Maxi-MMC Original MultiMedia Controller board VSR + 2xVSC and CDIC + SLAVE CD-i 601 and CD-i 602 professional players
Mini-MMC Miniature MultiMedia Controller board VSD + 2xVSC and CDIC + SLAVE CD-i 605 and CD-i 205/910 players
Mono-I First generation Monoboard VDSC and CDIC + SLAVE 2nd generation consumer players
Mono-II Second generation Monoboard VDSC and DSP + SLAVE 3rd generation consumer players
Mono-III Third generation Monoboard VDSC and CIAP + IKAT 4th generation consumer players
Mono-IV Fourth generation Monoboard VDSC and CIAP + IKAT 5th generation consumer players
Mono-V Fifth generation Monoboard Chips used unknown Skipped; never went into production
Mono-VI Sixth generation Monoboard (One-Chip CD-i) VDSC and CIAP + IKAT 6th generation consumer players (untested)
Roboco Smaller footprint variation of Mono-III board VDSC and CIAP + IKAT Small form-factor consumer players
Goldstar Various Goldstar boards using 68340 processor (formerly called PCDI boards) VDSC and CD/AP + RCHIP CD-i 370 / GPI-1200M portable consumer and some rebranded consumer players

Philips Models (First-Party)

[edit | edit source]

Philips released several "series" of players, each with slightly different internal BIOS and board revisions. The numbers following the slash (e.g., /00, /17) generally indicate regional variations or minor hardware revisions.

  • 100 Series (180): The original "professional" and early consumer units (180/20/37). These often have a distinct, older BIOS look and feel.
  • 200 Series (200 / 205 / 210 / 220): The most common consumer units. They resemble high-end VCRs.
    • Models include: 200/00/17/20/37/40/57, 205/00, 210/00/17/20/25/37/40/57/60/77, 220/00/17/20/37/40/57/60/77/80/97.
    • Notes: The CD-i 200 is the USA version of the CD-i 210. The CD-i 210/00 is internally a CD-i 220/20 in a different case with some features missing.
  • 300 Series (350 / 360 / 370): Portable "Professional" units. The 370 is notable for its built-in screen.
    • Models include: 350/00, 360/00, 370/00.
    • Notes: The CD-i 360 is a CD-i 350 with a larger screen. The CD-i 370 is actually a rebranded Goldstar GPI-1200M.
  • 400 & 500 Series (450 / 470 / 490 / 550): Budget-friendly, "cost-reduced" consumer models. They are smaller and often used the AH03 DVC integrated directly into the board in later revisions.
    • Models include: 450/00/17, 470/00/17/20/37, 490/00/17, 550/00/17.
    • Notes: The CD-i 550 is essentially a CD-i 450 with the Digital Video Cartridge built-in.
  • 600 Series (601 / 602 / 604 / 605 / 615 / 660 / 670): Professional-grade units intended for kiosks and developers. These often include floppy disk drive support and additional serial ports.
    • Models include: 601/00, 602/00, 604/00, 605/00/20, 615/00, 660/00, 670/00.
  • 700 Series (740): Models include 740/00/17/20/37.
  • 900 Series (910): Models include 910/00. The CD-i 910 is the USA version of the CD-i 205.
  • Combo / Hybrid Units: Philips also integrated CD-i tech into other home electronics.
    • FW380i/00: A mini-system audio stereo with integrated CD-i.
    • 21TCDI30/00: A television set containing a built-in CD-i 210/40.

Third-Party Manufacturers

[edit | edit source]

Because CD-i was intended as a universal standard (like VHS or Audio CD), several other companies produced hardware:

  • Goldstar / LG:
    • GDI 750 / GDI 1000 (00/17): Rebranded Philips CD-i 450 units.
    • GPI-1200M/00: A portable unit (also rebranded by Philips as the 370).
    • LG GDI-700/00.
  • Magnavox: Primarily rebranded Philips units for the North American market (e.g., Magnavox CD-i 200).
  • Sony: Produced the Sony IVO-V10 (Intelligent Video), a portable player aimed at industrial and educational use.
  • Samsung: Released the Samsung DV-5500, which is highly sought after by collectors for its unique build quality.
  • Kyocera: Produced the Kyocera Pro 1000.
  • Bang & Olufsen: Integrated CD-i technology into the Beocenter AV 9000 high-end television/media system.
  • DVS: Released the VE-200/00.
  • DMB Korea: Released the DMB-1000/00.

Emulation Considerations

[edit | edit source]
  • BIOS Matching: Most CD-i emulators require a specific BIOS file that matches the hardware model. For general gaming, a Philips 220 or 450 BIOS is recommended. The board type (Mono-I vs Mono-IV, etc.) dictates which emulation profiles will boot successfully.
  • DVC Emulation: To play games marked as "Digital Video Required," the emulator must have a DVC ROM (like the AH00, AH01, AH02, or AH03) mapped to the system. Without this, the system will prompt the user to "Insert Digital Video Cartridge" or simply crash to the shell.
  • NVRAM: The CD-i uses Timekeeper RAM (NVRAM) to store save games. In real hardware, these batteries eventually die; emulators handle this by creating a separate `.nv` or `.srm` file.

Notes

[edit | edit source]
  1. {{{emulated notes}}}

References

[edit | edit source]
[edit | edit source]

Philips(edit)