mirror of
https://github.com/blondie7575/GSCats.git
synced 2024-11-29 06:49:51 +00:00
Ported Dagen’s font engine
This commit is contained in:
parent
c412d4a021
commit
8db85143a0
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
700C39C51F2E5CA800C24F9C /* tables.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = tables.s; sourceTree = "<group>"; };
|
700C39C51F2E5CA800C24F9C /* tables.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = tables.s; sourceTree = "<group>"; };
|
||||||
|
700FFAFB1F40F3BF00A442DE /* font.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = font.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>"; };
|
||||||
@ -28,6 +29,7 @@
|
|||||||
70E9D8601F2BD95400555C19 /* graphics.s */,
|
70E9D8601F2BD95400555C19 /* graphics.s */,
|
||||||
70E9D8621F2BD95400555C19 /* macros.s */,
|
70E9D8621F2BD95400555C19 /* macros.s */,
|
||||||
706DF1641F2D39F700AA6680 /* loader.s */,
|
706DF1641F2D39F700AA6680 /* loader.s */,
|
||||||
|
700FFAFB1F40F3BF00A442DE /* font.s */,
|
||||||
706DF1651F2D4A8100AA6680 /* terrain.s */,
|
706DF1651F2D4A8100AA6680 /* terrain.s */,
|
||||||
7088096C1F2EA4B200D4C950 /* spanRender.s */,
|
7088096C1F2EA4B200D4C950 /* spanRender.s */,
|
||||||
700C39C51F2E5CA800C24F9C /* tables.s */,
|
700C39C51F2E5CA800C24F9C /* tables.s */,
|
||||||
|
687
font.s
Normal file
687
font.s
Normal file
@ -0,0 +1,687 @@
|
|||||||
|
;****************************************
|
||||||
|
;* FONT ENGINE (v3?) *
|
||||||
|
;* *
|
||||||
|
;* Dagen Brock <dagenbrock@gmail.com> *
|
||||||
|
;* 2013-07-20 *
|
||||||
|
;* Converted to ca65 by Quinn Dunki *
|
||||||
|
;* 2017-08-13 *
|
||||||
|
;****************************************
|
||||||
|
;* A= ptr to string preceded by length *
|
||||||
|
;* X= screen location *
|
||||||
|
;* Preserves all registers *
|
||||||
|
;* Trashes zero page locations 6,7 *
|
||||||
|
;****************************************
|
||||||
|
; each char:
|
||||||
|
; draw char at loc
|
||||||
|
; update loc
|
||||||
|
; see if length hit - no? back to draw char
|
||||||
|
|
||||||
|
F_Length: .word 0 ;length of string (only one byte currently used)
|
||||||
|
F_CharIdx: .word 0 ;index of current character
|
||||||
|
F_CurrentPos: .word 0 ;current top left char position
|
||||||
|
F_StrPtr = $06 ;pointer to string (including length byte) / DP
|
||||||
|
|
||||||
|
|
||||||
|
DrawString:
|
||||||
|
pha
|
||||||
|
phx
|
||||||
|
phy
|
||||||
|
sta F_StrPtr ;store at dp 0 ($00) for indirect loads
|
||||||
|
stx F_CurrentPos
|
||||||
|
stz F_CharIdx
|
||||||
|
lda (F_StrPtr)
|
||||||
|
and #$00ff ;strip off first char (len is only one byte)
|
||||||
|
sta F_Length ;get our length byte
|
||||||
|
|
||||||
|
NextChar: lda F_CharIdx
|
||||||
|
cmp F_Length
|
||||||
|
bne notDone
|
||||||
|
ply
|
||||||
|
plx
|
||||||
|
pla
|
||||||
|
rts ;DONE! Return to caller
|
||||||
|
|
||||||
|
notDone: inc F_CharIdx
|
||||||
|
ldy F_CharIdx
|
||||||
|
lda (F_StrPtr),y ;get next char!
|
||||||
|
and #$00FF ;mask high byte
|
||||||
|
sec
|
||||||
|
sbc #' ' ;our table starts with space ' '
|
||||||
|
asl ;*2
|
||||||
|
tay
|
||||||
|
ldx F_CurrentPos
|
||||||
|
jsr drawChar
|
||||||
|
inc F_CurrentPos ;compare to addition time (?)
|
||||||
|
inc F_CurrentPos
|
||||||
|
inc F_CurrentPos
|
||||||
|
inc F_CurrentPos ;update screen pos (2 words=8 pixels)
|
||||||
|
bra NextChar
|
||||||
|
|
||||||
|
;x = TopLeft screen pos
|
||||||
|
;y = char table offset
|
||||||
|
drawChar: lda FontTable,y ;get real address of char data
|
||||||
|
sec
|
||||||
|
sbc #FontData ;pivot offset - now a is offset of fontdata
|
||||||
|
tay ;so we'll index with that
|
||||||
|
|
||||||
|
lda FontData,y
|
||||||
|
sta $E12000,x
|
||||||
|
lda FontData+2,y
|
||||||
|
sta $E12000+2,x
|
||||||
|
|
||||||
|
lda FontData+4,y
|
||||||
|
sta $E12000+160,x
|
||||||
|
lda FontData+6,y
|
||||||
|
sta $E12000+160+2,x
|
||||||
|
|
||||||
|
lda FontData+8,y
|
||||||
|
sta $E12000+160*2,x
|
||||||
|
lda FontData+10,y
|
||||||
|
sta $E12000+160*2+2,x
|
||||||
|
lda FontData+12,y
|
||||||
|
sta $E12000+160*3,x
|
||||||
|
lda FontData+14,y
|
||||||
|
sta $E12000+160*3+2,x
|
||||||
|
lda FontData+16,y
|
||||||
|
sta $E12000+160*4,x
|
||||||
|
lda FontData+18,y
|
||||||
|
sta $E12000+160*4+2,x
|
||||||
|
lda FontData+20,y
|
||||||
|
sta $E12000+160*5,x
|
||||||
|
lda FontData+22,y
|
||||||
|
sta $E12000+160*5+2,x
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FontTable:
|
||||||
|
.addr s_Space
|
||||||
|
.addr s_Exclaim
|
||||||
|
.addr s_Quote
|
||||||
|
.addr s_Number
|
||||||
|
.addr s_Dollar
|
||||||
|
.addr s_Percent
|
||||||
|
.addr s_Amper
|
||||||
|
.addr s_Single
|
||||||
|
.addr s_OpenParen
|
||||||
|
.addr s_CloseParen
|
||||||
|
.addr s_Asterix
|
||||||
|
.addr s_Plus
|
||||||
|
.addr s_Comma
|
||||||
|
.addr s_Minus
|
||||||
|
.addr s_Period
|
||||||
|
.addr s_Slash
|
||||||
|
.addr s_N0
|
||||||
|
.addr s_N1
|
||||||
|
.addr s_N2
|
||||||
|
.addr s_N3
|
||||||
|
.addr s_N4
|
||||||
|
.addr s_N5
|
||||||
|
.addr s_N6
|
||||||
|
.addr s_N7
|
||||||
|
.addr s_N8
|
||||||
|
.addr s_N9
|
||||||
|
.addr s_Colon
|
||||||
|
.addr s_Semi
|
||||||
|
.addr s_LAngle
|
||||||
|
.addr s_Equal
|
||||||
|
.addr s_RAngle
|
||||||
|
.addr s_Question
|
||||||
|
.addr s_At
|
||||||
|
.addr s_A
|
||||||
|
.addr s_B
|
||||||
|
.addr s_C
|
||||||
|
.addr s_D
|
||||||
|
.addr s_E
|
||||||
|
.addr s_F
|
||||||
|
.addr s_G
|
||||||
|
.addr s_H
|
||||||
|
.addr s_I
|
||||||
|
.addr s_J
|
||||||
|
.addr s_K
|
||||||
|
.addr s_L
|
||||||
|
.addr s_M
|
||||||
|
.addr s_N
|
||||||
|
.addr s_O
|
||||||
|
.addr s_P
|
||||||
|
.addr s_Q
|
||||||
|
.addr s_R
|
||||||
|
.addr s_S
|
||||||
|
.addr s_T
|
||||||
|
.addr s_U
|
||||||
|
.addr s_V
|
||||||
|
.addr s_W
|
||||||
|
.addr s_X
|
||||||
|
.addr s_Y
|
||||||
|
.addr s_Z
|
||||||
|
.addr s_LBracket
|
||||||
|
.addr s_BackSlash
|
||||||
|
.addr s_RBracket
|
||||||
|
.addr s_Caret
|
||||||
|
.addr s_UnderLine
|
||||||
|
|
||||||
|
FontData:
|
||||||
|
s_Space:
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
|
||||||
|
s_Exclaim:
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $000FF000
|
||||||
|
|
||||||
|
s_Quote:
|
||||||
|
qbyte $0FF00FF0
|
||||||
|
qbyte $00F000F0
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
|
||||||
|
s_Number:
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00F00F00
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
qbyte $00F00F00
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
qbyte $00F00F00
|
||||||
|
|
||||||
|
s_Dollar:
|
||||||
|
qbyte $000F0F00
|
||||||
|
qbyte $00FFFFF0
|
||||||
|
qbyte $0F0F0F00
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $000F0FF0
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
|
||||||
|
s_Percent:
|
||||||
|
qbyte $0FF000F0
|
||||||
|
qbyte $00000F00
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $00F00000
|
||||||
|
qbyte $0F000FF0
|
||||||
|
|
||||||
|
s_Amper:
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $00F00F00
|
||||||
|
qbyte $0F00F000
|
||||||
|
qbyte $00F000F0
|
||||||
|
qbyte $0F0FFF00
|
||||||
|
qbyte $00F0F000
|
||||||
|
|
||||||
|
s_Single:
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
|
||||||
|
s_OpenParen:
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $00FF0000
|
||||||
|
qbyte $0FF00000
|
||||||
|
qbyte $0FF00000
|
||||||
|
qbyte $00FF0000
|
||||||
|
qbyte $000FF000
|
||||||
|
|
||||||
|
s_CloseParen:
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $0000FF00
|
||||||
|
qbyte $00000FF0
|
||||||
|
qbyte $00000FF0
|
||||||
|
qbyte $0000FF00
|
||||||
|
qbyte $000FF000
|
||||||
|
|
||||||
|
|
||||||
|
s_Asterix:
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00F0F0F0
|
||||||
|
qbyte $000FFF00
|
||||||
|
qbyte $00FFFFF0
|
||||||
|
qbyte $000FFF00
|
||||||
|
qbyte $00F0F0F0
|
||||||
|
|
||||||
|
s_Plus:
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $00000000
|
||||||
|
|
||||||
|
s_Comma:
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $0000FF00
|
||||||
|
qbyte $0000F000
|
||||||
|
|
||||||
|
s_Minus:
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
|
||||||
|
|
||||||
|
s_Period:
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $0000FF00
|
||||||
|
qbyte $0000FF00
|
||||||
|
|
||||||
|
s_Slash:
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $00000F00
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $00F00000
|
||||||
|
qbyte $0F000000
|
||||||
|
|
||||||
|
s_N0:
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $0F000FF0
|
||||||
|
qbyte $0F00F0F0
|
||||||
|
qbyte $0F0F00F0
|
||||||
|
qbyte $0FF000F0
|
||||||
|
qbyte $00FFFF00
|
||||||
|
|
||||||
|
s_N1:
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $00FF0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $00FFF000
|
||||||
|
|
||||||
|
s_N2:
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00000F00
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $00F00000
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
|
||||||
|
s_N3:
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $000FFF00
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $00FFFF00
|
||||||
|
|
||||||
|
s_N4:
|
||||||
|
qbyte $0000FF00
|
||||||
|
qbyte $000F0F00
|
||||||
|
qbyte $00F00F00
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
qbyte $00000F00
|
||||||
|
qbyte $00000F00
|
||||||
|
|
||||||
|
s_N5:
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00FFFF00
|
||||||
|
|
||||||
|
s_N6:
|
||||||
|
qbyte $000FFF00
|
||||||
|
qbyte $00F00000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00FFFFF0
|
||||||
|
|
||||||
|
s_N7:
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $00000F00
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
|
||||||
|
s_N8:
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00FFFF00
|
||||||
|
|
||||||
|
s_N9:
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $00F00000
|
||||||
|
|
||||||
|
s_Colon:
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $00000000
|
||||||
|
|
||||||
|
s_Semi:
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $000F0000
|
||||||
|
|
||||||
|
s_LAngle:
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $00F00000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $00000000
|
||||||
|
|
||||||
|
s_Equal:
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $00000000
|
||||||
|
|
||||||
|
s_RAngle:
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $00000F00
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $00000F00
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $00000000
|
||||||
|
|
||||||
|
s_Question:
|
||||||
|
qbyte $00FFF000
|
||||||
|
qbyte $0F000F00
|
||||||
|
qbyte $00000F00
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $000FF000
|
||||||
|
|
||||||
|
s_At:
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F00F0F0
|
||||||
|
qbyte $0FFFF0F0
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
|
||||||
|
s_A:
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $00F00F00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
|
||||||
|
s_B:
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
|
||||||
|
s_C:
|
||||||
|
qbyte $00FFFFF0
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $00FFFFF0
|
||||||
|
|
||||||
|
s_D:
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
|
||||||
|
s_E:
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0FFFF000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
|
||||||
|
s_F:
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0FFFF000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
|
||||||
|
s_G:
|
||||||
|
qbyte $00FFFFF0
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F00FFF0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00FFFF00
|
||||||
|
|
||||||
|
s_H:
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
|
||||||
|
s_I:
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
|
||||||
|
s_J:
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00FFFF00
|
||||||
|
|
||||||
|
s_K:
|
||||||
|
qbyte $0F000F00
|
||||||
|
qbyte $0F00F000
|
||||||
|
qbyte $0FFF0000
|
||||||
|
qbyte $0F00F000
|
||||||
|
qbyte $0F000F00
|
||||||
|
qbyte $0F000F00
|
||||||
|
|
||||||
|
s_L:
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
|
||||||
|
s_M:
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0FF00FF0
|
||||||
|
qbyte $0F0FF0F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
|
||||||
|
s_N:
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0FF000F0
|
||||||
|
qbyte $0F0F00F0
|
||||||
|
qbyte $0F00F0F0
|
||||||
|
qbyte $0F000FF0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
|
||||||
|
s_O:
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00FFFF00
|
||||||
|
|
||||||
|
s_P:
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $0F000000
|
||||||
|
|
||||||
|
s_Q:
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F00F0F0
|
||||||
|
qbyte $0F000FF0
|
||||||
|
qbyte $00FFFFF0
|
||||||
|
|
||||||
|
s_R:
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $0F000F00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
|
||||||
|
s_S:
|
||||||
|
qbyte $00FFFFF0
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $00FFFF00
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $000000F0
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
|
||||||
|
s_T:
|
||||||
|
qbyte $0FFFFF00
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
|
||||||
|
s_U:
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00FFFF00
|
||||||
|
|
||||||
|
s_V:
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00F00F00
|
||||||
|
qbyte $000FF000
|
||||||
|
|
||||||
|
s_W:
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $0F0FF0F0
|
||||||
|
qbyte $0FF00FF0
|
||||||
|
qbyte $0F0000F0
|
||||||
|
|
||||||
|
s_X:
|
||||||
|
qbyte $0F0000F0
|
||||||
|
qbyte $00F00F00
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $000FF000
|
||||||
|
qbyte $00F00F00
|
||||||
|
qbyte $0F0000F0
|
||||||
|
|
||||||
|
s_Y:
|
||||||
|
qbyte $F00000F0
|
||||||
|
qbyte $0F000F00
|
||||||
|
qbyte $00F0F000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
|
||||||
|
s_Z:
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
qbyte $00000F00
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $00F00000
|
||||||
|
qbyte $0FFFFFF0
|
||||||
|
|
||||||
|
s_LBracket:
|
||||||
|
qbyte $000FFF00
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $000FFF00
|
||||||
|
|
||||||
|
s_BackSlash:
|
||||||
|
qbyte $0F000000
|
||||||
|
qbyte $00F00000
|
||||||
|
qbyte $000F0000
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $00000F00
|
||||||
|
qbyte $000000F0
|
||||||
|
|
||||||
|
s_RBracket:
|
||||||
|
qbyte $00FFF000
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $00FFF000
|
||||||
|
|
||||||
|
s_Caret:
|
||||||
|
qbyte $0000F000
|
||||||
|
qbyte $000F0F00
|
||||||
|
qbyte $00F000F0
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
|
||||||
|
s_UnderLine:
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $FFFFFFF0
|
||||||
|
|
||||||
|
s_Template:
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
qbyte $00000000
|
||||||
|
|
BIN
gscats.2mg
BIN
gscats.2mg
Binary file not shown.
10
gscats.s
10
gscats.s
@ -29,6 +29,10 @@ mainBank2:
|
|||||||
ldx #$2222
|
ldx #$2222
|
||||||
jsr colorFill
|
jsr colorFill
|
||||||
|
|
||||||
|
ldx #2560
|
||||||
|
lda #string
|
||||||
|
jsr DrawString
|
||||||
|
|
||||||
jsr generateTerrain
|
jsr generateTerrain
|
||||||
jsr compileTerrain
|
jsr compileTerrain
|
||||||
jsr clipTerrain
|
jsr clipTerrain
|
||||||
@ -148,15 +152,19 @@ kbdScanSpace:
|
|||||||
|
|
||||||
|
|
||||||
basePalette:
|
basePalette:
|
||||||
.word $0800,$0080,$0000,$000F,$0FFF,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
|
.word $0000,$0080,$0000,$000F,$0FFF,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0FFF
|
||||||
mapScrollPos: ; 4-pixel columns distance from right terrain edge
|
mapScrollPos: ; 4-pixel columns distance from right terrain edge
|
||||||
.word 0
|
.word 0
|
||||||
quitRequested:
|
quitRequested:
|
||||||
.word $0000
|
.word $0000
|
||||||
mapScrollRequested:
|
mapScrollRequested:
|
||||||
.word $FFFF
|
.word $FFFF
|
||||||
|
string:
|
||||||
|
pstring "HELLO WORLD"
|
||||||
|
|
||||||
|
|
||||||
.include "graphics.s"
|
.include "graphics.s"
|
||||||
|
.include "font.s"
|
||||||
.include "terrain.s"
|
.include "terrain.s"
|
||||||
.include "tables.s"
|
.include "tables.s"
|
||||||
endMainBank2:
|
endMainBank2:
|
||||||
|
Loading…
Reference in New Issue
Block a user