#ine of text has an overhead of two bytes and each string of 3 to 31 duplicate characters takes only two bytes. eXECUTE file-name The file specified is "conected" to the keyboard, so to speak, so that the file is presented t#rrent line is the default value. [line range] upPER All alphabetic characters in the specified line range are converted to uppercase letters. If no line range is specified then the current line is the default value. \\\\\\\\\\\\\\\\\\\\# o the EDITOR as if the characters were typed in. this allows a series of commands to be executed right from the disk without having to retype them in. The actual file executed is prepared like any normal editor file. If cursor movements or PF keys are# \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Even more features to this editor could have been added and still have it fit within the usual 3 banks of memory, but is any program ever FINISHED? If the source code is des# desired in a file to be EXECUTED then use control characters (see PRINT), but remember to EXECUTE the file that is PRINTED (to the disk) and not the original copy. [line range] ecHO [destination] This will take the line range specif#ired for this editor it is available on disk (8050 format only). In the USA/Canada send $10 to... Joe Bostic EDITOR 2338 E. Bonanza #ied and duplicate them to the location specified as the destination. If no line range is present then the current line is the default value. The same goes for the destination. This command follows the same "logic" as used to manually insert or move te= Las Vegas, NV 89101 Even more features to this editor could have been added and still have it fit within the usual 3 banks of memory, but is any program ever FINISHED? If the source code is des#xt. This means that the inserted text will be entered "below" the cursor and thus technically be entered on the line past the destination line number. [line range] moVE [destination] This performs much the same as the echo command ex#cept the source text is deleted from memory after being echoed to its new destination. [line range] lowER All alphabetic characters in the specified line range are converted to lowercase letters. If no line range is specified then the cu$le name will not be changed with the PRINT command. Note: No spaces are allowed in the control character sequence, otherwise it is not considered to be a control character sequence and is printed as shown. The PRINT command may be terminated with the $er than below the cursor) the cursor need not be moved to restore the deleted line into its previous position. This means that if the RUN key is used immediately after the "errant" delete then the text will be restored exactly. WARNING: If a c$mmand in mED is very slow in copying files, even when copying disk files to the same disk device. The EDITOR will take advantage of the DOS copying routine if possible. When copying files to and from the same drive then leave off any file type sp$G command (see below). GET: This will not change the current file name unless the work space is empty or if there is no presently defined filename. This will be helpful when merging in small sections. HELP: This is a little more usefull as more$ rd. caTALOG [source [to destination] ] This functions just like the directory command except that if the directory is sent to other than the screen it will send it in two columns just like it appears on the screen. $ STOP key, but the current filename will not be used as a default for this command (ie. the filename must be specified completely). EXAMPLE: If the sequence <1><6> is used then when PRINTed it will home the cursor, perform two carraige r$ ommand is entered it will destroy the editor's memory of the last deleted line, so use the RUN key before any formal command is entered. This can be of use as a "reverse" PF1 key because the last command entered may be stuffed into the text by using the$ ecifiers (ie. seq, prg, usr, rnd) from the file names, otherwise you will get a 30,SYNTAX ERROR,00,00 message (this is due to the disk operating system and not the editor). DIRECTORY: The directory command in mED would sometimes scramble the directory $ information is displayed than normal. INPUT: The input command now will "word wrap". This means that when a word is typed in that runs off the right margin the word will be completely moved to the next line so that no word is "cut" in half at the ma$ dcOMMAND [device] [command string] The specified command string is sent to the device named in the file name. This command is sent to the command channel of the disk. If no command string is specified then the error channel of the di$eturns and erase the current line the cursor is on. Remember that multiple control characters (even if identical) must still be individually surrounded by <>'s. <$81> = PF 1 <1> = home <8> = cursor left <$82> = PF 2 $ RUN key. NOTE: This also can be used as an easy one line MOVE or ECHO (see below). That is, a line can be deleted (then reinserted if desired) then the cursor moved to a new location and then using the RUN key the line is duplicated. Multipl$when sending it to the disk. That has 'mostly' been corrected as well as its annoying habit of displaying the directory in only a single column. In order to accomplish this, as much of the directory as possible is first read into memory then sorted and $rgin. This feature is only in place during input mode. If the word is larger than 40 characters then the EDITOR will consider it not to be a real word and no word wrap will occur. NAME: Only the file-designator part of the filename will be remember$sk is read and displayed if other than '00, ok,00,00,0'. DCOMMAND v1 will collect (Validate) the disk in drive 1. DCOMMAND n0:diskname,xx will header (New) the disk in drive 0. DC 9 i will initialize the disks$ <2> = recover line (RUN) <9> = tab ... <4> = delete space <10> = cursor down <$89> = PF 9 <5> = insert space <11> = cursor up <$8a> = PF 0 <6> = erase to EOL <12> = reprint screen <$$e copies of the same line can be performed by deleting the line and then repeating the RUN key. The CLR/HOME key now will "home" the cursor. The "RETURN" key will now move the cursor down the text window even while in command mode. /////////$displayed. If there is insuficient memory for the complete directory to be first read in, then the excess will not be sorted but will still be displayed and the old scrambling problem may appear (that is only if it is simultaneously sending the director$ed. When using commands that need a filename then just using a device (eg. disk/1) will automatically cause the file-designator to be tacked onto the end. This will allow easier file handling when refering to the current filename. PUT: If just a di$ on device 9. [line-range] prINT file-name This is used to print (put) the specified line range but converting any control characters into their respective values. Control characters are specified by enclosing them with "<" and ">".$8b> = PF . <7> = cursor right <13> = return looK file-name This will display the file on the screen. The scrolling of the screen may be stoped and started with the space bar. At the end of the listing$/////////////////////////////////////////////////////////////////////// Modifications to microEDITOR commands. BYE: This is replaced by the "EXIT" command. No big thing, but if this editor can be made to work with mBASIC...hmmm$y to the disk). At the end of each screen of the directory listing you have the option of entering any command. If no command is entered then the directory listing will continue, otherwise it will stop and proceed with the command entered. In o$sk/drive is specified as the parameter of the PUT command then the filename will be used with that disk/drive. The PUT command may be terminated with the STOP key. SCRATCH: The scratch command may now only be abreviated to 'scrat'. ::::::::::::::::::$ The enclosed characters may either be a decimal number, a hexidecimal number, or the ASCII code. This may be useful when constructing files that are to be EXECUTED (see below). The format of this command is the same for PUT except that the current fi# (or stop key) you are given a command line and the file text remains on screen. Any entry will bring the normal screen back. fREE This will display the number of free bytes of memory available. You will discover that each l$m..... CHANGE: The change command works normally except the STOP key is able to stop the changing process at any time. This is helpful when the computer seems to have entered a catatonic state during a very time consuming change. COPY: The copy co$rder to stop the directory display prematurely just enter a '.' on the command line. Note: The directory will be sent in a single column if it is sent to other than the screen. If a two column directory is needed for output then use the CATALO$:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: NEW COMMANDS AND THEIR SYNTAX The actual name of the command may be abreviated. The first sequence of lower case letters is the minimum size of the command keywo%d2b4d2b'ܦ4ܨH2bo&Fܦ4d2b'ܦ4H2b&&d 46f22f&&Nܨ4ܦH2b& d 46f22f̗4ܦ4̗4f22fO_ 2db'2e9M'̗ ̗9]'O_ & 4׼5]94f"0E"0%'' 佞04y'% & mb&o_'b&o_'&2c9h4h4̜W2b2b'h'0.&hh9diskhost44̝?2b& 4̝?2b2b9'.m'4̝N2b4dN2b4 2b94׸'*佰&̝44bH2b2b4̝Q2bOָ2b9%EDITOR instructions: This editor owes its inspiration to the Waterloo microEDITOR (mED) supplied by Waterloo for the SuperPET. This editor is similar to the mED. But it is enhanced in certain ways. First an explanation of the subtle differen%'442d  ֻ' $ݶܬݪ9(ݾ945b/9Oֻ44b2bл4ܬ- .佞cP=0" Z+ 2d9c~4"所牀5ZP=c"94&-A(.<G&'('4b2boP"0' % H2bb5N̒WN̒YQd5QdzQ52d944̱4h2b̒i4b2b&̱4f2bb̒]4d2b& ''2d9((4ܮ42~b4f4j2ddof&4f4l2dh&'2bdf2l984' 0/'.&򦄁1&% (0h6"0Ȁ焽'h4h4h4f2f̗4b2b2b9' 94dd"''"&2b9"$2b90d0d O_2b9%s%n%s%n%S %S%NOutput fileDirectory4 4lm'-̱4b2b4b4b2b'2'% 42z@efB0 -L 0je': o2h9 ' 2b29 & 22b9TOto - .I/O error4O_ݼd 4lm'b4b2b4b4b2b 2d9 &4̞dQ2bܼ44ܰ4 2f9414m&ܰ 6作zm&4̞bQ2b4% ces in commands and editor procedures, then an explanation of the new commands. Although this editor works in much the same way as the mED, internally it is entirely different. You will probably notice a speed difference because of this. Also% "2b9<=============================BEGINNING OF FILE================================><================================END OF FILE===================================>4eaP=4bhP=À4eP=À4d4d4dK2d2h9ZP=ÀO J*9ֻֻZP=ֺ%;5C=.Output fileSource fileDisk command 414m't_4aO':' 4$5&jm''佰1m& Cƽ2|@BO4&!4 5 L':& 4 5 2a@2db'4̓9m' {2bܦ9ܦ2d9%S14l佰%52& 2O_9 4l5m'ܰ4 2b  94ܲ&$ܾ' ܰzO4̱2b&S&$(&$'׸4̙FH2b&Ox44d2do佰' '(佝&!׸'4ԾH2b&0 4b54dݬ$ܰQ2b b&ܰ4bzH2bܦ4bH2bܦ2d9. Lines transferred =yZ C 齰 ˽ R     ⽰ 5 ~  ;  4dN2b4 2b94׸'*佰&̝44bH2b2b4̝Q2bOָ2b9% there are now 23 lines of text on the screen as opposed to 22 in the original mED, and any messages the editor gives do not disappear "at the touch of a button." To remove the message just enter a '.' on the command line. The starting%:0Ȁ & "0Ȁ94&'(' 4bz2b 2b9&&&b.#4d('44d2b52b 94&, 1!:(-5' 94ݬ὞$9Ӭ, /ܾ9& $/ (':1?& '&'01!&9' %2b9{ 4P4bH2bP4'P4ܰH2b&{ 作& { lbz4b4b?2b2b& 4d2b 2d9o4 4bl佰2c9O44y&P/PbHoLZlbb &۽obbX%2d9!&ݲ(ݴ &ݲ(ݴ  40mb'o4c4̱2b5m''{ܲ$&&$('S4$2bb'% E444f2d2b佝&0&$' 4ܬ$b 42d94'v<&k4 &%column '1' when a line is inserted, so there shouldn't be an inconvenience. The program function (PF) key "1" will fetch the text line the cursor is on and move it to the command line at the bottom of the screen and enters command mode. This s% screen of this editor displays the number of bytes available, the current time and date. It also requests that corrections be made to the current time and date by merely entering the correct values. If no corrections are desired then just a RETURN wil%5 & 4 Oֺ4ֻ2b2n429_4\'qa'&ca&o'Ya- . o/@ '<'-')P& a - m&ֹ&jaJ &La &'k& 2 '׺a&ܤ4̟2b a'\' 74P=À%4̔m2blbb &2c9%S %D _ 4O_441bz'̗b '1作' {1lbb̗4d2b'2e9ܮ(44f2b#( O_4ܨ4f2b'4o(04O_b4j2b' b0&0bܦ4dH2b&b큯佰E%< ^&040d4b2b50 A& 40佰50 2&"40佰E44d4̛%W2d2b50'Z &><!5 o 2b94$&' 1!O4$*5$&O>&L>+'#-'O$&' 1!O4$!5$&O>& ' 1!O4$$5$&O>&_5'o1! 9nulsohstxetxeotenq%aves typing for search strings or complete commands may be placed in the text to be fetched and executed as needed. The RUN key (ie. the shifted RUN/STOP key) will now "recover" an accidently deleted line of text. If the line was deleted by th%l enter the editor normally. When entering the date and it will contain spaces (eg. Oct 26 1984) then be sure to enclose it in quotes, otherwise the date and time is entered just like the normal date/time command of the mED. ............................%4bJP=0砬&2c &&o!&S & _佟59%SX%T' m&9 9 6 9 R  C V 齰 ٽ F ;yyƃh4愽$'h0 '0hho4h4̙Ch2b94d42b佰nܤ4H2b}' ݭ O2b9 ׻׺w⽚ཚF42b̙~$ݬ$ݶܬݪ42b94.,5$&9ܬ4c4*b- Zb//b44f&P42boƽ~ EDITOR - (c) 1984 by Joe Bostic%N%NThere are %d bytes available.%n%nDate: %s%nTime: %s%n%nEnter date and time or just press .%n0O_4& 6#&la &la a'O4d4̑SW2b2bm&O2d9 &_ _ _ _ _ _ _ _ _ _ _ :%S.%N[lines] %S [destination]_ _ _ _ _ _ :%S.%N %S _ _ _ _ _ _ _ _ _ _ _ _ :%S.%N %S [FileName] _ _ _ _ _ _ _ :%S.%N %S [FileName] to FileName _ :%S.%N %S [device-name]_ _ _ _ _ _ :%S.%N %S [date] [time]_ _ _ _ _ _ :%S.& Yܴ('ʓ4b ' 2b 2ܲb/ ݲݴ4b4ܲK2d(ݾ2b9$#"ܲ44C' ' 0佔&)b# "b" %b4ܲF2bb$ݬ2d9444$&'~('y4$2b4ܨ4d02d& &ged.File-names must be different.Memory full.Replacing string too long.%D bytes of free memory. Illegal destination line.Insufficient free memory.2~ 'Dm'0$&'&('!a'$' 佞a'2b9a '佞a'%2d44b2b2b ''-4b4b42d2b42b$ݶܬݪ2d9Oֻ4'4b42d׹׺5~Oֻ'444d2d2b~ ~$&&"ֻ'442d  ֻ' $ݶܬݪ~7~׺$(&"ֻ&Cbosticjb2C&dev:men/(EDIT.%instruct:e0*note_2_john )help.asm( mb& &$턟(ݾ0msq2'~̱4̱K2b9$y4 2b9m9H2s9u9ܲ$yݬܴ4ܲ2b9ܮ(42b929+\02s9 9ZZo4b<5\:(ܤ2b 'ܤ4H2b$ݲݴ*/'A$ݲݴ4&$̽' '' \/ 2b9䎛::2a gEܬݬ&$($;&6$'ܤ4H2b$ݲݴ]&4ܤH2bI6E ݬ$2b9Ԓ5(~ `jAޑ@V(&4n2b_& @+&E$4n2b )-&E$4n2b .&E $&($E+& Er$ -&Erc$$yݬ$9M,& ($46h$&4r` 2/'佝 %$b& d$2f9佝$'$$2f9$46*& E&ݲ( =ݲ,&(textAlters textPurge textLoad textAutomatic text entryDuplicate textTransfer textMake upper caseMake lower caseShow line numberRun editorLeave editorSet ACIA chipEnter ML monitorEnter 'PASSTHROUGH' modeOne column directoryTwo column direc( 9 ' 2b294Ā'- " - "'X 2a9   ~Oֻ4ܬ,"0Ȁ׺Oֻ׻44b2b2b5c$ݶܬݪ~9׹~4$2b~ݽ 4ܤH2bֹ 4ֺ4$(& ݽ( /罝9ZZo4b95\:/罝9 &Tܲ'  A$$&& 0('+ M,'$ݶܬݪ 944&r *&Eoa/'  K&Fܲ$&佔bb$('#ܬ$b4( ]q!'-39?EKQW]94od4b2b.doO_2b9$ݶܬݪ2|m'Hoc' $ Ob0L''0c#mc'14 b4bH2b2b E\c\O4$2b&$$c\44H2b2b$c:焽c2d9Z4cj' $ ( E$ &ܲ$^& E콝 && E ܲݴ$ݲ$yݬ9P &E 9 0ƞȽ!' Ƚ$' O94& `40O佗E'5 ' 2b29ܨ4E' /&E_' &EӨ_'<%&0E^' $'.' ʀ*&( toryRename textRemove file from diskChange name of file on diskInitialize diskTransfer fileShow or rename date and timeShow time, rename date and timeShow or set tabstopsShow command summaryPseudo keyboard entryShow free memory availableSend ( 1' ݽ$ݶܬݪ5׺5׹~$&'('ܤ4$2b$[9-;"-3442b4̘󽰷2b2b9%S42b94̙h2b94̙Ch2b94d42b佰nܤ4H2b}' ݭ O2b9 ׻׺w⽚ཚF42b̙~$ݬ$ݶܬݪ42b94.,5$&9ܬ4c4*b- Zb//b44f2d4(50悌P-] $'' &04ܦ4bH2b5 '0o&н45&$ݶܬݪ 'P2b9$ݶܬݪ2b9.6$44 ' ' 体&b/bb$yݬb$yݬ2d94('ܲ&&&ݲ/.  Yܴ('(  ҽ 彰  W o H f ~ t q R 潰 X < {        w"0o0o0o0⟰o02v@@4 44K2do 4ܮ 4̐u2P42b(&4h4h4h4f2f5Say what?Missing file-name.!Illegal line range.Illegal search string.Search string not found.Search string required.No search string defined.No file name.%S%S - %S %D.%DNot found.%D Occurrences changed.File-names( _ _ _ :%S.%N[lines] %S [destination]_ _ _ _ _ _ :%S.%N %S _ _ _ _ _ _ _ _ _ _ _ _ :%S.%N %S [FileName] _ _ _ _ _ _ _ :%S.%N %S [FileName] to FileName _ :%S.%N %S [device-name]_ _ _ _ _ _ :%S.%N %S [date] [time]_ _ _ _ _ _ :%S.%N %S [tab1 [(4b2b2b ''-4b4b42d2b42b$ݶܬݪ2d9Oֻ4'4b42d׹׺5~Oֻ'444d2d2b~ ~$&&"ֻ'442d  ֻ' $ݶܬݪ~7~׺$(&"ֻ'44(ʓ4b' 2b 2ܲb/ ݲݴ4b4ܲK2d(yݾ2b9$#"ܲ446' ' 0体&)b# "b" %b4ܲ92bb$yݬ2d9444$&'~('y4$2b4ܨ4d#2d& ' m'.%n0O_4& 6#&la &la a'O4d4̑SW2b2bm&O2d9 prINTprINTpU( must be different.Memory full.Replacing string too long.%D bytes of free memory. Illegal destination line.Insufficient free memory.2~ 'Dm'0$&'&('!a'$' 佝a'2b9a '佝a'2b96?&E(tab2...[tab-n]]]_ :%S.%N %S [command-string] _ _ _ _ :%S.%N -0127<F̑g4̒]44[44ܦ4dK2d4b4̖K2d2b ::4d4h4d2d2b&5bRbdRdm&⽰44b4ܦK2d2b2f9m&)2d  ֻ' $ݶܬݪ9(ݾ945b/9Oֻ44b2bл4ܬ- .佞cP=0" Z+ 2d9c~4"所牀5ZP=c"94&-A(.<G&'('4b2boP"0' "2b9<=======('d #ܦ4b>2b'b0bd&'504 b'$b2f9b2B46d4dH2bd'<&60404b4bH2b2bĮb:4oc4gN2b5O dE4EĂx.&bĉ4d4bH2b2bb4hN2bb 2X9/'' (TpUTcHANGEdELETEgETiNPUTecHOmoVEupPERlowER#runbyesETUPmonITORtALKdiRECTORYcaTALOGnAMEscratCHrENAMEmouNTcoPYdaTEtiMEtabSEThELPeXECUTEfREEdcOMMANDlooKprINTAkk앖**OtSaves )Ȁ焽'h4h4h4f2f̗4b2b2b9' 94dd"''"&2b9"$2b90d0d O_2b9%s%n%s%n%S %S%NOutput fileDirectory4 4lm'-̱4b2b4b4b2b'2'52& 2O_9)======================BEGINNING OF FILE================================><================================END OF FILE===================================>4eaP=4bhP=À4eP=À4d4d4dK2d2h9ZP=ÀO J*9ֻֻZP=ֺ:0Ȁ & )B0 -L 0je': o2h9 ' 2b29 & 22b9TOto - .I/O error4O_ݼd 4lm'b4b2b4b4b2b 2d9 &4̞dQ2bܼ44ܰ4 2f9414m&ܰ 6作zm&4̞bQ2b4ܰQ2b b&ܰ)utput fileSource fileDisk command 414m't_4aO':' 4$5&jm''佰1m& Cƽ2|@BO4&!4 5 L':& 4 5 2a@2db'4̓9m' {2bܦ9ܦ2d9%S14l佰2b9) xref printf_,openf_,errormsg_,clmresid,clmparms,closef_ xref putrec_,fgetrec_,getchar_,errorf_ xref tableloo_,devices_ xref argc_,argv_ xref clmcmfil,clmcmd,clmdrive,clmecho,clmout ;INCLUDE ) 4l5m'ܰ4 2b  94ܲ&$ܾ' ܰzO4̱2b&S&$(&$'׸4̙FH2b&Ox44d2do佰' '(佝&!׸'4ԾH2b&0 4b54dݬ$2d9!&ݲ(ݴ) "0Ȁ94&'(' 4bz2b 2b9&&&b.#4d('44d2b52b 94&, 1!:(-5' 94ݬ὞$9Ӭ, /ܾ9& $/ (':1?& '&'01!&9' 5 & 4bzH2bܦ4bH2bܦ2d9. Lines transferred =yZ 6 ܽ ˽ E r    ⽰ 5 q  .  4dN2b4 2b94׸'*佰&̝44bH2b2b4̝Q2bOָ2b942z@ef) { 4P4bH2bP4'P4ܰH2b&{ 作& { lbz4b4b?2b2b& 4d2b 2d9o4 4bl佰2c9O44y&P/PbHoLZlbb &۽obbX4̔m2) lda #$ff ldb #count ldx #usage loop sta ,x+ decb until eq else ldb #count-2 ;no need to check the all option ldx #usage ) &ݲ(ݴ  40mb'o4c4̱2b5m''{ܲ$&&$('S4$2bb'% E444f2d2b佝&0&$' 4ܬ$b 42d94'v<&k4 &< ^&040d4)4 Oֺ4ֻ2b2n429_4\'qa'&ca&o'Ya- . o/@ '<'-')P& a - m&ֹ&jaJ &La &'k& 2 '׺a&ܤ4̟2b a'\' 74P=À4bJP=0)ntax std where endif endif call makename,command ldd helpext std -1,y ldd helpext+2 std 1,y clr 3,y call openf_,#buffer,#readmode if)blbb &2c9%S %D _ 4O_441bz'̗b '1作' {1lbb̗4d2b'2e9ܮ(44f2b#( O_4ܨ4f2b'4o(04O_b4j2b' b0&0bܦ4dH2b&b큯佰Ebbܮb#$);INCLUDE call clmresid,#$40,#help,#helpend,#helpname help ldx #usage ldb #count loop clr ,x+ decb until eq ldd #default std command call )b2b50 A& 40佰50 2&"40佰E44d4̛%W2d2b50'Z &><!5 o 2b94$&' 1!O4$*5$&O>&L>+'#-'O$&' 1!O4$!5$&O>& ' 1!O4$$5$&O>&_5'o1! 9nulsohstxetxeotenqackbelbshtl)砬&2c &&o!&S & _佟59%SX%T' m&9 9 6 9 E  6 I ܽ ̽ 9 .yyƃh4愽$'h0 '0hho4h in the key b* if ne ldx #command lslb ldd d,x stb showing endif endif endif tst showing if *ommand>] - -ALL%n" nohelp fcs "Unable to find help for %s%n" wait fcs "(more)" upline fcb $0b,$0b,$06,$00 parmblk fcb 1,1 fdb lookup,action command fdb 0 usage fdb 0 syntax fdb 0 where fdb 0 defaults*uffer. Apparently the mED actually disables the keyboard (mine does not). The editor on this disk now bypasses the ROM terminal input commands and inputs the line directly (so now you can type ahead). 3) Concerning the '%&', both Waterloo and myself