Bug in MESS emulating MEMOTECH MTX512 - game emulation
Posted: Sun Sep 28, 2025 5:54 pm
found a bug in emulating only 2 games .. "Jet set willy" and "Pothole Pete"
the same audio files load and run fine on the real hardware , but loading the cassette from mess gets a frozen state at the end..
after looking as the assembly sources for those 2 games , it seems to be related to the following interrupt:
INTFFF
Poke 64862,8 -- enable a system register for Sprite movement + cursor flash is enabled.
64862 decimal = FD5E (hex)
So 64862 is actually the same register mentioned (INTFFF), but expressed in decimal.
What happens with POKE 64862,8
8 in binary = 00001000
That sets Bit 3 = 1, all others = 0.
Looking at the bit map:
Bit 0 → Sound (off)
Bit 1 → Break key (off)
Bit 2 → Keyboard auto repeat (off)
Bit 3 → Sprite movement and cursor flash (ON)
Bits 4–6 → USER (off)
So this command:
Enables sprite movement and cursor flash to be handled automatically by the interrupt system
Disables all other interrupt routines (sound, key repeat, user code, etc.).
the same audio files load and run fine on the real hardware , but loading the cassette from mess gets a frozen state at the end..
after looking as the assembly sources for those 2 games , it seems to be related to the following interrupt:
INTFFF
Poke 64862,8 -- enable a system register for Sprite movement + cursor flash is enabled.
64862 decimal = FD5E (hex)
So 64862 is actually the same register mentioned (INTFFF), but expressed in decimal.
What happens with POKE 64862,8
8 in binary = 00001000
That sets Bit 3 = 1, all others = 0.
Looking at the bit map:
Bit 0 → Sound (off)
Bit 1 → Break key (off)
Bit 2 → Keyboard auto repeat (off)
Bit 3 → Sprite movement and cursor flash (ON)
Bits 4–6 → USER (off)
So this command: