CCCC H H AAA RRRR M M AAA K K EEEEE RRRR C H H A A R R MM MM A A K K E R R C HHHHH AAAAA RRRR M M M AAAAA KK EEEEE RRRR v1.0 C H H A A R R M M A A K K E R R CCCC H H A A R R M M A A K K EEEEE R R ############################################################## ************************BY EVAN MORITZ************************ ############################################################## This document best viewed full screen with wordwrap OFF. ############################################################## So. Another weirdish program adapted by me. This is turning into a habit, I fear. Anyway, CharMaker is a BASIC program that converts binary data into a sprite (picture). So here it goes. ############################################################## Note: ð represents a theta Contents: 1.Included files 2.CharMaker v1.0 a.Create Char b.Recall Char 3.Help 4.ðSPRITE routine a.using char data in a program 5.Credits and Thanks ############################################################## 1. Included Files: CHRMAKER.8xp- sprite editor to make and save sprites; see CHARMAKER HELP.8xp- help file to use on calc RUNS SEPERATE FROM CHRMAKER ðSPRITE.8xp- sprite routine created by Eric Brookins for use in BASIC programs; see section on thetaSPRITE routine EXCHAR.8xp- an example program that shows how to use the SPRITE routine in BASIC programs ############################################################## 2. CharMaker v1.0 Main Menu: a. 1:Create Char The program will prompt "length(SIDE:" Since the data for the sprite must be in a square, input the length of a side for that square. Ex. "11111" "10001" "10101" would be a 5x5 square so input "10001" length(SIDE:5 "11111" length(SIDE must be a whole number from 1-62 upX is the X coordinate to place the sprite upY is the Y coordinate to place the sprite upX=0-94 +----------------+ upY=0-62 |0,0 0,94| | | data is read | | (Y,X) and Y is | | read up to down |62,0 62,94| +----------------+ Next you come to the encoding screen: -CODE- L= S= : L is the line of data you are on S is the total number of lines and the amount of data per line ie. side of square Now comes the fun part. To tell the program what to draw, you use a series of 1s and 0s, like binary code. 1=pixel on, 0=pixel off. In the example above, the sprite would look like a square with a dot in the middle. *****IMPORTANT***** If you use illegal characters, it will go to a special screen that allows you to scroll through your data and then it displays the illegal characters. Note: After it shows illegal data you can choose to create a new one, delete it, or return to the home screen with your data still saved. If your line of data is less than the amount specified then it will fill the rest of the line with 0s. If your line of data is greater than the amount specified, than that line will be erased and replaced with 0s. If your data is just 0s then it will turn up "NO DATA" and return to the main menu. Next is the Zoom screen. The program will compare your X and Y coordinates to the size of your sprite. If the sprite goes off the screen it will adjust it appropriately. Also at this screen it checks for illegal or no data. If everything is correct then it will graph the sprite. After the sprite is drawn it will ask if you want to save your sprite. If you choose yes then your data is saved to Str0. You can use this to put it in a program (See ðSPRITE routine). If you choose no then it is deleted. b. 2:Recall Char The recall char function is used to view data you have already made. Data must be stored into Str0. Default (Y,X) coordinates are (0,0). The program checks the length data so no input is required. *****IMPORTANT***** If something is wrong with your data such as a line is longer than specified or you left out a line, then the graph will be distorted and often turn up an error Be sure to check your data if it is not made with the CHRMAKER program. All other error checks will be used. After the sprite is drawn it will ask if you want to save your sprite. If you choose yes then your data is kept in Str0. If you choose no then it is deleted. ############################################################## 3. Help prgmHELP is an on-calc information file that exlpains different parts of CHRMAKER. Run it from the program menu because you cannot access it from CHRMAKER. This program is kinda cool because it uses softkeys to advance to the next set of data. ############################################################## 4. ðSPRITE routine This is the part where you learn to make sprites without using the CHRMAKER. You can use this in your own program and all you need is your program and this routine. If you have data saved from using CHRMAKER then in your program do this: hit [2nd] + [RCL] + [VARS] + '7' + '0' (Str0) hit ENTER and it should come up with your data in quotes. Scroll to the end of the data and put a "->Str0" at the end. To manually input data, do this: input data on each line Ex. :11111 :10001 :10101 :10001 :11111 Then scroll to the end of the first line and hit DEL. Repeat until data is a line. Then insert quotes and store to Str0. Ex. :"1111110001101011000111111"->Str0 After that put "{A}->LC" where A is the length of a side. If you dont know, then put: {squareroot(length(Str0))}->LC For the X coordinate, store to B. For the Y coordinate, store to A. After your data is entered then put "prgmðSPRITE" on the next line. Here is an example program using the data above: PROGRAM:DRAW :"1111110001101011000111111"->Str0 :{5}->LC :0->A:0->B :prgmðSPRITE :Pause *****IMPORTANT***** The ðSPRITE routine does not check your data for errors at all, so be careful!!! If you need more help or you would like to see the source then email me at evanae13@aol.com ############################################################## 5. Credits and Thanks Eric Brookins for making an awesome sprite routine for BASIC and teaching me how to use the sub( and inString( commands. Me! For making this! So no copying! All the people involved in TI. And finally, ticalc.org for publishing all my files. ############################################################## Ask not what you can do for your country, but what your country can do for you. ##############################################################