From 5f2d128eb33616d4b9041a95d776cb053872bbfd Mon Sep 17 00:00:00 2001 From: blondie7575 Date: Wed, 12 Jul 2023 16:46:57 -0700 Subject: [PATCH] Generalized font compiler --- CompileFont.py | 20 ++++++++++---------- Makefile | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CompileFont.py b/CompileFont.py index 8968c5e..4019550 100755 --- a/CompileFont.py +++ b/CompileFont.py @@ -5,18 +5,18 @@ import PIL from PIL import Image from numpy import asarray -CHAR_WIDTH = 8 -CHAR_HEIGHT = 8 -CHAR_FIRST = 32 -CHROMA = 14 - -def labelFromCharXY(charX, numCharX, charY): +def labelFromCharXY(charFirst, charX, numCharX, charY): charIndex = charY*numCharX + charX - currChar = chr(charIndex+CHAR_FIRST) + currChar = chr(charIndex+charFirst) return "char{:d}".format(ord(currChar)) def main(argv): - image = Image.open('Art/Assets/Font8x8.gif') + CHAR_WIDTH = int(argv[0]) + CHAR_HEIGHT = int(argv[1]) + CHAR_FIRST = int(argv[2]) + CHROMA = int(argv[3]) + image = Image.open(argv[4]) + pixels = asarray(image) numCharX = (int)(image.size[0]/CHAR_WIDTH) numCharY = (int)(image.size[1]/CHAR_HEIGHT) @@ -25,14 +25,14 @@ def main(argv): print ("characterJumpTable:") for charY in range(0,numCharY): for charX in range(0,numCharX): - print ("\t.addr %s" % labelFromCharXY(charX,numCharX,charY)) + print ("\t.addr %s" % labelFromCharXY(CHAR_FIRST,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="") + print ("%s:\n" % labelFromCharXY(CHAR_FIRST,charX,numCharX,charY), end="") # Header for each rendering operation print ("\ttya") # Transfer character VRAM position from Y to stack pointer diff --git a/Makefile b/Makefile index 5a73d5f..36e3773 100644 --- a/Makefile +++ b/Makefile @@ -71,7 +71,7 @@ terrain_e1: fonts: rm -rf $(FONTBANK) - ./CompileFont.py > font8x8.s + ./CompileFont.py 8 8 32 14 "Art/Assets/Font8x8.gif" > 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