Compare commits
5 Commits
6c29091fcb
...
main
Author | SHA1 | Date | |
---|---|---|---|
aba129a0f7 | |||
8310e65e6b | |||
30105450d6 | |||
223d284939 | |||
7e02520c24 |
18
.devcontainer/devcontainer.json
Normal file
18
.devcontainer/devcontainer.json
Normal 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"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
99
xylo.asm
99
xylo.asm
@ -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"
|
||||
|
Reference in New Issue
Block a user