|
January 29, 2003
So, it seems that "low-RAM text kernel" is, in the VCS world, something of an oxymoron. Basically, to do text on an Atari 2600, one must pre-process the string into a RAM buffer. This generally not only takes a significant amount of RAM (like 60 bytes per line of text!), it also takes a significant amount of time to do, limiting you to a maximum of, say, six to eleven lines of text. (The "eleven lines of text" kernel is perilously tricky for a beginner like myself to venture into.)
A realization hit me yesterday, though -- storing a string as one-byte-per-letter is entirely inappropriate for the VCS' graphics hardware. Round hole, meet square peg. What such engines are asking the Atari to do is nothing short of decompressing data while in the middle of drawing the screen.
Well, I rationalized, if I'm going to decompress data, I should at least compress it in its native format. I am currently toying with writing a C program to basically generate playfield data from a list of NKIs, and then "compressing" it into a format which is easily renderable with 2600 hardware. I don't store ROM for any letter combinations that I don't use, and I can re-use the ones I do. We'll see how well it compresses, but I'm fairly confident that text will be compact enough to use. The kernel will sure be cleaner than any text kernel I've seen, though.
If you want to see the ending screen as it stands, you can download the ROM. |
|