Linux_Matters_Speccy_Demo/code.asm
2024-11-11 18:38:56 +00:00

71 lines
1.2 KiB
NASM

; This is the main file you will edit to add your machine code to the REM statement.
; You _must_ include the "entry_point" tag to point to the address which will called by the BASIC "PRINT USR" statement.
; The default code below is for illustration only, and can be deleted.
; But REMEMBER TO ADD THE entry_point TAG TO YOUR OWN CODE!
loadmus EQU 55425
music EQU #8000
midscreen EQU #4800
data_start: ;if your routine starts here, move the entry_point tag here too
dw lm1,lm1,lm1,lm1,lm1,lm1,lm1,lm1,lm1
dw lm2,lm3,lm4,lm5,lm6,lm7,lm1,0
entry_point: ;move this tag to the start point of your code
ld hl, lm1
ld de, midscreen
call dzx0_turbo
scf
ld a, #ff
ld ix, loadmus
ld de, 10109
call #0556
ld hl, loadmus
ld de, music
call dzx0_turbo
repeat:
xor a
call music
ld hl, data_start
anim:
ld e, (hl)
inc hl
ld d, (hl)
inc hl
push hl
ld hl, -1
add hl, de
pop hl
jr nc, repeat
ex de, hl
push de
ld de, midscreen
halt
halt
halt
halt
halt
call dzx0_turbo
pop hl
jr anim
INCLUDE dzx0_turbo.asm
lm1:
INCBIN lm1.zx0
lm2:
INCBIN lm2.zx0
lm3:
INCBIN lm3.zx0
lm4:
INCBIN lm4.zx0
lm5:
INCBIN lm5.zx0
lm6:
INCBIN lm6.zx0
lm7:
INCBIN lm7.zx0