1
0
mirror of https://github.com/livingcomputermuseum/Darkstar.git synced 2026-03-02 10:06:45 +00:00
Files
livingcomputermuseum.Darkstar/D/IOP/Source/MoonPrint.asm,v
2023-09-27 16:17:41 -07:00

39 lines
19 KiB
Plaintext

head 1.1;
branch 1.1.1;
access ;
symbols start:1.1.1.1 Xerox:1.1.1;
locks ; strict;
comment @;; @;
1.1
date 2001.08.12.22.22.10; author freier; state Exp;
branches 1.1.1.1;
next ;
1.1.1.1
date 2001.08.12.22.22.10; author freier; state Exp;
branches ;
next ;
desc
@@
1.1
log
@Initial revision
@
text
@; Copyright (C) 1980, 1987 by Xerox Corporation. All rights reserved.
; Last modification by
; Modification History:
;
; changed to version 8.0 by HEM 11-Dec-87 18:29:33
; - Created (June 4, 1980 12:59 PM)
;
get "SysDefs.asm" ; system defs (tests defs below)
get "MOONLinkDefs.asm" ; system links
get "MOONSysDefs.asm" ; system defs
; EXPORTS:
EXP PrinterSetUp
;-----------------------------------------------------------------
jmp PrinterSetUp
Test:
db 0
PassCount:
db 0
StopOnErr:
db 0
PrintStatus
DB 0
APFData
DB 0
NormalData
DB 0
PrinterFault:
db 0 ;
TEMP:
db 0
APFOPT:
db 0
InData
DB 0
OutData
DB 0
TXError
DB 0
Save
DW 0
BYTCNT
DW 0
STADDR
DW 0
PrinterSetUp:
LXI SP, UserStkStart
call ExtTEIIndexAdd ; Returns with TestN * 16 + EIBuffer in h and l
mov a,m ;
sta Test
inx h
mov a,m ;
sta PassCount
inx h
mov a,m ;
sta StopOnErr
lda Test
cpi 18
jnz PrinterSetUp1
call USARTINIT1
jmp Loopbacktest
PrinterSetUp1:
call USARTINIT
CALL PrinterInit
TestDecode:
lda Test
cpi 0
jz LogIt
CPI 1
JZ TM1
cpi 2
jz TM2
cpi 3
jz TM3
cpi 4
jz TM4
cpi 5
jz TM5
CPI 6
JZ TM6
cpi 7
jz TM7
cpi 8
jz TM8
cpi 9
jz TM9
cpi 10
jz TM10
cpi 11
jz TM11
CPI 12
JZ TM12
cpi 13
jz TM13
cpi 14
jz TM14
cpi 15
jz TM15
cpi 16
jz TM16
cpi 17
jz TM17
CALL CLEARSTRD
jmp Loopbacktest
LogIt:
LXI SP, UserStkStart
call ExtTEIIndexAdd ; Returns with TestN * 16 + EIBuffer in h and l
mvi e,12
mvi d,0
dad d
lda PrintStatus
mov m,a ;
inx h
lda APFData
mov m,a ;
inx h
lda NormalData
mov m,a ;
inx h
lda PrinterFault
mov m,a ;
call ExtMonitorKeyIn
lda StopOnErr
cpi 0
jnz PrinterSetUp
lda PassCount
dcr a
sta PassCount
jnz TestDecode
jmp ExtMonitorTestDone
ERRLogIt:
mov a,e
sta PrinterFault
mvi a,1
sta PassCount
jmp LogIt
USARTINIT: ; Initiate USART
MVI B,0H ; B ¬ MSB, C ¬ LSB
MVI C,48 ; 12D=Devisor for 2400Hz of Async mode(X16)
MVI A,OSCcmd ; Frequncy and Mode Set to i8253 (for USART)
OUT TimerMode ; Counter#0, LSB & MSB, Mode3, Binary
MOV A,C
OUT TimerCount0
MOV A,B
OUT TimerCount0 ; End of Initiatlize Baud-Rate generator
MVI A,Reset0 ; Reset UART
OUT PrinterCommand
MVI A,Reset1
OUT PrinterCommand
MVI A,Reset2
OUT PrinterCommand
NOP ; Needed for B-step chips
MVI A,PTMode630 ; Set Mode value (assumed asynchronous)
OUT PrinterCommand
MVI A,Enable ; Set UART Command
OUT PrinterCommand
CALL ClearRx
ret
USARTINIT1: ; Initiate USART
MVI B,0H ; B ¬ MSB, C ¬ LSB
MVI C,12 ; 12D=Devisor for 9600Hz of Async mode(X16)
MVI A,OSCcmd ; Frequncy and Mode Set to i8253 (for USART)
OUT TimerMode ; Counter#0, LSB & MSB, Mode3, Binary
MOV A,C
OUT TimerCount0
MOV A,B
OUT TimerCount0 ; End of Initiatlize Baud-Rate generator
MVI A,Reset0 ; Reset UART
OUT PrinterCommand
MVI A,Reset1
OUT PrinterCommand
MVI A,Reset2
OUT PrinterCommand
NOP ; Needed for B-step chips
MVI A,PTMode ; Set Mode value (assumed asynchronous)
OUT PrinterCommand
ret
PrinterInit:
MVI A,PrtBreak+Enable
OUT PrinterCommand
LXI D,1
CALL WaitThisTime
MVI A,Enable ; Set UART Command
OUT PrinterCommand
LXI D,1
CALL WaitThisTime
CALL ClearRx
LXI H,PRTBUF
MVI M,6
INX H
MVI M,0
INX H
MVI M,0
INX H
CALL STPRTBFA
CALL SEND3BYT
LXI D,1
CALL WaitThisTime
CALL ClearRx
CALL ReqInData
CALL IfNoRxErr
lda APFOPT
cpi 1
jz APFRestore
CALL CheckInData
APFRestore:
lda APFOPT
cpi 0
RZ
lda Test
cpi 1
jz LogIt
LXI H,PRTBUF
MVI M,20H
INX H
MVI M,0
INX H
MVI M,60H
INX H
CALL STPRTBFA
CALL SEND3BYT
CALL ReqAPFData
CALL IfNoAPFRxErr
CALL CheckInData
ret
TM1:
CALL APFFEEDCMD
MVI M,80H
INX H
MVI M,0
INX H
MVI M,1
INX H
CALL ADD3BYT
CALL STPRTBFA
CALL SENDNBYT
LXI D,30
CALL WaitThisTime
CALL IfNoRxErr
lda InData
sta NormalData
Cpi 0C0H
jz LogIt
ori 0F0H
jmp ErrLogIt
TM2:
CALL APFFEEDCMD
MVI M,2
INX H
mvi M,0
INX H
mvi M,0
INX H
CALL ADD3BYT
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM3:
CALL APFFEEDCMD
MVI D,20
TM3LOOP:
MVI M,2
INX H
mvi M,0
INX H
mvi M,0
INX H
CALL ADD3BYT
DCR D
JNZ TM3LOOP
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM4:
CALL APFFEEDCMD
MVI M,8
INX H
MVI M,11
INX H
mvi a,80H
MOV M,A
INX H
CALL ADD3BYT
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM5:
CALL APFFEEDCMD
MVI M,8
INX H
MVI M,11
INX H
mvi a,0
MOV M,A
INX H
CALL ADD3BYT
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM6:
CALL APFFEEDCMD
CALL FEEDCMD
MVI D,35
TM6LOOP:
LXI B,0CC17H
CALL PRINTANDCR
LXI B,9C53H
CALL PRINTANDCR
DCR D
JNZ TM6LOOP
LXI D,8348H
CALL NSTEPCAR
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM7:
CALL APFFEEDCMD
CALL FEEDCMD
MVI D,4
TM7LOOP:
PUSH B
LXI B,0BC05H
CALL PRINTANDHOME
LXI B,0BC5AH
CALL PRINTANDHOME
LXI B,0CC06H
CALL PRINTANDHOME
LXI B,9C53H
CALL PRINTANDHOME
LXI B,0BC07H
CALL PRINTANDHOME
LXI B,0CC58H
CALL PRINTANDHOME
LXI B,0BC08H
CALL PRINTANDHOME
LXI B,0AC57H
CALL PRINTANDHOME
LXI B,0BC09H
CALL PRINTANDHOME
LXI B,0CC56H
CALL PRINTANDHOME
LXI B,0CC0AH
CALL PRINTANDHOME
LXI B,0AC55H
CALL PRINTANDHOME
LXI B,0BC0BH
CALL PRINTANDHOME
LXI B,0CC3EH
CALL PRINTANDHOME
LXI B,0BC0CH
CALL PRINTANDHOME
LXI B,9C53H
CALL PRINTANDHOME
DCR D
JNZ TM7LOOP
LXI D,8300H
CALL NSTEPCAR
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM8:
CALL APFFEEDCMD
CALL FEEDCMD
MVI C,35
TM8LOOP:
PUSH B
LXI B,9850H
CALL PRINTANDCR
LXI B,9818H
CALL PRINTANDCR
POP B
DCR C
JNZ TM8LOOP
LXI D,8348H
CALL NSTEPCAR
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM9:
CALL APFFEEDCMD
CALL FEEDCMD
LXI H,TM9BUFFER
SHLD STADDR
LXI H,84
SHLD BYTCNT
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM10:
CALL APFFEEDCMD
CALL FEEDCMD
LXI B,9C36H
MVI A,2
STA TEMP
TM10LOOP:
MVI E,4
TM10LOOP1:
MVI D,10
TM10LOOP2:
CALL PRINTANDCR
DCR D
JNZ TM10LOOP2
MVI A,10H
ADD B
MOV B,A
PUSH D
LXI D,8078H
CALL NSTEPCAR
CALL LINEFEED
POP D
DCR E
JNZ TM10LOOP1
LXI B,9C10H
CALL LINEFEED
LDA TEMP
DCR A
STA TEMP
JNZ TM10LOOP
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM11:
CALL APFFEEDCMD
CALL FEEDCMD
LXI B,0B32FH
MVI D,48
TM11LOOP:
CALL PRINTANDCR
DCR D
JNZ TM11LOOP
LXI D,8240H
CALL NSTEPCAR
CALL LINEFEED
LXI B,0C64AH
MVI D,24
TM11LOOP1:
CALL PRINTANDCR
DCR D
JNZ TM11LOOP1
LXI D,8120H
CALL NSTEPCAR
CALL LINEFEED
LXI B,0C836H
MVI D,18
TM11LOOP2:
CALL PRINTANDCR
DCR D
JNZ TM11LOOP2
LXI D,80D2H
CALL NSTEPCAR
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM12:
CALL APFFEEDCMD
CALL FEEDCMD
MVI D,35
TM12LOOP:
LXI B,0A50EH
CALL PRINTANDCR
LXI B,0B73CH
CALL PRINTANDCR
DCR D
JNZ TM12LOOP
LXI D,8348H
CALL NSTEPCAR
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM13:
CALL APFFEEDCMD
CALL FEEDCMD
MVI D,35
TM13LOOP:
LXI B,0B526H
CALL PRINTANDCR
LXI B,0B527H
CALL PRINTANDCR
DCR D
JNZ TM13LOOP
LXI D,8348H
CALL NSTEPCAR
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM14:
CALL APFFEEDCMD
CALL FEEDCMD
MVI D,10
TM14LOOP:
PUSH D
LXI B,0C650H
CALL PRINTBC
LXI D,0348H
CALL NSTEPCAR
LXI B,0C650H
CALL PRINTBC
LXI D,8348H
CALL NSTEPCAR
CALL LINEFEED
POP D
DCR D
JNZ TM14LOOP
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM15:
CALL APFFEEDCMD
CALL FEEDCMD
MVI D,10
TM15LOOP:
PUSH D
LXI B,0C650H
CALL PRINTBC
LXI D,0050H
CALL NSTEPCAR
LXI B,0C650H
CALL PRINTBC
LXI D,8050H
CALL NSTEPCAR
CALL LINEFEED
POP D
DCR D
JNZ TM15LOOP
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM16:
lxi h,Buffer
CALL GenBuf
CALL STPRTBFA
CALL SENDNBYT
lxi h,Buffer1
CALL RGenBuf
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
TM17:
CALL APFFEEDCMD
CALL FEEDCMD
MVI D,70
TM17LOOP:
LXI B,0B72EH
CALL PRINTANDCR
DCR D
JNZ TM17LOOP
LXI D,8348H
CALL NSTEPCAR
CALL LINEFEED
MVI D,5
TM17LOOP1:
PUSH D
LXI B,0B72EH
CALL PRINTBC
LXI D,033CH
CALL NSTEPCAR
LXI B,0B72EH
CALL PRINTBC
LXI D,833CH
CALL NSTEPCAR
CALL LINEFEED
POP D
DCR D
JNZ TM17LOOP1
CALL ReqAPFBail
CALL STPRTBFA
CALL SENDNBYT
CALL REBYTCNT
LXI H,PRTBUF
MVI D,48
TM17LOOP2:
PUSH D
LXI B,0B72EH
CALL PRINTBC
LXI D,033CH
CALL NSTEPCAR
LXI B,0B72EH
CALL PRINTBC
LXI D,833CH
CALL NSTEPCAR
CALL LINEFEED
POP D
DCR D
JNZ TM17LOOP2
MVI D,70
TM17LOOP3:
LXI B,0B72EH
CALL PRINTANDCR
DCR D
JNZ TM17LOOP3
LXI D,8348H
CALL NSTEPCAR
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call Eject
JMP LogIt
SEND3BYT:
LXI H,3
SHLD BYTCNT
SENDNBYT:
LHLD BYTCNT
MOV B,H
MOV C,L
LHLD STADDR
SENDBYT1:
CALL CLEARSTRD
MOV A,M
STA OutData
CALL PRTWR
INX H
DCX B
mov a,C ; Check low
cpi 0
jnz SENDBYT1
mov a,B ; Check high
cpi 0
jnz SENDBYT1
RET
CLEARSTRD:
mvi a,0
sta PrintStatus
sta APFData
sta NormalData
sta PrinterFault
sta TXError
RET
PRTWR:
IN PrinterStatus ; Check Error
sta PrintStatus
ANI DSR
JZ StatusErr
IN IntReq ; Watch Condition of USART
ANI PtrRxReqMask
jz RxReq ; TTY request is active low
IN IntReq ; Watch Condition of USART
ANI PtrTxReqMask
JNZ NoTxReq
LDA OutData
OUT PrinterData ; Data Sent
ret
StatusErr:
mvi e,1 ;need fault code
jmp ErrLogIt
NoTxReq:
lda TXError
inr a
STA TXError
cpi 0
jnz Wait
mvi e,2 ; fault code
jmp ErrLogIt
Wait:
push h
lxi h,1000 ; Constant
WaitLoop:
IN IntReq ; Watch Condition of USART
ANI PtrTxReqMask
JZ WaitExit
dcx h
mov a,l ; Check low
cpi 0
jnz WaitLoop
mov a,h ; Check high
cpi 0
jnz WaitLoop
WaitExit:
pop h
jmp PRTWR
RXWait:
lxi h,10 ; Constant
RXWaitLoop:
push h
push d
IN IntReq ; Watch Condition of USART
ANI PtrRxReqMask
JZ RXWaitExit
LXI D,1
CALL WaitThisTime
pop d
pop h
dcx h
mov a,l ; Check low
cpi 0
jnz RXWaitLoop
mov a,h ; Check high
cpi 0
jnz RXWaitLoop
jmp ErrLogIt
RXWaitExit:
pop d
pop h
jmp GetRx
RxReq:
call GetRx
CALL CheckInData
MVI E,3
jmp ErrLogIt
IfNoRxErr:
mvi e,4
jmp RXWait
IfNoAPFRxErr:
mvi e,5
jmp RXWait
ClearRx:
IN IntReq ; Watch Condition of USART
ANI PtrRxReqMask
rnz
jmp GetRx
GetRx:
IN PrinterData ; Data Sent
STA InData
ret
ReqInData:
LXI H,PRTBUF
MVI M,1
INX H
MVI M,0
INX H
MVI M,0
INX H
CALL STPRTBFA
CALL SEND3BYT
RET
ReqAPFData:
LXI H,PRTBUF
MVI M,20H
INX H
MVI M,0
INX H
MVI M,70H
INX H
CALL STPRTBFA
CALL SEND3BYT
RET
ReqAPFBail:
MVI M,20H
INX H
MVI M,0
INX H
MVI M,10H
INX H
CALL ADD3BYT
RET
ReqAPFNextSheet:
CALL REBYTCNT
LXI H,PRTBUF
LXI D,0160H
CALL NSTEPCAR
MVI M,20H
INX H
MVI M,0
INX H
MVI M,20H
INX H
CALL ADD3BYT
CALL STPRTBFA
CALL SENDNBYT
RET
Eject:
lda APFOPT
cpi 0
rz
CALL REBYTCNT
LXI H,PRTBUF
LXI D,0200H
CALL NSTEPCAR
MVI M,20H
INX H
MVI M,0FFH
INX H
MVI M,1
INX H
CALL ADD3BYT
LXI D,8200H
CALL NSTEPCAR
CALL STPRTBFA
CALL SENDNBYT
CALL ReqInData
CALL IfNoRxErr
CALL ReqAPFData
CALL IfNoAPFRxErr
CALL CheckInData
RET
TopOfPage:
CALL REBYTCNT
LXI H,PRTBUF
MVI M,20H
INX H
MVI M,95H
INX H
MVI M,0
INX H
CALL ADD3BYT
RET
CheckInData:
lda InData
Ani 9
cpi 9
jz CheckAPF
ani 1
sta APFOPT
lda InData
sta NormalData
MVI E,6
ani 80H
jz ErrLogIt
MVI E,7
LDA InData
ani 40H
jnz ErrLogIt
MVI E,8
LDA InData
ani 20H
jnz ErrLogIt
MVI E,8
LDA InData
ani 10H
jnz ErrLogIt
MVI E,10
LDA InData
ani 8H
jnz ErrLogIt
MVI E,11
LDA InData
ani 4H
jnz ErrLogIt
MVI E,12
LDA InData
ani 2H
jnz ErrLogIt
ret
CheckAPF:
lda InData
sta APFData
MVI a,1
sta APFOPT
MVI E,13
LDA InData
ani 20H
jz ErrLogIt
MVI E,14
LDA InData
ani 10H
jnz ErrLogIt
MVI E,15
LDA InData
ani 4H
jnz ErrLogIt
MVI E,16
LDA InData
ani 2H
jnz ErrLogIt
ret
WaitThisTime:
lxi h,DelayVU0
xchg
call ExtDelay
ret
STPRTBFA:
LXI H,PRTBUF
SHLD STADDR
RET
REBYTCNT:
LXI H,0
SHLD BYTCNT
RET
ADD3BYT:
PUSH H
LHLD BYTCNT
INX H
INX H
INX H
SHLD BYTCNT
POP H
RET
APFFEEDCMD:
CALL REBYTCNT
LXI H,PRTBUF
lda APFOPT
cpi 0
rz
mvi a,1
sta PassCount
Call Eject
CALL ReqAPFNextSheet
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
Call TopOfPage
CALL STPRTBFA
CALL SENDNBYT
CALL ReqAPFData
CALL IfNoAPFRxErr
CALL CheckInData
lda Test
cpi 17
jz APFFEEDCMD1
Call TopOfPage
CALL ReqAPFBail
CALL STPRTBFA
CALL SENDNBYT
APFFEEDCMD1:
CALL ReqInData
CALL IfNoRxErr
CALL CheckInData
CALL REBYTCNT
LXI H,PRTBUF
Ret
FEEDCMD:
lda APFOPT
cpi 0
rnz
CALL REBYTCNT
LXI H,PRTBUF
Call LINEFEED
Call LINEFEED
RET
LINEFEED:
MVI M,20H
INX H
MVI M,8
INX H
MVI M,0
INX H
CALL ADD3BYT
RET
CRMOTION:
MVI M,10H
INX H
MVI M,0CH
INX H
MVI M,0
INX H
CALL ADD3BYT
RET
RCRMOTION:
MVI M,10H
INX H
MVI M,0CH
INX H
MVI M,80H
INX H
CALL ADD3BYT
RET
NSTEPCAR:
MVI M,10H
INX H
MOV M,E
INX H
MOV M,D
INX H
CALL ADD3BYT
RET
PRINTANDCR:
CALL PRINTBC
CALL CRMOTION
RET
PRINTBC:
MVI M,8
INX H
MOV M,C
INX H
MOV M,B
INX H
CALL ADD3BYT
RET
PRINTANDHOME:
CALL PRINTANDCR
MVI M,8
INX H
MVI M,0
INX H
MVI M,0
INX H
CALL ADD3BYT
RET
GenBuf: ;buffer pointer in h,l count in d puts ch into b and c
shld Save
CALL APFFEEDCMD
CALL FEEDCMD
MVI D,72
GenBufloop:
push h
lhld Save
mov c,m
INX H
MOV b,m
INX H
shld Save
pop h
CALL PRINTANDCR
dcr d
rz
jmp GenBufloop
RGenBuf: ;buffer pointer in h,l count in d puts ch into b and c
shld Save
CALL REBYTCNT
LXI H,PRTBUF
CALL LINEFEED
MVI D,72
RGenBufloop:
push h
lhld Save
mov b,m
dcx H
MOV c,m
dcx H
shld Save
pop h
CALL RCRMOTION
CALL PRINTBC
dcr d
rz
jmp RGenBufloop
Loopbacktest:
MVI A,Enable ; Set UART Command
OUT PrinterCommand
lxi h,BufferI
Loopbacktest1:
mov a,m
sta OutData
cpi 0
jz LogIt
call Loopback
inx h
jmp Loopbacktest1
Loopback:
IN PrinterStatus ; Check Error
ANI DSR
JZ StatusError
mvi D,16
call TXWait
LDA OutData
OUT PrinterData ; Data Send
ret
TXWait: push h
lxi h,0 ; Constant
TXWaitLoop:
IN IntReq ; Watch Condition of USART
ANI PtrTxReqMask
jz TXWaitExit
dcx h
mov a,l ; Check low
cpi 0
jnz TXWaitLoop
mov a,h ; Check high
cpi 0
jnz TXWaitLoop
dcr d
jz NoTxReqI
push d
LXI D,1
CALL WaitThisTime
pop d
pop h
jmp TXWait
TXWaitExit:
pop h
ret
StatusError:
mvi e,1
jmp ERRLogIt
NoTxReqI:
mvi e,2
jmp ERRLogIt
BufferI:
DB 0DH
DB 0AH
DB "******************************************************************************"
DB 0DH
DB 0AH
DB 0AH
DB 0AH
DB 0AH
DB 0AH
DB "THIS PROGRAM IS THE BOOT DIAGNOSTICS VERSION 8.0"
DB 0DH
DB 0AH
DB 0AH
DB "THIS MESSAGE CONFIRMS THAT THE TTY PRINTER DEVICE IS OPERATIONAL."
DB 0DH
DB 0AH
DB 0DH
DB 0AH
DB "The following is a simple test pattern"
DB 0DH
DB 0AH
DB 0AH
DB 0AH
DB "1234567890ABCDEFGHIJKLMNOPQRSTYVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
DB 0DH
DB 0AH
DB 0AH
DB "To check printer buffer set LOOP ON TEST and let run for one minute."
DB 0DH
DB 0AH
DB 0AH
DB 0AH
DB 0AH
DB 0AH
DB 0AH
DB 0
TM9BUFFER:
DB 20H,8,0
DB 8,83,9CH
DB 20H,8,0
DB 8,83,9CH
DB 10H,0CH,0
DB 8,83,9CH
DB 20H,8,80H
DB 8,83,9CH
DB 10H,0CH,0
DB 8,83,9CH
DB 20H,8,0
DB 8,83,9CH
DB 10H,0CH,0
DB 8,83,9CH
DB 20H,8,80H
DB 8,83,9CH
DB 10H,0CH,80H
DB 8,83,9CH
DB 20H,8,0
DB 8,83,9CH
DB 10H,0CH,80H
DB 8,83,9CH
DB 20H,8,80H
DB 8,83,9CH
DB 10H,0CH,80H
DB 8,83,9CH
DB 20H,8,0
DB 8,83,9CH
Buffer:
DB 78,0C7H
DB 88,0C6H
DB 60,0B7H
DB 64,0C7H
DB 80,0C6H
DB 74,0C6H
DB 56,0C7H
DB 70,0C7H
DB 71,0B3H
DB 75,0B5H
DB 50,0C7H
DB 76,0B6H
DB 58,0C8H
DB 72,0C7H
DB 66,0C7H
DB 86,0C6H
DB 44,0C7H
DB 68,0C7H
DB 82,0C5H
DB 77,0B6H
DB 62,0C7H
DB 84,0B6H
DB 54,0C8H
DB 46,0B7H
DB 52,0B7H
DB 90,0B6H
DB 37,0B5H
DB 28,0B5H
DB 34,0B5H
DB 36,0B5H
DB 38,0B5H
DB 51,0B4H
DB 31,0C5H
DB 35,0B5H
DB 49,0A3H
DB 47,0B3H
DB 27,0B5H
DB 53,0B3H
DB 48,0C8H
DB 39,0B5H
DB 40,0C5H
DB 29,0C5H
DB 24,0C5H
DB 41,0A4H
DB 45,0B4H
DB 43,0B4H
DB 33,0B5H
DB 32,0B5H
DB 42,0B7H
DB 26,0B5H
DB 30,0B5H
DB 25,0B5H
DB 14,0A5H
DB 13,0B5H
DB 12,0B5H
DB 11,0B5H
DB 9,0B5H
DB 8,0B5H
DB 7,0B5H
DB 6,0C5H
DB 5,0B5H
DB 10,0C5H
DB 61,094H
DB 87,0A5H
DB 69,0A3H
DB 65,0A4H
DB 17,0C8H
DB 83,095H
DB 85,0A5H
DB 63,0A4H
DB 67,0A3H
DB 79
Buffer1:
DB 0A5H
PRTBUF
DS 100
end
@
1.1.1.1
log
@first add
@
text
@@