Galaksija computer stores its characters in a separate 2716 Character generator ROM. While these characters are fixed in the ROM, you can easily design new characters and burn them onto your EPROM. This article will cover how the Galaksija characters are programmed and where to find them in the character generator ROM. Each character is 16 bytes, or 8 columns by 16 rows:
Each character consists of 16 bytes which correspond to the number of bits that are turned off for each visible pixel (pixel = 0), going from right to left. In the case of the letter Š outlined above, the first row equals 10101111= AF in hex.
Characters are stored in the order below:
This means that the letter Š is the 30th symbol in the ROM (counting from 0). The 16 bytes for each character are 128 bytes apart each, because the Galaksija knows 128 characters total. Characters start at address 0000 0000 with the top row of the left side of the ready symbol:
Since the top row is empty, the value of byte 0000 0000 in the character generator ROM is FF. We can verify this by dumping the first symbol (left side of the ready symbol) via the chargendump tool:
We see that the first two rows are empty, but the third row has one pixel lit up, so we expect that the third byte will be: 10111111 = BF. To verify, we’ll search the ROM for byte 256 (because it’s the third byte and there are 128 bytes between each character’s row) = 100 in hex:
Checking the ROM, we see that byte 0000 0100 (byte 256 decimal) is indeed BF.
We can now use the 8×16 matrix to draw new characters. Let’s say we want to draw a star instead of the Elektronika inženjering or Mipro logo for our READY prompt. Since the READY sign consists of two symbols, we’ll need to edit both symbols 0 and 39.
Symbol 0 will be:
Symbol 39 will be:
This should be enough information necessary to create new characters and properly change them in the ROM. To learn more about how the Galaksija generates characters, read this article by Tomaž Šolc.