diff --git a/.gitignore b/.gitignore index 1898122..e956375 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ /loader.lst /terrain_e1.lst /gscats.2mg +/fontEngine.lst +/FONTBANK\#060000 diff --git a/GenerateFont.py b/CompileFont.py similarity index 60% rename from GenerateFont.py rename to CompileFont.py index e4b713d..983984d 100755 --- a/GenerateFont.py +++ b/CompileFont.py @@ -10,18 +10,29 @@ CHAR_HEIGHT = 8 CHAR_FIRST = 32 CHROMA = 14 +def labelFromCharXY(charX, numCharX, charY): + charIndex = charY*numCharX + charX + currChar = chr(charIndex+CHAR_FIRST) + return "char{:d}".format(ord(currChar)) + def main(argv): image = Image.open('Art/Assets/Font8x8.gif') pixels = asarray(image) numCharX = (int)(image.size[0]/CHAR_WIDTH) numCharY = (int)(image.size[1]/CHAR_HEIGHT) - for charY in range(0,1): #numCharY): - for charX in range(1,2): #numCharX): - charIndex = charY*numCharX + charX - currChar = chr(charIndex+CHAR_FIRST) - - print ("char%d:\n" % ord(currChar), end="") + # Generate jump table for glyphs + print ("characterJumpTable:") + for charY in range(0,numCharY): + for charX in range(0,numCharX): + print ("\t.addr %s" % labelFromCharXY(charX,numCharX,charY)) + print ("") + + # Generate code for each glyph + for charY in range(0,numCharY): + for charX in range(0,numCharX): + + print ("%s:\n" % labelFromCharXY(charX,numCharX,charY), end="") # Header for each rendering operation print ("\ttya") # Transfer character VRAM position from Y to stack pointer @@ -32,7 +43,15 @@ def main(argv): charOriginY = charY*CHAR_HEIGHT for charRow in reversed(range(0,CHAR_HEIGHT)): - print ("\t; Line %d" % charRow) + print ("\t; Line %d, Pixel values: %x,%x,%x,%x,%x,%x,%x,%x" % (charRow, + pixels[charOriginY+charRow][charOriginX+0], + pixels[charOriginY+charRow][charOriginX+1], + pixels[charOriginY+charRow][charOriginX+2], + pixels[charOriginY+charRow][charOriginX+3], + pixels[charOriginY+charRow][charOriginX+4], + pixels[charOriginY+charRow][charOriginX+5], + pixels[charOriginY+charRow][charOriginX+6], + pixels[charOriginY+charRow][charOriginX+7])) nextRowDelta = 160 for charCol in reversed(range(0,CHAR_WIDTH,4)): nibbles = [pixels[charOriginY+charRow][charOriginX+charCol], @@ -43,20 +62,27 @@ def main(argv): word = nibbles[2]<<12 | nibbles[3]<<8 | nibbles[0]<<4 | nibbles[1] if (nibbles[0]==CHROMA and nibbles[1]==CHROMA and nibbles[2]==CHROMA and nibbles[3]==CHROMA): - pass # Case 1 : All chroma, so let stack advance with no work + print ("\ttsc") # Case 1 : All chroma, so let stack advance with no work + print ("\tdec") + print ("\tdec") + print ("\ttcs") + nextRowDelta-=2 elif (nibbles[0]!=CHROMA and nibbles[1]!=CHROMA and nibbles[2]!=CHROMA and nibbles[3]!=CHROMA): + print ("\ttsc") # Advance stack 1 for two byte push + print ("\tdec") + print ("\ttcs") print ("\tpea $%04x" % word) # Case 2 : No chroma, so fast push - nextRowDelta -= 2 + nextRowDelta -= 3 else: - mask = 0 # Case 3 : Mixed chroma, so mask and or + mask = 0xFFFF # Case 3 : Mixed chroma, so mask and or if (nibbles[0]!=CHROMA): - mask = mask | 0xFF0F + mask = mask & 0xFF0F if (nibbles[1]!=CHROMA): - mask = mask | 0xFFF0 + mask = mask & 0xFFF0 if (nibbles[2]!=CHROMA): - mask = mask | 0x0FFF + mask = mask & 0x0FFF if (nibbles[3]!=CHROMA): - mask = mask | 0xF0FF + mask = mask & 0xF0FF sprite = word if (nibbles[0]==CHROMA): @@ -85,7 +111,7 @@ def main(argv): print ("\ttcs") # Footer for each rendering operation - print ("\tjmp returnFromTest") + print ("\tjmp renderCharJumpReturn\n") if __name__ == "__main__": main(sys.argv[1:]) diff --git a/GSCats.xcodeproj/project.pbxproj b/GSCats.xcodeproj/project.pbxproj index ac9a61f..c7cd29c 100644 --- a/GSCats.xcodeproj/project.pbxproj +++ b/GSCats.xcodeproj/project.pbxproj @@ -22,8 +22,9 @@ 705C54E62124B7F300515A6B /* fan.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = fan.s; sourceTree = ""; }; 706DF1641F2D39F700AA6680 /* loader.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = loader.s; sourceTree = ""; }; 706DF1651F2D4A8100AA6680 /* terrain.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = terrain.s; sourceTree = ""; }; - 7076E9222A57AED90006E295 /* GenerateFont.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = GenerateFont.py; sourceTree = ""; }; + 7076E9222A57AED90006E295 /* CompileFont.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = CompileFont.py; sourceTree = ""; }; 7076E9232A59113F0006E295 /* font8x8.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = font8x8.s; sourceTree = ""; }; + 7076E9242A5A4A8E0006E295 /* fontEngine.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = fontEngine.s; sourceTree = ""; }; 7088096D1F2ECE8D00D4C950 /* GenerateRenderSpans.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = GenerateRenderSpans.py; sourceTree = ""; }; 708D1B1E27B9A1A600909AFC /* crosshair.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = crosshair.s; sourceTree = ""; }; 709175C01F60D263008FAFAB /* GenerateCircles.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = GenerateCircles.py; sourceTree = ""; }; @@ -83,10 +84,11 @@ 70E9D8611F2BD95400555C19 /* gscats.s */, 70E9D8631F2BD95400555C19 /* Makefile */, 70BDCBC92006AD5F00CB51F1 /* linkerConfig */, + 7076E9232A59113F0006E295 /* font8x8.s */, + 7076E9242A5A4A8E0006E295 /* fontEngine.s */, + 7076E9222A57AED90006E295 /* CompileFont.py */, 70FE79D21F8814A600E0095C /* MerlinToCA65.sh */, 700F72872112428D00225B17 /* RenumberSpriteFiles.sh */, - 7076E9222A57AED90006E295 /* GenerateFont.py */, - 7076E9232A59113F0006E295 /* font8x8.s */, 7088096D1F2ECE8D00D4C950 /* GenerateRenderSpans.py */, 7059502B1F37A0BE00BBE90F /* GenerateVRAMTable.py */, 7099E3851F4107B100182A82 /* GenerateVRAMYOffset.py */, diff --git a/Makefile b/Makefile index 3c858f1..3713c14 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,7 @@ CODEBANK=CODEBANK\#060000 CODEBANKE1=CODEBANKE1\#060800 EXEC=$(PGM)\#06$(ADDR) SOUNDBANK=SOUNDBANK\#060000 +FONTBANK=FONTBANK\#060000 PGM=gscats MRSPRITE=../MrSprite/mrsprite @@ -49,6 +50,7 @@ $(PGM): $(CAD) ADDFILE $(PGM).2mg /$(VOLNAME) $(CODEBANK) $(CAD) ADDFILE $(PGM).2mg /$(VOLNAME) $(SPRITEBANK) $(CAD) ADDFILE $(PGM).2mg /$(VOLNAME) $(SOUNDBANK) + $(CAD) ADDFILE $(PGM).2mg /$(VOLNAME) $(FONTBANK) rm -f $(CODEBANK) rm -f $(PGM).o @@ -96,3 +98,11 @@ sound: rm -f $(GENSOUND)/* ./GenerateSoundBank.sh Sound/CatHowl.wav 11264 Sound/Meow1.wav 5513 Sound/Meow2.wav 5513 Sound/Meow3.wav 5513 Sound/Meow4.wav 5513 rm -f $(GENSOUND)/* + +.PHONY: fonts +fonts: + rm -rf $(FONTBANK) + ./CompileFont.py > font8x8.s + @PATH=$(PATH):/usr/local/bin; $(CL65) -t apple2enh --cpu 65816 --start-addr 0000 -lfonts.lst fontEngine.s -o $(FONTBANK) + rm -f fontEngine.o + diff --git a/font8x8.s b/font8x8.s index 7337d72..718fd22 100644 --- a/font8x8.s +++ b/font8x8.s @@ -1,12 +1,211 @@ +characterJumpTable: + .addr char32 + .addr char33 + .addr char34 + .addr char35 + .addr char36 + .addr char37 + .addr char38 + .addr char39 + .addr char40 + .addr char41 + .addr char42 + .addr char43 + .addr char44 + .addr char45 + .addr char46 + .addr char47 + .addr char48 + .addr char49 + .addr char50 + .addr char51 + .addr char52 + .addr char53 + .addr char54 + .addr char55 + .addr char56 + .addr char57 + .addr char58 + .addr char59 + .addr char60 + .addr char61 + .addr char62 + .addr char63 + .addr char64 + .addr char65 + .addr char66 + .addr char67 + .addr char68 + .addr char69 + .addr char70 + .addr char71 + .addr char72 + .addr char73 + .addr char74 + .addr char75 + .addr char76 + .addr char77 + .addr char78 + .addr char79 + .addr char80 + .addr char81 + .addr char82 + .addr char83 + .addr char84 + .addr char85 + .addr char86 + .addr char87 + .addr char88 + .addr char89 + .addr char90 + .addr char91 + .addr char92 + .addr char93 + .addr char94 + .addr char95 + .addr char96 + .addr char97 + .addr char98 + .addr char99 + .addr char100 + .addr char101 + .addr char102 + .addr char103 + .addr char104 + .addr char105 + .addr char106 + .addr char107 + .addr char108 + .addr char109 + .addr char110 + .addr char111 + +char32: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + char33: tya tcs - ; Line 7 + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs tsc sec - sbc #160 + sbc #156 tcs - ; Line 6 + ; Line 6, Pixel values: e,e,e,d,d,e,e,e tsc dec dec @@ -27,7 +226,7 @@ char33: sec sbc #156 tcs - ; Line 5 + ; Line 5, Pixel values: e,e,e,d,d,e,e,e tsc dec dec @@ -48,12 +247,20 @@ char33: sec sbc #156 tcs - ; Line 4 + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs tsc sec - sbc #160 + sbc #156 tcs - ; Line 3 + ; Line 3, Pixel values: e,e,e,a,d,e,e,e tsc dec dec @@ -74,7 +281,7 @@ char33: sec sbc #156 tcs - ; Line 2 + ; Line 2, Pixel values: e,e,e,a,a,e,e,e tsc dec dec @@ -95,7 +302,7 @@ char33: sec sbc #156 tcs - ; Line 1 + ; Line 1, Pixel values: e,e,e,b,b,e,e,e tsc dec dec @@ -116,7 +323,7 @@ char33: sec sbc #156 tcs - ; Line 0 + ; Line 0, Pixel values: e,e,e,f,f,e,e,e tsc dec dec @@ -137,4 +344,10939 @@ char33: sec sbc #156 tcs - jmp returnFromTest + jmp renderCharJumpReturn + +char34: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,b,a,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,b,b,e,e,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00a + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$b00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,f,f,e,e,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00f + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$f00f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char35: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: e,b,a,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,b,a,e,a,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,e,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$f00f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char36: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: e,e,e,d,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$aa0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,a,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$f000 + ora #$0afb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$bb0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,f,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0f00 + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char37: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char38: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char39: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,a,a,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00a0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0a00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,b,b,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00b0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0b00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,f,f,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00f0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0f00 + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char40: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,d,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,b,a,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,b,a,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,b,b,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$bb00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,f,f,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00f0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0f00 + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char41: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,d,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,a,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,b,b,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00b0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0b00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,f,f,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$ff00 + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char42: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,a,e,d,e,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$fff0 + ora #$000d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0f0 + ora #$0d0a + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,a,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$ad00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$aa0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,a,a,a,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00a0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$aa00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,b,e,b,e,a,e,e + tsc + dec + dec + tcs + lda 0,S + and #$fff0 + ora #$000a + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0f0 + ora #$0b0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char43: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,b,a,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ad0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$aa0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,a,a,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00a0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0a00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,b,b,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00b0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0b00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char44: + tya + tcs + ; Line 7, Pixel values: e,e,d,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char45: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$aa0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char46: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char47: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,d,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,d,d + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char48: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,a,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,e,a,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f000 + ora #$0afb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,a,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ad + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char49: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $ddad + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: e,e,a,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$ad00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,a,a,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$aa00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,a,a,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$aa00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,b,b,b,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$bb0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,f,f,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$ff00 + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char50: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddad + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,a,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + tcs + pea $adfb + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: e,e,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$aa00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,a,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ad + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char51: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $ddad + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$aa0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char52: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,a,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $adfb + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: f,b,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,a,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: f,f,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char53: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $ddad + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: e,e,e,e,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char54: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char55: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,d,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,d,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,a,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$ad00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0a00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,a,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ad + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char56: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$aa0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char57: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char58: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,d,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,a,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$ad00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,a,a,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$aa00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,b,b,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$bb00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char59: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,d,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,a,a,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00a0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0a00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,b,b,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00b0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0b00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char60: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,a,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$ad00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,a,a,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$aa00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,b,b,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00b0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0b00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char61: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,b,a,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ad0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,b,a,a,a,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ad + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$aa0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char62: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,a,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,b,b,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00b0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0b00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,f,f,f,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char63: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,b,b,e,e,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00a + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$b00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$ff00 + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char64: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,a,d,e,e,e,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0fff + ora #$d000 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00a + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,b,a,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,e,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,b,a,e,a,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ad + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,b,b,e,e,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00a + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$b00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$ff00 + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char65: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fa + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,b,a,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ad0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,a,a,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$aa00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$bb00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char66: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $ddad + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char67: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char68: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $ddad + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char69: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char70: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fa + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char71: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,e,e,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char72: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fa + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,e,e,e,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00a + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: f,f,e,e,e,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00f + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char73: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0a + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,a,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0a00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,a,a,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00a0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0a00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$bb0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char74: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,a,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$bb0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char75: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fa + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: f,b,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f000 + ora #$0dfb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,a,a,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: f,b,e,b,b,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00b0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f000 + ora #$0bfb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: f,f,e,e,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char76: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: f,f,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char77: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fa + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: f,b,e,d,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f000 + ora #$0dfb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,a,a,a,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ad + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: f,b,b,e,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$b0fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: f,f,e,e,e,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00f + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char78: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fa + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: f,b,e,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f000 + ora #$0dfb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,a,a,a,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: f,b,b,e,b,a,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ba + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$b0fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: f,f,e,e,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char79: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char80: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fa + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char81: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,e,d,d + tsc + dec + dec + tcs + lda 0,S + and #$000f + ora #$ddd0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char82: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fa + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00f0 + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char83: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + tcs + pea $ddad + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: e,e,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,b,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$aa0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: e,f,f,f,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ff0f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char84: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,a,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00f0 + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char85: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,d,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0d + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,e,e,e,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00a + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: f,f,e,e,e,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00f + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char86: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,d,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$dd00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,a,d,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$dd0a + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: f,b,a,e,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: f,b,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,e,e,e,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00a + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: f,f,e,e,e,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00f + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char87: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,e,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0fa + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: f,b,a,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $adfb + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,e,a,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f000 + ora #$0afb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,e,e,e,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00a + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: f,f,e,e,e,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00f + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char88: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,e,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: f,a,d,e,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0fa + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,b,a,d,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ad0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,a,a,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$aa00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,b,a,a,a,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$aa0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,e,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$b0fb + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: f,f,e,e,e,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00f + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ff + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char89: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,d,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0d00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,a,a,d,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00dd + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$aa00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,b,a,e,e,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00d + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,b,b,e,e,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$d00a + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$b00b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,f,f,e,e,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$a00f + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$0ff0 + ora #$f00f + sta 0,S + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char90: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddad + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: e,b,a,d,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + lda 0,S + and #$00f0 + ora #$ad0b + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,a,a,d,e,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff0f + ora #$00d0 + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$00ff + ora #$aa00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,a,a,d,e,e + tsc + dec + dec + tcs + lda 0,S + and #$ff00 + ora #$00ad + sta 0,S + tsc + dec + dec + tcs + lda 0,S + and #$f0ff + ora #$0a00 + sta 0,S + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char91: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: f,f,f,f,f,f,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: b,b,b,b,b,b,b,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$b0bb + sta 0,S + tsc + dec + tcs + pea $bbbb + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: a,a,a,a,a,a,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0aa + sta 0,S + tsc + dec + tcs + pea $aaaa + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: a,a,a,a,a,a,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0aa + sta 0,S + tsc + dec + tcs + pea $aaaa + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char92: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char93: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: a,a,a,a,a,a,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0aa + sta 0,S + tsc + dec + tcs + pea $aaaa + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: a,a,a,a,a,a,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0aa + sta 0,S + tsc + dec + tcs + pea $aaaa + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: b,b,b,b,b,b,b,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$b0bb + sta 0,S + tsc + dec + tcs + pea $bbbb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char94: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char95: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: a,a,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aaaa + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: a,a,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aaaa + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: b,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aabb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char96: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: d,d,d,a,a,a,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0aa + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: d,d,d,a,a,a,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0aa + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: d,d,d,a,a,b,b,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$b0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char97: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: d,d,d,a,a,b,b,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$b0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: d,d,d,a,a,a,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0aa + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: d,d,d,a,a,a,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0aa + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char98: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: b,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aabb + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: a,a,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aaaa + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: a,a,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aaaa + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: d,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char99: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,d,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddad + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: f,a,d,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $ddfa + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: f,b,a,d,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $adfb + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: f,b,a,a,a,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ad + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: f,b,b,b,b,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ba + sta 0,S + tsc + dec + tcs + pea $bbfb + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,f,f,f,f,f,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ff + sta 0,S + tsc + dec + tcs + pea $ffff + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char100: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: a,f,f,f,f,f,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ff + sta 0,S + tsc + dec + tcs + pea $ffaf + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: d,a,b,b,b,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0bb + sta 0,S + tsc + dec + tcs + pea $bbda + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: d,d,a,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $aadd + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: d,d,d,d,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: d,d,d,d,d,a,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0da + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: d,d,d,d,d,d,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0dd + sta 0,S + tsc + dec + tcs + pea $dddd + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char101: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: b,f,b,a,a,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ad + sta 0,S + tsc + dec + tcs + pea $babf + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: a,b,f,b,a,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0aa + sta 0,S + tsc + dec + tcs + pea $fbab + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: a,a,b,f,b,a,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ba + sta 0,S + tsc + dec + tcs + pea $bfaa + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: d,a,a,b,f,b,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0fb + sta 0,S + tsc + dec + tcs + pea $abda + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: d,d,a,a,b,f,b,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$b0bf + sta 0,S + tsc + dec + tcs + pea $aadd + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char102: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: d,d,d,a,a,b,f,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$f0ab + sta 0,S + tsc + dec + tcs + pea $dadd + tsc + sec + sbc #155 + tcs + ; Line 5, Pixel values: d,d,a,a,b,f,b,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$b0bf + sta 0,S + tsc + dec + tcs + pea $aadd + tsc + sec + sbc #155 + tcs + ; Line 4, Pixel values: d,a,a,b,f,b,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0fb + sta 0,S + tsc + dec + tcs + pea $abda + tsc + sec + sbc #155 + tcs + ; Line 3, Pixel values: a,a,b,f,b,a,a,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$a0ba + sta 0,S + tsc + dec + tcs + pea $bfaa + tsc + sec + sbc #155 + tcs + ; Line 2, Pixel values: a,b,f,b,a,a,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0aa + sta 0,S + tsc + dec + tcs + pea $fbab + tsc + sec + sbc #155 + tcs + ; Line 1, Pixel values: b,f,b,a,a,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0ad + sta 0,S + tsc + dec + tcs + pea $babf + tsc + sec + sbc #155 + tcs + ; Line 0, Pixel values: f,b,a,a,d,d,d,e + tsc + dec + dec + tcs + lda 0,S + and #$0f00 + ora #$d0dd + sta 0,S + tsc + dec + tcs + pea $aafb + tsc + sec + sbc #155 + tcs + jmp renderCharJumpReturn + +char103: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char104: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char105: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char106: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char107: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char108: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char109: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char110: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + +char111: + tya + tcs + ; Line 7, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 6, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 5, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 4, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 3, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 2, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 1, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + ; Line 0, Pixel values: e,e,e,e,e,e,e,e + tsc + dec + dec + tcs + tsc + dec + dec + tcs + tsc + sec + sbc #156 + tcs + jmp renderCharJumpReturn + diff --git a/fontEngine.s b/fontEngine.s new file mode 100644 index 0000000..e581f2a --- /dev/null +++ b/fontEngine.s @@ -0,0 +1,83 @@ +.include "equates.s" +.include "macros.s" + +.org $0000 + +FIRST_CHAR = 32 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; renderString (Far entry point) +; +; Draws a Pascal string +; +; PARAM0L = Pointer to string +; Y = VRAM position of lower right corner of string at which to draw +; +; Trashes SCRATCHL, X, Y, A +; +renderString: + NATIVE + sty SCRATCHL + + BITS8 + lda (PARAML0) + tax + BITS16 + +renderStringLoop: + + ; Fetch and render next character in string + txy + lda #0 + BITS8A + lda (PARAML0),y + BITS16 + ldy SCRATCHL + jsr renderChar + + dex + beq renderStringDone + + ; Calculate VRAM pointer for position of next character + lda SCRATCHL + sec + sbc #4 + sta SCRATCHL + bra renderStringLoop + +renderStringDone: + rtl + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; renderChar +; +; Draws a single character +; +; A = ASCII code to draw +; Y = VRAM position of lower right corner at which to draw +; +renderChar: + SAVE_AXY + + sec ; Bounce off glyph-rendering jump table + sbc #FIRST_CHAR + asl + tax + FASTGRAPHICS + jmp (characterJumpTable,x) + +renderCharJumpReturn: ; Compiled glyphs jump back here. Can't rts because stack is turboborked + SLOWGRAPHICS +RESTORE_AXY + rts + +.include "font8x8.s" + +; Suppress some linker warnings - Must be the last thing in the file +; This is because Quinn doesn't really know how to use ca65 properly +.SEGMENT "ZPSAVE" +.SEGMENT "EXEHDR" +.SEGMENT "STARTUP" +.SEGMENT "INIT" +.SEGMENT "LOWCODE" + diff --git a/gamemanager.s b/gamemanager.s index acc41e4..f3e8247 100644 --- a/gamemanager.s +++ b/gamemanager.s @@ -69,12 +69,13 @@ beginGameplay: jsr clipTerrain ; Test font renderer -; FASTGRAPHICS -; ldy #$3000 ;#$2504 -; jmp char33 -returnFromTest: -; SLOWGRAPHICS -; ;HARDBRK + lda #testString + sta PARAML0 + ldy #$3000 + jsl $050000 + bra gameplayLoop +testString: + pstring "HELLO WORLD!" gameplayLoop: lda projectileActive diff --git a/gscats.s b/gscats.s index 7484454..b93f075 100644 --- a/gscats.s +++ b/gscats.s @@ -54,7 +54,6 @@ quitGame: .include "inventory.s" .include "dirt.s" .include "crosshair.s" -.include "font8x8.s" endMainBank2: diff --git a/loader.s b/loader.s index 7cfe557..2fa4cbe 100644 --- a/loader.s +++ b/loader.s @@ -164,7 +164,7 @@ loadData: EMULATION - ; Load rest of sound data into bank 0 (needed if sound size exceeds BUFFERSIZE) + ; Load rest of sound data into bank 4 (needed if sound size exceeds BUFFERSIZE) jsr PRODOS .byte $ca .addr fileRead @@ -177,7 +177,7 @@ loadData: NATIVE - ; Copy rest of code into bank 2 (needed if code size exceeds BUFFERSIZE) + ; Copy rest of sound data into bank 4 (needed if sound size exceeds BUFFERSIZE) ldx fileReadLen txa clc @@ -187,6 +187,28 @@ loadData: ldy #BUFFERSIZE jsr copyBytes + EMULATION + + ; Open the font file + jsr PRODOS + .byte $c8 + .addr fileOpenFonts + bne ioErrorJmp + + ; Load the font data into bank 0 + jsr PRODOS + .byte $ca + .addr fileRead + bne ioErrorJmp + + NATIVE + + ; Copy font data into bank 5 + ldx fileReadLen + lda #5 + ldy #0 + jsr copyBytes + ; Set up a long jump into bank 2, and ; a way for game code to get back here to exit ; properly to ProDOS 8 @@ -200,6 +222,9 @@ returnToProDOS: EMULATION rts +ioErrorJmp: + jmp ioError + ; This table lives here in the loader because we need to copy ; it to a specific free hole in bank E1 @@ -315,6 +340,13 @@ fileOpenSound: .byte 0 ; Result (file handle) .byte 0 ; Padding +fileOpenFonts: + .byte 3 + .addr fontPath + .addr $9200 ; 1k below BASIC.SYSTEM + .byte 0 ; Result (file handle) + .byte 0 ; Padding + codePath: pstring "/GSAPP/CODEBANK" codePathE1: @@ -323,3 +355,5 @@ spritePath: pstring "/GSAPP/SPRITEBANK" soundPath: pstring "/GSAPP/SOUNDBANK" +fontPath: + pstring "/GSAPP/FONTBANK"