|MDPORT+ COMMDPORT+ DOC xMMDPORT+ MACm;************************************************************************ ;* * ;* 09/16/86 BY RONALD E. JACOBS/JACOBS COMPUTER SERVICES * ;* MAKE THE COMPUTER TRANSPARENT- CONNECT THE CONSOLE AND SERIAL * ;* PRINTER PORTS TOGETHER. FOR THE MORROW MD2/MD3 SERIES. * ;* * ;************************************************************************ .Z80 ;USE Z80 MNEMONICS CONDAT EQU 0FCH CONST EQU 0FDH LSTDAT EQU 0FEH LSTST EQU 0FFH RXFULL EQU 1 ;RECEIVER BUFFER FULL BIT TXEMTY EQU 2 ;TRANSMITTER BUFFER EMPTY BIT INITIAL:LD HL,BUFFER ;POINTER TO BASE OF BUFFER LD DE,BUFFER ;POINTER TO BASE OF BUFFER RDCON: IN A,(CONST) ;CHECK FOR CHARACTER FROM CONSOLE BIT RXFULL,A JP Z,RDLST ;IF NO CHARACTER IS READY AT CONSOLE PORT IN A,(CONDAT) ;GET THE CHARACTER FROM THE CONSOLE CP 0 ;WAS IT THE BREAK CHARACTER? JP Z,0 ;WARM BOOT IF SO LD B,A ;SAVE CONTENTS OF A LSTMTY: IN A,(LSTST) BIT TXEMTY,A ;IS LIST PORT TRANSMITTER BUFFER EMPTY? JP Z,LSTMTY LD A,B ;GET CHARACTER THAT WAS STORED IN B OUT (LSTDAT),A ;SEND CHARACTER OUT PRINTER PORT RDLST: IN A,(LSTST) ;CHECK FOR CHARACTER FROM PRINTER PORT BIT RXFULL,A JP Z,LSTBUF ;IF NO CHARACTER IS READY AT LIST PORT IN A,(LSTDAT) ;GET THE CHARACTER FROM THE LIST SERIAL PORT LD (DE),A ;SAVE CONTENTS OF A INC DE ;STORAGE POINTER <-- STORAGE POINTER + 1 JP RDLST ;IMMEDIATELY CHECK FOR ANOTHER CHARACTER LSTBUF: LD A,E CP L JP NZ,CONMTY ;IF CHARACTERS ARE IN BUFFER LD A,D CP H JP Z,INITIAL ;IF NO CHARACTERS IN BUFFER, RESET POINTERS CONMTY: IN A,(CONST) ;IS CONSOLE PORT TRANSMITTER BUFFER EMPTY? BIT TXEMTY,A JP Z,RDLST ;IF NOT YET EMPTY, CHECK FOR INCOMING CHARACTER LD A,(HL) ;RETRIEVE CHARACTER THAT WAS STORED IN BUFFER OUT (CONDAT),A ;SEND CHARACTER TO CONSOLE INC HL ;RETRIEVE POINTER = RETRIEVE POINTER + 1 JP RDCON ;LOOP BACK, DO IT ALL OVER AGAIN BUFFER: END !HHO"GWxO0"{:zW"~# ,ʣFàMDPORT i b Ronal E Jacobs wh o Augus 11 198 i enterin i int th publi domai fo non-comercia use Ronal E Jacob reserve t himsel th righ t mak commercial use of this program. MDPORT essentiall connect th tw seria port togethe o flopp dis MicroDecision Us th setu progra firs t se th seria por bau rate o Revisio board Whe yo ru MDPORT dat commin i wil displa a i o you terminal withou passin throug th BIOS Dat fro th termina wil b sen ou o th secon seria por wit n changes withou passin throug th BIOS T exi fro MDPORT+ type the BREAK key. MDPORT ha buffe i i whic buffer character commin int th compute fro th secon seria por befor the ar sen ou th firs seria port Th buffe wil b usefu i character ar bein receive faste tha the ca b displaye o th terminal Th capacit o th buffe i abou 63k althoug i tha muc i use th operatin syste wil b wipe ou an i wil b necessar t col boo t ge bac t CP/M I th capacit o th buffe i exceede MDPORT wil writ ove itself I isn' likel tha th buffer will ever get anywhere near to filling up.