Post by jmpff3d on Dec 13, 2018 19:57:41 GMT
Another 2MHz fix for an Infocom C-128 game, and a minor cosmetic fix as well !
Can you believe it ?! ...... Thanks, Infocom, for all these easy CSDb 'bugfix' points !
LGOP - SOLID GOLD EDITION, available here :: csdb.dk/release/?id=172485
* MINOR COSMETIC FIX FOR C128 VERSION
Pre-empted prompt for "Insert Side 2" with a screenclear hexbyte. This replicates the screenclear behavior (when prompted for Side 2) in the C64 version of this game.
* FASTMODE FIX FOR C128 VERSION
The original Leather Goddesses of Phobos game does activate 2MHz fast mode, unlike Trinity and Bureaucracy. HOWEVER, as with Beyond Zork, Infocom deliberately failed to blank the VIC-IIe chip on fast mode activation. Instead of a properly blanked VIC-IIe display, Infocom gives us a messy VIC-IIe screen with bus-data being displayed as the C-128's VIC-IIe is prone to do at 2MHz. The normal procedure when engaging fast mode involves correctly blanking the VIC-IIe. The kernal fast mode function at $77B3 handles this perfectly, twiddling the proper bit at $D011 among other things.
With the VIC-IIe display blanked, as in this release, the VIC-IIe doesn't have to steal timing cycles from the processor as it normally does even MAYBE when stuck in 2MHz. Current research into this matter suggests that VIC-IIe while in 2MHz does not steal cycles from the CPU .. but we're gonna blank VIC-IIe regardless, out of a sense of aesthetics.
NOTE: The directories might look like crap or give limited info when you read them. That's fine, the disk images are not corrupt. The C128 version of this game uses a C-128ism sometimes known as "sequential serial load" from Track1, Sector1, on up, and this is initiated by autoboot/boot handling from the C128 kernal.
NOTE: This game was tested (and works) on Z64K and VICE emulators.
REMINDER: The disk images in this release include both C64 / C128 versions of Leather Goddesses of Phobos.
Can you believe it ?! ...... Thanks, Infocom, for all these easy CSDb 'bugfix' points !
LGOP - SOLID GOLD EDITION, available here :: csdb.dk/release/?id=172485
Changes from Original AutobootBlock
BD 6A 0B LDA $0B6A,X ; $0B66 changed to $0B6A, reflecting shift in data location after insertion/deletion of code
[...]
A5 A1 LDA $A1 ; load jiffyclock byte to set up brief delay via the IRQ-driven jiffyclock
C5 A1 CMP $A1 ; compare byte in A register with zp memory location assigned to relevant jiffyclock byte
F0 FC BEQ $0049 ; when the byte in A reg. and byte in memory location no longer match, move on
20 B3 77 JSR $77B3 ; call the FAST MODE routine in kernal (vic-ii blanking, fast mode set, etc.)
[...]
8D 05 D5 STA $D505 ; removed LDA #$01 - STA $D030 which originally came after this STA
* MINOR COSMETIC FIX FOR C128 VERSION
Pre-empted prompt for "Insert Side 2" with a screenclear hexbyte. This replicates the screenclear behavior (when prompted for Side 2) in the C64 version of this game.
* FASTMODE FIX FOR C128 VERSION
The original Leather Goddesses of Phobos game does activate 2MHz fast mode, unlike Trinity and Bureaucracy. HOWEVER, as with Beyond Zork, Infocom deliberately failed to blank the VIC-IIe chip on fast mode activation. Instead of a properly blanked VIC-IIe display, Infocom gives us a messy VIC-IIe screen with bus-data being displayed as the C-128's VIC-IIe is prone to do at 2MHz. The normal procedure when engaging fast mode involves correctly blanking the VIC-IIe. The kernal fast mode function at $77B3 handles this perfectly, twiddling the proper bit at $D011 among other things.
With the VIC-IIe display blanked, as in this release, the VIC-IIe doesn't have to steal timing cycles from the processor as it normally does even MAYBE when stuck in 2MHz. Current research into this matter suggests that VIC-IIe while in 2MHz does not steal cycles from the CPU .. but we're gonna blank VIC-IIe regardless, out of a sense of aesthetics.
NOTE: The directories might look like crap or give limited info when you read them. That's fine, the disk images are not corrupt. The C128 version of this game uses a C-128ism sometimes known as "sequential serial load" from Track1, Sector1, on up, and this is initiated by autoboot/boot handling from the C128 kernal.
NOTE: This game was tested (and works) on Z64K and VICE emulators.
REMINDER: The disk images in this release include both C64 / C128 versions of Leather Goddesses of Phobos.