Compare commits

...

5 Commits

2 changed files with 56 additions and 61 deletions

View File

@ -0,0 +1,18 @@
{
"name": "ZX Spectrum dev tools",
"image": "boarstone.mcphail.uk/mcphail/speccydev",
"remoteUser": "ubuntu",
"customizations": {
"vscode": {
"extensions": [
"maziac.dezog",
"maziac.asm-code-lens",
"maziac.z80-instruction-set",
"maziac.hex-hover-converter",
"maziac.sna-fileviewer",
"maziac.nex-fileviewer",
"ms-vscode.makefile-tools"
]
}
}
}

View File

@ -1,7 +1,7 @@
org 51000
counter EQU inc_counter + 1
attrs EQU &5800
attrs EQU #5800
xylo EQU attrs + 40
zero_counter:
@ -11,8 +11,8 @@ set_counter:
ld (counter), a
read_keyboard:
ld a, &f7
in a, (&fe)
ld a, #f7
in a, (#fe)
rra
jr nc, key_1
rra
@ -22,56 +22,33 @@ read_keyboard:
rra
jr nc, key_4
rra
jr nc, key_5
jr read_keyboard
key_1:
ld c, 0
call highlight_key
ld a, (counter)
call play
ld c, 0
call highlight_key
jr inc_counter
key_2:
ld c, 3
call highlight_key
ld a, (counter)
inc a
call play
ld c, 3
call highlight_key
jr inc_counter
key_3:
ld c, 6
call highlight_key
ld a, (counter)
inc a
inc a
call play
ld c, 6
call highlight_key
jr inc_counter
key_4:
ld c, 9
call highlight_key
ld a, (counter)
add a, 3
call play
ld c, 9
call highlight_key
jr inc_counter
jr c, read_keyboard
key_5:
ld c, 12
ld de, #040C
jr invoke
key_2:
ld de, #0103
jr invoke
key_3:
ld de, #0206
jr invoke
key_4:
ld de, #0309
jr invoke
key_1:
ld de, #0000
invoke:
push de
call highlight_key
ld a, (counter)
add a, 4
add a, d
call play
ld c, 12
pop de
call highlight_key
inc_counter:
@ -79,26 +56,26 @@ inc_counter:
add a, 5
cp 25
jr nz, set_counter
jp zero_counter
jr zero_counter
highlight_key:
ld hl, xylo
ld b, 0
add hl, bc
ld d, 15
highlight_row:
ld e, 3
highlight_block:
push de
ld d, 0
add hl, de
ld e, 30
ld a, (hl)
xor %01000000
ld b, 15
highlight_block:
ld (hl), a
inc hl
dec e
jr nz, highlight_block
ld c, 29
add hl, bc
dec d
jr nz, highlight_row
ld (hl), a
inc hl
ld (hl), a
add hl, de
djnz highlight_block
pop de
ret
INCLUDE "sample.asm"