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

⟦438435028⟧ TextFile

    Length: 12172 (0x2f8c)
    Types: TextFile
    Names: »CPMBASE«

Derivation

└─⟦80dc9b589⟧ Bits:30005096 8" CR80 Floppy CR80FD_0053 ( HMDIR 6 VOL: BACKUP MD: CPM.D From: HMDIR*CPM.D )
    └─⟦08785f861⟧ 
        └─ ⟦this⟧ »CPM.D!CPMBASE« 

TextFile

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