-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKickSpiralReversed2.asm
More file actions
87 lines (72 loc) · 1.18 KB
/
KickSpiralReversed2.asm
File metadata and controls
87 lines (72 loc) · 1.18 KB
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
* = $1900
.label ScreenLocation = $C1
.label Rows = $C3
.label Cols = $C4
Start:
lda #12
jsr $FFE3
lda #$7C
sta ScreenLocation + 1
lda #$29
sta ScreenLocation
lda #25
sta Rows
lda #42
sta Cols
LineLooper:
ldx Cols
jsr DrawLine
dec Cols
dec Cols
//lda ScreenLocation + 1
//cmp #$7B
lda Rows
//cmp #16
bpl !ByPassExit+
lda #$20
sta $7C29
jmp *
!ByPassExit:
// #1 -> #40
jsr EorAmount
// SBC -> ADC -> SBC
jsr EorInstructions
ldx Rows
jsr DrawLine
dec Rows
dec Rows
// #40 -> #1
jsr EorAmount
jmp LineLooper
DrawLine:
lda #64
ldy #0
sta (ScreenLocation),y
dex
bne DrawLineCLC
rts
DrawLineCLC:
sec
lda ScreenLocation
DrawLineInstr:
sbc DrawLineAm: #1
sta ScreenLocation
lda ScreenLocation + 1
DrawLineHiInstr:
sbc #0
sta ScreenLocation + 1
jmp DrawLine
EorAmount:
lda DrawLineAm
eor #$29
sta DrawLineAm
rts
EorInstructions:
lda DrawLineCLC
eor #$20
sta DrawLineCLC
lda DrawLineInstr
eor #$80
sta DrawLineInstr
sta DrawLineHiInstr
rts