From 98cab31fc3659e33aef260efca55bf9f1753164c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 11 Feb 2019 11:49:19 +0100 Subject: Add source files from Michael --- system/shard-z80-ruc-64180/1.5/src/HD64180.LIB | 160 +++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 system/shard-z80-ruc-64180/1.5/src/HD64180.LIB (limited to 'system/shard-z80-ruc-64180/1.5/src/HD64180.LIB') diff --git a/system/shard-z80-ruc-64180/1.5/src/HD64180.LIB b/system/shard-z80-ruc-64180/1.5/src/HD64180.LIB new file mode 100644 index 0000000..9fed3f4 --- /dev/null +++ b/system/shard-z80-ruc-64180/1.5/src/HD64180.LIB @@ -0,0 +1,160 @@ + +; HD64180-Macro-Library - 14.04.85 + + .z80 + .xlist + +CNTLA0 equ 00h +CNTLA1 equ 01h +CNTLB0 equ 02h +CNTLB1 equ 03h +STAT0 equ 04h +STAT1 equ 05h +TDR0 equ 06h +TDR1 equ 07h +TSR0 equ 08h +TSR1 equ 09h +CNTR equ 0ah +TRDR equ 0bh +TMDROL equ 0ch +TMDROH equ 0dh +RLDROL equ 0eh +RLDROH equ 0fh +TCR equ 10h +TMDR1L equ 14h +TMDR1H equ 15h +RLDR1L equ 16h +RLDR1H equ 17h +SAR0L equ 20h +SAR0H equ 21h +SAR0B equ 22h +DAR0L equ 23h +DAR0H equ 24h +DAR0B equ 25h +BCR0L equ 26h +BCR0H equ 27h +MAR1L equ 28h +MAR1H equ 29h +MAR1B equ 2ah +IAR1L equ 2bh +IAR1H equ 2ch +BCR1L equ 2eh +BCR1H equ 2fh +DSTAT equ 30h +DMODE equ 31h +DCNTL equ 32h +IL equ 33h +ITC equ 34h +RCR equ 36h +CBR equ 38h +BBR equ 39h +CBAR equ 3ah +ICR equ 3fh + +hdword macro x + if '&X' eq 'BC' or '&X' eq 'bc' +ww defl 0 ; INIT mit 0, BC=0 + else + if '&X' eq 'DE' or '&X' eq 'de' +ww defl 1 + else + if '&X' eq 'HL' or '&X' eq 'hl' +ww defl 2 + else + if '&X' eq 'SP' or '&X' eq 'sp' +ww defl 3 + else + .printx 'HD-Word-Error' + endif + endif + endif + endif + endm + + +hdreg macro x + ifidn ,<(hl)> +reg defl 6 + else + ifidn ,<(HL)> +reg defl 6 + else + if '&X' eq 'B' or '&X' eq 'b' +reg defl 0 + else + if '&X' eq 'C' or '&X' eq 'c' +reg defl 1 + else + if '&X' eq 'D' or '&X' eq 'd' +reg defl 2 + else + if '&X' eq 'E' or '&X' eq 'e' +reg defl 3 + else + if '&X' eq 'H' or '&X' eq 'h' +reg defl 4 + else + if '&X' eq 'L' or '&X' eq 'l' +reg defl 5 + else + if '&X' eq 'A' or '&X' eq 'a' +reg defl 7 + else + .printx 'HD-Reg Error' + endif + endif + endif + endif + endif + endif + endif + endif + endif + endm + +mlt macro x + hdword x + db 0edh,4ch+ww*10h + endm + +slp macro + db 0edh,076h + endm + +in0 macro x,y + hdreg x + db 0edh,reg*8,y + endm + +out0 macro y,x + hdreg x + db 0edh,reg*8+1,y + endm + +tst macro x ; Test register + hdreg x + db 0edh,reg*8+4 + endm + +otim macro + db 0edh,83h + endm + +otimr macro + db 0edh,93h + endm + +otdm macro + db 0edh,8bh + endm + +otdmr macro + db 0edh,9bh + endm + +tstio macro x + db 0edh,074h,x + endm + +; ENDE der HD64180-Macros + \ No newline at end of file -- cgit v1.2.3