IMD 1.16: 29/05/2007 12:00:09 FOGCPM.009 --FOGCPM009TPATCH COMTPATCH DOCSCIGRAPHCOM SCIGRAPHCOM -11-00 85 SCIGRAPHDOC-SIDEWAYSPASF !"#$%SIDEMT COMh&'()*+,-./012SIDEMT DOC3SIDEOKI2COM456789:;<=>?@ABCSIDEOKI2COM]DEFGHIJKLMNO-CPM009 DOCSIDEOKI2DOCHPQRSTUVWXSIDEOKI2CHR>YZ[\]^_`OKSETUP COMaOKSETUP ASM+bcdefgOKISET3 ASMhijkOKICHA12COM lmOKICHA12DOC)nopqrsOKIC DOCAtuvwxyz{|OKIC-CPMCOM}}~OKIC-EX COM}SPRSCRPTOKI OKI COMOKI DOCOKI84 COM This is the disk name. !   Installing patch for TURBO PASCAL. $sb12\:_*`:\{b~#^#fk1:J0 0 w# x :J0 0~ # x 2#:#̈́2U:[>2X:UXy( ͷx( ͷ:V:W! TURBO PASCAL PATCH FOR THE EXECUTIVE This patch will enable you to run TURBO PASCAL on the OSBORNE EXECUTIVE without errors. The patch is a program that modifies the Interrupt handler starting at FEF0. The modification only involves jumping out of the routine to save the registers and then restore them when done with the interrupt. The program does a block move overwriting the top locations in memory. The patch will only work on EXEC 1.0 revision rom and BIOS V1.0. I say this because I have no way to test it on any other versions. I recommend erasing the EXECST.COM file and replacing it with the TURBO patch. This way when ever you boot the patch will be taken care of for you! I tested the patch in every way I could think of including setting the date and time. Everything seems to work great! Any questions and or comments please call! 1-217-529-0495 After 5 C.S.T. Tim Vold ×.!9p!Axp!Ax!A!A0"5n-Jp!Ax!0?/!"5!$g9 .+R-y!"g9 .##. .#.n-R-ʅ!"5*5+|©!!"*5#"5+#! A͡"! A!sB*5` 2.!9*<))"3*<|™p!B!Xx!0Ü*<#";*E!"E*gE."pE0͇-ʬ*pE9͆-R-*E 2.*gE#"gE+."EÑ*E"E!9 ."E!9ͦ,!Eʹ,!9 .+.*En-"!Eͦ,! -+4*E+-!Eͦ,ͻ)P}!Eͦ,!-)ͻ)!Eʹ,*En-ʁ!Eͦ,!-)ó*En-ʢ!Eͦ,!-+ó!Eͦ,!-)!Eʹ,!Eͦ,-!9 .!9!T9ͦ,!-H*!T9ͦ, ,!T9ͦ,!Eʹ,!9P"wE!Eͦ,!X9 ."uE!T9ͦ,!-H*f:rE.|]!-n*lE+"lEf*uE+"uE6-*uE*wE͸!P9!9!9P"wE!V9ͦ,!X9 ."uE*uE*wE͸!P9!9 .!9 .-"E*sEn-:rE.*E(*E+"E#|!9 .#.+.n*lE+"lE*sE|'! !(!9 .*lE͗-O!9 .n*lE+"lE(!9 . ͆-f!0i!7!9 .!9*nE ͗-ʊ! "nE!R9 .|£!R96E#6!R9 .*nE!X9ͦ,!9""uE"wE!R9 .n-!F*nE!X9ͦ,!9""uE*wE-R-+!E*nE!X9ͦ,!9""uE!9*uE͸!P9!9 ."E*E.|{*E.!9 .-|t*E#"Ex*EI!!E!9.?!9 ."E*Ea͇-ʰ*Ez͆-R-*E*E*E|*E!"E*E/"E*ED2"ER-*E-*E.|*E#"E+."E-.!"E"E#R-M!"E!"E*E|d4Q!"E!9 ."E0͇-ʇ*E9͆-R-ʚ*E"E*E&}_o"EA͇-ʸ*EF͆-R-*E"E!*E*E͖-*E!Q|4͑| 4!9!"E*E#"E+!9"E*E++"E ."E*E#"E+."E|N#R-R-8"*E|d4*E|ʉQ*Ex-ʃ8"44!"E"E*E.|±!"E*E#"E*E++"E*EZ-8"!"E! "E*E#"E+."Ek"E#R-*E*E2.*E"E*E͑!!"EH!"EH!"EHQ|?H!"E4!"EQk"E#R-ʊ*E*E2.*E"E4*E+"E|‡ÊQ*E|•8"*E|ʱ*E .*E*E2..*"Q*E|*E ."E"E#R- *E| 4*E|*E#"E+*E}*E+"E|   *E|! *E6*E|, 8"*"#|; 8"*E|P *E .}4*"*E#"E+.͑=!!"Eâ !"Eâ !"Eâ Q|ʙ â !"E4Q!Eͯ,k"E#R- !Eͦ,*E-͜**E-,!Eʹ,4*E+"E| ï *E+|!!Eͦ, ,!Eʹ,*E|!8"*E|4!*E .!Eͦ,ʹ,Y!8"Y!.i Xu O~ B D U7!*"Q!9"E*E͗-x!!"E"E#R-!!E*E?|ʬ!*E#"E+*E}4ï!!*E+"E|¾!!x!*E6*E|!8"*E|!*E .!9Z$ʹ,*"8"*".XO$B-H-DHUS/ CV L\!E\!F!*E*E"E4*E+++|N"*E!9"E#R-ʋ"*E|j"Ë"*E|}"4È"*E+"E#Ë"N"#R-ʛ"*EÞ"!F"!9"E!"E !"E*E++"E ."E !"E*E++"E ."E !9 .}2E! 9.}2E!9ͦ,J( (#6-#60:$2(:E_E+#:EF$F#!Eͦ,̀(^#'=0#!Eͦ,̀(U#;'͹(J(O:E_Eyʮ#G>ʖ##6.#:E60#=;$#2E:E!E ###6.#=$U(/{_#zW#yO++#ͤ&##J(p#ú#x=>$6.[(>$:E $+~0$.[(;$6e#6+,$6-/</ .$#p#:w#6=60#>$Ї_!Fͦ,%!9^#V~i$U(-u$+u$+e&GW_/O$$.ʦ$eʒ$Eª$$ %$$ª$_ }${$$;'<­$2('=WxG'0$}$:((%{0_Ø$#~: $0?<=-++!)S,!)S,!')S,!_)Ä,!f)Ä,!f)Ä,M%>!g,! 9ͦ,*)k)ɯs%>s%>s%>J(!U(!%ʋ%=##Á%~#fo%%&I'yOͻ%%-ͻ%=£%<ͻ%=-ͻ%-J(DM̀(!%Ҽ,%-%,%%!9%<72(x:@FJ(&/<:(J(k(g&!=F?&ͤ&҅(.&Å&G~_#~W#~Oܰ&hcGyr&JTeoxS&2@F)zWyOj&x\Eʅ&!@Fwe&x!@F&F#~怩OJ( 4(~_#~W#~O!AF~/woG}_}W}O&CZQ& o-yOzW{_xG&CZQO (.'y2CF"DFPX!P&!'!=F~#&.gy)'*DF:CFOzW{_xG-|':( J( ().'44+~2HF+~2IF+~2JFAOW_2KF}!JFo|!IFgx!HFG:KF?Ҙ'2KF7y<=&{_zWyO)xG:KF2KFyn'!@F5(n'x'}!@FGx'ƀw9'k(w+ (/(e&U(x(G%!@F4(:@F:?F/<y$(!@FOp#6M&!?F~w*=F*?Fͦ,"=F`i"?F!=Fæ,#=Fw#b(!?F~7w?##wy7Ox (!( (y!?Fy͚(#x+y+z+{iQY%!@F~GOW_U(k(g(>&|ܗ&ܰ&z< !@F~:=F~͹(6{yM&)):GF)~2GF#-!)-(U(-x4) ,>(:(YP(:@FR)2@F%2(U(k).k)xt)OW_!y)O$xҦ)ڎ)G,J(ͭ(-¡)AJS% ,á)!x-x!9~_#~W#~O#~G33ɯ*){ *!9~)7~w+))!9~> *=w+*)?*){ ?*!9~w#0*)*)!9 *!,!{*-a*i*!i*--!,!Q*!9~_#~W#~O#~hgG|*?!9~w+ª**! 9!9w#*!E|9*#**! 9~w#*ã*!9^#V###s#r!9. +.x++>!.9F+N+V+^x3++>! 9w!> !9~w#H+! 9!9k+j++\+ ?!9~w#t+yʗ+!9! 9#Ž+=@+!9~¹+!9!9~#±+! 9~+!933!9yw#+!9~_#~W#~O#~G+!9~_#~W#~O#~G+ ,}O|G>_>W>O>G{/_z/Wy/Ox/G!-S,!-S,!-!9ͦ,g,`i!9ʹ,!/-Ä,!--Ä,!--! 9ͦ,ͤ,DM!9^#V#ʹ,^#V#N#F#ͦ,s#r#q#p,!9!9#,,,>&o!9~s_#~rW#~qO#~pGx!--}'-]WOG|'-OGɷ><.}o|g}o|g}o|g|!,|}!l-l-,ɯ|X-!|}!-z˜-{£-!,z-z£-{!-|!-|g|-}!--ɵz-{!-||g}o--)-{ozg+|/g}/o~og~#fos#rN#F#x1.~#~#..`iDM!z>A.S\))I. =A.ɯ^.z-|-MD!xw.jS\>)).# ҇. =w.--*+%"RF%"PF%"NF "F "F "Fy 6"/+6+!^6 F+N+.!* !.!9~#./ .O"/'/ +}|+#~/ /6#~#`/!.4.6#6*.!.*/|K/ͩ1!\/0"^/k/r!/0"/x/./ Can't open > or < file.$?/w*/ -/! 9͹-!"/ɟ4*^/D2:/<*/ 2/ 0/ ʝ/ 0> _*/~+#4N s> ͝/> !F0:/Q0/2/_~T0 j0 e0 > . s0/0{0.!*/2> !F0} «0 > _con:rdr:pun:lst: 00_~O7{0!0  0#0i& ~0!rF~1# 112~#F6%pw62]1F-!9 .y=}4124>wn1<12!qFs 6#6 ~+¦1ͥ/s#r{12{ 1!F0#^{!!ZFw#w!qF~<12662!F~r#2!FN!xF .}"2*oFyb2>w# 2%!=2)N3{=}4bʞ2x D2{0D2h&{ 62!F~!xFN#F{p+pH#͢22Î0 2Ñ0+!9~ 3!F~b3! 35 3> 36> *oF w`i#.᯾?3%,!N3|!!9n&: 32ɯ24>Å3!9 .):4|!ZFwv3#4!hFw>24>2W3://4x3:W3O¾3! DMÓ3:W333 !3Write error - Disk full $`i-X3!9~=+}4V+^+F+N "s4> w+ %4w w##w w #~+:P4~##u4@~#.a4u4P4*s4++u4w#g4a O!F ~_#V!$ͥ/r+sbk#|ɀ@  Great Conspiracy Plotting 1.1 (1/1/85) Copyright (c) 1984, 1985 by Billybob Software LST:wCan't open LST: or PRN: -- good bye! ---> Please remember to turn on the printer! -----> Reading input data file %d %e %e %eYou asked for %d curves, %d is maximum! WARNING -- Only first %d plotted! -------> Computing constants and scaling %s x axis: %-30s lower limit upper limit %-9.2g %-30s %9.2gOops! problem with first x's ---------> Building plot file and printing x's out of order -----------> All done now Become a registered user. Great graph! Looking good! Season's Greetings! One picture's worth... ... a thousand words. Quality has no fear of time. Beware the second system. Beauty is in the eye of the beholder. Press on! Done without BASIC! Where have you gone, Joe Dimaggio? Waiting for Sophia... Special message! Become a registered user. Billybob Software, P.O. Box 363, Belmont CA 94002-0363. E 0123456789.-+Ee$tE@B'd $tPC@zH L| #ynvQr'oVkv+h !"# axis: %-30s lower limit upper limit %-9.2g %-30s %9.2gOops! problem with first x's ---------> Building plot file and printing x's out of order -----------> All done now Become a registered user. Great graph! Looking good! Season's Greetings! One picture's worth... ... a thousand words. Quality has no fear of time. Beware the second system. Beauty is in the eye of the beholder. Press on! Done without BASIC! Where have you gone, Joe Dimaggio? Waiting for Sophia... SpeScigraph.doc ************ September 1, 1985, first revision. This program provides for the output of x-y plots in high resolution using an Epson printer. Data is read from a file which may be created using a text editor or generated by another program written in any of the common programming languages such as BASIC, C, Pascal, etc. Engineers and scientists will find this program to be most useful, although no doubt business types will also find applications for it. One advantage of the system is that you are not limited to 8 1/2 by 11 inch graphs; strip charts of arbitrary length may be output. The following restrictions apply: (1) Up to ten different plots or y variables may be superimposed on the same graph. (2) Up to 600 data points or distinct values for x may be present in the data file. The density of data points in the x direction is assumed to be less than 72 point per inch. (3) All the curves must have data at each of the x values. (4) The values of x must be distinct and in increasing order. This may mean that you have to sort your data if it is generated randomly by another program. (5) Both the x and y axes are linear scales. (6) The user must select the scaling for both axes. (7) A CP/M system running on an Osborne, Kaypro or other such machine is assumed. (8) An Epson printer, model MX-80 with Graftrax+ or later is required. Other Epson-compatible printers may work, although no guarantees are made! The calling sequence is: scigraph ^M then begin write (ch); if ch in ['0'..'9'] then number:= number + ch else begin number:= ''; GotoXY(40,14); ClrEol; end; end; until ch = ^M; if number = '' then Goto FIN; Val (number, bottomLine, code); if bottomLine < 41 then wide:= True else wide:= False; if bottomLine > 80 then begin writeln; writeln ('Sorry, the file can only be 80 lines long...'); Goto FIN; end; writeln; writeln; write ('Turn printer on and press RETURN when it''s ready (ESC to cancel)'); read (Kbd, ch); if ch = ^[ then Goto FIN; ClrScr; writeln ('Hold the ESC key down to quit during printing...'); writeln ('(If you use the ESC key, turn your printer OFF'); write (' and then ON again to re-initialize it)'); writeln (Lst); writeln (Lst, #27#65#7); (* compressed line spacing *) while not EOF (fv) do begin y:= 0; longest:= 1;  while (not EOF (fv)) and (y < bottomLine) do begin y:= y + 1; readln (fv, line[y]); if Length (line[y]) > longest then longest:= Length (line[y]); end; x:= y; if wide then y:= y*2; if y*8 > 511 then n2:= 2 else if y*8 > 255 then n2:= 1 else n2:= 0; n1:= y*8 - (256 * n2); for chNo:= 1 to longest do begin if KeyPressed then begin read (Kbd, ch); if ch = ^[ then Exit; end; write (Lst, ^[, 'K', chr(n1), chr(n2)); for y:= x downto 1 do if chNo < Length(line[y]) + 1 then begin case line[y][chNo] of ' ': write (Lst, #$00#$00#$00#$00#$00#$00#$00#$00); '!': write (Lst, #$00#$08#$00#$00#$08#$08#$08#$08); '"': write (Lst, #$00#$00#$00#$00#$00#$14#$14#$14); '#': write (Lst, #$00#$24#$24#$7E#$24#$7E#$24#$24); '$': write (Lst, #$00#$08#$3E#$09#$3E#$48#$3E#$08); '%': write (Lst, #$00#$47#$25#$17#$08#$74#$52#$71); '&': write (Lst, #$00#$73#$48#$54#$22#$50#$50#$60); '''': write (Lst, #$00#$00#$00#$00#$00#$10#$08#$18); '(': write (Lst, #$00#$02#$04#$08#$08#$08#$04#$02); ')': write (Lst, #$00#$20#$10#$08#$08#$08#$10#$20); '*': write (Lst, #$00#$42#$24#$18#$FF#$18#$24#$42); '+': write (Lst, #$00#$00#$08#$08#$3E#$08#$08#$00); ',': write (Lst, #$10#$08#$18#$00#$00#$00#$00#$00); '-': write (Lst, #$00#$00#$00#$00#$3E#$00#$00#$00); '.': write (Lst, #$00#$18#$18#$00#$00#$00#$00#$00); '/': write (Lst, #$00#$40#$20#$10#$08#$04#$02#$01); '0': write (Lst, #$00#$5C#$22#$51#$49#$45#$22#$1D); '1': write (LST, #$00#$1C#$08#$08#$08#$08#$18#$08); '2': write (LST, #$00#$3F#$20#$10#$0E#$01#$21#$1E); '3': write (Lst, #$00#$1E#$21#$01#$02#$04#$02#$1F); '4': write (Lst, #$00#$02#$02#$3F#$22#$12#$0A#$06); '5': write (Lst, #$00#$1E#$21#$01#$01#$3E#$20#$3F); '6': write (Lst, #$00#$3E#$41#$41#$3E#$20#$10#$08); '7': write (Lst, #$00#$20#$10#$08#$04#$02#$01#$3F); '8': write (Lst, #$00#$3E#$41#$41#$3E#$41#$41#$3E); '9': write (Lst, #$00#$10#$08#$04#$3E#$41#$41#$3E); ':': write (Lst, #$00#$30#$30#$00#$00#$30#$30#$00); ';': write (Lst, #$20#$10#$30#$30#$00#$30#$30#$00); '<': write (Lst, #$00#$04#$08#$10#$20#$10#$08#$04); '=': write (Lst, #$00#$00#$00#$7E#$00#$7E#$00#$00); '>': write (Lst, #$00#$20#$10#$08#$04#$08#$10#$20); '?': write (Lst, #$00#$10#$00#$10#$0C#$02#$42#$3C); '@': write (Lst, #$00#$1F#$20#$27#$29#$27#$21#$1E); 'A': write (Lst, #$00#$81#$81#$FF#$81#$42#$24#$18); 'B': write (Lst, #$00#$FC#$42#$42#$7C#$42#$42#$FC); 'C': write (Lst, #$00#$3C#$42#$40#$40#$40#$42#$3C); 'D': write (Lst, #$00#$F8#$44#$42#$42#$42#$44#$F8); 'E': write (Lst, #$00#$7F#$40#$40#$7E#$40#$40#$7F); 'F': write (Lst, #$00#$40#$40#$40#$7E#$40#$40#$7F); 'G': write (Lst, #$00#$3E#$41#$41#$47#$40#$40#$3E); 'H': write (Lst, #$00#$41#$41#$41#$7F#$41#$41#$41); 'I': write (Lst, #$00#$1C#$08#$08#$08#$08#$08#$1C); 'J': write (Lst, #$00#$18#$24#$04#$04#$04#$04#$1E); 'K': write (Lst, #$00#$42#$44#$48#$70#$48#$44#$42); 'L': write (Lst, #$00#$7F#$40#$40#$40#$40#$40#$40); 'M': write (Lst, #$00#$41#$41#$49#$49#$5D#$63#$41); 'N': write (Lst, #$00#$41#$43#$45#$49#$51#$61#$41); 'O': write (Lst, #$00#$3E#$41#$41#$41#$41#$41#$3E); 'P': write (Lst, #$00#$40#$40#$40#$7E#$41#$41#$7E); 'Q': write (Lst, #$00#$3D#$42#$45#$41#$41#$41#$3E); 'R': write (Lst, #$00#$41#$42#$44#$7C#$42#$42#$7C); 'S': write (Lst, #$00#$3E#$41#$01#$3E#$40#$41#$3E); 'T': write (Lst, #$00#$08#$08#$08#$08#$08#$08#$7F); 'U': write (Lst, #$00#$3E#$41#$41#$41#$41#$41#$41); 'V': write (Lst, #$00#$08#$1C#$14#$22#$41#$41#$41); 'W': write (Lst, #$00#$22#$36#$5D#$49#$41#$41 #$41); 'X': write (Lst, #$00#$41#$22#$14#$08#$14#$22#$41); 'Y': write (Lst, #$00#$08#$08#$08#$08#$14#$22#$41); 'Z': write (Lst, #$00#$7F#$20#$10#$08#$04#$02#$7F); '[': write (Lst, #$00#$1C#$10#$10#$10#$10#$10#$1C); '\': write (Lst, #$00#$01#$02#$04#$08#$10#$20#$40); ']': write (Lst, #$00#$38#$08#$08#$08#$08#$08#$38); '^': write (Lst, #$00#$00#$00#$00#$00#$22#$14#$08); '_': write (Lst, #$00#$7F#$00#$00#$00#$00#$00#$00); '`': write (Lst, #$00#$00#$00#$00#$00#$08#$10#$18); 'a': write (Lst, #$00#$7D#$42#$3E#$02#$3C#$00#$00); 'b': write (Lst, #$00#$7C#$42#$42#$42#$7C#$40#$40); 'c': write (Lst, #$00#$3C#$40#$40#$40#$3C#$00#$00); 'd': write (Lst, #$00#$1E#$22#$42#$22#$1E#$02#$02); 'e': write (Lst, #$00#$3C#$40#$7E#$42#$3C#$00#$00); 'f': write (Lst, #$00#$10#$10#$10#$3C#$10#$10#$0E); 'g': write (Lst, #$1E#$01#$3F#$41#$41#$3E#$00#$00); 'h': write (Lst, #$00#$22#$22#$22#$32#$2E#$20#$20); 'i': write (Lst, #$00#$1C#$08#$08#$08#$18#$00#$08); 'j': write (Lst, #$70#$08#$08#$08#$08#$18#$00#$08); 'k': write (Lst, #$00#$42#$74#$48#$44#$42#$40#$40); 'l': write (Lst, #$00#$1C#$08#$08#$08#$08#$08#$18); 'm': write (Lst, #$00#$49#$49#$49#$49#$7E#$00#$00); 'n': write (Lst, #$00#$22#$22#$22#$32#$2E#$00#$00); 'o': write (Lst, #$00#$3C#$42#$42#$42#$3C#$00#$00); 'p': write (Lst, #$40#$40#$7C#$42#$42#$7C#$00#$00); 'q': write (Lst, #$02#$02#$3E#$42#$42#$3E#$00#$00); 'r': write (Lst, #$00#$20#$20#$20#$32#$2C#$00#$00); 's': write (Lst, #$00#$3E#$01#$3E#$40#$3E#$00#$00); 't': write (Lst, #$00#$0C#$10#$10#$10#$3C#$10#$10); 'u': write (Lst, #$00#$3A#$44#$44#$44#$44#$00#$00); 'v': write (Lst, #$00#$18#$18#$24#$42#$42#$00#$00); 'w': write (Lst, #$00#$22#$63#$5D#$49#$41#$00#$00); 'x': write (Lst, #$00#$22#$14#$08#$14#$22#$00#$00); 'y': write (Lst, #$20#$10#$08#$14#$22#$22#$00#$00); 'z': write (Lst, #$00#$3C#$20#$10#$08#$3C#$00#$00); '{': write (Lst, #$00#$0C#$10#$10#$20#$10#$10#$0C); '|': write (Lst, #$00#$08#$08#$08#$00#$08#$08#$08); '}': write (Lst, #$00#$18#$04#$04#$02#$04#$04#$18); '~': write (Lst, #$00#$00#$00#$00#$00#$06#$49#$30); end; if wide then write (Lst, #0#0#0#0#0#0#0#0); end else begin if not wide then write (Lst, #0#0#0#0#0#0#0#0) else write (Lst, #0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0); end; writeln (Lst); end; end; writeln (Lst,#27#65#12); (* normal line spacing *) ClrScr; FIN:end. 3C#$10#$10); 'u': write (Lst, #$00#$3A#$44#$44#$44#$44#$00#$00); 'v': write (Lst, #$00#$18#$18#$24#$42#$42#$00#$00); 'w': write (Lst, #$00#$22#$63#$5D#$49#$41#$00#$00); 'x': write (Lst, #$00#$22#$14#$08#$14#$22#$00#$ ͫCopyright (C) 1985 BORLAND IncB Osborne 1al SelectedP)(= EE RT(1)1~7#~= oͦkԄ!!"~#(}:$= +*!5!*!!:(2!5:(>2!!!:O::O:!*! !45(! +/ 0y0( d!k5!{5__o&  :(͠|(  *"x2y( >28!"9!! og2"">~22 9/4*9 Co&ͦͣ} [ (!e{ͦA8Q0G: x@!\w# (͂ ?(*( .( w^. ^!h6# (?( *( ͂( w#>?> w#ͦ 8 !ɿ .,;:=?*[]<>{}a{ |ʹ}ͽƐ'@'7||}>2ͯ*Bڨ  "og"2>2! ""*B"[Ru*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͺw}8' RB0 >' RqRR!+ Ͱ R!+ Ͱ r!+ Ͱ r!+ Ͱ r!# Ͱ r!+ Ͱ T]KB!z> S>))0 = | |̀̀DMgo>jB0 7?= H͒<z5a)a<z {0Gɯgo||~}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } ) W _}8(8J`9{T]=o`9y ) >' ́ ͬ͗ }>' xˆ }} ˸T}ٕ(0D=z ,= ( ͒ 0%{ , 7 ?(8ͬ x ͆ - r 8˸x ͏  ,-xG}r }مM 9r .>#n0͒ { = - nx ͇ ,-(-˸G,-r }ٕ?M 9.> 8ͬ ?= u+-(>͆ 0ͬ ͆ 8 ?x ͇ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցr <(r 7{ = |٤g{٣_z٢Wy١Ox٠G{ ͬ ́ }x>' ͬ}ƀ/ƀo -́ }0͎-́ ͎,}l˸ 8 4 ͗ x( - 8́ - 8,́ }l8;*!͗ ! >4ͬ͗ ͗ ͬ--- ́ ,,,-xGg?+2n*8t z~,->' x' ͘}. ͆́ , ! >4,͢- o&0%,͗ }gr }؉}颋.:}8c~I$I~L*͢ٷx˸ }0G,<},-(-́ !>I0 ͗͘ o8 ͆ >' m.`1pF,t6|!wS<.z}[|%FXc~ur1}͆ٯx(<˸ 8 !~J 0.O!>s 8 =  n s͗ ͆ .n 0 ͎-́ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͬ͗ I× nn ͗ = ͆ nf^VNF!DLT\I!!53!r1!͒!> x #-= o˸x͆(- }(x>8(z ,z `iÃ!>' |r |̀>)=|(DMbo˸88x(0 8> ̀x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#}˸}րogM| .(z = ~> x0w#xG%͇ %͇ ZJDM%͇ = _~65+~hìx-Sx9?+{Η@}|z z gZJDM0{ ,7}o˸? #yO!@9i&?  #?w#?/w#?w#!9! E9!!9~(+Fͺ!"9!(#>2*"| >"2:( Ͷ *w*6 !\$![ (ͦ( #:~CONTRMKBDLSTCAUXUSR>2i:*ˮ~0:*:(@q##pZ* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͺ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('k!0(ˮ]k!8ˮ!]~-#8~>27kˮw>O$6̃s #r$ͣ6̏ k ( (ˮ qk(ˮ ( k ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͺ>2}*|(̓|( ̓6-#[RM8( G> A~#*'C! !TRUEFALSE!9N#Y~#( G~#> >    "~(kѻ(( !0 (ˮ!!>2Sz:0:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͮ*-w#ww##> ͮÁ""~>2:ZR0 *4#4>2:ZR> *4 #4(> >22*f(/˦:G(##~++ :O x yC!ͺ Q*:G(##~._.͚f<\=<͚*##w ͮ +4 #4x >>2:G("ͮ"*nˮ*0 SZѷR8@* N#F#s#r, 0})jS\*##w+ N#FB ͮr+s>2!T]>)j)0 0= ]R!#]*^#V#N#F#^#V>2Ͱ:0:*6 #-Nw#Fwq#p#6#w#w#w"~Á>">!DM!":*B:!>(>2>">!"2"~ʰ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pSZѷR&* s#r$ s#rL <?*L!\  <( !\$>2>2L:>!(* \$\<(!3: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>) 2""{_!"* nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* uKB!0>' ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#K*K*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!F"" &y*"*>2"*"!F"""!\*: Nr!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͝O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%â}ͦo*!~6o&|:2 2}:__zѯ2*|KB " z ^C User break+=  I/O Run-time error {ʹ, PC=*ͯNot enough memory Program aborted :ʎ'1!d!4~B>>!!͛ͺ4A SIDEWAYS PRINTING PROGRAM FOR THE MANNESMANN TALLY !!͛ͺFor SuperCalc .PRN files !!͛ͺ'(or any ASCII file of 80 lines or less) !! ͛ͺFile name (RETURN to cancel):  !! ͙!͎ !:M͍E"Ö4!~!:o !~!}2~*~&}oEʊ"!!͛ͺSorry, I can't find !:!ͪͺ , try again... *~&E!!!͙͛ͺ'Bottom line number (RETURN to cancel):  M!!ͩ!D *&! ͒E^#*&͛" *&́!0!9͛OEE#!:*&e.=!^#M!!(!͙*&! E"!:M͍Eʅ#Ö4!:!!*!)Eʯ#!}2~ö#!}2~*!PE $͛ ͛ͺ,Sorry, the file can only be 80 lines long... Ö4͛ ͛ ͛ͺ@Turn printer on and press RETURN when it's ready (ESC to cancel) !ͩ!D *&!Eʋ$Ö4>͛ͺ0Hold the ESC key down to quit during printing... ͛ͺ.(If you use the ESC key, turn your printer OFF ͛ͺ' and then ON again to re-initialize it) !ͺ !ͺͺA !~}oEʀ4!}2!"!~}o*&*}oE&*&!}2!~ͩ!*&+))))))))͎ͫ !*&+)))))))):ͣ*E &!*&+)))))))):ͣ"r%*&"*~&E1&*&!}2*&!!ET&!"}&*&!!Ew&!"}&!"*&!!*R"!*fz}4"͠E&!ͩ!D *&!E&Ù4!ͺ!"!K"*"*" *!vzh4}2*!*&+)))))))):ͣ!E4!*&+))))))))*n& R'!ͺͺ 3!R¡'!ͺͺ 3"R'!ͺͺ 3#R'!ͺͺ$$~$~$$ 3$R(!ͺͺ> >H> 3%R)(!ͺͺG%tRq 3&RK(!ͺͺsHT"PP` 3'Rm(!ͺͺ 3(R(!ͺͺ 3)R±(!ͺͺ   3*R(!ͺͺB$$B 3+R(!ͺͺ> 3,R)!ͺͺ 3-R9)!ͺͺ> 3.R[)!ͺͺ 3/R})!ͺͺ@  30RŸ)!ͺͺ\"QIE" 31R)!ͺͺ 32R)!ͺͺ? ! 33R*!ͺͺ! 34R'*!ͺͺ?"  35RI*!ͺͺ!> ? 36Rk*!ͺͺ>AA>  37R*!ͺͺ ? 38R¯*!ͺͺ>AA>AA> 39R*!ͺͺ>AA> 3:R*!ͺͺ0000 3;R+!ͺͺ 0000 3<R7+!ͺͺ  3=RY+!ͺͺ~~ 3>R{+!ͺͺ   3?R+!ͺͺ B< 3@R¿+!ͺͺ ')'! 3AR+!ͺͺB$ 3BR,!ͺͺBB|BB 3CR%,!ͺͺAAG@@> 3HR,!ͺͺAAAAAA 3IR,!ͺͺ 3JR-!ͺͺ$ 3KR5-!ͺͺBDHpHDB 3LRW-!ͺͺ@@@@@@ 3MRy-!ͺͺAAII]cA 3NR›-!ͺͺACEIQaA 3OR½-!ͺͺ>AAAAA> 3PR-!ͺͺ@@@~AA~ 3QR.!ͺͺ=BEAAA> 3RR#.!ͺͺABD|BB| 3SRE.!ͺͺ>A>@A> 3TRg.!ͺͺ 3UR‰.!ͺͺ>AAAAAA 3VR«.!ͺͺ"AAA 3WR.!ͺͺ"6]IAAA 3XR.!ͺͺA""A 3YR/!ͺͺ"A 3ZR3/!ͺͺ  3[RU/!ͺͺ 3\Rw/!ͺͺ @ 3]R™/!ͺͺ88 3^R»/!ͺͺ" 3_R/!ͺͺ 3`R/!ͺͺ 3aR!0!ͺͺ}B>< 3bRC0!ͺͺ|BBB|@@ 3cRe0!ͺͺ<@@@< 3dR‡0!ͺͺ"B" 3eR©0!ͺͺ<@~B< 3fR0!ͺͺ< 3gR0!ͺͺ?AA> 3hR1!ͺͺ """2.  3iR11!ͺͺ 3jRS1!ͺͺp 3kRu1!ͺͺBtHDB@@ 3lR—1!ͺͺ 3mR¹1!ͺͺIIII~ 3nR1!ͺͺ"""2. 3oR1!ͺͺBB> 3rRc2!ͺͺ 2, 3sR…2!ͺͺ>>@> 3tR§2!ͺͺ < 3uR2!ͺͺ:DDDD 3vR2!ͺͺ$BB 3wR 3!ͺͺ"c]IA 3xR/3!ͺͺ"" 3yRQ3!ͺͺ "" 3zRs3!ͺͺ< < 3{R•3!ͺͺ    3|R·3!ͺͺ 3}R3!ͺͺ 3~R3!ͺͺI0 *~&E4!ͺͺ ]4*~&}oE@4!ͺͺ ]4!ͺͺ *&+ '!ͺ *#é&V%!ͺͺA  >Ý4Ö4 oE7v!ͺͺ &4!ͺͺ *&+ '!ͺ *#é&V%SIDEMT.COM progra t prin fil sideway o Mannesman Tall Spiri printe wit an CP/ computer Thi fil mus b a ASCI typ fil (on yo ca rea wit WordSta o "Type typ utilit program) Th fil woul normall b SuperCal fil converte fro th .CA fil typ t .PR fil typ usin th SuperCal "/Output,Display,t Disk option. Befor yo ru thi program yo shoul kno wha th botto lin o you origina .CA fil wa, becaus th progra wil ask for it. I th botto lin wa 4 o les (countin th extr tw un-numbere line a th to o th SuperCal file) the th fil wil b printe wit wid spacin betwee lines; otherwise i th botto lin wa between 4 and 8 (max) the i wil b printed with apparent compressed lines spacing. Writte i Turb Pascal July 1985 fo th Mannesman Tall printer Copyrigh b Dou Co fo us i th Publi Domain no t b sol fo profit. ͫCopyright (C) 1984 BORLAND IncA Osborne 1al selectedP)(= ERT()~7#~=% o&ͦoͦܐԩͣ}!!"8~#(}:$= +*!Z!*B!!:(=2!Z: <2!!!:O::O:!*B! !45(!.+/ 0y0( d!kZ!{Z͈͈o&  :(y ͠|( *"x2y( >28!?"9!!>2 :D]SXN]D [ (!e}̈́A8Q0G: x@!\w# (   yV. V!h6# (*(.(!8}(*(̈́w#>?> w#a{ |͒}͛Ɛ'@'7||}>"C"6# ""͐ͩ*B"[R5*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#E͊w}8uRB0 >R@RR!+ͨ z R!+ͨ z <!+ͨ z <!+ͨ z <!#ͨ z <!+ͨ z T]KB!z> S>))0 = |JJDMgo>jB0 7?= H\<z5+)+<z {0Gɯgo||H}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'ͬͬdͬ ͬ} wͦWͧ _}8(8J`9{T]=o`9y w >uJ u` }>(; xQ }} ˸T}ٕ(0D=C ,= ( [ 0%D , 7 ͏ ?(8u x O - ; 8˸x X ,-xG}; }م 9; .>#n0[ D = - nx P ,-(-˸G,-; }ٕ? 9.>͏ 8u ?= u+-(>O 0u O 8͏ ?x P , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx(ͼ ?}ٽÏ }ց; <(; 7D = |٤g{٣_z٢Wy١Ox٠GD u J }x>uu}ƀ/ƀo; -J }0W-J W,}l˸ͨ 8 ; ` x( -ͨ 8J -ͨ 8,J }l8;*!` ! >u` ` u--- J ,,,-xGg?+2n*8t z~,->uxua}.; OJ , ; !U >,k- o&0%,` }g; }؉}颋.:}8c~I$I~L*kٷx˸; }0G,͙<},-(-J ! >0 a` o8 Oþ >um.`1pF,t6|!wS<.z}[|%FXc~ur1}Oٯx(<˸ͨ 8; !~Jͨ 0O!><ͨ 8 =  7 <` O ; 7 0 W-J OT0 j oD,:j !I}袋.}8c~I$I~L!>u` ` 77 ` = O nf^VNF!DLT\I!!53!r1!\!> x #-= o˸xO(- }(x>8(C ,C `iM!>u|; |J>| )=|(DMbo˸ͦ88ͦx(0 8> Mx(>-Ͳ{(ay(Ͱͦ \z(>.Ͳ (Ͱ ~ͦ{>EͲ>+|(|Dg>-Ͳ|/ 0:p# ~# +>0w#,-  60#J˸}րogM| .(C = ~> x0w#xG%P %P ZJDM%P = _~65i+~hìx-Sx9?+{Η@}|C C gZJDM0D ,7}o˸  #yO!@9i&   # w# /w# w#!9! E9!!9~(+F͊!"9!(#>2*Ͳ"|>" :( ͆ *6#w*6#6 !\$![ (̈́( #:~CONTRMKBDLSTAUXUSR>2$*#~ Ͷ$*:> >w###6  #6++p>2S-$Ͷ:*6###ww#w$w#w: ##N#F*B> w#w#[s#r>2S$Ͷ$*6 #-Nw#Fwq#p#6#w#w#w* :( ͒: *^ F* < >26"~͟*-w#ww#͟"~ <@*Ͳ!\  <ʮ!\$> >2*|>! * \$\<(!: [1Á\!(f"> 2:!<"F( #~#6e>!["N>!~8>O6*"w (=(&("( :(N 8y(~#x+% (6*#~[*#~ *~(h#"b=  8 J= B== ͯ}8= ͵}/ͭ !*###~-_~(4Q6*>2>*##w:>*##~*#~(E[ ( ( ( !][ ( ( ((w#(6!]~-#8~>7  [>OkͼMs #rkͼpX á[ [ (( #w(q*#~[ (  *##~6͜O$*#~(08ʦ=ʦ==ʩ=ʬò+###~-_q46͡> *:4^q}Ò*|(M|( M6-#͐ͦ[R8 (G> ͒C~͒#*ͦC!h !lTRUEFALSEͦ!9^#(~#(G~͒#> ͒> Ò "F![(#RR0*4#4> RR *4 #4(>>2$*V(/˖:(#~+ x y2!͵( =( X:(R*:(###~-_-͌X> :("͟"*^˞*V˖0 SRѷR8A* N#F#s#r$ 0})jS\*###w* N#FB ͟r+s> !T]>)j)0 0= UR!#U*^#V#N#F#^#V>">!2DM"~x(L* :O(o:" C}=( ?*-N#Fp+qq#p! * F+N+++V+^Bq#p>>> SRѷR* s#r$ s#r"S"! N#FB(^x * 6#[<(H*! Kq#p##K[! *! 4 #4! x *$ *>w""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* 5KB!>u~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6# * *!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#VS>O"w2x2!"" @*>2"!"""!\Ͳ*: !~6go(\R*s#r_2x( s x(T]DMR0 -a%}̈́o*!~6o&͠|ͣ}%^C User break1:% I/O% Run-time% error ͒%, PC=[R"͍% Program aborted*1!͍!OoiuͲm SIDEOKI2.CHR!wͲ!!w <b!b!8!._bHerda! !@!5\}oE` !b!!,5zʠ "!8!]*+))) ._b*#l !!,5z "!8!M*+))) ._b*#ì !b!!,5zʋ""!]*+))) !Ͳ! !Ͳ!!!!n&s!!!!n&s!!!!n&s!!!!n&s!!!!n&s!! !! n&s!! !! n&s! !Ͳ!! 5zd""!*n&"*!@ͯE9"*!@"I"*!@R"!**s*#!!]*+)))!  *# !!,5z*$"!M*+))) !Ͳ! !Ͳ!!!!n&s!!!!n&s!!!!n&s!!!!n&s!!!!n&s!! !! n&s!! !! n&s! !Ͳ!! 5z$"!*n&"*!@ͯE#*!@"#*!@R"!**s*#Ý#!M*+)))!  *#×""v*v!NER$!Ͳ*v!NEp$!Ͳ!!5zc%"v!͝Eʖ$p%!͚E$!8!b!8!bl%!8!b*&!NE%!8!bh%*v!NE-%! *&e.!Ͳ*v!NEY%! *&e.!Ͳ*v#|$t%d%d%d%"v![!!e.l !e.!%e.!9e.*ve.!e.!qb"v!*v5z &"![!b*#%![!!e.l !e.!q́%Ć001!b![!!e.l !e.!q́%C! !q!b!*5z:,"*!*R"!u%!"*!Ezʚ'"!v*+))))))))*+)^#V!N!v*+))))))))*+)^#V!fN}o!v*+))))))))*+)^#V!N}o}oEʐ'>,*+&*"v*!N!v!+))))))))*+)^#V!N!v!+))))))))*+)^#V!fN}o!v!+))))))))*+)^#V!N}o}oE_(!"v!*v5z)"!v*+))))))))*+)^#V"*!͛E(*!R"!"![!]*+))) !qb!*+)^#V%*#k(*v!NE#) &![!! e.l !qb*!NE*!*v5z*"!v*+))))))))*+)^#V"*!͛E)![!]! +))) !qb)![!]!+))) !qb!*+)^#V%*#b)!u%![!! e.l !qb!u%!"!*v5z*"!v*+))))))))*+)^#V"*!͛Eʹ**!R"!"![!M*+))) !qb!*+)^#V%*#W*![!! e.l !qb*!NE+!*v5z+"!v*+))))))))*+)^#V"*!͛Eʨ+![!M! +))) !qb+![!]!+))) !qb!*+)^#V%*#9+*{u%![!! e.l !qb*v!NE(,L&!u%*#Ý&B,Û'"v"v*v^#V}2zv!!(5zʹ,"xv*xv!!R!*zv&Rb!*v^#VB*xv#g,!! 5z-"xv!O*xv!*zv&Rb!*v^#V!B*xv#,!!'5zt-"xv!O!*xvR!*zv&Rb!*v^#VB*xv#"-!! 5z-"xv!!*xv!R*zv&Rb!*v^#V!B*xv#À-"tv"vv*vv^#V}2ov!!'5zI."mv*mv!!*ov&Rb!*tv^#VB*mv#.!! 5zʯ."mv!O*mv!!R*ov&Rb!*tv^#V!B*mv#U.!!&5z /"mv!N!*mvR!*ov&Rb!*tv^#VB*mv#û.!! 5zs/"mv!!*mv!R*ov&Rb!*tv^#V!B*mv#/"iv"kv*kv^#V}2dv!!O5z/"bv*bv!*dv&Rb*iv^#VB*bv#Ù/!!5z0"bv!O*bv*dv&Rb!*iv^#VB*bv#/!!M5zm0"bv!N*bvR!*dv&Rb*iv^#VB*bv#+0!!5z0"bv!!*bvR*dv&Rb!*iv^#VB*bv#y0"\v"^v"`v! "Sv*`v^#V}2Wv*`v*^vC,*`v*^v-!*\v^#V5zT1"Uv!Sv*^vC,*`v*^vC,!Sv*^v-*`v*^v-*Uv#1"Mv"Ov"Qv!*Qv5zʽ1"!!Mh!|g}oi!*Ov5zʴ1"*#á1*#r1*MvB!!Mh!}/o|/g|g}oi!<!!ZV1!F!!ZV1!F!!ZV1!!!V1!P!!(V1!!!V1!!Mh!}/o|/g|g}oi!"Cv!"Av!"?v!"=v!";v!"1v!"/v! "7v!?"3v!"9v!"-vc!1v!;vC,!1v!;vu/1!@!Ŕ version 2b!@!Ŕ July 4, 1985b!&! ŔTMb!! ŔSIDEOKIb!!R!́ 1985 by PAUL E. HERDAb!!Ŕ,This program prints the lines of a text file͐bŔD parallel to the 11" side of the paper on an Okidata 92.b!/v!CvC,Ŕ^b!1v!Cv-Ŕqb!B!!Ŕ^́)́TPATCH ́ĺmust́ḿ be run first́q́(b!!!Ŕ) (b!8!b!1v!Cv-!7v!9vu/c!B!!ŔThis is SIDEOKIb!!Ŕ COPYRIGHT 1985 by Paul E. Herdab! ! Ŕ:It may not be sold or altered by anyone except the author;b!! ŔDPermission to use it may not be granted by anyone except the author.b! !ŔThis is copy S/N 1 ́ of Version 2b! !Ŕ,The author grants permission for the use of ́^́thiśq́ copy to:b!!Ŕ^́-->́q́ Any home computer userb!!Ŕfor non-business purposesb!!Ŕ b!! !!'5zʊ7"R!! b*#e7!-v!Av!Av0!7v!CvC,!!!Ŕ) (b!8!bc!!Ŕ INSTRUCTIONSb!!Ŕ;To underline, place a CONTROL-CODE LINE under the text-line͐bŔ, containing the text to be underlined.͐bŔAOn the CONTROL-CODE LINE, place a U under the first letter to be ́ underlined͐bŔA  and a u after (& under) the last letter to be underlined.͐bŔ@To italicize, place an i under the first letter to be italicized͐bŔA and a ) after (& under) the last letter to be italicized.͐bŔ>For Paul Herda's phonetic alphabet, place a ( under the first ́letter,͐bŔ0 and a ) after (& under) the last letter.͐bŔAA CONTROL-CODE LINE is made by placing a ;; in columns 1 & 2 of á line͐bŔ:or by placing $$$$$ in columns 1-5 of the line preceeding ́the CONTROL-CODE LINE͐bR͐bŔ5(The lower case letters, italics and PH-phonetic setś are not included.)͐b!!Ŕ) (b!8!bcŔjb!7v!Cvu/Ŕkb!! Ŕ)Enter the name of the file to be printed.b!!Ŕ)́Press ^H to backspacé(b!!! !+._bc!3v!?vC,!!! Ŕ Are you sure?b!! m5z<"!*!*n&(s*#b!!Ŕ)́(& cycle power if necessary)b!8!b![!!Ae.l !qbcŔḱ(b!-v!CvC,!!Ŕ If you find this program useful,b!!Ŕ'or want to buy a copy for business use,b!!Ŕdrop me a check for $25,b!! Ŕ Paul E. Herdab!! Ŕ4304 Taunton Dr.b!! ŔBeltsville, Md. 20705b!!Ŕ0and I'll send you a copy with the standard loweŕ case letters.b!!Ŕ0(My italics characters should be finished beforé June of 1986.)b!"!"!! <b!b!͝}oENA!,$;;! |!N}oE@*!"$$$$$! |!NE&A*!R"*! mͯEJA! m"ð@!bcŔjbŔ)b!!Ŕ# ----> USE YOUR ARROW KEYS <---- b!!ŔlbŔA How wide a TOP MARGIN do you want on the 11" edge?́ bŔmbŔ( 1/4" 1/2" 3/4" 1" bŔ( 1 1/4" 1 1/2" 1 3/4" 2" b!!Ŕ> Lines per inch: 2 3 4 5 ́ 6 6.5 b!! Ŕ/ 00 = Number of LINES PER PAGE to be printed.́! (52 is max with no top-margin.)͐b! ! Ŕ (*!́- = total number of lines to be printed in thé file.) b!! ŔlbŔ= CHARACTERS PER INCH (10 cpi is best for this character set) ͐bŔmbŔ= 9 1/2 10 1/3 11 12 13 b!!Ŕ- 000 = Number of CHARACTERS PER LINE to bé printed. ͐b! !Ŕ (*!́' = number of characters in your longest́ line.) b!!Ŕ= Convert lower case letters to upper case? Yes No ͐b!!Ŕ= Print ZEROs as? O's 0's ͐b!!ŔlbŔ= Ready to print? ͐bŔmbŔ= Yes No bR!bŔ(b!)!Ŕ 1 1/4" b!?!Ŕ 6 b!! Ŕ !4!b! ! Ŕ 10 1/3 b!!Ŕ *!b!8!Ŕ No b!5!Ŕ 0's b! !Ŕ No b*&Q! a! a! a!a!a!a!a!a}oEH!!5zʠH"Ŕ^́(́j!b!!Ŕ ----> b!/!Ŕ <---- b*#3HŔq́)b!!Ŕ# ----> USE YOUR ARROW KEYS <---- b !uͲ" vŔj́)b!!* vRI!u R!q́(́ ~1/4" ́j́)́ 1/2" 3/4" 1" ́( 1 1/4" 1 1/2" 1 3/4" 2" b!@"001!ͲeNRrJŔ ~1/4" !u !q́(́ 1/2" ́j́)́ 3/4" 1" ́( 1 1/4" 1 1/2" 1 3/4" 2" b!,"033!ͲeNRKŔ ~1/4" 1/2" !u !q́(́ 3/4" ́j́)́ 1" ́( 1 1/4" 1 1/2" 1 3/4" 2" b!"063!ͲeNRKŔ ~1/4" 1/2" 3/4" !u !q́(́ 1" ́j́)́( 1 1/4" 1 1/2" 1 3/4" 2" b!"093!ͲeNRkLŔ( ~1/4" 1/2" 3/4" 1" !u !q́(́ 1 1/4" ́j́)́ 1 1/2" 1 3/4" 2" b!"123!ͲeNRMŔ( ~1/4" 1/2" 3/4" 1" ́ 1 1/4" !u !q́(́ 1 1/2" ́j́)́ 1 3/4" 2" b!"153!ͲeNRMŔ( ~1/4" 1/2" 3/4" 1" ́ 1 1/4" 1 1/2" !u !q́(́ 1 3/4" ́j́)́ 2" b!"183!ͲeNReNŔ( ~1/4" 1/2" 3/4" 1" ́ 1 1/4" 1 1/2" 1 3/4" !u !q́(́ 2" ́j́)b!"213!Ͳ !uͲ"uŔj́)b!!*uRO!u R!q́(́ 2 ́j́)́- 3 4 5 6 6.5 b!$"{QRŽOŔ 2 !u !q́(́ 3.13 ́j́)́$ 4 5 6 6.5 b!"{QR PŔ 2 3 !u !q́(́ 4 ́j́)́ 5 6 6.5 b!"{QRˆPŔ 2 3 4 !u !q́(́ 5.17 ́j́)́ 6 6.5 b!"{QRQŔ$ 2 3 4 5 !u !q́(́ 6 ́j́)́ 6.5 b! "{QR{QŔ- 2 3 4 5 6 !u !q́(́ 6.5 ́j́)b! "** ͧ"} !uͲ"u*u*}͛EʾQ*}"u!! !u R!q́(*u!! ͐bŔ)́j*}!́ = MAXb !uͲ"uŔj́)b!! *uRR!u R!q́(́ 9.6 ́j́)́1 10 1/3 11 12 13 bìTRBSŔ 9 1/2 !u !q́(́ 10 1/3 ́j́)́% 11 12 13 bìTR½SŔ 9 1/2 10 1/3 !u !q́(́ 11.11 ́j́)́ 12 13 bìTR8TŔ$ 9 1/2 10 1/3 11 !u !q́(́ 12 ́j́)́ 13 bìTR¬TŔ0 9 1/2 10 1/3 11 12 !u !q́(́ 13.1 ́j́)b*uRT!_!R"=URT!g!R"=URU!n!R"=UR#U!x!R"=UR=U!!R"**ͯEUU*"*uR‚U*! !v͡$VR¬U*!zG% !v͡$VRU*!1 !v͡$VRU*!  !v͡$VR$V*!Q !v͡!?!Ŕk!=!v!!@́ " of printb !uͲ"u!!!u R!q́(*u!! b*RV*u! !v͡xWRW*u!zG% !v͡xWR*W*u!1 !v͡xWRQW*u!  !v͡xWRxW*u!Q !v͡!?!Ŕk!=!v!!@́ " of printb !uͲ"uŔj́)b!1!*uR1X!u R!q́(́ Yes ́j́)́ No biXRiXŔ Yes !u !q́(́ No b !uͲ"uŔj́)b!,!*uRX!u R!q́(́ O's ́j́)́ 0's b%YR%YŔ O's !u !q́(́ 0's b !uͲ"u!!*uR¼Y!u R!q́(́ Yes ́j́)́ No b0ZR0ZŔj́)́ Yes !u !q́(́ No b!"!"!4"!"!"!"!"Ŕ^́(́jb!!Ŕ ----> b!/!Ŕ <---- b!8!b*&! N*&!N}oEʷZŔq́)b!!Ŕ# ----> USE YOUR ARROW KEYS <---- b*kH!8!bG*&! N*&!N}oEʖ[*jHr\*&! N*&!N}o*!Q!!k}oE[*!"*kH*&!N*&!N}o*!RQ!!k}oE^\*!R"*kH*&!NEI[*kgN!8!bG*&! N*&!N}oE\*jgN]*&! N*&!N}o*!Q!!k}oE/]*!"*kgN*&!N*&!N}o*!RQ!!k}oEʖ]*!R"*kgN*&! N*&!N}oE]*jgN:[*&!NEʁ\*k͖Q**}͛E ^*}"!8!bG*&! N*&!N}oEW^*j͖Qe_*&! N*&!N}o**}ͯ}oEʩ^*!"*k͖Q*&!N*&!N}o*!͛}oE^*!R"*k͖Q*&! N*&!N}oE7_*j͖Qr\*&!*NEQ_!c"}*&!NE ^*kR!8!bG*&! N*&!N}oE_*jR`*&! N*&!N}o*!Q!!k}oE"`*!"*kR*&!N*&!N}o*!RQ!!k}oEʉ`*!R"*kR*&! N*&!N}oE`*jR]*&!NEt_*!͛E`!"*keV!8!bG*&! N*&!N}oEJa*jeV>b*&! N*&!N}o*!ͯ}oEʜa*!"*keV*&!N*&!N}o*!͛}oEa*!R"*keV*&! N*&!N}oE*b*jeVe_*&!NE`*k͹W!8!bG*&! N*&!N}oEʚb*j͹Wóc*&! N*&!N}o*!Q!a!a}oEb*!"*k͹W*&!N*&!N}o*!RQ!a!a}oEfc*!R"*k͹W*&! N*&!N}oEʟc*j͹W`*&!NEMb*kkX!8!bG*&! N*&!N}oEd*jkX(e*&! N*&!N}o*!Q!a!a}oErd*!"*kkX*&!N*&!N}o*!RQ!a!a}oEd*!R"*kkX*&! N*&!N}oEe*jkX>b*&!NEc*k'Y!8!bG*&!N*&!N}o*!RQ!a!a}oEʿe*!R"*j'Y!B f*&! N*&!N}oEe*j'Yóc*&!NE7e![!́%C! !qb!!5+)*! Rs#r*"*"!*R"{*!NEʃf!}2z*!NEʜf!}2z*!NEʵf!}2y*!NEf!}2y!,";;! |!NEf!"$$$$$! |!NELg!͝!NEDg!,$!"Kg!""yu!*yu^#Vn&TR{g!}2xèhURg!"èhuR£g!"èh)R·g!"èhiRg!d"èh(Rg!"èh2Rh!*+)!s#rèh3R#h!*+)! s#rèh4REh!*+)!s#rèh5Rgh!*+)!s#rèh6R‰h!*+)!s#rèh7R¨h!*+)!s#r*yu^#V"!*yus#r*!ͯEi*!"!*n&! N}oEi**yus#r!,"ÿh!*5zʥj"**NEDi!Ng!*n&!R"*!!R͛Eʇi*!R"*z&!N*!`!R͛}o*!{!Rͯ}o*!ͯ}oEi*! R"*! !RͯE j!"*!N*y&!N}oE7j!b"*!%N*!N}oE_j!c"!v*+))))))))*+)***s#r*#!i! "!"!"!"!!45z3k"!!5z)k"!v*+))))))))*+)!s#r*#j*#j!!45zrk"!*+)!!5+)^#Vs#r*#?k*!"*!N}oEk![!!e.l ! e.!e.!qb*R!b!}2x!*5zm"*x&Elm*!,N}o!͝}o!NE3lm*!,NEVl! !Ͳ^l!,$!͝}oEl!,$fÆl!"! m"*!,ͯ*! mͯ}oEl! m"*!͛El!"*!,ͯEm! m! m͛EZm!! m! mR5zZm"! ! e.!Ͳ*#/m! m! m͛Em!! m! mR5zm"! ! e.!Ͳ*#Ømi*#kŔ.0bf2;͆@͹=ZA2Z͜> !! <b!b!]!C+))) !]!D+))) \}oE_n!b![!!e.l !e.!qb!!*!͛Eʭn!"ͧj!͝}oEnj͑&òn!b![!!e.l !e.!qb![!́%Ć001bŔ.2bŔqbŔk͐b!b![!!e.l !e.!q*!N}oEk![!!e.l ! e.!e.!qb*R!b!}2x!*5zm"*x&Elm*!,N}o!͝}o!NE3lm*!,NEVl! !Ͳ^l!,$!͝}oEl!,$fÆl!"! m"*!,ͯ*! mͯ}oEl! m"*!͛El!"*!,ͯEm! m! SIDEOKI2.DOC July 4, 1985 tm Documentation for SIDEOKI (version 1b), Copyright by Paul E. Herda. This program prints the lines of a text file (up to 220 characters per line) parallel to the 11" side of the paper on an Okidata 92 using an Osborne Executive computer. It consists of 2 files: SIDEOKI2.COM and SIDEOKI2.CHR. TPATCH.COM (found on FOG disk -FOG/EX1.018 and on CAPital OUG disk -OUG.124 or -OUG.125) must be run before SIDEOKI. SIDEOKI2.COM can easily be run without reading this DOC file. To view the character set currently at SIDEOKI's disposal, print the following 3 lines (or print this .DOC file) with SIDEOKI: !"#$%&,()*+'-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ;;) U u !"#$%&,()*+'-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ;;i !"#$%&,()*+'-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ;;( ) There are 8 screens presented when the program is run: #1: THE TITLE SCREEN announces the name and purpose of the program and states that TPATCH must be run first. tm #2: THE COPYRIGHT SCREEN announces that SIDEOKI (version 2) is copyright by Paul E. Herda and cannot be sold or changed without his permission and that it (version 2) may be used by any home computer user for non-business purposes. #3: THE INSTRUCTION SCREEN states how to underline your text and that the lower case letters are not available in this version. #4: THE ENTER FILE-TO-BE-PRINTED SCREEN asks for the name of the file to be printed. Enter the file name and hit return. If you must backspace, press ^H. (If you make a mistake, you can hit and then press N on the next screen.) #5: THE ARE YOU SURE SCREEN asks if the file name is correct. Hit Y for yes or N for no, if you want to re-enter the file name. #6: THE SET TOP OF FORM SCREEN asks you to line up the paper in your printer to TOP OF FORM and hit return. (If your printer is not connected to your computer, connect it before you hit return.) It WILL be necessary to cycle the power switch on your printer IF you aborted a printout (e.g.,with ^C) before SIDEOKI finished printing. #7: THE MAIN MENU SCREEN allows you to set several variables: o How wide you want the margin at the top of the page to be o How many lines per inch you want (vertically) on the sheet NOTE: line spacing can also be changed from within your text file by placing a 2, 3, 4, 5, 6, or 7 on a control-code-line. This will make the spacing between the control-code-line's line and the NEXT line to be the same spacing as 2, 3, 4, 5, 6, or 6.5 lines per inch (i.e., 25, 12, 7, 3, 1, or 0 dots below it). Thus, by printing with 2 lines per inch from the Main Menu, you can use a "7" lines per inch seperation where you want to use subscripts or superscripts--not true sub/superscripts, but close. (Then if an * is entered while on the "lines per page" selection line of the MAIN MENU, you will be able to enter more "lines per page" than can fit on a page with the "lines per inch" which you have selected; this enables you to fill the bottom of a page--by trial and error--when you have several lines with a 7 control code--but this number of lines/page applies to your entire printout, so you may want to print files containing only 1 page. If your re-enter the "lines per inch" selection line, then you will have to re-enter an * while on the "lines per page" selection line. Warning: SIDEOKI will not work if you try to print more lines than the page can hold!) o How many lines you want printed on each page o How many characters per inch (horizontally) you want printed o How many characters per line you want--and it is stated how wide (in inches) your line will be. For example, if your longist line is 90 letters at 10 1/3 characters per inch, your line will require 0.87 inches and, in order to have a 1" left margin (after printing, with your print left justified), you should print 98 characters--i.e. 8 characters more than your longest line. (The recommended value--in this case 98-- is the default value presented upon entering this decision line from above.) If you opt to print only 70 characters per line, then the 20 characters on the right side of your longest line will be truncated off. Two lengths are presented: the length of the lines to be printed & the length of the longest line in your file (or the longest line in your file with a 1" margin if the line will fit on one page with a 1" margin.) o Do you want to convert lower case to upper case letters o Do you want to print zeros without a slash o Are you ready to print; i.e., are all the variables properly set? #8: THE OFFER SCREEN announces how to obtain a copy of this program with lower case letters or for business use. SIDEOKI with italics letters should be ready before June of 1986; it will also include these special characters: degrees, cents, bullet, lambda, and theta. Number of pages printed will appear on the top line of this screen. FEATURES: 1) Control characters will be printed as ^chr, except for ^M (carriage return and soft carriage return), which will be interpreted as the end of a line (^Z, EOF, also shouldn't print, although chr(154) will be printed as ^chr) 2) A Wordstar file can be printed without removing the soft returns 3) To underline, place a CONTROL-CODE line under the text-line containing the text to be underlined. On the CONTROL-CODE LINE, place a U under the first letter to be underlined and a u after (& under) the last letter to be underlined. A CONTROL-CODE LINE is made by placing a ;; in columns 1 & 2 of a line or by placing $$$$$ in columns 1-5 of the line preceeding the CONTROL- CODE LINE. Control-code lines are not printed, but control the printing. 4) When a T (for Top Of Form) is encountered on a CONTROL-CODE LINE, the next line in your print file will be the first line of the next page. QUIRKS: 1) If this program bombs out in the ARE YOU SURE SCREEN with an I/O error, try adding a line of blank characters and a to the end of your text file with WORDSTAR. 2) If the program bombs out in the Main Menu, you forgot to run TPATCH first. 3) SIDEOKI seems to print better on fanfold (tractor feed) paper than on single sheet paper. 4) ~1/4 inch is the minimum margin listed on the "how wide do you want the margin" choice of THE MAIN MENU SCREEN--it is actually 15/64" and this is the minimum margin the Okidata will print. 5) If the Main Menu tells you that your longest line is 139 characters, but in viewing it with Wordstar, it only looks like 130 characters, then you probably have 9 blanks on the end of your longest line--simply tell SIDEOKI to only print 130 characters of each line of your file. 6) If you have 9 leading (left margin) blanks in your file, they are counted by SIDEOKI as 9 columns of data for spacing purposes--therefore, tell SIDEOKI to print 9 more columns per line than IT recommends (these initial blanks will be printed in the 1" left margin area, which is left blank when SIDEOKI does a TOF to go to the next page, assuming the characters per line recommended by SIDEOKI is longer than your longest line), or remove the leading blank spaces from your file before printing it. 7) Whenever a is encountered, a is expected to follow it; omitting the will not cause overprinting. version 2A, a part of SIDEOKI copyright 1985 by Paul E. Herda Y@@HT@R @@@@@@@@@ @@@@@@@@@ @T@TT@@@@ TT~T~TT@@ H\JHh\\@@ FF|PH@@ thVP@Hp@@ @P@P@@P@@ D@HDH@H@@ @P@@@P@@@ @T@@@T~@@ @HH@HH~@@ P@@@@P@P@ @@@@@@~@@ p@@@@p@@@ @D@@@PH@@ bRXF`J@@ \HHHXHH@@ ~b`\B`L@@ \BB\DbL@@ D@~HTDD@@ |`B~|bb@@ \`bL`bl@@ @`H~D@L@@ \@b\@b\@@ xbB|b@^@@ H@@@HHH@@ H@@@HHHH@ @D@@@DH@@ @@~@~@@@@ @P@@@PH@@ H@H\@@D@@ \`L\N`B@@ b@\HTb@@@ |BB|BB\@@ \b@\@b@@@ x@BxB@B@@ ~``~``|@@ ```~``|@@ ^bB\@bN@B bbbbbb~@@ |HH|HHH@@ x@@^@@@@@ `d``hdx@@ ~``````@@ bvbbbbj@@ brbbbfj@@ \B\B@@ `b`|b`|@@ Z`JXBtB@@ bb`|bd|@@ \bB\`b\@@ HHH~HHH@@ \bbbb@b@@ HbTb@@@@@ DBhBBpJ@@ @T@@@TH@@ H@HbTH@@@ ~D@~@PH@@ L@@L@@@@@ @P@@@DH@@ X@@X@@@@@ @T@Hb@@@@ @@@@@@@@ @@@DD@D@@ b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b \@HHXHH@@ b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b L@@L@@p@@ HHHHHHHHH X@@X@@F@@ @p@@H@F@@ ~~~~~~~~~ X`BXB`B@@ \`@\@b@@@ b@@@@\@\b Y@@HT@R @@@@@@@@@ b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b xJ@D@D`@@ DTzH|@@ b@@@@\@\b b@@@@\@\b xnDR@@@@@ b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b RptHd`@@ b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b X`BXB`B@@ b@@@@\@\b b@@@@\@\b Y@@HT@R @@@@@@@@@ b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b v@@@vvv@@ b@@@@\@\b b@@@@\@\b b@@@@\@\b  b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b @@@@@@@@ |@@|L@@@@ b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b thVP@Hp@@ bb~b~bb@@ b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b b@@@@\@\b X`BXB`B@@ b@@@@\@\b b@@@@\@\b L@@@gRf @@@@@@@@@ HH@HH@H@@ @@@@@@@@@ @@^@^@@@@ @^@@@^^@@ R@J~tE@@@ T@jXXdP@@ @X@XH@@@@ @D@@@D@@@ P@HPH@H@@ @@L@L@^@@ @@@@@@^@@ X@@@@X@@H @@@@@@~@@ P@@@@P@@@ P@HBD@@@@ LBpMdbh@@ ^H@@H@@@@ ^RPNB@L@@ \P@NBBD@@ @H^@@@P@@ ^@@^NbR@@ \PpN`@n@@ HB@^@HD@@ ^R@LR@^@@ \b@\bb\@@ L@@@LLL@@ L@@@LLL@D B@DBD@@@@ @@^@^@@@@ P@HPH@@@@ @R@LB@D@@ LBfLf@h@@ @L^@@@R@@ |PP|PP^@@ ^P`N`@`@@ |RP|PRP@@ ^@@^@@\@@ @@@^@@\@@ ^P`N`@g@@ @@@@@@^@@ ^@@^@@@@@ XDdNDdD@@ B@DBD@X@@ ^@@@@@@@@ @@@RL@@@@ B@DPH@@@@ \`A\A`A@@ @B@^B@\@@ MBlL`B`@@ BBD^BB\@@ ^@@^@@^@@ @@@~@@@@@ L@@@@R@@@ @@@@RLR@@ P`J``Fh@@ R@LRL@@@@ @R@@@@L@@ ^BH^DP@@@ NHHNHHH@@ B@DPH@@@@ \DD\DDD@@ @L@@R@@@@ @@@@@@@@ @D@@F@F@@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ \@@HH@@@@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ DHHDHHP@@ @@@@@@@@@ HDDHDDB@@ @X@@a@F@@ ^^^^^^^^^ LB`L`B`@@ ^R`N`@`@@ @Z@RVLRL@ L@@@gRf @@@@@@@@@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ X@`F\`@@@ @f@X@P\@@ @Z@RVLRL@ @Z@RVLRL@ XF`XBdB@@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ `dFQRpN@@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ LB`L`B`@@ @Z@RVLRL@ @Z@RVLRL@ L@@@gRf @@@@@@@@@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ R@@@RRR@@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @@@@@@@@ ~`j~nbj@@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ T@jXXdP@@ @@^@^@@@@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ LB`L`B`@@ @Z@RVLRL@ @Z@RVLRL@ RVLRL@ R@@@RRR@@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@ @Z@RVLRL@  ( Printer Setup for OKIDATA 82A By: W.M.Steele Dated: Sept. 25,1984 ) Dimmed lines are modes set. ( Set Wide Char. AFTER (1) or (5) ( CORRESPONDENCE MODE ) (1) 10 Characters per inch ) (2) 6 Lines per inch ) (3) 1" Side margins ) (4) 66 Lines per page ( COMPRESSED MODE ( (5) 16.5 Characters per inch ( (6) 8 Lines per inch ( (7) No Side margins ( (8) 88 Lines per page ( (9) Wide Characters ( (0) or (CTRL-C) Done ( SELECT: $6BF666B8AF885  !9"1!r ʁ0ʁ:0!7?L$o^#V6)#^#V6(#^#V6(#^#Vr~_#r!r*8) 88 Lines per page ( (9) Wid5Wq5Wq;************************************************************** ; ; PROGRAM NAME:OKIDATA MICROLINE 82A SETUP ; WRITTEN BY :W.M.STEELE SEPT. 25,1984 ; ;************************************************************** ; ;CP/M ADDRESSES: ; BASE EQU 00H ;standard CP/M Base WBOOT EQU BASE+03H ;addr.of vector to warm boot BDOS EQU BASE+05H ;addr.of vector to BDOS entry TPA EQU BASE+100H ;begin.of std.trans.program area ; ;BDOS FUNCTIONS: ; KEYIN EQU 01H ;get char.fr.keyboard to CRT DSPLCHR EQU 02H ;display char.on CRT LSTOUT EQU 05H ;send char. to LST: device DSPLSTG EQU 09H ;display string on CRT ; ;SCREEN CONTROLS: ; CTRLC EQU 03H ;restart TAB EQU 09H ;tab 8 spaces LF EQU 0AH ;linefeed CR EQU 0DH ;carriage return CLR EQU 1AH ;clear screen & home cursor ESC EQU 1BH ;escape ; ;PRINTER CONTROLS: ; FORMFD EQU 0CH ;formfeed PRTRCLR EQU 18H ;clear printer buffer CPI17 EQU 1DH ;set 16.5 char./in. CPI10 EQU 1EH ;set 10 char./in. WIDEON EQU 1FH ;set wide characters on  BRITE EQU 28H ;full intensity DIM50 EQU 29H ;1/2 intensity SETTOP EQU '5' ;set top of form LPI06 EQU '6' ;set 6 lines/in. LPI08 EQU '8' ;set 8 lines/in. CPL80 EQU 'A' ;set 80 char./line (no side margins) CPL64 EQU 'B' ;set 64 char./line (1" side margins) FMLGTH EQU 'F' ;set form length ; ;*************************************************************** ; ORG TPA JMP PROLOG ; ;*************************************************************** ; MENU: DB CLR,LF,ESC,BRITE,CR DB TAB,' Printer Setup for OKIDATA 82A',CR,LF DB TAB,'By: W.M.Steele Dated: Sept. 25,1984',CR,LF,LF DB ESC,DIM50,TAB,'Dimmed lines are modes set.',CR,LF,LF DB ESC,BRITE,TAB,'Set Wide Char. AFTER (1) or (5)',CR,LF,LF LINEA: DB ESC,BRITE,TAB,'CORRESPONDENCE MODE',CR,LF LINE1: DB ESC,DIM50,TAB,TAB,'(1) 10 Characters per inch',CR,LF LINE2: DB ESC,DIM50,TAB,TAB,'(2) 6 Lines per inch',CR,LF LINE3: DB ESC,DIM50,TAB,TAB,'(3) 1" Side margins',CR,LF LINE4: DB ESC,DIM50,TAB,TAB,'(4) 66 Lines per page',CR,LF,LF LINEB: DB ESC,BRITE,TAB,'COMPRESSED MODE',CR,LF LINE5: DB ESC,BRITE,TAB,TAB,'(5) 16.5 Characters per inch',CR,LF LINE6: DB ESC,BRITE,TAB,TAB,'(6) 8 Lines per inch',CR,LF LINE7: DB ESC,BRITE,TAB,TAB,'(7) No Side margins',CR,LF LINE8: DB ESC,BRITE,TAB,TAB,'(8) 88 Lines per page',CR,LF,LF LINE9: DB ESC,BRITE,TAB,TAB,'(9) Wide Characters',CR,LF LINE0: DB ESC,BRITE,TAB,TAB,'(0) or (CTRL-C) Done',CR,LF,LF DB ESC,BRITE,TAB,TAB,TAB,'SELECT: ','$' SETA: DB CPI10,ESC,LPI06,ESC,CPL64 SET4: DB ESC,FMLGTH,'66',00 SET1: DB CPI10,00 SET2: DB ESC,LPI06,00 SET3: DB ESC,CPL64,00 SET5: DB CPI17,00 SET6: DB ESC,LPI08,00 SET7: DB ESC,CPL80,00 SET8: DB ESC,FMLGTH,'88',00 SET9: DB WIDEON,00 SET0: DB ESC,SETTOP,CR,PRTRCLR,CR,00 ; PROLOG: LXI H, 0000H ;clear HL DAD SP ;add stack pointer SHLD OLDSP ;store it LXI SP, OLDSP ;get top of new stack LXI H, SETA ;HL-->initial setup CALL SETTER PROGM: LXI D, MENU ;DE-->Menu MVI C, DSPLSTG ;display it CALL BDOS MVI C, KEYIN ;get selection CALL BDOS CPI CTRLC ;exit? JZ EPILOG ;if so--go CPI '0' ;done? JZ EPILOG ;if so--go JC PROGM ;else is smaller than 1,try again CPI '9'+1 ;else if larger than 9-- JNC PROGM ;--again--try again SUI 30H ;make ASCII to hexidecimal LXI H, TABLE-8 ;get ready to select addr.fr.TABLE PROGM1: STC ;set carry flag CMC ;now it's reset for sure RAL ;multiply RAL ; hexidecimal RAL ; selection by 8 ADD L ;add it L JNC PROGM2 ;if carry INR H ; increment H PROGM2: MOV L, A ;put it back in L MOV E, M ; HL points to addr.in INX H ; table to be dimmed MOV D, M ; get actual addr. in DE PUSH H ;save table addr. XCHG ;and then get actual addr.to HL DIMMER: MVI M, DIM50 ;dim the selection POP H ;get table addr.back INX H ;get next table addr.bytes MOV E, M ;put them again in DE INX H MOV D, M PUSH H ;save table pointer again XCHG ;and put actual addr. into HL BRITER: MVI M, BRITE ;brighten opposite selection POP H ;get table addr.back again INX H MOV E, M INX H MOV D, M ;again, actual addr. to DE PUSH H ;save it XCHG ;and put into HL MVI M, BRITE ;selections (1) & (5) have two POP H ; INX H ; 'opposites' to brighten MOV E, M ; INX H ; others just 'brighten' DUMMY MOV D, M ;to DE XCHG ;to HL CALL SETTER ;HL--> the selection sequence JMP PROGM ;start over for next selection SETTER: MOV A, M ;get byte of selection sequence ORA A ;is it the last one? RZ ;if so--return MOV E, A ;else move char.to E PUSH H ;save HL MVI C, LSTOUT ; and send it to printer CALL BDOS POP H ;get HL back INX H ;next byte? JMP SETTER EPILOG: LXI H, SET0 ;final selection CALL SETTER LHLD OLDSP SPHL JMP WBOOT ; ;************************************************************** ; DS 32 ;program stack OLDSP: DS 2 ;reserved for old stack addr. TABLE: DW LINE1+1 DW LINE5+1 DW LINE9+1 DW SET1 DW LINE2+1 DW LINE6+1 DW DUMMY DW SET2 DW LINE3+1 DW LINE7+1 DW DUMMY DW SET3 DW LINE4+1 DW LINE8+1 DW DUMMY DW SET4 DW LINE5+1 DW LINE1+1 DW LINE9+1 DW SET5 DW LINE6+1 DW LINE2+1 DW DUMMY DW SET6 DW LINE7+1 DW LINE3+1 DW DUMMY DW SET7 DW LINE8+1 DW LINE4+1 DW DUMMY DW SET8 DW LINE9+1 DW DUMMY DW DUMMY DW SET9 DUMMY: DB 00 END TPA A, M ;get byte of selection sequence ORA A ;is it the last one? RZ ;if so--return MOV E, A ;else move char.to E PUSH H ;save HL MVI C, LSTOUT ; and send it to printer CALL BDOS POP H ;get HL back INX H ;next byte? JMP SETTER EPILOG: LXI H, SET0 ;final selection CALL SETTER LHLD OLDSP SPHL JMP WBOOT ; ;************************************************************** ; DS 32 ;program stack OLDSP: DS 2 ;reserved for old stack addr. TABLE: DW LINE1+1 DW LINE5+1 DW LINE9+1 DW SET1 DW LINE2+1 DW LINE6+1 DW DUMMY DW SET2 DW LINE3+1 DW LINE7+1 DW DUMMY DW SET3 DW LINE4+1 DW LINE8; OKISET3.ASM ; written by Jim Nelden ; 06/18/84 ; ; Derived from NECSET by Kent Walker (10/82) ; ; This program is designed to set the OKIDATA ; M-93 printer parameters via keyboard input. ; ; A table of options is presented on the screen. ; Input is terminated by a carriage return. ; Input characters must be in upper case. ; --------------------------------------------------------- ; ; 06/18/84 - Modified for OKIDATA M-93 setup ; (NAME CHANGED FROM NECSET3.ASM) ; - Jim Nelden ; 05/29/84 - Added VFU option for 60 lines per page ; - Norman Beeler ; 05/27/84 - Much needed clean-up, expanded options, and ; added ability to use lowercase on command line. ; - Loren Cook ; --------------------------------------------------------- ; BDOS EQU 5 ; CONIN EQU 1 LIST EQU 5 PRSTR EQU 9 ; TAB EQU 9 LF EQU 0AH CR EQU 0DH ESC EQU 1BH RS EQU 1EH FS EQU 1CH GS EQU 1DH US EQU 1FH CAN EQU 18H SO EQU 0EH SI EQU 0FH ; CLR EQU 1AH ;console clear screen code ; ; --------------------------------------------------------- ; Program starts here ; ORG 100H ; START: LXI H,0 DAD SP ;get old SP SHLD STAK ;save it here LXI SP,STAK ;set up stack LXI D,MENU ;get menu and MVI C,PRSTR ;print it CALL BDOS ; LOOP: MVI C,CONIN CALL BDOS CPI CR ;check for end of input LHLD STAK ;get old stack SPHL ;restore SP JZ 0 ; UCASE: CPI 'a' JC TEST CPI 'z'+1 ;if lowercase convert JNC TEST ;to uppercase SUI ' ' MOV M,A ; TEST: LXI H,PICA ;test for 'A' CPI 'A' JZ OUTPT ; LXI H,ELITE ;test for 'B' CPI 'B' JZ OUTPT ; LXI H,COMPRS ;test for 'C' CPI 'C' JZ OUTPT ; LXI H,CORES ;test for 'D' CPI 'D' JZ OUTPT ; LXI H,EMPH ;test for 'E' CPI 'E' JZ OUTPT ; LXI H,NOEMPH ;test for 'F' CPI 'F' JZ OUTPT ; LXI H,DBLWD ;test for 'G' CPI 'G' JZ OUTPT ; LXI H,SNGLWD ;test for 'H' CPI 'H' JZ OUTPT ; LXI H,SIXLPI ;test for 'I' CPI 'I' JZ OUTPT ; LXI H,EITLPI ;test for 'J' CPI 'J' JZ OUTPT ; LXI H,LFMGN ;test for 'K' CPI 'K' JZ OUTPT ; LXI H,LFMG0 ;test for 'L' CPI 'L' JZ OUTPT ; LXI H,VFU ;test for 'M' CPI 'M' JZ OUTPT ; JMP LOOP ; ; ; Routine to output code to printer ; OUTPT: MOV E,M ;move char to E PUSH H MVI C,LIST ;call CP/M list device CALL BDOS ;and print it POP H INX H ;point to next char MOV A,M ;move it to A CPI '$' ;finished? JZ LOOP JMP OUTPT ;No, continue output ; MENU: DB CLR,TAB,'Okidata M-93 Printer Functions',CR,LF,LF DB TAB,ESC,'(','A ',ESC,')','= 10 Characters per inch',CR,LF DB TAB,ESC,'(','B ',ESC,')','= 12 Characters per inch',CR,LF DB TAB,ESC,'(','C ',ESC,')','= 17 Characters per inch',CR,LF DB TAB,ESC,'(','D ',ESC,')','= Correspondance printing',CR,LF,LF DB TAB,ESC,'(','E ',ESC,')','= Emphasized print',CR,LF DB TAB,ESC,'(','F ',ESC,')','= Non-Emphasized print',CR,LF,LF DB TAB,ESC,'(','G ',ESC,')','= Double Width print',CR,LF DB TAB,ESC,'(','H ',ESC,')','= Single Width print',CR,LF,LF DB TAB,ESC,'(','I ',ESC,')','= 6 Lines per inch',CR,LF DB TAB,ESC,'(','J ',ESC,')','= 8 Lines per inch',CR,LF,LF DB TAB,ESC,'(','K ',ESC,')','= Set left margin to 4',CR,LF DB TAB,ESC,'(','L ',ESC,')','= Set left margin to 0',CR,LF,LF DB TAB,ESC,'(','M ',ESC,')','= Set line spacing to 14/144',CR,LF DB TAB,ESC,'(','Enter/Return to Quit',CR,LF,LF DB TAB,'Enter your selections: ' DB '$' ; ; Table of printer codes ; PICA: DB RS,'$' ;HEX 1E ELITE: DB FS,'$' ;HEX 1C COMPRS: DB GS,'$' ;HEX 1D CORES: DB ESC,'1$' EMPH: DB ESC,'T$' NOEMPH: DB ESC,'I$' DBLWD: DB US,'$' ;HEX 1F SNGLWD: DB CAN,'$' ;HEX 18 SIXLPI: DB ESC,'6$' EITLPI: DB ESC,'8$' LFMGN: DB ESC,'%','C','044$' LFMG0: DB ESC,'%','C','000$' VFU: DB ESC,'%','9',014,'$' ; DS 16 ; STAK: DS 2 ; END ',CR,LF,LF DB TAB,ESC,'(','G ',ESC,')','= Double Width print',CR,LF DB TAB,ESC,'(','H ',ESC,')','= Single Width print',CR,LF 1:] ʶ!e~ #6O#6K#6I\<`! 6# y5! 6#6%#6A#6 ! 6#6%#6A#6!! Í  w!e!! Í\ѷ~ʥ•Í+++"D͙= 8OKICHAR 1.2 - (c) E.Meyer 12/84=!8--------------------------------z͙=58Undefined characters in this set:=6.!4~5> ͌#-͙=73!*~R> ͌#J͙=28Enter character, or to save: ͥҚ!Ң >͌ZO!#~¦~!! ~ʚ÷+"B~w*D6#6%#6A"B#q "D͙=28 Character *B#~͙͌ - to save =58 =6. Use arrow keys to move, spacebar to toggle pixels.=73 ( Other commands: R/L/U/D, A, Z ) %*B~Aʼ'B##z<yͥ  WG_ARʩLUyDʑZa:':A:4:L>͌>͌>yO>@yO>L#>B+~wp *B##6#i*B##*B## ~?w#‚*B## ~~w#š *B +~#w+µ6*B## #~+w#6*BD~AApï*B## ~ #~+ >͌ïyO#*D6#62\2h2|\<  \!A\<r\ѷ>͙͌=$A+-----------+=%A| |=&A| |='A| |=(A| |=)A| |=*A| |=+A| |=,A| |=-A| |=.A+-----------+%*B~AL'BB##~pyOSP#{MSy>*͌>͌>=͌z͌{͌_㯆#͌Ùr͙++ no filename ++͙++ i/o error ++AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 3 ( Other commands: R/L/U/D, A, Z ) %*B~Aʼ'B##z<yͥ  WG_ARʩLUyDʑZa:':A:4:L>͌>͌>yO>@yO>L#>B+~wp *B##6#i*B##*B## ~?w#‚*B## ~~w#š *B +~#w+µ6*B## #~+w#6*BD~AApï*B## ~ #~+  OKICHAR.DOC ----------- Documentation for OKICHAR.COM Version 1.2 (c) E.Meyer 12/84 OKICHAR is a utility for designing special character sets for the Okidata 92/93 printers. Since Okidata provides software for this purpose only for IBM and Apple computers, I have written my own CP/M version. OKICHAR lets you design each character conveniently on screen, and builds up a disk file containing all the character definitions. This file can then simply be PIPed to your printer to install the characters. That is, once you have used OKICHAR to create a character file, say "MYCHRS.OKI", you simply need to (1) turn on your Okidata printer (2) PIP LST:=MYCHRS.OKI and you will be ready to print with the characters you have designed. SYNTAX: A>OKICHAR filename.typ If you do not specify "typ", it will assume the default "OKI". If the file exists, it will be read in for modifications. If it does not exist, a new, blank file will be created. You will then be in edit mode. EDIT MODE INSTRUCTIONS: You will see a "box" on the screen, in which the character will appear, dot by dot. This box is eleven dots (or "pixels") wide, and nine high. As you will know from your Okidata manual, the character matrix is eleven by seven. Consequently you can use only seven of the nine ROWS at once. Whether it's the upper or lower seven depends on whether the character you are working on is an ascender or descender. (The default is ascender.) You will be asked WHICH CHARACTER you want to design: this means, of course, the standard character whose ASCII code corresponds to that of the new character you wish to create. You may choose any printable character (no control codes or space), for example %, or W. A list of as yet undefined characters is visible below for reference. (If you pick an already defined character, you will be modifying it.) If you are all done editing characters, hit RETURN here, and the file will be saved to disk. Otherwise, type the character you want to design. You may then DESIGN the character. Note that your cursor is now inside the box. You can move it around with your "arrow keys" (see below). The space bar will toggle the pixel you are pointing to ON and OFF. Thus you can build up the pattern of dots that will form your character, such as: +-----------+ |* * * * * | | * * | | * * * | | * | (etc) There are several "special" command keys in this mode; a reminder of them is visible below for reference. These are: R,L,U,D - move the whole pattern Right, Left, Up, or Down; A - toggles between Ascender and descender character; Z - ZAPS the whole pattern blank to start over. When you have the new character looking the way you want, you may save it by hitting RETURN. This brings you back to the first prompt above. Note: if you hit an illegal key, the bell will sound. This includes using an arrow key to go beyond the bounds of the character. It also includes trying to save a character that violates the peculiar Okidata rule that no two adjacent pixels in any ROW may be ON! If at any time you decide you have messed up, and wish to abort without saving anything to disk, type control-C. Once you have some character files on disk, you may send any of them to your Okidata printer with the CP/M PIP utility: A>PIP LST:=filename.typ In fact, you can later change to a new alternate character set by just PIPing it to your printer to take the place of the first. (Note: if the new one has any "undefined" characters in it, the previous character set may "show through" if those characters are printed.) TECHNICAL DETAILS: Version 1.2 finally eliminates the incorrect "i/o error" message in versions 1.0 and 1.1 under CP/M 2.2: due to an incompatibility between CP/M 3.0 and 2.2, OKICHAR would sometimes fail to open an existing file, or fail to write its output, when running on a CP/M 2.2 system. OKICHAR was developed on my Osborne Executive, and should run on any Osborne, Kaypro or similar computer with no modification. First, your terminal or computer must support two ADM-3 standard control codes: ^Z to clear the screen, and ESC = to position the cursor. Otherwise you will NOT be able to use OKICHAR, sorry. Second, you need a set of four control codes to function as "arrow keys" to move your cursor up, down, right, and left within the box. The defaults are the CP/M standard (^K, ^J, ^L, and ^H, respectively). If a different set would be more convenient for your machine, you may change these using DDT or SID. The addresses are 0103 (up), 0104 (down), 0105 (right), and 0106 (left). r machine, you may change these using DDT or SID. The addresses are 0103 (up), 0104 (down), 0105 (right), and 0106 (lee to an incompatibility between CP/M 3.0 and 2.2, OKICHAR would sometimes fail to open an existing file, or fail to write its output, when running on a CP/M 2.2 system. OKICHAR was developed on my Osborne Executive, and should run on any Osborne, Kaypro or similar computer with no modification. First, your terminal or computer must support two ADM-3 standard control codes: ^Z to clear the screen, and ESC = to position the cursor. Otherwise you will NOT be able to use OKICHAR, sorry. Second, you need a set of four control codes to function as "arrow keys" to move your cursor up, down, right, and left within the box. The defaults are the CP/M standard (^K, ^J, ^L, and ^H, respectively). If a different set would be more convenient for your machine, you may change these using DDT or SID. The addresses are 0103 (up), 0104 (down), 0105 (right), and 0106 (leOKIC OKIC/CPM.COM (CP/M version) OKIC/EX.COM (Osborne Executive version) copyright (c) 1985 by Randall B. Sparks OKIC creates alternate character sets for the Okidata Microline 92 dot-matrix printer. From within the OKIC program, you can create new character sets, save a character set to a disk file, load a previously created set and edit it, download a set to the printer, and produce sample strings from the character set being edited to assist you in designing and editing new characters. An alternate character set may then be used at any time by downloading it to the printer, either with OKIC or with PIP. All commercial rights to the OKIC program are reserved by the author. However, the program is released into the public domain and permission is given to make unlimited copies of the program for non-commercial purposes. When OKIC is run, the following menu appears: OKIC MENU (C)reate a new character set (L)oad (from disk) a character set to edit (E)dit the current character set (S)ave the current character set to a disk file (D)ownload the current character set to the printer (P)rint a sample of the alternate character set e(X)it program Which? Select what you want to do by typing one of the highlighted keys (c,l,e,s,d,p, or x). (C)reate: The first thing you will want to do is to create a new character set. When you select Create from the menu, the current character set is cleared and the Edit mode is entered. You will then be asked which character you want to edit. At this point, type the key for the character you want to edit and press RETURN. (See below for a description of the Edit mode.) If you don't want to edit, just press RETURN to get back to the menu. (L)oad: If you have previously created and saved an alternate character set, you may load it for further editing or downloading with the Load command. You will be asked for the filename of the character set file. (E)dit: In the Edit mode, you will be shown a list of which keys have already been defined in the current character set and will be asked which key you now want to edit. After you enter the character to edit, the screen will look like this (assuming the keys shown have already been defined and you select 'c' to edit: Keys assigned so far in current character set (descenders dim): ! # $ % & 1 3 5 7 9 A B C [ ] a b Key being edited: c Use arrows to move. Enter "X" for pixel, SPACE to erase an "X". 11 12345678901 ------------- 1| | 2| | 3| | 4| | 5| | 6| | 7| | ------------- The cursor will appear in the upper left-hand corner of the box. Each character printed by the printer consists of a matrix of pixels (dots) 11 columns wide by 7 rows tall. By using the cursor keys, you can move around within the box, turning a pixel on with and 'X' (or 'x'), and turning any pixels off with the space bar. When you are finished editing the character, press RETURN. You will then be asked whether the character is a Descender, that is, whether it should be printed with the last two rows descending below the base line as in the case of the letters 'p', 'y, 'g', etc. You will also be given an opportunity to abandon the edit of this character. If the character has been defined previously, abandoning the current edit will restore it to its former definition. After you have created one or more characters, the keys you have edited will appear at the top of the edit screen. If a character has been defined as a descender, it will appear in the dim video mode (in the Osborne Executive version) or with an underscore ('_') following the character (in the CP/M version). (S)ave: After you have created a character set, save it on a disk with the Save option on the menu. You will be asked for a filename for the character set file. The filename must follow the CP/M standard of [d:]filename[.ext], that is, an optional drive specification, a filename of up to 8 characters in length, and an optional extension. You will likely want to give the same extension (eg. .oki) to all your alternate character set files. (D)ownload: Downloading sends the alternate character set to the printer so that it will be available for use. You will be given an opportunity to cancel the download if you have accidentally selected this command. (P)rint sample: While you are editing a character, you may want to see what it will look like when printed. You can do this by returning to the menu, downloading the character set to the printer, and printing a sample string containing the characters you have included in your alternate character set. You can then continue editing the current character set. You will be asked which pitch to use (10, 12, or 17 characters per inch) and for a sample string. Enter any string of characters which you have defined in your alternate character set. An alternate character set may be used by any program which uses the printer (such as WordStar). First, the alternate character set must be downloaded to the printer. This can be done by Loading the character set and the Downloading it with OKIC, or by simply sending the character set file to the printer with PIP. When an alternate character set file is PIPed, the "o" option (Object file) should be used. To download a character file called "charfile.oki" with PIP, for example, you would type the following from the CP/M command prompt: pip lst:=charfile.oki[o] The alternate set will then be available, along with the standard set, as long as the printer remains on. To activate the alternate set, the printer must be sent the sequence of the ASCII 'Escape' character (decimal 27) followed by the ASCII character '2' (decimal 50). To return to the standard character set, send the sequence ASCII character 'Escape' followed by ASCII character '0' (decimal 48). You can install WordStar to send these codes from two of the user-definable print functions (^PQ, ^PW, ^PE, ^PR). It is also possible to send these control codes directly from the CP/M command prompt. Simply activate the printer with CONTROL-P and press the 'ESCAPE' key, the '2' or '0' key, and RETURN. When an alternate character set is downloaded with OKIC, only the characters in the current set will be available. However, a character set PIPed to the printer will overlay any previously downloaded character set. That is, any characters defined for the first set PIPed to the printer which are not also defined in the second set PIPed will still be available along with the new set of characters. A sample alternate character set, 'SPRSCRPT.OKI' is included with the OKIC.COM program. This character set was intended to be used for printing superscript characters, but could also be used just to print smaller characters. Notes: OKIC was written in Turbo Pascal for a system consisting of an Osborne Executive and an Okidata m92 printer. I suspect that it will also work with the Okidata m93 printer and that the Executive version will work fine with an Osborne I as well, but I have no way to test this. The general CP/M version is identical except that several graphics characters and functions relating to manipulation of the screen display have been replaced with characters and functions which should work on any CP/M system. I have not been able to test this, however. There are also undoubtedly hidden bugs. Any comments, suggestions, etc. would be appreciated. Just remember the overseas postage:  Randall Sparks Kunigundendamm 150 D-8600 Bamberg West Germany am. This character set was intended to be used for printing superscript characters, but could also be used just to print smaller characters. Notes: OKIC was written in Turbo Pascal for a system consisting of an Osborne Executive and an Okidata m92 printer. I suspect that it will also work with the Okidata m93 printer and that the Executive version will work fine with an Osborne I as well, but I have no way to test this. The general CP/M version is identical except that several graphics characters and functions relating to manipulation of the screen display have been replaced with characters and functions which should work on any CP/M system. I have not been able to test this, however. There are also undoubtedly hidden bugs. Any comments, suggestions, etc. would be appreciated. Just remember the overseas postage: ͫCopyright (C) 1984 BORLAND IncA Osborne 100/200/300dP)(= ERT()~7#~=% o&ͦoͦܐԩͣ}!!"8~#(}:$= +*!Z!*B!!:(=2!Z: <2!!!:O::O:!*B! !45(!.+/ 0y0( d!kZ!{Z͈͈o&  :(y ͠|( *"x2y( >28!?"9!!>2 :D]SXN]D [ (!e}̈́A8Q0G: x@!\w# (   yV. V!h6# (*(.(!8}(*(̈́w#>?> w#a{ |͒}͛Ɛ'@'7||}>"C"6# ""͐ͩ*B"[R5*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#E͊w}8uRB0 >R@RR!+ͨ z R!+ͨ z <!+ͨ z <!+ͨ z <!#ͨ z <!+ͨ z T]KB!z> S>))0 = |JJDMgo>jB0 7?= H\<z5+)+<z {0Gɯgo||H}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'ͬͬdͬ ͬ} wͦWͧ _}8(8J`9{T]=o`9y w >uJ u` }>(; xQ }} ˸T}ٕ(0D=C ,= ( [ 0%D , 7 ͏ ?(8u x O - ; 8˸x X ,-xG}; }م 9; .>#n0[ D = - nx P ,-(-˸G,-; }ٕ? 9.>͏ 8u ?= u+-(>O 0u O 8͏ ?x P , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx(ͼ ?}ٽÏ }ց; <(; 7D = |٤g{٣_z٢Wy١Ox٠GD u J }x>uu}ƀ/ƀo; -J }0W-J W,}l˸ͨ 8 ; ` x( -ͨ 8J -ͨ 8,J }l8;*!` ! >u` ` u--- J ,,,-xGg?+2n*8t z~,->uxua}.; OJ , ; !U >,k- o&0%,` }g; }؉}颋.:}8c~I$I~L*kٷx˸; }0G,͙<},-(-J ! >0 a` o8 Oþ >um.`1pF,t6|!wS<.z}[|%FXc~ur1}Oٯx(<˸ͨ 8; !~Jͨ 0O!><ͨ 8 =  7 <` O ; 7 0 W-J OT0 j oD,:j !I}袋.}8c~I$I~L!>u` ` 77 ` = O nf^VNF!DLT\I!!53!r1!\!> x #-= o˸xO(- }(x>8(C ,C `iM!>u|; |J>| )=|(DMbo˸ͦ88ͦx(0 8> Mx(>-Ͳ{(ay(Ͱͦ \z(>.Ͳ (Ͱ ~ͦ{>EͲ>+|(|Dg>-Ͳ|/ 0:p# ~# +>0w#,-  60#J˸}րogM| .(C = ~> x0w#xG%P %P ZJDM%P = _~65i+~hìx-Sx9?+{Η@}|C C gZJDM0D ,7}o˸  #yO!@9i&   # w# /w# w#!9! E9!!9~(+F͊!"9!(#>2*Ͳ"|>" :( ͆ *6#w*6#6 !\$![ (̈́( #:~CONTRMKBDLSTAUXUSR>2$*#~ Ͷ$*:> >w###6  #6++p>2S-$Ͷ:*6###ww#w$w#w: ##N#F*B> w#w#[s#r>2S$Ͷ$*6 #-Nw#Fwq#p#6#w#w#w* :( ͒: *^ F* < >26"~͟*-w#ww#͟"~ <@*Ͳ!\  <ʮ!\$> >2*|>! * \$\<(!: [1Á\!(f"> 2:!<"F( #~#6e>!["N>!~8>O6*"w (=(&("( :(N 8y(~#x+% (6*#~[*#~ *~(h#"b=  8 J= B== ͯ}8= ͵}/ͭ !*###~-_~(4Q6*>2>*##w:>*##~*#~(E[ ( ( ( !][ ( ( ((w#(6!]~-#8~>7  [>OkͼMs #rkͼpX á[ [ (( #w(q*#~[ (  *##~6͜O$*#~(08ʦ=ʦ==ʩ=ʬò+###~-_q46͡> *:4^q}Ò*|(M|( M6-#͐ͦ[R8 (G> ͒C~͒#*ͦC!h !lTRUEFALSEͦ!9^#(~#(G~͒#> ͒> Ò "F![(#RR0*4#4> RR *4 #4(>>2$*V(/˖:(#~+ x y2!͵( =( X:(R*:(###~-_-͌X> :("͟"*^˞*V˖0 SRѷR8A* N#F#s#r$ 0})jS\*###w* N#FB ͟r+s> !T]>)j)0 0= UR!#U*^#V#N#F#^#V>">!2DM"~x(L* :O(o:" C}=( ?*-N#Fp+qq#p! * F+N+++V+^Bq#p>>> SRѷR* s#r$ s#r"S"! N#FB(^x * 6#[<(H*! Kq#p##K[! *! 4 #4! x *$ *>w""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* 5KB!>u~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6# * *!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#VS>O"w2x2!"" @*>2"!"""!\Ͳ*: !~6go(\R*s#r_2x( s x(T]DMR0 -a%}̈́o*!~6o&͠|ͣ}%^C User break1:% I/O% Run-time% error ͒%, PC=[R"͍% Program aborted*1!͍!/?vͲ>!!5z "tR͐b*t#!!5z7 "tR! b*t# "p"r!!5zm "jR! b*j#O !!P5zʖ "jR!b*j#x !*p!R5z "jR! b*j#ê !*r!R5z "jR! b*j# "d"f!"^!*d5z8!"\*^*f"^*\#!*^"h*h"Z! *Zs!!5zʺ!}2T!! 5zʯ!}2U*Z*U&+))*T&+! s*U&#r!*T&#]!!! 5z!}2U*ZN*U&+)!s#r*U&#!*Zd!s*Ze!s"R! !~5zb"}2M*R*M&))))))e!s*M&#$"5"K!! 5z`#}20!5*0&+)^#V"-!!EzU#}2/*-!*/&!R !NE&#*K*0&+))*/&+!Xs*-!*/&!R R"-J#*K*0&+))*/&+! s*/&+è"*0&#"Ä#8 8 }2*"+**&E1$Ŕ7OKIC - creates alternate character sets for Okidata m92͐bŔCP/M version 1.0͐bŔ%Copyright (c) 1985 Randall B. Sparks͐bR͐bR͐bR͐bŔ OKIC MENU͐bR͐bŔ& (C)reate a new character set͐bŔ4 (L)oad (from disk) a character set to edit͐bŔ* (E)dit the current character set͐bŔ9 (S)ave the current character set to a disk file͐bŔ9 (D)ownload the current character set to printer͐bŔ7 (P)rint a sample of the current character set͐bŔ e(X)it program͐bR͐bŔ Which? b!8*+b*+n&!d# -E&Q1@@"ŔFKeys assigned so far in current character set ('_' after descenders): ͐bR͐b! !~5z'}2**&))))))en&Eʷ'**&))))))n&Rb**&))))))dn&Eʫ'R!_b÷'R! b*&#'R͐bR͐b'"Ŕ9Edit which character? (Press RETURN to return to menu): b*+_b*n&*&&a*n&!' -}o}oE(Ŕ%Can't edit that character. Reenter: b*+_bR(""! !~5zs)}2**&))))))en&Eh)*n&**&))))))n&NEh)**&))))))[f*&#("R͐bŔ>Is this character a descender? (Y = yes; N or RETURN = no): b!+_b*&*&&a*&!d& -}o}oE<*ŔDescender? (Y or N): b!+_b)*&!& -E]*!}2d*!}2R͐bŔ?Abandon edit of this character? (Y = yes; N or RETURN = no): b!+_b*&*&&a*&!d& -}o}oE)+ŔAbandon edit? (Y or N): b!+_b**&!& -EJ+!}2Q+!}2*&z+""!! 5zʼ+}2**&+)!s#r*&#Ñ+!! 5zʂ,}2!!5zw,}2**&+))*&+n&!Z+ -E!,!"}',!"}**&+)**&+)^#V*}!*&!R s#r*&#+*&#+!!5z,}2w!! 5z,}2x!*x&+))*w&+n&Rb*x&#ã,! *w&! 8 *w&#Î,! ! 8 n-"uR͐b!!8 Ŕ?Use arrows to move. Enter "X" for pixel, SPACE to erase an "X".͐bR͐bŔ 11͐bŔ 12345678901͐bŔ -------------͐bŔ 1| |͐bŔ 2| |͐bŔ 3| |͐bŔ 4| |͐bŔ 5| |͐bŔ 6| |͐bŔ 7| |͐bŔ -------------͐bR͐b! ! 8 *&Eʊ/̓,!"m!"k!8!ob*o&! aEE1*o&!.- -E31*o&! NE/*m!R"m*o&! NE 0*m!"m*o&!NE.0*k!R"k*o&! NEL0*k!"k*o&!N- -Eʝ0*o&(}2o*u*k+))*m+*o&s*k!"k*o&Rb*k! ͛E0! "kR!b*k!ͯE0!"kR! b*m!͛E1!"mR! b*m!ͯE31!"mR! b!8!obå/!!8 }2#"$*#&(!CNE}1*$"*$ͥ&!B!!'*&*&&aEU2*$!(*$ͥ&ŔKey being edited: *&͐b! -!t)e*!NE:2!}2!!W+*$*&))))))!f*$ͥ&!B!!'Ò1"i*i"!!8 Ŕ,Load Alternate Character Set from disk file.͐b!}2Ŕ2Enter filename. (RETURN only to return to Menu): b!+._b! m!͛Ev3!! =!5!N}2*&}oEs3ŔCan't open file: ! !q͐b}3!}2*&Eʬ2! m!͛E5!A}oE5!8!Wͳ!Vͳ!Uͳ!Tͳb*W&*&a*V&!%a}oE%4Ŕ"Error: invalid OKIC character file͐b5!! 5zg4":!8!Rͳb!<*:+)*R&s#r*:#04!X!![!b!|"c!}2z!{*z&a#!}2z*{&!Xa*{&!xa}oE,?*{&CRs>cRƒ>!|*{&a&?LRʗ>lR¡>!|V2?ERʵ>eR>!|*{&a&?SR>sR>!|#5?DR>dR?!|}8?PR?pR?!|.;!{*z&a#7>Raz!|*{&a&ó>SRSsRaz!|#5>DRDdRaz!|}8te Character Set.͐bR͐b!"Ŕ-Enter pitch (10, 12, 17, or RETURN to quit): b!+_b*!aE=*!v-}oEX28!?"9!!>2 :D]SXN]D [ (!e}̈́A8Q0G: x@!\w# (   yV. V!h6# (*(.(!8}(*(̈́w#>?> w#a{ |͒}͛Ɛ'@'7||}>"C"6# ""͐ͩ*B"[R5*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#E͊w}8uRB0 >R@RR!+ͨ z R!+ͨ z <!+ͨ z <!+ͨ z <!#ͨ z <!+ͨ z T]KB!z> S>))0 = |JJDMgo>jB0 7?= H\<z5+)+<z {0Gɯgo||H}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'ͬͬdͬ ͬ} wͦWͧ _}8(8J`9{T]=o`9y w >uJ u` }>(; xQ }} ˸T}ٕ(0D=C ,= ( [ 0%D , 7 ͏ ?(8u x O - ; 8˸x X ,-xG}; }م 9; .>#n0[ D = - nx P ,-(-˸G,-; }ٕ? 9.>͏ 8u ?= u+-(>O 0u O 8͏ ?x P , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx(ͼ ?}ٽÏ }ց; <(; 7D = |٤g{٣_z٢Wy١Ox٠GD u J }x>uu}ƀ/ƀo; -J }0W-J W,}l˸ͨ 8 ; ` x( -ͨ 8J -ͨ 8,J }l8;*!` ! >u` ` u--- J ,,,-xGg?+2n*8t z~,->uxua}.; OJ , ; !U >,k- o&0%,` }g; }؉}颋.:}8c~I$I~L*kٷx˸; }0G,͙<},-(-J ! >0 a` o8 Oþ >um.`1pF,t6|!wS<.z}[|%FXc~ur1}Oٯx(<˸ͨ 8; !~Jͨ 0O!><ͨ 8 =  7 <` O ; 7 0 W-J OT0 j oD,:j !I}袋.}8c~I$I~L!>u` ` 77 ` = O nf^VNF!DLT\I!!53!r1!\!> x #-= o˸xO(- }(x>8(C ,C `iM!>u|; |J>| )=|(DMbo˸ͦ88ͦx(0 8> Mx(>-Ͳ{(ay(Ͱͦ \z(>.Ͳ (Ͱ ~ͦ{>EͲ>+|(|Dg>-Ͳ|/ 0:p# ~# +>0w#,-  60#J˸}րogM| . (C = ~> x0w#xG%P %P ZJDM%P = _~65i+~hìx-Sx9?+{Η@}|C C gZJDM0D ,7}o˸  #yO!@9i&   # w# /w# w#!9! E9!!9~(+F͊!"9!(#>2*Ͳ"|>" :( ͆ *6#w*6#6 !\$![ (̈́( #:~CONTRMKBDLSTAUXUSR>2$*#~ Ͷ$*:> >w###6  #6++p>2S-$Ͷ:*6###ww#w$w#w: ##N#F*B> w#w#[s#r>2S$Ͷ$*6 #-Nw#Fwq#p#6#w#w#w* :( ͒: *^ F* < >26"~͟*-w#ww#͟"~ <@*Ͳ!\  <ʮ!\$> >2*|>! * \$\<(!: [1Á\!(f"> 2:!<"F( #~#6e>!["N>!~8>O6*"w (=(&("( :(N 8y(~#x+% (6*#~[*#~ *~(h#"b=  8 J= B== ͯ}8= ͵}/ͭ !*###~-_~(4Q6*>2>*##w:>*##~*#~(E[ ( ( ( !][ ( ( ((w#(6!]~-#8~>7  [>OkͼMs #rkͼpX á[ [ (( #w(q*#~[ (  *##~6͜O$*#~(08ʦ=ʦ==ʩ=ʬò+###~-_q46͡> *:4^q}Ò*|(M|( M6-#͐ͦ[R8 (G> ͒C~͒#*ͦC!h !lTRUEFALSEͦ!9^#(~#(G~͒#> ͒> Ò "F![(#RR0*4#4> RR *4 #4(>>2$*V(/˖:(#~+ x y2!͵( =( X:(R*:(###~-_-͌X> :("͟"*^˞*V˖0 SRѷR8A* N#F#s#r$ 0})jS\*###w* N#FB ͟r+s> !T]>)j)0 0= UR!#U*^#V#N#F#^#V>">!2DM"~x(L* :O(o:" C}=( ?*-N#Fp+qq#p! * F+N+++V+^Bq#p>>> SRѷR* s#r$ s#r"S"! N#FB(^x * 6#[<(H*! Kq#p##K[! *! 4 #4! x *$ *>w""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* 5KB!>u~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6# * *!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#VS>O"w2x2!"" @*>2"!"""!\Ͳ*: !~6go(\R*s#r_2x( s x(T]DMR0 -a%}̈́o*!~6o&͠|ͣ}%^C User break1:% I/O% Run-time% error ͒%, PC=[R"͍% Program aborted*1!͍!g?\ͲJ> 8 8 }2w"xc*w&E Ŕ7OKIC - creates alternate character sets for Okidata m92͐bŔOsborne (Executive) version 1.0͐bŔ%Copyright (c) 1985 Randall B. Sparks͐bR͐bR͐bR͐bŔ OKIC MENU͐bR͐bŔ& (C)reate a new character set͐bŔ4 (L)oad (from disk) a character set to edit͐bŔ* (E)dit the current character set͐bŔ9 (S)ave the current character set to a disk file͐bŔ9 (D)ownload the current character set to printer͐bŔ7 (P)rint a sample of the current character set͐bŔ e(X)it program͐bR͐bŔ Which? b!8*xb*xn&! -Eʫ""m"o!"g!*m5z4#"e*g*o"g*e##*g"q*q"c! *cs!!5zʶ#}2]!! 5zʫ#}2^*c*^&+))*]&+! s*^&#n#*]&#Y#!! 5z#}2^*cN*^&+)!s#r*^&##*cd!s*ce!s"[! !~5z^$}2V*[*V&))))))e!s*V&# $Ï0@@"Ŕ@Keys assigned so far in current character set (descenders dim): ͐bR͐b!! !~5z%}2**&))))))en&E%**&))))))dn&Em%͐**&))))))n&R! b**&))))))dn&E%ͩ*&# %R͐bR͐b &"Ŕ9Edit which character? (Press RETURN to return to menu): b*+_b*n&*$&a*n&!% -}o}oE&Ŕ%Can't edit that character. Reenter: b*+_be&""! !~5zʆ'}2**&))))))en&E{'*n&**&))))))n&NE{'**&))))))[f*&#&"R͐bŔ>Is this character a descender? (Y = yes; N or RETURN = no): b!+_b*&*$&a*&!b$ -}o}oEO(ŔDescender? (Y or N): b!+_b'*&!$ -Ep(!}2@w(!}2@R͐bŔ?Abandon edit of this character? (Y = yes; N or RETURN = no): b!+_b*&*$&a*&!b$ -}o}oE<)ŔAbandon edit? (Y or N): b!+_b(*&!$ -E])!}2d)!}2*&Í)""!! 5z)}2**&+)!s#r*&#ä)!! 5zʕ*}2!!5zʊ*}2**&+))*&+n&!m) -E4*!":*!"**&+)**&+)^#V*!*&!R"s#r*&#)*&#)!!5z+}2!! 5z*}2!*&+))*&+n&Rb*&#ö*! *&! *&#á*! ! +"!e.!e.!e.!e.!e.!e.!e.!e.!e.!e.!e.!e.!e. !Ͳ!e. !e. !Ͳ!e.!e.!e.!e.!e.!e.!e.!e.!e.!e.!e.!e.!e. !qͲR͐b!!Ŕ?Use arrows to move. Enter "X" for pixel, SPACE to erase an "X".͐bR͐bŔ 11͐bŔ 12345678901͐bŔ ! !q͐bŔ 1! !q͐bŔ 2! !q͐bŔ 3! !q͐bŔ 4! !q͐bŔ 5! !q͐bŔ 6! !q͐bŔ 7! !q͐bŔ !q !q͐bR͐b! ! *A&E.͖*!"!"!8!b*&! aEʄ0*&!?+ -Er0*&! NE./*!R"*&! NEL/*!"*&!NEm/*!R"*&! NEʋ/*!"*&!_+ -E/*&(}2**+))*+*&s*!"*&Rb*! ͛E 0! "R!b*!ͯE.0!"R! b*!͛EP0!"R! b*!ͯEr0!"R! b!8!b.!!}2S"Tc*S&(!CNEʻ0*T $*Tͣ$!>#!%*&*$&aEʓ1c*T!&*Tͣ$ŔKey being edited: *&͐b!+!@͇'x(!NEx1!}2A!!*j)*T*&))))))!fc*Tͣ$!>#!%0Y"o!! 5zʑ2}2T!Y*T&+)^#V"Q!!Ezʆ2}2S*Q!*S&!R"!NEW2*o*T&+))*S&+!Xs*Q!*S&!R"R"Q{2*o*T&+))*S&+! s*S&+1*T&#ð1"O*O $c!!Ŕ,Load Alternate Character Set from disk file.͐b!}2Ŕ2Enter filename. (RETURN only to return to Menu): b!+._b! m!͛Eʱ3!! =!5!N}2*&}oEʮ3ŔCan't open file: ! !q͐bø3!}2*&E2! m!͛E>5!A}oE>5!8!=ͳ!<ͳ!;ͳ!:ͳb*=&*&a*<&!%a}oE`4Ŕ"Error: invalid OKIC character file͐b;5!! 5zʢ4" !8!8ͳb!"* +)*8&s#r* #k4!>!"͔1*;&!DNE4!}294!}29*O*:&))))))"K*:&*Ks*K!>M*KN!"*Kd*9&s*Ke!s3! m!͛E]5!-bØ6%å5@@@@!EͲ"T!E m!͛Eʏ6!Y}2!!E =!z5!aEY6!E R!q́( already exists. Overwrite it? (Y/N): b!+_b*&!e5 -E5!Sb*&!5 -Eʄ6!*TsÌ6!*Ts×6!*Ts"c!!Ŕ,Save Alternate Character Set to a disk file.͐bŔ2Enter filename. (RETURN only to return to Menu): b! +._b!Y! b5*Y&!NE6! m!͛Eʶ8!Z! =!Zb! !~5zʭ8}2**&))))))en&!NEʢ8**&))))))dn&E7!D}2X8!A}2X!Z[!!a5!X**&))))))b!! 5zʢ8}2V**&))))))N*V&+)^#V}2W!Z[!Wb*V&#J8*&#Ì7!Z-bû8"c!!Ŕ;Turn on printer and press RETURN to downl"oad character set,͐bŔ or enter 'C' to cancel download.͐b!+_b*&!Ca*&!ca}oEf;R͐bŔ#Downloading alternate character set͐b! !~5z(:}2 ![*8&́%Ab![* &b!! 5z:}2![!b*&#9* &#ü9! !~5zf;}2 ** &))))))en&!NE[;** &))))))dn&!NEʻ:![*8&́%Db:![*8&́%Ab![** &))))))n&b!! 5z[;}2![** &))))))N*&+)^#Vb*&# ;* &#3:"Q! a! a!a!\c!!Ŕ(Print sample of Alternate Character Set.͐bR͐b!"Ŕ-Enter pitch (10, 12, 17, or RETURN to quit): b!+_b*!aE>*!\-}oEʐ* R=![!bL= R3=![!bL=RL=![!b![!!2b![!^ !q͐b![!!0͐b![͐b![͐b![͐b![! ͐bŔ,Enter sample string. (RETURN only to quit):͐b!^+._b<*!a!^ m!͛}oEI>![!b!| $c!}2z!{*z&!}2z*{&!Xa*{&!xa}oEd?*{&CRʫ>cR»>!|*{&_$T?LR>lR>!|͒2T?ER>eR>!|*{&_$T?SR?sR?!|^5T?DR/?dR9?!|ͷ8T?PRM?pRT?!|g;!{*z&o>Raz!|*{&_$>Sa!\c!!Ŕ(Print sample of Alternate Character Set.͐bR͐b!"Ŕ-Enter pitch (10, 12, 17, or RETURN to quit): b!+_b*!aE>*!\-}oEʐ* s%A!%A"%A#   %A$$****%A%%A&****"%A'%A(%A)%A*%A+%A, %A-%A.%A/%A0%A1%A2%A3 %A4%A5 %A6%A7 %A8  %A9%A: %A; %A< %A= %A> %A?-%A@%AA %AB %AC%AD%AE%AF%AG %AH%AI%AJ%AK %AL%AM%AN%AO%AP%AQ %AR %AS%AT%AU%AV%AW%AX  %AY%AZ%A[%A\%A]%A^%A_@@@@@@@@@@@%Aa %Ab %Ac %Ad %Ae %Af%Ag RRRR~~%Ah%Ai%Aj @@@}=%Ak %Al%Am%An%Ao  %Ap~ %Aq ~%Ar%As%At%Au%Av%Aw%Ax %AyBD(%Az%A{%A|%A}%A~ %A; %A< %A= %A> %A?-%A@%AA %AB %AC%AD%AE%AF%AG %AH%AI%AJ%AK %AL%AM%AN%AO%AP%AQ %AR %AS%AT%AU%AV%AW%AX  %AY%AZ%A[%A\%A]%A^%A_@@@@@@@@@@@%Aa %Ab %Ac %Ad %Ae *+%"J%"H%"F " " "y 6"C+6+!^6 F+N+<!* !!9~#ʗ RO"k'k +}|+#~ʂu6#~#<ʷ>!4R6#6*!* |ʴ͕!͸"r! ͸" R Can't open > or < file.$èw*6 )! 9!"6l*':B<*C 2B ́F  €> _*C~+#4N s> > !-:EºF2B_~ÿ   ! ʘo&!* ͬ> !-}  > _con:rdr:pun:lst: ??_~O7 !"# !  #i& ~!j~#~#F6,6pw#62BD!9Yy=`>wS<!is w#6 w+w ~#’s#r{{ ڵ!-#^{!!i~<6!~~r!N!pY}*gyb>w#%!=)#1{=`bʁx ''h&{ !~!pN#F{p+pH#ͅ¼ +!9~ !~b!5> 6> *g w`i#^᯾"%,!1|!!9n&:ʬɯ2>h!9Y):|!RwY#4!`w>2>2::Ecx::O¡! DMv:: !Write error - Disk full $`iD;!9~=+`V+^+F+N "V> w+ w w##w w #~+:3~##X@~#.DX3*V++Xw#Ja O! ~_#V!$r+sbk#|}o|g}o|g}o|g|!,|}!ºº,ɯ|ʦ!|}!-z{!,zz{!-|!|g|}!-ɵz!{!-||g}o(*);{ozg+|/g}/o~og~#fos#rN#F#x~#~#hh`iDM!z>S\))җ =ɯìzK|KMD!x<z>jS\>))#  =KK**!9Y  ! ! ͸"!"!9Y* 9 *#"+ *)!9YY! |e !*ͬ*)!9YY! |‘ !*ͬ*)!9YY! |½ !*ͬ*)!9YY! | !*ͬ*)!9YY! |" !*ͬ!1*ͬ*)!9YY! |[ !*ͬ!0*ͬ*)!9YY!" |” !*ͬ!2*ͬ*)!9YY!% | !*ͬ!%*ͬ!C*ͬ!1*ͬ!0*ͬ!5*ͬ*)!9YY!( |n !*ͬ!%*ͬ!C*ͬ!0*ͬ!0*ͬ!1*ͬ*)!9YY!+ |§ !*ͬ!6*ͬ*)!9YY!. | !*ͬ!8*ͬ*)!9YY!1 | !*ͬ. ""!4 ͛ !g ͛ ! ͛ ! ͛ ! ͛ ! ͛ !͛ !͛ !O͛ !m͛ !͛ !͛ !͛ !͛ !-͛ !E͛ * !" !9Y* S| * #" +å !9Y* S!ͬü "  # ! ! !lst:w101217DWCQDQACMIMO6L8LCB OKI ver. 1.0 Randy Sparks 5 April 1984 sets print modes for OKIDATA m92 Usage: oki arg1 arg2 ... The args may be any of the following, in any order: 10 - 10 pitch 12 - 12 pitch 17 - 17 pitch dw - Double Width print (use 10, 12, 17 to cancel) cq - Correspondence Quality dq - Data processing Quality ac - Alternate Character set (use cq or dq to cancel) mi - left Margin Indented mo - left Margin Outdented (reset to far left) 6l - 6 Lines per inch 8l - 8 Lines per inch cb - Clear Buffer, reset print modes *ͬ. ""!4 ͛ !g ͛ ! ͛ ! ͛ ! ͛ ! ͛ !͛ !͛ !O͛ !m͛ !͛ !͛ !͛ !͛ !-͛ !E͛ * !" !9Y* S| * #" +å !9Y* S!ͬü "  # ! !OKI -- sets print modes for Okidata m92/93 printer copyright (c) 1984 by Randall B. Sparks All commercial rights to the OKI program are reserved by the author. However, the program is released into the public domain and permission is given to make unlimited copies of the program for non-commercial purposes. To activate any combination of print modes in the printer, type "oki" at the CP/M command prompt, followed by any combination of the following, each separated by a space: 10 - 10 pitch (10 characters per inch) 12 - 12 pitch 17 - 17 pitch dw - Double Width print (use 10, 12, or 17 to cancel) cq - Correspondence Quality dq - Data processing Quality ac - Alternate Character set (use cq or dq to cancel) mi - left Margin Indented mo - left Margin Outdented (reset to left) 6l - 6 lines per inch 8l - 8 lines per inch cb - Clear Buffer, reset print modes For example, "oki 12 dw mi " would cause the printer to print in the 12-pitch, double-width mode (resulting in 6 characters per inch) and with the left margin indented. If no "arguments" are given when OKI is run, a brief message explaining its usage is typed to the screen. So, if you forget some of the arguments, just type "oki" to get the usage message. The "dw" argument doubles the width of whichever of the 10, 12, or 17 pitch modes is active. To cancel the DW mode, use 10, 12, or 17, whichever is desired. If mutually incompatible arguments are given, the last one will be active. Thus, "oki 12 dw 17" will result in 17-pitch print since the argument "17" cancels both the 12-pitch and the double- width modes. The "Margin Indent" argument sets the left margin at the 105th dot-column. This results in a left margin of about 1 inch at 12 pitch, slightly more at 10, and slightly less at 17 pitch. Notes: OKI was written in C (C/80 from The Software Toolworks). Of course, O$KI does not implement all of the possible print modes of the Okidata m92 printer. I chose this limited number of print modes in order to keep the size of the program as small as possible and because these have been of the most use to me. I suspect that OKI will also work with the Okidata m93 printer, but I have no way of testing this.idth of whichever of the 10, 12, or 17 pitch modes is active. To cancel the DW mode, use 10, 12, or 17, whichever is desired. If mutually incompatible arguments are given, the last one will be active. Thus, "oki 12 dw 17" will result in 17-pitch print since the argument "17" cancels both the 12-pitch and the double- width modes. The "Margin Indent" argument sets the left margin at the 105th dot-column. This results in a left margin of about 1 inch at 12 pitch, slightly more at 10, and slightly less at 17 pitch. Notes: OKI was written in C (C/80 from The Software Toolworks). Of course, O?012568CDFHTIJKLMNSV%9%A%D    6ID0%9 %9%9J %9 $ OKIDATA u84 (/w Step 2) Printer Options - Ver. 1.0, 26-Jun-83 A = Reset to default parameters (Rec'v Data, Clear Buffer, 10 CPI, 6 LPI, Not Emphasized, Not Underlined, Data Processing Characters) B = 10 CPI (Pica) [ 5 CPI if Double Wide] C = 12 CPI (Elite) [ 6 CPI if Double Wide] D = 17 CPI [ 8.5 CPI if Double Wide] E = Make Immediately Previous CPI Double Wide F = 6 LPI G = 8 LPI H = Data Processing Character Font [ 200 CPS] I = Correspondence Character Font [ 50 CPS] J = Overstrike On K = Overstrike Off L = Underline On M = Underline Off N = New Line O = Top-of-Form (Form Feed) P = Page Eject ' = Begin / End Literal Srting (or use ") Enter the combination of A..P you desire then or <^C> to exit (i.e. DEGIO):$"1ͯ!yͩʠ ʠ'"_A!yʴB! ʴC! ʴD!ʴE!ʴF!%ʴG!(ʴH!ʴI!ʴJ!7ʴK!:ʴL!+ʴM!.ʴN!ʴO!ʴP!ʴͯ ~_#ôͩ'"_ʴN!ʴO!ʴP!ʴͯ ~_#ôͩ'"_) B = 10 CPI (Pica) [ 5 CPI if Double Wide] C = 12 CPI (Elite) [ 6 CPI if Double Wide] D = 17 CPI [ 8.5 CPI if Double Wide] E = Make Immediately Previous CPI Double Wide F = 6 LPI G = 8 LPI H = Data Processing Character Font [ 200 CPS] I = Correspondence Character Font [ 50 CPS] J = Overstrike On K = Overstrike Off L = Underline On M = Underline Off N = New Line O = Top-of-Form (Form Feed) P = Page Eject ' = Begin / End Literal Srting (or use ") Enter the combination of A..P you desire then or <^C> to exit (i.e. DEGIO):$"1ͯ!y This is the release date of the disk. OKICHA12COM lOKICHA12DOC nOKIC DOC t OKIC-CPMCOM }>OKIC-EX COM >SPRSCRPTOKI OKI COM OKI DOC OKI84 COM SIDEOKI2.CHR 51 77 7936 62 OKSETUP .COM 23 44 768 6 OKSETUP .ASM 25 6C 5504 43 OKISET3 .ASM C4 16 3968 31 OKICHA12.COM E9 1A 1664 13 OKICHA12.DOC A5 6F 5248 41 OKIC .DOC 69 E3 8320 65 OKIC/CPM.COM AF 8C 16000 125 OKIC/EX .COM A2 11 16000 125 SPRSCRPT.OKI CF AD 1408 11 OKI .COM 11 53 3840 30 OKI .DOC 35 97 2432 19 OKI84  Fog Library Disk FOG-CPM.009 Copyright (1985) by Fog International Computer Users Group to the extent not copyrighted by the original author for the exclusive use and enjoyment of its members. Any reproduction or distribution for profit or personal gain is strictly forbidden. For information, contact FOG, P. O. Box 3474, Daly City, CA. 94015-0474. as part of the description of a file indicates that the program is distributed on a "try first, pay if you like it" basis. If you find the program(s) meet your need, please refer to the author's documentation for information on becoming a registered user. Only by registering and paying for the programs you like and use will the authors of such programs continue development. Often, more complete documentation, additional modules, and new releases are available only to registered users. Printer utility programs for several Okidata models and Mannesman Tally Spirit. Also on this disk is the patch to f%ix the register problem on the Osborne Executive (not needed if you have 1.21 ROM). Filename Description -11-00 .85 This is the release date of the disk. -CPM009 .DOC This is the description of the disk contents. TPATCH .COM 7BF6 1K [Turbo Patch 1 of 2] Patch that allows running Turbo Pascal and many other programs on an Osborne Executive with 1.1 ROM. TPATCH .DOC 87D7 1K [Turbo Patch 2 of 2] SCIGRAPH.COM 3C65 18K [Epson graphs 1 of 2] Hi resolution X-Y plots on EPSON with Graftrax+. Prints strip graphs as well as single page. SCIGRAPH.DOC 0F8A 6K [Epson graphs 2 of 2] SIDEWAYS.PAS 106A 9K [Sideways Printing 1 of 6] Sideways printing program for the Okidata 92 and the Mannesman Tally Spirit printers. Includes Pascal source for MT version. SIDEMT .COM F507 13K [Sideways Printing 2 of 6] SIDEMT .DOC B998  1K [Sideways Printing 3 of 6] SIDEOKI2.COM 0740 28K [Sideways Printing 4 of 6] SIDEOKI2.DOC 1F3B 9K [Sideways Printing 5 of 6] SIDEOKI2.CHR 5177 8K [Sideways Printing 6 of 6] OKSETUP .COM 2344 1K [Oki 82A setup 1 of 2] Set the print modes on an Okidata model 82A. Includes source. OKSETUP .ASM 256C 6K [Oki 82A setup 2 of 2] OKISET3 .ASM C416 4K Source code for program to set print modes on an Okidata model 93. OKICHA12.COM E91A 2K [Oki Characters 1 of 2] Character set editor for Okidata 92/93 printers. OKICHA12.DOC A56F 6K [Oki Characters 2 of 2] OKIC .DOC 69E3 9K [OkiCharacters 1 of 4] Alternate character set editor for Okidata 92. Two versions are included -- generic CP/M and Osborne Executive -- plus a sample character set. OKIC-CPM.COM AF8C 16K [OkiCharacters 2 of 4] OKIC-EX .COM A211 16K [OkiCharacters 3 of 4] SPRSCRPT.OKI CFAD 2K [OkiCharacters 4 of 4] OKI .COM 1153 4K [Oki SetPrint 1 of 3] Set print modes for Okidata 92 and 93 printers. OKI .DOC 3597 3K [Oki SetPrint 2 of 3] OKI84 .COM C092 2K [Oki SetPrint 3 of 3] Set print mode for Okidata 84 printer.  a sample character set. OKIC-CPM.COM AF8C 16K [OkiCharacters 2 of A211 16K [OkiCharacters 3 of 4] SPRSCRPT.OKI CFAD 2K [OkiCharacters 4 of 4] OKI .COM 1153 4K [Oki SetPrint 1 of 3] Set print modes for Okidata 92 and 93 printers. OKI .DOC 3597 3K [Oki SetPrint 2 of 3] OKI84 .COM C092 2K [Oki SetPrint 3 of 3] Set print mode for Okidata 84 printer.  a sample character set. OKIC-CPM.COM AF8C 16K [OkiCharacters 2 of 4] OKIC-EX .COM&'