+++ /dev/null
-* (O$LA)
-*
-*
-* PROGRAM TITLE: O$LA (O$LA,O$LE,O$LH,O$LC,O$LF)
-* LINE PRINTER ROUTINES
-*
-* REVISIONS:
-* 1.0 (2005-02.04)
-*
-* AUTHOR
-*
-* PHILIPP HACHTMANN
-*
-*
-* PURPOSE
-*
-* THESE ARE THE LIBRARY ROUTINES FOR HACHTI'S LINE PRINTER INTERFACE
-*
-*
-* RESTRICTIONS
-*
-* DEPENDS ON HACHTI'S HARDWARE AND FORTRAN IV COMPILER TAPE
-*
-*
-* STORAGE
-*
-* 420 (OCTAL)
-* 271 (DECIMAL)
-*
-*
-* USE
-*
-* CALL O$LA
-* DAC (BUFFER ADDRESS)
-* NORMAL
-*
-* THIS PRINTS ONE LINE OF LISING TEXT
-* (60 2-CHAR WORDS MAX) TO THE LINE PRINTER.
-*
-*
-*
-********************************************************************************
-*
- SUBR O$PA TYPE A COMPLETE LINE WITH CR/LF, HEADING ETC.
-*
-********************************************************************************
-*
- REL RELOCATEABLE MODE
-*
-O$PA DAC **
- LDA* O$PA BUFFER ADDRESS
- STA LBUF STORE
- JST T1 PUNCH THE RECORD
-LBUF OCT 0 ADDRESS OF LINE BUFFER
- JST T20 CARRIAGE RETURN
- JST T30 LINE FEED
- IRS O$LA MAKE RETURN ADDRESS
- JMP* O$LA RETURN
-
-************************************************************
-*
-* OUTPUT LINE
-T1 DAC **
- STX XR SAVE CALLER'S INDEX REGISTER
- LDA* T1 LOAD BUFFER ADDRESS
- ADD LNW LINE WIDTH
- ADD ='40000 SET INDEXING TAG
- STA T6
- IRS T1 INCREMENT RETURN ADDRESS
- LDA LNW LINE WIDTH
- TCA NEGATE
- STA 0 PUT INTO INDEX REG
-T3 LDA* T6
- CAS ='120240
- JMP *+2
-*
- JMP T8
-T4 JST T14
- IRS 0
- JMP T3
- LDX XR RESTORE CALLER'S INDEX REGISTER
- JMP* T1
-T6 *** **
-*
-*
-T8 LDA 0
- STA T12
-T10 IRS 0
- JMP *+2
- JMP* T1
- LDA* T6
- CAS ='120240
- JMP *+2
- JMP T10
- LDA T12
- STA 0
- LDA ='120240
- JMP T4
-T12 *** **
-*
-*
-T14 DAC **
- ICA
- OTA 0
- JMP *-1
- ICA
- OTA 0
- JMP *-1
- JMP* T14
-****
-*
-* CARRIAGE RETURN
-T20 DAC **
- LDA =13 CR CHARACTER
- OTA 0 OUTPUT
- JMP *-1
- JMP* T20 RETURN
-*
-* LINE FEED
-T30 DAC **
- LDA =10 LF CHARACTER
- OTA 0 OUTPUT
- JMP *-1 RETURN
- JMP* T30
-*
-*
- FIN WRITE OUT LITERALS
-*
-* PUH.....
-*
- END