IMD 1.15: 15/05/2007 14:11:22 fog mis 006         -FOG/MIS006FANCFONTCOM@FANCFONTDM1 FANCFONTDM1'FANCFONTDM2@ !"#$%&'()OSBDSCIOC ,OSCREEN BASOSMDIO C FANCFONTDOC*DISK DOC+*K2+ 2 '+FÎrw#w#w^#V#*~#fo^#*~#fo^#V#*n^#*n^#V# ~#fo^#& ~#fo!+!#!+!#!+!+}|z{|}|z7||7zZZ)|/g}/o#|͉k|/g}/o#ɯ2qZZk:q|/g}/o#|/g}/o#:q<2qqDM!xxGyO҃)v|͔`i|)Öxڷz/W{/_ѯzW{_=yOxGæ2qZZ͉M|}ȯ|g}o)|/g}/o  #z/W{/_!9~#fo! ! ! ! ! ! !9~#A"s!*"!"!Y">2>2>22!"!"!@"!" ʞ!sF#x±~#±!s2r~# "2r+}|~#G:rx"2r^#V#%͟5)))CX~/6G~`2#V ùdÖÖ MM I!9DM̓|r58`i6#6! ;!!>!@!>͐̓_ ! ! ~#fo͐)~#foA++|͐|! ;8`i6#6Û! ~#fo+w# +6# !g6#2w2x*s!>r<o&F=-` r'~h6!+`W ?_!g~7z?` :>ª@w#G.¶ww#?*>?w#> w#.7:77)~#fo! D!! ! ! G! M! J! P! S`i^#Vr+sÛ!!>!!@>!9Make sure printer is 'On Line' loop:Nothing to print. Name of file to be printed> Printing %s . . . (Control-C to interrup!a{   `OE g!y6$ -7rBo&))T])))!y':7?h#D/6:?>$:?$:)?$l,:>#)Ÿ#>67:+?7#*+?|°#2ͩ7#>67:+?7>#7>67:,?7#*+?"?)t) d!]  !  !  !  !L  !i  !  !  !  !  This program requires a 48K CPM system and an Epson MX80, MX80FT or MX100 printer equipped with GRAFTRAX80 or PLUS. The program demonstrates the amazing quality#>7:+?7>s7>@2?#2ͩ7#)$:"?=2"?))$>s7#͎)5$2:>/$2ͩ7#3ͩ7#* ?"?*+?"?:)?ʟ$:>€$)s$>>7:+?72ͩ7#2ͩ72?#)s$>7:+?7>{72ͩ7#)¸$:)?‘$>}72v$:)?1.͎)$>&773v$:) and variety of printing fonts available with the Fancy Font (TM) System. To use this program, type: FancFont for example: FancFont FancFont.DM1 or FancFont FancFont.DM2 For additional information, contact: So?$l,Ä#:?$u-l,$:)?>%>7l,>7>@2)?$* ?"?R3ͩ7:?2?"?|O%}@%3ͩ7V%C%4ͩ7>G>)7[%#͔+:*ͅ--l,͟5ʍ%y*/6#ͅ)%3ͩ7,[*y*ͅ--l,%ͅ)%3ͩ7>2#?0,~Č;#ftCraft (213) 641-3822 8726 S. Sepulveda Blvd. Suite 1641, LA, CA 90045. b zhX üù!x9DM!p w#w! `is#r̓pP !p s#rzO ̓p|ʽ !p ^#Vr+s! ̓ps6 ̓pS !p s#r̓p| ̓p#| ̓p͐V !p w#w̓  p#| O 6 !p ^#Vr+sz6 !p ^#Vr+s! 6 Y |L \ +++|L _ | !p9^ Ö!9DM! ^#Vr+szʔ !! ^#Vr+sn&[ f Ü !9DM͐n&͙ ͐n&͙  ͐n} ͐n} ! ^#Vr+s! ^#Vr+sä ͐n}͐ns{ ͐!9$Ãd!y9DM! `i`i!!9Oñ!9DM͐i!͐~#foLÆ6ô!9DM͐|}_͐+++|´!̀_͐##^#Vr+sz͐^#Vr+sn&_!͐͐~#fo̓`is#r} !!!48i!9DM͐|f͐!"͐!"%͐ |ʠ͐!.(#| !%͐+͐ ͐+͐͐.#|͐!'"͐"͐!H%͐ |͐!.1#|!K͐!͐##^#Vr+s_͐##͐?+s#r͐͐s#r͐^#Vr+sn&_!9nz!9DM͐k`is#rz͐k! s#rz͐?͐ú!ú!9!9DM! n&|! n&! n&!9+͐ ͐+à͐%s%s.Can't open file: %s; try again? %s.YK!9DM͐`is#r͐n}ʫ͐n&P|ʝ͐͐n&Ssë! ^#Vr+sk! ^#Vr+sn}͐͐n&Vsë͐!9!9DM`iw#w! ~#fo͐DM`iw#w! ^#Vr+sn}(`i^#Vr+s ͐/!9A* !!y9DM`i;! `i>`!9!9DM͐`is#r͐n}ʓ! ^#Vr+s{! ^#Vr+s͐ns! ^#Vr+sn}“͐!9W !9DM͐!͐s#rz!͐#n! n}/! ~#fo͐n}/`i^#Vr+s! ~#fo͐n! n}͝U͐X![!9j!9DM͐n}ʔ! ^#Vr+sn&grâ6I!9DM͐+|! n&͙͐++|! n&!͐͜+++|! n&!͜#w#w͐~#fo?!9DM! n&|ͣG! n&|ͣQ?!9DM! n&N|x! n& }! n&ÒnG!h9DM! ^#Vr+s~#fo! s#r͐! s#r! ^#Vr+sn`is{`in}%! ! s#r! 6#6! s!++++|7! n} $! !͜! n&!͐͜##^#Vr+szh͐^#Vr+s! ns&!͐͐~#fo͟ʒ!͐##6#6͐͐s#r͐^#Vr+s! ns&!9DM͐`is#r! ^#Vr+s! ^#Vr+sn s! s͐n}-"! ^#Vr+s! 4͐n}02! 4͐n&͉}O! ͌R!! s#r! ^#Vr+sn`is{.š! ͌! s#r! 4! ^#Vr+sn`is`in&͏}DUX OCZSʋ÷͐~#fo|! ^#Vr+s6-͐͐~#fos#r! ^#Vr  +s! 6 ! 6! 6! ~#fo! n&! ^#Vr+s~#fo! ͆ѯgs#r! ^#Vr+s! ^#Vr+s~#fos! ^#Vr+s! n}ž! 6#6! ^#Vr+s~#fo! s#r͐n}͐|! ^#Vr+s! ^#Vr+sns! ^#Vr+s! ^#Vr+s ^#Vr+s~#fo͐ ͐?s#r! 4h! n&6!9!9DM! n&Aͯj! n&Zͯtn!9DM͐͐ ͐^#Vr+s͐ ұ͐0ù͐7s!&͐ ͐͐ ͉͐q`is͐ ͐͐ )͐qù͐6! ! s#r! n}Z! ^#Vr+s!Z! ^#Vr+s! n}Q!0T! s͐! ^#Vr+sns{ʃ! ^#Vr+sZ! n}ʴ! ^#Vr+s!Ҵ! ^#Vr+s6 Í! ^#Vr+s`ins! ^#Vr+s`ins͐6!9!9DM! n&`in&#&!9!9DM! n&0ͯC! n&9ͯM!9DM`iw#w͐~#fon&J}ʚ͐ ?͐^#Vr+snѯg`is#r[͐á!9!9DM! n} ͝! n} ͝! n} ͝ê!9DM͐~#fon`is|aͯ! n&zͯ3ê#Û !9DM! ^#Vr+s~#fo! s#r͐! s#r! 6! ^#Vr+sn! s{,͐n}•! n&6! n&$|ʩh! n}%! n! '! n&6! ^#Vr+s)! 6#6! 6 `i6! ^#͐^#Vr+s`in&!9/!9DM! n&)! s&|g! n&sÏ! n&,}ʊ! n&sÏ!! n! n&+Ү!÷! n& :w&o o&:wo2w&!o  Vr+sn! s{*+`i4! ^#Vr+sn! s! n&*}XYObDkUʑSCʰ! 6Ñ! 6Ñ! '-‘! 6#6! ^#Vr+s! w#w! n&! '-#|! n&6! n&! ^#Vr+sn&-! s{͐ ! nѯg?! n. &   > _ *7:O*o`7:)~:,"s!"u*|*uʯ*~#†"*s*u¯#"u*+"s#7:)~:,"s!"u*| **s ! ѯg! s#r! ^#Vr+s! '͐ ~#fo! s#r! ^#Vr+sn! s{ʎ! n͐n}n! ^#Vr+sÎ`in}‹! ^#Vr+s! ns6`in}­! 4͐6! ^#Vr+sh`in}͐n&! ^#Vr+s~#fo0! 4! ^#Vr+sh! n&6`in})! ~ 6*u*+"*"*u#"u 6  #F#xR ~#E 7,2q*&:q):ʓ =ʓ =r:qo&7*:w  /* osbdscio.h = bdscio.h modified for the Osbourne 1 by: Dan Sunday 7473 Broken Staff Columbia, MD 21044 (301)-730-6838 date: 4-11-82 */ /* The BDS C Standard I/O header file -- v1.44 4/3/81 This file contains global defRL 'K') /* Vertical Tab */ #define FF (CTRL 'L') /* Form Feed */ #define SOH (CTRL 'A') #define STX (CTRL 'B') #define ETX (CTRL 'C') #define EOT (CTRL 'D') #define ENQ (CTRL 'E') #define ACK (CTRL 'F') #define NAK (CTRL 'U') #define SYN (CTRLinitions, for use in all C programs in PLACE of (yechhh) CONSTANTS. Characteristics of your system such as video screen size, interface port numbers and masks, buffered I/O allocations, etc., should all be configured just once within this file. An 'V') #define CAN (CTRL 'X') /* Osbourne CP/M Cursor Controls */ #define LEFT BS /* Cursor Left */ #define RIGHT FF /* Cursor Right */ #define UP VT /* Cursor Up */ #define DOWN LF /* Cursor Down */ /* Osbourne Console Control Strings */ #dy program which needs them should contain the preprocessor directive: #include "bdscio.h" near the beginning. Go through and set this stuff as soon as you get the package, and most terminal-dependent sample programs should run better. efine CLEARS "\032" #define SHI "\033)" /* start half intensity */ #define EHI "\033(" /* end half intensity */ #define SGR "\033g" /* start graphics mode */ #define EGR "\033G" /* end graphics mode */ #define SUL "\033l" /* start underlining */ #def*/ /* Some console (video) terminal characteristics: (configured for the Osbourne 1) */ #define TWIDTH 52 /* # of columns */ #define TLENGTH 24 /* # of lines */ #define ESC '\033' /* Standard ASCII 'escape' character */ #define DEL '\177'3 L  %  <3 L  $   <3 L ' #define RUB_OUT DEL #define CTRL 037 & /* Control Mask */ #define BELL (CTRL 'G') #define TAB (CTRL 'I') #define CR (CTRL 'M') /* Carriage Return */ #define BS (CTRL 'H') /* Back Space */ #define LF (CTRL 'J') /* Line Feed */ #define VT (CT   <3 Lh<$0U <3 Li[ 1C@ ?p???@@p? pp  <3 Lj\؈pȈȈ  <3 Lj[     !B     ? ???@x?pppp  <3 L <3 L <3 L <3L L_M <3 L[ ](         <3 Li[       a†    $ ) &P(// <3 L[\&! ( $O)   ,/ <3 LZ?@  H #q  Ȉ   @H?`@???@?p?     Р 8@ r 8@ r  < @HH`$@  K$@  %x@#q  Ȉ  Hb"  J        <3 L[ D  D@@ <3 LZ? @      @ !r 1 @@@?p@??@ $$ȈĈ @ H0 Ȉ 0 8p ( H@8x8p8xĀ| @@ 8xĀ   @@@ 8D 0B 8D 0B  x@!r 1    | >x p8xĀp @@ X !$$ȈĈ @( H@8x8D  <3 L]@    xx <3 LZ      b"  J  @HD @  `8Ą @0x   @xxp  (P0xx @ 0x x  <3 L H  4   ˇ@ @ @ 8p  8p  D    h IH0@h  `0 @ˇ       @` @@   66  ` @` @@  > <3 L P8    <3 LZ < $0( $($<  $$@P$@HP $Xp DX0 @\ 4@H` 0HH0 |xH  4                  @ @ @@   $&h 0xHHx0|| l ČĜ0x`(l  8DDD8t@ L|0 @x48DDD8d >8DDD8t@8$DDD8$LT$$DD$ 0x 0@ @ @ @@  <~  <3 LZ    ( <   0( 0$0 0 40 8DD80x 0x   H0 $0@H0 Ph  0@@@  @       <3 LZ888 88(8888 @P @P (X` @` @h @( @ ppxp ` pxxpx X 8`px h`X 0x@Hx`@ @xp@x`0x@Hx`v0x@Hx`@8@@@8H@` @ 8 pine EUL "\033m" /* end underlining */ #define IC "\033Q" /* insert character */ #define IL "\033E" /* insert line */ #define DC "\033W" /* delete character */ #define DL "\033R" /* delete line */ #define CL "\033T" /* clear to end of line */ #defppX  a, X   P` @  @ine CUR "\033=" /* set cursor */ #define SCR "\033S" /* set screen */ #define LOCK "\033#" /* lock keyboard */ #define UNLOCK "\033\"" /* unlock keyboard */ /* Modem Constants */ #define SPECIAL ESC #define ABORT (-1) #define TIMEOUT (-2) /*   <3 L`< ` <3 L` <  @ <3 L << *": @ <3 LZ General purpose Symbolic constants: */ #define BASE 0 /* Base of CP/M system RAM (0 or 0x4200) */ #define SECSIZ 128 /* Sector size for CP/M read/write calls */ #define MAXLINE 128 /* Longest line of console input expected */ #define ON 1 #define OFF 0 #define TRUE 1 #define FALSE 0 #define YES 1 #define NO 0 #define NONE 0 #define NULL 0 #define OK 0 #define ERROR (-1) #define EOF (-1) #define CPMEOF (CTRL 'Z') /* The NSECTS symbol controls the compilation of the buffered    I/O routines within STDLIB2.C, allowing each user to set the buffer size most convenient for his system, while keeping the numbers totally invisible to the C source programs using buffered I/O (via the BUFSIZ defined symbol.) For larger ou plan to use the high-level storage allocation functions from the library ("alloc" and "free") then: 1) Uncomment (enable) the "ALLOC_ON" definition, and comment out the "ALLOC_OFF" definition from this file. 2) Re-compile STDLIB1.C,NSECTS, the disk I/O is faster...but more ram is taken up. Note that pre-1.4 versions of the library functions were not set up to support this customizable buffer size, and always compiled as if NSECTS were 1 in this version. To change the  and use CLIB to transfer "alloc" and "free" into the DEFF.CRL library file. 3) THIS IS IMPORTANT!!! Include the statement: _allocp = NULL; /* initialize allocation pointer */ somewhere in your "main" function PRIOR to the firbuffer size allocation, follow these steps: 1) Alter NSECTS to the desired value here in bdscio.h 2) Re-compile STDLIB1.C and STDLIB2.C 3) Use CLIB to combine STDLIB1.CRL and STDLIB2.CRL to make a new DEFF.CRL. Make sure you ust use of the "alloc" function. DON'T FORGET THIS INITIALIZATION!! Remember to include bdscio.h in ALL files of your C program. The lack of static variables is the reason for all this junk. */ /* only ONE of the following two lines shoulse declare all your I/O buffers with the a statement such as: char buf_name[BUFSIZ]; instead of the older and now obsolete: char buf_name[134]; (and always #include "bdscio.h" in your programs!) */ #define NSECTS 8 /* Number of d be uncommented */ /*** #define ALLOC_OFF 1 /* disables storage allocation if uncommented */ ***/ #define ALLOC_ON 1 /* enables storgage allocation if uncommented */ #ifdef ALLOC_ON /* if storage allocation enabled, */ struct _header { ssectors to buffer up in ram */ #define BUFSIZ (NSECTS * SECSIZ + 6 ) /* Don't touch this */ #define FILE struct _buf struct _buf { /* Or this... */ int _fd; int _nleft; char *_nextp; char _buff[NSECTS * SECSIZ]; }; /* If ytruct _header *_ptr; unsigned _size; }; struct _header _base; /* declare this external data to */ struct _header *_allocp; /* be used by alloc() and free() */ #endif   0 RETURN .CHAR$ = CHR$(12) 220 CARRIAGE.RETURN$ = CHR$(13) 230 CLEAR.SCREEN$ = CHR$(26) 240 HOME$ = FNCURSOR.POS$(1,1) 25 210 RIGHT.CHAR$ = CHR$(12) 220 CARRIAGE.RETURN$ = CHR$(13) 230 CLEAR.SCREEN$ = CHR$(26) 240 HOME$ = FNCURSOR.POS$(1,1) 2510 REM SCREEN.BAS 20 ESC$ = CHR$(27) 30 DEF FNCURSOR.POS$(X%,Y%)=ESC$+"="+CHR$(Y%+31)+CHR$(X%+31) 40 DEF FNSCREEN.POS$(X%,Y%)=ESC$+"S"+CHR$(Y%+31)+CHR$(X%+31) 50 GRAPHIC$ = ESC$ + "g" 60 NO.GRAPHIC$ = ESC$ + "G" 70 UNDERLINE$ = ESC$ + "l" 80 NO.UNDERLINE$ = ESC$ + "m" 90 INSERT.CHARACTER$ = ESC$ + "Q" 100 DELETE.CHARACTER$ = ESC$ + "W" 110 INSERT.LINE$ = ESC$ + "E" 120 DELETE.LINE$ = ESC$ + "R" 130 CLEAR.LINE$ = ESC$ + "T" 140 HALF.INTENSITY$ = ESC$ + ")" 150 FULL.INTENSITY$ = ESC$ + "(" 160 BELL$ = CHR$(7) 170 LINE.FEED$ = CHR$(10) 180 FORM.FEED$ = CHR$(12) 190 UP.LINE$ = CHR$(11) 200 LEFT.CHAR$ = CHR$(8) 210 RIGHT.CHAR$ = CHR$(12) 220 CARRIAGE.RETURN$ = CHR$(13) 230 CLEAR.SCREEN$ = CHR$(26) 240 HOME$ = FNCURSOR.POS$(1,1) 25   /* Osbourne Modem I/O Routines These routines are the Osbourne versions of the routines needed to make TELNET work. To make TELNET work with the Osb 1 make the obvious modifications to telne byte. */ moready() { char c; char *iob,sviob; iob = 3; sviob = *iob; /* save io byte */ *iob = 0x40; /* list device:= serial port */ c = bios(16); /* get list device status */ *it.c and recompile. by: Dan Sunday 7473 Broken Staff Columbia, MD 21044 (301)-730-6838 date: 4-23-82 Note: by suitably resetting the io byte assigob = sviob; /* restore io byte */ return c; /* return output status */ } /* Get a byte from the modem: */ mgetch() { char c; char *iob,sviob; /* I/O Byte */ unsigned n; /* time-out conments in this package, I and Dave Richardson have successfully used the modio.c routines to get TELNET working on the TRS-80 Model 2 using Pickles & Trout */ #include "unter */ for (n=20000; !miready() && n; n--) if (kbabort()) return ABORT; /* Abort Input */ if (!n) return TIMOUT; /* Read Time Out */ iob = 3; sviob = *iob; /* save io byte */ a:osbdscio.h" /* Routine to return true if input is present at the modem port. */ miready() { char c; char *iob,sviob; iob = 3; sviob = *iob; /* save io byte */ *iob = 1; /* *iob = 1; /* console:= serial port */ c = bios(3,0); /* get input char */ *iob = sviob; /* restore io byte */ return c; /* return input */ } /* Output a byte to the modem: */ mputch(c) cha console:= serial port */ c = bios(2); /* get console status */ *iob = sviob; /* restore io byte */ return c; /* return input status */ } /* Routine to return true if modem is ready to output ar c; { char *iob,sviob; while (!moready()) if (kbabort()) return ABORT; /* Abort Output */ iob = 3; sviob = *iob; /* save io byte */ *iob = 0x40; /* list:= serial port *  / bios(5,c); /* output char */ *iob = sviob; /* restore io byte */ return OK; /* A-OK */ } mputs(s) char *s; { while (*s) mputch(*s++); } /*-----------------------------------------*/ /* Return true if keyboard hit and SPECIAL typed: */ kbabort() { if (kbready() && getch() == SPECIAL) return ABORT; return OK; } kbready() { return bios(2); } /*  <3 LZ@@@@@@@D@@D@@@@@D@@@@@@D@@@ Get a character from the keyboard: (Uses a direct BIOS instead of going through the BDOS. By naming this the same as the library version of "getchar", we insure that THIS version is used by things like "gets" instead @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@of the library version.) */ getchar() { char c; c = getch(); if (c == '\r') c = '\n'; putchar(c); return c; } getch() { return bios(3); } /* Write a character to the @@@@@@@@F@@@@F@@@@@B@@@@@F@@@@A@@@console. */ putchar(c) char c; { if (c == '\n') putch2('\r'); putch2(c); } putch2(c) char c; { bios(4,c); } SIG/Access: v set of keywords supplied by their submittor. The list may be a series of wo@@@@@F@@@@@@@@@F@@@@@@@@@@@@@@@B@@  @@@@B@D@@@@@@@@@@@@@@@ <3 LZ      &           <3 LZ(H(D(@  Hh0@ Hh`  H <@  "              !               (lf8@ Hxl` 44H(@pD @(@ph<`plf8@ LtH h`H4H  tȀ "                                  tȀT@`@ 4 h`HT(@4h x p8xĀp @@     @   <3 Lb"  J          <3 L$$Ȉ X <3 L(P0xx @ 0x x |dt@ DL0 `P8||@x48$LT$ DL0 `P 8DDt8 DL0 `P DL0 DL0 @H<8DDD8t@8|  <3 L\ '  '  7A   @    @?     @@@@@@@@ 0@@@AAAAAG@@@`p@@@AAAAAA"">@@@AAAAG@@@`p0 @@@@ 0@@@AAAAAA"">@@@px>0@@@ <3 LS80 @@@@@@ 08   <3 LBx#H'    <3 LUx  x|||l,|| ||@@@@@@@@@ACB&<<@@@@@@@@@@ 0@@@@@@@CO@@@@p@@@@@@@@ACB&<<@@@@@@CO@@@@p80 @@@@@@ 08@@@@@@@@ACB&<<@@@px<0@@@ <3 LS88|<0|< || A`9 @<8xD@d l$H8xD$`||@@||Dx8 ||8xDDx8||@|<||@|<|| @||@@||8xD$`8xD@d v8xDDx8   l,||  @||@@||8xD$`8xD@d <3 LUx Hx|||90x`(l 0xHx0$ <3 L|8D 0B 8D 0B  x@ $@@AA x?/$BBA  ??$&<0xHHx0|||| DD@@0xH0x`(t0xHHx0Hx| DD@@0xH0x`( <3 LUx 0  0$$$$$$ <3 L|8@ r 8@ r  < $BBA!x?Hxxr`<px h`X pxHxppxxpxx pxH/,DA! ?8$CCAC$<0@@@@0Dd((dD <3 Lpp8xĀ| @@ 8xĀ | >x p8xĀp @@px h`vpxxpHx pxHpx h` <3 L <3 LP( <3 LO) X <H0q> 0@DD@@D 88HDD@@@D/0p0xLHx0 <3 LVD  <3 L|$@  K$@  %x@ " </"AA ?? "!"&   $(P0xx @ 0x x  0@DD@h00  -0p0xȀHx0 <3 Lp( `p @88 pTD8D|DD8DDD8D|@@D|@D<D|(TD8 @ @D<D|AD8D|@D<@D<8DD(D|@D<@DD,@ThD ``8D8D xDD8@D8` < @ ( 8< ( `p ` @88 @ x`> 8@@H00/ pppp <3 L7` <3TD88DD(,@Th (TD8DDllDD <3 LHxx0HH0x@@x@@8xHx @(@@8x~@H0x@@8@@80H@(x@@8h@X` L5`~ <3 L3  <3" 3 L  0Q     <3 L  0Q  `0H@0H@ HH0H0D0@8 @(Hx0H@(h@X Hx@((@ <3 L)J <3 L)J <3   <3 L *     <3 Lp,< <$$<<<<,< L) K <3 L($ 0@ ?$40< $$$$?$   <3 LV(@  @ AD88DD(  <<?$<<<40<< ,,00$$ x$$" "  ,< 40,, ,< (( <3 Lp(D|@@ 8DD 8DDD8AD8AAqp@@DQ <3 L(@8 ` ~@H00H@(x@@ 0H@  0HH0~@H0@2 0@ <3+ 3 L(  <3 L(@||@|<@|<l,||   <3 L xl 0̄0x`(0x`( DD@0xHHx0||||Hx| <3 L zX  <3 L(  <3 L, 8  xpx h`px h` pxxpxxHx <3% L>????    z????   @x@x <3 LV*d| DD@@8DDDDD@@8< ????   1 <3 L>@@@@@@@@@@@@@@   x@@@@@@@@@@@@@@   <3 L,` p8 @8@ <3+ 3 Lz  @@@@@@@@@@@@@@   . <3 L>   z  1 <3 Lx 1 <3 Lz 0 <3 L z||l$H0L8xD@d   8xD@d 8xDDx8||@     0 <3 L> dd @  8@D @  @0`z @8 00P lHD@88DD8|@|@|8DD Z @8 00P  @ 8DD |@8DD8L00L ddC@@@@@@@@@@@@@@  <3 L  E  <3 L  <3 L> DDD DD80HHDD@@@@ 0@x H0 `   @8 00P   D@8D@88DD @@0`E  @|8DD |@ <3 L HL HH00HH0|xhZ H0 `   @ xh0HH000̄ DDD $D <3 L> 00 `  ddHH0HH0xh DD@@@@ 0@C |xh 0@0p   @z H0 ` @H pppxp `Z H0 ` @ @  <3 L H0 ` @` `p `pp00Ȁ 00 @ <3 L????   E????  <3 L@@@@@@@@@@@@@@  ppp `   @E xp ` <3 L@    <3 L@!      <3 L2 `  <3 L   ,,?$40$$<,<  ,< << = <3 L.zp `8xD@d  @|<8xDDx88xD 8xDDx8@l,|| A`9 @||@|<@|<8xD@d ||@|<  <3 L.xp `,< <<:540<<<40<< 0 8< <  $$ p<,<   <3 LDAAqp@@ ,@ThAD88DD0x`(||0xHHx00x 0xHHx0 DD@@Hx|||||0x`(|| <3 L.zp80@px h`xpxxppx(8DD D|(TD8 (TD8D|@@D|@@(TD8D|@D<>AAqF@8DD(D|@D<@D<8DD(D|@D<@DD @@pLLp@@D|@DD@D< @ 8DDD8DD@DDpD|@@(TD8DD pxxpHxr`xxpx h`x <3% Lz????+ 5%G????  <3 Lz@@DD <3 L@@2 0@ h@X~@H00H@(0H@xHx Hxx@@x@@Hxx@@8~`0H@(x@@8@@80H@(x@@8 p0px@@@@@@@@@@@@@@@)3$G@@@@@@@@@@@@@@ <3 Lz+48 @(0HH0x@@Hx <3+ 3 L(z > <3 L(x > <3 L(z%G <3 L@|8DD 8DD( H 8DD8|@@0`8DD8|@|8DD @1 0@ |@8@D"  8DD |@|@|8DD(8DD8lH8DD 8@DG <3 L{|xh0HHx0 0xHHx0@@+ Ќ 0HH0 @ 0@0HH0|xh 0HHxh DDDD|0HH0HH0L xh0HHF <3 Ly@@H <3 Lxp `p@ P pp   @ppxp ``` p0xxppxxp@@ <3J Lp ` 8xp@ppH p `pG <3L Ly   <3 Ly <3K L  <3 Ly     <3 LyD@@ @|<||Dx88xDDx8 <3 LxDD@(0||#   <3K L <3 L~p `p `pxppxp ` @ pp <3: Lx,6F0 <3 Ly-6F0 <3 Ly, ) 0 <3; Ly / <3 Ly - <3 Ly / <3 L~8DD  <3 Lx@@, <<$$40 ,,8<$?40$$  $$ $$<,< <<:540 0 0 <3 L8DD D@8@|8DD8|@|8DD @ 8DD8 <3 L{xhxhHH0|0HH0|xh @ 0HH0y,@D|@@D|8DD 8DD( ,@Th@xD|D8A8DD(8DD @DD @DD8DDD8 8DD @D<(TD8D|@D<>AAqF@8DD(  0 $ <3 Ly-@x@@x0H@0H@( h@Xxx@H0~0H@(0H@ 0HH0 0H@@@8Hxx@@8~`0H@(  ( p@@  <3 Lx$  %7+ ( " <3 Ly'8+ ( " <3 Ly%5& ~@H0~@H00H@(0H@ @H0@2 0@ @@( p0px@@8xx@@8   0H@Hx@2 0@h@X <3( 3 3S 3 2CB5F540 ,,<<   <3 Lx@@@@'@<@$$8<< $$<$40<0 8< $40 ,,<<This program demonstrates the amazing quality and variety of text printing that can be achieved with an Epson printer and special software. A number of character sizes (8 to 40 pt.) and styles are demonstrated, including Old English and Script. The ?$?$40$ $     0 8< <<<<  @ $,<   ,, <3 Ly(D Examples: FancFont FancFont.DM1 or FancFont FancFont.DM1 FancFont.DM2 D@D<D|D|@D< 0P 8D(TD8AAqp@@,@Th <3 Ly(@8@0HH0xxx@@ 0HH0x@@0H@0H@(x@@ p0px @H00H@( h@X@@8x The demonstration package is in the public domain and may be freely copied and distributed. For additional information, contact: SoftCraft (213) 641-3822 8726 S. Sepulveda Blvd. Suite 1641, LA, CA 90045 %  re placed in the public domain and submitted to the FOG library by SoftCraft. They illustrate "the high quality of printing which can be achieved by an Epson pronter in graphics mode...." An Epson MX80 or MX100 with Graftrax-80 or Graftrax-Plus is required. Place FANCFONT.COM, .DM1, and .DM2 in drive A. At the A> prompt, type FANCFONT See FANCFONT.DOC for further information. OSCREEN.BAS groups together Osborne 1 screen controls for use in BASIC programs. OSBDSCIO.C and OSMDIO.C contain C language routines related to Osborne 1 input/output. Jim Woolley FOG Disk Librarian November, 1982  DISK.DOC -FOG/MIS.006 First Osborne Group (FOG) Miscellaneous Disk This disk contains a demonstration of the Fancy Font software available from SoftCraft of Los Angeles. The demonstration files we&  '