Quantcast
Channel: Interactive Dreams
Viewing all articles
Browse latest Browse all 1857

The author of CD-i Emulator explains how the approach of using the BIOS software and High Level Emulation (HLE) instead of the traditional hardware centric view of Mame might be easier for proper CD-i emulation

$
0
0


 

Yesterdays post about the current state of Mame CD-i emulation caused quite some  discussions on the community pages. It even triggered cdifan, the author of CD-i Emulator, to wake up his CD-i Bits blog (dormant since 2018) and post an extensive reply including his view on the difficulties that CD-i emulation is facing. It's an interesting discussion, followed by many people and while probably only a handful of people can actually pull the trick here, the insights are very meaningful to the whole CD-i Community. Cdifan: "My own goal in developing CD-i Emulator was to have a good enough emulation to actually play CD-i discs. For this, it is technically not even necessary to emulate *any* existing CD-i specific hardware, as CD-i is basically a software API standard. If you have a correct implementation of that standard you are done (there are of course some complications). It is interesting to note that CD-Ice, the first ever (public) CD-i emulator, did exactly this. The author used his knowledge of the CD-i specification (Green Book) to implement the API from scratch using his source code for “Rise of the Robots” as a working sample. 

 

Although often treated as a single-game emulator, this is not in fact correct as his emulator ran many other games as well. The Green Book states that CD-i players run the CD-RTOS operating system using an “68000-family processor”. This is therefore the minimum amount of *actual* hardware that needs emulation, and it’s exactly what CD-Ice did."

"Going the full HLE (High Level Emulation] route like CD-Ice did has its own problems of course [...]. I chose a different approach for CD-i Emulator. Knowing that fully implementing CD-RTOS would be hard, I wanted to use the existing BIOS software. This meant that I would have to emulate some hardware, but only to the extent that the BIOS uses it. And I would not just stare at access patterns and the immediately surrounding (disassembled) BIOS code but take a more holistic approach as described [in my new CD-i Bits blogpost.]

The approach used by CD-i Emulator as outlined in this article also explains why I am not interested in non‑HLE emulation of the various microcontrollers and DSP chips. It serves no purpose in playing CD-i discs: getting good HLE emulations of these chips so the BIOS can do its thing is enough. As a not insignificant side bonus to this, no chip decapping or other exotic hardware exercises are required for this approach."

[Thanks, cdifan - bottom picture by Retrostuff]


Viewing all articles
Browse latest Browse all 1857

Trending Articles