-
Notifications
You must be signed in to change notification settings - Fork 0
/
anirog-load.s
90 lines (83 loc) · 1.74 KB
/
anirog-load.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
;;; anirog turboloader
;;; disassembled from Tom Thumb
;;; July 2018 by ops
.include "vic20.inc"
.export anirog_load
anirog_load:
L0351: jsr L03AF
cmp #$00
beq L0351
sta $AB
jsr L03D8
sta $C1
sta $2B ; Save SA low byte
jsr L03D8
sta $C2
sta $2C ; Save SA high byte
jsr L03D8
sta $2D
jsr L03D8
sta $2E
L036E: jsr L03D8
sta ($C1),y
lda VIC_COLOR
eor #$04
sta VIC_COLOR
inc $C1
bne L0379
inc $C2
lda $C2
and #%00000011
eor VIC_COLOR
sta VIC_COLOR
L0379: lda $C1
cmp $2D
lda $C2
sbc $2E
bcc L036E
rts
L03A3: ldy #$00
sty $C0
L03A7: dex
bne L03A7
dey
bne L03A7
sei
rts
L03AF: jsr L03A3
lda #$27
sta $9128
ldx #$01
L03B9: jsr L03E8
rol $BD
lda $BD
cmp #$02
bne L03B9
ldy #$09
L03C6: jsr L03D8
cmp #$02
beq L03C6
L03CD: cpy $BD
bne L03B9
jsr L03D8
dey
bne L03CD
rts
L03D8: lda #$08
sta $A3
L03DC: jsr L03E8
rol $BD
dec $A3
bne L03DC
lda $BD
rts
L03E8: lda #$02
L03EA: bit $912D
beq L03EA
lda $912D
stx $9129
bit $9121
asl a
asl a
asl a
rts