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: 12172 (0x2f8c) Types: TextFile Names: »CPMBASE«
└─⟦80dc9b589⟧ Bits:30005096 8" CR80 Floppy CR80FD_0053 ( HMDIR 6 VOL: BACKUP MD: CPM.D From: HMDIR*CPM.D ) └─⟦08785f861⟧ └─ ⟦this⟧ »CPM.D!CPMBASE«
;---------------------------------------------------------------------- ; ; C I P _ P R O T O C O L _ M A C H I N E D A T A B A S E. ; ;---------------------------------------------------------------------- ; ;TUNING PARAMETERS: ;--------------------------------- CIPNID:=CIPP ; OWNNID:IF CIPNID EQ CIPQ THEN <:Q:> ; CIP NODE ID ELSE <:P:> FI ; IF CIPNID EQ CIPQ THEN ; IF I AM CIP '▶11◀Q' THEN SIPRMSK0:=RSIPZ0 ; COLLOCATED SIP IS 'Z' SIPRMSK1:=RSIPZ1 ; SIPNID:=<:Z:> ; SIPMID:=ZMEDEID ; MEDE-ID Z ELSE IF CIPNID EQ CIPP THEN ; ELSE (I AM CIP 'P') SIPRMSK0:=RSIPS0 ; COLLOCATED SIP IS 'S' SIPRMSK1:=RSIPS1 ; SIPNID:=<:S:> ; SIPMID:=SMEDEID ; MEDE-ID S ELSE USE 16 FI FI ; ENDIF ; ;MAILBOX INDEX,ACK'S & AMSG'S. ;--------------------------------- AMAILX: ; ARRAY_AMAILX(CH#) 0*ASIZE ; OUTBOUND CHANNEL 0 1*ASIZE ; OUTBOUND CHANNEL 1 2*ASIZE ; OUTBOUND CHANNEL 2 0*ASIZE ; INBOUND CHANNEL 3 1*ASIZE ; INBOUND CHANNEL 4 2*ASIZE ; INBOUND CHANNEL 5 3*ASIZE ; INBOUND CHANNEL 6 ; ;OUTBOUND ACK CONTROL TABLE: ;--------------------------------- LACKTAB: LOC=0 ; ENTRY DEFINITION XFLAG: LOC=LOC+1 ; STATUS WORD LX=0 ; FLAG DEFINITION: FINTRNL= LX,LX=LX+1 ; INTERNAL ACK (I.E. TO MSS) FEWAIT= LX,LX=LX+1 ; ENTRY WAITING (I.E. OUT- ; STANDING MSG WAITING ACK) XINID: LOC=LOC+MSGIDL ; ACK ID AWAITED XOUTID: LOC=LOC+MSGIDL ; ACK ID GENERATED XOUTCH: LOC=LOC+1 ; DESTINATION CHAN.NO XENTRYL: LOC=LACKTAB ; ; XACKTAB: XL2,XL2,XL2,XL3,XL4,XL5,XL6 ; INDEX TABLE ; XACKTAB LAYUOT: XL2:0<FINTRNL,0,REPEAT(XOUTCH-2),CH2 ; IN CH2 OUT CH2 XL3:0<FINTRNL,0,REPEAT(XOUTCH-2),CH0 ; IN CH3 OUT CH0 XL4:0<FINTRNL,0,REPEAT(XOUTCH-2),CH1 ; IN CH4 OUT CH1 XL5:1<FINTRNL,0,REPEAT(XOUTCH-2),CH5 ; IN CH5 OUT CH5 XL6:1<FINTRNL,0,REPEAT(XOUTCH-2),CH6 ; IN CH6 OUT CH6 ; CPMOPM: 0 ;CPM_OPERATIONAL_MODE PARAMETER: ;--------------------------------- CURLOC=LOC,LOC=0 ; FLAG DEFINITION: FSTANDBY:LOC=LOC+1 ; STANDBY FACTIV: LOC=LOC+1 ; ACTIVE FSYNC: LOC=LOC+1 ; SYNC_MODE FHUNT: LOC=LOC+1 ; HUNT MODE FIACTIV: LOC=LOC+1 ; INPUT ACTIV FOACTIV: LOC=LOC+1 ; OUTPUT ACTIV LOC=CURLOC ; ; ;TEMPORARY STORAGE: ;--------------------------------- CCHNO: 0 ; CURRENT CHANNEL NO. CPREC: 0 ; CURRENT ACTION PRECEDENCE *) CMSGID: 0,REPEAT (MSGIDL-1) ; CURRENT MSGID *) CMTCBX: 0 ; CURRENT MTCB INDEX *) CDTG: 0,0 ; CURRENT DTG *) ; *)NOTE:SAME LAYOUT AS BUFFER. CRMASK: 0,0 ; CURRENT ROUTING MASK CMSGSTATUS:0 ; CURRENT MSG STATUS CCATTYP: 0 ; CURRENT (CAT,TYPE) CALISTR: 0 ; ADDRESS LIST REF. CALISTL: 0 ; CURRENT ADDRES LIST LENGTH CNTSPARM:0 ; NTS COMMAND/REPORT PARAMETER CMSSPARM:0 ; MSS COMMAND/RESPONSE PARAMETER ; ;SEQUENCE NO. ;--------------------------------- OSYNCSN: 0 ; OUTBOUND SYNC_MSG SEQNO QSEQNO: 0 ; QUEUE LENGTH STATUS SEQ_NO. ACKSN: 0,REPEAT (ICHCNT+OCHCNT-1) ; LATEST INBOUND/OUTBOUND ; ACK_SEQNO(CH#) IAMSGSN:=ACKSN ; DUMMY CONSTANT REQUIRED BY ; PROCEDURE GETACK ; ;TIMERS: ;--------------------------------- TIMERS: LOC=0 ; GENERAL LAYOUT CTIMER:LOC=LOC+1 ; CURRENT TIMER VALUE PTIMER:LOC=LOC+1 ; TIMER RESTART VALUE TIMERL:LOC=0 ; SYNTIM: 0,TIMSSYN ; SYNC_MSG_TIMER. LOC=LOC+TIMERS ; ; ;AMOS MESSAGES & ANSWERS: ;--------------------------------- STATUSMSG: 0,REPEAT 4 ; STATUSMESSAGE SPM=>SWD CMESBUF: ; BUFFER FOR INBOUND MESSAGE CANSWER: 0,REPEAT 4 ; ANSWER COMPILATION BUFFER AMOSEVENT:LOC=0, 0 ; CURRENT AMOS EVENT EVTSKAM: 0 ; SIP KAM TO SWD EVTRTC: 0 ; SIP-RTC ANSWER AWAITED LOC=LOC+AMOSEVENT ; RTCMESBUF:0,REPEAT 4 ; MESSAGE TO SIP RTC_PROCESS ; ;PROCESS & REGION NAMES: ;--------------------------------- SIPMAILBOX:<:SMAILB:>,0 ; NAME OF SIP MAILBOX CWDNAME: <:CWD:>,0,0 ; NAME OF CWD PROCESS CPMNAME: <:CPM:>,0,0 ; NAME OF CPM PROCESS RTCNAME: <:ISHRTC:>,0 ; NAME OF CIP RTC-PROCESS ; ;RETURN LINKS: ;--------------------------------- RLA100: 0 ; CONVERTID RLC100: 0 ; CPMTIM RLH100: 0 ; GENCTRLMSG RLI100: 0 ; XMITMSG RLL100: 0 ; INNMSG RLM100: 0 ; INCTRLMSG RLN100: 0 ; INMP RLO200: 0 ; NMACCNT RLP100: 0 ; NMACKP RLR100: 0 ; CPMMC ; ;QDCB'S LAYOUT: ;--------------------------------- QDMDQ: LOC=0 ; QDCB FOR QUEUE 'MDQ'. TNMDQ,QNMDQ,ENMDQ ; 0,REPEAT(QDCBL-LOC) ; LOC=LOC+QDMDQ ; QDNM: LOC=0 ; QDCB FOR QUEUE 'NM'. TNNM,QNNM,ENNM ; 0,REPEAT(QDCBL-LOC) ; LOC=LOC+QDNM ; QDNC: LOC=0 ; QDCB FOR QUEUE 'NC'. TNNC,QNNC,ENNC ; 0,REPEAT(QDCBL-LOC) ; LOC=LOC+QDNC ; QDMC: LOC=0 ; QDCB FOR QUEUE 'MC'. TNMC,QNMC,ENMC ; 0,REPEAT(QDCBL-LOC) ; LOC=LOC+QDMC ; QDCM: LOC=0 ; QDCB FOR QUEUE 'CM'. TNCM,QNCM,ENCM ; 0,REPEAT(QDCBL-LOC) ; LOC=LOC+QDCM ; QDTQ: LOC=0 ; QDCB FOR QUEUE 'TQ'. TNTQ,QNTQ,ENTQ ; 0,REPEAT(QDCBL-LOC) ; LOC=LOC+QDTQ ; QDIQ: LOC=0 ; QDCB FOR QUEUE 'IQ' TNIQ,QNIQ,ENIQ ; 0,REPEAT(QDCBL-LOC) ; LOC=LOC+QDIQ ; QDCQ2: LOC=0 ; QDCB FOR QUEUE 'CQ2'. TNCQ2,QNCQ2,ENCQ2 ; 0,REPEAT(QDCBL-LOC) ; LOC=LOC+QDCQ2 ; QDCQ3: LOC=0 ; QDCB FOR QUEUE 'CQ3'. TNCQ3,QNCQ3,ENCQ3 ; 0,REPEAT(QDCBL-LOC) ; LOC=LOC+QDCQ3 ; QDCQ4: LOC=0 ; QDCB FOR QUEUE 'CQ4'. TNCQ4,QNCQ4,ENCQ4 ; 0,REPEAT(QDCBL-LOC) ; LOC=LOC+QDCQ4 ; XQDCQ: QDCQ2,QDCQ3,QDCQ4 ; INDEX XQDCB(CCHNO) ; ;MFDCB'S LAYOUT: ;--------------------------------- NMMFDCB: LOC=0 ; NARRMSG_MFDCB,LOADED BY:. ; 'INNMSG' 1 ; SIZECODE=1 (32 WORDS). 0,REPEAT (MFDDAT-LOC) ; MFDCB HEADER LAYOUT 0,REPEAT 31 ; MFDCB DATA BUFFER LAYOUT NMMFDCBL:LOC=LOC+NMMFDCB ; CMMFDCB: ; CTRL.MSG_MFDCB,LOADED BY: ; 'INCTRLMSG' & 'GENCTRLMSG'. 2 ; SIZECODE=2,48 WORDS 0,REPEAT (MFDDAT-2) ; MFDCB HEADER LAYOUT CMCHEAD: 0,REPEAT (CHEADL-1) ; MFDCB DATA BUFFER LAYOUT CMCDAT: 0,REPEAT(47-CHEADL) ; CMMFDCBL:=LOC-CMMFDCB ; ; ;MTCB PARM.BLOCKS: ;--------------------------------- MPACK: LOC=0 ; MP FOR ACK PSEUDO MTCB: 0,0 ; TYNC,NMA,CCPMAK ; 0,REPEAT(MSGIDL-1) ; CATACK ; 0,REPEAT(MPCBL-LOC) ; LOC=LOC+MPACK ; MPMSS: LOC=0 ; MP FOR MSS STATUS PSEUDO MTCB: 0,0 ; TYNC,NCR,CCPCMD ; 0,0,0 ; CARSMS ; 0,REPEAT(MPCBL-LOC) ; LOC=LOC+MPMSS ; MPNMSG: LOC=0 ; MP FOR NARR.MSG'S,USED BY: 0,REPEAT(MPRAPR-1) ; 'XMITMSG' NAPREC ; NIPREC ; NCLASS ; NSPEC ; TNMSG ; 0,REPEAT (MPCBL-LOC) ; LOC=LOC+MPNMSG ; MPCMSG: LOC=0 ; MP FOR CTRL.MSG'S,USED BY: 0,REPEAT(MPRAPR-1) ; 'XMITMSG'. CAPREC ; CIPREC ; CCLASS ; CSPEC ; TCTRLMSG ; 0,REPEAT (MPCBL-LOC) ; LOC=LOC+MPCMSG ; MPMDQ: ; MP FOR INBOUND MSG'S,USED BY: MPNM: ; 'CPMED'. MPNC: 0,REPEAT(MPCBL-1) ; MPMC: LOC=0 ; PREASSEMBLED MSS COMMAND 0,0 ; TYNC,NCC,CCPCMD ; 0,0,0 ; CATMSSC ; 0,REPEAT (MPCBL-LOC) ; LOC=LOC+MPMC ;---------------------------------------------------------------------- 0,REPEAT 31 ; **** PATCH AREA ****