TI-BASIC:Textsprites
Contents
Horizontal Sprites
Explanation
In order to create a text sprite, one must have a series of characters and each character returns a certain number of pixels in certain arrangement on the graphscreen. Each character, when displayed on the graphscreen will return certain pixels in its first column of text. For example, if one displayed the letter "J" to the graphscreen it would look like this: (0 = empty pixel, 1 = filled pixel)
001 001 001 101 111
The first column of text is therefore "00011." The value, 00011b, (in binary) is equivalent to the decimal value 3. Each character, when displayed on the graphscreen will such a number associated with it. Therefore it is easy to organize all the possible text sprites numerically.
You can create rows of text spites this way. You could then stack these rows up from bottom to top to fill large portions of the screen. An important thing to remember though, is that vertical text sprites are much faster for larger images. They can fill the entire screen in just 4 seconds on an 84!
Chart
This chart contains the best characters to use for each pixel combination when drawing a text sprite:
- Each is at most three pixels wide (not counting the 1-pixel margin to the left of each character).
- When possible, they are 1-byte characters, or if not, at least commonly accessible.
Vertical Sprites
Differences with horizontal sprites
The main difference for a vertical sprite is that you need only one Text( command to fill an entire horizontal line. It has a noticeable advantage on horizontal sprites when sprites are larger. It is not only faster but you are not limited to a 5x5 sprite or a 7x7 sprite. Also, you don't use a picture variable which can be more convenient in some situations. You don't need to group Pics and your program in order to send it to someone. In order to draw a sprite, you must draw from bottom to top in order to not erase what is already written. The main disadvantage is that only ∟ , N and … don't end with a 0. But it really doesn't matter, because you can make any vertical sprite using only the ., [, and the ∟. In conclusion, if you need to draw large sprites or even to fill the graphscreen, you should use vertical sprites, otherwise horizontal sprites are for you.
:Text(9,1,"1 :Text(8,1,"Δ :Text(7,1,"Ω :Text(6,1,"Δ :Text(5,1," 1 :Text(4,1," //5 spaces
Chart
This chart contains characters from 1 to 6 pixels wide. A 0 represents an empty pixel while a 1 is for a black pixel. If you need a character larger than 6 pixels wide, you can search in Weregoose database [*http://weregoose.unitedti.org/bottomrow/ here].
Also see
Text Sprite Finder - this program is a compact version of what is on this page, this page simply explains how this program fundamentally works. Vertical Sprites Bottom Row - to have a complete database with the bottom row of all TI-83/84/+/SE characters. Graphics - for information on using text sprites. Binary and Hexidecimal - to understand how to read the binary format. TI-83 Plus Large Font - for clarification on which characters are being referred to. CHARS.8xp - A program that contains many otherwise unobtainable characters.