All Projects → Stovent → CeDImu

Stovent / CeDImu

Licence: other
Experimental Philips CD-I emulator written in C++

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to CeDImu

faucon
NVIDIA Falcon Microprocessor Suite
Stars: ✭ 28 (-31.71%)
Mutual labels:  emulator, emulation
GhidraEmu
Native Pcode emulator
Stars: ✭ 25 (-39.02%)
Mutual labels:  emulator, emulation
kpspemu
PSP Emulator written in Kotlin for JVM, JS and Native. Can work as PWA.
Stars: ✭ 57 (+39.02%)
Mutual labels:  emulator, emulation
Punes
Nintendo Entertaiment System emulator and NSF/NSFe Music Player (Linux, FreeBSD, OpenBSD and Windows)
Stars: ✭ 217 (+429.27%)
Mutual labels:  emulator, emulation
desmume
DeSmuME is a Nintendo DS emulator
Stars: ✭ 1,609 (+3824.39%)
Mutual labels:  emulator, emulation
Emu Docs
Emulator documentation archive
Stars: ✭ 222 (+441.46%)
Mutual labels:  emulator, emulation
Thistle
6502 based architecture for OpenComputers
Stars: ✭ 26 (-36.59%)
Mutual labels:  emulator, emulation
Segs
💪 SEGS - Super Entity Game Server
Stars: ✭ 190 (+363.41%)
Mutual labels:  emulator, emulation
ness
A work-in-progress SNES emulator written in Rust
Stars: ✭ 31 (-24.39%)
Mutual labels:  emulator, emulation
Scanr
Detect x86 shellcode in files and traffic.
Stars: ✭ 16 (-60.98%)
Mutual labels:  emulator, emulation
Emupedia.github.io
The purpose of Emupedia is to serve as a nonprofit meta-resource, hub and community for those interested mainly in video game preservation which aims to digitally collect, archive and preserve games and software to make them available online accessible by a user-friendly UI that simulates several retro operating systems for educational purposes.
Stars: ✭ 206 (+402.44%)
Mutual labels:  emulator, emulation
n64
experimental low-level n64 emulator
Stars: ✭ 94 (+129.27%)
Mutual labels:  emulator, emulation
Bsnes Plus
debug-oriented fork of bsnes
Stars: ✭ 209 (+409.76%)
Mutual labels:  emulator, emulation
Yuzu
Nintendo Switch Emulator
Stars: ✭ 17,405 (+42351.22%)
Mutual labels:  emulator, emulation
Washingtondc
Open-source Sega Dreamcast emulator
Stars: ✭ 201 (+390.24%)
Mutual labels:  emulator, emulation
js-nes-emulator
NES emulator in javascript.
Stars: ✭ 12 (-70.73%)
Mutual labels:  emulator, emulation
Snowflake
❄️ 🎮 Extensible Emulator Frontend written in C# and Javascript
Stars: ✭ 185 (+351.22%)
Mutual labels:  emulator, emulation
Openemu
🕹 Retro video game emulation for macOS
Stars: ✭ 13,369 (+32507.32%)
Mutual labels:  emulator, emulation
ultra-dma-queue
Super fast DMA queue for the Sega Genesis
Stars: ✭ 25 (-39.02%)
Mutual labels:  m68k, m68000
worldwide
A toy GameBoy Color emulator written in golang.
Stars: ✭ 563 (+1273.17%)
Mutual labels:  emulator, emulation

CeDImu

CeDImu concept by jongg-eater

Experimental Philips CD-I emulator (I use a capital I instead of a lower case i because the Green Book capitalizes it)

Note: the project is still in a very early development stage, please open issues only to address problems in the existing code.

How to use

See the user manual.

Compatibility

DVC support will be added when CeDImu will have a good compatibility with the base case system on several boards.

BIOSes

Below are listed the known BIOSes that works in CeDImu along with their board settings. For more information, see the ICDIA website.

  • CDI 210/40 (Mono-3, 8 KB NVRAM)
  • CDI 220/60 (Mono-3, 32 KB NVRAM)
  • CDI 220/80 (Mono-4, 32 KB NVRAM)
  • CDI 470/00 (Mono-4, 8 KB NVRAM)
  • CDI 470/20 (Mono-4, 8 KB NVRAM)
  • CDI 490/00 (Mono-4, 32 KB NVRAM)

Some BIOSes (e.g. CDI 220/80) may not show graphics on their first boot. To boot them, let them run for around a thousand frames on the first boot so they initializes their NVRAM, then reload the emulator.

Boards

Compatible means it is capable of playing discs.

  • Mini-MMC

    ​ Not working. SCC66470 and Timekeeper mapped.

  • Mono-3, Mono-4

    BIOS boots to player shell. MCD212, Timekeeper (8KB and 32KB) and HLE IKAT mapped.

Chips

  • SCC68070
  • SCC66470 (Mini-MMC)
  • MCD212 (Mono-1, 2, 3, 4)
  • CDIC (Mini-MMC, Mono-1)
  • DSP (Mono-2)
  • MCD221 CIAP (Mono-3, 4)
  • Slave (Mini-MMC, Mono-1, 2)
  • IKAT (Mono-3, 4)
  • M48T08
  • DS1216

Features

  • CDI-related functions

    • CDI file system
    • Export files
    • Export audio
    • Export video
    • Export raw video
  • Tools

    • CPU Viewer
    • VDSC Viewer
    • Debug (memory access logs and exception and system call tracing)
    • RAM Search
    • Memory Viewer
    • Savestates

How to build

Build macros

ENABLE_LOG: if defined, allows the library to print some messages in the console and the use of OnLogMemoryAccess callback (default: OFF).

The official build of CeDImu always enables it.

CMake

Variables

LIBRARY_TYPE: used to build the core as a static or shared library (default: STATIC).

BUILD_CDITOOL: build cditool or not (default: OFF).

Windows

Use CMake-GUI

Linux

Package dependency: libwxgtk3.0-gtk3-dev

Install the dependency, then open a terminal in the root directory of the git and type:

mkdir build
cd build
cmake ..
make -j$(nproc --all)

If you want to have the memory access logs, replace cmake .. with cmake .. -DENABLE_LOG=1

libCeDImu

If I get everything listed upper working, stable and fully functional, the goal is to create libCeDImu, a complete library (static and/or dynamic) to allow any program to implement CDI applications (other emulators like Bizhawk, MAME, etc).

Special Thanks

  • CD-i Fan for his help and his information that made me progress way faster than I could imagine.
  • jongg-eater for the logo.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].