mirror of
https://github.com/blondie7575/GSCats.git
synced 2024-06-13 14:29:27 +00:00
Added cat sprites
- Integrated Mr. Sprite art pipeline - Fixed background restore bug - Added debug pause
This commit is contained in:
parent
9aadc36361
commit
2bdaae8f30
BIN
Block1.xcf
Normal file
BIN
Block1.xcf
Normal file
Binary file not shown.
|
@ -12,6 +12,9 @@
|
||||||
700F21DF1F4A364600D7007D /* projectile.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = projectile.s; sourceTree = "<group>"; };
|
700F21DF1F4A364600D7007D /* projectile.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = projectile.s; sourceTree = "<group>"; };
|
||||||
700F21E01F4A3A5500D7007D /* GenerateTrigTables.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = GenerateTrigTables.py; sourceTree = "<group>"; };
|
700F21E01F4A3A5500D7007D /* GenerateTrigTables.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = GenerateTrigTables.py; sourceTree = "<group>"; };
|
||||||
700FFAFB1F40F3BF00A442DE /* font.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = font.s; sourceTree = "<group>"; };
|
700FFAFB1F40F3BF00A442DE /* font.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = font.s; sourceTree = "<group>"; };
|
||||||
|
70218F1D1F8009B5005A32C6 /* cat.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = cat.s; sourceTree = "<group>"; };
|
||||||
|
70218F1E1F80127C005A32C6 /* block.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = block.s; sourceTree = "<group>"; };
|
||||||
|
70218F1F1F801BC4005A32C6 /* block1.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = block1.s; sourceTree = "<group>"; };
|
||||||
7059502B1F37A0BE00BBE90F /* GenerateVRAMTable.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = GenerateVRAMTable.py; sourceTree = "<group>"; };
|
7059502B1F37A0BE00BBE90F /* GenerateVRAMTable.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = GenerateVRAMTable.py; sourceTree = "<group>"; };
|
||||||
706DF1641F2D39F700AA6680 /* loader.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = loader.s; sourceTree = "<group>"; };
|
706DF1641F2D39F700AA6680 /* loader.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = loader.s; sourceTree = "<group>"; };
|
||||||
706DF1651F2D4A8100AA6680 /* terrain.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = terrain.s; sourceTree = "<group>"; };
|
706DF1651F2D4A8100AA6680 /* terrain.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = terrain.s; sourceTree = "<group>"; };
|
||||||
|
@ -51,6 +54,9 @@
|
||||||
700F21DF1F4A364600D7007D /* projectile.s */,
|
700F21DF1F4A364600D7007D /* projectile.s */,
|
||||||
70A80FB01F43D7F200BD34C9 /* gamemanager.s */,
|
70A80FB01F43D7F200BD34C9 /* gamemanager.s */,
|
||||||
70E9D8611F2BD95400555C19 /* gscats.s */,
|
70E9D8611F2BD95400555C19 /* gscats.s */,
|
||||||
|
70218F1D1F8009B5005A32C6 /* cat.s */,
|
||||||
|
70218F1E1F80127C005A32C6 /* block.s */,
|
||||||
|
70218F1F1F801BC4005A32C6 /* block1.s */,
|
||||||
70E9D8631F2BD95400555C19 /* Makefile */,
|
70E9D8631F2BD95400555C19 /* Makefile */,
|
||||||
7088096D1F2ECE8D00D4C950 /* GenerateRenderSpans.py */,
|
7088096D1F2ECE8D00D4C950 /* GenerateRenderSpans.py */,
|
||||||
7059502B1F37A0BE00BBE90F /* GenerateVRAMTable.py */,
|
7059502B1F37A0BE00BBE90F /* GenerateVRAMTable.py */,
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -14,6 +14,8 @@ AC=AppleCommander.jar
|
||||||
ADDR=800
|
ADDR=800
|
||||||
|
|
||||||
PGM=gscats
|
PGM=gscats
|
||||||
|
MRSPRITE=../MrSprite/mrsprite CODE
|
||||||
|
PALETTE=00ff00 000000 ffff00 886611 cc9933 eebb44 dd6666 ff99aa 00ff00 ffff00 ffff00 ffff00 ffff00 ffff00 ffff00 ffff00 ffffff
|
||||||
|
|
||||||
all: $(PGM)
|
all: $(PGM)
|
||||||
|
|
||||||
|
@ -32,4 +34,7 @@ clean:
|
||||||
rm -f $(PGM).o
|
rm -f $(PGM).o
|
||||||
rm ~/Library/Application\ Support/Sweet16/Disk\ Images/*
|
rm ~/Library/Application\ Support/Sweet16/Disk\ Images/*
|
||||||
|
|
||||||
|
sprites:
|
||||||
|
$(MRSPRITE) cat.gif $(PALETTE)
|
||||||
|
$(MRSPRITE) block.gif $(PALETTE)
|
||||||
|
$(MRSPRITE) block1.gif $(PALETTE)
|
||||||
|
|
124
block.s
Normal file
124
block.s
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
Spr_001:
|
||||||
|
FASTGRAPHICS ; 16x16, 214 bytes, 433 cycles
|
||||||
|
clc
|
||||||
|
tya ; Y = Sprite Target Screen Address (upper left corner)
|
||||||
|
tcs ; New Stack address
|
||||||
|
ldx #$FFFF ; Pattern #1 : 112
|
||||||
|
;--
|
||||||
|
tsc
|
||||||
|
adc #$0007
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 1
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 2
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 3
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 4
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 5
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 6
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 7
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 8
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 9
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 10
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 11
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 12
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 13
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 14
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 15
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
;--
|
||||||
|
SLOWGRAPHICS
|
||||||
|
rts
|
||||||
|
|
||||||
|
;------------------------------
|
BIN
block1.gif
Normal file
BIN
block1.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 76 B |
124
block1.s
Normal file
124
block1.s
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
Spr_002:
|
||||||
|
FASTGRAPHICS ; 16x16, 214 bytes, 433 cycles
|
||||||
|
clc
|
||||||
|
tya ; Y = Sprite Target Screen Address (upper left corner)
|
||||||
|
tcs ; New Stack address
|
||||||
|
ldx #$6666 ; Pattern #1 : 112
|
||||||
|
;--
|
||||||
|
tsc
|
||||||
|
adc #$0007
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 1
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 2
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 3
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 4
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 5
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 6
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 7
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 8
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 9
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 10
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 11
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 12
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 13
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 14
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
tsc ; Line 15
|
||||||
|
adc #$00A8
|
||||||
|
tcs
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
phx
|
||||||
|
;--
|
||||||
|
SLOWGRAPHICS
|
||||||
|
rts
|
||||||
|
|
||||||
|
;------------------------------
|
219
cat.s
Normal file
219
cat.s
Normal file
|
@ -0,0 +1,219 @@
|
||||||
|
Spr_000:
|
||||||
|
FASTGRAPHICS ; 16x16, 484 bytes, 710 cycles
|
||||||
|
clc
|
||||||
|
tya ; Y = Sprite Target Screen Address (upper left corner)
|
||||||
|
tcs ; New Stack address
|
||||||
|
ldx #$4444 ; Pattern #1 : 4
|
||||||
|
ldy #$0444 ; Pattern #2 : 2
|
||||||
|
lda #$4004 ; Pattern #3 : 2
|
||||||
|
tcd
|
||||||
|
;--
|
||||||
|
lda #$2633 ; Line 0
|
||||||
|
sta $A5,S
|
||||||
|
lda $A3,S
|
||||||
|
and #$F000
|
||||||
|
ora #$0226
|
||||||
|
sta $A3,S
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda $03,S
|
||||||
|
and #$F0
|
||||||
|
ora #$03
|
||||||
|
sta $03,S
|
||||||
|
lda $06,S
|
||||||
|
and #$F0
|
||||||
|
ora #$03
|
||||||
|
sta $06,S
|
||||||
|
lda $A7,S
|
||||||
|
and #$0F
|
||||||
|
ora #$20
|
||||||
|
sta $A7,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
tsc ; Line 2
|
||||||
|
adc #$0140
|
||||||
|
tcs
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda #$FF
|
||||||
|
sta $00,S
|
||||||
|
sta $A0,S
|
||||||
|
lda $07,S
|
||||||
|
and #$0F
|
||||||
|
ora #$20
|
||||||
|
sta $07,S
|
||||||
|
lda $A7,S
|
||||||
|
and #$0F
|
||||||
|
ora #$20
|
||||||
|
sta $A7,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
tsc
|
||||||
|
adc #$0006
|
||||||
|
tcs
|
||||||
|
pea $3533
|
||||||
|
pea $2425
|
||||||
|
tsc ; Line 3
|
||||||
|
adc #$00A4
|
||||||
|
tcs
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda #$23
|
||||||
|
sta $9A,S
|
||||||
|
lda $A1,S
|
||||||
|
and #$0F
|
||||||
|
ora #$30
|
||||||
|
sta $A1,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
pea $3434
|
||||||
|
pea $4423
|
||||||
|
tsc ; Line 4
|
||||||
|
adc #$00A4
|
||||||
|
tcs
|
||||||
|
lda $9C,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$2303
|
||||||
|
sta $9C,S
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda #$24
|
||||||
|
sta $9A,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
phx
|
||||||
|
pea $4434
|
||||||
|
tsc ; Line 5
|
||||||
|
adc #$00A5
|
||||||
|
tcs
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda #$24
|
||||||
|
sta $99,S
|
||||||
|
lda $A0,S
|
||||||
|
and #$0F
|
||||||
|
ora #$30
|
||||||
|
sta $A0,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
pea $2340
|
||||||
|
phy
|
||||||
|
tsc ; Line 6
|
||||||
|
adc #$00A3
|
||||||
|
tcs
|
||||||
|
phd
|
||||||
|
pea $4433
|
||||||
|
tsc ; Line 7
|
||||||
|
adc #$00A5
|
||||||
|
tcs
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda $99,S
|
||||||
|
and #$F0
|
||||||
|
ora #$03
|
||||||
|
sta $99,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
pea $236F
|
||||||
|
pea $F64F
|
||||||
|
pea $2233
|
||||||
|
pea $3324
|
||||||
|
tsc ; Line 8
|
||||||
|
adc #$00A7
|
||||||
|
tcs
|
||||||
|
lda $9F,S
|
||||||
|
and #$0F00
|
||||||
|
ora #$3022
|
||||||
|
sta $9F,S
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda $9A,S
|
||||||
|
and #$F0
|
||||||
|
ora #$03
|
||||||
|
sta $9A,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
pea $F2FF
|
||||||
|
pea $2333
|
||||||
|
pea $3444
|
||||||
|
tsc ; Line 9
|
||||||
|
adc #$00A4
|
||||||
|
tcs
|
||||||
|
txa
|
||||||
|
sta $9E,S
|
||||||
|
lda $9C,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$4403
|
||||||
|
sta $9C,S
|
||||||
|
lda $A0,S
|
||||||
|
and #$0F00
|
||||||
|
ora #$F03F
|
||||||
|
sta $A0,S
|
||||||
|
pea $FF43
|
||||||
|
phx
|
||||||
|
tsc ; Line 11
|
||||||
|
adc #$0140
|
||||||
|
tcs
|
||||||
|
lda #$4434
|
||||||
|
sta $02,S
|
||||||
|
lda #$2322
|
||||||
|
sta $A2,S
|
||||||
|
lda $00,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$4403
|
||||||
|
sta $00,S
|
||||||
|
lda $04,S
|
||||||
|
and #$0F00
|
||||||
|
ora #$F043
|
||||||
|
sta $04,S
|
||||||
|
lda $A0,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$4303
|
||||||
|
sta $A0,S
|
||||||
|
lda $A4,S
|
||||||
|
and #$0F00
|
||||||
|
ora #$3044
|
||||||
|
sta $A4,S
|
||||||
|
tsc ; Line 13
|
||||||
|
adc #$0140
|
||||||
|
tcs
|
||||||
|
lda $00,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$3204
|
||||||
|
sta $00,S
|
||||||
|
lda $03,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$4203
|
||||||
|
sta $03,S
|
||||||
|
lda $A0,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$3203
|
||||||
|
sta $A0,S
|
||||||
|
lda $A3,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$3203
|
||||||
|
sta $A3,S
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda $05,S
|
||||||
|
and #$0F
|
||||||
|
ora #$30
|
||||||
|
sta $05,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
tsc ; Line 15
|
||||||
|
adc #$0140
|
||||||
|
tcs
|
||||||
|
lda $00,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$F30F
|
||||||
|
sta $00,S
|
||||||
|
lda $03,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$F30F
|
||||||
|
sta $03,S
|
||||||
|
;--
|
||||||
|
SLOWGRAPHICS
|
||||||
|
rts
|
||||||
|
|
||||||
|
;------------------------------
|
219
cat.src
Normal file
219
cat.src
Normal file
|
@ -0,0 +1,219 @@
|
||||||
|
Spr_000:
|
||||||
|
FASTGRAPHICS ; 16x16, 484 bytes, 710 cycles
|
||||||
|
clc
|
||||||
|
tya ; Y = Sprite Target Screen Address (upper left corner)
|
||||||
|
tcs ; New Stack address
|
||||||
|
ldx #$3333 ; Pattern #1 : 4
|
||||||
|
ldy #$0333 ; Pattern #2 : 2
|
||||||
|
lda #$3003 ; Pattern #3 : 2
|
||||||
|
tcd
|
||||||
|
;--
|
||||||
|
lda #$1522 ; Line 0
|
||||||
|
sta $A5,S
|
||||||
|
lda $A3,S
|
||||||
|
and #$F000
|
||||||
|
ora #$0115
|
||||||
|
sta $A3,S
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda $03,S
|
||||||
|
and #$F0
|
||||||
|
ora #$02
|
||||||
|
sta $03,S
|
||||||
|
lda $06,S
|
||||||
|
and #$F0
|
||||||
|
ora #$02
|
||||||
|
sta $06,S
|
||||||
|
lda $A7,S
|
||||||
|
and #$0F
|
||||||
|
ora #$10
|
||||||
|
sta $A7,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
tsc ; Line 2
|
||||||
|
adc #$0140
|
||||||
|
tcs
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda #$77
|
||||||
|
sta $00,S
|
||||||
|
sta $A0,S
|
||||||
|
lda $07,S
|
||||||
|
and #$0F
|
||||||
|
ora #$10
|
||||||
|
sta $07,S
|
||||||
|
lda $A7,S
|
||||||
|
and #$0F
|
||||||
|
ora #$10
|
||||||
|
sta $A7,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
tsc
|
||||||
|
adc #$0006
|
||||||
|
tcs
|
||||||
|
pea $2422
|
||||||
|
pea $1314
|
||||||
|
tsc ; Line 3
|
||||||
|
adc #$00A4
|
||||||
|
tcs
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda #$12
|
||||||
|
sta $9A,S
|
||||||
|
lda $A1,S
|
||||||
|
and #$0F
|
||||||
|
ora #$20
|
||||||
|
sta $A1,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
pea $2323
|
||||||
|
pea $3312
|
||||||
|
tsc ; Line 4
|
||||||
|
adc #$00A4
|
||||||
|
tcs
|
||||||
|
lda $9C,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$1202
|
||||||
|
sta $9C,S
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda #$13
|
||||||
|
sta $9A,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
phx
|
||||||
|
pea $3323
|
||||||
|
tsc ; Line 5
|
||||||
|
adc #$00A5
|
||||||
|
tcs
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda #$13
|
||||||
|
sta $99,S
|
||||||
|
lda $A0,S
|
||||||
|
and #$0F
|
||||||
|
ora #$20
|
||||||
|
sta $A0,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
pea $1230
|
||||||
|
phy
|
||||||
|
tsc ; Line 6
|
||||||
|
adc #$00A3
|
||||||
|
tcs
|
||||||
|
phd
|
||||||
|
pea $3322
|
||||||
|
tsc ; Line 7
|
||||||
|
adc #$00A5
|
||||||
|
tcs
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda $99,S
|
||||||
|
and #$F0
|
||||||
|
ora #$02
|
||||||
|
sta $99,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
pea $1257
|
||||||
|
pea $7537
|
||||||
|
pea $1122
|
||||||
|
pea $2213
|
||||||
|
tsc ; Line 8
|
||||||
|
adc #$00A7
|
||||||
|
tcs
|
||||||
|
lda $9F,S
|
||||||
|
and #$0F00
|
||||||
|
ora #$2011
|
||||||
|
sta $9F,S
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda $9A,S
|
||||||
|
and #$F0
|
||||||
|
ora #$02
|
||||||
|
sta $9A,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
pea $7177
|
||||||
|
pea $1222
|
||||||
|
pea $2333
|
||||||
|
tsc ; Line 9
|
||||||
|
adc #$00A4
|
||||||
|
tcs
|
||||||
|
txa
|
||||||
|
sta $9E,S
|
||||||
|
lda $9C,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$3302
|
||||||
|
sta $9C,S
|
||||||
|
lda $A0,S
|
||||||
|
and #$0F00
|
||||||
|
ora #$7027
|
||||||
|
sta $A0,S
|
||||||
|
pea $7732
|
||||||
|
phx
|
||||||
|
tsc ; Line 11
|
||||||
|
adc #$0140
|
||||||
|
tcs
|
||||||
|
lda #$3323
|
||||||
|
sta $02,S
|
||||||
|
lda #$1211
|
||||||
|
sta $A2,S
|
||||||
|
lda $00,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$3302
|
||||||
|
sta $00,S
|
||||||
|
lda $04,S
|
||||||
|
and #$0F00
|
||||||
|
ora #$7032
|
||||||
|
sta $04,S
|
||||||
|
lda $A0,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$3202
|
||||||
|
sta $A0,S
|
||||||
|
lda $A4,S
|
||||||
|
and #$0F00
|
||||||
|
ora #$2033
|
||||||
|
sta $A4,S
|
||||||
|
tsc ; Line 13
|
||||||
|
adc #$0140
|
||||||
|
tcs
|
||||||
|
lda $00,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$2103
|
||||||
|
sta $00,S
|
||||||
|
lda $03,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$3102
|
||||||
|
sta $03,S
|
||||||
|
lda $A0,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$2102
|
||||||
|
sta $A0,S
|
||||||
|
lda $A3,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$2102
|
||||||
|
sta $A3,S
|
||||||
|
sep #$20
|
||||||
|
.a8
|
||||||
|
lda $05,S
|
||||||
|
and #$0F
|
||||||
|
ora #$20
|
||||||
|
sta $05,S
|
||||||
|
rep #$30
|
||||||
|
.a16
|
||||||
|
tsc ; Line 15
|
||||||
|
adc #$0140
|
||||||
|
tcs
|
||||||
|
lda $00,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$7207
|
||||||
|
sta $00,S
|
||||||
|
lda $03,S
|
||||||
|
and #$00F0
|
||||||
|
ora #$7207
|
||||||
|
sta $03,S
|
||||||
|
;--
|
||||||
|
SLOWGRAPHICS
|
||||||
|
rts
|
||||||
|
|
||||||
|
;------------------------------
|
|
@ -17,7 +17,7 @@ beginGameplay:
|
||||||
jsr setPalette
|
jsr setPalette
|
||||||
|
|
||||||
; Erase the screen
|
; Erase the screen
|
||||||
ldx #$2222
|
ldx #$0000
|
||||||
jsr colorFill
|
jsr colorFill
|
||||||
|
|
||||||
; Generate, compile, and clip terrain
|
; Generate, compile, and clip terrain
|
||||||
|
@ -37,7 +37,6 @@ beginGameplay:
|
||||||
ldy #0
|
ldy #0
|
||||||
jsr renderPlayerHeader
|
jsr renderPlayerHeader
|
||||||
|
|
||||||
|
|
||||||
gameplayLoop:
|
gameplayLoop:
|
||||||
|
|
||||||
jsr syncVBL
|
jsr syncVBL
|
||||||
|
@ -52,12 +51,16 @@ gameplayLoop:
|
||||||
jsr renderPlayers
|
jsr renderPlayers
|
||||||
|
|
||||||
gameplayLoopKbd:
|
gameplayLoopKbd:
|
||||||
lda projectileActive
|
; lda projectileActive
|
||||||
bpl gameplayLoopProjectiles ; Skip input during shots
|
; bpl gameplayLoopProjectiles ; Skip input during shots
|
||||||
|
|
||||||
; Check for keys down
|
; Check for keys down
|
||||||
jsr kbdScan
|
jsr kbdScan
|
||||||
|
|
||||||
|
; Check for pause
|
||||||
|
lda paused
|
||||||
|
bne gameplayLoopEndFrame
|
||||||
|
|
||||||
; Scroll map if needed
|
; Scroll map if needed
|
||||||
lda mapScrollRequested
|
lda mapScrollRequested
|
||||||
bmi gameplayLoopAngle
|
bmi gameplayLoopAngle
|
||||||
|
@ -208,7 +211,10 @@ fire:
|
||||||
|
|
||||||
|
|
||||||
basePalette:
|
basePalette:
|
||||||
.word $0000,$0080,$0000,$000F,$0FFF,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0FFF
|
.word $0000,$0080,$0861,$0c93,$0eb4,$0d66,$0f9a,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0FFF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
quitRequested:
|
quitRequested:
|
||||||
.word $0000
|
.word $0000
|
||||||
mapScrollRequested:
|
mapScrollRequested:
|
||||||
|
@ -231,6 +237,8 @@ gameOver:
|
||||||
.word -1 ; Player index of winner
|
.word -1 ; Player index of winner
|
||||||
projectileActive:
|
projectileActive:
|
||||||
.word -1
|
.word -1
|
||||||
|
paused:
|
||||||
|
.word 0
|
||||||
|
|
||||||
|
|
||||||
; Position of map viewing window. Can be visualized in two ways:
|
; Position of map viewing window. Can be visualized in two ways:
|
||||||
|
|
10
gameobject.s
10
gameobject.s
|
@ -59,7 +59,7 @@ placeGameObjectOnTerrain:
|
||||||
; ptr = Pointer to gameobject data
|
; ptr = Pointer to gameobject data
|
||||||
; Trashes SCRATCHL
|
; Trashes SCRATCHL
|
||||||
;
|
;
|
||||||
.macro RENDER_GAMEOBJECT ptr
|
.macro RENDER_GAMEOBJECT ptr,compiledSprite
|
||||||
.scope
|
.scope
|
||||||
SAVE_AXY
|
SAVE_AXY
|
||||||
|
|
||||||
|
@ -356,6 +356,8 @@ renderGameobjectBackground:
|
||||||
iny
|
iny
|
||||||
lda VRAMBANK+160*14+6,x
|
lda VRAMBANK+160*14+6,x
|
||||||
sta ptr+GO_BACKGROUND,y
|
sta ptr+GO_BACKGROUND,y
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
|
||||||
lda VRAMBANK+160*15,x
|
lda VRAMBANK+160*15,x
|
||||||
sta ptr+GO_BACKGROUND,y
|
sta ptr+GO_BACKGROUND,y
|
||||||
|
@ -371,12 +373,10 @@ renderGameobjectBackground:
|
||||||
iny
|
iny
|
||||||
lda VRAMBANK+160*15+6,x
|
lda VRAMBANK+160*15+6,x
|
||||||
sta ptr+GO_BACKGROUND,y
|
sta ptr+GO_BACKGROUND,y
|
||||||
iny
|
|
||||||
iny
|
|
||||||
|
|
||||||
; Draw sprite
|
; Draw sprite
|
||||||
ply
|
ply
|
||||||
jsr Spr_000
|
jsr compiledSprite
|
||||||
|
|
||||||
renderGameobjectDone:
|
renderGameobjectDone:
|
||||||
RESTORE_AXY
|
RESTORE_AXY
|
||||||
|
@ -564,6 +564,8 @@ unrenderGameobjectBackground:
|
||||||
iny
|
iny
|
||||||
lda ptr+GO_BACKGROUND,y
|
lda ptr+GO_BACKGROUND,y
|
||||||
sta VRAMBANK+160*7+6,x
|
sta VRAMBANK+160*7+6,x
|
||||||
|
iny
|
||||||
|
iny
|
||||||
|
|
||||||
lda ptr+GO_BACKGROUND,y
|
lda ptr+GO_BACKGROUND,y
|
||||||
sta VRAMBANK+160*8,x
|
sta VRAMBANK+160*8,x
|
||||||
|
|
|
@ -206,6 +206,7 @@ waitVBLToStart:
|
||||||
BITS16
|
BITS16
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
.if 0
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
; TEST OF MR. SPRITE
|
; TEST OF MR. SPRITE
|
||||||
;
|
;
|
||||||
|
@ -413,7 +414,7 @@ SLOWGRAPHICS
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;------------------------------
|
;------------------------------
|
||||||
|
.endif
|
||||||
|
|
||||||
|
|
||||||
; caches
|
; caches
|
||||||
|
@ -423,3 +424,7 @@ stackRegister:
|
||||||
.byte 0
|
.byte 0
|
||||||
stackPtr:
|
stackPtr:
|
||||||
.word 0
|
.word 0
|
||||||
|
|
||||||
|
.include "cat.s"
|
||||||
|
.include "block.s"
|
||||||
|
.include "block1.s"
|
||||||
|
|
BIN
gscats.2mg
BIN
gscats.2mg
Binary file not shown.
9
input.s
9
input.s
|
@ -36,6 +36,8 @@ kbdScan:
|
||||||
beq kbdScanSpace
|
beq kbdScanSpace
|
||||||
cmp #(27 + $80)
|
cmp #(27 + $80)
|
||||||
beq kbdScanESC
|
beq kbdScanESC
|
||||||
|
cmp #(127 + $80)
|
||||||
|
beq kbdScanDEL
|
||||||
|
|
||||||
kbdScanDone:
|
kbdScanDone:
|
||||||
BITS16
|
BITS16
|
||||||
|
@ -104,6 +106,13 @@ kbdScanESC:
|
||||||
sta breakpoint
|
sta breakpoint
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
kbdScanDEL:
|
||||||
|
BITS16
|
||||||
|
lda paused
|
||||||
|
eor #1
|
||||||
|
sta paused
|
||||||
|
rts
|
||||||
|
|
||||||
breakpoint:
|
breakpoint:
|
||||||
.word 0
|
.word 0
|
||||||
|
|
||||||
|
|
4
player.s
4
player.s
|
@ -200,8 +200,8 @@ playerIntersectRect:
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
renderPlayers:
|
renderPlayers:
|
||||||
RENDER_GAMEOBJECT playerData
|
RENDER_GAMEOBJECT playerData,Spr_000
|
||||||
RENDER_GAMEOBJECT playerData+PD_SIZE
|
RENDER_GAMEOBJECT playerData+PD_SIZE,Spr_000
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -326,7 +326,7 @@ renderProjectiles:
|
||||||
jmp renderProjectilesDone
|
jmp renderProjectilesDone
|
||||||
|
|
||||||
renderProjectilesDoIt:
|
renderProjectilesDoIt:
|
||||||
RENDER_GAMEOBJECT projectileData
|
RENDER_GAMEOBJECT projectileData,Spr_001
|
||||||
|
|
||||||
renderProjectilesDone:
|
renderProjectilesDone:
|
||||||
pla
|
pla
|
||||||
|
|
Loading…
Reference in New Issue
Block a user