|
|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3862 (0xf16)
Types: TextFile
Names: »DMADIF.S«
└─⟦8c095a7f3⟧ Bits:30005798 CR80 Disc Pack ( Vol ILS systemdisk XAMOS TOS 10:01 hard boot #43c 19-7-87/JFJ )
└─⟦this⟧ »PREFIXES.D!XAMOS.D!ASM.D!DMADIF.S«
└─⟦c2e810e96⟧ Bits:30005799 CR80 Disc Pack ( XAMOS 841129 ILS TOS 10-01 System Disk Tilhører ILS/MSG hard boot boot entry #43c )
└─⟦this⟧ »PREFIXES.D!XAMOS.D!ASM.D!DMADIF.S«
; MERGE FILE DMADIF
;***********************************************************************
; *
; D M A I / F D E F I N I T I O N *
; *
; CONFIG ID: CSS825 *
; VERSION: 102 *
; DATE: 830509 *
; AUTHOR: JHO *
; *
;***********************************************************************
;----------------------------------------------------------------------
; MESSAGE TO DMA DRIVER
;----------------------------------------------------------------------
AX=0
DMAMOP:= AX, AX=AX+1 ; OPERATION,SECTION OF LIST
; FIELDS:
DMACMP:= 8 ; COMMAND, POSITION
DMACML:= 8 ; COMMAND,LENGTH
DMASTP:= 2 ; SECTION,POSITION
DMASTL:= 2 ; SECTION, LENGTH
BX=0 ; COMMANDS:
DMAABT:= BX, BX=BX+1 ; ABORT
DMATXF:= BX, BX=BX+1 ; TRANSFER
DMACRT:= BX, BX=BX+1 ; CREATE PORT GROUP
DMAINI:= BX, BX=BX+1 ; INITIALIZE
DMAMET:= AX ; EVENT (ONLY FOR ABORT COMMAND)
DMAMLS:= AX, AX=AX+1 ; LIST (ABS WORD ADDR)
DMAMPT:= AX, AX=AX+1 ; PORT NUMBER (0-MAX)
ANYPRT:= -1 ; "ANY PORT"
DMAMGP:= AX, AX=AX+2 ; GROUP (4 CHARS)
IF AX NE CONTLENGTH THEN USE 16 FI
;----------------------------------------------------------------------
; ANSWER FROM DMA DRIVER
;----------------------------------------------------------------------
AX=0
DMAARS:= AX, AX=AX+1 ; RESULT (STANDARD)
DMAACC:= AX, AX=AX+1 ; COMPLETION CODE
BX=0 ; CODES:
DMATOK:= BX, BX=BX+1 ; COMMAND COMPLETE
DMANAP:= BX, BX=BX+1 ; NO AVAILABLE PORTS
; /UNKNOWN PORT
DMAILL:= BX, BX=BX+1 ; ILLEGAL COMMAND
DMATLE:= BX, BX=BX+1 ; TRANSFER LIST ERROR
DMAETX:= BX, BX=BX+1 ; TRANSMISSION ERROR
DMAPRG:= BX, BX=BX+1 ; ABORTED
DMAAPT:= AX, AX=AX+1 ; PORT NUMBER
DMAAGP:= AX, AX=AX+2 ; GROUP
IF AX NE CONTLENGTH THEN USE 16 FI
;----------------------------------------------------------------------
; TRANSFER LIST ELEMENT
;----------------------------------------------------------------------
AX=0
XFECOM:= AX, AX=AX+1 ; COMMAND,SECTION OF DATA
XFECMP:= 8 ; COMMAND, POSITION
XFECML:= 8 ; COMMAND, LENGTH
XFESTP:= 2 ; SECTION, POSITION
XFESTL:= 2 ; SECTION, LENGTH
BX=0 ; COMMANDS:
XFCINP:= BX, BX=BX+1 ; INPUT TRANSFER
XFCOUT:= BX, BX=BX+1 ; OUTPUT TRANSFER
XFCTRM:= BX, BX=BX+1 ; TERMINATE TRANSFERS
XFCSKN:= BX, BX=BX+1 ; SKIP N TRANSFERS
XFCSKL:= BX, BX=BX+1 ; SKIP TO LAST TRANSFER
XFELNK:= AX, AX=AX+1 ; LINK
XFECNT:= AX, AX=AX+1 ; BYTE COUNT/SKIP COUNT
XFEADD:= AX, AX=AX+1 ; WORD ADDRESS (ABS)
XFEOFF:= AX, AX=AX+1 ; BYTE OFFSET
XXFLNG:= AX ; LENGTH OF TRANSFER LIST ELEMENT *