From 89218accd016b529d3b8b2c45a31ff8b36d0ccab Mon Sep 17 00:00:00 2001 From: Gale Faraday Date: Thu, 28 Nov 2024 11:05:23 -0600 Subject: [PATCH] feat: add hardware.inc --- code/boot/src/hardware.inc | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 code/boot/src/hardware.inc diff --git a/code/boot/src/hardware.inc b/code/boot/src/hardware.inc new file mode 100644 index 0000000..8db2894 --- /dev/null +++ b/code/boot/src/hardware.inc @@ -0,0 +1,37 @@ +; CHIBI PC-09 Hardware Definitions +; Copyright (c) 2024 Amber Zeller, Gale Faraday +; Licensed under MIT + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; Hardware Base Addresses +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; UART Registers: +UART_BASE EQU $7F00 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; UART Registers and Flags +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; When UARTF_DLAB = 0: +UART_BUFR EQU UART_BASE ; TX/RX Buffer (Read for RX, Write for TX) +UART_IER EQU UART_BASE + 1 ; Interrupt Enable Register +UART_IIR EQU UART_BASE + 1 ; Interrupt Ident Register (Upon Read) + +; When UARTF_DLAB = 1: +UART_DLL EQU UART_BASE ; Divisor Latch (LSB) +UART_DLM EQU UART_BASE + 1 ; Divisor Latch (MSB) + +UART_FCR EQU UART_BASE + 2 ; FIFO Control Register (Upon Write) +UART_LCR EQU UART_BASE + 3 ; Line Control Register +UART_MCR EQU UART_BASE + 4 ; MODEM Control Register +UART_LSR EQU UART_BASE + 5 ; Line Status Register +UART_MSR EQU UART_BASE + 6 ; MODEM Status Register +UART_SCR EQU UART_BASE + 7 ; Scratch Register (Not for control just spare RAM) + +; UART Flags +UARTF_DLAB EQU %00000001