79 lines
1.4 KiB
NASM
79 lines
1.4 KiB
NASM
SCREEN START 0
|
|
LDA #65
|
|
JSUB scrfill
|
|
JSUB scrclear
|
|
LDA #77
|
|
JSUB scrfill
|
|
JSUB scrclear
|
|
LDA #88
|
|
JSUB scrfill
|
|
JSUB scrclear
|
|
|
|
HALT J HALT
|
|
END SCREEN
|
|
|
|
scrfill STA znak
|
|
loop_fill LDA y
|
|
MUL scrcols
|
|
ADD screen
|
|
ADD x
|
|
STA pix_ptr
|
|
LDA znak
|
|
STCH @pix_ptr
|
|
LDA x
|
|
ADD #1
|
|
STA x
|
|
COMP scrcols
|
|
JLT loop_fill
|
|
CLEAR A
|
|
STA x
|
|
LDA y
|
|
ADD #1
|
|
STA y
|
|
COMP scrrows
|
|
JLT loop_fill
|
|
|
|
CLEAR A
|
|
STA x
|
|
STA y
|
|
LDA znak
|
|
RSUB
|
|
|
|
|
|
.address = screen + y * scrcols + x
|
|
scrclear STA old_val
|
|
loop_clear LDA y
|
|
MUL scrcols
|
|
ADD screen
|
|
ADD x
|
|
STA pix_ptr
|
|
CLEAR A
|
|
STCH @pix_ptr
|
|
LDA x
|
|
ADD #1
|
|
STA x
|
|
COMP scrcols
|
|
JLT loop_clear
|
|
CLEAR A
|
|
STA x
|
|
LDA y
|
|
ADD #1
|
|
STA y
|
|
COMP scrrows
|
|
JLT loop_clear
|
|
|
|
CLEAR A
|
|
STA x
|
|
STA y
|
|
LDA old_val
|
|
RSUB
|
|
|
|
old_val WORD 0
|
|
znak WORD 0
|
|
x WORD 0
|
|
y WORD 0
|
|
pix_ptr WORD 0
|
|
screen WORD X'00B800'
|
|
scrcols WORD 25
|
|
scrrows WORD 80
|
|
scrlen WORD 2000
|