;*************************** AMUS Program Label ****************************** ; Filename: ADDCR.M68 Date: 03/22/89 ; Category: UTIL Hash Code: 551-505-143-642 Version: 1.0(100) ; Initials: DPD/AM Name: DOUG DOZIER ; Company: Telephone #: ; Related Files: NONE ; Min. Op. Sys.: Expertise Level: BEG ; Special: ; Description: Adds Carriage Returns to files which only contain Line Feeds. ; Usage: Type ADDCR at dot and follow prompts. ; ;***************************************************************************** ;--- Get symbols and macros ; SEARCH SYS SEARCH SYSSYM SEARCH TRM ;--- Define version number ; VMAJOR=1. VMINOR=0. VEDIT=100. ;original by Doug Dozier, M.D. ;--- Define variables ; .OFINI .OFDEF IDDB,D.DDB ;Input DDB for input file .OFDEF ODDB,D.DDB ;Output DDB for output file .OFSIZ IMPSIZ ;--- Define a "PRINT TAB (#,#)" macro ; DEFINE PRTTAB AA,BB MOVB #AA,D1 LSLW D1,#10 MOVB #BB,D1 TCRT ENDM ;--- Program header and variable offset assignments ; PHDR -1,0,PH$REE!PH$REU ;re-entrant, re-usable GETIMP IMPSIZ,A3 ;A3 points to variables LEA A5,IDDB(A3) ;A5 points to input file LEA A4,ODDB(A3) ;A4 point to output file ;--- type out introduction ; PRTTAB -1,0 ;clear screen PRTTAB 6,34 ;tab to here TYPE PRTTAB 10,24 ;tab to here TYPE ;--- get input file and output file (not intensive error checking) ; PRTTAB 12,20 TYPE KBD FSPEC @A5 PRTTAB 13,20 TYPE KBD FSPEC @A4 INIT @A5 ;initialize both files INIT @A4 LOOKUP @A5 ;if input file not found JNE BOOBOO ;error LOOKUP @A4 ;if output file found JEQ BOOBOO ;error OPENI @A5 ;open them OPENO @A4 PRTTAB 15,1 TYPE ;gizmo effects! ;--- read input file byte-by-byte, write to output file byte-by-byte, ; but add a CR if you ever hit a LF on the input file ; BYB: FILINB @A5 ;get a byte TST IDDB+D.SIZ(A3) ;eof? BEQ EOF ;yup CMPB D1,#12 ;at a LF? BNE 10$ ;nope MOVB #15,D1 ;yup, get a CR FILOTB @A4 ;write the CR MOVB #12,D1 ;and get the LF 10$: FILOTB @A4 ;write out the LF TYPE <.> ;gizmo effects! BR BYB ;goto top ;--- if no input file or output file exists, type message ; BOOBOO: PRTTAB 15,23 TYPE MOV #7,D1 ;get a bell TTY ;beep! BR EXIT ;--- EOF hit, so close files, finish gizmo effects! ; EOF: CLOSE @A5 CLOSE @A4 EXIT: TYPECR EXIT END .