@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``&:8:CPYXLASNETHIDE@@@!@A`A%AdY +}AR@+6-@=@@O@@9Y Ai"@A`nAdAUs F:}Ad,AUA5x* -6-%@# @ *(}.!@( "!@.6- A}66-F:Ad,2"@)"A4)"@R6 "A8AP - Ae-@@}P:CA8Af'A9A836-@?6-@C TA8Ac'A9AF36-@?6 }-J@T AH-@@#H(>:AS,"ҠӠԠġD-@A } % B0@: AuD AL"!-@@#I("Խ̭кԽٺԽˠL$ }$*** FRAME1 ***(>:A%,00(%Š٠ˠӠ((00(%Certain of }the programs on this disk 00(%create additional files and it is 00(%recommended that all programs are i}) !"`3!3Q  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}}  &}  |||DDOS DOSDOS SYS }'}}'(}BHELPMENU B AUTORUN SYSCDOS SYS*6DUP SYSB `TITLE BqMENU BevASM B01BASMLDR )} B01 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: [ BDEHI0} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO 1}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -2}LLu DEHILV 9 .l 9 .l  `` s$B VBH3}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL4}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e5}1i1232435ޥ<<8} CE: vC y@y@`A# *` :105L; 0L>! * 0` * : ;` 1 *` 1 *` Disk Drive Sp 7}eed:XXX RPM~~~Drive # X PRESS:C > check drive speedL > list error sectorsP > print error sectorsW > write al 8}l zeroesto error sectorsM > return to main menui0k ^ 1 :ɛL 800 퍍L5 RETRY ERROR 3 TIME(S)؆莟 9}R'S  `=D;EHI 1 1! @ :ɛ8A0.) ȅ 1 1i :}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU!L; .{z:*{}.|~ 1 0 0 ;}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # O 0 n&|D! 1L NOT A DISK FILE <}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH =}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L >} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED007 FREE SECTORS COPYING---D1:FORT ?}UNE.RUN# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B @} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A# A}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL% B} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C> ` 0>>  D, q; ,`COPY SECTORS`RLS ; , ,>  , , R}ۢ>  ,?  , ,`= `=L :ɛ`hL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLt S}% A.= ` <0 0 .@L# .BJ 1  DEHIB V L1 = g <0,L.  T} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 = ` <0,0Lf- B V U},A#P= ` <0 0L#L ߢ) 1* 1 ~0YjC8C}mm ݭ V}}`8}``|* ? ɛ,`|:(|/ 1L `INVALID DESTINATI W}ON:DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξ X}hAΞB,0 J 1 BޝDEHI,HDE 1H$IHIDELSAVE- Y}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L Z}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥ [}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{ \}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1 ]} L ERROR- 165ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALID ^} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4C _} $;CC $;C $;CC 8C Z: *DCC ,=  , lɀL + }  * DFLASBh@@#@dS +@1AR@S6-F:A`,%AVa}$F:Aa,i{AY'AA9A KA@E]AAuoAAGb}{6-n;%@@p+-@@&/"7%; s116,6,6,7,6,6,6,6,6,6,6,2,2,2,2,2,2,2,2,112,2xEc}%@'@e.%@(F:A`,E%@)F:Aa,((( (( THE PAGE 6d} LIBRARY(********************( #7 - (********************A-@A('The PAGe}E 6 Library consists of programs..(& collected from Users and User Groups//(' in the U.S.A, Australia and Gt.Britainf}//(& and to the best of our knowledge all//(' programs are in the public domain.-@ @.(g}ԠҠAY@45B2y!AU5-@@P#F:B2y,"@#%D:MENUh} 6-@& A D:TITLE2.*@dS +@1AR@S6-F:A`,%AV100(%studied first and some files trans- 00(%ferred to other disks before use. 00(%This applies particulj}arly to the 00(%Assembler and Dupfast programs. The 00(%Menu will only load those programs 00(%whk}ich can be LOADed but will not RUN 00(%them. Other programs will need to be 00(%either ENTERed or loaded from Dl}OS  00(%option L. (00(%A description of each program follows00(%but m}some experimentation will be 00(%needed to get the best use from the "00(%programs on this disk. n} '(,(1(6?6-A 6-A'6-A36-@?6-@$; Au A@*** Fo}RAME2 ***E(>:A%,J(O(T00(% The DOS on this disk is a revisedY00(%and extended version andp} is a 'one- ^00(%touch' DOS which does not require c00(%RETURN to be pressed for most h00(%funct}l % AXLPB0NZ<( ((@!@d"( r} +AdAU0@@@70@@Q0@@@c@@s}u@@7{(}AR@++(#++(#| PAGE 6 - DISK #7 - UTILITIt}ES |++(#++(# @ -@Au} $ GG;@@,;@ ,;@@,;A,;@,;@@, "D1:MENU" &&@@}a"232TLNULMOCZPTANIFSYMTABSYMLOCTEMPMEMMEM1MEM2PLUSSYMCNNRTPTTFPPPWOSYw}MHNQQQIIFVARLSTVARLST x} @y} !"#$%&'()*z}+,-./0123456789{}oo 堵 庠ͮ°36-@|}6-'6-36-AB9AA'AA9A AS;@r,;@r,;A }},;@r,;A ,;@r,;@r,;A ,;@r,;A ,;@,;A,9A,<<;@~},;A,;A ,;@@,;@8, A`6-6- }$ A.66**NUM TO} STRING CONV. I=INPUT R=BASE A$=OUTPUT**B 6.L 6-V%"@6-@% A0`6-@j-}6@t'#@Ap~ 6-&@6-P:'#,&@A6-6}-&$# #@@-" 67B:,%@,.!A`$%%0,1,2,3,4,5,6,}7,8,9,A,B,C,D,E,F,,@@ D:ASMIN.TXT--@@ D:ASMTMP.TXT } 006.&}++++++++++++++++++++++++++++++++++++++(6-@2 6502 ASSEMBLER SOURCE7 <6-PS 6.6.6.}6.&6.S6.& Z6-%@d$$**SEPARATE TOKENS STORE LABELSn A5 }x@} B6-@@w!B:,A(7<,0:6-%@( A }'6-%@6.7,!6.'6.  B 6-4A6-@6.; AQ0}"AP"@6. A 6.7,6.7@<&@,$$7@<@,4 A}0 AI0" 6.,0.A06 6..@ ApJ 6.T A ^ AI0h 6.rB:, }@A|&&7@<@,4.WOAB0&&7@<@,4.TEAB0&&7@<@,4.BYAB}0&&7@<@,4.DBAB00AB:,A@6.7@<@, Ap} AI0 6.B:,A 6- A0 AR "@A 6- A``}&67B:,%@,.0 68,-6-%@D67@<@%B:,,.N67@4,.X @Y@@6.}6 b @l A`v$$7@<@,0.A! } 6.= AQ0!Ap MISSING 4 IN LINE  AB6-%@ AI0##7}@<@,0A ## MISSING ARGUMENT IN LINE  AB 6. AR @A p,, }"ILLEGAL FORWARD REFERENCE IN LINE   AB 6-  6-*0A04 A`> #AWH4}A"R-@@V\"f4A!p z!! UNKNOWN OPCODE IN LINE  AB 6-4}A"@ A``67B:,%@,. 68,-6-%@ AI 6.**67&B:,&@<&B:,&@},.! **FIND AD. MODE LOAD AD.**0A#6-@ A2p 0AA#@ 6-@ } A2p$ $$7@<@,0#A#. 6-@8 6-%@B 6.7@,L A)@V $$7@<}@,0BA%0` 4BITA%0j 6-@t 6.~ AR  @A$p 6-6A A0}@ 6-&&@ A% 6-AV% O:&,A'A0@ && BRANCH OUT OF RANGE IN LIN}E  AB 6.( 6-&B:, AQ0 6- 6., AQ0 6-( 6-2 (A&}< ((7%@<%@,0XA&PF 6-@P A&Z ((7%@<%@,4YA&d && BAD AD}DRESSING MODE IN LINE n ABx A(P AI0 6. ()(A'@ 6-@ A'} (A'p 6-@ A' 6-@  6. AR  6- @A(  6-6A} O:,AUA0@ 6-%@ A0@" AI0, 6.7@,6 ()(A)@ 6-@}J A)@T (A)0^ 6-@h A)@r 6-@| AR  6- --+@*@,)}AUA) 00 &VALUE TOO LARGE FOR ZERO PAGE IN LINE  AB @A0@ 6-6A "@}A0@ 6-6A **PR. OPCODE & AD.** A1@ 67@<@,.** 6-%@} @A0 67@<@,.R 6-%AV A2p& 67@<@,.**0 6}-%@: A2pD 6-@N 6-X Apb 6.l 6.000v 67@,. 99+@*@},)+@*@,A2P 5567@<@,.7B:,&@ 6-H A}0@R **  ILLEGAL ADDRESSING MODE IN LINE \ ABf 67@<@,.p 67@<@,.:z 6-%}@ 67@<@%B:,,. 67@8,.  @  @ @@6.6 }  A` ** BEGIN SECOND PASS *** @@ 6- 6-} **@@ D:ASM.OBJ --@@ D:ASMTMP.TXT + +  ***** 6502 ASSEMBLY LIST ***}****   && LOC. OBJECT LABEL SOURCE -- %------------------------------------- A@`6-@}@@@w$ B.6-%@8B:, @A9@B 6.!L AQ}0V!!")"@A7` 6-j67<,. tB:, @A9@y$$7@<@,0*A9@}~ AI0 6.$$7@<@,0(A7P6.7@, AR @A711 'IRRESO}LVABLE FW REF/ BAD LABEL IN LINE  AB 6-$$7@<@,0RA8@6-&&@}A8@6-%AV6-@  Ap 6. 6.000(67@,.2%%7@<@,0**}A90<5567@<@,.7B:,&@w AB |**MEMOR}Y LOADS **6-@%%7@<@,0TEAC@AC AI6-&B:,6.7<},6-%@@rAC@ BAD DELIMITER IN LINE  AB67@,.'67@<@},.7<,""7@<@,4A` AD AI0& 6.06-%@:B:,"A`}D 6.N AR X@ADpb11 'BAD LABEL IN MEMORY ASSIGNMENT OF LINE l ABv6-@} 6- Ap 6. 6.00067@,.$$7@<@,0WAE5567@<@,.7B:},&@67B:,%@,.H6-%@R 6-\6-@f App 6.000z67@,.((67}@<@,.7B:,&@,67@<@,.:@AH@B:,"AH A``}67B:,%@,. 68,-6-%@67@<@%B:,,.0B:, @8&67B:,%@,.0 AH0}67@8,. AHP6- @@@6.6 }  @ 6- ABP$** ISOLATE TOKENS **.""**P=LOC. P$=OUT END AT " "**86-@B}**ENDS AT .L!B:,AIV-B:,`7<,0 AIj t 6.~B:,AP-B:,}7<,4 AP"@AP`7<,4,AP7<,4)AP7<,4=AP6}7B:,%@,.7<,  6-B:,AQ6-%@6-$ ** FIND SYMBOLS *}** **P1=LOC P1=0 IF NOT FOUND-B:,(''7<,47@<@,AR2 <6-F$P 6-}Z$d$$**SIMPLIFIES NUMERIC STRINGS**x6-6-(B:,"6.%6-($ 6.}-@B:,7<,4+AS@7<,4-AS@7<,4)AWP67B:,%@,.7<, }0.ASp 6- AV0$$7@<@,3ZAU$$7@<@,2AAU-}&@..6.7$@%@<$@%@, 6-B:,!@6-@"6.7@<,,}4ATP6 @ ATJ 6-8,T6-@^ AV0h6-@r$|$$7@<@,0'AU@}6.7@, 6-@:, AV06-@$$7@<@,0%AU6-@ AV}$$7@<@,0$AV6-@6.7@, AX 6-"@AV` 6-%} AVp 6-&&B:,AWP0 6.+-:-@B:,D7<,47<,AW@N X## ILLEGAL} OPERATOR IN LINE b ABl 6.q AS0v6-$!!**STRING TO NUMBER CONV ***:B=BASE A}$=INPUT F=OUTPUT6-6--B:,@6@ #@@-&@"}47<,AY    BAD NUMBER IN LINE  AB 6-%$#*&&6-+P:$@%?P,'@,46}-%@> H$f))ADC,AND,ASL,BCC,BCS,BEQ,BIT,BMI,BNEp11BPL,BRK,BVC,BVS,CLC,CLD,CLI,CLV,CMP,CPX,CPYz11DEC,D}EX,DEY,EOR,INC,INX,INY,JMP,JSR,LDA,LDX11LDY,LSR,NOP,ORA,PHA,PHP,PLA,PLP,ROL,ROR,RTI11RTS,SBC,SEC,SED,SEI,STA,STX,STY,}TAX,TAY,TSXTXA,TXS,TYA6. 67@$~ +~55-F:A(,%AV$F:A),%AVB~ 6-F}:,~"&~7!@6-&A(% >:,3 >:AU,7 ~ >:,  D:ASM.B01FPPPWOSYm'HXoo 堵} 庠Ү° +d;@,)% ENTER LOAD ADDRESS IN DECIMAL)"4==}AA ?%6-@:7@<@,,&@H1!@ ?6-&@?%6-@:7@<@,,&@H1!@ }?6-&@+$@%!6-%@+ A@ '== D:ASMLDR.B01 堵_D:*.* 6,6." 6 @0i6-%@(6.7@<@,A67@ <@ ,.}.i67@<@,.7@<@,3 6.|67B:,%@,.367B:,%@,.G67@<@,.(--}@B:,:7<,4 G67<,..] 6.=:, @D67@<@,.7@<@,]67@<@},.0$@(''7@<@,4FREE@- @ 2() <@F''7@}<@,4FREE@K @ P(7@<@,)|U @0W'!-@6+'@,%@' |Z+}+(#| |[ ( |  |\++(#]%%( } SELECT HELP FILE FIRSTxAR[@@9'-@@"C( SELECTIONM A0}Q[ BP:,A00"@&6.7@<@,0 AELB6.7+&@,$@%@<+&@},$@%@,L B37@<@,4 36.7@<@,!7@<@,4DOS!.0 6.}-@B:,07<,4 AH67B:,%@,.7<,   6.! 6.D1:!67B:,%@,.?AR}@'-@@"? } LOADING 4D1:HELP.%? A@@91@@5}? BE-@@".  CANNOT LOAD 8 @B BE% D:MENU7.V2 c"6INSLINENUMBEoo 堵 } 庠Ԯ° @6-@44@6@ D:ASMIN.TXT } }!!   ;A , 9AA'AA9A AS,,@@ } D:ASMIN.TXT"B:, @@@#&&7@<@,4END@p( @ REM :2 }6-%@< @0F@P%D:ASM2 D:ASMEDT.B01 堵 P 696575 6D7D796171 292535 2D3D392131 0A 0616 0E1E 90 $} B0 F0 24 2C 30 D0 $} 10 00 50 70 18 $} D8 58 B8 C9C5D5 CDDDD9C1D1 E0E4 EC$} C0C4 CC C6D6 CEDE CA 88 $}494555 4D5D594151 E6F6 EEFE E8 C8 4C $} 6C 20 A9A5B5 ADBDB9A1B1 A2A6 B6AE A0A4B4 ACBC 4A 4656 $} 4E5E EA 090515 0D1D190111 48 08 6$}8 28 2A 2636 2E3E 6A 6676 6E7E 40 $} 60 E9E5F5 EDFDF9E1F1 38 F8 78 $} 8595 8D9D998191 86 968E 8494 8C AA $} A8 BA 8A 9A $nions. The menu is self explan- m00(%atory and the commands take some r00(%getting used to but it is very fas}t w00(%and easy to use. It is suggested that|00(%you experiment with a duplicate disk 00(%to get used to }using this DOS. (00(% Files ASM.BAS, ASMLDR.LD, 00(%ASMEDIT.BAS, ASM.TAB and ASMIN.TXT } 00(%are all part of the Assembler. (00(%The Assembler is written in Basic and00(%is disk o}riented. Since it is written00(%in Basic, it is not very fast but it 00(%does support symbols and labels. ... }((?6-AU6-A'6-A036-@ ?6-@8 Au A*** FRAME3 ***}(>:A%,((00(%There are three parts to the 00(%Assembler: }(00(% 1) ASMEDT - to initially enter your 00(% assembler source program. (00(% 2}) ASM - this is the Assembler 00(% itself. (00(% 3) ASMLDR - to load th}e machine  00(% language program into memory. (00(% When you run this program you00(}%will be prompted for the actual !00(%source statements. A disk file named &00(%ASMIN.TXT is created from} the source +00(%statements. The format is the same as000(%a BASIC program and is LISTed to 500(%disk. }The statements have line... :(?(D?6-A6-A%'6-Ae36-@ ?6-@8I Au } AN*** FRAME4 ***S(>:A%,X(]00(%numbers and are REMs followed by the b00(%assembler sou }rce. When you are g00(%finished entering your program, type l00(%END starting in the first column. q00 }(%This will close the disk file. If youv00(%want to make any corrections, {00(%additions etc., type in } NEW followed 00(%by ENTER D:ASMIN.TXT (with usual 00(%quote marks). Use normal BASIC 00(%edit }ing procedures to make your 00(%changes. When you are satisfied with 00(%it, LIST it back out to the disk } 00(%under the same filename of ASMIN.TXT.(00(% The assembler will read in the 00(%source} file created by ASMEDIT and 00(%create a disk file named ASM.OBJ. 00(%This file contains DATA statements }in00(%BASIC format with values for the 00(%object code generated by the 00(%assembler. } (?6-A%6-A`'6-A36-@!?6-@ Au A*** }FRAME5 ***(>:A%,(00(% This program reads in the ASM.00(%OBJ file created by the ASM pro}gram 00(%and stores the object code in memory 00(%at the address you specify at the 00(%prompt. LOAD} (do not RUN) this 00(%program. After it has loaded you must00(%type ENTER 'D:ASM.OBJ' and then type 0}0(%RUN.  (00(% --------------- (00(%}ʮ This is a Basic program  00(%to load Object files which are %00(%normally loaded from DOS option L. } *00(%See AUTOMUM.OBJ. /(400(%Ԯ This is a machine 900(%language} program to test your Atari's>00(%RAM memory. Each byte of memory from C00(%$3400 through the value in MEMTOP is }H00(%tested with every possible bit... M(R?6-A`6-A'6-A536-@!?6-@5W }Au A\*** FRAME6 ***a(>:A%,f(k(p00(%pattern. The memory is tested in u00(}%blocks of 256 bytes each. The first z00(%byte will initially contain $00 and 00(%the second byte $01 etc. }After 00(%storing the patterns for a block, 00(%they are read back in and verified. 00(%Next t}he first byte will contain $01 00(%and the second byte $02 etc. The 00(%256th byte will contain $00 on thi}s 00(%second pass. If an error is detected 00(%the internal speaker wil squack twice00(%and a message wi}ll be printed showing00(%the location of the error and the 00(%pattern being tested for. 00( }% All throughout the running of this 00(%program, messages will be displayed 00(%showing you the block bein!}g tested at00(%the time. When the program is all 00(%finished, the internal speaker will 00(%squack "}once and a count of the.... (?6-A 6-A0'6-Ap36-@!?6-@5 Au A#}*** FRAME7 ***(>:A%,((00(%errors will be displayed. The run 00(%time is approx$}. six seconds per block00(%(or 24 seconds per K). 00(% If you have a 48K machine you should 00(%}%remove the cartridge before booting 00(%the disk. If a cartridge is in place,00(%the last 8K of RAM will &}not be 00(%tested. The program should of course 00(%be loaded with DOS option L. $00(% The y}10 REM :LDA #1&~7!@6-&A(% >:,3 >:AU,7 ~ >:,  D:ASM.B01FPPPWOSY(h!"!"`3&3:A%, ;@ ,$$ ENTER FILESPEC -+}FOR OBJ FILE d A`n @@x)@)@)@)@-,}6-AV$%)@)@6-AV$%  LOADING FROM  TO  6-)@--} 6-%@  A A@@D:LOAD2. ,e2233iׅ٩֩ 3 @3TESTING d3 ~2׭FL2 @3ALL DONE3 )3H h 3 )3H h @3 ER1/}RORS FOUNDLs2L2>3L2>3`>3 3 2 2L2>3 3 2 2ե` )33 3 )32210} )322 @3ERROR AT PATTERN= 3i33i3`օԥׅ`HJJJJ 33h) 0:i`hQ3hR3Q3R3P3 LH3R3HQ11}3H` )333 )333 )333 )333 @3 - M`FL2 @3ALL DONE3 )3H h 3 )3H h @3 ER0E10 .OPT NOEJECT20 ; RAM MEMORY TEST PROGRAM30 ; FOR THE ATARI 400/800 COMPUTER40 ; ALL RIGHTS RESERVED50 ; BY NORM DRAPE53}R60 ; OF THE ATARI COMPUTER USERS GROUP OF DALLAS70 ;80 BELL = $FD90 EOL = $9B0100 ATTRACT = $4D0110 HIMEM = $2E50120 54}COUT = $F6A40130 *= $D40140 ADDRS .DBYTE 00150 START .DBYTE 00160 END .DBYTE 00170 *=$2E00180 .WORD BEGIN0190 *=$155}D000200 BEGIN0210 LDA #ENDPGM/2560220 CLC0230 ADC #10240 STA START+10250 STA END+10260 LDA #00270 STA START0256}80 LDA #$FF0290 STA END0300 MEMTEST0310 JSR INIADDRS0320 JSR PRINT0330 .BYTE "TESTING",00340 JSR PRTADDR0350 JS57}R TESTPGM0360 INC END+10370 INC START+10380 LDA HIMEM+10390 CMP END+10400 BEQ LASTPART0410 BCC ALLDONE0420 JMP 58}MEMTEST0430 ALLDONE0440 JSR PRINT0450 .BYTE BELL,"ALL DONE",EOL,00460 LDA ERRCTR+10470 JSR TBYT0480 PHA0490 TXA59}0500 JSR COUT0510 PLA0520 JSR COUT0530 LDA ERRCTR0540 JSR TBYT0550 PHA0560 TXA0570 JSR COUT0580 PLA0590 JS5:}R COUT0600 JSR PRINT0610 .BYTE " ERRORS FOUND",EOL,00620 FOREVER0630 JMP FOREVER0640 LASTPART0650 LDA HIMEM0660 S5;}TA END0670 JMP MEMTEST0680 ;0690 TESTPGM0700 LDY #$00 ; PATTERN REGISTER0710 LDX #$000720 STX TESTPATRN0730 JMP N5<}XPASS0740 ;0750 NXPATRN0760 INC TESTPATRN0770 BNE NXPASS0780 RTS0790 NXPASS0800 LDY TESTPATRN0810 JSR INIADDRS05=}820 LOOP1 TYA0830 STA (ADDRS,X) ; STORE PATTERN0840 CMP (ADDRS,X) ; CHECK0850 BEQ NOERR10860 JSR ERROR ;ADDRS, R(A),(5>}ADDRS,X)0870 NOERR1 JSR INCADDRSC0880 BEQ CKPATRN0890 INY0900 JMP LOOP10910 ;0920 CKPATRN LDY TESTPATRN0930 JSR IN5?}IADDRS ; INITIALIZE ADDRS0940 LOOP2 TYA0950 CMP (ADDRS,X)0960 BEQ NOERR20970 JSR ERROR ; ADDRS,R(A),(ADDRS,X)0980 NOE5@}RR2 INY0990 JSR INCADDRSC1000 BNE LOOP21010 BEQ NXPATRN1020 ;1030 ;1040 INCADDRSC INC ADDRS1050 BNE SKIPHI1060 I5A}NC ADDRS+11070 SKIPHI LDA END1080 CMP ADDRS1090 BNE EXIT21100 LDA END+11110 CMP ADDRS+11120 EXIT2 RTS1130 ; OUTPUT5B} THE ERROR; ADDRESS, PATTERN, ERROR1140 ERROR1150 JSR TBYT1160 STX EPATRN1170 STA EPATRN+11180 LDA ADDRS+11190 JSR5C} TBYT1200 STX EADDR1210 STA EADDR+11220 LDA ADDRS1230 JSR TBYT1240 STX EADDR+21250 STA EADDR+31260 JSR PRINT125D}70 .BYTE BELL,BELL,"ERROR AT "1280 EADDR .BYTE " "1290 .BYTE " PATTERN="1300 EPATRN .BYTE " ",EOL,01310 SED1320 5E}CLC1330 LDA ERRCTR1340 ADC #11350 STA ERRCTR1360 LDA ERRCTR+11370 ADC #01380 STA ERRCTR+11390 CLD1400 RTS1415F}0 ;1420 ;1430 ; INITIALIZE ADDRS WITH START1440 INIADDRS LDA START1450 STA ADDRS1460 LDA START+11470 STA ADDRS+11485G}0 RTS1490 ;1500 ;1510 ; ROUTINE TO OUTPUT A BYTE1520 TBYT PHA1530 LSR A1540 LSR A1550 LSR A1560 LSR A1570 JSR 5H}NIBBLE1580 TAX1590 PLA1600 NIBBLE AND #$0F1610 ORA #$301620 CMP #$3A1630 BCC TBYTXT1640 ADC #$061650 TBYTXT1665I}0 RTS1670 TESTPATRN .BYTE 01680 TESTTYPE .BYTE 01690 PRINT1700 PLA1710 STA LDA1+11720 PLA1730 STA LDA1+21740 PRI5J}NT101750 INC LDA1+11760 BNE LDA11770 INC LDA1+21780 LDA1 LDA LDA11790 BEQ PRINT991800 JSR COUT1810 JMP PRINT1015K}820 PRINT991830 LDA LDA1+21840 PHA1850 LDA LDA1+11860 PHA1870 RTS1880 PRTADDR1890 LDA START+11900 JSR TBYT1915L}0 STX ADDR1+11920 STA ADDR1+21930 LDA START1940 JSR TBYT1950 STX ADDR1+31960 STA ADDR1+41970 LDA END+11980 JSR5M} TBYT1990 STX ADDR2+12000 STA ADDR2+22010 LDA END2020 JSR TBYT2030 STX ADDR2+32040 STA ADDR2+42050 JSR PRINT205N}60 ADDR1 .BYTE " "2070 ADDR2 .BYTE "- ",EOL,02080 LDA #02090 STA ATTRACT2100 RTS2110 ERRCTR .DBYTE 02120 ENDP5O}GM2130 .ENDCT20 ; RAM MEMORY TEST PROGRAM30 ; FOR THE ATARI 400/800 COMPUTER40 ; ALL RIGHTS RESERVED50 ; BY NORM DRAPE4ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQ9Q}RSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWX@9R}@@@@@ @@ @ @ @ @0 @@@T@d9S}@h@pAA'A(AVA7R Aa g Ai o9T} '!'")'#@$@%99&@'A)()*+,-./9U}0123456789:;<=>9V}?@ABCDEFGHIJKLMN9W}OPQRSTUVWX6-@6-@'6-36-9X}@?6-@K6-@W6-@ c6-@o6-@{6-@6-@6-@ 6-@06-@@9Y}6-@T6-@d6-@h6-@p6-A'6-A'6-A('6-AV ! ;,!6.01234569Z}789ABCDEF SS;A ,;,;,9,;,9,;,9,;A@,;,;,;B,  6-6-;, . 6-9[}6.-!68,-*68,-. '#(>:A%,ENTER FILE NAME ' -67B:,%,.0 K 6.D:67B:9\},%,.%--4)=68,-A K @e# -)#67B:,%,.>:,R++!* AU,)+!AY* 9]}AS,96-+&,$%C @#K6-%R6.   S67<,.=:B:,,6-&+67B:,,.>:,<67%<%,. B"9^}S67%<%,.D "@6 67%<%,.S67%<%B:,%,.$( E R R O Rb.3&__________________________9_}____________13P3 CROSS-REFERENCE TABLEb3 FOR \.3&______________________________________Y3&__________9`}____________________________\3!Y(3 FREQ NAME TYPE SIZE+35-&C6-+&,$%Y6-A:7&<&,,%&$F 9a}6. 67B:,%,.=:8,,(6-B:,2-&B67B:,%,. F &@67B:,%,.7<,,-&A:7&<&,,<67B:,%,. 9b}@ '7&<&,0S@A(=67B:,%,. STRING 067B:,%,.=:8,,=6-%+8,,)7&<&,0D@C*?9c}67B:,%,. ARRAY 067B:,%,.=:8,,?6-%+8,,$+63 63&______________________________________.I"3 9d}& VARIABLES USEDI3  BYTES FOR VARIABLE TABLE/J#3  BYTES FOR PROGRAMJ3  BYTES FOR CONS9e}TANT TABLE0W-3  BYTES FOR ARRAY/STRING AREAW3  BYTES FOR STRING DIMENSIONS2W,3  BYTES FOR 9f}ARRAY DIMENSIONSW3&______________________________________4))3 %%%%% TOTAL BYTES USED58.3&_________________9g}_____________________8 A%6I 6- 6-6-!-(), 3):)A)I6-&98 -&)9q}bvHELP b AUTORUN SYSb'DOS SYSbL6DUP SYSb `TITLE bqMENU bevASM BASbASMLDR LD bASMEDIT BASb ASM TABb'ASMIN TXTb)LOADOBJ BASb.MEMTEST OBJb2MEMTEST ASMb+PSYNTAB bDUPFAST BASbRENUMBER bLABEL BASb'COMPACT bGR9MX80 LSTb#FORMAT BASb 1DATAMAKEBASb ;COMPARE BASb[PROTECT BASbBONUS b(AUTONUM OBJMENU2 6- 6-&6-.6-&4"8 :2 "6-%-!6-&(), 26-; !* @i<X !*69r}8&,-8&,%'6-%.)66-&L"@W)"@YT6-%X = " > 6-  @C6-P:',6-&$9s},67<,.7%<%,@67<,.7%<%,C$AW6-8@,%$+8,&,36-8,%$+8,&,&W6-8@,%$+8@,&9t},&&B##6-8@,%$+8,&,&&&C$D+ ))) 6-&(6-&+$E 6-& @$F2 6-&9u})" 6-%(6-&2 @rG$H- ))))&)-)IJ6-A#+&,6-&#6-9v}*6.. <6-A:7<,,J6-A:7<,,K] 6-6. "6-A:7<,,06-A:7<,,66-=6.A O6-A:7<,,]6-A:9w}7<,,M] 6-6. "6-A:7<,,06-A:7<,,66-=6.A O6-A:7<,,]6-A:7<,,O\\68,-$$%$%$$9x}?%$$?%$$>%$$>%$$=%$$=P8'68,-8,%$$<%$$<868,-P:8,,%Q9y}X 6-&6-%)&"@`/6-8,76-&?6-%F)J X68,-$8,R$S$6-$+&,%6-$6.7<%9z},U 400 @V< 6-#6-$@:7<,,%@:7<,,26.7%<%,< @Y(@Z>67<,.>:P:',,469{}7%<%,.>:&$@:7<,,,> @]<67%<%,.>:P:',,<67%<%,.>:&$@:7%<%,,,_C 6-6-%67<,.>9|}:,167%<%,.>:,C67%<%,.00d$e6-$+&,%6.7<%,g. 400+67B:,%,. ** NOT USED **.$h=9}}6-$@:7<,,%@:7<,,+6-@:7<,,=6-@:7%<%,,kS AS* PRINT ROUTINE *:PNT$=LST$(PNT0+Q2,PNT0+Q6):IF PNT$9~}<>"00" THEN 104n$o 6-%$B:,@s q$67B:,%,. $67B:,%,.=:,r$sB:,ASAt,9}6-&B:,-%(67B:,%,. , u$67B:,%,. $67B:,%,.=:,v$wB:,A#x26-A &B:,9}-%.67B:,%,. 2 y$67B:,%,. $67B:,%,.=:,z${ $ &}B A1-&%6-+&,$%;6-A:79}&<&,,%&B6.67B:,%,.7<,6-&B:, 67B:,%,..$ . A236  -3 .9}.3&--------------------------------------K 3 LINE REFERENCESK3&---------------------------------------*3"9} NAME LINE NUMBERS-3$ D:SYNTAB2LMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQ8=CCC.LE4 k:泭C0iiCLg3CL<3 Z: *DCC ,=  , /,C0 8 } l0N S0G :CC# k:浭C0iiCЪL<3 ,٢=  * q;L8 D, q; $; ,WC  } L 4C>  :A>810CC ,/> 1C1>  :Z>810CC ,C> 1CCC , 1= 1 :Yh }hL `=CCЍCCCCCCCCC ; ; ; , 4L3 ,\> 1 * 鈹CɛሢCɛ )CC0 }CC ~* 5CCCC Co> 1 * Cɛ ~* 5ܭCCCC C˭CCLE5CCLE5`C` }`C`~, , E5C 4L3? , E5CC 4C $;D浭CC 8CCCBC } lɀYC :L6 : lC񠀈Ѱиi iACCC k:LX6CCCCC q };L8= ; , ,p  , ,  ,1@  :ɛL 15))C q+L 7= , ,V@  ,u@  :ɛL H 7 }7Lj7 7Lj7D 8 7L7 7L7բ@ `ߢC ` ,@  * ECɛ>0$C *00C0C *0" CCL }7`C X*`8` ,@  *0\X TCɛM ~*HC)JJJJ *6CȽC) *(CC0CC }C`8`=8W=Wy 8W=PyL5 ON ,C` ; *nDEǍHI 1C L!9 :C }q+L8L 9 q;L8P 9 q;L8W +L8ML 15))C g+L8 ,C&D?E BHCCC /,C\ }XCC X*C-?0  -?C0L8:8鉍C mC mCE?1?C V0*CCC LW9C?  }`CL09PC B VB DAEJNK V0 09 ,ʢ? PC D,P B V`CC mC mC?1?L9 }CC`i`i`i`i`i`P B } VBDAEJ VBHIL1HI B} V@`HS S ShH )Lc;Lj;h` 0)¢ })  q; ,` M;hL$; b,hL$; ,>  , ,L,=L1 :HOh:` ; 0L>!}DISK UTILITIES (c)1983 Atari V }er 2.6f MODIFIED FOR ATARI 800 USEA. DISK DIRECTORY K. BINARY SAVEB. RUN CARTRIDGE L. BINARY LOADC. COPY FILE }M. RUN AT ADDRESSD. DELETE FILE N. CREATE MEM.SAVE. RENAME FILE O. DUPLICATE FILEF. LOCK FILE P. COPY SECTORSG }. UNLOCK FILE Q. CHECK SECTORSH. WRITE DOS/DUP R. RADIX CONVERTI. FORMAT DISK S. DRIVE SPEEDJ. DUPLICATE DISK T. WR }ITE VERIFY:ON 9!&x#!7&p))'&5./)L''-66C76u8COPY DISK Insert source disk and Λ Insert DESTINATION }disk and Λ IT'S DONE !'Y' to execute or for menuSource drive # ?DESTINATION drive # ?Source drive is # 1Des }tination drive is # 1Enter first sectorEnter last sectorCHECK DRIVE # 1 >>>>ERROR # 138<<<:,A}6-%( Ap6N (}*( PASS 1 & CHARACTERS. 8-&J7&<,4GOTON h7&<,4THEN rA}7&<,4TRAP |7&<,4GO TO 7&<,4GOSUB 7&<,4RESTORE   A0A} 6-% 6-6.0.#7%<%,20)7%<%,39+6-&.$# 6-%6-@:7<,,"#  " A}7<,20)7<,39 % 6-%67<,.7<,% A` A:," &! 6-A:,-8,"! D 68A},-X 6-%(l"AEq$va(( PASS 2 -(& TABLE ENTRIES1 76-=6-C6-I6-S-&A}a6-@:7<,, "6-   967<,.7<,6-%#6-%9@:7<,,AI A`(6A}-"6.=:,--B:,=67<,.7<,E6-%I   6-%6-4067<,.7<,6-%"6.& 0 A \! -A}&!8,A:,Ap 68,-z $R((( PASS 3 & = NEW LENGTH2-&>(8,8,B F L6.A}R6-+ -&67<,.7<,+ A`7&<,4GOTO 7&<,4THEN 7&<,4TRAP A}7&<,4GOSUB 7&<,4GO TO 7&<,4RESTORE $ 6-%  A`B1 6-%6-%6A}-!6.0167<,.7<,`6#7%<%,20)7%<%,39+6-&36-&6$j# 6-%6-@:7<,,"#  "A} 7<,20)7<,39 % 6-%67<,.7<,% A0 A:,"6-& AP' 6-A:,-&A}'8,"Ap  $"ERROR IF HERE"G 6-&(6.=:8,, (+-B:,36-%C67<,.7<,G F "A} K$P8  !-&0*@:7<,,4 8 = (>:,(>:,4( ĠƠ Ҡ:=A}N6-F:,$$6-%F:,$(6-%F:,96-P:'B!`,N6-P:'A6,&$U6-P:',&$&$96-P:',&$&$AA}&$B`H( Ƞ͠ӠN U(0 (: (0 (: (0" (., ( $ D:RENUA}MBERABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQ@ x TMPADSKNAMESTBAFLTXT (n E} ?, dG;A`,;@@,;@,;@,;A,;@D,X6. d6-2((>:A%,E}*** PROGRAM LABEL ***2 @@H(( ENTER DISK# (3)!$(A( ENTER DISK TOPIC (18)EH$(Q(+( E}ԠԠˠΠţ.(Q( ** Press [RETURN] when ready).( -OR-.AdAU*MM(E ** TYPE E}IN UP TO 44 CHARACTERS TO BYPASS THE DIRECTORY.+ F:Ad,"AU@C-XF:Ad,"@*AdE}AU<AYN@@X @`246. 756-@!AY@4+ @0E}5 Ap<8@1@@D:*.*86.FI A@)B:, @3 A?6-@E}I AEP6.7@<@,Z$$7@ <@ ,4 Ad+67@<@,.7@<@,S67@E}<@,.7@<@,{67@<@,.7@ <@ ,67@ <@ ,..n -@@6@E}x:7<,4 $67,.7%@,:67B:,%@,.  67B:,%@,. !67B:,%@,.! @pE} B0 6-B:,2B:, AP(67B:,%@,. 2 A`;AY@4(}-AR@1(E}; @02B:, @(67B:,%@,. 2 Ag}}3>:@',8>:@',0>:@',P>:@',EDE}ISK#  >:@',F 7@<@,UI3A----------------------------------------------------------E}-------U6-@"@Az Az37<%@,7%A<%A),7%A4<%AF,7%AE}Q<%Ac,7%A<%A,46-%@!A*37AP,4 A A% Ap,E}'3 3 33E333!3$3'36%fqDIMST$(110)iqOO6.Ehhhhhԩх֢ׅͥ؅ͅi>ͥ΅iΤϱː E}=аȐjq<<67@p,.)>HˑhмжР`pqc#67@X<@X,.>:@(,C67@q<@qE},.>:@,c67@6<@6,.>:@,zq'A'A@q##6-?:C:,I}?@ABCDEFGHIJKLM6I}-6-@'6-@36-A?6-@K6-APW6-@c6-@o6-@{6-@6-A I}6-B6-B6-@ 6-A 06-@46-@P6-A6-Ab'6-A%36-ASI}?6-AVK6-BBrW6-BBc6-BSo6-A{6-A6-BT6-Ad0U6-A 6-AI}'6-AP36-B7t?6-A%K6-A U A 3 6-F:,6-F:,6-F:,$*03$  J}$d+000i:((ŠҠ (:( REQUIRES 32K DISK 800xI()(YOUR SCREEN WILL BJ}E BLANK WHEN,(I(INTERRUPTS ARE DISABLED.22;,;,;,;,9,9,9,9,;,X;,9,;,;,(D(J}#REMEMBER ... All files used must beX in LIST format.B  SOURCE FILE NAME )6.D:767B:,%,.BJ}G ! DESTINATION FILE NAME%.6.D:<67B:,%,.GH A ( NUMBER OF VARIABLESD USED IN SOUJ}RCE PROGRAMHS6-A'&- SOURCE PROGRAM LISTING:0 4 <-E68,-I S A06  6-%J}(" /")8,3 6& " 1 -6-A:78,<8,,,16-P:&P:',$,68,"A@ 8," J}AJ 6-%!6-^ A 68,-68,-8,%   5 -68,-  -)6-J}8,/!56- E68,-8,% !6-O '6-2-6E%8,!AX)6-%8,6- )( LINES IN= J}"I  #6-A%' 36-@:6.A6.I-j8, At; 6.Q67,.=:,'67B:,J }%,.=;67B:,%,.=:8,,B:,%B:,A4 =:, 7:,'(>:,F(OUTPUT FILE IN LIST FORMATI 6-6-6-B:, %! J}7<%,4:REM $7<%,4 REM $%!Ab7<%,4 DATA Aa7<%,0:DATA   J}6-6.: "$ 6-% 87<,0>:,AcB9 6-%6.>:, "" 2  INPUT ERROR6 9&`J} 6-%  BP"Ad Ac + 6-&+7<,1A*7<,/ZAcP 6-%68,-68J},- 6- 6-%APE($'& 6-6-B:, 6-6&6-6~'.6-B:,&6--+47<%J},.$'  6-$:< 6-6--B:,27<,10*7<,/986-< :7<,4. : " : 7( PRESS START WHEN READY.H @R'}CCSTORE CURRENT SUCESSFUL FORMATS+1 THEN SAY WHAT WE ARE UP TO.(@6-%@(>:A%,!($('(@(FORMATTING R(}DISK #2a A6AT@D1:@ BaSET DRIVE # &START FORMATTING.7V@f@R)}"(>:AS,4@fVRING THE BELL BUT NOT TOO LOUD.<R(DISK FORMATTED(,@wRDISPLAY RESUR*}LT & KILL ATTRACT MODE.FQ+(# PRESS START TO FORMAT ANOTHER DISKQ(! PRESS OPTION TO END THIS PROGRAMP2 F:B2y,"@R+}@@2INSTANT REPLAY.Z4 F:B2y,"@A4THAT'S ALL FOLKS.d2 @2WHAT DO YOU WANT?PRESS THE BR,}UTTON!DDA TRAP TO LINE 200 WAS SET IN LINE 50 FOR UNFORMATTABLE DISKS.55ABORT BY TAPPING THE BREAK KEY (IN MOST CASESR-}).00YOU MIGHT HAVE TO TURN THE DRIVE OFF & ON.@(>:AS,(=(% I WAS UNABLE TO FORMAT THAT DISKETTE@(E6-%R.}@6-&@) @pEONE LESS SUCESSFUL FORMAT,O(>:A%,(*( DISKS FORMATTED-(O(UNABLE TO FORMAT R/}DISK(S)688SAY WHAT WE ACCOMPLISHED THEN LET BASIC TAKE OVER.@G(/($END OF PROGRAM FORMAT 1.....BASIC IS2(DARR0}G D1:FORMATEEFORMAT 1 BY JERRY WHITE (DISK FORMATTING UTILITY AND TUTORIAL).??**ACE NEWSLETTERP   5RhABCLIIN''*********************************''**** V2} Reprinted from ****''**** ****''**** JUNE 1981 ****''**** 3662 VIV3}NE MAPLE DR ****''**** EUGENE, OR 97405 ****''**** **** ''************************V4}********* ''** MATT LOVELESS **** %%*** FOUNTAIN VALLEY, CA ****';A,;A,'6-V5}a @(}((8(STARTING LINE (100-32000)<a A)!B )P:,@U @ ((,(INCREV6}MENT BY (1-20)0U @)!@ )P:,@  B(' 6.=:,'67B:,%@,. DATA -a3(>:@),V7}>:@),>:@),>:@1,a(>:@(,>:@(,>:@(,>:@(,2( LINE NUMBER (<##B:,%B:,!V8}A@F-67B:,%@,.-67B:,%@,.,K @`PWAB@"67B:,,.((}+(.(1(4(V9}8(B(CONTT-@W&UGAB@6-%)!B D(LINE NUMBER TOO HIGH!!GZ @@V:}D:DATAMAKE.BASCLIIN''*********************************''**** Tij*?AFILEOLDFILETRANFILENEWOLDRECTRANSRECNEWRECPSSSERRSTRANUOLNWRECNWRETRANRECTRANNUMRECZ<} Z=} ppЬҠΠ ͬ٠٠ƬƠ ŠZ>}ŠŧӮB+@%@ (@B(@ LOOK, UP IN THE SKY/-@@/(@ Z?}IT'S A BIRD!/-@@/(@ IT'S A PLANE-@A --@@F(@ ϬԧZ@}ӮZ-@A~2'@@ P +@'0@9-@@P(ZA}@ SUPRCOMP!0-@@0(@ by stacy goff 99(@(for the eugene ataricomputer enthusiastsZB}"SS(KSUPRCOMP COMPARES TWO LIST-FILE VER- SIONS OF THE SAME PROGRAM, AND GENER-$,,(#ATES A LIST FILE OF DIFFERENCES ZC}&-@AE2A@&+'A,a0'@@e 2ZD}2' +'0@dX (}X;@ ,;@,;@,;@,;A(,;A(ZE},;A(,n3#(ENTER Ġ PROGRAM NAME- A36.x5%(ENTER Ӡ PROGRAM NAME/ A56.3#(ZF}ENTER נ PROGRAM NAME- A36.( OLD FILE = ( TRANS FILE = ( NEW FILE = !!ԠZG}Š̠Ԡ!-@A !(}mb(TYPE Р TO PRINT ONLY, Ġ TO DISPLAY ONLY,#  TO PRINT ZH}AND DISPLAY DIFFERENCEmTRAP 180A4P)4B5@@P:A6-@4B)4D6-@ZI}#"@)"@# A0 A##נΠӠ* A 0*@@ZJ}* A @*@@* A P*@@"@ AEND+""ZK}ŠŠ, AGO GET OLDREC6 AGO GET TRANREC; " A@-!Ap-MZL}UST ADD RECORD FROM TRANE!A0G&J$$ΠĬԠΠ׻ŠśT: 6.=:,(@# A:WRITZM}E RECORD & PRINT^F A A! AFGO CLEAR NWREC, GET ANOTHER OLDRECr##ΠάԠΠĻԛ| ZN} 6..(@ A$ A. AHHΠȠӬˠϠŠ Š٠Š̠ZO} 4 AP A6.$(@ A$ A! A A! AW!!ŠĠZP}ӠXN A `@167@<@,.; A A6-K BN$N A p@167@ZQ}<@,.; A A6-K BN$ CLEAR NWREC*(-@B:,!67<,. % ($РӠZR}Ӡ4(ERROR--CAN'T OPEN *6-@4 A@4(ERROR--CAN'T OPEN *6-@4 AP4(ERROZS}R--CAN'T OPEN *6-@4 A`##ҠΠĠŭˠƠ"F:A,A6" A%6-B ZT}"B % A$##ҠΠӠŭˠƠ"F:A,A6" A%6-B "B % ZU}A$:6-#-@@07<,4 : A 6-%@ 6-A:7@<,,$HHZV}ԠŠӠĠΠ ͠РȠĺӠ46. *B:, @4 A'7ZW}@<@,4D:' A Y-B:,@6@;67%@<%@,.7,? Y67@<@,.D:$ZX}L ԠĠ٠ԠV"@(@`"@(@j$̠ŬŠӠZY}?@@$@<(ĠƠŠ?ĠҠ9( (6( ĠȠZZ}Ҡ=:F:A,,9 D:COMPARE.BASLDRECTRANSRECNEWRECPSSSERRSTRANUOLNWRECNWRETRANRECTRANNUMRECX*%&N4I@^\} @ @^]} !"#$ (} RR9@,;^^}A ,;@ ,;@0,9A,9A,;A ,E-@A&68,-568,-9 E6-^_}%%( ***Š***mm(eWill prevent your 'BASIC' program from being read or changed,by writi^`}ng over the basic statementsRR(Jwith Control Characters.MAKE SURE YOU HAVE A BACKUP COPY OF YOUR ORIGIONALjj(bPROGRAM^a}! There is no need to enter a 'D:' at FILE NAME prompt. **********************#(ENTER INPUT FILE NAME#^b} 6.D: 67B:,%@,.( @@2#(ENTER OUTPUT FILE NAME#< 6.D: 67B:,%@^c},.F @@P1-@@$)@-68,-1 Z//6-8@,%AV$+8@^d},&@,d//6-8@,%AV$+8@,&@,n//6-8@ ,%AV$+8@,&@,x//6-8@,%A^e}V$+8@,&@,//6-8@,%AV$+8@,&@,-@')@'67B:,%@,.^f}>:,1A(*AV'6-%@1 B   ( A$ ( ENTER CHARACTER NUMBER$-@^g} 68,-   6-1 6-&6-&6-&#6-&+6-&16-(''68@,-&P:'AV,^h}$AV%%68@,-P:'AV,%@''68@,-&P:'AV,$AV%%68@,-P:'AV,%@'^i}'68@ ,-&P:'AV,$AV%%68@,-P:'AV,%@"''68@,-&P:'AV,$AV,%%68@^j},-P:'AV,%@6''68@,-&P:'AV,$AV@%%68@,-P:'AV,%@J-@@T^k} 6-8,*@^ h-@r 6-8,*@|  B )@*@ ^l} A3/(&FILL TABLE WITH SPECIAL CHARACTER(Y/N)3 4Y A7#(CHANGE VARIABLES ONE BY ONE'74^m}YBm#!@&)!)!U6-+%,$@%+&@&&&,$@%@&a6-@m6-@^n}-@ &8,"@ AP& A&8,"@ A`& A!@&Ar$*68,-@d^o}%%A(*6-%@. A076-%@!@&)6-@76-%@368,-%@e86-%^p}@B68,-%@d%A(L6-%@ ( A   8,"@ 6-%@^q}B6-%@"68,-@d%06-%@?68,-AdB$pB6-%@"68,-@d%06-%@?68,-Ah^r}B$'6--@'6-%@$'Q)@:7<,,A*@:7<,,AG67<,.>:@:7<,,&A(,Q ^s}BP)'Q)@:7<,,Av*@:7<,,AG67<,.>:@:7<,,&A(,Q BP.'Q)@:7<,,"Ad)@:7<,,"Ah^t}G67<,.>:@:7<,,&A(,Q BP8' *9 6-B:,-@+68,-@:7<,,/ 9 A :+(+( OLD VA^u}R NAME: 7&%@<,:( ENTER NEW NAME: :MB:,"%(7&%@<,C67<,.>:@:7<,,%A(,M ^v}BP5:--67B:,:@:7B:,:A%,t(y(~00(~}%used by the program broken down 00(%between program, variables, strings 00(%etc. The program to be a}nalysed need 00(%not be in LIST format as is usual. 00(%This program will analyse virtually 00(%all B}asic programs but may take a 00(%considerable time on a large program.00(%The output is to a printer but if }you00(%do not have one, you will need to go 00(%through the program and change all 00(%LPRINT statemen}ts to PRINT and then 00(%use CTRL-1 to stop the table as it is00(%printed on the screen. (}00(%Ԯ This is a program to 00(%create a file called DUPFAST.COM 00(%which will enable} VERY FAST copying 00(%of disks in just two passes on a 48K 00(%system. It is suggested that the file00(}HJJJJ h) 0` `L> L>!"8`  x xLdm%is written to a blank disk with... (?6-Ae6-A'6-A@36-@!?6-@6 Au} A*** FRAME9 ***(>:A%,((00(%DOS on and then renamed AUTORUN.SYS.  00(%This }disk can then be used as an 00(%autoboot copier without the Basic 00(%cartridge. All necessary prompts a}re 00(%on the screen. DUPFAST.BAS is not the00(%copier program, it is merely the #00(%program that wr}ites the copier to (00(%another disk. -(200(% Will renumber your Basic } 700(%programs in LISTed format amd take <00(%care of all GOTOs, GOSUBs etc. It A00(%will take some ti}me on a large F00(%program but is an excellent K00(%renumbering utility. P(}U00(%̮ Prints labels for your Z00(%disks either from the directory in _00(%alphabetical order }or a custom d00(%directory which you can type in. .. i(n?6-A6-A5'6-Au36-@!}?6-@7s Au Ax*** FRAME10 ***}(>:A%,((00(%Line 170 will need to be }amended to 00(%suit your printer. (00(% A brilliant program to reduce00(}%your Basic program to the minimum 00(%memory requirement possible. Deletes 00(%REMs and substitutes variab}les for 00(%constants as well as using multiple 00(%statements on a line. It is suggested00(%that you} write a short program to 00(%test which should be LISTed to disk. 00(%When you want to compact one of your }00(%own programs make sure that you have 00(%a back up copy and be patient, it 00(%could take several} hours on a really 00(%long program. A lot of garbage will 00(%appear on the screen but this is 00(}%normal. Resist the temptation to 00(%interrupt a long program. ((?6-A56-A}p'6-A36-@!?6-@7 Au A*** FRAME11 ***(>:A%, ((00(}%ҹظ For use with an Epson MX80 00(%printer to dump Graphics 9 screens. 00(%ENTER this program and use} as a "00(%subroutine. '(,00(%Ԯ One touch formatting of 100(}%your disks. Simply RUN and press the 600(%START button to format each disk. ;00(%Great for a new box of disks}. @(E00(%Ů Will save typing when J00(%entering long lists of DATA, either O00(%n}umerical or alphabetical. Simply T00(%type each statement and hit RETURN. Y00(%The program will write a subro}utine ^00(%putting as much DATA as possible on c00(%each line. You will need to type the h00(%last line y}ourself or insert a flag m00(%detection routine between lines 60 r00(%& 70 to detect the last item. w}(|?6-Ap6-A'6-AE36-@!?6-@7 Au A*** FRAME12 ***(>:A%},((00(%Ů Useful if you have 00(%extended or amended a program but 00(}%cannot remember what changes you have00(%made. This will compare two listings 00(%and generate a file of diff}erences. (00(%Ԯ Will make your Basic 00(%listings unreadable. It is essential 00(%}that you make a back up copy of your 00(%program before using PROTECT as there00(%is no way of making sense of }the 00(%result although the program will 00(%still run perfectly. Experiment and 00(%use with c}are. (00(%ͮ This is a machine 00(%language object file which will} 00(%provide the Basic user with automatic00(%generation of line numbers. ((?6}-A6-A@'6-A36-@!?6-@8 Au A *** FRAME13 ***(>:A%,(}(!00(%AUTONUM.OBJ resides in the $600-$6FF &00(%address range of memory and can be +00(%loaded int}o memory by one of two 000(%methods. The first method is to use 500(%the 'L' function to load from the DOS:}00(%menu. The other method is to run the ?00(%LOADOBJ.BAS file on this disk. To D00(%start automatic line} numbering enter I00(%the following Basic statement N(S00(% A=USR(1536) X}(]00(%To stop it, just enter a null line b00(%i.e press RETURN without entering anyg00(%data. At this }point you may l00(%reposition the cursor and make any q00(%corrections that are necessary. To v00(}%resume generation just re-enter the {00(%Basic statement shown above. ((?6-A@6}-Au'6-A36-@!?6-@8 Au A*** FRAME14 ***(>:A%,((}((((((((00(%宠00(%}(((((((((( (?6}-A u6-A'6-AP36-@!?6-@8 Au A?(>:A%,"AdAU4AR}?%D:MENU D:HELP7.V2@@@!@A`A%AdY +%TU iABMNXNCDALSLELSIPNCLRNLNPPPOQQQQQQQQQSPEE(#@ @b}@AU@@@ @ @ @ @@b} !@"b}#$AR%B2y&@'@(@)@*@ ɠŠĠΠb}٠ʠ͠Ӡ(Ԯ2Πٮ<k6-AR6-B2y'6-@b}36-?6-@G6-%S6-@_6-@k6-@F+00@PW (}-@ -(Ab}TARI MESSAGE BOARD?-@ @W(___________________Z--@-(** A MOVING WORD DISPLAYd4-@4( b}** UP TO 10,000 CHARACTERS LONGn+-@+(** LARGE BLOCK LETTERSx3-@3(** 4 POSSIBLE CHARACTER COLORb}S 5-@ 5(!PRESS TO SEE THE COLOR KEYF:,@APF:,"@A` (}b} A;A, @9 (}0@( 6-6-66-@"6-(5 -b}5(YOUR MESSAGE IS  SPACES LONG.--@-((begin typing when ready)K:- 6-%6-%b}"@@%6--6-%U"@ 6-%6-#(})-U(YOUR MESSAGE IS  SPACES LONG.< -)b}""A&*6-&26-&< AP5 "-5((press to end) PAGE # "-@(  b}, -(>:,6"AU A@@67<,.>:,J APT +@ A^6-@ 6b}-6-h6-@ 6-6-r0@|0@0@ @0@ 0 b}6-&*(@}-*(@7<, A  B:,6-% "6-6-%"AP b} A  - $ 00--@@-(**** COLOR KEY ****--@@-(b}===================/-@/(UPPER CASE = GOLD&/-@ /(Š = BLUE00-@b}0(lower case = GREEN:.-@.( = redD7-@7(#PRESS TO SEE A b}DEMONSTRATIONN<-@<((PRESS TO BEGIN TYPING YOUR MESSAGEXF:,"@AbF:,"@Ab}lF:,"@Av A$#"66-@9#6-& ) A67<,.  -)(b}7<,-@( & !@K:! Ap - DEMONSTRATION SUBROUTINE;A,ww67*(@}-*(@7<,H AR  B:,6-%\ "6-6-%f "b}6. App A  D:MESSAGEYx'6-P:'AV,$6-&AV$'$x** LINE(P) TO LNx(-b}@$%F:%,( x6-8@,x$BEBOQQQQQQQQQSPEE(#@ @`H