|
|
@ -43,36 +43,28 @@ EZUART_INIT: |
|
|
|
|
|
|
|
|
; RETRIEVE THE NEXT CHARACTER FROM THE UART AND RETURN IN E |
|
|
; RETRIEVE THE NEXT CHARACTER FROM THE UART AND RETURN IN E |
|
|
EZUART_IN: |
|
|
EZUART_IN: |
|
|
IN0_A (UART0_LSR) ; CHECK FOR RX READY |
|
|
|
|
|
AND LSR_DR |
|
|
|
|
|
JR Z, EZUART_IN |
|
|
|
|
|
|
|
|
|
|
|
IN0_E (UART0_RBR) ; GET THE CHAR |
|
|
|
|
|
|
|
|
|
|
|
XOR A ; SIGNAL SUCCESS |
|
|
|
|
|
|
|
|
LD A, 3 ; UART |
|
|
|
|
|
LD B, 0 ; UART-IN |
|
|
|
|
|
EZ80_FN ; CHAR RETURNED IN E |
|
|
RET |
|
|
RET |
|
|
|
|
|
|
|
|
; OUT CHAR IN E |
|
|
; OUT CHAR IN E |
|
|
EZUART_OUT: |
|
|
EZUART_OUT: |
|
|
IN0_A (UART0_LSR) ; WAIT FOR TX READY |
|
|
|
|
|
AND LSR_THRE |
|
|
|
|
|
JR Z, EZUART_OUT |
|
|
|
|
|
|
|
|
|
|
|
OUT0_E (UART0_THR) ; SEND THE CHAR |
|
|
|
|
|
|
|
|
|
|
|
XOR A ; SIGNAL SUCCESS |
|
|
|
|
|
|
|
|
LD A, 3 ; UART |
|
|
|
|
|
LD B, 1 ; UART-OUT |
|
|
|
|
|
EZ80_FN |
|
|
RET |
|
|
RET |
|
|
|
|
|
|
|
|
EZUART_IST: |
|
|
EZUART_IST: |
|
|
IN0_A (UART0_LSR) ; CHECK FOR RX READY |
|
|
|
|
|
AND LSR_DR |
|
|
|
|
|
|
|
|
LD A, 3 ; UART |
|
|
|
|
|
LD B, 2 ; UART-IST |
|
|
|
|
|
EZ80_FN |
|
|
RET |
|
|
RET |
|
|
|
|
|
|
|
|
EZUART_OST: |
|
|
EZUART_OST: |
|
|
IN0_A (UART0_LSR) ; WAIT FOR TX READY |
|
|
|
|
|
AND LSR_THRE |
|
|
|
|
|
RET Z |
|
|
|
|
|
LD A, 1 |
|
|
|
|
|
|
|
|
LD A, 3 ; UART |
|
|
|
|
|
LD B, 3 ; UART-OST |
|
|
|
|
|
EZ80_FN |
|
|
RET |
|
|
RET |
|
|
|
|
|
|
|
|
EZUART_INITDEV: |
|
|
EZUART_INITDEV: |
|
|
|