You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

80 lines
1.9 KiB

;
;==================================================================================================
; WRAPPER FOR ZAPPLE MONITOR FOR N8VEM PROJECT
; WAYNE WARTHEN - 2012-11-26
;==================================================================================================
;
; THE FOLLOWING MACROS DO THE HEAVY LIFTING TO MAKE THE ZAPPLE SOURCE
; COMPATIBLE WITH TASM
;
#DEFINE EQU .EQU
#DEFINE NAME \;
#DEFINE PAGE .PAGE
#DEFINE CSEG .CSEG
#DEFINE DSEG .DSEG
#DEFINE ORG .ORG
#DEFINE END .END
#DEFINE IF .IF
#DEFINE ELSE .ELSE
#DEFINE ENDIF .ENDIF
#DEFINE DEFB .DB
#DEFINE DB .DB
#DEFINE DEFW .DW
#DEFINE DW .DW
#DEFINE . _
#DEFINE TITLE .TITLE
#DEFINE EXT \;
#DEFINE NOT ~
;
#ADDINSTR IN A,* DB 2 NOP 1
#ADDINSTR OUT *,A D3 2 NOP 1
#ADDINSTR ADD A 87 1 NOP 1
#ADDINSTR ADD D 82 1 NOP 1
#ADDINSTR ADD * C6 2 NOP 1
#ADDINSTR ADC A 8F 1 NOP 1
#ADDINSTR ADC * CE 2 NOP 1
#ADDINSTR SBC H 9C 1 NOP 1
;
;
;
COLOC .EQU 0
LNLOC .EQU 0
LULOC .EQU 0
PTPL .EQU 0
PULOC .EQU 0
CSLOC .EQU 0
CILOC .EQU 0
RPTPL .EQU 0
RULOC .EQU 0
;
; 16C550 SERIAL LINE UART
;
SIO_BASE .EQU 90H
SIO_RBR .EQU SIO_BASE + 0 ; DLAB=0: RCVR BUFFER REG (READ ONLY)
SIO_THR .EQU SIO_BASE + 0 ; DLAB=0: XMIT HOLDING REG (WRITE ONLY)
SIO_IER .EQU SIO_BASE + 1 ; DLAB=0: INT ENABLE REG
SIO_IIR .EQU SIO_BASE + 2 ; INT IDENT REGISTER (READ ONLY)
SIO_FCR .EQU SIO_BASE + 2 ; FIFO CONTROL REG (WRITE ONLY)
SIO_LCR .EQU SIO_BASE + 3 ; LINE CONTROL REG
SIO_MCR .EQU SIO_BASE + 4 ; MODEM CONTROL REG
SIO_LSR .EQU SIO_BASE + 5 ; LINE STATUS REG
SIO_MSR .EQU SIO_BASE + 6 ; MODEM STATUS REG
SIO_SCR .EQU SIO_BASE + 7 ; SCRATCH REGISTER
SIO_DLL .EQU SIO_BASE + 0 ; DLAB=1: DIVISOR LATCH (LS)
SIO_DLM .EQU SIO_BASE + 1 ; DLAB=1: DIVISOR LATCH (MS)
;
BAUDRATE .EQU 38400
UART_DIV .EQU (1843200 / (16 * BAUDRATE))
;
;
;
BASE .EQU $6000
;
; NOW INCLUDE THE MAIN SOURCE
;
#INCLUDE "zapple.z80"
;
.FILL $7000 - $
;
.END