Skip to content

Commit 6fb633a

Browse files
committed
Draw a snake and an apple
1 parent ee1d309 commit 6fb633a

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

vdp.s

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
VDP_VRAM = $4000
33
VDP_REG = $4001
44

5+
; in text mode,
6+
VDP_COLS = 40
7+
VDP_ROWS = 24
8+
59
VDP_WRITE_VRAM_BIT = $40
610
VDP_REGISTER_BITS = $80
711

@@ -96,8 +100,6 @@ vdp_pattern_table_loop:
96100
pla
97101
rts
98102

99-
BOARD_WIDTH = 40 - 2
100-
BOARD_HEIGHT = 24 - 2
101103

102104
vdp_initialize_name_table:
103105
pha
@@ -107,7 +109,7 @@ vdp_initialize_name_table:
107109
.top_border:
108110
lda #3
109111
sta VDP_VRAM
110-
ldx #BOARD_WIDTH
112+
ldx #(VDP_COLS - 2)
111113
lda #0
112114
.top_border_horiz:
113115
sta VDP_VRAM
@@ -116,11 +118,11 @@ vdp_initialize_name_table:
116118
lda #2
117119
sta VDP_VRAM
118120

119-
ldy #BOARD_HEIGHT
121+
ldy #(VDP_ROWS - 2)
120122
.mid_board:
121123
lda #1
122124
sta VDP_VRAM
123-
ldx #BOARD_WIDTH
125+
ldx #(VDP_COLS - 2)
124126
lda #' '
125127
.mid_board_horiz
126128
sta VDP_VRAM
@@ -134,7 +136,7 @@ vdp_initialize_name_table:
134136
.bottom_border:
135137
lda #5
136138
sta VDP_VRAM
137-
ldx #BOARD_WIDTH
139+
ldx #(VDP_COLS - 2)
138140
lda #0
139141
.bottom_border_horiz:
140142
sta VDP_VRAM
@@ -143,6 +145,16 @@ vdp_initialize_name_table:
143145
lda #4
144146
sta VDP_VRAM
145147

148+
.snake:
149+
vdp_write_vram (VDP_NAME_TABLE_BASE + (5 * VDP_COLS) + 30)
150+
lda #'*'
151+
sta VDP_VRAM
152+
153+
vdp_write_vram (VDP_NAME_TABLE_BASE + (10 * VDP_COLS) + 20)
154+
lda #$7F
155+
sta VDP_VRAM
156+
sta VDP_VRAM
157+
146158
.exit
147159
ply
148160
plx

0 commit comments

Comments
 (0)