DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f2b9d8b36⟧ TextFile

    Length: 3862 (0xf16)
    Types: TextFile
    Names: »DMADIF«

Derivation

└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS )
    └─ ⟦this⟧ »GENS.D!DMADIF« 

TextFile

; MERGE FILE DMADIF
;***********************************************************************
;                                                                      *
;          D M A   I / F   D E F I N I T I O N                         *
;                                                                      *
;              CONFIG ID:   CSS825                                     *
;              VERSION:     1                                          *
;              DATE:        790801                                     *
;              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 «a5»