Skip to content

Commit ffc83a4

Browse files
committed
Double-pass rastering the background bitmap due to new emulator behavior (bug?).
1 parent 771697d commit ffc83a4

File tree

2 files changed

+42
-22
lines changed

2 files changed

+42
-22
lines changed

game.asm

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -90,28 +90,9 @@ check_input:
9090
; load level 1 bitmap from banked RAM into layer 0
9191
lda #7
9292
jsr set_bg_palette
93-
stz VERA_ctrl
94-
VERA_SET_ADDR VRAM_BITMAP, 1
95-
lda #BITMAP_BANK
96-
ldx #0
97-
ldy #0
98-
jsr bank2vram
99-
lda #(BITMAP_BANK+1)
100-
ldx #0
101-
ldy #0
102-
jsr bank2vram
103-
lda #(BITMAP_BANK+2)
104-
ldx #0
105-
ldy #0
106-
jsr bank2vram
107-
lda #(BITMAP_BANK+3)
108-
ldx #0
109-
ldy #0
110-
jsr bank2vram
111-
lda #(BITMAP_BANK+4)
112-
ldx #0
113-
ldy #$B0
114-
jsr bank2vram
93+
; raster the bitmap twice to make sure it takes
94+
jsr raster_bitmap
95+
jsr raster_bitmap
11596
lda #15
11697
jsr set_bg_palette
11798
stz VERA_ctrl
@@ -147,4 +128,29 @@ check_input:
147128
check_input_return:
148129
rts
149130

131+
raster_bitmap:
132+
stz VERA_ctrl
133+
VERA_SET_ADDR VRAM_BITMAP, 1
134+
lda #BITMAP_BANK
135+
ldx #0
136+
ldy #0
137+
jsr bank2vram
138+
lda #(BITMAP_BANK+1)
139+
ldx #0
140+
ldy #0
141+
jsr bank2vram
142+
lda #(BITMAP_BANK+2)
143+
ldx #0
144+
ldy #0
145+
jsr bank2vram
146+
lda #(BITMAP_BANK+3)
147+
ldx #0
148+
ldy #0
149+
jsr bank2vram
150+
lda #(BITMAP_BANK+4)
151+
ldx #0
152+
ldy #$B0
153+
jsr bank2vram
154+
rts
155+
150156
.endif

x16.inc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,20 @@ RAM_WIN_SIZE = $2000
9090
ROM_WIN = $C000
9191

9292
; Kernal Subroutines
93+
GRAPH_LL_init := $FEF6
94+
GRAPH_LL_get_info := $FEF9
95+
GRAPH_LL_set_palette := $FEFC
96+
GRAPH_LL_cursor_position := $FEFF
97+
GRAPH_LL_cursor_next_line := $FF02
98+
GRAPH_LL_get_pixel := $FF05
99+
GRAPH_LL_get_pixels := $FF08
100+
GRAPH_LL_set_pixel := $FF0B
101+
GRAPH_LL_set_pixels := $FF0E
102+
GRAPH_LL_set_8_pixels := $FF11
103+
GRAPH_LL_set_8_pixels_opaque := $FF14
104+
GRAPH_LL_fill_pixels := $FF17
105+
GRAPH_LL_filter_pixels := $FF1A
106+
GRAPH_LL_move_pixels := $FF1D
93107
JOYSTICK_SCAN := $FF53
94108
JOYSTICK_GET := $FF56
95109
MOUSE_CONFIG := $FF68

0 commit comments

Comments
 (0)