Don't use fixed positions like 65367 in the listing above. Even for original Sinclair BASIC listings this is not recommended.
Instead use USR "a" (to start at UDG "a" position).
NOTE: "a" can be the letter "a", the letter "A" or the UDG "A".
This automatically resolves to the right position of the UDGs in memory.
In your case, you're trying to poke starting from 65367 which is one position less than UDG "a". You might be corrupting something (even in the original Sinclair BASIC program!). Do this instead:
This should work in both Sinclair BASIC and ZX Basic compiled with --sinclair.
If you don't use --sinclair, an extra step is still needed.
How are you compiling the program?
Instead use USR "a" (to start at UDG "a" position).
NOTE: "a" can be the letter "a", the letter "A" or the UDG "A".
This automatically resolves to the right position of the UDGs in memory.
In your case, you're trying to poke starting from 65367 which is one position less than UDG "a". You might be corrupting something (even in the original Sinclair BASIC program!). Do this instead:
Code:
FOR a = USR "a" TO USR "u" + 7:
READ b: POKEa, b
NEXT a
...
This should work in both Sinclair BASIC and ZX Basic compiled with --sinclair.
If you don't use --sinclair, an extra step is still needed.
How are you compiling the program?