Skip to content
CatmanFanPublic

About

CD-i emulator for Wii, 3DS and Wii U

Resources

Stars

19 stars

Watchers

1 watching

Forks

Latest commit

 

History

395 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


THIS PROJECT IS NOT VIBE-CODED!!

An experimental multiplatform Philips CD-i emulator written in C++17. Should run on Windows, macOS (courtesy of yeah-its-gloria), (v)Wii, Wii U (WUHB) and 3DS. May not run up to fullspeed on all builds.

Usage

Windows / macOS

Run miniCDi using the command line arguments miniCDi <boot.rom> [disc.bin]. Alternatively, drag the system ROM file itself into miniCDi to boot the emulated system from the ROM, then drag the disc image into the emulator window.

Other

Other system builds expect player ROM files and disc images in the following directories:

Build System ROMs Discs
Nintendo Wii sd:/miniCDi/rom sd:/miniCDi/discs
Nintendo 3DS sdmc:/3ds/miniCDi/rom sdmc:/3ds/miniCDi/discs
Nintendo Wii U /vol/external01/wiiu/apps/miniCDi/rom /vol/external01/wiiu/apps/miniCDi/discs

Supported boards

With the exception of NVRAM, the following boards and chips are emulated:

  • Mono-I: SCC68070, MCD212, CDIC, SLAVE
  • Mono-II: SCC68070, MCD212, DRVDSP (stub), SLAVE
  • Mono-III, Mono-IV, Robocon: SCC68070, MCD212, CIAP (stub), IKAT

As a result of DRVDSP and CIAP lacking proper emulation, the corresponding board types cannot run discs. Only Mono-I is currently fully supported.

To-Do

  • NVRAM/Timekeeper emulation
  • Rewrite emulator backend to use less pointers and garbage (define what this last word means)?
  • Check audiomap-to-XA switching

Building

To compile, use devkitPro's powerpc-eabi-cmake (GC, (v)Wii, Wii U) or arm-none-eabi-cmake (3DS), or the regular MINGW64 CMake if compiling for Windows. The corresponding SDL2 package is required, except on 3DS.

The latest commit is compiled automatically using GitHub Actions (.github/workflows/*.yml).

Credits

Special credits to Stovent, CD-i Fan and Slamy for helping me wherever possible on this project. The emulator uses Musashi version 4.10 as a core for the 68070 processor.

Resources

Some of the emulation code is ported or adapted from:

  • Emulation of IKAT and CIAP in Stovent's CeDImu (license unknown)
  • the MAME CD-i driver by Vincent Halver and Ryan Holtz (licensed under BSD-3) (global MAME license)
  • CD-i Emulator, via reverse engineering of generated trace logs

License

The general code for this emulator is released under GPLv3 (see above credits for other licenses). Work is currently underway to remove any derived code that does not conform with this license as stated above.

About

CD-i emulator for Wii, 3DS and Wii U

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages