mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-24 13:32:23 +00:00
mode7: working on checkerboard
This commit is contained in:
parent
29eea6a627
commit
df4be961d2
17
mode7/checkerboard_lookup.s
Normal file
17
mode7/checkerboard_lookup.s
Normal file
@ -0,0 +1,17 @@
|
||||
;====================
|
||||
; lookup_map
|
||||
;====================
|
||||
; finds value in space_x.i,space_y.i
|
||||
; returns color in A
|
||||
; CLOBBERS: A,Y
|
||||
|
||||
lda SPACEX_I ; 3
|
||||
sta spacex_label+1 ; self modifying code, LAST_SPACEX_I ; 4
|
||||
|
||||
lda SPACEY_I ; 3
|
||||
sta spacey_label+1 ; self modifying code, LAST_SPACEY_I ; 4
|
||||
|
||||
|
||||
lda #$11 ; always red
|
||||
|
||||
sta map_color_label+1 ; self-modifying
|
BIN
mode7/mode7.dsk
BIN
mode7/mode7.dsk
Binary file not shown.
@ -1,3 +1,6 @@
|
||||
ISLAND_MAP = 0
|
||||
CHECKERBOARD_MAP = 1
|
||||
|
||||
.include "zp.inc"
|
||||
|
||||
;===========
|
||||
@ -963,7 +966,11 @@ screenx_loop:
|
||||
|
||||
nomatch:
|
||||
; Get color to draw in A
|
||||
.if ISLAND_MAP=1
|
||||
.include "island_lookup.s"
|
||||
.elseif CHECKERBOARD_MAP=1
|
||||
.include "checkerboard_lookup.s"
|
||||
.endif
|
||||
|
||||
match:
|
||||
|
||||
@ -1055,7 +1062,13 @@ done_screeny:
|
||||
; this is used to check if above water or grass
|
||||
; the high-performance per-pixel version has been inlined
|
||||
lookup_map:
|
||||
|
||||
.if ISLAND_MAP=1
|
||||
.include "island_lookup.s"
|
||||
.elseif CHECKERBOARD_MAP=1
|
||||
.include "checkerboard_lookup.s"
|
||||
.endif
|
||||
|
||||
rts ; 6
|
||||
|
||||
;=====================
|
||||
@ -1091,14 +1104,16 @@ exit:
|
||||
;===============================================
|
||||
|
||||
; waste memory with a lookup table
|
||||
; maybe faster than using GBASCALC?
|
||||
; move this to the zeropage?
|
||||
|
||||
gr_offsets:
|
||||
.word $400,$480,$500,$580,$600,$680,$700,$780
|
||||
.word $428,$4a8,$528,$5a8,$628,$6a8,$728,$7a8
|
||||
.word $450,$4d0,$550,$5d0,$650,$6d0,$750,$7d0
|
||||
|
||||
.if ISLAND_MAP=1
|
||||
.include "island_map.inc"
|
||||
.endif
|
||||
|
||||
.include "fast_multiply.s"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user