|
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: 7077 (0x1ba5) Types: TextFile Names: »INSPEC.SRC«
└─⟦755b1f38b⟧ Bits:30005549 8" CR80 Floppy CR80FD_0032 ( TELECINE Source and Abs-files ) └─⟦755b1f38b⟧ Intel_ISIS_II └─ ⟦this⟧ »INSPEC.SRC«
;******************************************************************************\r ;* *\r ;* D O R A A P P L I C A T I O N S / W *\r ;* *\r ;* DEVICE: TELECINE *\r ;* *\r ;* MODULE: COMMAND INSPECTION PROCESS *\r ;* *\r ;******************************************************************************\r \r LINK DEFL 0\r PORT1 DEFL 20H\r PORT2 DEFL 2AH\r PORT3 DEFL 2CH\r PORT4 DEFL 21H\r PORT5 DEFL 22H\r PORT6 DEFL 28H\r PORT7 DEFL 13H\r INSPTIM DEFL 1\r SCANTIM DEFL 2\r INSPNR DEFL 5\r PROJNR DEFL 6\r MTCHNR DEFL 7\r SCANNR DEFL 8\r STATNR DEFL 9\r CVAL DEFL 25\r DLAY01 DEFL 25\r DLAY02 DEFL 10\r DACGAIN DEFL 00H\r DACGMMA DEFL 06H\r DACLIFT DEFL 0CH\r \r NLIST S\r SETOBIT MACRO #PORTADDRESS,#ACTION,#VALUE\r ;SETOBIT IS USED TO SET OR RESET\r ;BITS ONE A OUTPUT PORT SPECIFIED\r ;BY THE PARAMETERS:\r ;VAL: SPECIFIED THE BIT WHICH HAS \r ; TO BE SET OR RESET (0-0FFH).\r ;ACTION: TELL THE ROUTINE WHICH\r ; ACTION IT HAS TO PERFORME\r ; SET OR RESET\r ;PORTADDRESS: SPECIFIED THE ADDRESS\r ; WHERE THE ACTION HAS TO \r ; BE PERFORMED.\r IF '#ACTION'.EQ.'S'\r LD C,#PORTADDRESS\r LD B,#VALUE ;\r CALL SETBIT ;\r ENDIF\r IF '#ACTION'.EQ.'R'\r LD C,#PORTADDRESS\r LD A,#VALUE\r CALL RESBIT ;\r ENDIF\r ENDM\r \r \r PASSIVATE MACRO #ID,#NO\r ;DESRIP: THE MODULE PASSIVATES\r ; SPECIFIED PROCES.\r ; IF LINK IS SET AND ACTIV\r ; SPECIAL PROCESS IS PASSIVATED\r ; THE LINK-ELEMENT IS \r ; DECREMENTED\r ;DESTR: REG F,H,L\r IF '#ID'.EQ.'S'\r LD HL,SYSRAM+200H+#NO*10H+5\r ;IMPLEMENT ADD OF STATUS-BIT\r IF LINK.EQ.1\r BIT 7,(HL) ;\r JR Z,O#$YM ;IF PROCESS WAS NOT PASSIVE THEN\r LD HL,SYSRAM+0FBH ;BEGIN\r DEC (HL) ;DEC LINK-ELEMENT\r LD HL,SYSRAM+200H+#NO*10H+5\r ;END\r O#$YM: ENDIF\r ENDIF\r IF '#ID'.EQ.'N'\r LD HL,SYSRAM+200H+S*10H+#NO*20H+5\r ;IMPLEMENT ADD OF STATUS-BIT\r ENDIF\r RES 7,(HL) ;PASSIVATE\r ENDM\r ACTIVATE MACRO #ID,#NO\r ;DESRIP: THE MODULE ACTIVATES\r ; SPECIFIED PROCES.\r ; IF LINK IS SET AND PASSIV\r ; SPECIAL PROCESS IS ACTIVATED\r ; THE LINK-ELEMENT IS \r ; INCREMENTED\r ;DESTR: REG F,H,L\r IF '#ID'.EQ.'S'\r LD HL,SYSRAM+200H+#NO*10H+5\r ;IMPLEMENT ADD OF STATUS-BIT\r IF LINK.EQ.1\r BIT 7,(HL) ;\r JR NZ,O#$YM ;IF PROCESS WAS NOT ACTIVE THEN\r LD HL,SYSRAM+0FBH ;BEGIN\r INC (HL) ;INC LINK-ELEMENT\r LD HL,SYSRAM+200H+#NO*10H+5\r ;END\r O#$YM: ENDIF\r ENDIF\r IF '#ID'.EQ.'N'\r LD HL,SYSRAM+200H+S*10H+#NO*20H+5\r ;IMPLEMENT ADD OF STATUS-BIT\r ENDIF\r SET 7,(HL) ;ACTIVATE\r ENDM\r CREATE MACRO #ID,#NO,#NAME,#PRIO\r ;DESCRIP: THE MODULE CREATES SPECIFIED\r ; PROCESS IE LOADS STARTADDRESS\r ; (#NAME) IN PROCESS-DESCRIPTION\r ; BYTE 6,7. IF NORMAL PROCESS IS\r ; ENCOUNTERED PRIORITY IS LOADED\r ; TO BYTE 5 IN PROCESS-DESCRIPTION\r ; AND THE PROCESS IS ENQUEUED IN\r ; APPROPRIATE PRIO-QUEUE.\r ; FINALLY THE SPECIFIED PROCESS\r ; IS ACTIVATED\r ;DESTR: IF NORMAL PROCESS\r ; REG. A,F,B,C,D,E,H,L\r ; IF SPECIAL PROCESS\r ; REG. F,H,L\r LD HL,#NAME ;\r IF '#ID'.EQ.'S'\r LD (SYSRAM+200H+#NO*10H+6),HL\r ;STARTADD TO PROCESS-DESCRIP\r ENDIF\r IF '#ID'.EQ.'N'\r LD (SYSRAM+200H+S*10H+#NO*20H+6),HL\r ;STARTADD TO PROCESS-DESCRIP\r LD HL,SYSRAM+200H+S*10H+#NO*20H+5\r LD (HL),#PRIO ;PRIORTY TO PROCESS\r LD HL,SYSRAM+#PRIO*8 ;ADDRESS OF PRIO-QUEUE\r LD DE,SYSRAM+200H+S*10H+#NO*20H ;ADDRESS OF PROCESS-DESCRIP\r CALL SUBENQ\r ENDIF\r ACTIVATE #ID,#NO ;ACTIVATE PROCESS\r ENDM\r \r \r LESTAB MACRO #PRNUM\r LD BC,#PRNUM\r CALL ESTABR\r ENDM\r \r LSUSPN MACRO #PRNUM\r LD BC,#PRNUM\r CALL SUSPND\r ENDM\r \r GESTAM MACRO\r LD HL,ONOFF\r LD (HL),0FFH\r ENDM\r \r GSUSPM MACRO\r LD HL,ONOFF\r LD (HL),0\r ENDM\r \r UPDATM MACRO #PRNUM,#VALUE\r LD HL,DELAY+#PRNUM\r LD (HL),#VALUE\r ENDM\r \r LIST S\r PUBLIC INSPEC,STAC05\r EXTRN TCCSTA,CCBSTA,ECOND2,ESTABR,DELAY,SCOMMON,SYSRAM\r EXTRN OUTBIT,COUNT,OUTPUT\r \r CSEG\r INSPEC: LD SP,STAC05 ;INITIALIZE STACK-POINTER\r CALL SCOMMON\r EI\r UPDATM INSPTIM,DLAY01\r \r PASPRO: LESTAB INSPTIM\r PASSIVATE S,INSPNR\r CALL SCOMMON\r EI\r LD A,(TCCSTA)\r AND 7FH\r CP 10H\r JP Z,CASE1 ;IF STOP-INDICATION THEN CASE1\r CP 01H\r JP Z,CASE1 ;IF PLAY-INDICATION THEN CASE1\r CP 11H\r JP Z,CASE2 ;IF STOP+PLAY-INDICATION THEN CASE2\r CP 02H\r JP Z,CASE1 ;IF REVERSE-INDICATION THEN CASE1\r CP 12H\r JP Z,CASE2 ;IF STOP+REVERSE-INDICATION THEN CASE2\r CP 04H\r JP Z,CASE1 ;IF FORWIND-INDICATION THEN CASE1\r CP 14H\r JP Z,CASE2 ;IF STOP+FORWIND-INDICATION THEN CASE2\r CP 08H\r JP Z,CASE1 ;IF REWIND-INDICATION THEN CASE1\r CP 18H\r JP Z,CASE2 ;IF STOP+REWIND-INDICATION THEN CASE2\r CP 20H\r JP Z,CASE1 ;IF INCH FORWARD-INDICATION THEN CASE1\r CP 30H\r JP Z,CASE2 ;IF STOP+INCH FORWARD-INDICATION THEN CASE2\r CP 40H\r JP Z,CASE1 ;IF INCH REVERSE-INDICATION THEN CASE1\r CP 50H\r JP Z,CASE2 ;IF STOP+INCH REVERSE-INDICATION THEN CASE2\r \r \r ;NO VALID MODE OF OPERATION\r LD A,(CCBSTA)\r AND 0F0H\r CP 0F0H\r JP NZ,I1 ;IF ALL VOLTAGES FROM TC IS PRESENT THEN\r LD HL,ECOND2 ;BEGIN\r SET 1,(HL) ; SET DEVICE CONTROL ERROR-BIT\r JP PROEND ;END ELSE\r I1: LD A,0FEH ;BEGIN\r CALL OUTPUT ; SET THE LTUX IN PLAY MODE\r JP PROEND ;END\r \r ;----------------------------------------------------------------------------\r CASE1: ;SINGLE MODE OF OPERATION-INDICATION\r LD B,A\r IN A,(PORT1)\r CPL\r AND 7FH\r CP B\r JP Z,PROEND ;IF THE INDICATION IS NOT IN ACCORDANCE\r ;WITH THE DESIRED MODE OF OPERATION THEN\r CALL CHECK ;CHECK POWER-CONDITION\r JP PROEND\r \r \r CASE2: ;DOUBLE MODE OF OPERATION-INDICATION\r AND 6FH\r LD B,A\r IN A,(PORT1)\r CPL\r AND 7FH\r CP B\r JP Z,C21 ;IF THE INDICATION IS NOT IN ACCORDANCE\r ;WITH THE DESIRED MODE OF OPERATION THEN\r CALL CHECK ;CHECK POWER-CONDITION\r JP PROEND ;ELSE\r C21: LD HL,OUTBIT ;BEGIN\r BIT 0,(HL) ;\r JP Z,C22 ; IF OUTBIT = 1 THEN\r ; BEGIN\r RES 0,(HL) ; RESET OUTBIT\r LD A,CVAL ;\r LD (COUNT),A ; SET COUNT = CVAL\r JP PROEND ; END ELSE\r C22: LD HL,COUNT ; BEGIN\r DEC (HL) ; DECREMENT COUNT\r JP NZ,PROEND ; IF COUNT = 0 THEN\r ; BEGIN\r INC (HL) ; INCREMENT COUNT\r LD HL,ECOND2 ;\r SET 1,(HL) ; SET DEVICE CONTROL ERROR-BIT\r JP PROEND ; END\r ; END\r ;END\r PROEND: JP PASPRO\r \r \r CHECK: LD A,(CCBSTA)\r AND 0F0H\r CP 0F0H\r JP NZ,CH1 ;IF ALL VOLTAGES FROM THE TC IS PRESENT THEN\r LD HL,ECOND2 ;BEGIN\r SET 1,(HL) ; SET DEVICE CONTROL ERROR-BIT\r RET ;END ELSE\r CH1: LD A,B ;BEGIN\r CPL ;\r AND 7FH ;\r LD B,A ;\r IN A,(PORT1) ;\r AND 80H ;\r OR B ;\r CALL OUTPUT ; SET LTUX IN INDICATED MODE OF OPERATION\r RET ;END\r \r \r DSEG\r DS 32\r STAC05:\r END\r