I'm working my way through 'How to Write ZX Spectrum Games' by Jonathan Cauldwell, and I have tried this snippet of code in Spin 0.7S and 0.7Q with the same results. The code assembles fine, then when I try and run with a Randomize USR 24576 it I get a BASIC error 'Integer Out of Range'. It assembles fine with Pasmo, and I can run the .tap file created by Pasmo without problem.
Even though its very old in the tooth now, I like the integrated nature of Spin (and I'm secretly hoping [mention]ZXDunny[/mention] might update it one day) I'm using Windows 10.
Code: Select all
org $6000
ld a,71
ld (23693),a
xor a
call 8859
ld hl,blocks
ld (23675),hl
call 3503
ld hl,21+15*256
ld (plx),hl
call basexy
call splayr
ret
basexy ld a,22
rst 16
ld a,(plx)
rst 16
ld a,(ply)
rst 16
ret
splayr ld a,69
ld (23695),a
ld a,144
rst 16
ret
plx defb 0
ply defb 0
blocks defb 16,16,56,56,124,124,254,254