Find 8 in the table; it is in the CHR$(93) row under the Spain heading. To print the character stored in 8, use CHR$(27)“R”CHR$(7) to activate the Spanish character set, and print CHRS(93). Ole! This same technique can be used to access any of the normally unprintable control codes.

Using an international character set while defining characters can be a two-edged sword. If you are currently using one of the international sets (other than USA), then defining any of the codes 35, 36, 64, 91 to 94, 96, or 123 to 126 gets a bit tricky. These codes are merely pointers to the control-code areas in which the international characters are really stored.

To define any of these characters while using an international set, the true location of the character must be used. For instance, if the printer is in the Spanish set and you wish to define character 93, you must use CHR$(8) in the CHR$(27)”&” sequence to define the charac- ter, but CHR$(93) to print it.

To make sure you understand this thoroughly try answering this one: how would you redefine the ESCape code? First find 27 on the chart. It occurs in two places, one of which is in the column labelled Sweden and the row labelled 124. So you could store a user-defined character at 27 and print it in the Swedish set as character 124.

Mode Strings

For some applications, you may wish to use all 256 RAM locations for your own special symbols. In that case, there is no need to download the ROM into RAM. But you will need a quick and easy way to switch back and forth between the two character sets. One easy way to do this is to define two character strings:

80RAM$=CHR$(27)+"%"+CHR$(1)+CHR$(0)90ROM$=CHR$(27)+"%"+CHR$(0)+CHR$(0)
Add these lines to the current program. To demonstrate their effect, try:
138 LPRINT CHR$(27)"&"CHR$(0)"18";14p FOR Y=1 TO 8: LPRINT CHR$(139);180 LPRINT ROM$"12345678"RAM$"12345678"
1120 DATA 0,63,64,8,64,8,64,28,64,32,0: 'My F
1130 DATA 0,32,64,0,64,63,64,0,64,32,0: 'My T

211