@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}0} HE |||DDOS DOSDOS SYS }}}}CDOS SYSB*+DUP SYSBUAUTORUN SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y` ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8}`EiͩkΩ͙kCopQj`j0 {j`Hi͝Νh,}`L"OGOLCECA:D"NUR:"ssergorP nI ";6#?:"toobotuA ";6#?:6#?:6#?:6#?:6#?:61+2.RG͝ΝhrCUdC +@AY90@C@n!!PLOT 'ACE O.}F COLUMBUS LOGO'x,@@'/AW@9/AW@xK/@@x]/@@o,@$@5/}/@$@e/@@s/@@s,@2@s'/@2@59/@3@5K/@30}@s],@A@5o/@A@e/@I@s/AH@s,@I@5'/@I@U9/@W1}@cK/AD@c],@W@5o/@W@E/@e@S/A@@SPLOT 'ATARI',2}@$@$'/@$@9/@&@K/@(@]/@0@o/@0@$,@0@!/3}@$@!K,@5@$'/@5@9/@3@K/@7@,@@@$'/@@@4}9/@A@K/@C@]/@D@o/@D@$,@D@"/@@@",@H5}@$'/@H@9/@Q@K/@R@]/@R@ o/@Q@!/@I@!/@R6}@$o,@U@$'/@Y@$9,@W@$K/@W@]/@U@o/@Y@7}PLOT 'COMPUTER'o,@t@D'/@t@C9/@s@BK/@i@B]/@h@Co/@h@I8}K/@i@P'/@s@P9/@t@IK/@t@H,@w@I'/@w@E9/@x9}@DK/@@D]/@@Eo/@@I/@@P/@x@P],@@P'/@:}@D9/@@FK/@@D]/@@P,@@P'/@@D9/@@D;}K/@@E]/@@Fo/@@G/@@Go,@@D'/@@I9/@@P<}K/A@P]/A@Io/A@DK,A@D'/A @D9/A@DK/A=}@P"o,A@D'/A@D9/A@PK/A@P],A@Go/A@G,,>}A@P'/A@D9/A"@DK/A#@E]/A#@Fo/A"@G/A @G/?}A#@P6PLOT 'ENTHUSIASTS'@o,@c@U'/@Y@U9/@Y@aK/@c@a],@Y@}@Xo/@b@XJ,@f@a'/@f@W9/@p@aK/@p@W],@s@Wo/@wA}@W/@u@W/@u@aTo,@@a'/@@W9/@@YK/@@Y]/B}@@Wo/@@a^o,@@W'/@@`9/@@aK/@@a]/@@`C}o/@@Wh,@@a'/@@a9/@@`K/@@Y]/@@Yo/@@D}X/@@W/@@Wro,A@a'/A@a9,A@aK/A@W],AE}@Wo/A@W|,A@a'/A@X9/A @WK/A@W]/A@Xo/AF}@a,A@Y/A @Y,A@a'/A@a9/A@`K/A@YG}]/A@Yo/A@X/A@W/A@WK,A"@W'/A&@W9/A$@WH}K/A$@a,A0@a'/A2@a9/A3@`K/A2@Y]/A0@Yo/A)I}@X/A0@W/A2@WPLOT 'OF COLUMBUS OH',@Q@p'/@Q@h9/@R@gJ}K/@T@g]/@U@ho/@U@p/@T@q/@R@q],@X@q'/@XK}@g9/@b@gK,@X@i]/@`@i,@v@f'/@u@e9/@q@eK/@pL}@f]/@p@po/@q@q/@u@q/@v@p,@y@p'/@y@h9/M}@@gK/@@g]/@@ho/@@p/@@q/@@q9,@@gN}'/@@q9/@@qo,@@g'/@@p9/@@qK/@@q]/@@pO}o/@@g],A@q'/A@g9/A@iK/A@g]/A@qo,AP}@q'/A@g9/A@gK/A@h]/A@io/A@i9,A@p'/Q}A@q9/A@qo,A@g'/A@p9/A@qK/A@q]/A@pR}o/A@g,A$@g'/A"@g9/A!@hK/A"@i]/A$@io/A%@S}p/A$@q/A"@q,A5@p'/A5@f9/A6@eK/A8@e]/A9T}@fo/A9@p/A8@q/A6@q&o,AB@q'/AB@g9,AF@gK/AU}F@q],AB@io/AF@i0WAR@7  Disk of the Month #15B: W  DecV}ember, 1983:-@A DAY@4N%D:DIRECT D:ACECLOGOC@n!!PLOT 'ACE O^"#TFILEFILE1SELDPAGFLG X} d..** ATARI DISK MENU SYSTEM ** VERSION 2.1i''** PROGRAM BY: DAVID STELLMACK **k## Y}** MODIFIED BY JOSEPH BLUE **l##** TO LOAD M.L. PROGRAMS **m##** FROM 2ND BOOK OF ATARI **n Axp- Z}@"D ٠ΠŠ V-@ @ p(NEW DRIVE # |-@$@  ( [} * A0<-@$@ NAdAURh @)!@r A| A0 B$e +@ \}-@@< @DISK # NOTN-@@e(@ ON SYSTEM8 A A`#6-@ ]}- Ap8@ B Ab-@"C((͠ӠˠM BX ^}@b A`m A-@@P:?-@"m (ҠΠŠ _}6@ Ap" A`, B6 A l-@"C (ҠԠΠŠM `} AW A`b@l Bn A@.@@R1:@-@"n((ӭ a}̠ӠΠŠ,@ Ap" A`, APW-@"C((ӭ̠ӠԠΠ b}ŠM AW A`" B@" A-@A $b%2@@ c}@9-@@P= _2b$b%2@U@@9-@@P d}= _2b$"z1;@,;@,;@,;@,C@U@e e}a6-@m6-@z6.D :*.*, +AR@90@S0@] B f}w67@<@,.=:, AP@@6]1()}ŠŠƠӠŠC-@ g}G(Y-@8](@A@!6-5-@@4? A`L@V B h}b @v-@%(0J7 @*!@ --@%7(T1!@+-@ i}@%&@1(^ h F:A,A6ArM @-"( .-@A( FREE SECTO j}RS M6-@|m!@+-@ @%&@2( N-@%@%&@a( FREE SECTORS m6-@ k}M B-@"M((ίЩŠĩŠөӠ>-@@ $( SELECTION >0@@ l} @] Ap-@$@ +( =-@$@ OAdAUY A]S27@<@ m},4P*+"@)"@,=@I6-@S AL7@<@,4P(6-@B0@ n}L AG7@<@,4D(6-@2 A =@G A$$7@<@,4SA o}: 6-A:,& @)!&@&0 A: A_ B(}@;@@G6- p}S"@_6-@4$-@% @$ +67@<@,.7@<@,S67@<@, q}.7@<@,l67@<@,..67@<@,.7@<@,Y 6.-@@,6-@:7< r},,B"@F)"@XY67B:,%@,.>:,H1+!@G* @X,)+!@d* @,H67B:,%@,.>:,G s} @@+@e@=ARG Apr +@-@@4(@LOADINGF-@ t}@d(@7@<@,n A5r%??7@<@,4BIN)7@<@,4OBJAPA  u}A(@4(@FILE NOT FOUND> A`A%&%-A6A"!% 0WW162,16,32,173,6,134,207, v}104,104,157,69,3,104,157,68,3,169,4,157,74,3,169,3,157,66:RR3,32,86,228,16,3,76,166,6,169,203,157,68,3,169,0,157,69,3,169, w}2,157,72,3,169DXX0,157,73,3,169,7,157,66,3,32,86,228,16,6,192,136,240,92,208,96,169,255,197,203,208NXX4,197,204,240,210 x},169,205,157,68,3,169,0,157,69,3,32,86,228,16,2,48,69,165,207,240X\\14,165,203,141,224,2,165,204,141,225,2,169,0,133,207,1 y}65,203,157,68,3,165,204,157,69,3bXX165,205,56,229,203,157,72,3,165,206,229,204,157,73,3,254,72,3,208,3,254,73,3,32,86l[[ z}228,16,137,192,3,240,133,76,166,6,32,173,6,108,224,2,152,133,212,169,0,133,213,169,12v157,66,3,32,86,228,966-?:A {}6:A%,;@,dMINIDOS DOCU}}MENTATIONnq?(7MINIDOS IS FROM ɠàҠĠ PAGE 233.q(-MORE COMPLETE INFORMATION CAN BE FOUND THERE.s~}`(( MINIDOS ALLOWS YOU TO ACCESS DOSI(WITH A BASIC PROGRAM LOADED.`(IT SITS IN PAGE 6.xY&(BY TYPING DOS, YOU ACCES}S THE E(MINIDOS MENU. TO GET ATARIY( DOS ENTER }e-(%THIS DISK CONTAINS TWO MINIDOS FILES.e(3AUTORUN LOADED MIN}IDOS WHEN YOU BOOTED UP THE DISK.]&(ALSO ON THIS DISK IS THE FILE ](2MINIDOS.BAS TO MAKE IT AN AUTORUN, CHANGE LINE 13}0i&(OF THAT PROGRAM TO AUTORUN.SYSM("AND THEN RUN IT. MINIDOS WILL THENi(BE WRITTEN TO YOUR DISK(HIT RETURN }TO CONTINUE@(>:A%,N(MINIDOS OPTIONS ARE:.-@@N( - RETURNS TO ATARI DOSm}-@@6( WHICH RETURNS TO BASICH-@@m( RETURNS DISK DIRECTORYN-@@}N(4 WHICH FORMATS DISK. ENTER AND DRIVE NUMBER.o-@@6( WHICH IS DELETE FILE.H-@@}]( LOCKS FILESo-@@""( WHICH UNLOCKS FILES{-@@ ?(% WHICH ALLOWS R}ENAMING OF FILESQ-@@"n(PRESS RETURN TO CONTINUE{@B(>:A%,B(-TO SELECT ANY OPTION, ENTER }THE FIRST LETTER.9$( REQUIRES YOU TO ENTER9(D# AT THE PROMPTQ,($THE ONLY OPTION IS TO SCREENQ( NO} SEARCH PARAMETERS ARE ALLOWEDCC(; ASSUMES SAME DISK. PROPER FORMAT AFTER THE PROMPT IS$$(D1:TESTFILE.005,TEST}FILE.006l0((THERE IS NO PROVISION FOR ERROR MESSAGESl(7IF YOU GIVE THE WRONG PARAMETER, THE COMMAND IS ABORTED (} D:MINIDOS.DOC@Z##@@K:_(>:A%,;@,dMINIDOS DOCUCXd MINIDOS.BAS DOS FROM BASICnxCREATE MINIDOS DISK FILE..@@} D:MINIDOS.OBJ,-@AB"(*@, @SETUP DISK FILE HEADER255, 255,} 0, 6, 253, 6 MINIDOS PROGRAM FOR PAGE 6!!160,37,162,50,169,11,32,2096,32,19,6,32,221,6,16!!239,48,246,160},245,162,2,3284,6,32,90,6,160,6,14090,3,136,240,63,185,234,6205,8,1,208,245,185,239,6##72,201,254,208,1}9,160,250,1623,32,84,6,32,90,6,1738,1,201,68,208,30,240,10160,247,162,3,32,84,6,32"90,6,104,96,169,11,}32,186,6,96,160,8,162,40,169,5632,209,6,96,173,8,1,201@ 77,208,62,160,251,162,3,32J84,6,160,1,162,1,169,5}T32,209,6,160,58,140,2,1^160,0,169,3,32,223,6,169h19,141,88,3,169,5,32,221r6,48,11,160,7,162,20,169|9},32,209,6,16,233,169,1232,221,6,32,90,6,76,0 6,201,65,208,10,169,68,2059,1,208,3,76,159,23,7677,160,72},169,6,141,69,3104,140,68,3,142,72,3,1620,142,73,3,142,89,3,24019,72,169,1,141,69,3,141 85,3,104,208,2}28,160,8,14084,3,162,16,157,66,3,3286,228,96,76,85,68,82,7035,36,33,32,254,29,62,7078,63,198,68,35,63}CHANGE DOSVEC TO $600$A=00; $B=0610,0,11,0,0,6 CHANGE DOS COMMAND TO $600&$1546=00070,21,70,}21,0:$154A=06D74,21,74,21,6NPUT D*.* AT $100X0,1,7,1,68,49,58,42b46,42,155,127l""PUT MINIDOS COMM}ANDS AT $125v37,1,86,1,125 UNLOCK204,79,67,75,155 LOCK213,78,76,79,67,75,155 DELETE196,}69,76,69,84,69,155 RENAME210,69,78,65,77,69,155 FORMAT198,79,82,77,65,84,155MENU - DISK DIRECTORY}205,69,78,85,155ADOS ATRARI DOS 2.0S193,196,79,83,155 BASIC GOTO CARTRIDGE194,65,83,73,67,155} D:MINIDOS.CRTd MINIDOS.BAS DOS FROM BASICnxCREATE MINIDOS DISK FILE..@@  +(7CKSUER %%*******************************%%* } *%%* COPIED FROM NOV 1982 *(%%* 'COMPUTE' BY MIKE RAY *2%%* *<%%***}****************************FdWEDGE BASIC LOADERn+ ++(Insert a DOS 2.0 diskettex (with DOS.SYS in }drive 1./(/($Press to create autorun file. F:Ad,@A@AdAU,(,(!Now wr}iting the Wedge AUTORUN.SYS AB.@@ D:AUTORUN.SYS8 BB A:@(7}(!Can't open AUTORUN.SYS FOR WRITE.:)*@AU)*@AU)*@)*@@1)}*@@t)*@@3-Ay6A"%@(" A*@( B 6-% }IB5=(>:AS,Bad number in DATA statements.I6-@@"*( (*(DATA ok, write succes}sful.,69(9(Error-F:A, when atempting disk write@JFolowing is the decimalTequivilant of W}edge 1.0^ Must be typed in perfectlyhin order to function.r104,165,12,141,37,31165,13,141,38,31,169}36,133,12,169,31,13313,32,43,31,32,9231,169,75,141,231,2169,33,141,232,2,9632,64,21,32,11,31}96,169,80,141,68,3169,31,141,69,3,1690,141,73,3,169,12141,72,3,169,11,14166,3,162,0,32,86228},152,48,1,96,7655,33,65,116,97,114105,32,87,101,100,103101,155,160,0,185,263,201,69,240,7,20020}0,192,34,208,243,96200,169,165,153,26,3200,169,31,153,26,3162,0,189,0,228,157165,31,232,224,16,208}245,169,184,141,169,31169,31,141,170,3124,173,4,228,105,1141,186,31,173,5,228105,0,141,187,31,169}0,133,203,96,251,243,51246,184,31,163,246,51246,60,246,76,228,24356,1,1,125,32,3262,246,8,201,15}5,2404,230,203,40,96,140 181,31,142,182,31,165 203,240,86,169,51,133 205,169,32,133,206,160 0,177,2}05,217,128,5 208,12,200,177,205,24040,196,203,208,240,7637,32,201,255,240,53160,0,177,205,240,9OO2}30,205,144,2,230,206,76,242,31,24,165,205,105,3,133,205,144,2,230,206,76215,31,200,132,204,177205,141,183,31,200,}177205,141,184,31,108,18331,160,0,169,46,153128,5,169,0,133,203169,155,172,181,31,174182,31,40,}96,68,7382,0,125,32,83,6782,65,84,67,72,022,33,76,79,67,750,27,33,85,78,7679,67,75,0,32,33}82,69,78,65,77,690,37,33,75,73,76 76,0,42,33,255,155,50,54!AA32,70,82,69,69,32,83,69,67,84,79,82,83,155,155,0,}0,68,58,42"46,42,162,80,169,12#157,66,3,32,86,228$162,80,169,3,157,66%3,169,6,157,74,3&169,120,157,6}8,3,169'32,157,69,3,32,86(228,152,16,3,76,55)33,162,80,169,5,157*66,3,169,100,157,68+3,141,68,3,169,}32,157,69,3,141,69,3-169,20,157,72,3,141.72,3,32,86,228,152/48,13,169,9,141,6603,162,0,32,86,2281}76,166,32,162,80,169212,157,66,3,32,863228,76,30,32,162,804157,66,3,169,0,157573,3,164,203,153,1286}5,56,152,229,204,157772,3,24,169,128,1018204,157,68,3,169,59105,0,157,69,3,32:86,228,152,16,3,76;55},33,76,30,32,169<33,76,229,32,169,35=76,229,32,169,36,76>229,32,169,32,76,229?32,173,37,31,133,12@17}3,38,31,133,13,76A116,228,72,162,80,169B12,157,66,3,32,86C228,104,162,255,154,133D185,76,64,185,224,2E}225,2,1,31D:WEDGE %%*******************************%%* 32010 REM VARIABLE TABLE LISTER BY DAVID WEINER DEVELOPED MAY 10-12, 198232012 REM VER}SION 1.1  APRIL 4, 198332015 REM *** INITIALIZATION ***32018 OPEN #1,4,0,"K:"32020 DIM VZBXQ$(127),PV$(10),CHAR$(5),NO$(5})32025 GRAPHICS 0:SETCOLOR 2,0,032030 PRINT "PRINTER OR VIDEO ( or )"32040 INPUT PV$32050 IF PV$(1)="V" THEN PVN=03206}0 IF PV$(1)="P" THEN PVN=132070 VARSTART=PEEK(130)+PEEK(131)*256:VAREND=PEEK(132)+PEEK(133)*256:TABLELOC=VARSTART32071 GRAP}HICS 0:SETCOLOR 2,0,032072 IF PVN=0 THEN PRINT "Ϯ "32073 IF PVN=1 THEN LPRINT "NO. START END VARNAME"}32080 STARTVAR=TABLELOC32085 REM *** FIND VARIABLE NAME ***32090 CHAR$=CHR$(PEEK(TABLELOC))32092 TABLELOC=TABLELOC+132095} IF ASC(CHAR$)>127 THEN 3221032100 VZBXQ$(LEN(VZBXQ$)+1)=CHAR$32110 GOTO 3209032200 REM ** PRINT VARNAME (VZBXQ$) **32210} CHAR$=CHR$(ASC(CHAR$)-128)32215 VARNUM=VARNUM+132220 VZBXQ$(LEN(VZBXQ$)+1)=CHAR$32230 LET ENDVAR=TABLELOC-132240 NO$=STR}$(VARNUM)32250 IF LEN(NO$)=1 AND PVN=0 THEN PRINT " ";32255 IF LEN(NO$)=1 AND PVN=1 THEN LPRINT " ";32260 IF LEN(NO$)=2 }AND PVN=0 THEN PRINT " ";32265 IF VZBXQ$="VZBXQ$" THEN 3235032270 IF PVN=0 THEN PRINT NO$;" ";STARTVAR;" ";ENDVAR;" ";VZB}XQ$32280 IF PVN=1 THEN LPRINT NO$;" ";STARTVAR;" ";ENDVAR;""32285 GET #1,INKEY32290 STARTVAR=TABLELOC32295 VZBXQ$=""323}00 GOTO 3209032350 IF PVN=0 THEN PRINT "ĠƠ"32360 IF PVN=1 THEN LPRINT :LPRINT "END OF LIST"32370 CLOSE #1:CLR 32}380 END VARIABLE TABLE LISTER BY DAVID WEINER DEVELOPED MAY 10-12, 198232012 REM VER LMUgAFILEOLDFILETRANFILENEWOLDRECTRANRECNWRECLREPSSSERRSOLTRANU': }MM  77SUPRCOMP-3 UPDATED } BY Ron Luks 6-83 PPN 76703,254 +'0@@A0@@ [0@@ m }@@@9$-@@$( Э(S(.(# This FILE COMPARISON program is S( an } updated version of the pgm2O+(# SUPRCOMP by Stacy Goff of A.C.E.O( It will make a line-by-line <U,($ comparis }on of 2 LISTed files, on U($ the same or different drives, andFK*(" create a 3rd file consisting ofK( a }ny differences. P=AdAU(=( Ԡ٠٠Ϡ Z F:Ad,"AU@d]];@ , };@,;@,;@,;A(,;A(,;A(,;@ ,nAdAU(}x6((ENTER }í "6"@APW(+( ENTER í to be COMPARED?(against #1 CW"@API }(((ENTER í to consist B(of the differences -FI(( Š = ( Š = ( Š } = "@6-(+(+( ENTER D to onlyD&( ENTER P to onlyD( EN }TER B for N$( TO CHANGE THE NAME OF FILE N(% #1,2,or 3 type the approp. #?#( or just } for MENUs5AdAU? AA4P)4B5@@P:A6-@4B)4D6- }@! 416-@! A ! 426-@! A0! 436-@! A@#"@)" }@# A" 4 A` AP, AP6$@@$@@* A*@@ }J* A*@@T* A *@@^"@ A E }NDhMAINLINE ROUTINE r APGO GET OLDREC| A`GO GET TRANREC " A-!A` }-MUST ADD RECORD FROM TRAN!A0&##ON OLD, NOT ON NEW; WE DELETE: 6.=:,(@# AP:W }RITE RECORD & PRINTF Ap AP! AFGO CLEAR NWREC, GET ANOTHER OLDREC""ON TRAN, NOT ON OLD; WRITEIT } 6..(@ AP$ Ap. AGGON BOTH FILES, CHECK TO MAKE SURE THEY ARE IDENTICAL } 4 A0 Ap6.$(@ AP$ Ap! AP A`! AFILE READ SUB }ROUTINES &N A@@167@<@,.; A A6-K @N$0N A@167@ }<@,.; A A6-K @N$:CLEAR NWRECD(-@B:,!67<,. % ($NTRAP ROUTINES FOR OP }ENS X4(ERROR--CAN'T OPEN *6-@4 A0b4(ERROR--CAN'T OPEN *6-@4 A@lG(ERROR-- }CAN'T OPEN *6-@GF:A,AaAPv F:A,"AaA !!ERROR ON OLD FILE--CHK EOF " }F:A,A6" A %6-B "B % A$""ERROR ON TRANS FILE--CK EOF "F:A,A }6" A %6-B "B % A$:6-#-@@07<,4 : A@6-% }@ 6-A:7@<,,$PRINT AND DISPLAY OUTPUT "@(@"@(@ } $ALL DONE, CLOSE FILES K@@$@'(*(K( END OF FILE *E6.D1:*.* }867@<@,.7@<@,B AE4UNDETERMINED ERROR >6( (6( JOB ABORTED WITH ERROR =:F:A },,HQF:A,"Aa@(# MUST POKE 1801,4 THEN RE-WRITE DOSQ( AND RE-BOOTR\G($(ENTER D1(or D2,D3,D4) } for=(the appropriate menuG A`fG@@$@/@3G67@,.:*.*pJ A  }@5@@8(;(@(J A zF@47@<@,4 FREE SECTORS7(<(F A }  ( A  A 0@ B$ D2:COMPARE': XMAXMAXTRUFALSCASNCNUMHOLDFILEINFILEOUTLOLDLNEWLSECTLBYTEBOLDBNEWBSECTBBYTEBLOLDBASINCREME$}NTESEQNUMBEBRANCXXBHOLDEXAMABMAXXXXX1AA@ $} A )-A 7-A E-A S-Aa-Ao#-A}*-A1-A8-$} !"#$%& ##$}Ҡ͠Ơӛ##Π֠ +(DDAUTHOR ROBERT BURKHALTER 22NOV19$}80 (RE801122.002)2<96-A6-A'6-@36-96-F<<;@,;@,;@,;@$},;@,P9,9,9,9,Z9,9,9,9,9,d(( FREE RAM=I:,n,(,(!ԠŠ$}ԠŠĠŬx)) !ԠĠĩ((TURN ON THE PRINTER( 6$}-6@6-6@%(!(ENTER NEW STARTING # %%(!(ENTER NEW INCREMENT % 6-& ( (FILESPE$}C OF INPUT "(ŠĺĠ " @@ ( (FILESPEC OF OUTPUT "(Š$}נ "< 4' SPECS CANNOT BE IDENTICAL2@< A @@  $}PROCESSING INPUTF A F* GET A CHAR FOR FIRST TIME"* HANDLES A LINE NUMBER,6-$}%@6 Ap * GET AN OLD SEQ@68,-A:,JPRINT "LOLD(A)=";LOLD(A)T 6-%^(!B'g% SEQUENCE$} OVERFLOW(h 68,-r 68,-68,-|C AC* POSITION TO NEXT NUMBER"$} A * HANDLES A GOTO,TRAP,ETC.6-%@68,-8, Ap * GET AN OLD SEQ68,-A:,$}PRINT "BOLD(B)=";BOLD(B) 68,-68,- A* LOOPC"(STORED  LINE NUMBERS.C(STORED $} BRANCH NUMBERS.--(8, IS HIGHEST NEW SEQUENCE NUMBER.** THE BUBBLE SORT STARTING SORT #1-$}&@-%@&8,!8, Ap0 A :! 6-8,68,-8,!68,-D! 6-8,68,-$}8,!68,-N! 6-8,68,-8,!68,-X! 6-8,68,-8,!68,-b! 6-8,68,-8,!68,-l v $}-ZZLPRINT X7;" LOLD=";LOLD(X7);"LNEW=";LNEW(X7);" LSECT=";LSECT(X7);" LBYTE=";LBYTE(X7) $}-nnLPRINT X7;" BOLD=";BOLD(X7);"BNEW=";BNEW(X7);" BSECT=";BSECT(X7);" BBYTE=";BBYTE(X7);" BLOLD=";BLOLD(X7)$} )) !SUPPLYING BRANCHES WITH NEW SEQ #33*** SUPPLY BRANCHES WITH NEW SEQUENCE NUMBERS 6-6-6$}-6-'8,!8,6-%@' A38,"8,68,-8,)6-%@3 Ap 11IF YOU GE$}T HERE BOLD(B) < LOLD(A), AN ERROR;;3 BRANCH TO 8, IN OLD LINE 8, NOT CHANGED '68,-8,6-%@' %}Ap* ! A04 A`>;;3 BRANCH TO 8, IN OLD LINE 8, NOT CHANGEDH68,-8,6-%@%}R ! A BUBBLES 2\ A0f1 ! A 1BUBBLESORT 2 BY SECTOR,BYTEp A`z*** B%}UBBLES NUMBER 2 BUBBLE SORT #2-&@-%@8,!8,A p!!8,"8,*8,!%}8,A p A! 6-8,68,-8,!68,-! 6-8,68,-8,!68,-! 6-8,68,-8,!68,-%}! 6-8,68,-8,!68,-  -ZZLPRINT X7;" LOLD=";LOLD(X7);"LNEW=";LNEW(X7);" LSECT=";L%}SECT(X7);" LBYTE=";LBYTE(X7) $-.nnLPRINT X7;" BOLD=";BOLD(X7);"BNEW=";BNEW(X7);" BSECT=";BSECT(X7);" %}BBYTE=";BBYTE(X7);" BLOLD=";BLOLD(X7)8 BL CREATING NEW FILEV*** CREATE THE NEW FILE`DDI WANNA COPY, C%}HARACTER BY CHARACTER TILL I HIT A LINE #, THENjGGREPLACE WITH NEW. SAME FOR BRANCH #. WILL BE DRIVEN BY SECTOR +t!!B%}YTE # AND CARRIAGE RETURNS~WILL NOT SCAN6-6-@ @@)% }@@  8, AP  8, AP A%0 A  8, A % } 8, A A' A  A$  A A$ ( A 2 A$ < A`F% }  FALL THRUP*****************Z*d*SUB ROUTINESn*x******************* GET A CHARACTER% })@ 6.>:,$** GET AN OLD SEQ.Q !  MAXA EXCEEDED !  MAXB EXCEEDED% };;* ASSUMES I AM SITTING ON FIRST CHARACTER OF A NUMBER@ 6.! A !* GET A CHARACTERH%} @X*!@G>67B:,%@,.7@<@,H A0bb** SOFTWARE PROBLEM - TAKING VAL DESTROYS ABILITY TO C%}ONCATENATE, SO, TO PROTECT NUMHOLD$... 6."$,6 ** POSITION TO EXIT LINE #@))* WILL STOP AFTER A CARRIAGE%} RETURNJ((* OR A GOTO, GOSUB, TRAP, THEN, ORT,,* MULTIPLE GOTO/GOSUB (CASE STATEMENT)^h"*4, A#pr%} A| A  4G Ap 4T A`+"AU6-!6-+ A A` %} AP A / @X*!@G%6-/ A$) ERROR B)* SHOULD BE A NUMBER(F:A%},"A6''( A'$ UNEXPECTED ERROR F:A,' A  4O A A A %} 4  AP 4T Ap& 4S A"P0 A: A D A N A X 4O%} Ab Al A v 4  A0 A A 5 @X*!@G%6-@+6-%}5 A$ A A  4H A  4R A!0 A A  4E A 0%} A A  4N A ` A  A  4  A   A* A 4%} 4G Ap>5 @X*!@G%6-@+6-5 A$H AR A \ 4A A!`f A%}p A z 4P A! A A  4  A"  A A / @X%}*!@G%6-@/ A$ A A  4U A" A A  4B A#%} A A   4  A#@ A$ A . 5 @X*!@G%6-@+6-5 A$%}8 AB A L / @X*!@G%6-@/ A$V  6- A` $j t ** COPY A C%}HARACTER~ *@ A$ )@ B @ A% 1F:A,"A6#%}@.@1 ;8 UNEXPECTED ERROR F:A, COPY A CHARACTER; $  ** COPY LINE # 6.=:8%},, &&LPRINT "NUMHOLD$(NEW)=";NUMHOLD$ -@B:, 77LPRINT "VAL(NUMHOLD$(";X7;"))=";VAL(NUMHOLD$(X7)) *@% }@:7,,  ( 6.=:8,,2 &&LPRINT "NUMHOLD$(OLD)=";NUMHOLD$< -@B:,F )@P  Z @%!}d 6-%@n ' !68,-A '68,-A x $  ** COPY BRANCH # 6.=:8,, -@%"}B:, *@@:7,,   6.=:8,, -@B:, )@   @ 6-%@%#} ' !68,-A'68,-A $ D2:RENUMBERWLSECTLBYTEBOLDBNEWBSECTBBYTEBLOLDBASINCREME$FOP(BYTEHEXDECNUMWBINTRANSPKINFLSHOTFLNUARSLTOBACMABYTBI6 )%}@DAL @@ @IA 2 @I @ @@@@A@H)&}A?%@ZJJPEEKER ver 2 copyright 1983 RON LUKS NY -)'}_JJΧ䮠̠a&&련Ǡɩd')(}Af'AR@nRR;@,;@,;@#,;@,;@,;@,9@,x128))},64,32,16,8,4,2,1:-@@"$68,-( :A@PRINT CHR$(125)86.0123456789ABCDEF86)*}.@ABCDEFGHI!!!!!!!JKLMNOy +@90@@ S0@@ _6-y0)+}@@*9@I<@,*AR@'@@'@@5J( (((PROGRAM),} PEEKS INTO RAM ANDJ(DISPLAYS VALUES 16 BYTES BACK?(AND 31 BYTES FORWARD OF<(THE LOCATION YOU INPUT. ?(E($()-}-Restart -QUITB(-go to POKE routineE("("(HIT ANY KEY TO CONTINUE4F:Ad,AU*Ad).}AU4 Ap A@-@@'@@5*(-(J(}your INPUT-%( 1=DECIMAL?(2=HE)/}X (no $ req.) J@_#@@K:0)@<"@IH6-@O(>:,R(U(_ A")0}2"@P6-@"(>:,%(((2 A, Ap6u((OUTPUT format-(+( 1=DECIMAL6(2=HEX D( 3=BIN)1}ARY \(4=ATASCII char. h6-u)@@)!@S) @H() AJ" (>:,"@I"6-@)2}T"@P6-@^"@Q6-@h"@R6-6@k ( ( (l@ (Default is to PEEK f)3}rom 7(BYTE-16 to BYTE+31:(=(@(mD("(Enter- to use defaults3( =(-12/+23)D( =(-8/+15) oW( =(-4/+7)*)4}(,(*=best for BINARY9)@W!@Q) @GAcp 6-++&@H,$@, (rH@'@)5}@9*(@(Starting BYTE ? C(H(|1AdAU A1AR#"@6-# A)6} -"@ A#6-- A  6-++&@%, +6-+@&,96-@9-+&)7}@%,+%@1&+@$,,:68<@,-(68<@,-F:,66-%@: 6-+%@1&+@$,,)8}ASSEMBLE OUTPUT%%-@+@G&+@$,,#"@#6.=:8<@,,0"@ 6-8<@,* )9}A06.G67B:,%@,.=.F:B2y,"@1'=6-G A`3F:B2y,"@((0AR):}3XF:B2y,"@(2(POKE WHAT BYTE ?DAfN ApX A0;"@167B:,%@);},.=:8<@,,; ApY"@ 6-8<@,* AO67B:,%@,.7@<@,Y Ap&H)<}"@ 6-8<@,* A0>67B:,%@,.H Ap0"6@A: ( (( ADN)=}Af@+(>:8<@,,/ AAfD(N ANW A`-@B:,J6-$@%@:7@:)>}7,,&@G,,&@dN T6-W$X6-A@6-b @)!6.00la-@@"6-P:',)?}B67<,.7%@<%@,L6-&$Z6-'@^ a$vK6-8<@, 6-@=-@6@)@}K6-@#3P:',"@!67<,.1)6-&3 A`67<,.06-%@ $k A "@)A}468@<@,-F( New Value-?Ja68@<@,-k AW"@6.667B:,%@)B},.>:@D,@ AW68@<@,-N( New Value- -67B:,%@,.7 AN68@<@,-)C}B/+8@<@,,+8@<@,,2(B( POKE'd....-(Next # or (#(- Ap' B)D}$6-8@<@,'$ D2:PEEKERPKINFLSHOTFLNUARSLTOBACMABYTBI6 (, HDNASTRNNZFL'@@@@@I -F} @W ?%@@@&&********************************&&** HEXPOKE program left ou-G}t **&&** of Stan Ockers Article in **&&** Nov 1982 **LL** Atari Computer Enthusiasts **6 REM -H}** Newsletter **LL** 3662 Vine Maple, Eugene, Or**8 REM ** 97405 ** &&** -I} $10 year ** ******************* HEXPOKE **** S.O. 9-82 **(*****************2d[&-J};@,;@#,;@,=6.0123456789ABCDEF[6.@ABCDEFGHI!!!!!!!JKLMNOnU#@@S:C@-K}@K:UAR@,K'(>:A%,INPUT ORIGIN IN HEX+5 A ;6-A6-K Az6-L}-@6-@% A +6-=-@@U STARTING ADDRESS g-@@"z(DECIMAL VALUES)@-M}I"@E*!@# A 16-&@; A I6-&@I"@a* @# A 16-%@-N}; A I6-%@#"@B A # A#"@C A # A0C9++!@G,*+ @X-O},,)++!@d,*+ @q,,C A"@' A""@6-?:," AA-@ @ !(F:-P}, 3-@@ 7(A Ac6-%@6-%@+!@176-@E6-%@Q!@]6--Q}@c6- A $o6-&@6-&@+ @76-@1E6-&@Q @]6-@i6-R}-@o6- A $ --** SUBR. TO PUT NEW NUMBER IN MEMORY ***O)6-@$+@:7&@G,,&@d,/-7-S}(>:,E6-%@O A 4U)@"A&& A 46-&@> A K)@U A8AA++!-T}@G,*+ @X,,)++!@d,*+ @q,,A(:)@ A$<-6-@:7&@G,,&@d'6-%--U}>k -(>:,6-%@+!@276-@E6-%@Q!@]6-@k6-&@z6-%@-V} A $##** POS. AND ? INV. OF CHAR **$ 1-!(>:%A(,$$!!** PRINT DEC, # N IN HEX **R6--W}A@6-/-@@:6-P:',F!R6-@C)+!,)+"@,)+!@,C(7%@-X}<%@," 6-&$6-'@ "$L%%** PRINT SCREEN OF MEM. DATA **VT(>:A%,,-@@-Y}@8-@>6-H AT-@`C-@ 6-F:,* A1( ?6-%@C j   $-Z}))** CONVERT HEX IN N$ TO DEC. # N **S6- -@B:,L6-$@%@:7@:7,,&@G,,&@dP S$-[} D2:HEXPOKEDNASTRNNZFL'@@@@@I ,z@AU} (}AdAU'6-*(<AR@N-@z('PRESS ANY 1]}KEY AND GET THE PEEK(764) NO.}(&6-F:Ad,&"AUA("@(6-( A(6-%1^}@AdAU AggƠՠҠĠԠҠӠԠΠ˨ΠΠӠǮ1_}ҠϠŮ D2:PEEK764} (}AdAU'6-*(<AR@N-@z('PRESS ANY 0#<LABTEMPNAMENUMSNUMENUMBSNUMCNTNAME1NUMCOUNNUHASLINENUMINREITFLPONLENGTSTARSIFLPOINSTR5a}ENPOEFLNUMCNLINLEVARNUUSEREIRENUNRFLAD@@@@5b} 5c} !@"#$%&'d5d}PROGRAM CRUNCHERnBY ... DALE YOCUM, 1/80xhh;AV,;AV,;AV,;@ ,9A,9A,5e}9A,9A,;@ ,;@ ,9@P,' } PROGRAM MASHER! $ ' ?+ #REMEMBER ... All fi5f}les used must be? in LIST format.     SOURCE FILE NAME @@! ! DE5g}STINATION FILE NAME @@ A  NUMBER OF VARIABLES USED IN SOURCE 5q}b'DOS SYSb+AUTORUN SYSb*-ACECLOGO b%WDIRECT b|MINIDOS DOCbMINIDOS BASbWEDGE BASb VARTABLELSTb"COMPARE BASb<RENUMBERBASb!$PEEKRAM BASbEHEXPOKE BASb\PEEK764 BASb6`MASHER BASbGXREF BASb*TRACE LSTb(DSASMBLRBASb8ERRSUB LSTbRERRSUB USEbgfMESSAGE BASbHELLO BASPROGRAM6-A'&9   SIT BACK AND RELAX9 THIS WILL TAKE A WHILE-A68,-5r}  A0SHOULD BE EOF   } ***PASS ONE***$$ ***SOURCE PROGRAM FOLLOWS*** 5s}BUILD SYMBOL TABLE******************@  APSCAN LINE"&$8@5t},@&$ERROR?'"@A%'IF NO NUMBERS  --ENTER ALL NUMBERS IN SYMBOL TABLE ARRAY --********5u}*******************************-@6-A:78,<8,,,"#HASHING ROUTINE$***************,!!65v}-P:&P:'A,$A,68,"A@ 8," AJ6-%@T!A 6-^ 5w}A 68,-68,-8,%@  A%((NUMBS AND NUMCNT HAVE SYMBOL TABLE   5x}END OF PASS 1*-@P&68,-* -A  6-8, !@P6-@P 685y},-8,%@  6-O 6- -@P@6@%8,!AX6-%8,6-5z} 1 1 USING VARIABLES FOR  OR MORE REFS    PROGRAM LISTING..., , !***VARIABLE DEFINITION SE5{}CTION*** "@#4 @@4REWIND INPUT FILE$.WRITE OUT VARIABLE DEFS8****5|}*******************=!6-A%!LENGTH OF LINES@ A 0B6-L 6.6.`-A j5}}8, At 6.Q~67@,.=:,67B:,%@,.=67B:,%@,.=:8,,B:,%B:,A5~}&& =:, 7@:@4,AcB 6-%@ 6.>:@4,L BV&5}"  INPUT ERROR# &&`6-%@j Ad0! BP!IS THIS A NUMBER?"Ad 5}@Ac 6-&@##7<,1A*7<,/ZAcP6-%@ 68,- 68,- 6-65}-%@APE($' B''STRING SEARCH ROUTINE$'!!THIS PROGRAM SEARCHS A$ FOR.'THE SU5}BSTRING IN S$. THE8'STARTING POSITION FOR THEB'SEARCH IN IN START. IPL'%%RETURNS THE START OF THE STRINGV' FOUND5}.`'%%*******************************j'6-@6-B:,t'# 6-6@#6-6~'6-B:,&@'6-5}' -'47<%,$' ' 6- FLAG, NO MATCH'$4:>:NUMBER FINDERH:THIS PROGR5}AM WILL RETURNR:!!A NUMBER POINTED TO BY PONT\:THE NUMBER WILL BE IN NUMf:THE SOURCE STRING IS A$:6-65}-:-B:,:17<,10*7<,/9'6-@1 BS:7<,4.BS:"BT:&5}7<,4E6-@& BS:"BT:##7<,0-*7<,0+BT;6-; (<6-&@5}2<"$<<6-A:7<,,F<$8JBJLINE PRINTING ROUTINELJWATCHS OUT FOR LINES WITHVJNO STATEME5}NT. ADDS REM`JIF THIS OCCURES.jJ************************* NB:,"$%N &N @*N#B:,!@5}  @#$4N-@B:,>N!7<,4   @!$HN RN  REMWN @ REM\N$0u5}-Abu8,"Bu))(ENTRYNUM=8,COUNT=8,u u&}D:MASHERSTR4yyz #!#BBACNOPTELDQFGSIVCLIINSTSTLINHLINLLINLSAVSSTTOSRPMAPTPHPLAMELIVV9}VVTANUM@ 9}@9} !"#$%&'()*+,-9}./01d**TOKENIZED BASIC FILE READER IN BASICi33CROSS REFERENCE AND VARIABLE COUN9}TERnLW 4/24/809,;@,;AB,;A$,;@,;@,;AV,;@,;AV,9};B`,;A$,;@,;@9,;@h,11;@,;AV,;A6,9AV,kkA$ - ARRAY FOR ST9}ART TOKENS B$ - STRING FOR BLANK FILL C$ - ARRAY FOR INPUT FILEjjN$ - STRING FOR FILE NAME 9} O$ - STRING FOR STR OUTPUT P$ - ARRAY FOR NAME PTRSkkT$ - POINTER FOR END OF TAB E$ - ARRAY OF VA9}RB ENDS L$ - THE LINKED LINE LISThhD$ - ARRAY FOR NAME TABLE Q$ - STRING FOR STM 9} F$ - STRING FOR OUTPUTiiI$ - INDEX FOR NUMERICS V$ - ARRAY OF NUMERICS C - COUNTS OF NU9}MERICSFFS$ - TEMP STRING FOR BLOCKS B - OUTPUT NUMERICS ARRAY"4EXIT A<B:, @+9}-B:,%@@867<,. < 667%@<%@,.,6-%@6 AffREM,DATA,INPUT,COLOR,LIST,9}ENTER,LET,IF,FOR,NEXT,GOTO,GOTO1,GOSUB,TRAP,BYE,CONT,COM,CLOSE,CLR,DEGjjDIM,END,NEW,OPEN,LOAD,SAVE,STATUS,NOTE,POINT,XIO,9}ON,POKE,PRINT,RAD,READ,REST,RETURN,RUN,STOP,POP,PR?``GET,PUT,GRAPH,PLOT,POSIT,DOS,DRAWTO,SETCOL,LOCATE,SOUND,LPRINT,CSAVE9},CLOAD,LET.,ERROR,EXIT__67@<@h,.DS,$:;EGGTST#<<><>=^*+-/NOA()==<<><>=+-(((((,SCUAVLARCPSRFELCSSAIPSPSC#9}@@E:C@@P:9%6-F:A4,%F:A5,$AV9%@5 B9}((( INPUT FILE NAME: 5@< @@-6-6A$<INIT POINTER  B BUILD9} NAME PTRS  B0INIT LINKS $6-@  B$PGM AREA 99THIS RETURNS POINTER TO END OF CONSTANT T9}ABLE I6-%@ A`IGET HI BYTE OF FIRST LINE AND PROCESS  B`LIST THE LINKS  BLI9}ST CONSTANTSpL 6- Bp6-@:,(!A'+(;( END OF LIST>$LGET HI BYTEuTHE LINE NUMBER UTILITYz9}26-&@ Bp$6-@:,2GET LO BYTE16-%@ Bp$6-@:,1GET LENGTH (%$AV  Ap9} 6-%N A`X& 6-6-%@&SAVE POINTER]GET STATEMENT LENGTHb 6- Bp6-@:,l9}GET FIRST TOKENv26-%@6-! Bp26-@:,%@EE(7+&@,$@%@<+&@,$@%@9}, N"@)"@# A- AyNSTRING OUTPUT FOR REM AND DATANOW THE MEAT OF THE STMT369}-%@6-! Bp*6-@:,3GET IT4"@" ArP4. END OF THIS ONE6"@ (: ArP9}6. END OF THIS STMT3"@ A# Ar3DO THE STRING6"@'(THEN $ ArP6TREAT THEN9} AS :5"@ A# Ar5DO THE CONSTANT5!A' A# Ar5DO THE VARIABLE(7&@9}<&@,  Ap`DO IT AGAINR " Ay\GET NEXT STATEMENTf6-%&@p Ap,( 9}6-RESTORE POINTER6$@56-%@6-! Bp5GET THE CHARACTERJ0@:,AU(! A0TEST FOR9} EOL$#6-%@#GET LENGTH BYTE 6- Bp6-@:,@-@6-%# Bp((, @OUTPU9}T THE STRING 6-%$4!$6-%@$GET BCD CONSTANT>!Y6-#-@@36-%&@= BpH9}67<,.L YGET NUMBERC!)!AU A)NO MORE SPACEH!!6-%@!! A`R!`6-@:7<,,&@9}D37$@%@<$@%@,N A `TEST NEXT ENTRY\!r.47$@%@<$@%@,<6-%9}@P68,-8,%@U(_ ArINC NUMBER COUNTf!K-6@467%@<%@,.7<,8 KPUSH I9}NDEX ARRAYp!y67<,.>:%@,D67$@%@<$@%@,.R6-%@a68,-@f(ySTORE NEXT9} VALUEV"6-%@$`" 6-&A( TURN OFF MSBe"+ BP+PUT LINE NUM IN LINKED LISTj"oc6-@:7@$%@9}<@$%@,,%@:7@$%@<@$%@,,$AVoGET STARTt" 6.7,~"P@:,!A'&6.>:@9}:,&A(,/( 9 APTURN OFF MSB IN NAME",(6-%@"!@, B" A ##!@9} B# B#$'Y 6- Bp$6-@%@:,26-%@< BpY6-%+@:,&@,$AV'""STM9} IS OFTEN PROGRAM POINTER$'CCTHIS ROUTINE RETURNS A POINTER TO THE TABLE NEEDED&'jjTHE TABLE FORMAT IS: 9} 1,2 DUMMY POINTER HERE 3,4 START OF NAME TABLE('ll5,6 END OF NAME TABLE 7,8 STA9}RT OF VALUE TABLE 9,10 START OF PGM STATEMTS8'$..6-@ B6-.SAVE POINTER.?!A$9}(<(%TABLE TOO LARGE - MODIFY LIST PROGRAM?&./6-@ B%6-/GET BEG.6(-6- Bp#9}(' *(66-D/;6-P:'AV,$6-&$AV;GET HI AND LOW BYTESN/:67%@,.>:,+67%@,.>:,9}:SAVE POINTERX/& 6- Bp6-@:,&GET CHRb/96-%@ A(' B! 9NOT END OF NAMEl/16-%@9} ! B!1GET NEXT NAME/-6-'@(*( VARIABLES USED-(/C(TABLE SAVE IN PROGRESS!(/-@9}?67<,.7<,C 2$2B-@'6-@$&@1 B@BGET ENDS FIRST2/67<,.>:,/67%@<9}%@,.>:,2'6-%@ B@'GET LINKS2Z6-&@67<,.>:,E67%@<%@,.>:%A(,Z9}END LINKS ARE NEGS2 2(67<,.>:A(,(THE LAST IS -13B#6-+%@,$@&@- B@BGET POINTER 9}TO END3767@<@,.>:,767@<@,.>:,6$6K6-P:'AV,$6-&$AV'$K. GET NUM IN A9} RETURN HI C LO B876-%$AV$7GET LO, HI AND RETURN NUM IN A:Q6-@:7@<@,,76-@:7@<@9},,A BEG6-QGET END:C67<,.>:,/67%@<%@,.>:,CSTORE LINE NUMBER:f6-@$%@'6-9}@:7<,,E6-@:7%@<%@,,O BEfGET END OF THIS VARB:d#67%@<%@,.7<,S67%@<%9}@,.7%@<%@,dSAVE IT AT END:l67<,.7@<@,K67%@<%@,.7@<@,l9}STORE NEXT LINK (OLD END) HERE:h6-%@ B@)67<,.>:,G67%@<%@,.>:,hSTORE NEW END (OLD EN9}D+2) HERE:}6-%@ B@567@<@,.>:,O67@<@,.>:,}STORE NEXT AVAILABLE ENTRY (OLD EN9}D+4) HEREv>$>((CROSS REFERENCE'6-@36-@= BW67@<@,.=:,}67@<@ ,.9}VARIABLES USED B3>?6-@6-?NOW LIST POINTER,VARIABLE POINTER>!( ( A!6-%@9}>56-@:7,,#6-@:7%@,,5. GET THE LINK>$"A( Bi$FINISHED>X!A'6-&A(' BE9}-6-7 B:3D B` XGET NEXT VARIABLE>( BE6-(GET LINE REFERENCE>D6-@:7<,,/6-@:7%@9}<%@,,9 BEDGET LINE>%(   B%PRINT IT>)6-%@ B`0)DO IT AGAIN^B( B9}33$hB% ! B%GET NEXT BUFFERmB&"6.$rB6.7&<&,$PFG B6-%A$)9}6-%A$56-GSET UP POINTERSUF&!A$&6.7A$<A$,ZFL)@6-%@,67<,.>:,9}8 A$B BLGET BUFdF$DH( (-@NH#6-@:7<,,&@#GET PTRSHq6-8%@,!6. 9} *6.=:,C67@<@,. H(b(@  qOUTPUT COUNTXHa.6.7$@%@<$@%@9},;(8,Q(@8,aOUTPUT NUMBERH I 3 3 $8JD 6.=:,'67%@<%@,.56-%@9}A @8D$BJ 3 B6-@ $JSB67@<@9,.' E$SCLEA9}R ARRAYdK!@8 BiK67<,.6-%@$nK 3 B6-@ $ N6F:A,"A6()(9} EOF FOUND,(6 B *NQC(ERROR F:A, AT LINE F:A,%F:A,$AVN@Q&D:XREF9} EOF FOUND,(6 B *NQC(ERROR F:A, AT LINE F:A,%F:A,$AVN@Q&D:XREF831000 TRAP 3104631002 REM 31004 REM BASIC TRACE UTILITY31006 REM ALAN FILITSKI 198231008 REM 31010 REM FIND START OF STM=}NT TABLE31012 DBGST=PEEK(136)+256*PEEK(137)31014 REM SET ERR IN EACH STMNT31016 GOSUB 3115231018 ? " ":? "BASIC TRACE UTI=}LITY":? " "31020 ? "ENTER LINE NUMBER AT WHICH"31022 ? "EXECUTION IS TO START"31024 ? "(FIRST LINE IN PROG IS ";PEEK(DBGST=})+256*PEEK(DBGST+1);")"31026 INPUT DBGSTART31028 REM CLR ARRAYS IF STARTING AT FIRST STATEMENT31030 IF DBGSTART<>PEEK(DBGS=}T)+256*PEEK(DBGST+1) THEN 3103831032 CLR :DBGST=PEEK(136)+256*PEEK(137)31034 REM RESTORE DBGSTART31036 DBGSTART=PEEK(DBGST=})+256*PEEK(DBGST+1)31038 ? "HOW MANY LINES TO TRACE":INPUT DBGTC31040 IF DBGTC<=0 THEN 3106431042 GOTO DBGSTART31044 REM =}TRAP HERE AT EACH ERROR ENCOUNTERED31046 DBGST=PEEK(136)+256*PEEK(137)31048 IF PEEK(195)=17 THEN 3105431050 REM UNEXPECTED=} ERROR TYPE31052 ? "ERR TYPE ";PEEK(195);" AT LINE ";PEEK(186)+256*PEEK(187):GOTO 3106431054 IF DBGTC>0 THEN 3107231056 ? =}"HOW MANY MORE ";31058 INPUT DBGTC31060 IF DBGTC>0 THEN 3107231062 REM TIME TO QUIT. REMOVE ERRS31064 GOSUB 3121231066 ?=} "TRACE ABORTED"31068 STOP 31070 REM REINTRODUCE ERR INTO CLEARED "FOR" OR "GOSUB"31072 IF DBGSAV1=0 THEN 3108631074 DBGS=}AV1=DBGSAV1+DBGST:IF PEEK(DBGSAV1+4)=55 THEN 3108631076 DBGEOL=DBGSAV1+PEEK(DBGSAV1+2)-131078 DBGCOM=DBGSAV1+431080 POKE D=}BGEOL,PEEK(DBGEOL)+PEEK(DBGCOM)31082 POKE DBGCOM,5531084 REM REINTRODUCE ERR INTO LAST STATEMENT EXECUTED31086 DBGSAV2=DBG=}SAV2+DBGST:IF PEEK(DBGSAV2+4)=55 THEN 3109831088 DBGEOL=DBGSAV2+PEEK(DBGSAV2+2)-131090 DBGCOM=DBGSAV2+431092 POKE DBGEOL,P=}EEK(DBGEOL)+PEEK(DBGCOM)31094 POKE DBGCOM,5531096 REM CLEAR ERR FROM "FOR" OR "GOSUB" ON TOP OF RUNSTK31098 DBGSAV1=03110=}0 IF PEEK(142)=PEEK(144) AND PEEK(143)=PEEK(145) THEN 3111431102 DBGTOP=PEEK(144)+256*PEEK(145)31104 DBGLN1=PEEK(DBGTOP-3)=}31106 DBGLN2=PEEK(DBGTOP-2)31108 GOSUB 3117631110 DBGSAV1=DBGPTR-DBGST31112 REM FIND STATEMENT WHICH TRIGGERED TRAP AND CL=}EAR ERR31114 DBGLN1=PEEK(186)31116 DBGLN2=PEEK(187)31118 GOSUB 3117631120 DBGSAV2=DBGPTR-DBGST31122 REM ****************=}***********31124 REM INSERT USER PRINT STATEMENTS HERE31126 REM ***************************31128 REM LIST TRAPPED STMNT31=}130 LIST PEEK(DBGPTR)+256*PEEK(DBGPTR+1)31132 TRAP 40000:TRAP 3104631134 DBGTC=DBGTC-131136 REM IF STMNT IS END OR STOP, C=}LEAR ALL STATEMENTS31138 IF PEEK(DBGPTR+4)=21 OR PEEK(DBGPTR+4)=38 THEN GOSUB 3121231140 REM EXECUTE STATEMENT31142 GOTO P=}EEK(DBGPTR)+PEEK(DBGPTR+1)*25631144 REM 31146 REM SUB TO SET ERRS31148 REM SET COMMAND TOKEN IN ALL USER STATEMENTS (EXCEP=}T DATA STATEMENTS) TO 55 (=ERROR)31150 REM SAVE ORIGINAL USER COMMAND BY ADDING TO END-OF-LINE BYTE31152 DBGPTR=DBGST31154=} IF PEEK(DBGPTR+4)=55 OR PEEK(DBGPTR+4)=1 THEN 3116431156 DBGEOL=DBGPTR+PEEK(DBGPTR+2)-131158 DBGCOM=DBGPTR+431160 POKE DB=}GEOL,PEEK(DBGEOL)+PEEK(DBGCOM)31162 POKE DBGCOM,5531164 DBGPTR=DBGPTR+PEEK(DBGPTR+2)31166 IF PEEK(DBGPTR)+256*PEEK(DBGPTR+=}1)<31000 THEN 3115431168 RETURN 31170 REM 31172 REM SUBROUTINE TO FIND STMNT AND REMOVE ERR. 2-BYTE LINE NO. EXPECTED IN D=}BGLN1 AND DBGLN2.31174 REM PTR TO LINE IS RETURNED IN DBGPTR.31176 DBGPTR=DBGST31178 IF DBGLN1=PEEK(DBGPTR) AND DBGLN2=PEE>}K(DBGPTR+1) THEN 3118631180 DBGPTR=DBGPTR+PEEK(DBGPTR+2)31182 GOTO 3117831184 REM REMOVE ERR31186 IF PEEK(DBGPTR+4)<>55 T>}HEN RETURN 31188 DBGEOL=DBGPTR+PEEK(DBGPTR+2)-131190 DBGCOM=DBGPTR+431192 IF PEEK(DBGEOL)>100 THEN 3120031194 POKE DBGCOM>},PEEK(DBGEOL)-2231196 POKE DBGEOL,2231198 RETURN 31200 POKE DBGCOM,PEEK(DBGEOL)-15531202 POKE DBGEOL,15531204 RETURN 31>}206 REM 31208 REM SUBROUTINE TO CLEAR ALL ERRORS31210 REM 31212 DBGSAVE=DBGPTR:DBGPTR=DBGST31214 IF PEEK(DBGPTR+4)<>55 TH>}EN 3122831216 DBGEOL=DBGPTR+PEEK(DBGPTR+2)-1:DBGCOM=DBGPTR+431218 IF PEEK(DBGEOL)>100 THEN 3122631220 REM NON-REM LINE HAS>} 22 FOR EOL31222 POKE DBGCOM,PEEK(DBGEOL)-22:POKE DBGEOL,22:GOTO 3122831224 REM REM LINE HAS 155 FOR EOL31226 POKE DBGCOM,>}PEEK(DBGEOL)-155:POKE DBGEOL,15531228 DBGPTR=DBGPTR+PEEK(DBGPTR+2)31230 IF PEEK(DBGPTR)+256*PEEK(DBGPTR+1)<31000 THEN 31214>}31232 DBGPTR=DBGSAVE31234 RETURN 32000 REM Type Your Program Once -- "TYPO"32100 CLR :DIM Q$(20):QF=7:CLOSE #QF:? "File f>}or output ";32110 INPUT Q$:OPEN #QF,12,0,Q$:QREM=032130 QCNT=1:FOR QADDR=PEEK(130)+256*PEEK(131) TO PEEK(132)+256*PEEK(133)> }-132140 QSUM=QSUM+PEEK(QADDR)*QCNT:QCNT=QCNT+1:NEXT QADDR32150 ? #QF;"Variable checksum = ";QSUM:? #QF32160 QADDR=PEEK(136> })+256*PEEK(137):? #QF;" Line num range Code Length"32170 QLINE=PEEK(QADDR)+256*PEEK(QADDR+1)32180 IF QLINE>=32000 THE> }N END 32190 QLEN=0:QSUM=QLEN:QCNT=QLEN:? #QF;" ";QLINE,"- ";32200 IF NOT (QCNT<12 AND QLEN<500 AND QLINE<32000) THEN 322> }7032220 QLEN=QLEN+PEEK(QADDR+2):QCNT=QCNT+132230 IF PEEK(QADDR+4)=0 AND QREM THEN QADDR=QADDR+PEEK(QADDR+2):GOTO 322603224> }0 FOR QADDR=QADDR TO QADDR+PEEK(QADDR+2)-132250 QSUM=QSUM+PEEK(QADDR):NEXT QADDR32260 Q$=STR$(QLINE):QLINE=PEEK(QADDR)+256*>}PEEK(QADDR+1):GOTO 3220032270 QSUM=QSUM-676*INT(QSUM/676):QCNT=INT(QSUM/26)32280 ? #QF;Q$,CHR$(65+QCNT);CHR$(65+QSUM-26*QCN>}T);" ";QLEN32290 GOTO 321804 REM BASIC TRACE UTILITY31006 REM ALAN FILITSKI 198231008 REM 31010 REM FIND START OF STM<  HASMV B} ŠȠŠ MEMORY DUMP/DISSEMBLER#BY ROBERT W. BAKER(#B}#15 WINDSOR DR. ATCO,NJ. 080042V1.0 1/4/81F +AR@P60 >:A%, ͠Š͠ϠҠ٠Ġՠ͠B}Р 3(6(Z INITIALIZING.....d11;@,;@,;@,;A6,n6.0123456789ABCDEFx6. B}""@@K-@A1@"77@<@,4*767@<@,.*B}?*) 6-B:, @)67%@,.67<%@,. 93 >:A%, M E M O R Y D U M P 6(9B}()& ENTER DECIMAL STARTING ADDRESS) )& OR HEX ADDRESS PRECEDED BY '$') AR4AB}$$7@<@,4$A -@B:,##7<,20)7<,39A- #6-P:A:,'@,$@B}- A@&6-&B:, @A-@B:,7<,20A27<,/9(6-$@%B}A:7<,,2 A ##7<,2A)7<,3FA##6-$@%@:7<,,&@U $($(WANT DISSASSEMBLY B} Y/N ?0)@6-0"@xAE#6-@#@A@ (>:,$($(WANT PRINTED CB}OPY Y/N ?@6-)@8"@x.@@E8 A@B}AU.6-@.@@P"'" >:A%,' A';0(>:A%,PRESS ANY KEY B}TO STOP PRINTER; @,(@ LOC-DEC/HEX .?"5(@ ? A1))B}(@ 6(@@AdAUJ#"#-@@ T!BU56B}-&BU6^ 6.=:,6-B:,h**(@7@<@&, r 6- A P|(@: "B }A 6-F:, A(@ <6-%@)6-+@$,%@<6.7<%@,N7@B!}<@,40D @ 7@<@,N A0 6-F:, A!(@ !6-%@$$B"}7@<@,42A--(@ 7@<@, $$7@<@,0RAp!A'B#}6-&AV 6-% A  AA7@<@,4#-(@#$7 AA A,7@B$}<@,4),(@((@$ A$$7@<@,4 A87@<@,4Y)B%}.(@),Y8 A0/%(@,7@<@,/ A0* 6-6-F:, A*6-%@++(@B&} 7@<@, 6-%+AV$,O7@<@,4),(@(6 A E(@)OB'} A0  A $$7@<@,4 A/%(@,7@<@,/ A0N(@ A0B(}X -@@ 6-F:,b A(@ l 6-%@  (@v"  AB)} F:Ad,"AUA@)@AR@(,,(#ONTINUE, ESTART, OR TOP C/R/S ?$)@B*}$"@gA"@A@A .AR @+@.(B+}@$6-P:'AV, A6-&+$AV,&6-P:'@,&6-&+$@,==(@7%@B,}<%@,7%@<%@,$(#''0BRK,1ORAX),0*,0*,0*,1ORA,1ASL,0*2#((0PHP,1ORA#,0ASL,0*,0*,2ORA,2ASL,0*>>20 REM <<< BY DAVIDF9} P. ALLEN >>>30 REM 40 REM 50 REM 60 REM 70 REM 80 REM THIS PROGRAM DEMONSTRATES90 REM THE PRINTOUT OF ERROR100 REM SF:}TATEMENTS. THE FOLLOWING110 REM LINES ARE DESIGNED TO PRO-120 REM DUCE ERRORS. AFTER EACH130 REM ERROR. TYPE 'GOTO' PLUS TF;}HE140 REM THE LINE NUMBER WHERE THE150 REM ERROR OCCURED +10. I.E.,160 REM IF THE ERROR MESSAGE SAYS170 REM THE ERROR OCCF<}URED AT LINE180 REM 220, THEY TYPE 'GOTO 230' TO190 REM CONTINUE THE DEMONSTRATION195 REM 197 REM 200 GOTO 1000210 NEXTF=} X220 READ Y230 SAVE "D2:TEST"240 PRINT #1,A$250 PRINT "]":POSITION 8,22260 PRINT "***ĠƠ ***"270 ENDF>} 326 LIST 3266032490 REM <<< ERROR TRAPPING >>>32491 REM <<< SUBROUTINE >>>32493 REM 32494 REM 32495 REM INSERT 'DIM F?}SNAP$(50):32496 REM TRAP 32500' AT AN32497 REM EARLY LINE NUMBER.32498 REM 32499 REM 32500 SNAP=PEEK(195):LNM=256*PEEK(1F@}87)+PEEK(186):GOSUB SNAP+32500:PRINT "*** ";SNAP$:PRINT "AT LINE ";LNM;"*"32501 TRAP 32500:PRINT " ":END 32502 SNAP$="INSFA}UFFICENT MEMORY":RETURN 32503 SNAP$="VALUE ERROR":RETURN 32504 SNAP$="TOO MANY VARIABLES":RETURN 32505 SNAP$="STRING LENGTFB}H ERROR":RETURN 32506 SNAP$="OUT OF DATA":RETURN 32507 SNAP$="ERROR > 32767":RETURN 32508 SNAP$="INPUT STATEMENT ERROR":REFC}TURN 32509 SNAP$="DIM ERROR":RETURN 32510 SNAP$="ARGUMENT STACK OVERFLOW":RETURN 32511 SNAP$="FP OVER/UNDERFLO ERROR":RETUFD}RN 32512 SNAP$="LINE NOT FOUND":RETURN 32513 SNAP$="NEXT WITHOUT FOR":RETURN 32514 SNAP$="LINE TO LONG":RETURN 32515 SNAPFE}$="GOSUB/FOR LINE DELETED":RETURN 32516 SNAP$="RETURN WITHOUT GOSUB":RETURN 32517 SNAP$="GARBAGE":RETURN 32518 SNAP$="INVAFF}LID STRING CHARACTER":RETURN 32519 SNAP$="CAN'T LOAD-TOO LONG":RETURN 32520 SNAP$="DEVICE # >7 OR =0":RETURN 32521 SNAP$="FG}NON-LOAD FILE":RETURN 32628 SNAP$="BREAK KEY ABORT":RETURN 32629 SNAP$="IOCB ALREADY OPEN":RETURN 32630 SNAP$="NON-EXISTENFH}T DEVICE":RETURN 32631 SNAP$="IOCB WRITE ONLY":RETURN 32632 SNAP$="INVALID COMMAND":RETURN 32633 SNAP$="DEVICE/ FILE NOT OFI}PEN":RETURN 32634 SNAP$="ILLEGAL IOCB #":RETURN 32635 SNAP$="IOCB READ ONLY":RETURN 32636 SNAP$="END OF FILE":RETURN 3263FJ}7 SNAP$="RECORD > 256 CHARACTERS":RETURN 32638 SNAP$="DEVICE DOSEN'T RESPOND":RETURN 32639 SNAP$="GARBAGE AT SERIAL PORT":RFK}ETURN 32640 SNAP$="SERIAL BUS INPUT FRAMING ERROR":RETURN 32641 SNAP$="CURSOR OUT OF RANGE":RETURN 32642 SNAP$="SERIAL BUSFL} DATA FRAME OVERRUN":RETURN 32643 SNAP$="SERIAL BUS DATA CHECKSUM ERROR":RETURN 32644 SNAP$="WRITE PROTECTED":RETURN 32645FM} SNAP$="DISK/SCREEN MODE HANDLER ERROR":RETURN 32646 SNAP$="FUNCTION NOT IMPLEMENTED":RETURN 32647 SNAP$="GRAPHICS MODE NEEFN}DS MORE MEMORY":RETURN 32660 SNAP$="DRIVE NUMBER ERROR":RETURN 32661 SNAP$="DISK FULL":RETURN 32662 SNAP$="DISK FULL":RETUFO}RN 32663 SNAP$="UNRECOVERABLE SYSTEM DATA- I/O ERROR":RETURN 32664 SNAP$="FILE NUMBER MISMATCH":RETURN 32665 SNAP$="FILENAFP}ME ERROR":RETURN 32666 SNAP$="POINT DATA LENGTH ERROR":RETURN 32667 SNAP$="FILE LOCKED":RETURN 32668 SNAP$="INVALID COMMANFQ}D":RETURN 32669 SNAP$="DIRECTORY FULL":RETURN 32670 SNAP$="FILE NOT FOUND":RETURN 32671 SNAP$="POINT INVALID":RETURN AVIDDy32490 REM <<< ERROR TRAPPING >>>32491 REM <<< SUBROUTINE >>>32493 REM 32494 REM 32495 REM INSERT 'DIM SNAP$(50):32496 JS}REM TRAP 32500' AT AN32497 REM EARLY LINE NUMBER. eg. 132498 REM 32499 REM 32500 SNAP=PEEK(195):LNM=256*PEEK(187)+PEEK(18JT}6):GOSUB SNAP+32500:PRINT "*** ";SNAP$:PRINT "AT LINE ";LNM;"*"32501 TRAP 32500:PRINT " ":END 32502 SNAP$="INSUFFICENT MEJU}MORY":RETURN 32503 SNAP$="VALUE ERROR":RETURN 32504 SNAP$="TOO MANY VARIABLES":RETURN 32505 SNAP$="STRING LENGTH ERROR":REJV}TURN 32506 SNAP$="OUT OF DATA":RETURN 32507 SNAP$="ERROR > 32767":RETURN 32508 SNAP$="INPUT STATEMENT ERROR":RETURN 32509JW} SNAP$="DIM ERROR":RETURN 32510 SNAP$="ARGUMENT STACK OVERFLOW":RETURN 32511 SNAP$="FP OVER/UNDERFLO ERROR":RETURN 32512 SJX}NAP$="LINE NOT FOUND":RETURN 32513 SNAP$="NEXT WITHOUT FOR":RETURN 32514 SNAP$="LINE TO LONG":RETURN 32515 SNAP$="GOSUB/FOJY}R LINE DELETED":RETURN 32516 SNAP$="RETURN WITHOUT GOSUB":RETURN 32517 SNAP$="GARBAGE":RETURN 32518 SNAP$="INVALID STRING JZ}CHARACTER":RETURN 32519 SNAP$="CAN'T LOAD-TOO LONG":RETURN 32520 SNAP$="DEVICE # >7 OR =0":RETURN 32521 SNAP$="NON-LOAD FIJ[}LE":RETURN 32628 SNAP$="BREAK KEY ABORT":RETURN 32629 SNAP$="IOCB ALREADY OPEN":RETURN 32630 SNAP$="NON-EXISTENT DEVICE":RJ\}ETURN 32631 SNAP$="IOCB WRITE ONLY":RETURN 32632 SNAP$="INVALID COMMAND":RETURN 32633 SNAP$="DEVICE/ FILE NOT OPEN":RETURNJ]} 32634 SNAP$="ILLEGAL IOCB #":RETURN 32635 SNAP$="IOCB READ ONLY":RETURN 32636 SNAP$="END OF FILE":RETURN 32637 SNAP$="REJ^}CORD > 256 CHARACTERS":RETURN 32638 SNAP$="DEVICE DOSEN'T RESPOND":RETURN 32639 SNAP$="GARBAGE AT SERIAL PORT":RETURN 3264J_}0 SNAP$="SERIAL BUS INPUT FRAMING ERROR":RETURN 32641 SNAP$="CURSOR OUT OF RANGE":RETURN 32642 SNAP$="SERIAL BUS DATA FRAMEJ`} OVERRUN":RETURN 32643 SNAP$="SERIAL BUS DATA CHECKSUM ERROR":RETURN 32644 SNAP$="WRITE PROTECTED":RETURN 32645 SNAP$="DISJa}K/SCREEN MODE HANDLER ERROR":RETURN 32646 SNAP$="FUNCTION NOT IMPLEMENTED":RETURN 32647 SNAP$="GRAPHICS MODE NEEDS MORE MEMJb}ORY":RETURN 32660 SNAP$="DRIVE NUMBER ERROR":RETURN 32661 SNAP$="DISK FULL":RETURN 32662 SNAP$="DISK FULL":RETURN 32663 SJc}NAP$="UNRECOVERABLE SYSTEM DATA- I/O ERROR":RETURN 32664 SNAP$="FILE NUMBER MISMATCH":RETURN 32665 SNAP$="FILENAME ERROR":RJd}ETURN 32666 SNAP$="POINT DATA LENGTH ERROR":RETURN 32667 SNAP$="FILE LOCKED":RETURN 32668 SNAP$="INVALID COMMAND":RETURN Je}32669 SNAP$="DIRECTORY FULL":RETURN 32670 SNAP$="FILE NOT FOUND":RETURN 32671 SNAP$="POINT INVALID":RETURN AP$(50):32496 Hn= 33LEFNPNMLOGO1LOGO2CLOCKRPGCBGRMENWAIENTDELAQUERESRESANYMDSCSEPGSKGEHXONHCCCCNg}CCCCCCC1C1C1C1C1CRLRPTSLPNUADFSMSEEROCUCHANh}@ @ Ni} !"#Nj}$%&'()*+,-./0123Nk}456789:;<=>?@ABCNl}DEFGHIJKLMNŠҠNm}ϠŠ""*** MESSAGE DISPLAY ****""*** PROGRAM REV. 2.1 ****hh;@ ,;@",;@,Nn};@,;A,;@ ,;@ ,;@%,9@,_;@,9@,'6-AH36-Ad?6-@hNo}_6.hhh`* \*`o6-AQ6-ASP'6-AS 36-@?6-@K6-AQpW6-ARcNp}6-ARo6-ASo6-AT6-Ac'6-ARP36-Ag`?6-AUK6-@ W6-ARc6-@o6Nq}-A6-6-@'6-@36-@?6-@K6-@W6-@c6-@o6-@{6-Nr}@ 6-@6-@6-@6-@6-@QK:+@-AAh?A@0Ns}QA @v5 - (MESSAGE DISPLAY&-5(PROGRAM --@((C)1982(-@Nt}((BY DENNIS HARKINS-AP J 6-!6. % J( WRITE PAGES CHANGE MESSAGENu}P()( LOAD PAGES CHANGE COLORS,(P( DISPLAY PAGES CHANGE LOGOj(+( PREVIEW PAGES DELETE PAGES.(Nv}P( SAVE PAGES EXIT PROGRAMj(OPTION NUMBER?.A)(>:," .6-A:>:,,OOAfANw}AqApAvAAxAuAt(E 6- 6. $ E(BEFORE YOU EXIT THE PROGNx}RAM,)V(,(!REMEMBER THAT YOU MUST ŠV(!IF YOU WANT TO DISPLAY THEM AGAIN*2$(WOULD YOU LIKE TO EXITNy}( ."2 ,21(}Nz}WOULD YOU LIKE TO MAKE CHANGES5 ;">$K= #& A A56. CHANGES ENTERED9 = P'(?(Y/NN{})6-@'6-@xU0A)(>:,)"@','0 Z+"%@2)"%@2+6-&@2d N|}* n$0-@#0(TO EXIT OPTION - HIT RETURN -( PAGE NUMBER 4 ' 2 ASN}}6-A:, 2 )!@PAS 6-$&#$ -( AR`]I(:PAGE LIMIT IS 50! N~} HIT ANY KEY FOR MENUV)@Y'] ((CONT -AB&AB$% (}A N}!-%(-AP $(((( PAGE NUMBER '='( HIT ANY KEY TO CONTINUE.)N}:@'=$ ' #"#6-$&" " +, " +6SA$%#A $%N}3A$%CA$%SA$%@2 @w-!"2B:, ATpJ.-@B:,!7"#-@ A" RJAdAU((( 8( >J@fN}@AspX6-?:C:,<@0,-A$@%BF:Ad,"@(TAdAUX z-6-?:C:,<@N}0,-A$@%.F:Ad,"@(*AdAU. "@wAs@@26-P:+F:@,$AVN}%F:@ ,,'@`,@Arp"AsE--F:Ad,"AU*T:,Arp"@ AVN} "@ AV Ar0& 6-"6. & U(U(J ǡϠԠŠŠΠN} ŠӠŠǠӠ# 6.ONE MOMENT,PLEASE# " AUP(1 "6-%(-%N}6-%)(- 1  "6-%(6-&$% "-6-%(! % .*$A(}(( (* At`N}8!6. PAGE DELETED  ! L( 6-$6. Ϡ( VQQ(ITHE LOGO PROVIDES 2 LINES THAT WILL APPEAN}R AT THE BOTTOM OF EVERY PAGE.`X( (X(JIF YOU WISH TO HAVE NO LOGO PRINTED, TYPE BLANK SPACES IN THE LOGO LINES.jG(N} (!(HIT 'ESC' FOR MENU.)(- 36-=#APG A0/ AUP/( 5001 DATA 7@<@ ,N (,( N}5002 DATA 7@!<@@,0 F6. LOGO CHANGED J N $ 6- 6. $ BB(:YOU MUST SAVE ANYN} MESSAGES BEFORE EXITING THE PROGRAM.Y/(!SAVE TO CASSETTE OR DISK?(C OR D);6-@gG6-@hK Y"AN}wG6. Š# G(PUT A BLANK TAPE IN THE PROGRAMR( RECORDER,()(THEN HIT RETURN.R(N}WHEN YOU HEAR TWO BEEPS, PRESS>(PLAY AND RECORD,(7(THEN HIT RETURN AGAIN.>)$ Av$C:@N}AP 6. PAGES LOADED   P  (!(SAVE NOT PERFORMED$(F(CHECK CONNECTIONS - TRY AGAINP Av0I6N}. ˠ' AW1 AwpE@API P 6. FILE SAVED  Z^6-F:A,>(}N} DISK LOAD NOT PERFORMED!A(^( ERROR NUMBER _-"(HIT ANY KEY FOR MENU))- x; 6-%6N}. Ҡ) - 1"; A`%#  ASp+%1 -#(ANOTHER COLOR CHANGE' -N}"1  6-& A` Ax @( 6-$6. Ġ( JV,(#LOAD FROM CASSETTE OR DISK?(C OR D)86N}-@gD6-@hH V"ATK6. Š# K(#PUT THE MESSAGE TAPE IN THE PROGRAM^T( RECN}ORDER,()(THEN HIT RETURN.T(!WHEN YOU HEAR A BEEP, PRESS PLAY,rS(!(THEN HIT RETURN AGAIN.L(!THEN TYPEN} 'RUN' TO START PROGRAM.S)| BC:Q6. ˠ' AWQ( TYPE 'RUN' WHEN YOU SEN}E 'READY'. B"@ 6-&6. Š* . 66-$@ A"7 A%6. CHANGES EN}NTERED) /#&3 7 "= -(ONE MOMENT,PLEASE5"=6-$"+ 6. 67A,. +67@N},." -" B:,"A`"$-B:,% 67B:,%,. $ #67+&,$%<$,. (#JS:-N}J((ƠŠӠӠŠŠ*#6 -6((ԠΠΠŠӠԠ,#L6-@&-5N}(CTRL >:@',>:@),;-L( ENDS ENTRIES-#@ -)(CTRL >:@',>:@(,/-@( BEGINS AGAIN.#, -N}( COMMAS ARE-,( PRINTED /#, -$(,-0#* -%&(| |* 1#N}' -%'(2#7 --%(6.7+&,$%<$,-(1 74#* --%(-->#-%N}*(7#H'6-+F:@,%F:@,$AV,4)@H"AUAP9#5"@)#-@%@+( 5N} A:#5"@(#-@%@+( 5 A<#!"A&*!!(>:A&,A#!"@0*!!(>:@0N},C#'"@1* @%'(>:@1,F#@%AP#SK @')!@1* A%)!A'* AV)!AN}Y* ARS(>:,U# AZ# -%(  %< -<((***** *****%7 -N}7((***** WAIT A MOMENT-READING SCREEN *****%: --%-")."@D:6-Ar%567<,.>:,N} *67+&,$%<$,.16.5 %  $H& 6-%"6-&N&=6. ONE MOMENT,PLEASE (-=6.7+&,$%N}<$,f& AUP( DATA p&#  6-%"#6-&z&   $&6+ -@6( ERROR NUMBER F:N}A,&@F:A,"@($ DATA INCORRECT - CAN'T DISPLAY PAGE D:MDPANYMDSCSEPGSKGEHXONHCCCCLVy +Bu@1B@CB@UB@gBR}@yB@ ( HeO @ D2:HELLO@CB@UB@gBPH