Ooo, yes, I discovered that at a recent FCUG meeting. I was about to download the C64 version and run it on the SD2IEC but found the C128 version. I thought, "Hey, the C128 version must be better." So, that was the one that was downloaded and played during the meeting.
Yes, you heard me.. I had to C128-speedfix this one as well ! .. Speedfixes are not just an Infocom thing !
** SPEEDFIXES: Disabled VIC-IIe chip (7% improvement) - The game is an obligatory VDC game. There is no need for VIC-IIe to maintain an active functional screen display with badlines fetching.
Lowered system baud rate from 300 to 150. CP/M shows its terminal legacy strongly here. In the C128 architecture, the Z80 NMI pin is disabled. Without NMI, the system relies heavily on IRQs to handle certain assignments such as the 'serial port', 'keyboard', etc. As the baud rate setting increases, the amount of time that the Z80 has available for general tasks obviously decreases. A rule of thumb with respect to IRQ load is that the number of IRQs per second is three times the system baud rate.
Looking over the disk image, there may be enough space to include the C64 version's intro artwork and have the C128 display it. I assume that's Mermaid's handiwork, and it looks nice. I almost went for it, thanks to a suggestion by Strobe, but then I realized I didn't want to deal with the CP/M filesystem. =)
I don't think this would be too difficult though. ASSUMING rendering the graphics are easy, it would only be a minor pain in the rear to make this happen, but simple in practice. You'd first have to import the graphics with a tool like RDCBM.COM, save it to CP/M disk, and then figure out where the thing sits inside the image at the C128 side. If the graphics are easy to render, you might be able to do it entirely from autobootblock codespace.
Display the graphics straight from diskblocks, add a little pause when rendering is complete, and then jump to CP/M loading at the end of the bootcode. This should work as long the user doesn't move, re-copy, or otherwise disturb the file on the CP/M image/disk.