home *** CD-ROM | disk | FTP | other *** search
- ;
- ;
- ;* - - - - - - - - - - - - - - - - - - - - - *
- ;* *
- ;* - CPM-PEN - *
- ;* *
- ;* ROUTINE TO TRANSLATE CP/M FILES TO *
- ;* TO ELECTRIC PENCIL FORMAT *
- ;* (C) COPYRIGHT 1979 *
- ;* ROD HALLEN BOX 73 TOMBSTONE, AZ 85638 *
- ;* 26 JULY 1979 *
- ;* THIS PROGRAM MAY BE USED FREELY BY *
- ;* COMPUTER HOBBYISTS FOR NON-COMMERCIAL *
- ;* APPLICATIONS. IT MAY NOT BE USED FOR *
- ;* COMMERCIAL PURPOSES OR SOLD WITHOUT *
- ;* WRITTEN PERMISSION OF THE AUTHOR. *
- ;* *
- ;* ASSEMBLE WITH DIGITAL RESEARCH "MAC" *
- ;* ASSEMBLER AND SEQIO LIBRARY. INPUT *
- ;* FORMAT IS "CPM-PEN X.Y" AND OUTPUT *
- ;* FILE WILL ALWAYS BE "X.PCL". *
- ;* *
- ;* - - - - - - - - - - - - - - - - - - - - - *
- ;
- ;
- ;
- ORG 100H
- ;
- MACLIB SEQIO ;SEQUENTIAL I/O LIBRARY
- ;
- LXI H,0 ;SAVE OLD SP
- DAD SP ;AND SET UP NEW SP
- SHLD OLDSP
- LXI SP,NEWSP
- ;
- FILE INFILE,INF,,1,,1024 ;SETUP PENCIL INPUT FILE
- ;
- FILE OUTFILE,OUTF,,1,PCL,1024 ;SETUP CPM OUTPUT FILE
- ;
- MESS MES1 ;PRINT ACTIVITY MESSAGE
- ;
- CPMPN XRA A ;CLEAR ACCUMULATOR
- STA CPOS ;CLEAR CHAR POS COUNTER
- CPMP1 GET INF ;GET CHAR FROM INPUT FILE
- CPI 1AH ;CPM END OF FILE ?
- JZ DONE ;IF SO, TIME TO EXIT
- CPI 0AH ;IS IT END OF LINE ?
- JZ CPMPN ;IF SO, IGNORE AND START NEW LINE
- CPI 9 ;IS IT HORIZ TAB ?
- JZ EXTAB ;GOTO EXPANSION
- CALL OUTPT ;SEND IT
- LDA CPOS ;GET CHAR POS
- INR A ;INCREMENT IT
- STA CPOS ;STORE IT
- JMP CPMP1 ;NEXT CHARACTER
- ;
- DONE XRA A ;CLEAR ACCUMULATER
- CALL OUTPT ;SEND PENCIL EOF
- MESS MES2 ;PRINT COMPLETION MESSAGE
- FINIS OUTF ;CLOSE OUTPUT FILE
- LHLD OLDSP ;GET OLD STACK POINTER
- SPHL ;AND RESTORE IT
- RET ;RETURN TO CPM
- ;
- EXTAB MVI A,20H ;LOAD SPACE
- CALL OUTPT ;SEND IT
- LDA CPOS ;GET CHAR POSITION
- INR A ;INCREMENT IT
- STA CPOS ;STORE IT
- ANI 7 ;TAB COLUMN?
- JZ CPMP1 ;NEXT CHARACTER
- JMP EXTAB ;MORE SPACE
- ;
- OUTPT PUT OUTF ;SEND CHAR TO OUTPUT FILE
- RET
- ;
- OLDSP DS 2 ;STORAGE FOR OLD STACK POINTER
- DS 40H ;NEW STACK LOCATION
- NEWSP ;NEW STACK POINTER
- CPOS DB 0 ;CHARACTER POSITION STORAGE
- ;
- MES1 DB CR,LF,'CONVERTING CP/M FILE TO ELECTRIC PENCIL '
- DB 'FORMAT . . . . .',CR,CR,LF,'$'
- MES2 DB CR,LF,'<--- CONVERSION COMPLETE --->',CR,LF,'$'
- ;
- BUFFERS
- ;
- END
-