A picture is worth a thousand words and you're about to discover how to create your own pictures with the Sorcerer graphics. In the BON VOYAGE chapter you learned about the standard keyboard graphic characters, which you can type directly onto the screen.
Let's look at the graphics more closely. Your Sorcerer has a graphic resolution of 512 x 240; that is to say, there are 512 horizontal positions and 240 vertical positions for dots to appear on the screen. To print a character on the screen, Sorcerer selects an 8 x 8 square of these positions and puts dots in just the places needed to form the character.
Since each character occupies an 8 x 8 space, and the screen is 512 x 240, it follows that you can get 64 characters on a line, and 30 lines on the screen. The total number of characters on the screen at any time (including blank spaces) is 1,920.
Now the question is who gets to say what's on the screen? Using the SHIFT and GRAPHIC keys in combination with the keyboard you have access to 256 different characters. It's only fair that you be able to define as many characters as the Sorcerer so we have a compromise. 128 fixed characters (Standard ASCII) and 128 programmable.
SORCERER VS. YOU | |
---|---|
Since the keyboard needed to be labeled and most of the people in the world relate to typewriters, Sorcerer selected the upper and lower case alphanumeric character set and you can't change those, even if you don't speak Sorcerer's language. One hundred twenty-eight characters you can't change. | Since there was room on the keytops, Sorcerer has assigned 64 of the 128 characters reserved for graphics. But, in this case you can change those if you want. You, too, have control of 128 characters and if you don't like Sorcerer's selection feel free to change them at will, even into your own language if you don't like Sorcerer's; after all, they don't have to be graphic symbols. |
Now that you know what you can do, it's only fair that you know how. Each character is stored in eight successive memory addresses in the memory block FE00 to FEFF (hexadecimal). For example, the first key (the 1 key on the main keyboard) uses FE00 to FE07. So first you have to figure out which eight addresses go with the key in which you want to store your new character.
Your character will be represented as an 8 x 8 array of dots and blanks, so get out a pencil and paper, and work out the representation. Quarter-inch grid graph paper is useful here. Each eight-place row of this array will fit in one of the eight addresses of your character's key; the top line goes into the first address, the next line goes into the second, and so on.
Example:
One way to represent the Greek letter omega is:
Now take each line of your array, and change it into a two-character code in this way: First split the eight place line in two. Then convert each of these two four-place lines into code with the following table:
Examples: The eight-place line:
The eight lines of our letter omega are:
What you have just done is to consider each eight-place line of your character as an eight-digit binary number (white dots are 1s and blanks are 0s), and to re-write that number in hexadecimal notation. So you now have a two digit hexadecimal number for each of the eight lines of your new character; you must now get these numbers into the eight memory locations that belong to your character's key.
Get into the Power-On Monitor. Then give the Monitor command EN XXXX where XXXX is the first memory address of the desired key. For example, the first address of the 2 key on the main keyboard is FE08, so the proper command for that key is EN FE08. Sorcerer will respond with the address you gave it, followed by a colon.
Type in the two-digit hexadecimal code of your character's first line, and hit RETURN. Sorcerer will reply with the next address in memory, and wait for more data. Type in the hex-code for your character's second line, and repeat this process until you have entered all eight lines of your character into memory. Sorcerer will then give you the address of the first memory location for the next key on the keyboard. Type in a slash (/) and hit RETURN.
Your new character is now stored in the Sorcerer. Just press GRAPHIC and SHIFT and your character's key, and your new graphic will appear on the screen.
Note: Your special graphic characters normally live in memory addresses FE00 to FFFF. Addresses FC00 to FDFF contain the standard graphic characters shown in Figure 5 on page 21; these are the characters you get using the GRAPHIC key, but not the SHIFT. You can put your own characters into these addresses if you wish; the procedure is the same as above.
When you turn off Sorcerer's power, or hit RESET all your user-defined characters will be lost. To save them for future use, pass to the Power-On Monitor and save the contents of the character's memory addresses on cassette, using the Monitor command SA. You can load the characters back into memory from the tape, using the Monitor command LO.
Figure 8 shows the memory addresses and ASCII numbers of user-defined characters. The four digit hexadecimal number at the top of each key is the first of the eight memory addresses which store the character. The two hexadecimal numbers at the bottom of the key are the ASCII numbers of the standard graphic and user-defined graphics of that key.
Example:
The S key on the main keyboard controls the user-define graphic stored in addresses FED8 to FEDF. The ASCII number of that user defined graphic is DB. The ASCII number of the S key's standard graphic is 9B.