; coded by RAZMO of TSP - Now KEFRENS !

openlibrary:
jsr loader
jsr resetspr
execbase=4
openlib=-408
forbid=-132
lea gfxname,a1
move.l execbase,a6
jsr forbid(a6)
jsr openlib(a6)
move.l d0,gfxbase

stopmultitasking:
move.l gfxbase,a0
add.l #$32,a0
move.w #$0080,$dff096
move.l (a0),oldcopper
move.l #newcopper,(a0)
move.l a0,-(a7)
move.w #$8080,$dff096
jmp preparements

but:
btst #6,$bfe001
bne key
jmp fin
key:
cmp.b #$76,$bfec01
beq mainprogram
fin:
closelib=-414
move.l (a7)+,a0
move.l oldcopper,(a0)
move.l execbase,a6
move.l gfxbase,a1
jsr closelib(a6)
move.w #$f,$dff096
bclr #1,$bfe001
rts

gfxname: dc.b 'graphics.library'
gfxbase: dc.l 0
oldcopper: dc.l 0

newcopper:
dc.w $0100,$5200
dc.w $0102,$0000
dc.w $0104,$0024
dc.w $0108,$0000
dc.w $010a,$0000

dc.w $008e,$2c00
dc.w $0090,$16ff
dc.w $0092,$0038
dc.w $0094,$00d0

dc.w $0108,$0000
dc.w $010a,$0000

planes:
dc.w $00e0,$0004,$00e2,$0000
dc.w $00e4,$0004,$00e6,$36b0
dc.w $00e8,$0004,$00ea,$6d60
dc.w $00ec,$0004,$00ee,$a410
dc.w $00f0,$0004,$00f2,$dac0

colors:
dc.w $0180,$0000
dc.w $0182,$0fff
dc.w $0184,$0000
dc.w $0186,$0000
dc.w $0188,$0000
dc.w $018a,$000f
dc.w $018c,$000c
dc.w $018e,$0008
dc.w $0190,$0005
dc.w $0192,$0002
dc.w $0194,$0530
dc.w $0196,$0740
dc.w $0198,$0950
dc.w $019a,$0b70
dc.w $019c,$0d80
dc.w $019e,$0fa0
dc.w $01a0,$0000
dc.w $01a2,$0000
dc.w $01a4,$0080
dc.w $01a6,$0fff
dc.w $01a8,$0000
dc.w $01aa,$0000
dc.w $01ac,$0080
dc.w $01ae,$0fff
dc.w $01b0,$0000
dc.w $01b2,$0000
dc.w $01b4,$0080
dc.w $01b6,$0fff
dc.w $01b8,$0000
dc.w $01ba,$0000
dc.w $01bc,$0080
dc.w $01be,$0fff

sprvision:
dc.w $0120,$0007,$0122,$0300
dc.w $0124,$0007,$0126,$0400
dc.w $0128,$0007,$012a,$0500
dc.w $012c,$0007,$012e,$0600
dc.w $0130,$0007,$0132,$0700
dc.w $0134,$0007,$0136,$0800
dc.w $0138,$0007,$013a,$0900
dc.w $013c,$0007,$013e,$0a00

needle1:
dc.w $6061,$fffe,$0180,$0fff
dc.w $6063,$fffe,$0180,$0f00
dc.w $60ab,$fffe,$0180,$0fff
dc.w $60ad,$fffe,$0180,$0000

dc.w $ffff,$fffe


preparements:
move.l #bscrldat,bscrl
move.l #$42008,$7f000
jsr playhogan
clr.l d0
lea scrolltext0,a0
lea shakes,a6
move.l #hulkamaniacol,hulkcol
move.b #0,d0

mainprogram:
jsr watchraster
cmp.b #$0,counter
bne mp2
jsr scrolltest0
jsr scrollscreen0
jmp mp3
mp2:
sub.b #1,counter
bchg #1,pass
bchg #1,$bfe001
mp3:
jsr bitscroller
jsr runspr
butright:
btst #10,$dff016
bne br2
bclr #1,$bfe001
jmp br3
br2:
bset #1,$bfe001
br3:
jmp but

scrolltest0:
cmp.b #0,d0
bne st02
jsr playflint
move.b #12,d0
jsr newcharscroll0
st02:
rts

newcharscroll0:
clr.l d1
lea chars,a1
lea addrs,a2
ncs02:
move.b (a1),d1
cmp.b (a0),d1
bne ncs03
jsr printcharscroll0
jmp addnextcharscroll0
ncs03:
add.l #1,a1
add.l #4,a2
cmp.b #0,(a1)
bne ncs02

addnextcharscroll0:
add.l #1,a0
cmp.b #$41,(a0)
bne ancs02
add.l #1,a0
move.b #$80,counter
rts
ancs02:
cmp.b #0,(a0)
bne ancs03
lea scrolltext0,a0
ancs03:
rts

printcharscroll0:
clr.l d1
move.b #8,d1
move.l #$701b0,a1
move.l (a2),a3
pcs02:
move.w (a3),(a1)
add.l #$28,a1
add.l #$28,a3
dbra d1,pcs02
rts

scrollscreen0:
clr.l d3
clr.l d1
move.b #2,d1
ss02:
jsr basescroll0
move.l #$4126a,a1
move.b #9,d3
ss03:
asl.w #1,(a1)
roxl.w #1,-2(a1)
roxl.w #1,-4(a1)
roxl.w #1,-6(a1)
roxl.w #1,-8(a1)
roxl.w #1,-10(a1)
roxl.w #1,-12(a1)
roxl.w #1,-14(a1)
roxl.w #1,-16(a1)
roxl.w #1,-18(a1)
roxl.w #1,-20(a1)
roxl.w #1,-22(a1)
roxl.w #1,-24(a1)
roxl.w #1,-26(a1)
roxl.w #1,-28(a1)
roxl.w #1,-30(a1)
bclr #15,-30(a1)
add.l #$28,a1
subq #1,d3
cmp.b #0,d3
bne ss03
dbra d1,ss02
sub.b #2,d0
rts

basescroll0:
move.l #$701b0,a2
move.l #$4126b,a3
clr.l d2
move.b #8,d2
bs02:
asl.w #1,(a2)
bcc bs03
bset #1,(a3)
bs03:
add.l #$28,a2
add.l #$28,a3
dbra d2,bs02
bclr #1,$42052
rts

watchraster:
lea beamcol,a4
clr.l d1
clr.l d2
clr.l d3
clr.l d4
move.b #$38,d1
lea shaketable,a1
lea colortable,a3
move.l #shaketableend,d2
wr2:
cmp.b $dff006,d1
bne wr2
move.w (a3),$dff188
cmp.b $70300,d1
bne fool
move.b #1,peek
fool:
cmp.b #1,peek
bne cont
move.w (a4),$dff180
move.w 8(a4),$dff188
move.w 12(a4),$dff186
move.w 4(a4),$dff184
add.l #2,a4
cont:
cmp.b #$39,d1
bne con
move.w (a3),$dff186
move.w 52(a3),$dff184
move.w 52(a3),needle1+14
con:
add.l #2,a1
add.b #1,d1
add.l #2,a3
move.l hulkcol,a2
cmp.w #$ffff,(a2)
bne stay
move.l #hulkamaniacol,hulkcol
stay:
cmp.b #$8a,d1
bne wr2
move.b #$04,$dff105
lea shaketable,a1
lea colortable,a2
move.w #$0000,$dff102
move.w #$0038,$dff092
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
move.w #$0000,$dff180
move.b #0,peek
wr3:
move.w 2(a1),(a1)
move.w 2(a2),(a2)
add.l #2,a1
add.l #2,a2
cmp.l d2,a1
bne wr3
move.w (a6),shaketableend-2
move.l hulkcol,a4
move.w (a4),colortableend-2
add.l #2,hulkcol
add.l #2,a6
move.l hulkcol,a4
cmp.w #$ffff,(a4)
bne stay2
move.l #hulkamaniacol,hulkcol
stay2:
cmp.w #$1234,(a6)
bne wr4
lea shakes,a6
wr4:
clr.l d1
move.b #$a1,d1
lea colback,a1
lea colfront,a2
wr5:
cmp.b $dff006,d1
bne wr5
cmp.b #$0,counter
beq wr
btst #1,pass
beq wrr
wr:
move.w (a1),$dff180
wrr:
move.w (a2),$dff182
add.l #2,a1
add.l #2,a2
add.b #1,d1
cmp.b #$ab,d1
bne wr5
clr.l d1
clr.l d2
clr.l d3
move.b #$c3,d1
move.l #shaketable-2,d2
lea shaketableend-2,a1
lea colortableend-2,a3
lea colortable,a4
wr6:
cmp.b $dff006,d1
bne wr6
cmp.b #$c3,d1
bne go
move.l bit1,$dff0e0
move.l bit3,$dff0e8
move.l bit4,$dff0ec
move.l bit5,$dff0f0
move.l bit2,$dff0e4
move.w (a3),$dff186
move.w -52(a3),$dff184
move.b $70300,$dff183
go:
move.w (a1),$dff102
move.w (a3),$dff188
move.w (a4),$dff1a0
move.w #$0038,carry2
move.b (a1),d3
add.w d3,carry2
move.w carry2,$dff092

add.b #1,d1
sub.l #2,a1
sub.l #2,a3
add.l #2,a4
cmp.l d2,a1
bne wr6

add.b #$84,$70a00
move.b $70a00,needle1
move.b $70a00,needle1+8
move.b $70a00,needle1+16
move.b $70a00,needle1+24
rts

shaketable: blk.w 100,0
shaketableend:
colortable: blk.w 100,0
colortableend:
carry1: dc.w 0
carry2: dc.w 0

shakes:
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000

dc.w $0000,$0000,$0000,$0011,$0011
dc.w $0022,$0022,$0033,$0055,$0066
dc.w $0077,$0099,$00aa,$00cc
dc.w $00ee,$04ff,$0400,$0422
dc.w $0433,$0444,$0455,$0466
dc.w $0466,$0477,$0477,$0477

dc.w $0466,$0466,$0455,$0444
dc.w $0433,$0422,$0400,$04ff
dc.w $00ee,$00cc,$00aa,$0099
dc.w $0077,$0066,$0055,$0033
dc.w $0022,$0022,$0011,$0011

dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000

dc.w $0000,$0000,$0000,$0011,$0011
dc.w $0022,$0022,$0033,$0055,$0066
dc.w $0077,$0099,$00aa,$00cc
dc.w $00ee,$04ff,$0400,$0422
dc.w $0433,$0444,$0455,$0466
dc.w $0466,$0477,$0477,$0477

dc.w $0466,$0466,$0455,$0444
dc.w $0433,$0422,$0400,$04ff
dc.w $00ee,$00cc,$00aa,$0099
dc.w $0077,$0066,$0055,$0033
dc.w $0022,$0022,$0011,$0011
dc.w $0000,$0000,$0000,$0011,$0011
dc.w $0022,$0022,$0033,$0055,$0066
dc.w $0077,$0099,$00aa,$00cc
dc.w $00ee,$04ff,$0400,$0422
dc.w $0433,$0444,$0455,$0466
dc.w $0466,$0477,$0477,$0477

dc.w $0466,$0466,$0455,$0444
dc.w $0433,$0422,$0400,$04ff
dc.w $00ee,$00cc,$00aa,$0099
dc.w $0077,$0066,$0055,$0033
dc.w $0022,$0022,$0011,$0011
dc.w $1234

hulkamaniacol:
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000

dc.w $0000,$0000
dc.w $0100,$0100
dc.w $0200,$0200
dc.w $0300,$0300
dc.w $0400,$0400
dc.w $0500,$0500
dc.w $0600,$0600
dc.w $0700,$0700
dc.w $0800,$0800
dc.w $0900,$0900
dc.w $0a00,$0a00
dc.w $0b00,$0b00
dc.w $0c00,$0c00
dc.w $0d00,$0d00
dc.w $0e00,$0e00
dc.w $0f00,$0f00
dc.w $0e00,$0e00
dc.w $0d00,$0d00
dc.w $0c00,$0c00
dc.w $0b00,$0b00
dc.w $0a00,$0a00
dc.w $0900,$0900
dc.w $0800,$0800
dc.w $0700,$0700
dc.w $0600,$0600
dc.w $0500,$0500
dc.w $0400,$0400
dc.w $0300,$0300
dc.w $0200,$0200
dc.w $0100,$0100

dc.w $0000,$0000
dc.w $0100,$0100
dc.w $0200,$0200
dc.w $0300,$0300
dc.w $0400,$0400
dc.w $0500,$0500
dc.w $0600,$0600
dc.w $0700,$0700
dc.w $0800,$0800
dc.w $0900,$0900
dc.w $0a00,$0a00
dc.w $0b00,$0b00
dc.w $0c00,$0c00
dc.w $0d00,$0d00
dc.w $0e00,$0e00
dc.w $0f00,$0f00
dc.w $0e00,$0e00
dc.w $0d00,$0d00
dc.w $0c00,$0c00
dc.w $0b00,$0b00
dc.w $0a00,$0a00
dc.w $0900,$0900
dc.w $0800,$0800
dc.w $0700,$0700
dc.w $0600,$0600
dc.w $0500,$0500
dc.w $0400,$0400
dc.w $0300,$0300
dc.w $0200,$0200
dc.w $0100,$0100

dc.w $0000,$0000
dc.w $0100,$0100
dc.w $0200,$0200
dc.w $0300,$0300
dc.w $0400,$0400
dc.w $0500,$0500
dc.w $0600,$0600
dc.w $0700,$0700
dc.w $0800,$0800
dc.w $0900,$0900
dc.w $0a00,$0a00
dc.w $0b00,$0b00
dc.w $0c00,$0c00
dc.w $0d00,$0d00
dc.w $0e00,$0e00
dc.w $0f00,$0f00
dc.w $0e00,$0e00
dc.w $0d00,$0d00
dc.w $0c00,$0c00
dc.w $0b00,$0b00
dc.w $0a00,$0a00
dc.w $0900,$0900
dc.w $0800,$0800
dc.w $0700,$0700
dc.w $0600,$0600
dc.w $0500,$0500
dc.w $0400,$0400
dc.w $0300,$0300
dc.w $0200,$0200
dc.w $0100,$0100

dc.w $0000,$0000
dc.w $0010,$0010
dc.w $0020,$0020
dc.w $0030,$0030
dc.w $0040,$0040
dc.w $0050,$0050
dc.w $0060,$0060
dc.w $0070,$0070
dc.w $0080,$0080
dc.w $0090,$0090
dc.w $00a0,$00a0
dc.w $00b0,$00b0
dc.w $00c0,$00c0
dc.w $00d0,$00d0
dc.w $00e0,$00e0
dc.w $00f0,$00f0
dc.w $00e0,$00e0
dc.w $00d0,$00d0
dc.w $00c0,$00c0
dc.w $00b0,$00b0
dc.w $00a0,$00a0
dc.w $0090,$0090
dc.w $0080,$0080
dc.w $0070,$0070
dc.w $0060,$0060
dc.w $0050,$0050
dc.w $0040,$0040
dc.w $0030,$0030
dc.w $0020,$0020
dc.w $0010,$0010

dc.w $0000,$0000
dc.w $0011,$0011
dc.w $0022,$0022
dc.w $0033,$0033
dc.w $0044,$0044
dc.w $0055,$0055
dc.w $0066,$0066
dc.w $0077,$0077
dc.w $0088,$0088
dc.w $0099,$0099
dc.w $00aa,$00aa
dc.w $00bb,$00bb
dc.w $00cc,$00cc
dc.w $00dd,$00dd
dc.w $00ee,$00ee
dc.w $00ff,$00ff
dc.w $00ee,$00ee
dc.w $00dd,$00dd
dc.w $00cc,$00cc
dc.w $00bb,$00bb
dc.w $00aa,$00aa
dc.w $0099,$0099
dc.w $0088,$0088
dc.w $0077,$0077
dc.w $0066,$0066
dc.w $0055,$0055
dc.w $0044,$0044
dc.w $0033,$0033
dc.w $0022,$0022
dc.w $0011,$0011

dc.w $0000,$0000
dc.w $0111,$0111
dc.w $0222,$0222
dc.w $0333,$0333
dc.w $0444,$0444
dc.w $0555,$0555
dc.w $0666,$0666
dc.w $0777,$0777
dc.w $0888,$0888
dc.w $0999,$0999
dc.w $0aaa,$0aaa
dc.w $0bbb,$0bbb
dc.w $0ccc,$0ccc
dc.w $0ddd,$0ddd
dc.w $0eee,$0eee
dc.w $0fff,$0fff
dc.w $0eee,$0eee
dc.w $0ddd,$0ddd
dc.w $0ccc,$0ccc
dc.w $0bbb,$0bbb
dc.w $0aaa,$0aaa
dc.w $0999,$0999
dc.w $0888,$0888
dc.w $0777,$0777
dc.w $0666,$0666
dc.w $0555,$0555
dc.w $0444,$0444
dc.w $0333,$0333
dc.w $0222,$0222
dc.w $0111,$0111

dc.w $0000,$0000
dc.w $0111,$0111
dc.w $0222,$0222
dc.w $0333,$0333
dc.w $0444,$0444
dc.w $0555,$0555
dc.w $0666,$0666
dc.w $0777,$0777
dc.w $0888,$0888
dc.w $0999,$0999
dc.w $0aaa,$0aaa
dc.w $0bbb,$0bbb
dc.w $0ccc,$0ccc
dc.w $0ddd,$0ddd
dc.w $0eee,$0eee
dc.w $0fff,$0fff
dc.w $0eee,$0eee
dc.w $0ddd,$0ddd
dc.w $0ccc,$0ccc
dc.w $0bbb,$0bbb
dc.w $0aaa,$0aaa
dc.w $0999,$0999
dc.w $0888,$0888
dc.w $0777,$0777
dc.w $0666,$0666
dc.w $0555,$0555
dc.w $0444,$0444
dc.w $0333,$0333
dc.w $0222,$0222
dc.w $0111,$0111

dc.w $0000,$0000
dc.w $0111,$0111
dc.w $0222,$0222
dc.w $0333,$0333
dc.w $0444,$0444
dc.w $0555,$0555
dc.w $0666,$0666
dc.w $0777,$0777
dc.w $0888,$0888
dc.w $0999,$0999
dc.w $0aaa,$0aaa
dc.w $0bbb,$0bbb
dc.w $0ccc,$0ccc
dc.w $0ddd,$0ddd
dc.w $0eee,$0eee
dc.w $0fff,$0fff
dc.w $0eee,$0eee
dc.w $0ddd,$0ddd
dc.w $0ccc,$0ccc
dc.w $0bbb,$0bbb
dc.w $0aaa,$0aaa
dc.w $0999,$0999
dc.w $0888,$0888
dc.w $0777,$0777
dc.w $0666,$0666
dc.w $0555,$0555
dc.w $0444,$0444
dc.w $0333,$0333
dc.w $0222,$0222
dc.w $0111,$0111

dc.w $0000,$0000
dc.w $0010,$0010
dc.w $0120,$0120
dc.w $0130,$0130
dc.w $0240,$0240
dc.w $0250,$0250
dc.w $0360,$0360
dc.w $0370,$0370
dc.w $0480,$0480
dc.w $0490,$0490
dc.w $05a0,$05a0
dc.w $05b0,$05b0
dc.w $06c0,$06c0
dc.w $06d0,$06d0
dc.w $07e0,$07e0
dc.w $07f0,$07f0
dc.w $07e0,$07e0
dc.w $06d0,$06d0
dc.w $06c0,$06c0
dc.w $05b0,$05b0
dc.w $05a0,$05a0
dc.w $0490,$0490
dc.w $0480,$0480
dc.w $0370,$0370
dc.w $0360,$0360
dc.w $0250,$0250
dc.w $0240,$0240
dc.w $0130,$0130
dc.w $0120,$0120
dc.w $0010,$0010

dc.w $0000,$0000
dc.w $0100,$0100
dc.w $0210,$0210
dc.w $0311,$0311
dc.w $0421,$0421
dc.w $0521,$0521
dc.w $0632,$0632
dc.w $0732,$0732
dc.w $0842,$0842
dc.w $0943,$0943
dc.w $0a53,$0a53
dc.w $0b53,$0b53
dc.w $0c64,$0c64
dc.w $0d64,$0d64
dc.w $0e74,$0e74
dc.w $0f75,$0f75
dc.w $0e74,$0e74
dc.w $0d64,$0d64
dc.w $0c64,$0c64
dc.w $0b53,$0b53
dc.w $0a53,$0a53
dc.w $0943,$0943
dc.w $0842,$0842
dc.w $0732,$0732
dc.w $0632,$0632
dc.w $0521,$0521
dc.w $0421,$0421
dc.w $0311,$0311
dc.w $0210,$0210
dc.w $0100,$0100

dc.w $0000,$0000
dc.w $0101,$0101
dc.w $0212,$0212
dc.w $0313,$0313
dc.w $0424,$0424
dc.w $0525,$0525
dc.w $0636,$0636
dc.w $0737,$0737
dc.w $0848,$0848
dc.w $0949,$0949
dc.w $0a5a,$0a5a
dc.w $0b5b,$0b5b
dc.w $0c6c,$0c6c
dc.w $0d6d,$0d6d
dc.w $0e7e,$0e7e
dc.w $0f7f,$0f7f
dc.w $0e7e,$0e7e
dc.w $0d6d,$0d6d
dc.w $0c6c,$0c6c
dc.w $0b5b,$0b5b
dc.w $0a5a,$0a5a
dc.w $0949,$0949
dc.w $0848,$0848
dc.w $0737,$0737
dc.w $0636,$0636
dc.w $0525,$0525
dc.w $0424,$0424
dc.w $0313,$0313
dc.w $0212,$0212
dc.w $0101,$0101

dc.w $0000,$0000
dc.w $0110,$0110
dc.w $0221,$0221
dc.w $0331,$0331
dc.w $0442,$0442
dc.w $0552,$0552
dc.w $0663,$0663
dc.w $0773,$0773
dc.w $0884,$0884
dc.w $0994,$0994
dc.w $0aa5,$0aa5
dc.w $0bb5,$0bb5
dc.w $0cc6,$0cc6
dc.w $0dd6,$0dd6
dc.w $0ee7,$0ee7
dc.w $0ff7,$0ff7
dc.w $0ee7,$0ee7
dc.w $0dd6,$0dd6
dc.w $0cc6,$0cc6
dc.w $0bb5,$0bb5
dc.w $0aa5,$0aa5
dc.w $0994,$0994
dc.w $0884,$0884
dc.w $0773,$0773
dc.w $0663,$0663
dc.w $0552,$0552
dc.w $0442,$0442
dc.w $0331,$0331
dc.w $0221,$0221
dc.w $0110,$0110

dc.w $0000,$0000
dc.w $0101,$0101
dc.w $0202,$0202
dc.w $0303,$0303
dc.w $0404,$0404
dc.w $0505,$0505
dc.w $0606,$0606
dc.w $0707,$0707
dc.w $0808,$0808
dc.w $0909,$0909
dc.w $0a0a,$0a0a
dc.w $0b0b,$0b0b
dc.w $0c0c,$0c0c
dc.w $0d0d,$0d0d
dc.w $0e0e,$0e0e
dc.w $0f0f,$0f0f
dc.w $0e0e,$0e0e
dc.w $0d0d,$0d0d
dc.w $0c0c,$0c0c
dc.w $0b0b,$0b0b
dc.w $0a0a,$0a0a
dc.w $0909,$0909
dc.w $0808,$0808
dc.w $0707,$0707
dc.w $0606,$0606
dc.w $0505,$0505
dc.w $0404,$0404
dc.w $0303,$0303
dc.w $0202,$0202
dc.w $0101,$0101

dc.w $0000,$0000
dc.w $0110,$0110
dc.w $0220,$0220
dc.w $0330,$0330
dc.w $0440,$0440
dc.w $0550,$0550
dc.w $0660,$0660
dc.w $0770,$0770
dc.w $0880,$0880
dc.w $0990,$0990
dc.w $0aa0,$0aa0
dc.w $0bb0,$0bb0
dc.w $0cc0,$0cc0
dc.w $0dd0,$0dd0
dc.w $0ee0,$0ee0
dc.w $0ff0,$0ff0
dc.w $0ee0,$0ee0
dc.w $0dd0,$0dd0
dc.w $0cc0,$0cc0
dc.w $0bb0,$0bb0
dc.w $0aa0,$0aa0
dc.w $0990,$0990
dc.w $0880,$0880
dc.w $0770,$0770
dc.w $0660,$0660
dc.w $0550,$0550
dc.w $0440,$0440
dc.w $0330,$0330
dc.w $0220,$0220
dc.w $0110,$0110

dc.w $0000,$0000
dc.w $0110,$0110
dc.w $0220,$0220
dc.w $0330,$0330
dc.w $0440,$0440
dc.w $0550,$0550
dc.w $0660,$0660
dc.w $0770,$0770
dc.w $0880,$0880
dc.w $0990,$0990
dc.w $0aa0,$0aa0
dc.w $0bb0,$0bb0
dc.w $0cc0,$0cc0
dc.w $0dd0,$0dd0
dc.w $0ee0,$0ee0
dc.w $0ff0,$0ff0
dc.w $0ee0,$0ee0
dc.w $0dd0,$0dd0
dc.w $0cc0,$0cc0
dc.w $0bb0,$0bb0
dc.w $0aa0,$0aa0
dc.w $0990,$0990
dc.w $0880,$0880
dc.w $0770,$0770
dc.w $0660,$0660
dc.w $0550,$0550
dc.w $0440,$0440
dc.w $0330,$0330
dc.w $0220,$0220
dc.w $0110,$0110

dc.w $0000,$0000
dc.w $0110,$0110
dc.w $0220,$0220
dc.w $0330,$0330
dc.w $0440,$0440
dc.w $0550,$0550
dc.w $0660,$0660
dc.w $0770,$0770
dc.w $0880,$0880
dc.w $0990,$0990
dc.w $0aa0,$0aa0
dc.w $0bb0,$0bb0
dc.w $0cc0,$0cc0
dc.w $0dd0,$0dd0
dc.w $0ee0,$0ee0
dc.w $0ff0,$0ff0
dc.w $0ee0,$0ee0
dc.w $0dd0,$0dd0
dc.w $0cc0,$0cc0
dc.w $0bb0,$0bb0
dc.w $0aa0,$0aa0
dc.w $0990,$0990
dc.w $0880,$0880
dc.w $0770,$0770
dc.w $0660,$0660
dc.w $0550,$0550
dc.w $0440,$0440
dc.w $0330,$0330
dc.w $0220,$0220
dc.w $0110,$0110

dc.w $0000,$0000
dc.w $001,$001
dc.w $002,$002
dc.w $003,$003
dc.w $004,$004
dc.w $005,$005
dc.w $006,$006
dc.w $007,$007
dc.w $008,$008
dc.w $009,$009
dc.w $00a,$00a
dc.w $00b,$00b
dc.w $00c,$00c
dc.w $00d,$00d
dc.w $00e,$00e
dc.w $00f,$00f
dc.w $00e,$00e
dc.w $00d,$00d
dc.w $00c,$00c
dc.w $00b,$00b
dc.w $00a,$00a
dc.w $009,$009
dc.w $008,$008
dc.w $007,$007
dc.w $006,$006
dc.w $005,$005
dc.w $004,$004
dc.w $003,$003
dc.w $002,$002
dc.w $001,$001

dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000

dc.w $ffff

colback:
dc.w $0400,$0600,$0900,$0d00,$0f00,$0d00,$0900,$0600,$0400
dc.w $0000

colfront:
dc.w $0fff,$0dde,$0bbd,$099c,$077b,$055a,$0339,$0228,$0117
dc.w $0fff

scrolltext0:
dc.b '   yeah!!! thiz iz razmo of the starlight project !!! '
dc.b " a b c d e f g h i j k l m n o p q r s t u v w x y z "
dc.b "? . ! ( ) : , - '    this demo is soon finish !!! "
dc.b "   razmo!     A "
dc.b '            ',0

chars:
dc.b "abcdefghijklmnopqrstuvwxyz .?!():,-'",0
even

addrs:
dc.l $70000,$70002,$70004,$70006,$70008,$7000a,$7000c
dc.l $7000e,$70010,$70012,$70014,$70016,$70018,$7001a
dc.l $7001c,$7001e,$70020,$70022,$70024,$70026,$70190
dc.l $70192,$70194,$70196,$70198,$7019a,$7019c,$7019e
dc.l $701a0,$701a2,$701a4,$701a6,$701a8,$701aa,$701ac
dc.l $701ae

playhogan:
move.l #$5915c+104,$dff0a0
move.l #$5915c+104,$dff0b0
move.l #$5915c+104,$dff0c0
move.l #$5915c+104,$dff0d0
move.w #$3072,$dff0a4
move.w #$3072,$dff0b4
move.w #$3072,$dff0c4
move.w #$3072,$dff0d4
move.w #428,$dff0a6
move.w #428,$dff0b6
move.w #428,$dff0c6
move.w #428,$dff0d6
move.w #65,$dff0a8
move.w #65,$dff0b8
move.w #65,$dff0c8
move.w #65,$dff0d8
move.w #$808f,$dff096
rts
playflint:
move.l #$5f240,$dff0a0
move.l #$5f240,$dff0b0
move.l #$5f240,$dff0c0
move.l #$5f240,$dff0d0
move.w #$86e0,$dff0a4
move.w #$86e0,$dff0b4
move.w #$86e0,$dff0c4
move.w #$86e0,$dff0d4
move.w #428,$dff0a6
move.w #428,$dff0b6
move.w #428,$dff0c6
move.w #428,$dff0d6
move.w #65,$dff0a8
move.w #65,$dff0b8
move.w #65,$dff0c8
move.w #65,$dff0d8
rts

hulkcol: dc.l $0
bit1:
dc.l $417c0-80
bit2:
dc.l $44e82-80
bit3:
dc.l $48520-80
bit4:
dc.l $4bbd6-80
bit5:
dc.l $4f262-40

bitscroller:
clr.l d1
move.l bscrl,a1
move.l (a1),d1
add.l d1,bit1
add.l d1,bit2
add.l d1,bit3
add.l d1,bit4
add.l d1,bit5
add.l #4,bscrl
move.l bscrl,a1
cmp.l #$ff,(a1)
bne bs3
move.l #bscrldat,bscrl
bs3:
rts
bscrl: dc.l 0

bscrldat:
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 1*40,0*40,1*40,1*40,1*40,1*40,1*40,2*40,2*40,2*40,2*40
dc.l 3*40,3*40,3*40,3*40,4*40,4*40,4*40
dc.l 5*40,5*40,5*40,4*40,4*40,4*40,3*40
dc.l 3*40,3*40,3*40,2*40,2*40,2*40,2*40,1*40,1*40,1*40
dc.l 1*40,1*40,0*40,1*40
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l -1*40,-0*40,-1*40,-1*40,-1*40,-1*40,-1*40,-2*40,-2*40,-2*40,-2*40
dc.l -3*40,-3*40,-3*40,-3*40,-4*40,-4*40,-4*40
dc.l -5*40,-5*40,-5*40,-4*40,-4*40,-4*40,-3*40
dc.l -3*40,-3*40,-3*40,-2*40,-2*40,-2*40,-2*40,-1*40,-1*40
dc.l -1*40,-1*40,-1*40,-0*40,-1*40
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 1*40,0*40,1*40,1*40,1*40,1*40,1*40,2*40,2*40,2*40,2*40
dc.l 3*40,3*40,3*40,3*40,4*40,4*40,4*40
dc.l 5*40,5*40,5*40,4*40,4*40,4*40,3*40
dc.l 3*40,3*40,3*40,2*40,2*40,2*40,2*40,1*40,1*40
dc.l 1*40,1*40,1*40,0*40,1*40,0,0
dc.l -1*40,-0*40,-1*40,-1*40,-1*40,-1*40,-1*40,-2*40,-2*40,-2*40,-2*40
dc.l -3*40,-3*40,-3*40,-3*40,-4*40,-4*40,-4*40
dc.l -5*40,-5*40,-5*40,-4*40,-4*40,-4*40,-3*40
dc.l -3*40,-3*40,-3*40,-2*40,-2*40,-2*40,-2*40,-1*40,-1*40
dc.l -1*40,-1*40,-1*40,-0*40,-1*40,0,0
dc.l 1*40,0*40,1*40,1*40,1*40,1*40,1*40,2*40,2*40,2*40,2*40
dc.l 3*40,3*40,3*40,3*40,4*40,4*40,4*40
dc.l 5*40,5*40,5*40,4*40,4*40,4*40,3*40
dc.l 3*40,3*40,3*40,2*40,2*40,2*40,2*40,1*40,1*40
dc.l 1*40,1*40,1*40,0*40,1*40,0,0
dc.l -1*40,-0*40,-1*40,-1*40,-1*40,-1*40,-1*40,-2*40,-2*40,-2*40,-2*40
dc.l -3*40,-3*40,-3*40,-3*40,-4*40,-4*40,-4*40
dc.l -5*40,-5*40,-5*40,-4*40,-4*40,-4*40,-3*40
dc.l -3*40,-3*40,-3*40,-2*40,-2*40,-2*40,-2*40,-1*40,-1*40
dc.l -1*40,-1*40,-1*40,-0*40,-1*40,0,0
dc.l $ff

counter: dc.b $00
even

runspr:
jsr hideregs
jsr movesprite0
jsr findregs
rts
resetspr:
lea sprites,a0
move.l #$70300,a1
spr:
move.w $dff006,$dff102
cmp.b #$38,$dff006
bne spr
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
move.b (a0),$dff182
move.b (a0),(a1)
move.b 200(a0),$100(a1)
move.b 400(a0),$200(a1)
move.b 600(a0),$300(a1)
move.b 800(a0),$400(a1)
move.b 1000(a0),$500(a1)
move.b 1200(a0),$600(a1)
move.b 1400(a0),$700(a1)
add.l #1,a0
add.l #1,a1
cmp.l #$70400,a1
bne spr
rts

sprite0: dc.l $71040
sprite1: dc.l $71038
sprite2: dc.l $71030
sprite3: dc.l $71028
sprite4: dc.l $71020
sprite5: dc.l $71008
sprite6: dc.l $71004
sprite7: dc.l $71000

movesprite0:
move.l sprite0,a0
move.b (a0),$70301
move.b $500(a0),$70300
move.b $500(a0),$70302
add.b #$14,$70302
add.l #1,sprite0
move.l sprite0,a0
cmp.b #$ff,(a0)
bne movesprite1
move.l #$71000,sprite0

movesprite1:
move.l sprite1,a0
move.b (a0),$70401
move.b $500(a0),$70400
move.b $500(a0),$70402
add.b #$14,$70402
add.l #1,sprite1
move.l sprite1,a0
cmp.b #$ff,(a0)
bne movesprite2
move.l #$71000,sprite1

movesprite2:
move.l sprite2,a0
move.b (a0),$70501
move.b $500(a0),$70500
move.b $500(a0),$70502
add.b #$14,$70502
add.l #1,sprite2
move.l sprite2,a0
cmp.b #$ff,(a0)
bne movesprite3
move.l #$71000,sprite2

movesprite3:
move.l sprite3,a0
move.b (a0),$70601
move.b $500(a0),$70600
move.b $500(a0),$70602
add.b #$14,$70602
add.l #1,sprite3
move.l sprite3,a0
cmp.b #$ff,(a0)
bne movesprite4
move.l #$71000,sprite3

movesprite4:
move.l sprite4,a0
move.b (a0),$70701
move.b $500(a0),$70700
move.b $500(a0),$70702
add.b #$14,$70702
add.l #1,sprite4
move.l sprite4,a0
cmp.b #$ff,(a0)
bne movesprite5
move.l #$71000,sprite4

movesprite5:
move.l sprite5,a0
move.b (a0),$70801
move.b $500(a0),$70800
move.b $500(a0),$70802
add.b #$14,$70802
add.l #1,sprite5
move.l sprite5,a0
cmp.b #$ff,(a0)
bne movesprite6
move.l #$71000,sprite5

movesprite6:
move.l sprite6,a0
move.b (a0),$70901
move.b $500(a0),$70900
move.b $500(a0),$70902
add.b #$14,$70902
add.l #1,sprite6
move.l sprite6,a0
cmp.b #$ff,(a0)
bne movesprite7
move.l #$71000,sprite6

movesprite7:
move.l sprite7,a0
move.b (a0),$70a01
move.b $500(a0),$70a00
move.b $500(a0),$70a02
add.b #$14,$70a02
add.l #1,sprite7
move.l sprite7,a0
cmp.b #$ff,(a0)
bne end
move.l #$71000,sprite7

end:
rts

sprites:

dc.w $0000,$0000
dc.w $7FFE,$0000
dc.w $8001,$7FFE
dc.w $BFFD,$7FFE
dc.w $8005,$7FFE
dc.w $7FF5,$000E
dc.w $0015,$000E
dc.w $0015,$000E
dc.w $7FF5,$000E
dc.w $8005,$7FFE
dc.w $BFFD,$7FFE
dc.w $A021,$7FFE
dc.w $AFAE,$7070
dc.w $A8A8,$7070
dc.w $A8A8,$7070
dc.w $A8A8,$7070
dc.w $A8B4,$7078
dc.w $A85A,$703C
dc.w $A82D,$701E
dc.w $8811,$700E
dc.w $700E,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $7FFE,$0000
dc.w $8001,$7FFE
dc.w $BFFD,$7FFE
dc.w $8005,$7FFE
dc.w $7FF5,$000E
dc.w $0015,$000E
dc.w $0015,$000E
dc.w $7FF5,$000E
dc.w $8005,$7FFE
dc.w $BFFD,$7FFE
dc.w $A005,$7FFE
dc.w $AFF5,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $8811,$700E
dc.w $700E,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $7FFE,$0000
dc.w $8001,$7FFE
dc.w $BFFD,$7FFE
dc.w $8005,$7FFE
dc.w $7FF5,$000E
dc.w $0015,$000E
dc.w $0015,$000E
dc.w $7C35,$000E
dc.w $8245,$7C3E
dc.w $BA5D,$7C3E
dc.w $A241,$7C3E
dc.w $AC3E,$7000
dc.w $A800,$7000
dc.w $A800,$7000
dc.w $A800,$7000
dc.w $AFFE,$7000
dc.w $A001,$7FFE
dc.w $BFFD,$7FFE
dc.w $8001,$7FFE
dc.w $7FFE,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $781E,$0000
dc.w $8421,$781E
dc.w $B24D,$7C3E
dc.w $4995,$3E7E
dc.w $2425,$1FFE
dc.w $1245,$0FFE
dc.w $0995,$07EE
dc.w $4435,$03CE
dc.w $A255,$418E
dc.w $9195,$600E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $8811,$700E
dc.w $700E,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $7FFE,$0000
dc.w $8001,$7FFE
dc.w $BFFD,$7FFE
dc.w $8005,$7FFE
dc.w $7FF5,$000E
dc.w $0015,$000E
dc.w $0015,$000E
dc.w $7015,$000E
dc.w $8815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $AFF5,$700E
dc.w $A005,$7FFE
dc.w $BFFD,$7FFE
dc.w $8001,$7FFE
dc.w $7FFE,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $7FFE,$0000
dc.w $A815,$57EA
dc.w $ABD5,$57EA
dc.w $A995,$57EA
dc.w $7DBE,$03C0
dc.w $05A0,$03C0
dc.w $05A0,$03C0
dc.w $05A0,$03C0
dc.w $05A0,$03C0
dc.w $05A0,$03C0
dc.w $05A0,$03C0
dc.w $05A0,$03C0
dc.w $05A0,$03C0
dc.w $05A0,$03C0
dc.w $05A0,$03C0
dc.w $0FF0,$0180
dc.w $15A8,$0BD0
dc.w $15A8,$0BD0
dc.w $1428,$0BD0
dc.w $0FF0,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $7FFE,$0000
dc.w $9551,$6AAE
dc.w $B55D,$6AAE
dc.w $B555,$6AAE
dc.w $AFF1,$700E
dc.w $A80E,$7000
dc.w $A800,$7000
dc.w $AFFE,$7000
dc.w $AAA9,$7556
dc.w $BAAD,$7556
dc.w $8AAD,$7556
dc.w $7FF5,$000E
dc.w $0015,$000E
dc.w $0015,$000E
dc.w $7015,$000E
dc.w $8FF5,$700E
dc.w $B555,$6AAE
dc.w $B55D,$6AAE
dc.w $9551,$6AAE
dc.w $7FFE,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $7FFE,$0000
dc.w $9551,$6AAE
dc.w $B55D,$6AAE
dc.w $B555,$6AAE
dc.w $AFF5,$700E
dc.w $A815,$700E
dc.w $A815,$700E
dc.w $AFF5,$700E
dc.w $AAAD,$7556
dc.w $AAAD,$7556
dc.w $AAA9,$7556
dc.w $AFFE,$7000
dc.w $A800,$7000
dc.w $A800,$7000
dc.w $A800,$7000
dc.w $A800,$7000
dc.w $A800,$7000
dc.w $A800,$7000
dc.w $8800,$7000
dc.w $7000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000
dc.w $0000,$0000

hideregs:
move.l a0,adregs
move.l a1,adregs+4
rts
findregs:
move.l adregs,a0
move.l adregs+4,a1
rts

adregs: dc.l 0,0,0,0,0,0,0
pass: dc.b 0
peek: dc.b 0
even:

beamcol:

dc.w $0000
dc.w $0000,$0111,$0222,$0333,$0444,$0555,$0666,$0777
dc.w $0888,$0999,$0aaa,$0bbb,$0ccc,$0ddd,$0eee,$0fff
dc.w $0eee,$0ddd,$0ccc,$0bbb,$0aaa,$0999,$0888,$0777
dc.w $0666,$0555,$0444,$0333,$0222,$0111,$0000
dc.w $0000,$0110,$0220,$0330,$0440,$0550,$0660,$0770
dc.w $0880,$0990,$0aa0,$0bb0,$0cc0,$0dd0,$0ee0,$0ff0
dc.w $0ee0,$0dd0,$0cc0,$0bb0,$0aa0,$0990,$0880,$0770
dc.w $0660,$0550,$0440,$0330,$0220,$0110,$0000
dc.w $0000,$0011,$0022,$0033,$0044,$0055,$0066,$0077
dc.w $0088,$0099,$00aa,$00bb,$00cc,$00dd,$00ee,$00ff
dc.w $00ee,$00dd,$00cc,$00bb,$00aa,$0099,$0088,$0077
dc.w $0066,$0055,$0044,$0033,$0022,$0011,$0000

; *** LOADER ***
loader:
read=-42
open=-30
close=-36
modeold=1005
lea dosname,a1
move.l execbase,a6
jsr openlib(a6)
move.l d0,dosbase
move.l #filepointers,a5
jmp loader2
dosbase: dc.l $00000000
filehd: dc.l $0000000
dosname: dc.b 'dos.library',0
filename: dc.b 'ikit-3',0
even

loader2:
move.l #modeold,d2
move.l (a5),a4
jsr openfile
bne loader3
nofile:
move.w $dff006,$dff180
jmp nofile

loader3:
move.l (a4),d2
jsr readfile
jsr closefile
add.l #4,a5
cmp.l #$ffffffff,(a5)
bne loader2
jmp filefinish

readfile:
move.l dosbase,a6
move.l filehd,d1
move.l #$fffff,d3
jsr read(a6)
rts

openfile:
move.l dosbase,a6
add.l #4,a4
move.l a4,d1
sub.l #4,a4
jsr open(a6)
move.l d0,filehd
rts

closefile:
move.l dosbase,a6
move.l filehd,d1
jsr close(a6)
rts

filefinish:
move.l execbase,a6
move.l dosbase,a1
jsr closelib(a6)
rts

filepointers:
dc.l file1,file2,file3,file4,file5,$ffffffff

file1: dc.l $40000
dc.b 'hm.pic',0
even
file2: dc.l $5f240
dc.b 'hm.sfx',0
even
file3: dc.l $70000
dc.b 'hm.font',0
even
file4: dc.l $71000
dc.b 'hm.sindat',0
even
file5: dc.l $5915c
dc.b 'hm.hogan',0

