Untitled attachment
https://corteximplant.com/system/media_attachments/files/111/634/403/798/524/955/original/c5af815a88f33140.png
Was investigating a bug in the version of Maniac Mansion that shipped with Day of the Tentacle. You can access Maniac Mansion from within DOTT by playing with Weird Ed's computer, in which case it launches the original Maniac Mansion EXE as a subprocess. For the English release, they used the original 160x200 graphics version.
The data files are identical to the original release, so DREAMM supports running this version as a standalone. However, this reveals an interesting bug when running in EGA/VGA mode.
Looking into why this happens, it became clear that LucasArts recompiled the original code for the Day of the Tentacle release with an option that set the minimum CPU version to something higher than base 8086. This is evident because PUSHing immediate values is done directly rather than by loading the immediate into a register first.
However, it appears that when they recompiled the code, it optimized a bit too well, and removed some required EGA/VGA frame buffer reads, leading to the effect below. They likely missed a volatile modifier which didn't matter in the original release.
This would not have hit in the real world because when launching from DOTT (a VGA game) it defaults to MCGA mode which doesn't have this issue. It only happens if you run it directly with either v or e command line options.
Bobinas P4G is a social network. It runs on GNU social, version 2.0.1-beta0, available under the GNU Affero General Public License.
All Bobinas P4G content and data are available under the Creative Commons Attribution 3.0 license.