LBSOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUNDINVALID KERNEL FILExةw,@  4  J  ȱ⩤i8#) ) 8Le CHAPTER 8: SOME COMMON MOVES This chapter is provided as a guide for creating customized character sets. For complete discussions of commands available from the Design and View screens, refer back to Chapters 4 and 5. Designing Custom Characters 0  FONTCAP.CODE1  *MENU.MAKER  } >,PEEKPOKE.INV9 !+REQUEST.INV : !+%SEG.T j Ÿ/ SEG.F 6FONT.PGM.1$+ 7FONTCAP.TEXT !) )CHAPTER08J!4!3 )CHAPTER094  !5 )CHAPTER100$( ! )CHAPTER111AE#) ! DISKNAME.DATp) ! FONT.PROGRAMS5c5III.FNT.022037Bu' *APPENDIX.ATK ! *APPENDIX.Bc "! *APPENDIX.Cl;%! *APPENDIX.DP ! *APPENDIX.E  !.*APPENDIX.F|m#im#iЛ#Lȱ  6L憦  Lsmm l y` @8(Je稽 ʈ To design characters and install them in a fontfile, follow this procedure: 1) Select the "Design new characters" option from the Main Menu. This command will take you to the Design Screen. 2) Use the four arrow keys to positi pboard, type "D" for D(esign. This command moves you to the Design Screen. 5) Transfer any character from the clipboard into the enlarged matrix by typing "T" for T(ransfer. 6) Use the four arrow keys to move the diamond cursorfor "C(lip" in order to copy the character to the clipboard at the top of the screen. Use the "<" and ">" keys to designate empty clipboard cells. 4) Once you have stored the character(s) you wish to modify on the cliw fontfile, type "L" for "L(oad". Specify an appropriate SOS pathname in response to the prompt. 3) Once the character set appears, use the four arrow keys to move the cursor and designate the character you wish to modify. Type "C" this procedure: 1) Select the "View character set" option from the Main Menu. This command will take you to the View Screen. 2) If you have not already loaded a fontfile, you will be prompted to do so. If you wish to load a neied character set into the file "SOS.DRIVER" on one or more of your boot diskettes so that it will be available whenever you boot the Apple ///. Modifying Existing Characters In order to modify or change existing characters, follows . Once the character set has been saved, press to continue and to return to the Main Menu. 9) If desired, use the Apple /// System Utilities as described in the next chapter to install the modifing characters to the clipboard as a first step in changing their location within the set. 8) Once you are satisfied, type "S" for "S(ave". Press to accept the pathname shown, or type in a new pathname and prescursor position. Now type "T" for T(ransfer". Your new design will appear in the character set. 7) Repeat step 6 until you are satisfied, with the modified character set. If necessary, use the C(lip command to move exister set you wish to modify appears, use the four arrow keys to move the cursor within the character set. Use the "<" and ">" keys to specify the clipboard character that you wish to transfer into the character set at the current fontfile, you will be prompted for the pathname of the file you wish to load a different one, type "L" for "L(oad". Specify the appropriate SOS pathname of an on-line fontfile in response to the prompt. 6) Once the charact(lank" to clear the matrix for the previous design. Repeat steps 2 and 3 for each new character. You may save up to eight character designs on the clipboard. 5) Now type "V" for "V(iew". If you have not already loaded a When you are satisfied with the design, move it to the clipboard at the top of the screen by typing "C" for "C(lip". Use the "<" and ">" keys to specify empty keyboard cells. 4) If you wish to continue designing, type "B" for "Bon the diamond cursor within the enlarged character matrix. Use the space bar to turn ON and OFF individual cells within the matrix and the corresponding pixels within the actual-size models to the right of your screen. 3) within the matrix; use the spacebar to turn ON and OFF individual cells and their corresponding pixels within the actual-sized models to the right of your screen. 7) Once you are satisfied with the modified character, type "C" for C(lip to copy the modified version back to the clipboard. 8) Repeat steps 5 through 7 until you are satisfied with the appearance of all the characters on the clipboard. 9) Now type "V" for "V(iew" and return to the View Sype "F" to turn ON flashing. 3) Follow steps 2 through 9 under "Designing new characters." You will see an "F" superscript when you copy the character to the clipboard and when it is transferred into the character set. or OFF in this manner. This option is provided as a programmer's tool. To make new custom characters flash in inverse mode: 1) Follow steps 1 and 2 under "Designing new characters" above. 2) Once you have a new design in the matrix, tvailable whenever you boot the Apple ///. Making Characters Flash You can make new or existing characters flash in inverse display mode by using the F(lash command while the character is in the matrix on the Design Screen. Flashing can be turned ONto the Main Menu. 8) If desired, use the Apple /// System Utilities as described in the next chapter to install the modified character set in the file "SOS.DRIVER" on one or more of your boot diskettes so that it will be a in a new pathname and press . Once the character set has been saved, press to continue. 7) If you wish to transfer more than eight characters, repeat steps 2 through 6; otherwise press to return rrow keys to specify the position in the set. Type "T" for "T(ransfer" to accomplish each move. 6) Once you are satisfied with the modified character set, type "S" for "S(ave". Press to accept the pathname shown, or typeecify the pathname of the destination character set fontfile. 5) Once the destination character set has appeared, transfer characters by using the "<" and ">" keys to specify the character to be transferred, and the four afy characters you wish to copy. Type "C" for "C(lip" to copy up to eight characters to the clipboard at the top of the screen. Use the "<" and ">" keys to specify empty clipboard cells. 4) Now type "L" for "L(oad" and sppriate fontfile pathname. If another character set is already in memory, type "L" for "L(oad" to receive the load prompt. 3) Once the source character set has appeared, use the four arrow keys to move the cursor and speci follow this procedure: 1) Select the "View character set" command from the Main Menu. This command will take you to the View Screen. 2) If you have not already done so, load the source character set by specifying the approer set into the file "SOS.DRIVER" on one or more of your boot diskettes so that it will be available whenever you boot the Apple ///. Transferring Characters In order to transfer existing characters from one character set to another,e the modified character set has been saved, press (SPACE) to continue and (ESCAPE) to return to the Main Menu. 12) If desired, use the Apple /// System Utilities as discussed in the next chapter to install the modified charact" to accomplish the installation of modified characters. 11) When you are satisfied with the modified character set, type "S" for "S(ave". Press to accept the pathname shown, or type in a new pathname and press . Onccreen. 10) Transfer modified characters back to their original positions using the "<" and ">" keys to specify the character to be transferred and the four arrow keys to specify the position in the set. Type "T" for "T(ransfer To make existing characters flash in inverse mode: 1) Follow steps 1 though 5 under "Modifying Existing Characters" above. 2) Once the character is in the matrix, type "F" to turn ON flashing. 3) Follow steps 7 through 12 under "Modifying Existing Characters" above. Note that you must use the inverse display command (ASCII 18) in your Business Basic or Pascal programs to make characters flash since they will flash only when in inverse mode. For more information on T 0")2070H540R\A$="RUNNING "+B$(I),16,B)f"79C";A$;:=0pB$(I),16,B) z::SEG=1".D1/SEG.T"t=+B$(I),16,B) yCT=CT+1~240:=24:=0:"@ ..... "DATE.TIME.LINE" ....JM=Ҡ,4,2))BTM1630,1640,1650,0=+IBOTM/2-.5):I=IBOTM:I/2=I/2)I=I-1 œ2120B=B$(I),16)," ")-1 B$(I),"BASIC 0")850B$(I),"TEXT 0")890 B$(I),"CAT 0")1140*B$(I),"FONT 0")18504B$(I),"FOTO 0")1930>B$(I),"PASTXB$(I);v:520: 500THPOS=4:I/2=I/2)I=I-1I=IBOTM THPOS=44:I/2<>I/2)I=I+1I2=-1:I=I-2:IBOTM<30THPOS=44I=IBOTM/2)*2:=+IBOTM/2)-1:CA)"PRINT.ALL": OA+P 3HA=(81+UCA)A=(81+LCA):::: OA+Q Quits 3IA=(83+LCA)A=(83+UCA)"PRINT.SHOW": OA+S 2JA=(68+LCA)A=(68+UCA)/Screen.Savers/HELLON=THPOS:B$(I);XA<8A>11540bA-7640,660,690,720l:=THPOS:ٺ1600 =Q:WW=0A=:A=21A=9&oldprefix$=40A=31410: Control C "aborts" program to Basic(:A=13770: Return Selects a file *DA=27:50: Escape to change disks/FA=324000: back out one directory level 3GA=(80+UCA)A=(80+L"BASIC 0":150A$="TEXT 0":150A$="CAT 0":150A$="FONT 0":150A$="FOTO 0":150A$(L),"BLOCKS")510*=27:=19:"FREE MEMORY AVAILABLE: ";=7:=20:"80C";A$(L);$:=5:THPOS=4:I=1:IBOTM=J-1:620Q=:=26:=21:sic; +Q Quits."r12);::"80C";a$;:+w#9,"DISKNAME.DAT":#9;DISKNAME$:#9|d$=DISKNAME$$=23:=0::"80C";d$;::12)201M=3:=14:"This /// SIG Disk is \^ 19";Р,2)", Washington Apple `, Ltd."=4:B$(1)="":B$(2)=""A$=16,B) THEN 240 #1, d$="":=10:"80C";d$ ž#1300I=0"I=I+1:#1;A$(I):290,#1 6L=I-1@j=1:same=0 J:SEG=0 Tœ2030^CT<1CT=1cCT>13000Zha$="{,|,~,}; selects; to new disk; J/2)=4:=+1:ۙ=44B$(J);:J=J+1I:1,180,22:2,280,21:2,2380,23:8A$(1000),B$(1000),C%(511),C$(20),name$(20):=10:=0UCA=128:LCA=UCA+32CT=15 IF PREFIX$= PREFIX$+MID$(B$(I), !"VOLUME NAME (/DISKNAME) OR DEVICE NAME (.Dx)"P12);::"80C";a$;:Zb$="CHANGING DISKS"$d=23:=0::"80C";b$;::12).n=12:=20:"MAKE A NEW MENU FOR DISK: ";N$xN$)<2110=N$ :210 I=1L(A$(I),A$))200B$0 WAP /// SIG MENU.MAKER PROGRAM (v. 6.2) =".D1"210: Coldstart (320: Warmstart &*X=11000: TEXT SLOW-DOWN LOOP ,X.1 CHANGE DISK SUBROUTINE23œ202:2200<RFa$=" YOU MAY SELECT YOUR DISK BY console control codes, see the Apple /// Standard Device Drivers Manual. 1660,1670,1680,1690,1700,1710,1720,1730,1740^M$="JANUARY":1750hM$="FEBRUARY":1750rM$="MARCH":1750|M$="APRIL":1750M$="MAY":1750M$="JUNE":1750M$="JULY":1750M$="AUGUST":1750M$="SEPTEMBER":1750M$="OCTOBER":1750M$="NOVEMBER":1750M$="DECEMBER":1750826);"-";M$;" ";Ѡ,2));", ";"19";Р,2);" ";/П,2))=>13П,2))-12;џ,6);:1780$П,2))=0"12";џ,6);:ٟ;$П,2))=>12" PM-":" AM-" 1830WW=1530 =26:=21 Finally, note that Chapter 10 is a step-by-step guide to setting up your printer. Chapter 11 discusses possible printer limitations and provides tips on custom printing. Appendices are provided as detailed guides for particular applications such as wose your printer to print everything in graphics mode, ensuring consistent horizontal spacing and eliminating the need to remember special ASCII subsets. NOTE: that custom printing is not as fast as regular printing, particularly in Full Graphics mode. odes, or "Full Graphics." Specification of a Limited Graphics mode will cause your printer to custom print a special ASCII subset; thus custom characters must be stored in special positions within a character set. Specifications of Full Graphics will caubles) Integral Data Systems 460, 560 and Prism Prowriter Apple Dot Matrix Printer Printer Driver Modes During the installation of the appropriate driver for your printer, you will need to specify either one or two "Limited Graphics" mhether you wish to use "Limited Graphics" or "Full Graphics." These driver "modes" are explained in the following section, "Printer Driver Modes." Special drivers have been supplied to support the following graphics printers: Epson (or compati#%&'()*+,-./012:;<=>?or some other application. A step-by-step procedure for accomplishing this is provided later in this chapter. The special driver will enable your graphics printer to print custom characters. When installing the special driver, you will need to specify w Chapter 10 Setting Up Your Printer In order to use custom characters in printed text, the appropriate CustomFONT printer driver must be installed in the "SOS.DRIVER" file of your boot diskette, be it Apple Writer ///, Three EZ Pieces, Basic, Pascal a$,1)="/"5060:s=s-1 5030=a$240 MENU.MAKER 6.2 * Thanks to C.M.Davidson for his help!el; G$:::320H: Error Routine 202:U=11:"79C";"BAD PATH ERROR (NO DISK IN DISK DRIVE OR DESIRED FILE NOT FOUND.)"X=11000:X:::210Z a$="{,|,~,}; selects; back 1 lev 1600 &:WW=1:0 :SEG=1;".D1/S EG.F" SEG=1".D1/SEG.G"diskname$=3802  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T READ PASCAL TEXT FILES."04=10:"rd processing and spreadsheets. Printer driver modes can be described as follows: 1) Limited Graphics Mode 1: This mode allows the printer to custom print characters stored in ASCII values 1-12 and 14-31 ONLY. Thus, if you have stored non-standard characters elsewhere in a character set, the printer will ignore them and print its own standard characters. This mode is useful for word processing and your own Business Basic and Pascal programs, since it allows specification of custom characters and ce (serial or parallel). Place the CustomFONT book disk in the built-in drive and type the appropriate pathname as shown below: For Epson (or compatible) owners type: ".D1/EPSON.SER" if the printer is serial ".your screen. After a short delay, a list of drivers will appear. 6) At this point, you will be prompted for another driver file to be read. The file pathname you supply will depend on your printer and type of printer interfaect "System Configuration Program" from the menu on your screen. 4) Type "R" to select "Read a Driver File" from the subsequent menu. 5) Press to accept the pathname ".D1/SOS.DRIVER" which has appeared at the bottom of ter mode (as discussed above), follow this procedure: 1) Start up the Apple /// System Utilities program. 2) Place the boot diskette that you wish to set up with a special printer driver into the built-in drive. 3) Type "S" to selter driver, you will need to modify the "SOS.DRIVER" file on the boot diskette that you wish to set up. You will install the special driver using the Apple /// System Configuration Program. To install your special printer driver and specify the proper prinneed it, by using a special embedded command discussed in the next chapter. NOTE that even in Full Graphics mode, ASCII 0 and 13 are not printable. Installing Your CustomFONT Printer Driver on Boot Diskettes In order to install the appropriate prin everything is being interpreted as graphics dot patterns (even standard characters), you need not worry about storing custom characters in special positions. NOTE that you can use Limited Graphics as a default mode and turn on Full Graphics whenever you Graphics mode: This mode causes the printer to print everything in graphics mode and is useful if an entire non-standard character font is desired, or if you wish to ensure consistent horizontal spacing of characters when mixing text and graphics. Sincehow these special ASCII subsets on the View Screen. NOTE also that you can control exactly which keyboard ASCII values are custom printed by configuring your special printer driver in more detail. Refer to Appendix F, "Advanced Printer Control". 3) Fullgh 31 is not possible. This mode is also useful for programming and word processing applications where Limited Graphics is desired, yet more than 30 custom characters are required. ONCE AGAIN NOTE that you can use the Overlay command (see Chapter 5) to ss the printer to custom print characters stored in ASCII values 1-12 and 14-31 as well as certain keyboard trade-offs. This mode is useful for certain applications such as Visicalc ///, where keyboard entry of character dot patterns stored in ASCII 0 throu(discussed in Chapter 11) to turn ON normal control functions such as "tab" (ASCII 9). NOTE: that you can use the Overlay command (discussed in Chapter 5) to show this special ASCII subset on the View Screen. 2) Limited Graphics mode 2: This mode allowd processing as control characters (or again, with the Open Apple key for some programs such as Apple Writer ///). In Limited Graphics mode 1, your special printer driver will print your lower-ASCII dot patterns unless you have embedded a special command symbols without trading off keyboard characters. Character dot patterns stored in these positions can be entered into Business Basic and Pascal source texts by using the Open-Apple key together with the Control Key. They can also be entered into worD1/EPSON.PAR" if the printer is parallel For IDS owners, type: ".D1/IDS.SER if the printer is serial ".D1/IDS.PAR if the printer is parallel For Prowriter owners, type: ".D1/PRO.SER" if the printer is serial ".D1/PRO.PAR" if the printer is parallel For Apple Printer owners, type: ".D1/APPLE" Press after typing the above. You should see the appropriate driver added to the end of the list on your screen. ntfile must be on-line during this step. 6) Return to the System Configuration Program menu by typing twice. Now type "G" for "Generate New System". After a short delay, you will see pathname ".D2/SOS.DRIVER" appear at the bottos". 5) Type "3" for "Character Set". You will be prompted to specify the pathname of your customized character set. Do so, and you will see a confirmation that the system character set has been changed. Note that your customized fo and press to accept the pathname ".D1/SOS.DRIVER" at the bottom of your screen. 4) Once the file has been loaded, press to return to the System Configuration Program menu. Now type "C" for "Change System Parameter 1) Start up the Apple /// System Utilities 2) Type "S" for "System Configuration Program". Once you see the SCP menu, type "R" for "Read a Driver File" 3) Place the boot diskette that you wish to set up in the built-in drive aracter set, it will be the system character set whenever you boot your Apple ///. Using the System Configuration Program In order to set up a boot diskette so that a modified character set will always be loaded when you boot, follow this procedure.356789e Writer, Basic, /// EZ Pieces or Lazarus. In order to tell your system that you wish to use a modified character set, you must use the System Configuration Program (part of System Utilities) to modify the SOS.DRIVER file. Once you install the modified ch CHAPTER 9: SETTING UP BOOT DISKETTES WITH CUSTOM CHARACTER SETS. Whenever you boot the Apple ///, it reads in a character set. The fontfile used as the "system character set" is contained in the file "SOS.DRIVER" on any boot diskette, such as Applded in step 6) and press . 12) You will be back to the menu of possible changes. Type "1" for "Device Name", and this time type in ".PRINTER" and press . NOTE: at this point, you have named your special driver ".PRI>. You should see a confirmation that the driver has been renamed. 11) Type twice in order to return to the list of drivers. Use the up- and down-arrow keys to indicate the last driver on the list (the one you adver, which is the standard printer driver that comes with your system. Type "1" to select "Device Name." 10) You will now be prompted to specify a new name at the bottom of your screen. Type ".Standard", and press . 9) You should now see a menu of changes which can be made to this particular dri 7) Now hit the key. You should see the System Configuration Menu which describes a number of ways to modify the SOS.DRIVER file now in memory. Type "E" for "Edit Driver Parameters." 8) The list of drivers wim of your screen. Type ".D1/SOS.DRIVER", and "Y" in response to the delete request. 7) Quit the Apple /// System Utilities. Your customized character set will now be available whenever you boot the Apple /// with the diskette you just modified. NOTE: for some word processing programs, such as Apple Writer ///, the character set used by the system can be specified from within the program itself. In Apple Writer ///, use the Control-Q command to access the "Additional Commands Menu". the appropriate mode in step 14. If one of the three driver modes does not suit your application and /or you wish to configure your driver in more detail, refer to Appendix F, "Advanced Printer Control." ." henever you boot the Apple /// with the diskette you just modified. Changing Printer Driver Modes Should you ever wish to change printer mode, simply follow steps 1 though 5, 7 through 8, and 13 through 17 in the above procedure, specifying delay, you will see the pathname ".D2/SOS.DRIVER" appear. Type ".D1/ SOS.DRIVER", and "Y" in response to the delete request. 17) Quit the Apple /// System Utilities. Your CustomFONT printer driver will now be available wion Block, press 3 times to return to the System Configuration menu. 16) Place the boot diskette that you wish to set up back into the built-in drive. Type "G" for "Generate New System", and after a short TE: you need not worry about the other columns of numbers unless you are configuring your driver in more detail. If so, refer to Appendix F, "Advanced Printer Control." 15) Once you have entered the appropriate value in the Configuratel drivers.) Enter one of the following codes, depending on the desired printer driver mode, and press : Limited Graphics mode 1: 01 Limited Graphics mode 2: 02 Full Graphics mode : 03 NOe in the driver's Configuration Block. 14) Use the left- and right-arrow keys at the bottom right of your keyboard to move across the first row to the appropriate column (third column for serial drivers, sixth column for parallnges. Type "6" for "Configuration Block Data". A screen containing rows of numbers should appear. This screen is where you will be specifying the printer driver mode by entering the appropriate 2-digit hexadecimal codwhere you want to send the information. They are not smart enough to know (the CustomFONT driver also sends special information to the printer that the regular driver does not...) 13) Hit to return to the menu of possible chae. If you wish to keep your "Standard" printer as ".PRINTER" then do it and name the driver used with CustomFONT whatever you want. But whatever you name them, you'll have to keep track. Programs like AppleWriter and others MUST know NTER" and your regular printer driver ".STANDARD". Keep this in mind whenever you boot your diskette. /// SIG NOTE: While these instructions are straightforward, please be aware that the naming of your drivers is NOT written in concretentions and loading procedures, if any. NOTE: for your own Business Basic or Pascal programs, you can download character sets at run-time by including the appropriate procedures in your source code. your source code. he character set from Apple Writer /// (its added automatically by the program to any pathname you specify during "Load Character Set"). If you are using a word processing program other than Apple Writer ///, refer to your manual for fontfile pathname conv Then type a "7", and you will be prompted for an appropriate pathname. Not that in order to read in a character set this way, you will need to append the suffix ".CHR" to its pathname when you create the fontfile. The suffix is NOT used when you call t CHAPTER 11 SOME LIMITATIONS ON CUSTOM PRINTING Your graphics printer can operate in either text mode or graphics mode. When using a Limited Graphics mode, your printer will print custom characters in graphics mode and standard characters in text moher on your display, your printer will insert space between lines with each carriage return. Thus, if you have included graphics or vertical lines which you want to be vertically contiguous, you will need to embed a special command (dish or boldface, your printer will return to normal text after encountering a graphics character. If necessary, you can embed the necessary commands in your text to prevent this from happening. 5) Although character cells touch each ott of selected text size Apple: 90 percent of selected text size 4) When your printer returns to text mode after printing a custom character, it will return to normal text mode. Thus, if you are printing in enhanced, double-widtl Graphics ON and OFF (this is discussed in the next section). NOTE: that the width of custom characters will depend on your printer as follows: IDS: Always 12.0 per inch Epson: Always 8.6 per inch Prowriter: 90 percend set up your special printer driver for Full Graphics mode. If you need Full Graphics in some areas and Limited Graphics in others, you can set up your printer driver for Limited Graphics and use a special embedded command to turn Ful what you see on your display (uniform spacing) won't be exactly what happens on your printer. If you need uniform horizontal spacing when mixing standard and non-standard characters, such as in a three or five-line deep equation, you shouljustments to the fonts. (This applies to the IDS printers primarily.) 3) Since there are no standards among today's graphics printers, the width of special characters will depend on your printer. This means that for certain printers,hat are called "descenders"). If your printer has seven row graphics capability, you should keep this in mind when designing your custom characters. Generally speaking, you will not find this too limiting, and you can make the necessary adnts and reports. 2) For some printers, only the top seven rows of a character cell can be printed in graphics mode. In text mode, standard characters requiring the bottom rows, such as "y" and "g" are printed in a special way (using w Thus, if you include many custom characters in your files, you'll probably notice the printer slow down a bit. This should not become a problem, but you should expect to see a slight change in overall time required to print your documeting. Limitations of Your Printer When designing customized text files for documents and reports, you should be aware of the following possible limitations of your printer: 1) Your printer will be printing special characters in graphics mode.@BCDEFGHIJKLMNOPQRde using its own standard font. When graphics and text are mixed, some complications inevitably arise. We have included in this chapter a discussion of some things to be aware of, as well as a discussion of special commands to help you control custom princussed in the section coming up) to control the vertical spacing between lines of printed text. Any text included in areas where lines touch each other can be double-spaced. 6) In general, you will need to experiment a bit in order to get the hang of printing mixed text and graphics on your printer. You may need to go back a few times to make adjustments to your file before it looks just right on the printer. Special Commands Your special printer driver accepts three typethe standard underscore character being printed in text mode, particularly if your graphics characters are only seven rows deep. In such cases, use a graphics character for horizontal lines and design your vertical lines and corners to matc cells in graphics mode. Keep this in mind when designing characters and layouts. 4) If you plan to use horizontal and vertical lines to box off headings or create layouts, you may have difficulty lining up graphics characters with he resolution of your graphics will be limited. In a bar chart, for example, you will need to scale your axes with character cell spacing in mind. 3) As mentioned earlier, you may only be able to print the top seven rows of charactercs, so you may find it helpful to turn off word wrapping functions and adjust screen formatting so that it will be easier to enter and edit blocked graphics, layouts and formulae. 2) Since you can control only individual character cells, t exactly as shown, will tell your printer to return to its default mode. Mixing Text and Graphics When mixing text and graphics, keep in mind the following: 1) Word processing and spreadsheet programs are not really set up to edit graphieas and Full Graphics in others. The $FG+ command, exactly as shown, will tell your printer to enter Full Graphics mode. Every subsequent character will be printed as a graphics character, ensuring uniform horizontal spacing. The $FG- command,eturn to 6 lines per inch after receiving a "$VS-" command. The third type of special command allows you to turn Full Graphics ON and OFF if you have your special driver set up for Limited Graphics. This allows you to use Limited Graphics in some areds. These commands can be used any number of times within a file. NOTE that for IDS printers, vertical spacing cannot be condensed within areas where control functions have been turned ON. NOTE that Epson, Apple, and Prowriter printers will rine feeds instead of normal carriage returns. This will cause lines of characters to touch each other, and any text included in the area should be double spaced. The $VS+ command, exactly as shown, will tell your printer to return to normal line feal command special command specifies whether the printer will execute regular line feeds or "graphics" line feeds, which cause lines to be vertically contiguous. The $VS- command, exactly as shown, will tell your printer to begin executing graphics lns OFF, enabling custom printing. Control functions other than carriage returns won't be available within any area in which control is off. This may affect fill justification or margining done by your word processing program. The second type of speciter's control functions ON, enabling lower-ASCII commands and standard escape sequences. Note that NO CUSTOM CHARACTERS ARE PRINTABLE WHEN CONTROL FUNCTIONS ARE ON. The $CF- command, exactly as shown, will turn your printer's standard control functio commands themselves will not be printed. The first type of special command specifies whether the printer should print lower-ASCII dot patterns or execute the associated control functions. The $CF+ command, exactly as shown, will turn your prins of special commands, which can be sent to the printer from within a program or embedded in a word processing or spreadsheet file. The commands can occur anywhere within a file and will affect only those characters or lines after the command. The specialh (such characters are provided on your CustomFONT PD disk side A. The file is /Symbols). 5) As mentioned in the previous section, your printer may return to normal text mode after printing a custom character. If you are printing in enhanced, double-width, or boldface, you may have to follow your custom characters with appropriate commands (bracketed with a $CF+ and $CF-) in order to continue printing in special text modes. 6) Use of the special commands discussed inASCII subset available to word processing and custom printed with Limited Graphics. ALSO: note that if you have a word processing program that does not allow keyboard entry of lower-ASCII characters, you can still use the remaining keyboard trade-offs inboard symbols). For a complete discussion of printed driver modes, refer to Chapter 10. NOTE: that if you are using one of the two Limited Graphics modes, you can use the "Overlay" command at the View Screen (discussed in Chapter 5) to show the special s standard text font. Limited Graphics mode 1 allows you to display and printer up to 30 custom characters without keyboard trade-off. Limited Graphics mode 2 allows you to display and printer up to 48 custom characters (including trade-off of some keytwo Limited Graphics modes will cause your printer to custom print a special subset of ASCII values; thus custom characters must be stored in special positions in a character set. ASCII values outside the special subset will be printed using the printer'h how customized character sets are created by reading Chapters 2 though 8. Limited Graphics Printing If you are familiar with basic CustomFONT features, note that you can set up your special printer driver for "Limited Graphics." Using one of the SUVWXYZ[\]^_`adesigned and then installed into character sets as detailed in Chapters 4 through 8. Installation of your special printer driver (as detailed in Chapter 10) allows these custom characters to be printed. If you have not already done so, become familiar wit APPENDIX A: WORD PROCESSING CustomFONT can be used together with Apple Writer /// and other word processing programs to include special symbols, business logos, graphics, mathematical formulae, etc. in documents and reports. Custom symbols can be t a particular application, refer to Appendices A though C. though C. For more examples of mixed text and graphics, refer to Appendix H. your printer for unidirectional printing will improve the appearance of vertical lines if they appear to be "wavy" when printed with normal bidirectional printing. Refer to your printer manual for details. NOTE: for more information aboungs will need to be adjusted if vertical spacing is turned OFF somewhere within the file. For areas in which vertical spacing is OFF, such programs will assume you are travelling down the page faster than you actually are. 9) Settinge affected in areas where control functions are disabled. If necessary, use your printer's own margining ability. Refer to your printer manual for details. 8) For some word processing programs, page length and/or lines per page setti the previous section allow control of your printer's normal control functions, vertical spacing, and use of Full Graphics for consistent horizontal spacing. 7) For some word processing programs, margining and fill justification may b Limited Graphics mode 2. FINALLY: note that if you're feeling ambitious, you can "customize" the keyboard trade-offs used in Limited Graphics mode 2 by configuring your special driver in detail. Refer to Appendix F, "Advanced Printer Control." Full Graphics Printing Full Graphics mode will cause your printer to print everything as graphics characters, ensuring consistent horizontal spacing and eliminating the need to remember a special ASCII subset. For a complete discussion of Full Graphics Modensert space between lines of printed text. You can control vertical spacing so that graphics, formulae, and other constructions will be vertically contiguous. Use the "$VS-" and "$VS+" commands (discussed in Chapter 10) to control the appearance of printe commands. If you replace these inverse letters with your own symbols, you should expect to see the new symbols when embedding control commands as well as when using the symbols themselves. Controlling Vertical Spacing Normally, your printer will iCustomFONT Print command (discussed in Chapter 6) to generate keyboard guides to your customized fontfiles. NOTE: that some standard word processing fontfiles contain inverse capital letters in the lower ASCII positions as an aid to using embedded control characters can then be generated on your display by using the Control Key in combination with other keys. In Apple Writer, lower ASCII characters can also be generated as text simply by holding down the Open Apple key when using the Control key. Use the aracters stored in lower ASCII positions can be entered into your texts by using the Control V command to tell Apple Writer that you want to use the Control key for text entry. Most other word processing programs have a similar provision. The lower-ASCIIF-" command, which turns control functions OFF again. These special commands can be embedded anywhere within your file and will not be printed. Refer to Chapter 11 for a complete discussion of the "$CF+" and "$CF-" commands. In Apple Writer ///, chse the special command "$CF+" to turn normal functions back ON. The "$CF+" command also enables escape sequence commands. Note that no custom characters are printable when control functions are turned ON. Custom printing can be restored by using the "$C"tab" (ASCII 9). If you are using your special printer driver, your printer will print the character dot patterns stored in ASCII 1 through 12 and 14 through 31 instead of executing the associated commands (ASCII 0 through 13 are not printable). You can u for other word processing programs, refer to your manual for fontfile loading procedures and fontfile naming conventions, if any. Lower ASCII Characters ASCII values 0 through 31 are normally used to issue special commands to your printer, such as E: that Apple Writer /// only loads fontfiles which end in ".CHR". Thus, you need to save modified fontfiles with this suffix to load them from within Apple Writer ///. When loading the fontfile from within Apple Writer ///, the suffix is omitted. NOTE:ommand, followed by the "Load Character Set" command. You will be prompted for the appropriate pathname of the fontfile you wish to load. Programs which have this feature eliminate the need to install a new system character set using System Utilities. NOT From within some word processing programs, such as Apple Writer ///, the character set used by your system can be changed using a standard command from a menu. From within Apple Writer ///, the system character set can be changed using the Control-Q ced printer driver mode. These commands can be used any number of times within a file, and will not be printed. For a complete discussion of the "$FG+" and "$FG-" commands, refer to the "Special Commands" section of Chapter 11. Changing Character Sets , refer to the section on "Printer Driver Modes" in Chapter 10. NOTE: that if you want to use Full Graphics in some areas and Limited Graphics in others, you can use the "$FG+" command to turn ON Full Graphics and "$FG-" command to return to your configurd output. NOTE: that you may need to increase "page length" and/or "lines per page" when you are using condensed vertical spacing. This is because your word processing program will assume you are traveling down the page faster than you actually are. NOTE: also that for IDS printers, vertical spacing cannot be condensed in areas where control functions are ON. Other Considerations Word processing programs are not really designed to handle graphics and special constructions, and naturally tend to loorizontal spacing and eliminating the need to remember a special ASCII subset. For a complete discussion of Full Graphics mode, refer to Chapter 10. NOTE: that if you want to use Full Graphics in some areas and limited Graphics in others, you can use the "pecify that you are only using, say, two special symbols. Refer to Appendix F, "Advanced Printer Control." Full Graphics Printing Full Graphics Printing mode will cause your printer to print everything as graphics characters, ensuring consistent ho Graphics mode 2. NOTE: also that if you're feeling ambitious, you can "customize" the keyboard trade-offs used in Limited Graphics mode 2 by configuring your special driver in detail. You can create up to 25 keyboard trade-offs in the ASCII subset, or sSCII subset. For a complete discussion of Limited Graphics, refer to Chapter 10. NOTE: that if you are using Limited Graphics, you can use the "Overlay" command at the View Screen (Chapter 5) to show the special ASCII subset for spreadsheets and Limitedeyboard entry of lower ASCII values (0 through 31) is not possible in spreadsheets, keyboard trade-off is required. Limited Graphics mode 2 will allow you to display and print up to 17 custom characters when you trade-off keyboard symbols in the special Aill cause your printer to custom print a special subset of ASCII values; thus custom characters must be stored in special positions in a character set. ASCII values outside the special subset will be printed using the printer's standard text font. Since kth the basic features of CustomFONT by reading Chapters 2 through 8. Limited Graphics Printing If you are familiar with basic CustomFONT features, note that you can set up your special printer driver for "Limited Graphics". Using Limited Graphics wbdefghijen be installed on your spreadsheet boot diskette as detailed in Chapter 9. Installation of the appropriate special printer driver, as detailed in Chapter 10, allows these custom characters to be printed. If you have not already done so, become familiar wi APPENDIX B: SPREADSHEETS CustomFONT can be used with spreadsheets in order to include special symbols as labels. Custom symbols can be designed and installed into character sets as detailed in Chapters 4 through 8. A customized character set can thntained in the file /Symbols on Side A of your CustomFONT PD Boot Disk. /Symbols on Side A of your CustomFONT PD Boot Disk. of the possible limitations of your printer and its ability to mix text and graphics. Make sure you read Chapter 11, "Some Tips on Custom Printing." Finally, note that CustomFONT provides a file of special symbols that you may find useful, and is cok for "words" and "paragraphs". Generally, you will find it easier to edit graphics if you turn off word-wrapping. You can accomplish this in Apple Writer with the Control-Z command. Most other programs have a similar provision. You should be aware$FG+" command to turn ON Full Graphics and the "$FG-" commands to return to your configured printer driver mode. These commands can be used any number of times within a file and won't be printed. For a complete discussion of the "$FG+" and "$FG-" commands, refer to the "Special Commands" section of Chapter 11. Controlling Vertical Spacing Normally, your printer will insert space between lines of printed text. You can control vertical spacing so that graphics, vertical lines, and borders will be ver MENU.MAKER TEXT MODULESEG=0"MENU.MAKER"890&*X=11000: TEXT SLOW-DOWN LOOP ,X.1,180,22:2,280,21:2,2380,23:z:A$="LISTING "+B$(I),16,B)$=01:=0::"80C";A$;::12)>=23:=0::"the Open-Apple key together with the Control key. A Keyboard Guide to the lower ASCII characters can be generated using the CustomFONT Print command (see Chapter 6). You can also specify lower-ASCII values in Write or Print statements by adding 128 to thample programs. PROGRAMMING DISPLAYS For display purposes, you can install custom characters in ASCII "slots" 0 through 31 without trading off any letters, numerals or keyboard symbols. When editing y our program, generate these characters by using stomized character set will be available whenever you boot your Apple ///. If you are programming in Basic, check the Menu.Maker program or programs on other /// SIG PD disks (the Pohlman Softalk articles on fonts are excellent) for more information and exo, become familiar with how customized character sets are created by reading Chapters 2 through 8. A customized fontfile can be specified as the system character set by using the Apple /// System Utilities as detailed in Chapter 9. Thereafter, the cukmnqrstuvwxyzard characters displayed on your screen as you use CustomFONT itself. Symbols for the arrow keys and those nice square corners that surround the Main Menu are examples of how you can create more professional-looking software. If you have not already done s APPENDIX C CustomFONT was originally developed as a tool for designing customized Apple /// displays. You can use CustomFONT to design special symbols for engineering, mathematics, graphics, report formatting, and games. You will see many non-standvides a fontfile full of symbols and non-standard characters that you may find useful. This fontfile is shown in Appendix G and is contained in the /Symbols file on your CustomFONT PD boot disk (Side A). (Side A). Use the CustomFONT Print command to create a Keyboard Guide to your customized character sets, as detailed in Chapter 6 of this manual. Keyboard Guides are particularly useful when keyboard trade-offs are made. Finally, note that CustomFONT proing Advanced VisiCalc, creating special label columns for vertical lines may not be practical. NOTE: also that for IDS printers, vertical spacing cannot be condensed if control functions have been turned ON with the "CF+" command. Other Considerations tically contiguous. Use the "$VS-" and the "$VS+" commands (Chapter 11) to control the appearance of printed output. Rows of labels or values included within areas where vertical spacing is condensed should be double-spaced. NOTE: that unless you are us79C";"PRESS ANY KEY TO HALT LISTING"::202 1020#2,B$(I),16,B)ž#242:::1160Z=1#2;A$:"78A";A$Z=Z+1:Z>1842:::Z=1980*:=23:=0::"79C";"CONTINUE...?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"10CUSTOMFONT BY SWENSON ASSOCIATES: MANUAL e pretty undesirable results. Within your programs, assign the special commands to string variables and then refer to the variable name throughout your program. When making the assignments, use string addition or the Pascal CONCAT function to break up thel Commands" in Chapter 11. Keep in mind that if you use literal strings for sending special commands to your printer, they will perform their functions when you make listings of your programs using your special printer driver. This could lead to somat you can use the "$VS-" and "$VS+" commands to control vertical spacing on your printer, and that you can use the "$FG+" and "$FG-" commands if you wish to use Full Graphics printing selectively. For a complete discussion, refer to the section on "Speciayou will probably want to "bracket" commands with a "$CF+ and a "$CF-". The"$CF-" command turns control OFF again, enabling custom printing. NOTE: that control functions must be turned ON in order to use regular bit image graphics. Finally, note thill print lower-ASCII character dot patterns instead of executing the associated control functions. You can use the special command "$CF+" in order to turn normal control functions ON. Note that no custom characters can be printed while control is ON, so , ensuring consistent horizontal spacing and eliminating the need to remember a special ASCII subset. For a complete discussion of Full Graphics Mode, refer to Chapter 10. Special Printer Commands Once your special driver is installed, your printer wrd trade-offs used in Limited Graphics mode 2 by configuring your special driver in detail. Refer to Appendix F, "Advanced Printer Control." Full Graphics Printing Full Graphics mode will cause your printer to print everything as graphics characters you can use the "Overlay" command at the View Screen (see Chapter 5) to show the special ASCII subset available to Business Basic/Pascal and custom printed with Limited Graphics. NOTE: also that if you're feeling ambitious, you can "customize" the keyboaed Graphics mode 2 allows you to display and print up to 48 custom characters, including trade-off of some keyboard symbols. For a complete discussion of Limited Graphics, see Chapter 10. NOTE: that if you are using one of the two Limited Graphics modes, in special positions in a character set. ASCII values outside the special subset will be printed using the printer's standard text font. Limited Graphics mode 1 allows you to display and print up to 30 custom characters without keyboard trade-off. Limitl. You can set up your special printer driver for "Limited Graphics" or "Full Graphics." Using one of the two available Limited Graphics modes will cause your printer to custom print a special subset of ASCII values, thus custom characters must be stored not available for custom printing. Limited Graphics Printing If you are writing software that will be using custom symbols in printed reports, install the special CustomFONT printer driver on your system disk as detailed in Chapter 10 of this manuae appropriate ASCII value. If you want to specify a character stored in ASCII 3, for example, specify "CHR(131)" in Pascal or "CHR$(131)" in Basic. If you are working on displays only, you can store custom characters in ASCII 0 through 13, which are 4-character special commands. Other Considerations If you are using Pascal, be aware of some quirks associated with the Pascal Editor. Specifically, lower-ASCII characters cannot be entered in the "X(change",, "F(ind" or "R(eplace" commands. Lower ASCII characters must be entered using "I(nsert". When designing custom reports, be aware of the possible limitations of your printer and its ability to print mixed text and graphics. Refer to Chapter 11, "Some Tips on Custom Printing". Once NOTE: This file is also on this disk as a Business Basic program, slug is "/FONT.PROGRAMS/DOWNLOAD.1". This program will search the Apple3 memory from 0C00 to 0FFF and extract the font which resides there. It will then write it to a basic TEXT file whe remainder of this appendix, the location of these values will be described using the coordinates at the top and left of the configuration block, i.e. the top left position will be referred to as "field 00". The first few values (fields 00-01 ffications return. 7) Type "6" for "Configuration Block". The configuration block for your special printer driver will subsequently appear on your screen. As you can see, the configuration block is composed of rows of hexadecimal values. For tt delay, a list of drivers will appear. 5) Press . At the menu, type "E" for "Edit driver parameters." The list of drivers will return. 6) Using the arrow keys, indicate your special printer driver and press . A menu of possible moditilities disk. 2) Goto the "System Configuration Program" 3) Place the disk containing the driver you wish to modify in the built-in drive. 4) Type "R" for "Read a driver file" and press to accept the pathname ".D1/SOS.DRIVER". After a shor{}~ion block are in hexadecimal format; the hexadecimal value of a number of character can be determined by referring to the hexadecimal table included in this appendix. To reach the configuration block, follow this procedure: 1) Boot up the System U APPENDIX F: ADVANCED PRINTER CONTROL Configuring Your Special Driver in Detail You can gain control over Limited and Full Graphics printing by manipulating the configuration block of your special printer driver. All of the values in the configurattfile is in the file /Symbols on the CustomFONT boot disk. tomFONT boot disk. d character set (beyond ASCII 127), turn control functions ON via the "$CF+" command to access the upper half of the character set. Finally, note that CustomFONT provides a file of special symbols that you might find useful as a programmer. This fonget form feeds. If you are using the Apple /// System Utilities to send program listings to your printer, keep in mind that the System Utilities downloads its own special character set into the system. If you are using a printer with an extendescal Assembler and Compiler listings will insert form feeds (ASCII 12) in your listings. If you print these listings using your special printer driver with control functions OFF, you'll see the ASCII 12 dot pattern between pages, and naturally, you won't again, remember that control functions must be turned ON via the "$CF+" command in order to send regular bit image graphics information. When using bit image graphics, make sure you don't send a byte pattern that corresponds to "$CF-". Note that Pahich can be used as a FONT file by the SCP. Written by Daryl Anderson. Uses PeekPoke.INV Invokable and Request.Inv Invokable modules. 1 CREATE".d2/fontset", TEXT 10 DIM intarray%(1024),newarray%(512) 20 index=0 30 INVOKE"peekpoke.inv","/req CONTROL PEEK PEEK POKE POKE  ------h&h'h,h-h*h+h(h)./0()*,./0'H&H`---------- END OF POKE ----------~|zxvsplkhea\YVRPL0---------- START OF PEEK ----------h&h'hhhhh*h+h(h),-.()*HH,-.'H&H`---------- END OF PEEK ----------zxvtqnjifcUROKIL2---------- START OF POKE ----GA3/1.01:7SY PEEK  1035 j=j+1 1040 NEXT i 1050 RETURN ="newarray%" 130 PERFORM filwrite(%1,@array$,%1024) 140 CLOSE#1 150 END 1000 j=0 1005 FOR i=0 TO 1023 STEP 2 1010 a$=RIGHT$(HEX$(intarray%(i)),2):b$=RIGHT$(HEX$(intarray%(i+1)),2) 1020 anew$=a$+b$ 1030 newarray%(j)=TEN(anew$) uest.inv" 40 xbyte=INT(TEN("FF")) 50 FOR i=TEN("0C00") TO TEN("0FFF") 60 addr=INT(i) 70 x= EXFN%.peek(%addr,%xbyte) 80 intarray%(index)=x 90 index=index+1 100 NEXT i 105 GOSUB 1000 110 OPEN#1,".d2/fontset" 120 array$GA3/1.01:7SY Appendix D: Technical Reference How Character Sets are Stored Each character is stored as a 7-by-8 bit array. Bits corresponding to pixels which are "ON" are set with a value of one; background bits are set to zero. The 7-by-8 bit array is storain, please follow the instructions as provided in your respective manuals. Make sure you have 32 K of graphics space allocated on any boot disk with which you will be executing CustomFONT. Make sure you install the appropriate printer driver o /System.Miscinfo /Swenson -------------> /Swenson NOTE: The subdirectory name MUST be /CFONTB. After you have copied the above files, you will have to set up the proper menu selection from Catalyst or Selector. Ag. For Example: /CFONTB/System.Startup ------------->/Profile/CFONTB/CFONT.CODE /System.Star.Lib -------------> /CFONT.LIB /Help -------------> /Help /System.Miscinfo -------------> . Basically, you will have to create a subdirectory "/CFONTB" under which you can copy the following files from side 2 of your CustomFONT PD program disk. It must be at the first level to operate properly (it will not load the /Swenson fontfile otherwise) APPENDIX E: CUSTOMFONT ON HARD DISKS Setting Up Your Hard Disk (This section on Catalyst and Selector added by WAP /// SIG) In Order to run CustomFONT from Catalyst or Selector, please refer to your respective manuals for exact installation proceduresd using the Apple /// System Utilities as detailed in Chapter 9 of this manual. fontfile is stored as a three block data file (two blocks for data and a third block for system information). The character set used as the "system character set" is defined in the file "SOS.DRIVER" on any boot disk. The system character set can be changeo zero, the foreground and background will be exchanged when inverse mode is on. If all high bits are set to one, the character will flash when inverse mode is on. For more information on making characters flash, see Chapter 8. Every character set ed as eight consecutive bytes - one byte for each row starting with the top row. Within each of the eight bytes, bit 0 corresponds to the lest-most pixel. Bit 7 determines how each row of the character is displayed in inverse mode. If bit 7 is set tn the disk you will be using to boot your system so that you can print ASCII tables and Keyboard Guides. Follow the procedure detailed in Chapter 3, and make sure the driver is named ".CUSTOM". (Continuing with CustomFONT manual instructions) In order to run CustomFONT from your hard disk under UCSD Pascal, follow the appropriate procedure outlined below: For the Profile: 1) Start up the Apple /// System Utilities 2) Type "F" for "File Handling Commands". 3) Type "M" for "Make a new Subdirectoexecute CustomFONT by using the Pascal X(ecute command followed by: /PROFILE/CFONTB/CFONT for Profile users /CFONTB/CFONT for users of other hard disks an print ASCII tables and Keyboard Guides. Follow the procedure detailed in Chapter 3, and make sure the driver is named ".CUSTOM". Executing CustomFONT from Pascal If you have followed the appropriate procedure detailed above, you will be able to Options menu. Make sure you have 32 K of graphics space allocated on any boot disk with which you will be executing CustomFONT. Make sure you install the appropriate printer driver on the disk you will be using to boot your system so that you c) Rename the new volume "/CFONTB". 9) Quit the Apple /// System Utilities and return to the Pascal Command Line. 10) Type "O" for "Options". 11) Type "A" for "Change Graphics space allocation." 12) Type "D" to specify 32K. 13) Type "Q" to quit to the n -------------> /Swenson /Help -------------> /Help /System.Miscinfo -------------> /System.Miscinfo 5) Press 6) Goto "Device Handling Commands" 7) Goto "Rename a Volume". 8ds and type "C" for "Copy Files". 4) Transfer the following files from side 2 of your CustomFONT PD program disk: /CFONTB/System.Startup ------------->/CFONT/CFONTB/CFONT.CODE /System.Star.Lib -------------> /CFONT.LIB /Swensoow the procedure detailed in Chapter 3, and make sure the driver is named ".CUSTOM". For hard disks other than Profile 1) Use the appropriate utility to create a new SOS volume called "/CFONT". 2) Boot up System Utilities 3) Goto File andling Commanraphics space allocated on any boot disk with which you will be executing CustomFONT. Make sure you install the appropriate printer driver on the disk you will be using to boot your system so that you can print ASCII tables and Keyboard Guides. FollApple /// System Utilities and return to the Pascal Command Line. 9) Type "O" for "Options". 10) Type "A" for "Change Graphics space allocation." 11) Type "D" to specify 32K. 12) Type "Q" to quit to the Options menu. Make sure you have 32 K of gm.Star.Lib -------------> /CFONT.LIB /Swenson -------------> /Swenson /Help -------------> /Help /System.Miscinfo -------------> /System.Miscinfo 8) Quit the pe "C" for "Copy files". 7) Place the CustomFONT PD disk side 2 in the built-in drive. Transfer the following files from the CustomFONT disk to the new Profile subdirectory: /CFONTB/System.Startup ------------->/Profile/CFONTB/CFONT.CODE /Systery". 4) You will be prompted for the name of the subdirectory you wish to create. Type "/Profile/CFONTB" (or whatever your Profile is named) and press . 5) When prompted for the file capacity, type "5". Press . 6) Press . TyL `L5".ram/fontset",# intarray%(1024),newarray%(512) index=0""peekpoke.inv"," request.inv"(xbyte="FF"))2i="0C00")"0FFF") <addr=i)Fx=peek(%addr,%xbyte)Pintarray%(index)=xZindex=index+1di i1000n#1,".ram/f1)FONT.CODE#! FONT.INFO- - )FONT.TEXT",FONTCAP.CODE / FONTCAP.INFOO--,FONTCAP.TEXT  FONT.PROGRAMSv5'  '-CSET.PAS.CODE#" CSET.PAS.INFOP---CSET.PAS.TEXT 4/DOWNLOAD.1 6DOWNLOAD.1.INFO-- /DOWNLOAD.1.TEXTO^FILWRITE FILWRITEGETRFNM RTRFNM ERROR ^ROR DOARRAY OARRAY  ERROR ?BUFPNT NT DEVINFO DEVINFO MOVESTR FILREAD FILREAD BUF :4 GETRFNM BUFPNT OJNT ERROR ROR DOARRAY e=TPARMSERROR uROR BUFPNT BMOVESTR REQNUM UUM BLDSTRN DSTRN BUF pia RETURN RETADR  GETPARMSFREQNUM BUF "CONTROL CONTROL RETURN RETADR GETPARMS TPARMSERROR ROR STATUS STATUS BLDSTRN ,BUF |F GETPARMSca` hhh5h66HH :5HHH) @  hhh g5ȱg6ȱg@ ɀL g eegghI8e556l6m `  hUhVh8 ㅊ eh֭VHUHk`HFB>;:9853/&" NL64Ch5h6h3lh4m 0/L6H5H`g8640'%76,V^dKA;6hWhXhhhQlhRm e Nb YMH YhLSꈭTXHWH`gca` hhh5h66HH :5HHH) @  hhh g5ȱg6ȱg@ ɀL g eegghI8e556l6m `  hUhVh8 ㅊ eh֭VHUHk`HFBhhHHHH l5m6m6  ЙW5X6X6 ` 5`MD32KA;6hWhXhhhQlhRm e Nb YMH YhLSꈭTXHWH`g##6 >?Bi{Ci|) |=! "LL{@?>8(O\ F9 >{i 5|i6) 6|8 L5{ hhhh0 hWhXXontset"xarray$="newarray%"filwrite(%1,@array$,%1024)#1j=0i=0102325a$=intarray%(i)),2):b$=intarray%(i+1)),2)anew$=a$+b$newarray%(j)=anew$) j=j+1ion by following this procedure: 1) When you are ready to exit the configuration block, press three times. 2) Type "G" for "Generate new system". 3) Make sure the disk you want to modify is in the built-in driv the "O)verlay" command may no longer indicate the actual set of custom printable ASCII values. Overlays correspond to predefined driver configurations only. Once you are satisfied with your driver's configuration, you can save the modified versil not custom print anything except the two values you specify. That way, you can be sure that tall standard symbols have a consistent appearance in Limited Graphics. Finally, note that once you have modified the driver to your own specifications,umber of custom symbols available (up to 25), or specify that you are only using, say, two special symbols. If you specify in the configuration block that only two special symbols are being used, and you enter the appropriate values, they your printer wilo be custom printed, these values must be defined in the fields immediately following. Again, refer to the hexadecimal table for appropriate values. For any application using Limited Graphics mode 2 (such as Visicalc), you can either extend the nASCII values to be custom printed. The maximum value you can set is 25 ("19" in hex format). The following fields contain the hexidecimal value of each ASCII character in this special set. Note that if you specify a given number of keyboard ASCII values te remaining files govern Limited Graphics mode 2 only, and define the ASCII values in the keyboard subset (ASCII 32 through 127) to be custom printed. The first field (field 05 for serial drivers; 08 for parallel drivers) specifies the number of keyboard Graphics mode. Note that this range is predefined as 00-ff, which corresponds to ASCII values 0 through 255. By changing these values, you can redefine this range. Refer to the hexadecimal table following this section for appropriate values. Thver modes is provided in Chapter 10. The next two fields to the right of the mode specification (fields 03 and 04 for serial drivers; 06 and 07 for parallel drivers) contain values which define a range of ASCII values to be custom printed in Full ues should not be changed. The next field (field 02 for serial drivers, field 05 for parallel drivers) specifies the driver mode. As you will recall, the driver mode is set by entering the values 01,02 or 03. A detailed discussion of printer drior serial drivers; 00-04 for parallel drivers) govern the communications between your Apple /// and your printer. These values specify parameters such as speed of data transfer, and for this reason, they sometimes vary from printer to printer. These vale, and when prompted for a pathname type ".D1/SOS.DRIVER" and then "Y" in response to the delete request. Press . NOTE: you could also save this to .D2 or other disk if you so desired.) 4) Quit the system Configuration Program and the Apple /// System Utilities. Reboot the system. Your new driver configuration is now available. ----------------------------------------------------------------------------- FIGURE 1: Typical Predefined Serto load a partial character set (0 .. 8 characters) } ResetViewPort = 1; { Force viewport to full screen of current mode } Normal = 17; { Set normal display } Inverse = 18; { Set inverse display } Home Program Probe; { To demonstrate screen handling } Const Console = 2; { Pascal unit number for the console driver } LoadFont = 16; { Console device request to load entire screen font. } LoadPartialSet = 17; { Console device request 38 8 | 75 4B K | 94 5E ^ |113 71 q | | |__________|__________|__________|__________|__________|__________|__________| SI | 34 22 " | 53 35 5 | 72 48 H | 91 5B [ |110 6E n | | | 16 10 DLE| 35 23 # | 54 36 6 | 73 49 I | 92 5C |111 6F o | | | 17 11 DC1| 36 24 $ | 55 37 7 | 74 4A J | 93 5D ] |112 70 p | | | 18 12 DC2| 37 25 % | 56 25 7D } | | 12 0C FF | 31 1F US | 50 32 2 | 69 45 E | 88 58 X |107 6B k |126 7E ~ | | 13 0D CR | 32 20 spc| 51 33 3 | 70 46 F | 89 59 Y |108 6C l |127 7F * | | 14 0E SO | 33 21 ! | 52 34 4 | 71 47 G | 90 5A Z |109 6D m | | | 15 0F 54 T |103 67 g |122 7A z | | 9 09 HT | 28 1C FS | 47 2F / | 66 42 B | 85 55 U |104 68 h |123 7B { | | 10 0A LF | 29 1D GS | 48 30 0 | 67 43 C | 86 56 V |105 69 i |124 7C | | | 11 0B VT | 30 1E RS | 49 31 1 | 68 44 D | 87 57 W |106 6A j |1 + | 62 3E > | 81 51 Q |100 64 d |119 77 w | | 6 06 ACK| 25 19 EM | 44 2C , | 63 3F ? | 82 52 R |101 65 e |120 78 x | | 7 07 BEL| 26 1A SUB| 45 2D - | 64 40 @ | 83 53 S |102 66 f |121 79 y | | 8 08 BS | 27 1B ESC| 46 2E . | 65 41 A | 84 | 21 15 NAK| 40 28 ( | 59 3B ; | 78 4E N | 97 61 a |116 74 t | | 3 03 ETX| 22 16 SYN| 41 29 ) | 60 3C < | 79 4F O | 98 62 b |117 75 u | | 4 04 EOT| 23 17 ETB| 42 2A * | 61 3D = | 80 50 P | 99 63 c |118 76 v | | 5 05 ENQ| 24 18 CAN| 43 2B Hex Cr| |----------+----------+----------+----------+----------+---- -----+----------| | 0 00 NUL| 19 13 DC3| 38 26 & | 57 39 9 | 76 4C L | 95 5F _ |114 72 r | | 1 01 SOH| 20 14 DC4| 39 27 ' | 58 3A : | 77 4D M | 96 60 ` |115 73 s | | 2 02 STX---------------------------------- Hexadecimal Table ____________________________________________________________________________ |Dec Hex Cr|Dec Hex Cr|Dec Hex Cr|Dec Hex Cr|Dec Hex Cr|Dec Hex Cr|Dec E F -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 0X - 00 00 00 00 5A 01 00 FF 12 21 22 23 26 2A 3C 3E 1X - 3F 5B 5C 5D 5E 60 7B 7C 7D 7E 7F -------------------------------------------- 1X - 5D 5E 60 7B 7C 7D 7E 7F ----------------------------------------------------------------------------- FIGURE 2: Typical Predefined Parallel Printer Driver Configuration 0 1 2 3 4 5 6 7 8 9 A B C Dial Printer Driver Configuration 0 1 2 3 4 5 6 7 8 9 A B C D E F -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 0X - 08 22 01 00 FF 12 21 22 23 26 2A 3C 3E 3F 5B 5CClear = 28; { Home cursor and clear screen (viewport) } ClearLine = 30; { Clear current line } SetMode = 16; { Lead in to set text screen mode } bw40 = 0; { 40 x 24 monochrome text screen } bw80 = 2; { 80 PROGRAM FONTCAPTURE; VAR "DRIVERFILE,FONTFILE:FILE; "RESPONSE: STRING; "DBUF: PACKED ARRAY[0..1534] OF CHAR; "FBUF: PACKED ARRAY[0..1023] OF CHAR; "  BEGIN "WRITELN; "WRITELN; "WRITELN; "WRITELN;WRITELN('FONTCAPTURE...'); "WRITE('Insert disk { A short, ghost underline } CSet [19] := chr ( 2); { This is STX--write it as chr (130) } CSet [23] := chr (127); { A horizontal line at mid-character } { Prepare the UNITSTATUS parameter } LoadSet.Channel := OutChannel; { Probably doesn't m [ 1] := chr ( 0); { This is ASCII NUL--write it as chr (128) } fillchar (CSet [2], 7 { rows }, chr (127)); CSet [ 9] := chr (255); { A flashing underline } CSet [10] := chr ( 1); { This is SOH--write it as chr (129) } CSet [18] := chr ( 84); close (FontFile); Mode [0] := chr (SetMode); Mode [1] := chr (bw40); Mode [2] := chr (ResetViewPort); { Prepare the character set definitions. } fillchar (CSet, sizeof (CSet), chr (0)); CSet [ 0] := chr ( 3); { Define 3 characters } CSetFont; unitstatus (Console, FontBuf, LoadSet); gotoxy (0, 21); write (chr (ClearLine), 'Press to continue: '); read (ch); writeln; end; { Show } begin { Probe } reset (FontFile, Standard); FontBuf := FontFile^; ; LoadSet.ReqNum := LoadPartialSet; unitstatus (Console, CSet, LoadSet); { Load the 3 characters } writeln; gotoxy (0, 21); write ('Press to continue: ', chr (128), chr (8)); read (ch); LoadSet.ReqNum := Load; if Mode [1] = chr (bw40) then writeln; writeln ('shouldn''t change.]'); writeln; Sample (false); { Show the new characters in normal display } writeln; Sample (true); { Show the new characters in inverse display } writelnmeClear)); { Home cursor and clear the screen } writeln; writeln ('Demonstration of character set changes:'); write ('[Characters before (', chr (127), ') and after (', chr (131), ') ')te (chr (j)); writeln (chr (Normal), '<<<'); writeln; end; end; { Sample } procedure Show; { Set up the screen and change the character set } begin { Show } unitwrite (Console, Mode, sizeof (Mode),, 12); write (chr (Ho{ Loop index } j: integer; begin { Sample } for j := 128 to 130 do begin { Make lines of the characters to be redefined } write ('>>>'); if SetInverse then write (chr (Inverse)); for i := 1 to 20 do wri. } FontBuf: Font; { To contain a character font. } Procedure Sample (SetInverse: boolean); { Write out lines of the redefined characters. Put them in inverse form if SetInverse is TRUE. } var i: integer; t: packed array [0 .. 26] of char; { Contains the definition buffer for three characters } Mode: packed array [0 .. 2] of char; { To set screen mode } FontFile: file of Font; { To read font for restoration an endum: 0 .. 255; Reserved: 0 .. 63; end; Font = packed array [0 .. 1023] of char; Var ch: char; { Throw-away buffer } LoadSet: DevRequest; { UNITSTATUS parameter to load partial character set } CSe x 24 monochrome text screen } Standard = ':Standard'; { Pathname of the standard font file } Type DevRequest = packed record; Channel: (OutChannel, InChannel); ReqKind: (DevStatus, DevControl); ReqNwith font to be captured in .D1 and press RETURN.'); "READLN(RESPONSE); "RESET(DRIVERFILE,'.D1/SOS.DRIVER'); "IF BLOCKREAD(DRIVERFILE,DBUF,3)<>3 THEN EXIT(PROGRAM); "MOVELEFT(DBUF[28],FBUF[0],1024); "CLOSE(DRIVERFILE); "WRITELN; "WRITELN; "WRITE('Now insert a blank disk in .D1 and press RETURN.'); "READLN(RESPONSE); "REWRITE(FONTFILE,'.D1/FONTFILE'); "IF BLOCKWRITE(FONTFILE,FBUF,2)<>2 THEN EXIT(PROGRAM); "CLOSE(FONTFILE,LOCK); "WRITELN; "WRITELN; "WRITELN('The font has been captured and is narol); reqnum : 0..255; reserved: 0..63; end; font = packed array [0..1023] of char; var ch : char; loadset : devrequest; fontfile: file of program download; const console = 2; loadfont = 16; home = 28; type devrequest = packed record channel : (outchannel,inchannel); reqkind : (devstatus,devcontatter here } LoadSet.ReqKind := DevControl; LoadSet.Reserved := 0; Show; Mode [1] := chr (bw80); Show; writeln ('Done.'); end. end. )צ0Now insert a blank disk in .D1 and press RETURN.OP .D1/FONTFILExˡ0The font has been captured and is named FONTFILE)צFONTCAPTURE...צ=Insert disk with font to be captured in .D1 and press RETURN.OP).D1/SOS.DRIVER)xˡxx)צ0Now insert a blank disk in .D1 and press RETURN.OP .D1/FONTFILExˡ0The font has been captured and is named FONTFILEץ))OצFONTCAPTURE...צ=Insert disk with font to be captured in .D1 and press RETURN.OP).D1/SOS.DRIVER)xˡxxFONTCAPT med FONTFILE');  END.  font; fontbuf : font; reply : string; begin write (chr(home)); write ('Enter pathname of font to download:'); readln (reply); reset (fontfile,reply); fontbuf := fontfileǀǂȡhצ>>>ء ȡצ<<<pK  צ'Demonstration of character set changes:[Characters before (LPROBE F$ 8 T34PEMOUT8ץ+צ#Enter pathname of font to download:+P++쨂 ?+   DOWNLOAD (chr(home)); end. end. ^; close (fontfile); loadset.channel := outchannel; loadset.reqkind := devcontrol; loadset.reserved:= 0; loadset.reqnum := loadfont; unitstatus (console,fontbuf,loadset); write  ) and after (ǃצ) áshouldn't change.] צPress to continue: ǀ; צPress to continue: ץ; :Standard;    To NOTE The Pascal versions of the following programs are also on this directory. CSET.PAS.CODE FONT.CODE FONTCAP.CODE They can all be run directly from Pascal should you desire, but Menu.Maker CAN NOT run them. READ.ME// resides there. It will then write it to a basic TEXT file -: which can be used as a FONT file by the SCP. You must first copy the -: PEEK.POKE.TEXT first, assemble it, and then INVOKE it. You also need the -: REQUEST.INV from the BASIC Master disk. SLUG: FONTSE CONTRIBUTOR: [71505,446] DATE: Apr 25 84 SIZE: 715 KEYWORD: APPLE3 FONT MEMORYSEARCH DESCRIPTION: - -: This program will search the Apple3 memory from 0C00 to 0FFF and extract -: the font which SLUG: FONT CONTRIBUTOR: [71505,446] DATE: Oct 27 83 SIZE: 1095 KEYWORD: FONT DESCRIPTION: - -: Font Downloading program in Pascal for the Apple ///. -: - file and saving it off to another file for future use. -: Very useful if you would like to obtain a font character set from a driver -: file that you otherwise could not save. -: Requires PASCAL. -: - SLUG: FONT.CAP CONTRIBUTOR: [74666,3660] DATE: Jun 30 85 SIZE: 490 KEYWORD: FONT FILE PASCAL DESCRIPTION: - -: A modification of a short program by Dan Wade for 'capturing' a font file -: from a SOS.DRIVER sets into the text font area, along with some other text -: manipulations. SLUG: CSET.PAS CONTRIBUTOR: [71735,1626] DATE: Oct 22 83 SIZE: 4375 KEYWORD: PASCAL FONTS APPLE 3 DESCRIPTION: - -: An Apple /// Pascal program which demonstrates loading partial and full -: character ?Done.p  shouldn't change.] צPress to continue: ǀ30C$="N"C$="n"1160;:=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING": $1020.202 8::Z=1B::=23:=0::"79C";"WOULD YOU LIKE A PRINTED COPY?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"1170*C$="N"C$="n" MENU.MAKER FONT MODULESEG=0"Menu.Maker"D"Download.Inv"NC$=B$(I),16,B)Xarray$="C%"bname$=34)+C$+34)lgetfont(@name$,@array$)vloadfont(@array$)J=1:SAME=0".D1/MENU.MAKER",320EAD PASCAL TEXT FILES."04=10:"78C";"ANY KEY RETURNS TO THE MENU."!>G$:::".D1/MENU.MAKER",320R",220(204::"79A";""; 2D=1:F=1 <#4;a$ FD=D+1 P#5;a$ZD=60#5;12)dD=60D=1nF=F+1::d$;::Y=1100:Y x13402  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T R".D1/MENU.MAKER",220 d$="" A$="PRINTING "+B$(I),16,B)=01:=0::"80C";A$;:#3,B$(I),16,B)Z=1#3;b$:"78A";b$Z=Z+1:Z=18:1290 1260 #4,B$(I),16,B)#5,".PRINTER"+ž#4#5;12):::".D1/MENU.MAKE