Brought sanity to the palettes
BIN
Art/Cat_000.xcf
BIN
Art/Cat_001.xcf
Before Width: | Height: | Size: 121 B After Width: | Height: | Size: 171 B |
BIN
Art/cat_000.gif
Before Width: | Height: | Size: 195 B After Width: | Height: | Size: 249 B |
BIN
Art/cat_001.gif
Before Width: | Height: | Size: 168 B After Width: | Height: | Size: 242 B |
Before Width: | Height: | Size: 145 B After Width: | Height: | Size: 197 B |
Before Width: | Height: | Size: 138 B After Width: | Height: | Size: 190 B |
Before Width: | Height: | Size: 145 B After Width: | Height: | Size: 197 B |
2
Makefile
|
@ -16,7 +16,7 @@ ADDR=800
|
||||||
PGM=gscats
|
PGM=gscats
|
||||||
MRSPRITE=../MrSprite/mrsprite
|
MRSPRITE=../MrSprite/mrsprite
|
||||||
CHROMA=00ff00
|
CHROMA=00ff00
|
||||||
PALETTE=a4dffb a4dffb 008800 886611 cc9933 eebb44 dd6666 ff99aa 00ff00 ffffff b7b7b7 dddddd 0e7db1 000000 ffff00 ffff00
|
PALETTE=a4dffb a4dffb 008800 886611 cc9933 eebb44 dd6666 ff99aa 00ff00 ff0000 b7b7b7 dddddd 0077bb ffff00 000000 ffffff
|
||||||
SPRITES=SpriteBank
|
SPRITES=SpriteBank
|
||||||
REMOTESYMBOLS=-Wl $(shell ./ParseMapFile.py *.map)
|
REMOTESYMBOLS=-Wl $(shell ./ParseMapFile.py *.map)
|
||||||
|
|
||||||
|
|
BIN
SpriteBank00.bin
|
@ -33,9 +33,10 @@ beginGameplay:
|
||||||
lda #3
|
lda #3
|
||||||
sta SpriteBankBank00+3 ; Tell compiled sprites what bank they are in
|
sta SpriteBankBank00+3 ; Tell compiled sprites what bank they are in
|
||||||
BITS16
|
BITS16
|
||||||
|
|
||||||
; Erase the screen
|
; Erase the screen
|
||||||
ldx #$0000
|
ldx #$0000
|
||||||
|
ldy #200
|
||||||
jsr colorFill
|
jsr colorFill
|
||||||
|
|
||||||
; Generate, compile, and clip terrain
|
; Generate, compile, and clip terrain
|
||||||
|
@ -332,7 +333,9 @@ fire:
|
||||||
|
|
||||||
|
|
||||||
basePalette:
|
basePalette:
|
||||||
.word $0aef,$0aef,$0080,$0861,$0c93,$0eb4,$0d66,$0f9a,$00f0,$0fff,$0bbb,$ddd,$007b,$0000,$0ff0,$0fff
|
; Color 0 and 1 must both be sky blue. Compiled rendering uses PHD (which must contain $0000),
|
||||||
|
; and span rendering uses fill mode, so 0 can't be used there
|
||||||
|
.word $0aef,$0aef,$0080,$0861,$0c93,$0eb4,$0d66,$0f9a,$00f0,$0f00,$0bbb,$ddd,$007b,$0ff0,$0000,$0fff
|
||||||
statusBarPalette:
|
statusBarPalette:
|
||||||
.word $0888,$0aef,$0F00,$0861,$0c93,$0eb4,$0d66,$0f9a,$00f0,$0fff,$0bbb,$ddd,$007b,$0000,$0ff0,$0fff
|
.word $0888,$0aef,$0F00,$0861,$0c93,$0eb4,$0d66,$0f9a,$00f0,$0fff,$0bbb,$ddd,$007b,$0000,$0ff0,$0fff
|
||||||
|
|
||||||
|
|
26
graphics.s
|
@ -1,18 +1,30 @@
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; colorFill
|
; colorFill
|
||||||
; Fills the screen with a color (or two). Pretty fast, but not fastest possible
|
; Fills the screen with a color (or two). Pretty fast, but not fastest possible
|
||||||
; A 4:4:4:4 = Palette entries
|
; X = 4:4:4:4 = Palette entries to fill
|
||||||
; X = Color to fill (doubled)
|
; Y = Scanline count (fills backwards to 0)
|
||||||
;
|
;
|
||||||
; Trashes Y
|
; Trashes A,Y,PARAML0,PARAML1
|
||||||
|
|
||||||
colorFill:
|
colorFill:
|
||||||
|
|
||||||
|
; Calculate end of VRAM we're going to touch
|
||||||
|
sty PARAML0
|
||||||
|
lda #160 ; Bytes per row in VRAM
|
||||||
|
sta PARAML1
|
||||||
|
phx
|
||||||
|
jsr mult16
|
||||||
|
clc
|
||||||
|
adc #$2000
|
||||||
|
dec ; A now holds address of highest byte we'll touch (e.g. $9d00-1 for full screen fill)
|
||||||
|
sta PARAML0 ; Cache values for highspeed zone
|
||||||
|
sty PARAML1
|
||||||
|
plx
|
||||||
|
|
||||||
FASTGRAPHICS
|
FASTGRAPHICS
|
||||||
|
lda PARAML0
|
||||||
lda #$9d00-1 ; Point stack to end of VRAM
|
|
||||||
tcs
|
tcs
|
||||||
|
ldy PARAML1
|
||||||
ldy #200
|
|
||||||
|
|
||||||
colorFillLoop:
|
colorFillLoop:
|
||||||
; 80 PHXs, for 1 line
|
; 80 PHXs, for 1 line
|
||||||
|
|
BIN
gscats.2mg
|
@ -8,7 +8,7 @@ DrawSpriteBank :
|
||||||
JMP (SpriteBankBank,X) ; Bank Number Table
|
JMP (SpriteBankBank,X) ; Bank Number Table
|
||||||
|
|
||||||
SpriteBankNum :
|
SpriteBankNum :
|
||||||
.dbyt $0200,$0100,$0500,$0000,$0300,$0600,$0400
|
.dbyt $0100,$0200,$0600,$0000,$0300,$0500,$0400
|
||||||
|
|
||||||
SpriteBankBank :
|
SpriteBankBank :
|
||||||
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
.addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00
|
||||||
|
|