{"id":21598949,"url":"https://github.com/stovent/cedimu","last_synced_at":"2025-07-26T00:35:13.276Z","repository":{"id":39629633,"uuid":"156719348","full_name":"Stovent/CeDImu","owner":"Stovent","description":"Experimental Philips CD-I emulator written in C++","archived":false,"fork":false,"pushed_at":"2025-07-25T17:28:06.000Z","size":1919,"stargazers_count":89,"open_issues_count":0,"forks_count":2,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-07-26T00:02:44.021Z","etag":null,"topics":["cd-i","cdi","cplusplus","cpp","emulation","emulator","m68000","m68k","motorola-68000","philips","philips-cdi","wxwidgets"],"latest_commit_sha":null,"homepage":"https://github.com/Stovent/CeDImu","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Stovent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-11-08T14:31:33.000Z","updated_at":"2025-07-05T04:45:28.000Z","dependencies_parsed_at":"2025-01-16T01:10:28.807Z","dependency_job_id":"a2695acc-ac7d-46ef-8a58-753773250c8f","html_url":"https://github.com/Stovent/CeDImu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Stovent/CeDImu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stovent%2FCeDImu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stovent%2FCeDImu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stovent%2FCeDImu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stovent%2FCeDImu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Stovent","download_url":"https://codeload.github.com/Stovent/CeDImu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stovent%2FCeDImu/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267093865,"owners_count":24034955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cd-i","cdi","cplusplus","cpp","emulation","emulator","m68000","m68k","motorola-68000","philips","philips-cdi","wxwidgets"],"created_at":"2024-11-24T18:13:38.129Z","updated_at":"2025-07-26T00:35:13.223Z","avatar_url":"https://github.com/Stovent.png","language":"C++","readme":"# CeDImu\n\n![CeDImu concept by jongg-eater](https://raw.githubusercontent.com/Stovent/CeDImu/master/resources/CeDImu-concept.png \"CeDImu concept by jongg-eater\")\n\nExperimental Philips CD-I emulator\n(I use a capital `I` instead of a lower case `i` because the Green Book capitalizes it)\n\nNote: the project is still in a very early development stage, please open issues only to address problems in the existing code.\n\n## How to use\n\nSee the [user manual](https://github.com/Stovent/CeDImu/blob/master/MANUAL.md).\n\n## Compatibility\n\nDVC support will be added when CeDImu will have a good compatibility with the base case system on several boards.\n\n### BIOSes\n\nBelow are listed the known BIOSes that works in CeDImu along with their board settings. For more information, see [the ICDIA website](http://icdia.co.uk/players/comparison.html \"icdia.co.uk\").\n\n- CDI 210/40 (Mono-3, 8 KB NVRAM)\n- CDI 220/60 (Mono-3, 32 KB NVRAM)\n- CDI 220/80 (Mono-4, 32 KB NVRAM)\n- CDI 470/00 (Mono-4, 8 KB NVRAM)\n- CDI 470/20 (Mono-4, 8 KB NVRAM)\n- CDI 490/00 (Mono-4, 32 KB NVRAM)\n\nSome 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.\n\n### Boards\n\nCompatible means it is capable of playing discs.\n\n- [ ] Mini-MMC\n\n  ​\tNot working. SCC66470 and Timekeeper mapped.\n\n- [ ] Mono-3, Mono-4\n\n  BIOS boots to player shell. MCD212, Timekeeper (8KB and 32KB) and HLE IKAT mapped.\n\n### Chips\n\n- [x] SCC68070\n- [ ] VDSCs\n  - [ ] SCC66470 (Mini-MMC)\n  - [x] MCD212 (Mono-1, 2, 3, 4)\n- [ ] CD and Audio\n  - [ ] CDIC (Mini-MMC, Mono-1)\n  - [ ] DSP (Mono-2)\n  - [ ] MCD221 CIAP (Mono-3, 4)\n- [ ] Slave MCUs\n  - [ ] Slave (Mini-MMC, Mono-1, 2)\n  - [ ] IKAT (Mono-3, 4)\n- [x] Timekeepers\n  - [x] M48T08\n  - [x] DS1216\n\n## Features\n\n- [ ] CDI-related functions\n  - [x] CDI file system\n  - [x] Export files\n  - [x] Export audio\n  - [ ] Export video\n  - [x] Export raw video\n\n\n\n- [ ] Tools\n  - [x] CPU Viewer\n  - [x] VDSC Viewer\n  - [x] Debug (memory access logs and exception and system call tracing)\n  - [ ] RAM Search\n  - [ ] Memory Viewer\n  - [ ] Savestates\n\n## How to build\n\nYou need a compiler that supports C++20 and wxWidgets 3.1.\n\n### Build macros\n\n`ENABLE_LOG`: if defined, allows the library to print some messages in the console and the use of OnLogMemoryAccess callback (default: `OFF`).\n\nThe official build of CeDImu always enables it.\n\n### CMake\n\n#### CMake options\n\n`CEDIMU_BUILD_CDITOOL`: If ON, builds the little `cditool` program (Linux only, requires libcdio) (default: `OFF`).\n\n`CEDIMU_ENABLE_LTO`: If ON, compiles the executable with link-time optimisations (default: `ON`).\n\n#### Windows\n\nFirst install [CMake](https://cmake.org/download/) and [vcpkg](https://github.com/microsoft/vcpkg/), and use vcpkg to install wxWidgets: `vcpkg.exe install wxwidgets:x64-windows-static`\n\nThen build CeDImu (make sure to change the `DCMAKE_TOOLCHAIN_FILE` to the path your vcpkg install):\n```sh\ncmake -B build -S . \"-DCMAKE_TOOLCHAIN_FILE=C:/Dev/vcpkg/scripts/buildsystems/vcpkg.cmake\" \"-DVCPKG_TARGET_TRIPLET=x64-windows-static\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CONFIGURATION_TYPES=Release -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded\ncmake --build .\\build\\ --config Release\n```\n\nFor a Debug build, execute these commands instead:\n```sh\ncmake -B build -S . \"-DCMAKE_TOOLCHAIN_FILE=C:/Dev/vcpkg/scripts/buildsystems/vcpkg.cmake\" \"-DVCPKG_TARGET_TRIPLET=x64-windows-static\" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CONFIGURATION_TYPES=Debug -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebug\ncmake --build .\\build\\ --config Debug\n```\n\nThe executable will be in the `build` directory.\n\n#### Linux\n\nFirst install cmake and wxWidgets-3.1 (or later).\n\nWith apt the command is: `sudo apt install cmake libwxgtk3.2-dev`\n\nInstall the dependency, then open a terminal in the root directory of the git and type:\n\n```sh\ncmake -B build -DCMAKE_BUILD_TYPE=Release\ncmake --build build -j$(nproc --all)\n```\n\nThe executable will be in the `build` directory.\n\n#### macOS\n\nPackage dependency: `wxwidgets` and `cmake` (e.g. if using brew run: `brew install wxwidgets cmake`). Also make sure to have Xcode or just it's Command Line Tools installed.\n\nFor keyboard input to work properly, enable 'Keyboard Navigation' in macOS. See this [support article](https://support.apple.com/en-us/HT204434#fullkeyboard).\n\nOpen a terminal in the root directory of the git and type:\n\n```sh\nmkdir build\ncd build\ncmake .. -DCMAKE_BUILD_TYPE=Release\nmake -j$(sysctl -n hw.physicalcpu)\n```\n\n## libCeDImu\n\nIf 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).\n\n## Special Thanks\n\n- [CD-i Fan](https://www.cdiemu.org/) for his help and his information that made me progress way faster than I could imagine.\n- jongg-eater for the logo.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstovent%2Fcedimu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstovent%2Fcedimu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstovent%2Fcedimu/lists"}