LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!) ARE YOU A COMPUTER HOBBIEST? Beware! You may already be one and you don't even know it. Not you? You sure? Lets find out. Answer these questions. When you bought your first computer did you ? Ϧ!)BGRAF.INVT(Ϧ!L+/TEXT.FILE.SCRLL i Ϧ!.CARD.COL.SPRED pϦ!.HEX.ASCII.DUMP sϦ!34.CARD.CONVERTER w HϦ!ܢ/HEX.DEC.CONVERT Ϧ!$LIFE Ϧ!+READCRT.INV0Ϧ!t,DOWNLOAD.INV4Ϧ!++REQUEST.INV9 Ϧ!+(BACKWARD@Ϧ!,DESIGNLETTERC 4Ϧ!(DISK.DOCN Ϧ- OA3.BASIC.002u' )HOBBY.OA3 Ϧ %HELLO  Ϧ!*DOC.READER  Ϧ!U: NEWDOWNLOAD Ϧ!&DESIGN ! Ϧ!&NEWSET- >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@Lfind that the more you learned the more you wanted to know ? Did you find yourself working long into the wee hours of the morning over trying to get out of that evil castel in some adventure game ? Do you find yourself browsing the local book store spendin d model building. It is also one of the fastest growing hobbies in the world. There are user groups in Japan, Australia, Europe, India, China, South America, Canada, Mexeco and even the USSR. Those who have gotten into this hobby come from every walk of li little interest in software, except to make the computer go. Actually this hobby is in a class of its own. A hobby should be informative and enjoyable. The hobby of computing and computers dose both. It is a respectable hobby as is photography anding. The third division of hobbiest must have a knowldege of electronics and be accomplished with a soldering iron. Usually the third division hobbiest have there oun club that is not a user group. Their main interest is in the hardware and veryo writing program for your local user group or three you end up in a padded sell cutting out paper computers. Most of us continue on with just enough knowledge of programming to make it interesting but religh on commercally available software to do our bedpplication programs are done in assembly language. So you learn assembly language. There are three roughts from this point. One, you become an accomplished programmer with lots of money and cease being a hobbiest. Two, you become dissalutioned and revert tat down and did the work manually. But you figure if the problem comes up again you can use the program to solve it. At this point you decide to try to sell the program. You try several software houses and are told in no uncertain terms that all the good aer. You start by writing small useless programs, (you do this for the exersize). One day you come across a problem that you decide can be handeled by a program that you can write. You acomplish this task in more time than it would have taken to have just ss computer. Eventually the user wants to know more about the computer and starts to learn programming, probably BASIC. At this point he, or she, has entered the first stage of the second devision and that is the programmer, also known as the hackcalc. His kids use the machine for education and playing games. Of course if his wife controlles the budgeting in the family then she dose dose the checkbook and he plays the games. But generally the home user is quite happy learning little things about hiere is more than one level to this hobby. There is three distinct divisions. The general user, known as the home user. He dose a small amount of business work on his machine like doing his checkbook, home budgeting or even some work related project on Visi your way to becoming a computer hobbiest. If you answered yes to all if not most of the questions then you are hoplessly trapped. You are now a full fleged hobbiest. You don't have to be a programmer or an electronics expert to be a hobbiest. Th month with computer magazines that you have subscribed to. Do you find that lately you seem to know more about the computer than most of the people that now attend the meetings ? If you answered yes to the first four questions, you maybe well ong most of your time in the computer book section ? Did you join the local user group ? Do you find you're reading everything you can get your hands on that is related to computers, computer languages or applications ? Do you find your mail box stufed everyfe. From corporate presedents to blue colar workers have found enjoyment in this new pastime. So if you've become a hobbiest don't let it worry you. You are in good company.  HELLO PROGRAM+-------------------------------------- TITLE PAGE+--------------------------------------:  34C,(16);1): { set 40X24 color screen }220);15) <28)F3,337,22P20);0):28)E2---------------------------------------------:=10 =30:" ___________________"!=30:"| |"!=30:"| THE |"!=30:"| END |"!=30:"|___________________|":"*** VOLUME NOT FOUND ERROR ***":<:=16:"The library disk must be in the onboard drive.".=23:=25:"Press 'RETURN' to continue..."KEYPRESS$4552--------------------------------------------- END ROUTINMENTATION2 --------------------------------------------- : ".D1/DOC.READER" :2 -------------------------------------------- ERROR ROUTINE2 --------------------------------------------:=12:=23)-------------------------------- PAUSE ROUTINE2---------------------------------------------=17(=13:"{ Press RETURN to continue }" KEY$:2 ---------------------------------------------( RUN PROGRAM DOCU read the documentation")" C to catalog the disk"-" ESCAPE to quit and go to BASIC":KEYPRESS$'KEYPRESS$="D"KEYPRESS$="d"3000'KEYPRESS$="C"KEYPRESS$="c"4000KEYPRESS$=27)50004102-------------=3?"We hope you enjoy the programs on this disk. If you have";:"any problems or questions feel free to contact us.">:"It is suggested that you first read the documentation" :"contained on this disk." œ40503::" TYPE: D to.Box 813 "%|30;"San Francisco Cal. 94101 ":::"Compensation will be comming in the near future" 20000------------------------------------------- PAGE THREE0---------------------------------------------------------------6=15@" If you wish to contribute a program to the "5J"Original Apple /// rs library you may do so by"T"sending your program to:")^::30;"Original Apple /// rs "%h30;"Attention BASIC Librarian"%r30;"P.Owish. thay may also be given away. These programs were"::"donated by the Authors or have been in the public"":"domain for some time." ,200010--------------------------------------------1 PAGE TWO12-------------------------------------------------------------------- PAGE ONE1--------------------------------------------=3:" The programs that appear on this disk are public">:"domain software. Thay may be used for any purpose you"?:":0------------------------------------------- BOARDER0-------------------------------------------!" ";:TOP=175:"_";:TOP:%SIDE=120:"|";:=77:"|":SIDE*"|";:BOTTOM=175:"_";:BOTTOM:"|"10,372,201Z=5d19);13)n30;"Welcome to the""x:30;"Original Apple ///rs":30;"program disk # 2"19);14),::::30;"{ Press ESCAPE to quit } (30;"{ Press ANY key to continue }KEYPRESS$KEYPRESS$=27)5000 ----------FILE SCROLL READER------------- œ750 :500+ A$(500),RIGHTSCROLL$(1),LEFTSCROLL$(1)A$="DISK.DOC"A$=""420 (#1,A$2MAXLENGTH=0 <ZIP=1 Fž#190EPI=0500:#1;A$(I):A$(I))>MAXLENGTHMAXLENGTH=A$(E --font downloading utility-from Softalk,April,1982-John Jeppson!"download.inv","request.inv"a%(512):array$="a%"(a$="newset"2a$)=0<a$="?":40 Fœ1101Pexpr$=34)+a$+34):getfont(@expr$,@array$) Zœ170d150 n----------------4oard drive." =23:=27$"Press 'RETURN' to continue..."KEYPRESS$" -----------------------------! From Softalk magazine " By Taylor Pohlman# $ Modified by Stan Guidero% Aug.1982"&------------- ***"3 --------------------------------------------- ERROR ROUTINE 3 ---------------------------------------------:=11:=22-:"*** THERE IS A DISK ACCESS ERROR ***"<:=16:"The library disk must be in the onbse the UP and DOWN arrow keys."@:510;"To leave the document reader press the ESCAPE key".&=22:510;"{ Press RETURN to continue }"-+510;"{ Press ESCAPE to exit program }" 0KEY$:KEY$=27)700X=12510;"*** GOOD BYCURSOR=27:420r|HI>ZIPT=ZIP:B$=BNK$ 280:(HI+79+ZIP<=MAXLENGTHT=ZIP:B$=BNK$ 300::26);0);23); :::=6  79C'=25:"*** DOCUMENT READER ***" J::510;"To view the documentation u,HI+80<=MAXLENGTHINDEX=VI-25:HIINDEX=80+HI:J=124:B$,T*J-T+1,T)=A$(INDEX+J),HIINDEX,T)::HI=HI+T:LEFTSCROLL$((T=1));B$;67@VI24SCROLLDOWN$;A$(VI-25),HI,80);:VI=VI-1^h=21)+3*(CURSOR=10)+4*(CURSOR=11)+5*(CURSOR=136)+6*(CURSOR=149)B$=BLANK24$:T=1'MOVE+1360,280,300,320,340,380,400 :230wHI>TINDEX=VI-25:HIINDEX=HI-T:J=124:B$,T*J-T+1,T)=A$(INDEX+J),HIINDEX,T)::HI=HI-T:RIGHTSCROLL$((T=1));B$;"OLLDOWN$=16)+3)+12)+11)+SYNC$:21);"5";6I=023:A$(I))>80A$(I),1,80);::A$(I):HI=1:VI=24:'BLANK24$=" " BNK$="""I=1ZIP:BNK$=BNK$+BLANK24$:A$:CURSOR=A$)ZMOVE=(CUSOR=8)+2*(CURSORCROLL$(0)=SYNC$+23)+ZIP)+26)+0)+0)+2)+26)+ZIP-1)+23)+3)+21)+"5"+12)_RIGHTSCROLL$(1)=SYNC$+23)+1)+26)+0)+0)+2)+26)+0)+23)+3)+21)+"5"+12)?SCROLLUP$=16)+3)+26)+0)+23)+10)+21)+"5"+SYNC$,SCRI)):::ZLASTRECORD=IdSYNC$=22)mnLEFTSCROLL$(0)=SYNC$+23)+256-ZIP)+26)+80-ZIP)+0)+2)+26)+ZIP-1)+24)+3)+21)+"5"+12)axLEFTSCROLL$(1)=SYNC$+23)+255)+26)+79)+0)+2)+26)+0)+23)+3)+21)+"5"+12)eRIGHTSœ170 x#1,a$&filread(%1,@array$,%1024,@count%)#1loadfont(@array$) "design"#=255:"Error...Error":40= Design Characters Utility from Softalk,April 1982,p.139 by John Jeppson 300*=2:"78c";"Design Chracter Utility"=6:"Select Option:"#$(10);"1.Load FONT to tempset%">-10);"2.Show character set (0...31 appear a;aborts";!o left-2,top-2left+20,top+16t y 1);bit.numbr$~ 1);frame.top$ index=06 index;frame.md1$ 1);frame.md2$ index "7";frame.md1$ 1);frame.bot$  =left:=top row=07 =top+2*row ) longint&=longint&2 bit$ bit=815.) byte.bit%(2*wordnum,bit-8)=temp.bits%(bit). bit 3 bit=07.8 byte.bit%(2*wordnum+1,bit)=temp.bits%(bit)= bit B wordnumG ` *e ";<'X'>places;clears"&j =24:" acceptsputing array pattern-";:index=030char.def%(index)=charset%(4*ascii$)+index) indexwordnum=03 word%=char.def%(wordnum) longint&=word%)( longint&<0longint&=longint&+65536 bit=015" temp.bits%(bit)=longint&2t%)&#1+ 2200ascii$<>""2300 2400ascii$<>""2500 2600 2700 2800 2900 3000=113);"->"=20:30);<"enter for new; or Specify ASCII number; ";ascii$ascii$=""'::"-comray$="charset%"cfilwrite(%1,@array$,%1024)h#19mmessage$="Character set stored in "+34)+dest$+34)r!fontname$=34)+source$+34) œ1820 getfont(@fontname$,@array$) :1835:#1,source$&!filread(%1,@array$,%1024,@coun:charset%(i)=tempset%(i):i3message$="ascii("+first$))+".."+last$))#message$=message$+")->charset%"@=12E3);"->"J=20:30);0O"Specify pathname for storage file: ";dest$T#1,dest$:#1:dest$Ydest$,:#1,dest$^ar3#,2R,5Xx=10}3);"->"=20:30);5"Specify first ASCII number(default=0): ";first$first$=""first$="0"5"Specify last ASCII number(default=127): ";last$last$=""last$="127":"-working-":;i=4*first$)4*last$)+3:g$g$="1"g$="2"1235:ۿ1g$="1"array$="tempset%":array$="charset%"loadfont(@array$) i=3247 j=07number=i+16*j1290;number,number);j,ig$array$="systemset%"loadfont(@array$) 1230  rce$source$=""array$="tempset%" 18004 message$="Character set"+fontname$+"-> tempset%"=6:"Show: tempset%(1)?""or charset%(2)?"+:"any other key terminates'Show set'"," (blank screen indicates set empty)" ame.md1$="| | | | | | | | | |"$hbit.numbr$=" 0 1 2 3 4 5 6 7"%mframe.md2$=" "%rframe.bot$=" "warray$="systemset%":1800|:=223);"->"=20:30);("specify source pathname: ";soutop=66message$=""0;charset%(511),tempset%(511),systemset%(511);@char.def%(3),temp.bits%(15),byte.bit%(7,7),hexbyte$(7)/O"readcrt.inv","download.inv","request.inv"Tsource$="newset"Ymarker$=139)%^frame.top$=""%cfr "#$%&'()*+s 128...159)"8210);"3.move characters: tempset% to charset%"(710);"4.Create/modify a character"*<10);"5.Disk save new character set"A10);"6. Quit"F=20:message$dg$'ig$)1000,1200,1400,2000,1600,500n20 ,left=25 1column=06 =left+2*column' byte.bit%(row,column)=1marker$; column =left+17" byte.bit%(row,7)=1marker$; row =left:=top ( 5);:g$:6);#- g$="X"g$="x"marker$;9);2 g$=" "" ";9); 7 g=g$)< g=8=-2A g=21=+2F g=11=-2K g=10=+2P left+17=leftZ =left+14=left+17_ =left+15=left+12d top+14=topn g=27:s g<>132600x =left-6 =23$ :"-scannR READC  <"<"""<< <"""<"><$""< """"  "" 6***""""""""""<""< :< $"""2,"""""**6"""""< >>8  80,>!"*:<"">""""""""""""">>><2"<""">""" ""  ">"6**"""""&*2""""""""""""*,"" "" ">""""""""""""""**6"""""""> >>> >00000>",.>>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< >> " )((8xxxժժ9 .(+( 8#8# %3(8 ((,+)(%.4$)?((,(103  7  3  5   count=1 ctrlist$=count) ascii.num=0" ctrlist$=ctrlist$+ascii.num) i=07, ctrlist$=ctrlist$+"00"+hexbyte$(i))) i* control(%ctrlnum,@ctrlist$)".console" 7 "Store as what ASCIInumber?(RTN for none):";ascii$0 ascii$=""message$="character discarded": index=030 charset%(4*ascii$)+index)=char.def%(index) index< message$="Character stored as ASCII number"+ascii$))  ctrlnum=17 "g$<>"Y"7);:2975 :ascii$=""ascii$="31" :2010 :=10 ascii$=""3035: "New character ->ASCII number";ascii$);"(yes/no)?";" g$<>"n"g$<>"N"7):3015 g$="y"g$="Y"3045" g$<>"n"g$<>"N"7):3015 "N":yte$(i*2+1)=char.def%(i)),2)| i" i=07:hexbyte$(i);" ";:i:& :"New character's appearance: "; 3200! "normal:";128);"inverse:"; :128):1 =20:"Do you want to revise character?(y/n)" g$ g$="n"g$="N"# g$<>"yreal)), char.def%(wordnum)=word% 1 wordnum6 T :=8 Y "New character definition:"^ :5);"As 4 integers: ";#c i=03:char.def%(i);" ";:i:'h :5);"As 8 hexadecimal bytes: "; m i=03'r hexbytes$(i*2)=char.def%(i)),2)(w hexbyte.bit%(row,7)=1 row wordnum=03 bit=815. temp.bits%(bit)=byte.bit%(2*wordnum,bit-8) bit  bit=07. temp.bits%(bit)=byte.bit%(2*wordnum+1,bit) bit  real=0 bit=015# real=real+temp.bits%(bit)*2^bit" bit' word%=ing and computing-";: row=07 =top+2*row column=06 =left+2*column readc(@value%)& value%=32this.bit=0:this.bit=1" byte.bit%(row,column)=this.bit column =left+17 readc(@value%)6 value%=32byte.bit%(row,7)=0:bGApple 1.1/12GETFONT GETFONT DOARRAY2QLOADFONT LOADFONTDOARRAY2ARRAY2 Y5ȱg6ȱg@ ɀLDg eegghI8e556l6m`  lmL}\ZYc&h:h; (+65;H:H`,.CONSOLEg<:/.-+*(% CX`hhh5h66HH :~5~HHH|})   |}) @  hhh ghzh{ Qghhh5h66 HHH566 qyhhhpx{HzH`~3567GA3/1.01:7SY GETFONT READC READC  #.-2hhhhHH`$.CONSOLE24320/J CONTROL  )((8*,;((*,((+)((9/(p((>3  =9 :9 .(+( 8#8# %3(8 ((,+)(%.4$)?((,(103  7  3  5  FILWRITE FILWRITEGETRFNM RTRFNM ERROR ^ROR DOARRAY OARRAY  ERROR ?BUFPNT NT DEVINFO DEVINFO MOVESTR FILREAD FILREAD BUF :4 GETRFNM BUFPNT OJNT ERROR ROR DOARRAY e=TPARMSERROR uROR BUFPNT BMOVESTR REQNUM UUM BLDSTRN DSTRN BUF pia RETURN RETADR  GETPARMSFREQNUM BUF "CONTROL CONTROL RETURN RETADR GETPARMS TPARMSERROR ROR STATUS STATUS BLDSTRN ,BUF |F GETPARMSca` hhh5h66HH :5HHH) @  hhh g5ȱg6ȱg@ ɀL g eegghI8e556l6m `  hUhVh8 ㅊ eh֭VHUHk`HFB>;:9853/&" NL64Ch5h6h3lh4m 0/L6H5H`g8640'%76,V^dKA;6hWhXhhhQlhRm e Nb YMH YhLSꈭTXHWH`gca` hhh5h66HH :5HHH) @  hhh g5ȱg6ȱg@ ɀL g eegghI8e556l6m `  hUhVh8 ㅊ eh֭VHUHk`HFBhhHHHH l5m6m6  ЙW5X6X6 ` 5`MD32KA;6hWhXhhhQlhRm e Nb YMH YhLSꈭTXHWH`g##6 >?Bi{Ci|) |=! "LL{@?>8(O\ F9 >{i 5|i6) 6|8 L5{ hhhh0 hWhXXL `L58:;<=>GA3/1.01:7SY>>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< >> "?A ASCII-1 ASCII-2 ASCII-3 ASCII-4 0123456 7 0123456 7 0123456 7 0123456 7 0 X 0 X 0 X 0 X 1 X 5 X 5 5 X 5 X 6 X 6 6 X 6 X 7 X 7 7 X 7 X 1 2 2 2 2 3 XXXX 3XXXXXXX 3XXXXXXX 3XXXX 4 X 4 4 X 4 the bootstrap improvement. Figure 2 0123456 7 0123456 7 0123456 7 0123456 7 0 0 0 0 1 1 1 S=left-6:VPOS=23 In addition, page 139-line 1 says to type in lines 355,370 and 375 holding the Open-Apple and control keys. This should be lines 350,365,370. In addition, figure 2 was never printed in the magazine making it impossible to add e missing data in the program. The Chararater set Design was published in Softalk-April,1982. Here are the following corrections: Lines should be... 1445 message$="ASCII("+CONV$(VAL(first$))+".."+CONV$(VAL(last$)) 2700 HPOleft with Don. Since then I have received from Softalk corrections which I have now added to the program. Unfortantly, Softalk is NOT going to publish the corrections due to low reader feedback. I was only the second person to write in and ask about thBDEFGHIJKLtte P.O. Box 813 San Francisco, Ca. 94101 Dear Sirs, This letter is to update the Chararater set Design program which I had Steve Bowles 1011 Catamaran #1 Foster City,CA 94404 The Open Apple Gaze" <"""< """"> $""< """"  "" 6***""""""""""<""< :< $"""2,"""""**6"""""< >>8  80,>!"*:<"">""<""<""< <"""""<< < <> < |@@@FB~""">"""""$(0($" >"""**6"""2*&"""""""<""< """*<""<($""">""""""""""6*"""""""""> >>> >00000>"X 1 X 1 X 1 X 2 X 2 X 2 X 2 X 3 XXXX 3XXXXXXX 3XXXX 3 XXXX 4 X 4 X 4 X 4 5 X 5 X 5 X 5 6 X 6 X 6 X 6 7 X 7 X 7 X 7 ASCII-5 ASCII-6 ASCII-7 ASCII-8 0123456 7 0123456 7 0123456 7 0 X 0 X 0X X X X WDOWNLOAD NEWSET READCRT.INV DOWNLOAD.INV REQUEST.INV BACKWARD NEWSETMOPQR and appeared in Softalk magazine. This version was typed in and debugged by Steve Bowles. You can create and save your own char. set. Programs that are working parts of Design are: NE < Use the UP and DOWN arrows to view documentation > The Original Apple /// ers Disk No.2 DESIGN This is program is a Character generator written by John Jeppsons is also stored as a text file named Designletter. ith some spare time. Sincerly, Steve Bowles P.S. Would it be possible to return two blanks for my disks? Thanks. Note: Thian create special symbols for special programs such as math programs. One use would be to create characters corsponding to the Japanese Katata characters which then could be printed out using the Epson Printer. A little project for somebody out there wncluded. I have made all these changes on this new disk which I am sending you. To run the program just boot it up. For those of you who did not see the article what it does is to enable you to create new characters and new character sets. You care not programmers they have hired a programmer to check the typesetting. This should reduce errors. Also I asked if I could donate the program to the club and the author-John Jeppson-has agreed, providing that his name and Softalk as the publisher is i done is to set up a hello program which chains to the "Newdownload Program" which then chains to the Design program. This creates a turnkey system with the special characters all set up. Softalk did mention since their typesetters and proofreaders X X X X 7 7 7X X X X X ASCII-9 ASCII-10 ASCII-11 In order to use this new font during the program it is necessary to run his "Newdownload Program" first to have these new characters appear. What I have X 1 X 1 X 1 X X X X 2 X 2 X 2X X X X X 3XXXXXXX 3XXXX 3XX XX X 4 4 4XX XX X 5 5 5X X X X X 6 6 6 and BACKWARD are font files that can be read by DESIGN. DESIGNLETTER is a text file letter by Steve Bowles giving further details on the program. This may be read using TEXT.FILE.SCRLL. TEXT.FILE.SCRLL This program will alowe you to use the UP,DOWN,LEFT and RIGHT ARROW Keys to view a text file. This program origanally appeared in Softalk Magazine and was written by Taylor Pohlman. Typed in and improved by Mike Kramer. HEX.    `OLIHEDCB?<;8541.+*x  `"hhhhhhhh    HH`XVTRPN.GRAFIX jj# \\JHFD=;9210-,+*)!   v Q )``.`5`=`C`E` `BGRAF (C) APPLE 1980j @@@@ @``` kLK``9(89:9g:h:h L89:mm95:6:6hg gh h 99 O S   L `ee m`iɂ`0`hIhJh\h] wh]h^ w\\ ]] ]L ]L\A \A JHIH`i8\i]i\`\]`K`M %b&*L+ 16>:)    kLSUVWXYZ[\]^_`abcdefgGA3/1.01/LINr GRAFIXMO  WARRENTIES No Warrenties are given to the usefullness of the programs contained on this disk. These programs are programming examples only and sould be used as such. V on the same disk. What the program really is is another version of Conway's Life. NOTES If you have any questions or problems with this disk plase feel free to contact the Original Apple///ers. l take a text file and create another text file but will have ASCII code included. LIFE Also a program that appeared in Softalk. This is by John Jeppson. It is a graphic program that requires BGRAF.INDEC.CONVERT A program that will convert HEX code to DECIMAL code. CARD.CONVERTER A Utility that works with Apple Computers Quickfile ///. CARD.COL.SPRED Works with Quickfile ///. HEX.ASCII.DUMP WilLJFE>987410/-   `+(%" Bhhh h h h hh hhhhhh  HH`ZXVTRPNLJHFDB@<;85431hhhh   HH`420.-&#  Phhhhhhhhhh  HH`DB@><:86421.+*)'jhhhhhhhh    X XSOSWRITESWRITERWBUF  RETADDR PLINITCHK sITCHK VIEWPORT VIEWPORTWBUFLEN }UFLEN SOSWRITESWRITERWBUF  xplhd`\XUFLEN SOSWRITESWRITERWBUF ~zvrRETADDR $ INITCHK ITCHK XFROPTIO XFROPTIORANGECHKNGECHKWBUFLEN UFLEN #ITCHK WBUFLEN DUFLEN SOSWRITEGSWRITERWBUF ?:72-(SYSFONT SYSFONT RETADDR njDRAWIMAG DRAWIMAGINITCHK ITCHK WBUFLEN RETADDR INITCHK ITCHK RANGECHKECHKWBUFLEN UFLEN SOSWRITESWRITERWBUF  NEWFONT NEWFONT INITCHK =+SOSWRITE@.!RWBUF  83& INITCHK uITCHK GRAFIXON GRAFIXONWBUFLEN UFLEN SOSWRITESWRITERWBUF zBUF GPGSREQDLGRAFIXMO GRAFIXMORBUFLEN 9RANGECHKwWBUFLEN ASOSWRITERWBUF \SOSREAD GBASADR TSOSSMARK$INITCHK ITCHK INITGRAF INITGRAFWBUFLEN RETADDR ISOSDSTATGSCB kSOSOPEN INITCHK READPARM5CREFNUM DWBUFADR ?BMOVCHK RBUFADR 7WRITEPAR=SREFNUM FRREFNUM 6WREFNUM >INITFLG KSOSCLOSEhhhhhh HHHH`&$<D^Z FpHx  )) y xHHHJJiH 詏 鮀 `}wqnkjba_\[ZYXWVURQ$hhhhhh HH H)HHH`20+*)Hhhhhhh HHHH`&$< 詏 )x `a^]NMJGF>=<10/.+* )) y xHHHJJiH 詏 鮀hhhh  HH`420.,*)&#"! Rhhhhhh    HH`DB@><:983.+('&$h J)` `!0 nljhfdcbQNMLJFEDCBA<;6hhhhhh  HH`420.,*)&#"! Rhhhhhh    HH`DB@><:983.+('&$hhh-&#  P  `"hhhhhh  HH`420.,*)&#"! Rhhhhhh  B B HH`yyP`GB HH`)r` @A>~|zxvtslgbWTSRPMED=hhhh   HH`420.-&#  Phhhh   HH`420.TRETADDR  SETCTAB SETCTAB  INITCHK ITCHK RANGECHKHKWBUFLEN UFLEN SOSWRITESWRITERWBUF  'RETADDR tpINITCHK ITCHK PENCOLOR PENCOLOR RANGECHKNGECHKWBUFLEN UFLEN SOSWRITESWRITERWBUF |x FILLCOLO FILLCOLO YLOC  SDSTATGSCB  INITCHK  ITCHK XLOC XLOC RETADDR     SOSDSTAT SDSTATGSCB   INITCHK  ITCHK YLOC  ASADR SOSSMARK SSMARKRETADDR  z v INITCHK  ITCHK XYCOLOR XYCOLOR RWBUF  F SOSREAD  SREAD RETADDR  SOSDSTATGPGSREQD GSREQDSOSCLOSE SCLOSEGRAFIXMO AFIXMOGLOAD GLOAD RBUFLEN  N RWBUF    SOSREAD  EAD GBASADR GBASADR ( ASADR SOSDSTAT~ SDSTATGSCB  INITCHK { ITCHK CREFNUM  EFNUM RBUFADR  ADR SREFNUM  EFNUM RREFNUM  M WBUFADR   ADR GSAVE GSAVE WREFNUM F  M GPGSREQD5 GSREQDSOSCLOSE> SCLOSEWBUFLEN 8  LEN SOSWRITE; SWRITERWBUF C F INITCHK  ITCHK BMOVCHK  OVCHK INITFLG  ITFLG RWBUF  F SOSDSTAT" SDSTATGSCB % CB INITCHK  ITCHK CREFNUM  EFNUM  T P SOSDSTATj SDSTATGSCB LINEREL LINEREL INITCHK g ITCHK WBUFLEN  UFLEN SOSWRITE SWRITERWBUF } d ` \ X RELEASE RELEASE  RETADDR % ! INITCHK  ITCHK LINETO LINETO WBUFLEN  UFLEN SOSWRITE SWRITERWBUF     CALCABS x q ABS RETADDR CALCABS  ABS RETADDR  SOSDSTAT SDSTATGSCB INITCHK  ITCHK DOTREL DOTREL WBUFLEN  UFLEN SOSWRITE SWRITERWBUF SWRITERWBUF  RETADDR c _ < 8 INITCHK O ITCHK WBUFLEN Y UFLEN SOSWRITE\ SWRITERWBUF T L H D @ DOTAT DOTAT RWBUF ZRNJFCALCABS BRETADDR SOSDSTATSDSTATGSCB  MOVEREL MOVEREL INITCHK ITCHK WBUFLEN UFLEN SOSWRITEWBUFLEN !UFLEN SOSWRITE$SWRITERWBUF BUF RETADDR ieB>INITCHK UITCHK MOVETO MOVETO  WBUFLEN _UFLEN SOSWRITEbSWRITERETADDR INITCHK ITCHK RANGECHKNGECHKWBUFLEN UFLEN SOSWRITESWRITERWBUF  INITCHK ITCHK FILLPORT FILLPORT  ( *** Screen Scroll ***3 by Taylor Pohlman ... Softalk August 1982* Enhanced by Mike Kramer '20000::::=1:n=15:blank$:n=1:blank$:=1:=33:"Screen Scroll":=27:"Written by Taylor Pohlman":=28:" card.convert.excerpt 09/12/82 Written by Mike KramerG This program creates a table builder input file from a text file ( created using Apple /// Quickfile.< st(50),sl(50),dt(50),dl(50),string1$(200),string2$(200)] blank$=u60 ":"0u ** Print Routine ** D:u:"Destination (.PRINTER, etc.) : .PRINTER";:=32:"";pathname$'Dupathname$=""pathname$=".PRINTER"Nupathname$,1)<>"."30010Xu#2,pathname$bum=1lastrecord lu#2;a$(m)vumu#2hi>zipt=zip:b$=bnk$ 100:(hi+79+zip<=maxlengtht=zip:b$=bnk$ 105::26);0);23);#, *** Scroll Routine *** 'a$:a$):10000^ Nblank$=" index=vi-25:hiindex=80+hi:j=124:b$,t*j-t+1,t)=a$(index+j),hiindex,t)::hi=hi+t:leftscroll$((t=1));b$;k7nvi24scrolldown$;a$(vi-25),hi,80);:vi=vi-1}cursor=27:200+4*(cursor=11)+5*(cursor=136)+6*(cursor=149)Xb$=blank24$:t=1'Zmove+1130,100,105,110,120,135,140 _:80wdhi>tindex=vi-25:hiindex=hi-t:j=124:b$,t*j-t+1,t)=a$(index+j),hiindex,t)::hi=hi-t:rightscroll$((t=1));b$;fihi+80<=maxlengtha$(i),1,80);::a$(i):Fhi=1:vi=24:'Hblank24$=" " Ibnk$="""Ki=1zip:bnk$=bnk$+blank24$:Pa$:cursor=a$)Qcursor=1630010Rcursor=13:3Scursor=27::[Umove=(cursor=8)+2*(cursor=21)+3*(cursor=10)+"5"+12)_.rightscroll$(1)=sync$+23)+1)+26)+0)+0)+2)+26)+0)+23)+3)+21)+"5"+12)?2scrollup$=16)+3)+26)+0)+23)+10)+21)+"5"+sync$,7scrolldown$=16)+3)+12)+11)+sync$<:21);"5";6Ai=023:a$(i))>80+26)+80-zip)+0)+2)+26)+zip-1)+24)+3)+21)+"5"+12)a)leftscroll$(1)=sync$+23)+255)+26)+79)+0)+2)+26)+0)+23)+3)+21)+"5"+12)e-rightscroll$(0)=sync$+23)+zip)+26)+0)+0)+2)+26)+zip-1)+23)+3)+21) :16a$=""200 #1,a$maxlength=0-"How many units to fast scroll by? ";zip ž#135Ei=0500:#1;a$(i):a$(i))>maxlengthmaxlength=a$(i)):::#lastrecord=i%sync$=22)m(leftscroll$(0)=sync$+23)+256-zip)hjklmnEnhanced by Mike Kramer"::=8:"Scroll with Arrow Keys. Use Open Apple for Fast Horizontal Scroll.":0,780,24+a$(500),rightscroll$(1),leftscroll$(1)=2g"Text file name to scroll through: ";a$:a$="cat"a$="CAT"a$="Cat" " "%k=1:string1$(1)="123 5678 012345"4sl(1)=3:sl(2)=4:sl(3)=6:st(1)=1:st(2)=5:st(3)=105dl(1)=3:dl(2)=4:dl(3)=6:dt(1)=6:dt(2)=15:dt(3)=20i=3 ,n=1k6string2$(noqvxyz{|}~Card Image Conversion":n0,380,24x=2Ry::=8:"Place Quickfile Data Disk in Builtin Drive, Target Disk in Drive 2.".z:n=1num.choice:=30:prompt$(n)::n:j|=25:vtab=:"Then Select Data Type: ";a$:type=a$):type<1type>num.choiceF card.conversion Written by Mike KramerE This program creates table builder input files from text files( created using Apple /// Quickfile. d10000ni:=1:blank$:=1:=26:"Quickfile to Hewlett-Packard":=2:=0:blank$:=2:=29:"1,1):yn$="Y"yn$="y":8d:^blank$=" ": 7#1;a$#9val=a$):val>127val=val-1286<val<32line$=line$+" ."::line$=line$+" "+val)Aouthex$=a$))F#2;outhex$,3,2);KiP#2:#2;" ";line$Ubytes=bytes+32Zeof.occurred=040B_:"Another file? ";yn$:yn$=yn$,$:output.file$)=0output.file$=".console":=vtab:=18:output.file$:0:=.5*(80-input.file$))):input.file$:#2,output.file$ž#1eof.occurred=1:80#bytes=0:eof.occurred=0 (line$=""%-#2;bytes);"-";bytes+31);" "; 2i=132rtulor Pohlman":=21:"Modified Significantly by Mike Kramer":0,580,24 =2:=18"File to dump: ";input.file$:input.file$)=0100 input.file$=""95 input.file$=+input.file$#1,input.file$tvtab=:"File for output: ";output.file) *** HEX File Dump *** 5 by Taylor Pohlman ... Softalk January 1982 2 Significantly modified by Mike Kramer *:200:::=1:blank$:blank$:blank$=1:blank$:=1:=31:"HEX-ASCII File Dump":=27:"Written by Tay)=blank$ ;l=1i2@string2$(n),dt(l))=string1$(n),st(l),sl(l))JlTn^string1$(1)cx=180:x),1);:xhstring2$(1)=vtab:cleareol$;:124type=515000[=vtab:cleareol$;:=25:"Enter RTU Number: ";rtu$:rtu=rtu$):rtu<0rtu>max.rtu140%type500,12000,13000,14000,15000~:=2:n=1num.query:=32:query$(n):n::=32:"Select one: ";choice$:choice=c- *** HEX.DEC Conversion ***5 by Taylor Pohlman ... Softalk January 1982 2 Significantly modified by Mike Kramer *200::::=1:blank$:blank$:blank$=1:blank$:=1:=31:"HEX-DEC Conversion":=27:"Written by e$=".d2/ANC.conv":subscript=2:4000.17521756175 :::Analogs,[2] Meters,[3] Discretes,[4] Calc.Alarms,[5] Endj'n=1num.typet'file.name$(n)~'n$' AN,M1,MA,MO,ANC,CM,CA,ST,AL,CL'n=1num.query'query$(n)'n;' [1] Specify New RTU,[2] Specify New Data Type,[3] End'*175.+pathnam.fields(num.type),comment$(num.type),num.cards(num.type),source$(num.type,max.cards),target$(num.type,max.cards)]8'blank$=" "B'n=1num.choiceL'prompt$(n)V'nB`' [1] 'cleareol$=30)N'num.type=10:num.query=3:max.rtu=40:num.field=50:num.choice=5:max.cards=100`$'sl(num.type,num.field),st(num.type,num.field),dl(num.type,num.field),dt(num.type,num.field).'prompt$(num.choice),file.name$(num.type),query$(num.type),num<33>23:=10:=2:pathname$;" not found. Insert proper disk and press "::=10:"or press to return to main menu.":a$Ta$<>27)a$<>13)8010^a$=13)ha$=27)135&' *** Initialization Section *** ':$=".D1/"+file.name$(choice)+".RTU"+rtu$b#1,pathname$"lfilename$(choice)+".RTU"+rtu$vcard=1num.cards(type)#1;target$(card)<num.comments(type)=num.cards(type)#1;comments$(card)#1'@ *** Disk Read Error Handling *** Jd)=blank$ntarget$(target,card)=blank$xfield=1num.fields(type)etarget$(target,card),dt(target,field))=source$(source,card),st(target,field),sl(target,field)) field "."; card(W *** Write Card Image To Disk *** 3Xpathnameum.cards(type)=num.cards(type)+1%#1;source$(type,num.cards(type)) 6040%num.cards(type)=num.cards(type)-1#1 c ** Convert Card Images ** dcard=1cardsXisource$(source,card)=12)source$(source,card)=30)source$(source,carype,j)#1;sl(type,j)jj=1num.fields(type)#1;dt(type,j)#1;dl(type,j)j#1 *o *** Read Quickfile Card Images *** -ppathname$=".D1/"+file.name$(type)+".ASCI" zž#16070num.cards(type)=0#1,pathname$%nRAGE IF CURRENT STATE BITS 00, SO USE 01 FOR EXCL. STATE"In K#1;"END"N#1S250$ *** Read Conversion Data *** -pathname$=".D2/"+file.name$(type)+".conv"#1,pathname$#1;num.fields(type)j=1num.fields(type)#1;st(tfile.name$(type)+".RTU"+rtu$#1,pathname$#&#1;filename$(type)+".RTU"+rtu$0n=1num.cards(type)5target$(type,n),1)="AN":#1;target$(type,n)?target$(5,n),1)="ANC"D#1;target$(5,n)#E#1;"DP 0 0 0"KF#1;"DPC AVEhoice$):choice<1choice>num.query250choice140,122,15000 ** Analog Section ** type=1:5000 6000.cards=num.cards(1):source=1:target=1:6500type=5:5000.cards=num.cards(1):source=1:target=5:6500 type=11pathname$=".d2/"+Taylor Pohlman":=20:"Typographical Errors Corrected by Mike Kramer":0,580,24 œ10=1 sixteen&=16 :"Hex value: ";a$a$=""100 cum&=0 mult&=1i=a$)1-1#val&=a$,i,1)))(digit&=mult&*val&-cum&=cum&+di"" clear counter"%" accept pattern, start run":!" -- any KEY to continue --"g$ ------------ -- (start) make image -- pic%(12)pic%(0)="A800")pic%(1)="A800")pic%(2)="0000")pic%(3)=lor(%15) fillportfillcolor(%0)viewport(%0,%200,%0,%200) ------------  -- (start) instructions --%=2:"78c";"Conway's Life Game" =6:"PLACE INITIAL PATTERN"" move about"" place counter2800:moverel(%-2,%4):drawimage(@pic%(0),%2,%0,%0,%6,%12)y,x 2600 ------------( -- (start) show next generation --6viewport(%oldleft,%oldright,%oldbottom-1,%oldtop)3 oldbottom is the "top" dot of two-dot counterfillcosetctab(%15,%col,%0)2{col=3col=12col=13setctab(%15,%col,%15)col-----------*--(start) calculate next generation-- 2400pencolor(%9)x=oldleftoldright2y=oldbottomoldtop4moveto(%x,%y)Mxycolor>10A":ۺ500V ----------W -- (start) fix colors --*Xcol=015:setctab(%0,%col,%col):col-]col=03:setctab(%9,%col,%(col+1)):col/bcol=1215:setctab(%9,%col,%(col-1)):colgsetctab(%9,%4,%4)lsetctab(%9,%11,%11)qcol=015v!g$)=10y>bottomedgemoverel(%0,%-4)*&g$)=11y5g$="x"g$="X"drawimage(@pic%(0),%2,%0,%0,%2,%2):2800:g$="a"g$="(%newleft,%newtop)500 2600$------sub-subroutine getpatternx=xloc:y=ylocdotat(%x,%y+1)g$pencolor(%0)dotat(%x,%y+1) pencolor(%15)moveto(%x,%y)g$)=27:+g$)=8x>leftedgemoverel(%-2,%0).topedge=189"BGRAF.INV" 2000 2200oldleft=leftedgeoldright=rightedgeoldbottom=bottomedgeoldtop=topedgegrafixmode(%3,%1) grafixon fillport------------ $ -- (start) first generation -- 2400moveto % * * Life on the Color Table * *:: USE OLD BUSINESS BASIC OR PROFILE BGRAPH.INV TO RUN 200400600 (:: 21000 <1200F50 ------------ -- (start) initialize --leftedge=2rightedge=136bottomedge=5git&2mult&=mult&*sixteen&7i<"Dec value: ";cum&A10d:^blank$=" ":"0000")pic%(4)="8800")pic%(5)="8800")pic%(6)="0000")pic%(7)="0000")pic%(8)="A800")pic%(9)="A800")pic%(10)="0000")pic%(11)="0000")^ ------------ _ -- (sturt) reset window --#` newleft=(oldleft+oldright)/2)Ad "average" position may fall "between" proper cell positions(e NEWLEFT)2<>0newleft=newleft-1j newright=newleft+2%o newbottom=(oldbottom+oldtop)/2)0t newbottom-1)4<>0newbottom=newbottom-2y newtop=newbottom+4~ & ewtop+4#K oldtop>topedgeoldtop=topedgeP  ------------! -- (start) expand window -- xnewrightnewright=x ynewtopnewtop=y ------------!' -- (start) update window --( oldleft=newleft-2'- oldleftrightedgeoldright=rightedge< oldbottom=newbottom-4/A oldbottom