org &8000
nolist
scr_set_mode equ &bc0e
txt_output equ &bb5a
start:
ld bc,&bc09
out (c),c
ld bc,&bd00+7
out (c),c
ld bc,&bc00
out (c),c
ld bc,&bd00+&3f
out (c),c
ld bc,&bc04
out (c),c
ld bc,&bd00+38
out (c),c
ld bc,&bc03
out (c),c
ld bc,&bd00+&89
out (c),c
ld bc,&bc05
out (c),c
ld bc,&bd00
out (c),c
ld bc,&bc08
out (c),c
ld bc,&bd00
out (c),c
ld bc,&bc01
out (c),c
ld bc,&bd00+48
out (c),c
ld bc,&bc02
out (c),c
ld bc,&bd00+48
out (c),c
ld bc,&bc06
out (c),c
ld bc,&bd00+35
out (c),c
ld bc,&bc07
out (c),c
ld bc,&bd00+35
out (c),c
ld bc,&bc0c
out (c),c
ld bc,&bd00+&0c
out (c),c
ld bc,&bc0d
out (c),c
ld bc,&bd00+0
out (c),c
di
ld b,&bc
ld hl,sequence
ld e,17
seq:
ld a,(hl)
out (c),a
inc hl
dec e
jr nz,seq
ld hl,&c9fb
ld (&0038),hl
ei
ld bc,&7fb8
out (c),c
ld a,8
ld (&6800),a
mainloop:
ld a,(vscroll1)
add a,16
and %01110000
ld (vscroll1),a
ld a,(vscroll2)
sub 16
and %01110000
ld (vscroll2),a
ld a,(hscroll1)
inc a
and %1111
ld (hscroll1),a
ld a,(hscroll2)
dec a
and %1111
ld (hscroll2),a
ld a,(vscroll3)
add a,16
and %01110000
or %10000000
ld (vscroll3),a
ld a,(vscroll4)
sub 16
and %01110000
or %10000000
ld (vscroll4),a
ld a,(hscroll3)
inc a
and %1111
or %10000000
ld (hscroll3),a
ld a,(hscroll4)
dec a
and %1111
or %10000000
ld (hscroll4),a
halt
ld hl,&6804
ld de,(vscroll)
call set_scroll
ld a,58
ld (&6800),a
halt
ld hl,&6804
ld de,(vscrollb)
call set_scroll
ld a,106
ld (&6800),a
halt
ld hl,&6804
ld de,(hscroll)
call set_scroll
ld a,154
ld (&6800),a
halt
ld hl,&6804
ld de,(hscrollb)
call set_scroll
ld a,8
ld (&6800),a
jp mainloop
set_scroll:
xor a
defs 54
ld (hl),a
ld c,32
set_scroll2:
defs 4
ld (hl),d
defs 8
ld (hl),a
defs 6
ld (hl),e
defs 8
ld (hl),a
defs 26
dec c
jp nz,set_scroll2
ld (hl),a
ret
vscroll:
vscroll1:
defb 0
vscroll2:
defb 0
vscrollb:
vscroll3:
defb 0
vscroll4:
defb 0
hscroll:
hscroll1:
defb 0
hscroll2:
defb 0
hscrollb:
hscroll3:
defb 0
hscroll4:
defb 0
sequence:
defb &ff,&00,&ff,&77,&b3,&51,&a8,&d4,&62,&39,&9c,&46,&2b,&15,&8a,&cd,&ee