mirror of
https://github.com/deater/tb1.git
synced 2025-01-02 22:31:47 +00:00
snes: have level_1 load the star background
This commit is contained in:
parent
60997734cb
commit
0ee9573daa
@ -12,6 +12,7 @@ tb1_snes.o: tb1_snes.s \
|
|||||||
snes_init.s opening.s title_screen.s level_1.s \
|
snes_init.s opening.s title_screen.s level_1.s \
|
||||||
svmwgraph.s \
|
svmwgraph.s \
|
||||||
tb1_title.tiles tb1_opening.tiles level1_background.tiles \
|
tb1_title.tiles tb1_opening.tiles level1_background.tiles \
|
||||||
|
star_background.tiles \
|
||||||
level1_pal0.sprites \
|
level1_pal0.sprites \
|
||||||
tbfont.inc
|
tbfont.inc
|
||||||
$(AS) -t none -o tb1_snes.o -l tb1_snes.lst -c tb1_snes.s
|
$(AS) -t none -o tb1_snes.o -l tb1_snes.lst -c tb1_snes.s
|
||||||
@ -21,13 +22,16 @@ level1_pal0.sprites: graphics/level1_pal0.pcx tools/pcx_to_tiles_4bpp
|
|||||||
./tools/pcx_to_tiles_4bpp level1_pal0 < graphics/level1_pal0.pcx > level1_pal0.sprites
|
./tools/pcx_to_tiles_4bpp level1_pal0 < graphics/level1_pal0.pcx > level1_pal0.sprites
|
||||||
|
|
||||||
level1_background.tiles: graphics/level1_background.pcx ./tools/pcx_to_compressed_tilemap
|
level1_background.tiles: graphics/level1_background.pcx ./tools/pcx_to_compressed_tilemap
|
||||||
./tools/pcx_to_compressed_tilemap level1_background 4 < graphics/level1_background.pcx > level1_background.tiles
|
./tools/pcx_to_compressed_tilemap level1_background 4 0 < graphics/level1_background.pcx > level1_background.tiles
|
||||||
|
|
||||||
|
star_background.tiles: graphics/star_background.pcx ./tools/pcx_to_compressed_tilemap
|
||||||
|
./tools/pcx_to_compressed_tilemap star_background 4 1 < graphics/star_background.pcx > star_background.tiles
|
||||||
|
|
||||||
tb1_opening.tiles: graphics/vmw_logo.pcx ./tools/pcx_to_compressed_tilemap
|
tb1_opening.tiles: graphics/vmw_logo.pcx ./tools/pcx_to_compressed_tilemap
|
||||||
./tools/pcx_to_compressed_tilemap vmw_logo 8 < graphics/vmw_logo.pcx > tb1_opening.tiles
|
./tools/pcx_to_compressed_tilemap vmw_logo 8 0 < graphics/vmw_logo.pcx > tb1_opening.tiles
|
||||||
|
|
||||||
tb1_title.tiles: graphics/tb1_title.pcx ./tools/pcx_to_compressed_tilemap
|
tb1_title.tiles: graphics/tb1_title.pcx ./tools/pcx_to_compressed_tilemap
|
||||||
./tools/pcx_to_compressed_tilemap title_screen 8 < graphics/tb1_title.pcx > tb1_title.tiles
|
./tools/pcx_to_compressed_tilemap title_screen 8 0< graphics/tb1_title.pcx > tb1_title.tiles
|
||||||
|
|
||||||
checksum.inc: ./tools/snes_checksum tb1_snes.sfc
|
checksum.inc: ./tools/snes_checksum tb1_snes.sfc
|
||||||
./tools/snes_checksum < tb1_snes.sfc > checksum.inc
|
./tools/snes_checksum < tb1_snes.sfc > checksum.inc
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
.word $3fcf ; Complement of checksum
|
.word $a832 ; Complement of checksum
|
||||||
.word $c030 ; Unsigned 16-bit sum of ROM
|
.word $57cd ; Unsigned 16-bit sum of ROM
|
||||||
|
@ -24,22 +24,33 @@ level_1:
|
|||||||
; Setup Background
|
; Setup Background
|
||||||
;==========================
|
;==========================
|
||||||
|
|
||||||
; we want the BG1 Tilemap to start at VRAM $e000
|
; we want the BG1 Tilemap to start at VRAM $f000
|
||||||
; Format is
|
; Format is
|
||||||
; aaaa aass a is shifted by 10 for address
|
; aaaa aass a is shifted by 10 for address
|
||||||
; ss = size of screen in tiles 00 = 32x32
|
; ss = size of screen in tiles 00 = 32x32
|
||||||
;
|
;
|
||||||
; 0111 0000
|
; 0111 1000
|
||||||
|
|
||||||
lda #$70 ; BG1 Tilemap starts at VRAM $e000/2
|
lda #$78 ; BG1 Tilemap starts at VRAM $f000/2
|
||||||
sta $2107 ; bg1 src
|
sta $2107 ; bg1 src
|
||||||
|
|
||||||
|
; we want the BG2 Tilemap to start at VRAM $d000
|
||||||
|
; Format is
|
||||||
|
; aaaa aass a is shifted by 10 for address
|
||||||
|
; ss = size of screen in tiles 10 = 32x64
|
||||||
|
;
|
||||||
|
; 0110 1010
|
||||||
|
|
||||||
|
lda #$6a ; BG2 Tilemap starts at VRAM $d000/2
|
||||||
|
sta $2108 ; bg2 src
|
||||||
|
|
||||||
|
|
||||||
; aaaa bbbb a= BG2 tiles, b= BG1 tiles
|
; aaaa bbbb a= BG2 tiles, b= BG1 tiles
|
||||||
; bbbb<<13
|
; bbbb<<13
|
||||||
; 0000 0000
|
; 0000 0000
|
||||||
; our BG1 tiles are stored starting in VRAM $0000
|
; our BG1 tiles are stored starting in VRAM $0000
|
||||||
|
|
||||||
lda #$02
|
lda #$32 ; bg2 tile data starts at VRAM 5000/2
|
||||||
sta $210b ; bg1 tile data starts at VRAM 4000/2
|
sta $210b ; bg1 tile data starts at VRAM 4000/2
|
||||||
|
|
||||||
|
|
||||||
@ -70,7 +81,7 @@ level_1:
|
|||||||
;===================================
|
;===================================
|
||||||
; Load Level1 Tile Map
|
; Load Level1 Tile Map
|
||||||
;===================================
|
;===================================
|
||||||
ldx #$7000 ;
|
ldx #$7800 ;
|
||||||
stx $2116 ; set adddress for VRAM read/write
|
stx $2116 ; set adddress for VRAM read/write
|
||||||
; multiply by 2, so 0xe000
|
; multiply by 2, so 0xe000
|
||||||
|
|
||||||
@ -81,6 +92,46 @@ level_1:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;===============================
|
||||||
|
; Load Level1 Star Palette
|
||||||
|
;===============================
|
||||||
|
lda #16
|
||||||
|
sta $2121 ; start with color 16
|
||||||
|
ldy #(16*2) ; we have 16 colors
|
||||||
|
lda #^star_background_palette
|
||||||
|
ldx #.LOWORD(star_background_palette)
|
||||||
|
jsr svmw_load_palette
|
||||||
|
|
||||||
|
;======================
|
||||||
|
; Load Level1 Star Data
|
||||||
|
;======================
|
||||||
|
ldx #$3000 ;
|
||||||
|
stx $2116 ; set adddress for VRAM read/write
|
||||||
|
; multiply by 2, so 0x4000
|
||||||
|
|
||||||
|
lda #^star_background_tile_data
|
||||||
|
ldx #.LOWORD(star_background_tile_data)
|
||||||
|
ldy #$4420 ; Copy 545 tiles, which are 32 bytes each
|
||||||
|
; 8x8 tile with 4bpp
|
||||||
|
; (545*32) = 17,440 = 0x4420
|
||||||
|
|
||||||
|
jsr svmw_load_vram
|
||||||
|
|
||||||
|
;===================================
|
||||||
|
; Load Level1 Star Tile Map
|
||||||
|
;===================================
|
||||||
|
ldx #$6800 ;
|
||||||
|
stx $2116 ; set adddress for VRAM read/write
|
||||||
|
; multiply by 2, so 0xd000
|
||||||
|
|
||||||
|
lda #^star_background_tilemap
|
||||||
|
ldx #.LOWORD(star_background_tilemap)
|
||||||
|
ldy #$1000 ; 32x64 = 2048 * 2 = 0x1000
|
||||||
|
jsr svmw_load_vram
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;==========================
|
;==========================
|
||||||
; Setup Sprite
|
; Setup Sprite
|
||||||
;==========================
|
;==========================
|
||||||
@ -128,15 +179,15 @@ level_1:
|
|||||||
lda #192 ; set sprite 0 Y to 100
|
lda #192 ; set sprite 0 Y to 100
|
||||||
sta $0201
|
sta $0201
|
||||||
|
|
||||||
; Xxxxxxxxx yyyyyyy cccccccc vhoopppN
|
; Xxxxxxxxx yyyyyyy cccccccc vhoo pppN
|
||||||
;
|
;
|
||||||
|
|
||||||
stz $0202 ; set sprite 0
|
stz $0202 ; set sprite 0
|
||||||
|
|
||||||
; 00000000
|
; 0010 0000
|
||||||
; no flip, priority 0, N=0 palette=0 (128)
|
; no flip, priority 2, N=0 palette=0 (128)
|
||||||
|
|
||||||
lda #$00
|
lda #$20
|
||||||
sta $0203
|
sta $0203
|
||||||
|
|
||||||
; X high bit = 0 for sprite 0
|
; X high bit = 0 for sprite 0
|
||||||
@ -169,7 +220,7 @@ level1_setup_video:
|
|||||||
lda #$01 ; 8x8 tiles, Mode 1
|
lda #$01 ; 8x8 tiles, Mode 1
|
||||||
sta $2105
|
sta $2105
|
||||||
|
|
||||||
lda #$11 ; Enable BG1 and sprites
|
lda #$13 ; Enable BG1,BG2, and sprites
|
||||||
sta $212c
|
sta $212c
|
||||||
|
|
||||||
stz $212d ; disable subscreen
|
stz $212d ; disable subscreen
|
||||||
@ -293,4 +344,4 @@ done_vblank:
|
|||||||
; sprite data
|
; sprite data
|
||||||
.include "level1_pal0.sprites"
|
.include "level1_pal0.sprites"
|
||||||
.include "level1_background.tiles"
|
.include "level1_background.tiles"
|
||||||
|
.include "star_background.tiles"
|
||||||
|
Loading…
Reference in New Issue
Block a user