


- OS9.EXE OS9 EMULATOR MAC MACOS DRIVER
- OS9.EXE OS9 EMULATOR MAC MACOS FULL
- OS9.EXE OS9 EMULATOR MAC MACOS PORTABLE
- OS9.EXE OS9 EMULATOR MAC MACOS SOFTWARE
This release should also have better support for the PCDI board used by several portable players, including the CD-i 370.
OS9.EXE OS9 EMULATOR MAC MACOS FULL
When possible, this technique avoids the problems of writing a fullblown memory-resident trace module.Ī new public beta release of CD-i Emulator that has full JNMS and Maxi-MMC support (among other things) is scheduled before the end of this year there are still a few other issues that need sorting out first. Here's some representative output of the -cds A3 option:Įxtending CD-i Link with remote OS9 calls is actually a fairly easy way to perform some information and tracing actions I will probably use it for sorting out other dangling issues in the near future. The new -cds option can now be used to make the special calls.
OS9.EXE OS9 EMULATOR MAC MACOS DRIVER
The service shell obtains this number using two special I$SetStt calls into the CDIC driver extending CD-i Link to remotely perform these same calls was easy. The number does appear to differ from other version numbers, though, at least on my two 605 players. This is a special GUI shell that performs some service functions you can get to it by inserting a specially wired test plug into input port 1.Īfter some digging I found that the service shell obtains this number from the SLAVE processor, so it probably does not directly correspond to a CDIC version. In search of version information for the CDIC chip I looked at the emulations and found one potential point of interest: the release number displayed by the service shell. After fixing this the ROM properly recognized the data and the TOC reads became just as quick as other player models. It is quite an esoteric instruction could it be that there was an emulation bug here? It turns out that there was indeed during rotation the contents of the X flag where put in the wrong bit. Generating a valid CRC turned out to be straightforward (it’s just a simple CRC-CCITT calculation), but the ROM wouldn’t recognize it! After some head scratching I focused on the ROXL instruction (Rotate Left with Extend) used in the validation code. Not that this really matters because the TOC data is repeated multiple times half of the repetitions will always land in the first buffer anyway.

I also noticed a bug in the ROM: it always uses the first sector buffer because it takes the current buffer bit from the wrong memory location. The ROM even has compensation for shifts of between 1 and 7 bits in the incoming subcode Q data, probably because of some hardware timing issue. It turns out that the 601 ROM performs CRC validation on the subcode Q data from the lead-in area (which is where the TOC is stored), and CD-i Emulator didn’t provide a valid CRC (no other ROMs I’ve seen so far validate this in software).

Having done that, I did some more digging into the TOC read issue. For now I’ve assumed that version 2.x also uses the older CDIC chip, but that may be wrong (the 602 or 604 might be interesting test cases). The 180 has no such chip, the 601 has version 1.x where the 605 has version 3.x.
OS9.EXE OS9 EMULATOR MAC MACOS SOFTWARE
I have yet to find a way to get chip version information from the CDIC chip itself, so for the time being I’ve keyed the differences on the SLAVE software version. I noticed the JNMS / Maxi-MMC link from the CD-i player type table in the July 1996 issue of The Interactive Engineer (it’s on the ICDIA site) turns out I had misinterpreted the Board column on page 4 (there’s also an error there: the 601/602 certainly do not have the 180 board!).Īfter noticing this I did some testing and it turns out that the CDIC modifications needed for the 180 also work for the 601, including the TOC reading problem. The link between the JNMS and Maxi-MMC boards is the CDIC chip: both turn out to have the same older CDIC chip version that differs in a few details from the version used on the Mini-MMC and Mono-I boards players (I described these differences in the earlier “CD-i 180 disc playing” post). From the emulation point of view it is virtually identical to the Mini-MMC board used by the CDI 605 player, but it has a different CDIC chip version. The Maxi-MMC board is the one in the CDI 601 and 602 players. It is not used in any other player and contains a CDIC (CD Interface Controller) chip but no SLAVE processor. The JNMS board is the one in the CDI 180 player (also called the JNMS player). I had previously erroneously identified these two boards but they are different. This weekend I fixed some disc emulation issues for the JNMS and Maxi-MMC boards.
