Classic Computer Magazine Archive COMPUTE! ISSUE 59 / APRIL 1985 / PAGE 129

Apple SuperFont
Custom Character Set Graphics
For The Apple

Tim Victor, Editorial Programmer

Here's a significant enhancement for graphics on Apple II-family computers. With "Apple SuperFont," you can now place upper- and lower-case text anywhere on the high-resolution screen. In addition, you're not limited to the built-in character set, either-you can easily define foreign character sets, italics, boldface, and underline fonts, as well as shapes for high-speed animated games in BASIC. Apple SuperFont is an all-new, original version of the SuperFont series of programs published by COMPUTE! for Atari, Commodore 64, and TI computers and adds several new features especially for the Apple. It requires a 48K or 64K Apple II+, Apple IIe, or Apple IIc, with either DOS 3.3 or ProDOS.


Without resorting to machine language, programming high-speed graphics is difficult on the Apple. High-resolution graphics look nice, but shape tables are too slow for most animation purposes. One alternative is to use character graphics for animation. Characters can move a whole block (character position) at a time, and can be placed on the screen with a simple PRINT statement. Unfortunately, ordinary Apple characters aren't very suitable for games or even business charts.
    But now there's a way around these problems. With "Apple SuperFont" and its accompanying utility programs, you can easily redefine a character into practically any shape you want and print it directly on the hi-res graphics screen. Custom character sets are a snap to design, and fast animation is as simple as printing a character, erasing it, and printing it again in a new location.
    Several programs already exist for printing characters on the hi-res. screen, including HRCG (High Resolution Character Generator), which is part of the Apple DOS Toolkit. The Apple SuperFont HROUT program works much like HRCG, putting characters on the high-resolution screen from a table of character images, but the Apple SuperFont system is much more versatile.
    The Apple SuperFont Editor makes it easy for you to create character sets (fonts) for use with HRCG or HROUT. Special features help you design multicharacter shapes and allow you to see the effects of the Apple's unusual use of color in hi-res. graphics. Once you've created or customized a character set, you can easily use these fonts in your own programs.

Typing Apple SuperFont
To run SuperFont, you need to have four files on the same disk: APPLEFONT, APPLEFONT2, HROUT, and NORMAL.SET. There are two different versions of APPLEFONT. Program 1 is for using SuperFont with DOS 3.3. Program 2 shows the changes necessary to use Program 1 with ProDOS. The other three files need no changes to be used with either disk operating system.
    APPLEFONT2 (Program 3, the Apple SuperFont Editor), NORMAL.SET (Program 4), and HROUT (Program 5) are all machine language binary files and must be entered with the Apple's built-in machine language editor (monitor). It's easy; you don't need to understand machine language to use these programs.
    Here's how to type them in. To enter the monitor, type CALL -151. The Applesoft prompt (normally a ]) will be replaced by the monitor's prompt, an asterisk (*). To enter a line from the listing, first type in the four-digit hexadecimal number, then type a colon (:) instead of the hyphen shown in the listing produced by the monitor. This is the address where you'll enter the rest of the line. Type in the rest of the line after the colon, leaving a space between each two-digit number. After eight numbers, press RETURN and enter the address for the next line. Again, use a colon instead of the hyphen shown in the program listing. If you want to review what you've entered to check for accuracy, you can list a block of data by typing the address of the first location in the range, then a period, then the last address, and pressing RETURN.
    Once you've entered one of the machine language programs, save it to disk using the BSAVE command. This command can be used either from BASIC or from the monitor (you can exit the monitor and return to BASIC by pressing CTRL-C, then RETURN). To BSAVE Program 3 (APPLEFONT2), the command is:

    BSAVE APPLEFONT2,A$1000,L$FE0

Save Program 4 (NORMAL.SET) by entering:

    BSAVE NORMAL.SET,A$8D00,L$300

Save Program 5 (HROUT) by entering:

    BSAVE HROUT,A$300,L$58

    Because of the length of APPLEFONT2, typing mistakes could be difficult to find. As a check, BLOAD APPLEFONT2 and enter the following line, then hit RETURN:

    S=0: FOR I=4096 TO 8159: S=S+PEEK(I) : NEXT:
    PRINT S

    If the result of this calculation is not 365090, there is at least one error in your copy of APPLEFONT2. To help locate errors, we've included a small checksum program (Program 6). To use it, BLOAD APPLEFONT2, then run Program 6. If you have mistyped some data, it will tell you where to look to find the mistake.
    When all the files are entered and saved to disk, type RUN APPLEFONT. APPLEFONT first checks to see which operating system is in your Apple. If the correct operating system for this version of APPLE-FONT is present, it will BLOAD the other three files, and connect HROUT to the standard character output routine. APPLEFONT2, the SuperFont Editor, is started with a CALL to 4096. From then on, the SuperFont Editor is in complete control except when it needs to access the disk drive. If you ask to load or save a character set, control returns to the BASIC program, the file is transferred using BASIC's disk access commands, and the SuperFont Editor program is CALLed again.

Using The SuperFont Editor
Characters are designed and edited on a grid that represents 32 (vertical) X 55 (horizontal) pixels. Each cell in the grid is a fourfold enlargement of actual size. Individual cells can be turned on (white) or off (black) with the bit-editing functions, and blocks of cells can be copied from one place to another on the screen. Patterns of 7 X 8 cells can be saved from the screen to the character set being edited with the Put command. The Get command does just the reverse, pulling a character from the character set onto the editing screen.

main editing screen
The main editing screen of "Apple SuperFont," showing the design grid,
an option menu, and the Apple's built-in character set (NORMALSET).


    All of the features of the Editor are controlled with a series of four menus, entitled Bit Edit, Charsets, Utility, and Display. Each of these menus contains three to six selections. Only one menu is displayed on the screen at a time.
    To change menus, press the space bar. The next menu title will be printed on the screen, along with its menu selections. The top selection will be printed in inverse characters to indicate that it has been chosen. To select a different menu item, use the left- and right-arrow keys. The large cursor bar moves up or down the menu to show you which selection is active.
    Some menu items, like Clear Screen or Save Set, wait for you to press the RETURN key before performing their functions.

Three Cursors
You will be using three visually distinctive cursors in the SuperFont Editor: the bit cursor, the box cursor, and the character cursor. When a menu item is selected, one of the cursors may begin to flash, indicating that it can be moved. The cursors are controlled by a keypad centered on the D key:

keypad


using the copy command
Using the Copy command, you can duplicate shapes on the editing grid
quickly and easily, as demonstrated with this Space Invaders-type character.



    The bit cursor is a 1 X 1 cell box displayed on the editing screen. It flashes whenever the Bit Edit menu is displayed. Moving the bit cursor around on the editing screen sets (white) or clears (black) the cells that the cursor passes over. In other words, the bit cursor leaves a trail of black or white behind it. Selecting Black or White changes the color drawn when the bit cursor is moved. If you want to move the bit cursor without drawing on the screen, select the Move option.
    The box cursor is a box displayed on the editing screen, but its size can be changed. It can be as small as a 1 X 1 cell, or as large as the entire editing screen. When you're using a utility such as Copy or Flip, the box cursor outlines the area on which the utility will operate. These utilities can be used on a character, part of a character, on shapes made up of several characters, or on a portion of a character, simply by changing the size of the box. Pressing the RETURN key when Flip is selected turns the contents of the box cursor upside down, and the Mirror function reverses left and right sides of the box. The Invert function changes all of the white cells inside the box to black cells, and all black cells to white. When Copy is selected, the cursor pad controls a second box cursor, which initially appears on top of the original box. Pressing the RETURN key copies the contents of the original box to the second box.
    You can also use the box cursor to select the 7 X 8 cell character pattern for the Put and Get functions. The character cursor, located in the character set displayed at the bottom of the screen, flashes when the Get or Put function is selected. Use it to select the character that is the source of the Get or the destination of the Put.
    The contents of the box cursor are displayed at actual size (one cell = one pixel) in the upperright corner of the screen. Two parameters, HB and PX, affect how colors are presented. Pressing the RETURN key when the High Bit menu entry is selected changes the setting of HB. In Apple hi-res graphics, the status of seven one-bit pixels is stored in the lower seven bits of a byte in memory. The eighth bit, the most significant bit, controls the colors in which these bits will be drawn. When drawing on the high-resolution screen in BASIC, the high bit is clear when HCOLOR is between zero and three, and is set when HCOLOR is between four and seven. The display is in blue and orange when the high bit is set, or green and violet when the high bit is clear.
    The Even/Odd menu entry controls whether this display starts on an even or an odd pixel (PX). When a shape is shifted by one bit, the colors in the display are reversed (blue for orange or green for violet). The alignment of the shape is changed by pressing RETURN when Even/Odd is selected.
    At the bottom of the screen, all of the characters in a 96-character set are shown. With the RAM/ROM function in the Display menu, the character set displayed can be either the set you are currently editing or the hardware character set in your Apple. Get and Put operate only on the RAM character set no matter which set is being displayed.

HROUT, The Character Generator
Apple SuperFont uses a machine language graphics utility called HROUT, for highresolution output. HROUT links into the standard character output vector and permits text to be displayed on either hi-res screen. Because the standard text output routine also remains active, the PRINT command, and any other text commands, can be used to create hi-res text. HROUT's only limitation is that it cannot perform screen scrolls at the bottom of the screen.
    To use HROUT in your own programs, BLOAD it into memory. It can be loaded anywhere in memory, but to make things simpler, we'll use location $300. First, let HROUT know which character set to use by POKEing the address of the character set into locations 6 and 7, low byte first. If you put your character set at $8D00, the POKEs are:

    POKE 6,0: POKE 7,141

    If you are using DOS 3.3, you can activate HROUT by entering:

    POKE 54,0: POKE 55,3: CALL 1002

    When in immediate mode, these commands have to be entered together on a multistatement line (separated by colons). They can be on separate lines in a BASIC program, but the three commands should be executed one after another. Since locations 54 and 55 are being POKEd with the low and high bytes of the address of HROUT, these POKEs will be different if you put HROUT somewhere other than $300.
    From ProDOS, it's easier to turn on HROUT. Just type

    PR# A$300

Avoiding Screen Scrolls
Since HROUT concludes by calling the standard ROM routine for displaying a character on the text screen, all cursor control remains the same. You can move to any location on the screen by using the HTAB and VTAB commands. HOME still moves the cursor to the upper left of the screen, but will not clear the hi-res screen. To get the equivalent of a text HOME, use HOME CALL -3092. The routine at -3092 clears the current hi-res screen and turns on hi-res graphics.
    If you need to know what's where on the screen, you can PEEK to the text screen. By taking a couple of precautions, both text and hi-res screens should be the same. First of all, make sure that you clear both screens at the same time, as mentioned above. Second, don't let the text screen scroll. In order to make HROUT as small (88 bytes) and fast as possible, no provision was made for scrolling the screen. This could even be to your advantage for many applications, but you have to be careful if you want the text and graphics screens to agree.
    The biggest problem arises when you print to the last character on the twenty-fourth line. Even if you follow the PRINT statement with a semicolon, the cursor will wrap onto the twentyfifth line and the screen will scroll. There is a solution: Fool the computer into thinking the screen has 25 lines by using POKE 35,25. The output routine will then have no qualms at all about advancing the cursor to the twenty-fifth line, leaving it there, and even printing there. A lot of responsibility now rests on your shoulders, because the twenty-fifth line doesn't really exist. Printing something there is the same thing as POKEing out of the range of the text screen. That could cause significant problems.
    If you change the text attribute with the INVERSE or FLASH commands, the bit patterns will be reversed before they are plotted on the screen, inverting the character. The NORMAL command also works, canceling inverted printing.
    Now you can label high-resolution charts and graphs with a choice of any font, and you can design these fonts yourself with the Apple SuperFont Editor. Also, letters of the alphabet can become detailed shapes, permitting fast highresolution game graphics in BASIC. In fact, we've started using this technique ourselves for some of the Apple games published in COMPUTE!.

Program 1: Apple SuperFont For DOS 3.3
(APPLEFONT)
100  IF PEEK (978) < > 157 THEN PRINT
     "DOS 3.3 NOT FOUND": END
110  HGR
120 D$ = CHR8 (4)
130  PRINT Dt:"BLOAD HROUT"
140  PRINT D$:"BLOAD NORDAAL.SET,A$8D00"
150  POKE 6,0: POKE 7,141
160  POKE 54,0: POKE 55,3: CALL 1002
170  PRINT D$:"BLOAD APPLEFONT2":CE = 4
     096
180  ONERR GOTO 280
190  CALL CE
200 NA$ = "":I = 14 * 256
210  IF PEEK (I) = 141 THEN 260
220 NA$ = NA$ + CHR$ ( PEEK (I)):I = I
      + 1: IF PEEK (1) <  > 141 THEN 2
     20
230  IF PEEK (14 * 256 + 32) THEN 250
240  PRINT D$;"BLOAD",NA$:",A$8A00": GOTO
     260
250  PRINT D$:"BSAVE";NA$;",A$8A00,L$30
     0"
260  GOSUB 320
270  CALL CE + 3: GOTO 200
280  GOSUB 320: VTAB 18: HTAB 1:EN = PEEK
     (222)
290  IF EN = 6 OR EN = 7 THEN PRINT "C
     OULDN'T FIND "NAS: GOTO 270
300  IF EN = 13 THEN PRINT NA$" ISN'T
     A CHARACTER SET": GOTO 270
310  PRINT "DISK ERROR": GOTO 270
320  VTAB 18: HTAB 1: FOR I = 1 TO 80: PRINT
     " ";: NEXT : RETURN

Program 2: Apple SuperFont ProDOS
Modifications
100  IF  PEEK (978) <  > 190 THEN PRINT
     "PRODOS NOT FOUND": END
160 PRINT D$:"PR# A$300"


Program 3: Apple SuperFont Editor
(APPLEFONT2)
1000- 4C 53 12 4C 6D 12 41 00
1008- 00 05 05 07 08 00 00 00
1010- 00 07 08 00 01 00 00 00
1018- 04 03 05 06 06 00 1A 50
1020- 82 00 01 00 00 00 00 00
1028- 00 00 00 00 00 00 00 04
1030- 00 00 00 A9 00 85 1C A9
1038- 20 85 E6 20 F6 F3 A9 02
1040- 20 09 1D A0 00 A2 00 18
1048- 20 00 1D A2 DC 20 03 1D
1050- C8 C8 C8 C8 C0 84 90 ED
1058- A2 00 A0 00 18 20 00 1D
1060- A0 80 20 06 1D E8 E8 E8
1068- E8 E0 E0 90 ED 60 A9 FF
1070- 85 32 A9 8A 85 07 A9 A0
1078- 8D 23 10 A0 15 98 20 58
1080- FB A2 00 AD 23 10 86 24
1088- 20 ED FD EE 23 10 E8 E0
1090- 20 D0 F0 C8 C0 18 D0 E5
1098- A9 8D 85 07 60 20 56 1C
10A0- B9 00 0C CE 2D 10 30 05
10A8- 1D BA 1C D0 03 3D 82 1C
10B0- 99 00 0C EE 2D 10 AD 2D
10B8- 10 F0 02 A9 03 20 09 1D
10C0- 18 AD 2A 10 0A 0A AA E8
10C8- AD 2C 10 0A 0A A8 CS 18
10D0- 8A 20 02 11 20 02 11 20
10D8- 02 11 AD 2A 10 CD 09 10
10E0- 90 1F ED 0B 10 90 05 CD
10E8- 09 10 80 15 AD 2C 10 CD
10F0- 0A 10 90 0D ED 0C 10 90
10F8- 05 CD 0A 10 B0 03 20 28
1100- 11 60 20 00 1D E8 E8 20
1108- 03 1D AA C8 60 A9 00 A8
1110- 99 00 0C C8 D0 FA 20 56
1118- 11 60 20 56 1C B9 00 0C
1120- 3D BA 1C F0 02 A9 01 8D
1128- 2D 10 60 AD 2D 10 F0 02
1130- A9 03 18 6D 2F 10 20 09
1138- 1D AD 2C 10 38 ED 0A 10
1140- A8 A9 E0 38 ED 09 10 18
1148- 6D 2E 10 6D 2A 10 AA 20
1150- 00 1D 20 03 1D 60 AC 0A
1158- 10 8C 2C 10 A0 00 8C 23
1160- 10 AE 09 10 8E 2A 10 A2
1168- 00 8E 24 10 20 1A 11 20
1170- 2B 11 EE 2A 10 EE 24 10
1178- AE 24 10 EC 00 10 D0 EC
1180- EE 2C 10 EE 23 10 AC 23
1188- 10 CC 0C 10 D0 D3 60 AD
1190- 27 10 F0 50 30 28 AD 09
1198- 10 18 6D 0B 10 E9 00 8D
11A0- 2A 10 AD 0A 10 8D 2C 10
11A8- AC 0C 10 8C 23 10 20 1A
11B0- 11 20 2B 11 EE 2C 10 CE
11B8- 23 10 D0 F2 F0 26 AD 09
11C0- 10 18 6D 0B 10 8D 2A 10
11C8- AD 0A 10 8D 2C 10 AC 0C
11D0- 10 8C 23 10 A9 00 8D 2D
11D8- 10 20 2B 11 EE 2C 10 CE
11E0- 23 10 10 F5 AD 28 10 F0
11E8- 4F 30 27 AD 0A 10 18 60
11F0- 0C 10 E9 00 80 2C 10 AD
11F8- 09 10 8D 2A 10 AC 0B 10
1200- 8C 23 10 20 1A 11 20 2B
1208- 11 EE 2A 10 CE 23 10 D0
1210- F2 60 AD 0A 10 18 6D 0C
1218- 10 8D 2C 10 AD 09 10 8D
1220- 2A 10 AC 0B 10 8C 23 10
1228- A9 00 8D 2D 10 20 28 11
1230- EE 2A 10 CE 23 10 10 F5
1238- 60 AD 2F 10 20 09 1D A0
1240- 00 A2 E0 18 20 00 1D A2
1248- 17 38 20 03 1D C8 C0 20
1250- 90 EF 60 20 58 FC 20 33
1258- 10 20 t0 19 2C 52 C0 20
1260- 0D 11 A9 C1 8D 06 10 20
1268- 9E 1A 20 DA 1B 20 6E 10
1270- A9 00 8D 13 10 8D 27 10
1278- 8D 28 10 20 7D 19 AD 13
1280- 10 49 02 8D 13 10 A2 00
1288- A0 80 AD 00 C0 30 08 E8
1290- D0 F8 C5 D0 FS 10 E4 48
1298- A0 02 8C 13 10 20 7D 19
12A0- 68 2C 10 C0 C9 A0 D0 1B
12A8- AD 21 10 38 69 00 CD 18
12B0- 10 D0 02 A9 00 8D 21 10
12B8- A9 01 8D 22 10 20 9E 1A
12C0- 4C 01 13 C9 88 D0 17 AD
12C8- 22 10 18 E9 00 D0 06 AC
12D0- 21 10 89 19 10 8D 22 10
12D8- 20 9E 1A 4C 01 13 C9 95
12E0- D0 1F AD 22 10 38 69 00
12E8- 8D 22 10 AC 21 10 B9 19
12F0- 10 CD 22 10 B0 05 A9 01
12F8- 8D 22 10 20 9E 1A 4C 01
1300- 13 C9 07 D0 09 CE 27 10
1308- CE 28 10 4C 5A 13 C9 C5
1310- D0 06 CE 28 10 4C 5A 13
1318- C9 02 D0 09 CE 28 10 EE
1320- 27 10 4C 5A 13 C9 D3 D0
1328- 06 CE 27 10 4C 5A 13 C9
1330- C6 D0 06 EE 27 10 4C 5A
1338- 13 C9 D8 D0 09 CE 27 10
1340- EE 28 10 4C SA 13 C9 C3
1348- D0 06 EE 28 10 4C 5A 13
1350- C9 D6 D0 06 EE 28 10 EE
1358- 27 10 AE 21 10 D0 03 4C
1360- 75 13 CA D0 03 4C D5 13
1368- CA D0 03 4C C5 15 CA D0
1370- 03 4C 37 18 60 48 20 31
1378- 19 A9 01 8D 14 10 68 C9
1380- C4 F0 08 AD 27 10 0D 28
1388- 10 F0 47 AD 22 10 C9 03
1390- F0 14 69 FF 8D 2D 10 AD
1398- 07 10 8D 2A 10 AD 08 10
13A0- 8D 2C 10 20 9D 10 AD 07
13A8- 10 18 60 27 10 C9 FF D0
13B0- 02 A9 36 C9 37 D0 02 A9
13B8- 00 8D 07 10 AD 08 10 18
13C0- 6D 28 10 C9 FF D0 02 A9
13C8- 1F C9 20 D0 02 A9 00 8D
13D0- 08 10 4C 70 12 48 AE 22
13D8- 10 CA D0 03 4C F8 13 CA
13E0- D0 03 4C 74 14 CA D0 03
13E8- 4C DA 14 CA D0 03 4C 55
13F0- 15 CA D0 03 4C 64 15 00
13F8- 20 31 19 A9 01 8D 15 10
1400- 20 3F 19 68 4C 70 12 20
1408- 31 19 A9 01 8D 16 10 AD
1410- 08 10 CD 11 10 D0 08 AD
1418- 0C 10 CD 12 10 F0 2A AD
1420- 11 10 8D 0B 10 AD 12 10
1428- 8D 0C 10 20 39 12 20 56
1430- 11 AD 09 10 C9 31 90 05
1438- A9 30 8D 09 10 AD 0A 10
1440- C9 19 90 05 A9 18 8D 0A
1448- 10 AD 27 10 0D 28 10 F0
1450- 22 AD 28 10 F0 05 0A 0A
1458- 0A 0A 0A 18 6D 27 10 18
1460- 6D 06 10 C9 A0 10 02 69
1468- 60 C9 00 30 03 38 E9 60
1470- 8D 06 10 60 20 07 14 68
1478- C9 8D D0 5B 20 38 15 AD
1480- 0A 10 8D 2C 10 AD 0C 10
1488- 8D 24 10 A9 00 8D 31 10
1490- AD 09 10 8D 2A 10 AD 0B
1498- 10 8D 23 10 A9 00 8D 32
14A0- 10 20 1A 11 AD 2D 10 F0
14A8- 02 38 24 18 6E 32 10 EE
14B0- 2A 10 CE 23 10 D0 EA AD
14B8- 2F 10 F0 02 A9 80 6E 32
14C0- 10 0D 32 10 AC 31 10 91
14C8- t0 EE 2C 10 EE 31 10 CE
14D0- 24 10 D0 BC 20 6E 10 4C
14D8- 70 12 20 07 14 68 C9 8D
14E0- D0 53 20 38 15 AD 0A 10
14E8- 8D 2C 10 AD 0C 10 8D 24
14F0- 10 A9 00 8D 31 10 AD 09
14FB- 10 8D 2A 10 AD 06 10 8D
1500- 23 10 AC 31 10 81 1A 8D
1508- 32 10 4E 32 10 A9 00 69
1510- 00 8D 2D 10 20 9D 10 EE
1518- 2A 10 CE 23 10 D0 EB AD
1520- 32 10 0A 0A 8D 2F 10 EE
1528- 2C 10 EE 31 10 CE 24 10
1530- D0 C4 20 DA 1B 4C 70 12
1538- AD 06 10 38 E9 A0 85 1A
1540- A9 00 85 1B A2 03 06 1A
1548- 26 1B CA D0 F9 A5 1B 18
1550- 69 8A 85 1B 60 20 31 19
1558- 68 C9 8D D0 04 A9 00 F0
1560- 12 4C 70 12 20 31 19 68
1568- C9 8D D0 04 A9 01 D0 03
1570- 4C 70 12 8D 20 0E A9 A0
1578- A2 1F 9D 00 0E CA 10 FA
1580- A9 FF 85 32 A9 11 20 5B
1588- FB A9 00 85 24 A0 00 89
1590- A7 15 F0 06 20 ED FD C8
1598- D0 F5 20 6A FD BD 00 02
15A0- 9D 00 0E CA 10 F7 60 C5
15A8- CE D4 C5 D2 A0 CE C1 CD
15B0- C5 A0 CF C6 A0 C3 C8 C1
15B8- D2 C1 C3 D4 C5 D2 A0 D3
15C0- C5 D4 BA 8D 00 48 AE 22
15C8- 10 CA D0 03 4C F8 13 CA
15D0- D0 03 4C EE 15 CA D0 03
15D8- 4C 37 18 CA D0 03 4C EB
15E0- 16 CA D0 03 4C 66 17 CA
15E8- D0 03 4C E1 17 00 20 31
15F0- 19 A9 01 8D 15 10 68 AD
15F8- 27 10 0D 28 10 F0 35 AD
1600- 27 10 18 6D 00 10 D0 02
1608- A9 01 8D 00 10 18 6D 09
1610- 10 C9 38 D0 03 CE 0B 10
1618- AD 28 10 18 6D 0C 10 D0
1620- 02 A9 01 8D 0C 10 18 6D
1628- 0A 10 C9 21 D0 03 CE 0C
1630- 10 20 8F 11 4C 70 12 20
1638- 31 19 A9 01 8D 17 10 AD
1640- 27 10 0D 28 10 F0 32 AD
1648- 27 10 18 6D 0D 10 10 02
1650- A9 00 8D 0D 10 18 6D 0F
1658- 10 C9 38 00 03 CE 0D 10
1660- AD 28 10 18 6D 0f 10 10
1668- 02 A9 00 8D 0E 10 18 6D
1670- 10 10 C9 21 D0 03 CE 0E
1678- 10 68 C9 80 D0 6A 20 70
1680- 1C AD 0A 10 8D 23 10 AD
1688- 0E 10 8D 25 10 AD 09 10
1690- 8D 24 10 AD 0D 10 8D 26
1698- 10 AD 23 10 8D 2C 10 AD
16A0- 24 10 8D 2A 10 20 56 1C
16A8- B9 00 0D 3D BA 1C F0 02
16B0- A9 01 8D 2D 10 AD 25 10
16B8- 8D 2C 10 AD 26 10 8D 2A
16C0- 10 20 90 10 EE 24 10 EE
16C8- 26 10 AD 09 10 18 6D 08
16D0- 10 CD 24 10 D0 C3 EE 23
16D8- 10 EE 25 10 AD 0A 10 18
16E0- 6D 0C 10 CD 23 10 D0 A5
16E8- 4C 70 12 20 31 19 A9 01
16F0- 8D 15 10 20 3F 19 68 C9
16F8- 8D D0 68 20 70 1C AD 0A
1700- 10 8D 23 10 8D 25 10 AD
1708- 09 10 8D 24 10 18 6D 00
1710- 10 E9 00 8D 26 10 AD 23
1718- 10 8D 2C 10 AD 24 10 8D
1720- 2A 10 20 56 1C B9 00 0D
1728- 3D BA 1C F0 02 A9 01 8D
1730- 2D 10 AD 25 10 8D 2C 10
1738- AD 26 10 8D 2A 10 20 9D
1740- 10 EE 24 10 AD 26 10 CD
1748- 09 10 F0 05 CE 26 10 80
1750- C5 EE 23 10 EE 25 10 AD
1758- 0A 10 18 6D 0C 10 CD 25
1760- 10 D0 A4 4C 70 12 20 31
1768- 19 A9 01 8D 15 10 20 3F
1770- 19 68 C9 80 D0 68 20 70
1778- 1C AD 0A 10 8D 23 10 18
1780- 6D 0C 10 E9 00 8D 25 10
1788- AD 09 10 8D 24 10 8D 26
1790- 10 AD 23 10 8D 2C 10 AD
1798- 24 10 8D 2A 10 20 56 1C
17A0- B9 00 0D 3D BA 1C F0 02
17A8- A9 01 8D 2D 10 AD 25 10
17B0- 8D 2C 10 AD 26 10 8D 2A
17B8- 10 20 9D 10 EE 24 10 EE
17C0- 26 10 AD 09 10 18 6D 0B
17C8- 10 CD 24 10 D0 C3 EE 23
17D0- 10 AD 25 10 CD 0A 10 F0
17D8- 05 CE 25 10 B0 AA 4C 70
17E0- 12 20 31 19 A9 01 8D 15
17E8- 10 20 3F 19 68 C9 8D D0
17F0- 43 20 70 1C AD 0A 10 8D
17F8- 2C 10 AD 09 10 8D 2A 10
1800- 20 56 1C B9 00 0D 3D BA
1808- 1C 00 03 A9 01 2C A9 00
1810- 80 2D 10 20 9D 10 EE 2A
1818- 10 AD 09 10 18 6D 0B 10
1820- CD 2A 10 D0 DB EE 2C 10
1828- AD 0A 10 18 6D 0C 10 CD
1830- 2C 10 D0 C6 4C 70 12 48
1838- 20 31 19 AE 22 10 CA D0
1840- 03 4C 63 18 CA D0 03 4C
1848- 7A 18 CA D0 03 4C 94 18
1850- CA 00 03 4C B2 18 CA 00
1858- 03 4C F2 18 CA D0 03 4C
1860- 0C 19 00 68 C9 8D D0 0F
1868- A9 04 38 ED 2F 10 8D 2F
1870- 10 20 56 11 20 DA 1B 4C
1878- 70 12 68 C9 8D D0 12 A9
1880- 01 38 ED 2E 10 8D 2E 10
1888- 20 39 12 20 56 11 20 DA
1890- 16 4C 70 12 68 C9 8D D0
1898- 16 A9 01 38 ED 30 10 8D
18A0- 30 10 F0 05 2C 53 C0 B0
18A8- 06 2C 52 C0 20 DA 18 4C
18B0- 70 12 A9 01 8D 15 10 20
18B8- 3F 19 68 C9 8D D0 30 A9
18C0- 00 8D 2D 10 AD 0A 10 8D
18C8- 2C 10 AD 0C 10 8D 23 10
18D0- AD 09 10 8D 2A 10 AD 0B
18D8- 10 8D 24 10 20 9D 10 EE
18E0- 2A 10 CE 24 10 D0 F5 EE
18E8- 2C 10 CE 23 10 D0 El 4C
18F0- 70 12 68 C9 8D D0 12 20
18F8- 58 FC 20 33 10 20 9E 1A
1900- 20 6E 10 20 DA 1B 20 0D
1908- 11 4C 70 12 68 C9 8D D0
1910- 06 20 1A 19 20 6E 10 4C
1918- 70 12 A9 8A 85 18 A9 00
1920- 85 1A A2 03 A0 00 91 1A
1928- C8 D0 FB E6 1B CA D0 F6
1930- 60 48 A2 00 8A 9D 14 10
1938- E8 E0 04 90 F8 68 60 AD
1940- 27 10 0D 28 10 F0 35 AD
1948- 27 10 18 6D 09 10 10 02
1950- A9 00 8D 09 10 18 6D 0B
1958- 10 C9 38 D0 03 CE 09 10
1960- AD 28 10 18 6D 0A 10 10
1968- 02 A9 00 8D 0A 10 18 6D
1970- 0C 10 C9 21 D0 03 CE 0A
1978- 10 20 56 11 60 A9 00 20
1980- 09 10 AD 14 10 F0 06 AD
1988- 13 10 20 09 1D AD 07 10
1990- 0A 0A AA AD 08 10 0A 0A
1998- AS 18 20 00 1D 8A 69 04
19A0- AA 20 03 1D 98 69 04 AS
19AB- 20 06 1D 8A 38 E9 04 18
19B0- AA 20 03 1D 98 38 E9 04
19B8- A8 20 06 1D A9 00 20 09
19C0- 1D AD 15 10 F0 06 AD 13
19C8- 10 20 09 1D AD 09 10 0A
19D0- 0A AA AD 0A 10 0A 0A A8
19D8- 18 20 00 1D AD 09 10 6D
19E0- 0B 10 0A 0A AA 20 03 1D
19EB- AD 0A 10 6D 0C 10 0A 0A
19F0- AS 20 06 1D AD 09 10 0A
19F8- 0A AA 20 03 1D AD 0A 10
1A00- 0A 0A A8 20 06 10 A9 3F
1A08- 85 32 A9 8A 85 07 AD 06
lA10- 10 29 1F 85 24 AD 06 10
1A18- 29 60 A2 05 4A CA D0 FC
1A20- 69 14 20 58 FB AD 16 10
1A28- F0 09 AD 13 10 F0 04 A9
1A30- FF 85 32 AD 06 10 20 ED
1A38- FD A9 8D 85 07 AD 17 10
1A40- F0 43 AD 13 10 20 09 1D
1A48- AD 0D 10 0A 0A AA AD 0E
1A50- 10 0A 0A AS 18 20 00 1D
1A58- AD 0D 10 6D 0F 10 0A 0A
1A60- AA 20 03 1D AD 0E 10 6D
1A68- 10 10 0A 0A A8 20 06 10
1A70- AD 0D 10 0A 0A AA 20 03
1A78- 10 AD 0E 10 0A 0A AS 20
1A80- 06 1D 4C 90 1A AD 09 10
1A88- 8D 0D 10 AD 0A 10 8D 0E
1A90- 10 AD 08 10 8D 0F 10 AD
1A98- 0C 10 8D 10 10 60 A9 08
1AA0- 20 5B FB A9 3F 85 32 AC
1AA8- 21 10 B9 19 10 8D 23 10
1AB0- 18 69 01 38 ED 22 10 8D
1AB8- 24 10 89 1D 10 A8 20 FF
1AC0- 1A A9 8D 20 ED FD A9 FF
1AC8- 85 32 AD 24 10 CD 23 10
1AD0- D0 04 A9 3F 85 32 20 FF
1AD8- 1A CE 23 10 D0 E8 A9 FF
1AE0- 85 32 AC 21 10 AD 19 10
1AE8- 8D 23 10 A2 08 A9 20 85
1AF0- 24 20 11 18 EE 23 10 A9
1AF8- 08 CD 23 10 D0 ED 60 A2
1B00- 08 A9 20 85 24 89 1F 18
1B08- F0 07 20 ED F0 CA C8 D0
1B10- F4 C8 E0 00 F0 08 A9 A0
1B18- 20 ED FD CA D0 FA 60 C2
1B20- C9 D4 A0 C5 C4 C9 D4 00
1B28- C2 CC Cl C3 CB 00 D7 C8
1B30- C9 D4 C5 00 CD CF D6 C5
1B38- 00 C3 C8 Cl D2 D3 C5 D4
1B40- D3 00 CD CF D6 C5 A0 C2
1B48- CF D8 00 D0 D5 D4 A0 C3
1B50- C8 Cl D2 00 C7 C5 D4 A0
1B58- C3 C8 Cl 02 00 CC CF Cl
1B60- C4 A0 D3 C5 D4 00 D3 Cl
1B68- D6 C5 A0 D3 C5 D4 00 D5
1B70- D4 C9 CC C9 D4 D9 00 CD
1B78- CF D6 C5 A0 C2 CF D8 00
1B80- C2 CF D8 A0 D3 C9 DA C5
1B88- 00 C3 CF D0 D9 00 CD C9
1B90- D2 D2 CF D2 00 C6 CC C9
1B98- D0 00 C9 CE D6 C5 D2 D4
1BA0- 00 C4 C9 D3 D0 CC Cl D9
1BAB- 00 C8 C9 A0 C2 C9 D4 00
1BB0- C5 D6 C5 CE AF CF C4 C4
1BB8- 00 D2 Cl CD AF D2 CF CD
1BC0- 00 C3 CC D2 A0 C2 CF D8
1BC8- 00 C3 CC D2 A0 D3 C3 D2
1BD0- CE 00 C3 CC D2 A0 D3 C5
1BD8- D4 00 A9 05 20 5B FB A9
1BE0- 20 85 24 A9 FF 85 32 A0
1BE8- 00 A9 04 20 2C 1C AD 2F
1BF0- 10 00 09 A0 04 A9 03 20
1BF8- 2C 1C F0 07 A0 07 A9 03
1000- 20 2C 1C A9 8D 20 ED FD
1C08- A9 20 85 24 A0 0A A9 04
1C10- 20 2C 1C AD 2E 10 D0 09
1C18- A0 0E A9 04 20 2C 1C F0
1C20- 0A A0 12 A9 04 20 2C 1C
1C28- AD 2E 10 60 8D 29 10 A2
1C30- 00 B9 3F 1C 20 ED FD C8
1C38- E8 EC 29 10 D0 F3 60 C8
1C40- C2 BA A0 C3 CC 02 D3 CS
1C48- D4 D0 D8 BA A0 C5 D6 C5
1C50- CE CF C4 C4 A0 00 AD 2A
1C58- 10 0A 0A 8D 28 10 AD 2C
1CS0- 10 29 07 AA AD 2C 10 4A
1CS8- 4A 4A 18 6D 28 10 A8 60
1C70- AD 0A 10 8D 2C 10 AD 0C
1C78- 10 8D 23 10 AD 09 10 8D
1C80- 2A 10 AD 08 10 8D 24 10
1C88- 20 1A 11 09 00 0D CE 2D
1C90- 10 30 05 1D BA 1C D0 03
1C98- 30 B2 1C 99 00 0D EE 2D
1CA0- 10 EE 2A 10 CE 24 10 D0
1CA8- DF EE 2C 10 CE 23 10 D0
1C80- CB 60 FE FD FB F7 EF DF
1CB8- BF 7F 01 02 04 08 10 20
1CC0- 40 80 8D A0 A0 A0 A0 A0
1CC8- A0 A0 A0 A0 A0 A0 A0 A0
1CD0- A0 A0 A0 A0 A0 A0 A0 A0
1CD8- A0 A0 A0 A0 A0 A0 A0 A0
1CE0- A0 A0 00 FF 00 FF 00 FF
1CE8- 00 FF 87 FF 00 FF 00 FF
1CF0- 00 FF 00 FF 00 FF 00 FF
1CF8- 00 FF 00 FF 00 FF 00 FF
1D00- 4C 05 1F 4C 22 1E 4C C4
1D08- 1D 4C F6 1E 00 00 00 00
1D10- 00 00 00 00 00 A5 1C 51
1D18- 26 25 30 51 26 91 26 60
1D20- 85 45 86 46 84 47 60 A5
1D28- 45 A6 46 A4 47 60 A5 1C
1D30- 4A 4A 4A 4C 40 1D A5 1C
1D38- 4A 4C 40 1D A5 1C 4A 4A
1D40- 29 0F A8 B9 4F 1D 24 1C
1D48- 10 02 09 80 85 1C 60 00
1D50- 11 22 33 44 55 66 77 08
1D58- 19 2A 3B 4C 50 6E 7F 00
1D60- 04 08 0C 10 14 18 1C 00
1D68- 04 08 0C 10 14 18 1C 01
1D70- 05 09 0D 11 15 19 1D 01
1D78- 05 09 0D 11 15 19 1D 02
1D80- 06 0A 0E 12 16 1A 1E 02
1D88- 06 0A 0E 12 16 1A 1E 03
1D90- 07 08 0F 13 17 1B 1F 03
1D98- 07 0B 0F 13 17 18 1F 81
1DA0- 82 84 88 90 A0 C0 81 83
1DA8- 87 8F 9F BF FF FF FE FC
1DB0- F8 F0 E0 C0 00 2A 55 7F
1DB8- 80 AA D5 FF 22 11 77 5D
1DC0- A2 91 F7 BB 08 20 20 1D
1DC8- C0 C0 90 03 4C B8 1F AC
1DD0- 0D 1D B9 9F 1D 85 30 A5
1DD8- 27 29 1F 05 E6 85 27 A5
1DE0- 47 38 ED 10 1D AA 6E 11
1DES- 1D 10 17 E8 AC 0C 1D 20
1DF0- 15 1D CA F0 23 AD 11 1D
1DF8- 18 20 D3 F4 20 3C 1D 4C
1E00- EC 1D CA AC 0C 1D 20 15
1E08- 1D E8 F0 0C AD 11 1D 20
1E10- D3 F4 20 3C 1D 4C 03 1E
1E18- A5 47 80 10 1D 20 27 1D
1E20- 28 60 08 20 20 1D 90 07
1E28- E0 18 90 03 4C 88 1F A0
1E30- 00 8C 0E 1D 8E 0F 1D 28
1E38- 08 90 03 EE 0E 1D A5 27
1E40- 29 1F 05 E6 85 27 AD 0F
1E48- 1D A2 E0 BE 12 1D AE 0E
1E50- 1D BE 13 1D 4E 13 1D A2
1E58- 06 90 03 69 1F 38 2E 13
1E60- 1D CD 12 1D 90 06 EE 13
1E68- 1D ED 12 1D 4E 12 1D CA
1E70- D0 EC 8D 14 10 AE 0D 1D
1E78- AC 0C 1D CC 13 10 D0 1E
1E80- EC 14 1D 90 0B BD A6 1D
1E88- AE 14 10 3D AD 1D B0 09
1E90- BD AD 1D AE 14 1D 3D A6
1E98- 1D 85 30 4C EB 1E 90 27
1EA0- BD A6 1D 85 30 20 15 1D
1EA8- 20 36 1D CE 0C 1D AC 0C
1EB0- 1D CC 13 1D F0 06 A5 1C
1EB8- 91 26 B0 EC AE 14 1D BD
1EC0- AD 1D 85 30 4C EB 1E BD
1EC8- AD 1D 85 30 20 15 10 20
1ED0- 2E 1D EE 0C 1D AC 0C 1D
1EDS- CC 13 1D F0 06 A5 1C 91
1EE0- 26 90 EC AE 14 1D BD A6
1EEE- 1D 85 30 20 15 1D BE 0D
1EF0- 1D 20 27 1D 28 60 08 20
1EF8- 20 1D 29 0F A8 B9 84 1D
1F00- 85 1C 4C 98 1F 08 20 20
1F08- 1D 90 07 E0 18 90 03 4C
1F10- B8 1F C0 C0 90 03 20 88
1F18- 1F A9 01 2D 10 1D F0 03
1F20- 20 3C 1D A9 03 2D 0C 1D
1F28- F0 07 AA 20 36 1D CA 00
1F30- FA A5 47 8D 10 10 A5 46
1F38- 8D 0F 1D A0 00 8C 0E 1D
1F40- 28 08 90 03 EE 0E 1D 2C
1F48- 10 1D 10 02 A0 50 50 02
1F50- A0 28 84 26 A9 08 2D 10
1F58- 1D F0 06 A9 80 05 26 85
1F60- 26 AD 10 1D 29 3F AS B9
1F68- 5F 10 85 27 AD 0F 1D A2
1F70- E0 BE 12 1D AE 0E 1D 8E
1F78- 0C 1D 4E 0C 1D A2 06 90
1F80- 03 69 1F 38 2E 0C 1D CD
1F88- 12 1D 90 06 EE 0C 1D ED
1F90- 12 10 4E 12 1D CA D0 EC
1F98- 8D 0D 1D A9 01 2D 10 1D
1FA0- F0 03 20 3C 1D A9 03 2D
1FA8- 0C 10 F0 07 AA 20 2E 1D
1FB0- CA D0 FA 20 27 1D 28 60
1FB8- A0 00 89 C6 1F 20 ED FD
1FC0- C8 C0 19 D0 F5 00 D3 C3
1FC8- D2 C5 C5 CE A0 C2 CF D5
1FD0- CE C4 C1 D2 D9 A0 C5 D8
1FD8- C3 C5 C5 C4 C5 C4 8D 00

Program 4: Apple SuperFont NORMALSET
8D00- 00 00 00 00 00 00 00 00
8D08- 08 08 08 08 08 00 08 00
8D10- 14 14 14 00 00 00 00 00
8D18- 14 14 3E 14 3E 14 14 00
8D20- 08 3C 0A 1C 28 1E 08 00
8D28- 06 26 10 08 04 32 30 00
8D30- 04 0A 0A 04 2A 12 2C 00
8D38- 08 08 08 00 00 00 00 00
8D40- 08 04 02 02 02 04 08 00
8D48- 08 10 20 20 20 10 08 00
8D50- 08 2A 1C 08 1C 2A 08 00
8D58- 00 08 08 3E 08 08 00 00
8D60- 00 00 00 00 08 08 04 00
8D68- 00 00 00 3E 00 00 00 00
8D70- 00 00 00 00 00 00 08 00
8D78- 00 20 10 08 04 02 00 00
8D80- 1C 22 32 2A 26 22 1C 00
8D88- 08 0C 08 08 08 08 1C 00
8D90- 1C 22 20 18 04 02 3E 00
8D98- 3E 20 10 18 20 22 1C 00
8DA0- 10 18 14 12 3E 10 10 00
8DA8- 3E 02 1E 20 20 22 1C 00
8DB0- 38 04 02 1E 22 22 1C 00
8DBB- 3E 20 10 08 04 04 04 00
8DC0- 1C 22 22 1C 22 22 1C 00
8DC8- 1C 22 22 3C 20 10 0E 00
8DD0- 00 00 08 00 08 00 00 00
8DD8- 00 00 08 00 08 08 04 00
8DE0- 10 08 04 02 04 08 10 00
8DE8- 00 00 3E 00 3E 00 00 00
8DF0- 04 08 10 20 10 08 04 00
8DF8- 1C 22 10 08 08 00 08 00
8E00- 1C 22 2A 3A 1A 02 3C 00
8E08- 08 14 22 22 3E 22 22 00
8E10- 1E 22 22 1E 22 22 1E 00
8E18- 1C 22 02 02 02 22 1C 00
8E20- 1E 22 22 22 22 22 1E 00
8E28- 3E 02 02 1E 02 02 3E 00
8E30- 3E 02 02 1E 02 02 02 00
8E38- 3C 02 02 02 32 22 3C 00
8E40- 22 22 22 3E 22 22 22 00
8E48- 1C 08 08 08 08 08 1C 00
8E50- 20 20 20 20 20 22 1C 00
8E58- 22 12 0A 06 0A 12 22 00
8E60- 02 02 02 02 02 02 3E 00
8E68- 22 36 2A 2A 22 22 22 00
8E70- 22 22 26 2A 32 22 22 00
8E78- 1C 22 22 22 22 22 1C 00
8E80- 1E 22 22 1E 02 02 02 00
8E88- 1C 22 22 22 2A 12 2C 00
8E90- 1E 22 22 1E 0A 12 22 00
8E98- 1C 22 02 1C 20 22 1C 00
8EA0- 3E 08 08 08 08 08 08 00
8EA8- 22 22 22 22 22 22 1C 00
8EB0- 22 22 22 22 22 14 08 00
8EB8- 22 22 22 2A 2A 36 22 00
8ECD- 22 22 14 08 14 22 22 00
8EC8- 22 22 14 08 08 08 08 00
8ED0- 3E 20 10 08 04 02 3E 00
8EDB- 3E 06 06 06 06 06 3E 00
8EE0- 00 02 04 08 10 20 00 00
8EE8- 3E 30 30 30 30 30 3E 00
8EF0- 00 00 08 14 22 00 00 00
8EF8- 00 00 00 00 00 00 00 7F
8F00- 04 08 10 00 00 00 00 00
8F08- 00 00 1C 20 3C 22 3C 00
8F10- 02 02 1E 22 22 22 1E 00
8F18- 00 00 3C 02 02 02 3C 00
8F20- 20 20 3C 22 22 22 3C 00
8F28- 00 00 1C 22 3E 02 3C 00
8F30- 18 24 04 1E 04 04 04 00
8F38- 00 00 1C 22 22 3C 20 1C
8F40- 02 02 1E 22 22 22 22 00
8F48- 08 00 0C 08 08 08 1C 00
8F50- 10 00 18 10 10 10 12 0C
8F58- 02 02 22 12 0E 12 22 00
8F60- 0C 08 08 08 08 08 1C 00
8F68- 00 00 36 2A 2A 2A 22 00
8F70- 00 00 1E 22 22 22 22 00
8F78- 00 00 1C 22 22 22 1C 00
8F80- 00 00 1E 22 22 1E 02 02
8F88- 00 00 3C 22 22 3C 20 20
8F90- 00 00 3A 06 02 02 02 00
8F98- 00 00 3C 02 1C 20 1E 00
8FA0- 04 04 1E 04 04 24 18 00
8FA8- 00 00 22 22 22 32 2C 00
8FB0- 00 00 22 22 22 14 08 00
8FB8- 00 00 22 22 2A 2A 36 00
8FC0- 00 00 22 14 08 14 22 00
8FC8- 00 00 22 22 22 3C 20 1C
8FD0- 00 00 3E 10 08 04 3E 00
8FD8- 38 0C 0C 06 0C 0C 38 00
8FE0- 08 08 08 08 08 08 08 08
8FE8- 0E 18 18 30 18 18 0E 00
8FF0- 2C 1A 00 00 00 00 00 00
8FF8- 00 2A 14 2A 14 2A 00 00

Program 5: Apple SuperFont HROUT
0300- D8 78 85 45 86 46 84 47
0308- A6 07 0A 0A B0 04 10 3E
0310- 30 04 10 01 E8 E8 0A 86
0318- 18 18 65 06 85 10 90 02
0320- E6 18 A5 28 85 08 A5 29
0328- 29 03 05 E6 85 09 A2 08
0330- A0 00 81 1A 24 32 30 02
0338- 49 7F A4 24 91 08 E6 1A
0340- D0 02 E6 18 A5 09 18 69
0348- 04 85 09 CA D0 E2 A5 45
0350- A6 46 A4 47 58 4C F0 FD

Program 6: APPLEFONT2 Checksum
100  PRINT "CHECK THESE BLOCKS:";
110  FOR I = 8160 TO 8191: POKE 1,0: NEXT
120  FOR 1 = 0 TO 63:3 = 0
130  PRINT ".":
140  FOR J = 0 70 63:8 = S + PEEK (409)
     6 + 1 : 64 + J) : NEXT
150  READ A:S = S - 256 * INT (S / 256
160 AD = 4096 + 1 x 64: GOSUB 200:A1$ =
     H$
170 AD = 4096 + 1 * 64 + 63: GOSUB 200:
     A2$ = H$
180  IF A <  > S THEN PRINT : PRINT "$
     ";Al$;" TO $":A2$;
190 NEXT : END
200 H$    FOR K = 0 70 3:X = INT (A
     D / 16):H$ = MID$ ("0123456789ABC
     DEF",AD - X * 16 + 1,1) + H$:AD =
     X: NEXT : RETURN
210  DATA 33,162,119,1,233,214,30,118
220  DATA 36,37,152,145,189,208,216,189
230  DATA 80,127,70,70,155,173,186,120
240  DATA 74,176,171,163,153,216,210,18
250  DATA 191,187,202,174,159,187,87,125
260  DATA 41,199,222,202,111,195,52,127
270  DATA 178,145,237,86,215,171,8,97
280  DATA 123,137,102,120,22,29,223,142