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

⟦76f2559d3⟧ TextFile

    Length: 7007 (0x1b5f)
    Types: TextFile
    Names: »DDP.USE«

Derivation

└─⟦8347abc8e⟧ Bits:30005501 8" CR80 Floppy CR80FD_0033 ( ATR Source and Abs-files )
└─⟦8347abc8e⟧ Intel_ISIS_II
    └─ ⟦this⟧ »DDP.USE« 

TextFile

	NLIST	S\r
;file: USER.DDP, version: 801212/CGR.\r
;*************************************************\r
;\r
	LIST	S\r
;\r
	PUBLIC	SYSRAM,NOCH\r
	PUBLIC	QHEADS,SPARE1\r
	PUBLIC	START,ID1\r
	PUBLIC	INISP\r
	PUBLIC	CR80NO,PANCO,PANCOM\r
	PUBLIC	ECOND1,ECOND2,ERRPAT\r
	PUBLIC	LCRID,MCRID,EHSCAN\r
	PUBLIC	CR80SS\r
	PUBLIC	IGEPA,IDEPA,OGEPA,ODEPA\r
	PUBLIC	COMM\r
\r
;\r
	EXTRN	SUBENQ,SUBDEQ,SCOMMON\r
	EXTRN	EHINI,OD1\r
	EXTRN	ETIMER\r
	EXTRN	DEVNOR\r
;\r
S:	EQU	16	;SYSTEM PARAMETER S (NO. OF SPECIAL PROCESSES)\r
LINK:	EQU	0	;SYSTEM PARAMETER LINK (NO EXTEND. SYS.)\r
;\r
PROROM:	EQU	3000H	;PROTOCOL ROUTINE ADDRESSES\r
PRORAM:	EQU	7400H\r
COMM:	DEFL	PROROM+12H\r
IGEPA:	DEFL	PROROM+9\r
IDEPA:	DEFL	PROROM+3\r
OGEPA:	DEFL	PROROM+6\r
ODEPA:	DEFL	PROROM+0CH\r
;\r
ACTC:	DEFL	0B0H	;PORT ADDRESSES ON CPU (CTC)\r
;\r
NOCH:	DEFL	7	;NO. OF CHANNELS IN LTUX I/F (CH. 0 & 1 INCL.)\r
NOBUF:	DEFL	32	;NO. OF SYSTEM BUFFERS IN LTUX I/F\r
NUMMES:	DEFL	18	;NO. OF LEGAL MESSAGES TO BE SEND TO LTUX I/F\r
;\r
	CSEG\r
;\r
		;ADDRESS\r
		;OF INTRPT.\r
		;ROUTINE:\r
				;CTC INTERRUPT\r
ICTC:	DW	TQMMON		;CH. 0 (TQM INTERRUPT TIMER)\r
	DW	0		;CH. 1 (FRONT-END INTERRUPT)\r
	DW	RECOV		;CH. 2 (FAULT RECOVERY INTERRUPT)\r
	DW	RECOV		;CH. 3 (APPLICATION TIMER)\r
;\r
;\r
;\r
	DW	0		;DUMMY\r
	DW	0		;DUMMY\r
	DW	0		;DUMMY\r
	DW	0		;DUMMY\r
;\r
				;INTERRUPT ADDRESS TABLE\r
				;SIO INTERRUPTS:\r
ISIO1:	DW	RECOV		;SIO1 CH. 1, INT.0\r
	DW	RECOV		;SIO1 CH. 1, INT.1\r
	DW	RECOV		;SIO1 CH. 1, INT.2\r
	DW	RECOV		;SIO1 CH. 1, INT.3\r
	DW	RECOV		;SIO1 CH. 0, INT.4\r
	DW	RECOV		;SIO1 CH. 0, INT.5\r
	DW	RECOV		;SIO1 CH. 0, INT.6\r
	DW	RECOV		;SIO1 CH. 0, INT.7\r
ISIO2:	DW	RECOV		;SIO2 CH. 3, INT.0\r
	DW	RECOV		;SIO2 CH. 3, INT.1\r
	DW	RECOV		;SIO2 CH. 3, INT.2\r
	DW	RECOV		;SIO2 CH. 3, INT.3\r
	DW	RECOV		;SIO2 CH. 2, INT.4\r
	DW	RECOV		;SIO2 CH. 2, INT.5\r
	DW	RECOV		;SIO2 CH. 2, INT.6\r
	DW	RECOV		;SIO2 CH. 2, INT.7\r
;\r
;\r
;\r
;\r
;\r
				;NUMBER OF BUFFERS ASSIGNED TO EACH INGOING\r
				;AND OUTGOING CHANNEL:\r
				;---------------------\r
CHSPEC:	DB	2		;NO. OF INGOING BUFFERS IN CH2\r
	DB	4		;NO. OF OUTGOING BUFFERS IN CH2\r
	DB	2		;NO. OF INGOING BUFFERS IN CH 3\r
	DB	4		;NO. OF OUTGOING BUFFERS IN CH 3\r
	DB	2		;NO. OF INGOING BUFFERS IN CH 4\r
	DB	4		;NO. OF OUTGOING BUFFERS IN CH 4\r
	DB	3		;NO. OF INGOING BUFFERS IN CH 5\r
	DB	3		;NO. OF OUTGOING BUFFERS IN CH 5\r
	DB	3		;NO. OF INGOING BUFFERS IN CH 6\r
	DB	5		;NO. OF OUTGOING BUFFERS IN CH 6\r
;\r
\r
\r
				;DISTRIBUTION TABLE:\r
				;-------------------\r
\r
	PUBLIC	TABL2\r
	EXTRN	PQH6,PQH12,CASE01,CASE02,CASE03\r
	EXTRN	CASE04,CASE05,CASE06,CASE07,CASE08,CASE09,CASE10,CASE11,CASE12\r
\r
\r
*******************************************************************************\r
;MESSAGE CODE LIST :\r
\r
TABL1	DB	80H	;ESTABLISH DELEGATION\r
	DB	84H	;DELETE DELEGATION\r
	DB	0E0H	;SEND TOTAL STATUS\r
	DB	0E4H	;SEND DELEGATION STATUS\r
	DB	0E5H	;SET CR80 CHANNEL\r
	DB	0F2H	;SEND ERROR CONDITION\r
	DB	24H	;PLAY IMMEDIATELY\r
	DB	20H	;SEARCH-PLAY\r
	DB	25H	;SEARCH-MTC SYNC-PLAY\r
	DB	26H	;PLAY TTC SYNC\r
	DB	22H	;RECORD IMMEDIATELY\r
	DB	23H	;SEARCH-MTC SYNC-RECORD\r
	DB	28H	;STOP IMMEDIATELY\r
	DB	29H	;STOP MTC SYNC\r
	DB	2AH	;SEARCH-STOP\r
	DB	2CH	;FORWIND\r
	DB	2DH	;REWIND\r
	DB	3FH	;LOCK\r
\r
*******************************************************************************\r
;PROCESS NO./ROUTINE ADDRESS LIST :\r
\r
	DW	ROUT3\r
	DW	ROUT5\r
	DW	12\r
	DW	ROUT6\r
	DW	ROUT2\r
	DW	ROUT1\r
	DW	6\r
	DW	6\r
	DW	6\r
	DW	6\r
	DW	6\r
	DW	6\r
	DW	6\r
	DW	6\r
	DW	6\r
	DW	6\r
	DW	6\r
	DW	6\r
\r
*******************************************************************************\r
;PROCESS Q-HEAD ADDRESS LIST :\r
\r
	DW	0\r
	DW	0\r
	DW	PQH12\r
	DW	0\r
	DW	0\r
	DW	0\r
	DW	PQH6\r
	DW	PQH6\r
	DW	PQH6\r
	DW	PQH6\r
	DW	PQH6\r
	DW	PQH6\r
	DW	PQH6\r
	DW	PQH6\r
	DW	PQH6\r
	DW	PQH6\r
	DW	PQH6\r
	DW	PQH6\r
\r
*******************************************************************************\r
;PROCESS ROUTINE LIST :\r
\r
	DW	CASE01\r
	DW	CASE06\r
	DW	0\r
	DW	0\r
	DW	0\r
	DW	0\r
	DW	CASE02\r
	DW	CASE07\r
	DW	CASE09\r
	DW	CASE10\r
	DW	CASE03\r
	DW	CASE09\r
	DW	CASE06\r
	DW	CASE11\r
	DW	CASE08\r
	DW	CASE04\r
	DW	CASE05\r
TABL2	DW	CASE12\r
\r
*******************************************************************************\r
\r
\r
START:	LD	SP,INISP\r
	LD	A,80H\r
	LD	(PRORAM+30H),A	;LOAD PROTOCOL PARAMETER 'TPIO'\r
;\r
	CALL	PROROM		;CALL PROTOCOL INITIALIZATION (SYNCHRONIZE)\r
				;# CPUPIO IS INITALIZED\r
				;# LTUX-M IS SYNCHRONIZED WITH FRONT-END\r
				;# INTERRUPT VECTORS IS LOADED INTO SIO'S & CTC\r
				;# INTERRUPT VECTOR IS LOADED INTO CPU, I REG.\r
				;# CTC, CH.1 IS INITIALIZED FOR FRONT-END INTERRUPTS.\r
;\r
;\r
	LD	HL,(ICTC)	;COPY VECTOR INTERRUPT-TABLE TO PROTOCOL RAM\r
	LD	(PRORAM),HL	;(EXCEPT VECTOR FOR CTC, CH.1)\r
	LD	HL,ICTC+4	;\r
	LD	DE,PRORAM+4	;\r
	LD	BC,44		;\r
	LDIR			;\r
;\r
;\r
	CALL	DEVNOR		;LOAD DEVICE NR.\r
;\r
	CALL	INITQM			;INITIALIZE TQM\r
;\r
;=============================\r
;CREATE APPLICATION PROCESSES.\r
;=============================\r
;\r
	EXTRN	STSCAN,DECODE,SEARPR,SYNCPR,LOCKPR\r
	EXTRN	TIMING,INSPEC,STATUS,TCREAD\r
\r
	CREATE	S,5,STSCAN	;STATUS SCANNING PROCESS\r
	CREATE	S,6,DECODE	;MESSAGE DECODE PROCESS\r
	CREATE	S,7,SEARPR	;SEARCH PROCESS\r
	CREATE	S,8,SYNCPR	;SYNCRONIZATION PROCESS\r
	CREATE	S,9,LOCKPR	;LOCK PROCESS\r
	CREATE	S,10,TIMING	;TIMING PROCESS\r
	CREATE	S,11,INSPEC	;COMMAND INSPECTION PROCESS\r
	CREATE	S,12,STATUS	;STATUS TRANSMITTING PROCESS\r
	CREATE	S,13,TCREAD	;TIME CODE SCANNING PROCESS\r
;\r
;\r
	JP	GENINI		;GOTO GENERAL INITIALIZATION\r
;\r
	DDPROC	ATR,16,4,3	;CALL DDP MACRO\r
				;# ING. & OUTG. TIMEOUT: 1-127 (1-7FH)\r
				;# NOTE!!! 1K RAM'S MUST ALLOCATED TO THE LOWEST\r
				;# RAM ADDRESSES.\r
;\r
;\r
;\r
;\r
	DSEG\r
	ORG	1000H\r
	CSEG\r
\r
INITQM:	TQMINT	6,1		;INITIALIZE TQM TIMERS\r
;=============================================\r
;DEFINE ALL USER TQM TIMERS, USING THE TQMPR MACRO\r
	TQMPR	S,1,7		;INITIALIZE SEARCH PROCESS TIMER\r
	TQMPR	S,2,8		;    --     SYNCRONIZATION PROCESS TIMER\r
	TQMPR	S,3,9		;    --     LOCK PROCESS TIMER\r
	TQMPR	S,4,11		;    --     COMMAND INSPECTION PROCESS TIMER\r
	TQMPR	S,5,5		;    --     STATUS SCANNING PROCESS TIMER\r
	TQMPR	R,6,ETIMER	;TIMER FOR ERROR HANDLING PROCESS MUST BE\r
				;INCLUDED\r
;=============================================\r
	TQMEXI			;\r
	RET\r
;\r
;\r
HWINIT:				;INITIALIZE CTC, CH.0 FOR TQM-TIMER\r
CTCINI:	LD	BC,ACTC\r
	LD	A,0A7H		;LOAD CONTROL WORD, CH.0:\r
	OUT	(C),A		;RESET,LOAD TIME CONST.,\r
				;INT. TRIGGER, (INT. CLK. 4Mhz.),\r
				;NEG. SLOPE, PRESCALE 256X125 (8 msec.),\r
				;TIMER MODE, INTERRUPT ENABLED.\r
	LD	A,125		;\r
	OUT	(C),A		;\r
;\r
				;INITIALIZE CTC, CH. 2 FOR FAULT RECOVERY INTERRUPT\r
	LD	BC,ACTC+2	;\r
	LD	A,05H		;LOAD CONTROL WORD, CH. 2\r
	OUT	(C),A		;NO RESET, LOAD TIME CONST.,\r
				;INT. TRIGGER, (INT. CLK. 4Mhz.),\r
				;NEG. SLOPE, PRESCALE 16X10 (appr. 16 msec.)\r
				;TIMER MODE, INTERRUPT DISABLED.\r
	LD	A,10		;\r
	OUT	(C),A		;\r
;\r
;\r
;\r
;===========================\r
; USERS H/W INITIALIZATION\r
;===========================\r
;\r
;PIO'S :			;INITIALIZE PORT1,PORT2,PORT3,PORT4\r
	LD	A,89H\r
	OUT	(33H),A		;LOAD CONTROL WORD 1\r
	LD	A,90H\r
	OUT	(37H),A		;LOAD CONTROL WORD 2\r
	LD	A,0F6H\r
	OUT	(35H),A		;LOAD CONTROL WORD 3\r
\r
	RET\r
;\r
;\r
	END\r