>> Thursday, December 29, 2011
It seems we don't have to expect big updates on the MESS CD-i driver, because the author struggles to understand the system. It's a very complex system and if CD-i Fan wasn't around to help there would probably no CD-i MESS driver at all. A few paragraphs to display the current situation. Why is CD-i support in MESS Emulator limited?
"Because to work on the current CD-i driver any further [is very difficult]. I'll be happy to look into it if anyone ever procures dumps of the internal ROMs for the various peripheral MCUs that correspond to the specific CD-i board revision that MESS currently emulates, but beyond that I'd just be piling even more hacks on top of what is already a hack." ... "From what I can see the games for the system are designed in a fairly abstract manner, near enough an old style sandbox, designed to survive hardware changes because Philips designed it as the ultimate 'future-proof' multimedia system (however foolish that ended up being). There are probably a few key bugs in the implementation causing the vast majority of the problems. It's an impressive driver, don't get me wrong, but from my own study of it I don't feel it actually *needs* the internal ROMs to improve compatibility, afaik the standalone CDi emu does fine without them."
"To be quite honest, it is a very simple system, at least the Mono-II. The real problem comes from the abstraction that you mentioned above. By virtue of all of these different games going through the same core I/O functions that are supplied by the BIOS, there is an enormous lack of test cases. I have a bunch of CD-i games that all hit the hardware in more or less the same way."
CD-i Fan: "I have no more chip documentation then you do, in fact I originally had less since I worked on a different board (MiniMMC, it uses the (at the time) undocumented 2xVSC+VSD chips instead of the documented VDSC). My only "plus" is some years of headstart and a very good familiarity with the system as a developer. It does make me wonder where MESS CD-i would be without me; I think both emulators ended up better as a result of it. All of that aside, I sincerely believe that most current emulation bugs (in either emulator) would not be easily solved even with the contents of the internal ROMs; these bugs are probably only peripherally related to the contents of those ROMs."
"By contrast, I see the CD-i as a crap console that has only gone unemulated in an open manner for so long because people care so little about it. It's not a coincidence, in my opinion, that both more-popular and less-popular consoles and computers have been emulated in MESS. That both more-complex and less-complex systems have been emulated in both MESS and MAME. I was interested in emulating the CD-i because despite not knowing the ins and outs of all of the different CD-i platforms that you have emulated, I sincerely doubt that any of them are more complex than the Nintendo 64, so it seemed like a pretty simple target to hit until I found out that nobody ever bothered to leak any significant amount of register-level programming documentation."
CD-i Fan: "On the technical front, it's inherent in emulating CD-i. It's hard to get accurate low-level emulation with the amount of undocumented hardware in the system; reverse engineering and HLE is the only way that functional emulation can be achieved for a reasonable cost (time or money). I know that HLE is not the MESS way, but in this case it can't be helped. CD-i as a system is certainly way below the complexity of modern or even many older consoles, which makes it all the more challenging to get it properly emulated. That little register-level documentation was ever leaked is a consequence of the basic design of CD-i as a software API; to me as a software engineer it seems a better way then just fixing the hardware as so many contemporary consoles did. At the quality level, I think that the current CDIC emulation in MESS is essentially identical to that in CD-i Emu; there are still some problems in both emulators but I currently have no more ideas about fixing that then you do. I do not think that the CPU, VDSC and SLAVE emulations in either emulator have other then minor problems."
[Thanks, CD-i Fan, Just Desserts, Haze]