From cb7ba38f76610642179aa369f8d48724d16d8b95 Mon Sep 17 00:00:00 2001 From: Dean Netherton Date: Fri, 12 Jul 2024 10:08:11 +1000 Subject: [PATCH] ez80uart: defer basic i/o operations to ez80 firmware --- Source/HBIOS/ez80uart.asm | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/Source/HBIOS/ez80uart.asm b/Source/HBIOS/ez80uart.asm index 28af82f7..8f88003c 100644 --- a/Source/HBIOS/ez80uart.asm +++ b/Source/HBIOS/ez80uart.asm @@ -43,36 +43,28 @@ EZUART_INIT: ; RETRIEVE THE NEXT CHARACTER FROM THE UART AND RETURN IN E 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 ; OUT CHAR IN E 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 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 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 EZUART_INITDEV: