snes: Use compressed tilemap for title

This actually makes the executable bigger for now, as
it's not actually compressing yet.
This commit is contained in:
Vince Weaver 2013-01-21 15:23:24 -05:00
parent 75fccd3ce8
commit a064de86c9
3 changed files with 10 additions and 58 deletions

View File

@ -23,8 +23,8 @@ level1_pal0.sprites: graphics/level1_pal0.pcx tools/pcx_to_tiles_4bpp
tb1_opening.tiles: graphics/vmw_logo.pcx ./tools/pcx_to_tiles_8bpp
./tools/pcx_to_tiles_8bpp vmw_logo < graphics/vmw_logo.pcx > tb1_opening.tiles
tb1_title.tiles: graphics/tb1_title.pcx ./tools/pcx_to_tiles_8bpp
./tools/pcx_to_tiles_8bpp title_screen < graphics/tb1_title.pcx > tb1_title.tiles
tb1_title.tiles: graphics/tb1_title.pcx ./tools/pcx_to_compressed_tilemap_8bpp
./tools/pcx_to_compressed_tilemap_8bpp title_screen < graphics/tb1_title.pcx > tb1_title.tiles
checksum.inc: ./tools/snes_checksum tb1_snes.sfc
./tools/snes_checksum < tb1_snes.sfc > checksum.inc

View File

@ -1,2 +1,2 @@
.word $cc93 ; Complement of checksum
.word $336c ; Unsigned 16-bit sum of ROM
.word $2797 ; Complement of checksum
.word $d868 ; Unsigned 16-bit sum of ROM

View File

@ -90,37 +90,8 @@ copy_tile_data:
bne copy_tile_data
;=====================
; Load TB_FONT Data
;=====================
; replace with DMA!
; rep #$20 ; set accumulator/mem to 16bit
;.a16
;.i16
; lda #$6000 ;
; sta $2116 ; set adddress for VRAM read/write
; ; multiply by 2, so 0xc000
;
; ldy #$600 ; Copy 96 tiles, which are 32 bytes each
; ; 8x8 tile with 4bpp (four bits per pixel)
; ; in 2-byte chunks, so
; ; (96*32)/2 = 1536 = 0x600
;
; ldx #$0000
copy_font_data:
; lda f:tb_font, x
; sta $2118 ; write the data
; inx ; increment by 2 (16-bits)
; inx
; dey ; decrement counter
; bne copy_font_data
;===================================
; clear background to linear tilemap
; Load Tile Map
;===================================
.a16
.i16
@ -130,38 +101,19 @@ clear_linear_tilemap:
lda #$f000 ; we set tilemap to be at VRAM 0xf000 earlier
sta $2116
ldy #$0000 ; clear counters
; store to VRAM
; the bottom 8 bits is the tile to use
; the top 8 bits is vhopppcc
; vert flip, horiz flip o=priority
; p = palette, c=top bits of tile#
; 8-bit color so ppp is 0
; and we have a linear tilemap
; 0000 0000
; vhop ppcc cccc cccc
.a16
.i16
ldx #$0000 ; clear offset
fill_screen_loop:
tya
lda f:title_screen_tilemap,X
sta $2118
inx
inx
iny
cpy #$0380 ; 32x28 = 896 = 0x380
cpx #$0700 ; 32x28 = 896 * 2 = 0x700
bne fill_screen_loop
; Write String to Background
setup_video:
sep #$20 ; set accumulator to 8 bit