-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
macroses.asm
58 lines (52 loc) · 912 Bytes
/
macroses.asm
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
PPU_to .macro
; set PPU address to tile X, Y
bit PPUSTATUS
lda #($20 + \2 * 32 / $100)
sta PPUADDR
lda #($00 + ((\2 * 32) % $100) + \1)
sta PPUADDR
.endm
print_ptr .macro
.print_\@:
lda #LOW(\1)
sta <COPY_SOURCE_ADDR
lda #HIGH(\1)
sta <COPY_SOURCE_ADDR+1
jsr print
.endm
printc_ptr .macro
.print_\@:
lda #LOW(\1)
sta <COPY_SOURCE_ADDR
lda #HIGH(\1)
sta <COPY_SOURCE_ADDR+1
jsr printc
.endm
printc_ptr_no_vblank .macro
.print_\@:
lda #LOW(\1)
sta <COPY_SOURCE_ADDR
lda #HIGH(\1)
sta <COPY_SOURCE_ADDR+1
jsr printc_no_vblank
.endm
delay .macro
.delay_\@:
lda #(\1 & $FF)
sta TIMER_COUNTER
lda #((\1 >> 8) & $FF)
sta TIMER_COUNTER + 1
jsr delay_sub
.endm
set_IRQ .macro
lda #LOW(\1)
sta IRQ_VECTOR
lda #HIGH(\1)
sta IRQ_VECTOR + 1
.endm
set_NMI .macro
lda #LOW(\1)
sta NMI_VECTOR
lda #HIGH(\1)
sta NMI_VECTOR + 1
.endm