CD-i: Difference between revisions
No edit summary |
Cleanup |
||
| Line 13: | Line 13: | ||
}} | }} | ||
'''CD-i''' ('''Compact Disc Interactive'''), is a disk format and media player developed and released by | '''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. | ||
==Emulators== | == Emulators == | ||
{| | {| {{Emulator table}} | ||
|+ | |+{{Emulator comparison introduction|[[#Enhancements|enhancements]], [[#Hardware features and peripherals|hardware features & peripherals]], and [[#Hardware variants|hardware variants]]}} | ||
! | !Name | ||
! | !Platform(s) | ||
! | !Active? | ||
! | !Latest version | ||
! | ![[Licensing|License]] | ||
!Compatibility | |||
! | ![[Recommended emulators|Recommended? (overall)]] | ||
|- | |- | ||
! colspan=" | ! 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}}] | |[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 | |{{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 | |[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:// | |[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> | |||
| ||{{ | |||
|- | |- | ||
| [https:// | |[https://mamedev.emulab.it/haze/ TinyCDi] | ||
| align=left|{{Icon|Windows| | | align="left" |{{Icon|Windows}}||{{Na}} | ||
| | |?||{{Red}} {{License|Proprietary}} | ||
|{{Red}} {{License|Proprietary | |||{{Na}} | ||
| ||{{ | |||
|- | |- | ||
! colspan=" | ! 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}}] | |[https://apps.apple.com/us/app/provenance-app/id1596862805 {{ProvenanceVer}}] | ||
[https://github.com/Provenance-Emu/Provenance/releases git] | |||
|{{Dunno}} | |{{Dunno}} | ||
| | |||{{Dunno}} | ||
| | |||
|- | |- | ||
! colspan=" | ! 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]] | |||
: [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]]||{{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 (2D)|Sprite Replacement]]||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
|{{Dunno}} | |||
| {{Dunno}} | |||
| {{Dunno}} | |||
|- | |- | ||
| [[ | |[[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] | |[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 | <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/ | |[[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 | |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}} | |{{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]]||{{Dunno}}||{{Ya|link=https://www.libretro.com/index.php/category/hdr/}}||{{Dunno}} | ||
|{{Dunno}} | |||
| {{Ya | |||
| {{Dunno}} | |||
|- | |- | ||
|Post-rendering anti-aliasing | |||
|{{Dunno}} | <small>(FXAA, TXAA and MLAA/SMAA)</small> | ||
| {{Ya}} | |{{Dunno}}||{{Ya}}||{{Dunno}} | ||
| {{Dunno}} | |||
|- | |- | ||
|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# | |[[Frontends#Graphical User Interfaces (GUIs)|Big Picture Mode]]||{{Dunno}}||{{Ya}}||{{Ya}} | ||
|{{Dunno}} | |||
| {{Ya}} | |||
| {{Ya}} | |||
|- | |- | ||
| Built-in [[ | |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] | |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. | <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, | |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 [[ | |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] | |[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]]||{{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 | |Frame step | ||
|{{Dunno}} | <small>(forwards and backwards)</small> | ||
|{{Dunno}} | |{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
|{{Dunno}} | |||
|- | |- | ||
|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# | |[[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]] | |[[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. | ||
|- | |- | ||
|Debug features||{{Dunno}}||{{Dunno}}||{{Dunno}} | |||
|{{Dunno}} | |||
| {{Dunno}} | |||
| {{Dunno}} | |||
|- | |- | ||
| [[ | |[[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 | |Free Look | ||
| colspan="3" |<small>While freecam would be technically possible, it will require per-game patches.< | <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) | |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 | |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 == | ||
{| | {| {{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 | [[ | | colspan="2" |[[Early online services#CD-Online (Philips CD-i)|CD-Online]]||{{Dunno}}||{{Dunno}}||{{Dunno}} | ||
|{{Dunno}} | |||
|{{Dunno}} | |||
|{{Dunno}} | |||
|- | |- | ||
| colspan=2 | [[# | | 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}} | ||
|{{~ | |||
|{{Na}} | |||
|{{Na | |||
|} | |} | ||
=== 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><sharedfeat name="compatibility" value="DVC" /></code>. [https://github.com/MiSTer-devel/CDi_MiSTer CDi_MiSTer] FPGA core partially supports DVC emulation. | |||
{| class="wikitable" | {| class="wikitable" | ||
! Model | !Model | ||
!RAM | |||
!Region | |||
!Notes | |||
|- | |- | ||
| '''22ER9141 (AH00)''' | |'''22ER9141 (AH00)''' | ||
|1MB | |||
|PAL | |||
|The initial consumer DVC. Uses the Motorola 68000-based architecture. | |||
|- | |- | ||
| '''22ER9141 (AH01)''' | |'''22ER9141 (AH01)''' | ||
|1MB | |||
|NTSC | |||
|North American equivalent to the AH00. | |||
|- | |- | ||
| '''22ER9956 (AH02)''' | |'''22ER9956 (AH02)''' | ||
|1MB | |||
|Universal | |||
|An updated revision with improved microcode for better synchronization. | |||
|- | |- | ||
| '''22ER9956 (AH03)''' | |'''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 | !Board | ||
!Description | |||
!Chips | |||
!Used In | |||
|- | |- | ||
| '''JNMS''' | |'''JNMS''' | ||
|Original Japanese New Media System board (?) | |||
|VSR + 2xVSC and CDIC | |||
|CD-i 180 development player | |||
|- | |- | ||
| '''Maxi-MMC''' | |'''Maxi-MMC''' | ||
|Original MultiMedia Controller board | |||
|VSR + 2xVSC and CDIC + SLAVE | |||
|CD-i 601 and CD-i 602 professional players | |||
|- | |- | ||
| '''Mini-MMC''' | |'''Mini-MMC''' | ||
|Miniature MultiMedia Controller board | |||
|VSD + 2xVSC and CDIC + SLAVE | |||
|CD-i 605 and CD-i 205/910 players | |||
|- | |- | ||
| '''Mono-I''' | |'''Mono-I''' | ||
|First generation Monoboard | |||
|VDSC and CDIC + SLAVE | |||
|2nd generation consumer players | |||
|- | |- | ||
| '''Mono-II''' | |'''Mono-II''' | ||
|Second generation Monoboard | |||
|VDSC and DSP + SLAVE | |||
|3rd generation consumer players | |||
|- | |- | ||
| '''Mono-III''' | |'''Mono-III''' | ||
|Third generation Monoboard | |||
|VDSC and CIAP + IKAT | |||
|4th generation consumer players | |||
|- | |- | ||
| '''Mono-IV''' | |'''Mono-IV''' | ||
|Fourth generation Monoboard | |||
|VDSC and CIAP + IKAT | |||
|5th generation consumer players | |||
|- | |- | ||
| '''Mono-V''' | |'''Mono-V''' | ||
|Fifth generation Monoboard | |||
|Chips used unknown | |||
|Skipped; never went into production | |||
|- | |- | ||
| '''Mono-VI''' | |'''Mono-VI''' | ||
|Sixth generation Monoboard (One-Chip CD-i) | |||
|VDSC and CIAP + IKAT | |||
|6th generation consumer players (untested) | |||
|- | |- | ||
| '''Roboco''' | |'''Roboco''' | ||
|Smaller footprint variation of Mono-III board | |||
|VDSC and CIAP + IKAT | |||
|Small form-factor consumer players | |||
|- | |- | ||
| '''Goldstar''' | |'''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 406: | 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 421: | 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. | ||
== | == Notes == | ||
{{Notelist|group=note}} | |||
== References == | |||
{{Reflist}} | |||
== External links == | |||
* [https://github.com/MiSTer-devel/CDi_MiSTer CDi_MiSTer] | |||
* [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}} | ||