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 - 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 *