summaryrefslogtreecommitdiff
path: root/system/shard-z80-ruc-64180/1.5/src/HD64180.LIB
diff options
context:
space:
mode:
Diffstat (limited to 'system/shard-z80-ruc-64180/1.5/src/HD64180.LIB')
-rw-r--r--system/shard-z80-ruc-64180/1.5/src/HD64180.LIB160
1 files changed, 160 insertions, 0 deletions
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 <X>,<(hl)>
+reg defl 6
+ else
+ ifidn <X>,<(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