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

⟦b7f54d641⟧ TextFile

    Length: 9646 (0x25ae)
    Types: TextFile
    Names: »X2GEN1«

Derivation

└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS )
    └─ ⟦this⟧ »GENS.D!X2GEN1« 

TextFile


;***********************************************************************
;*                                                                     *
;*            C R   8 0   A M O S                                      *
;*            D A T A   A N D   P R O G R A M   H E A D E R            *
;*            G E N E R A T O R   P A R T   1                          *
;*            CONFIG ID: CSS/831                                       *
;*            AUTHOR:    JHO                                           *
;*            DATE:      790827                                        *
;*            VERSION:   1                                             *
;*                                                                     *
;***********************************************************************
MESSAGE <:X2GEN1 V790827:>
USE PROG
IF WORDS NE 0 THEN MESSAGE <:X2GEN1 MUST BE CALLED INITIALLY IN SOURCE:>
FI
AREASWITCH=   1
XTRA=         0                     ;   SIZE OF NOT ASSEMBLED LOCAL DATA
                                    ;   ABOVE BOUND
XTND=         0                     ;   SIZE OF NOT ASSEMBLED DATA BELOW
                                    ;   BOUND
XFDS=         0                     ;   DEFAULT NMB OF FILE DESRIPTIONS
XIBS=         0                     ;   DEFAULT NMB OF IO CONTROL BLOCKS
XXFS=         0                     ;   DEFAULT NMB OF XFER LIST ELEMENT
XSTS=         0                     ;   DEFAULT NMB OF IO STREAMS
XIOSIZE=      0                     ;   DEFAULT SIZE OF IO AREA
XMSGS=         4                    ;   DEFAULT NMB OF MESSAGE BUFFERS
; GENERAL HEADER DECLARATION
AX=0
XHTYPE:=             AX, AX=AX+1    ;   HEADER TYPE
BX=0
XTABLE:=             BX, BX=BX+1    ;   TABLE HEADER
XCODE:=              BX, BX=BX+1    ;   PROGRAM HEADER
XPROCESS:=           BX, BX=BX+1    ;   PROCESS HEADER
XHSIZE:=             AX, AX=AX+1    ;   SIZE OF ITEM (IN WORDS)
XHNAME:=             AX, AX=AX+3    ;   NAME OF ITEM
XHGHL:=              AX             ;   LENGTH OF GENERAL HEADER
; PROGRAM HEADER DECLARATION
        AX=   XHGHL                 ;   GENERAL HEADER HEADER
XPVERS:=             AX, AX=AX+1    ;   PROGRAM VERSION
XPTYPE:=             AX, AX=AX+1    ;   TYPE
BX=0
BNREENTRANT:=        BX, BX=BX+1    ;   REENTRANT VS NON REENTRANT
BNRESIDENT:=         BX, BX=BX+1    ;   RESIDENT VS SWAPPABLE
BNPERMANENT:=        BX, BX=BX+1    ;   PERMANENT VS REMOVEABLE
BNMONITOR:=          BX, BX=BX+1    ;   MONITOR CODE VS NON MONITOR CODE
BNUTILITY:=          BX, BX=BX+1    ;   UTILITY PROGRAM VS NOT UTILITY
BNPASCAL:=           BX, BX=BX+1    ;   PASCAL PROGRAM VS NOT PASCAL P
BMREENTRANT:=        1<BNREENTRANT
BMRESIDENT:=         1<BNRESIDENT
BMPERMANENT:=        1<BNPERMANENT
BMMONITOR:=          1<BNMONITOR
BMUTILITY:=          1<BNUTILITY
BMPASCAL:=           1<BNPASCAL
XPSTART:=            AX, AX=AX+1    ;   RELATIVESTART ADDRESS
XPMICRO:=            AX, AX=AX+1    ;   REL ERF TO MICRO LOAD MODULE
XPCHKS:=             AX, AX=AX+1    ;   CHECKSUM
XPMEM:=              AX, AX=AX+1    ;   MEMORY PARAMETER
        IF AX GT 32 THEN USE 16 FI
                         AX=32      ;   SPARE POSITIONS
XPGHDL:=             AX             ;   LENGTH OF PROGRAM HEADER
IF XPROGRAM THEN
        XCODE                       ;   PROGRAM TYPE HEADER
        XPGWDS                      ;   SIZE OF PROGRAM
        XPGNAME0                    ;   PROGRAM NAME
        XPGNAME1
        XPGNAME2
        XVERSION                    ;   PROGRAM VERSION
        XPGTYPE                     ;   TYPE OF PROGRAM
        XSTART                      ;   RELATIVE START ADDRESS
        XMICRO                      ;   RELATIVE ADDRESS TO MICRO
                                    ;   PROGRAM LOAD MODULE
        0                           ;   CHECKSUM
                     0              ;   MEMORY PARAMETER
        0, REPEAT XPGHDL-LOC
FI
USE BASE
; PROCESS HEADER DECLARATION
        AX=   XHGHL                 ;   GENERAL HEADER HEADER
XPROCHL:=            AX             ;   LENGTH OF PROCESS HEADER
;-----------------------------------------------------------------------
; GENERAL PROCESS DESCRIPTION
;-----------------------------------------------------------------------
AX=     -19-XUSERIDLENGTH
XBEYLGT:=            -AX            ;   SIZE OF AREA BEYOND REGISTERS
XPCPUNAME:=          AX, AX=AX+3    ;   CPU NAME
XPRIO:=              AX, AX=AX+1    ;   PRIORITY
XPCAP:=              AX, AX=AX+1    ;   CAPABILITY REQUIREMENT
        BX=0                        ;   ACCESS:
        BNCLASS:=     12            ;     LOW ORDER BIT OF CLASS FIELD
        BNMAXCL:=     15            ;     MAXIMUM CLASSIFICATION CODE
        BNCREPR:=     BX,BX=BX+1    ;     CREATE PROCESS
        BNCCRPR:=     BX,BX=BX+1    ;     CREATE PROCESS WHICH CREATES
                                    ;     A PROCESS
        BNCREPG:=     BX,BX=BX+1    ;     CREATE AND LOAD PROGRAM
        BNCCRPG:=     BX,BX=BX+1    ;     CREATE PROCESS WHICH CREATES
                                    ;     AND LOADS PROGRAMS
        BNALDEV:=     BX,BX=BX+1    ;     ALLOCATE DEVICE
        BNALMEM:=     BX,BX=BX+1    ;     ALLOCATE MEMORY
        IF BX GT 12 THEN USE 16 FI  ;   UNDERLINE IF ERROR
XPRCLAIM:=           AX, AX=AX+1    ;   MEMORY CLAIM FOR PROCESS (WORDS)
XPRSIZE:=            AX, AX=AX+1    ;   SIZE OF EXECUTING PROCESS
XPFDSX:=             AX, AX=AX+1    ;   NUMBER OF FILE DESCRIPTIONS
XPIBSX:=             AX, AX=AX+1    ;   NUMBER OF IO CONTROL BLOCKS
XPSTSX:=             AX, AX=AX+1    ;   NUMBER OF STREAMS
XPXFSX:=             AX, AX=AX+1    ;   NUMBER OF TRANSFER LIST ELEMENTS
XPMSGX:=             AX, AX=AX+1    ;   NUMBER OF MSG BUFFERS
XCURDIR:=            AX, AX=AX+1    ;   CURRENT DIRECTORY
XFUNCS:=             AX, AX=AX+1    ;   INITIALIZATION FUNCTIONS CALLED
XIODATA:=            AX, AX=AX+1    ;
XUSERID:=            AX, AX=AX+XUSERIDLENGTH
XCBASE:=             AX, AX=AX+1    ;   BASE COPY
XPCB:=               AX, AX=AX+1    ;   LOGICAL PCB REF
XLEVEL:=             AX, AX=AX+1    ;   SYSTEM LEVEL
XSYSTEM:=            1              ;   SYSTEM LEVEL
XUSER:=              0              ;   USER LEVEL
XBOUND:=             AX, AX=AX+1    ;   REGISTER
XR0:=                AX, AX=AX+1    ;   REGISTER
IF XR0 NE 0 THEN MESSAGE <:HEADER ERROR:> FI
XR1:=                AX, AX=AX+1    ;   REGISTER
XR2:=                AX, AX=AX+1    ;   REGISTER
XR3:=                AX, AX=AX+1    ;   REGISTER
XR4:=                AX, AX=AX+1    ;   REGISTER
XR5:=                AX, AX=AX+1    ;   REGISTER
XR6:=                AX, AX=AX+1    ;   REGISTER
XR7:=                AX, AX=AX+1    ;   REGISTER
XBASE:=              AX, AX=AX+1    ;   REGISTER
XMOD:=               AX, AX=AX+1    ;   REGISTER
XPROG:=              AX, AX=AX+1    ;   REGISTER
XPRPC:=              AX, AX=AX+1    ;   REGISTER
XTIMER:=             AX, AX=AX+1    ;   REGISTER
XPSW:=               AX, AX=AX+1    ;   REGISTER
XOLDPRC:=            AX, AX=AX+1    ;   PREVIOUS PROCESS
XLOCACT:=            AX, AX=AX+1    ;   LOCAL ACTION
XLOCRET:=            AX, AX=AX+1    ;   LOCAL ACTION RETURN LINK
XCAUSE:=             AX, AX=AX+1    ;   LOCAL INTERRUPT CAUSE CODE
XDEVICE:=            AX, AX=AX+1    ;   DEVICE ADDRESS
XTIMRS:=             AX, AX=AX+1    ;   TIMER RESET VALUE
XMONRET:=            AX, AX=AX+1    ;   MONITOR RETURN LINK
XTLINK:=             AX, AX=AX+1    ;   TIMER LINK
XLINK0:=             AX, AX=AX+1
XLINK1:=             AX, AX=AX+1
XLINK2:=             AX, AX=AX+1
XLINK3:=             AX, AX=AX+1    ;
XLINK4:=             AX, AX=AX+1    ;
XLINK5:=             AX, AX=AX+1    ;
XLINK6:=             AX, AX=AX+1    ;
XLINK7:=             AX, AX=AX+1    ;
XWORKLGT=            5              ;   SIZE OF WORK AREA
XWORK:=              AX, AX=AX+XWORKLGT;  WORK AREA
XPROCLGT:=           AX             ;   LENGTH OF PROCESS DESCIPTOR ABOV
                                    ;   REGISTERS
XFIRST= -(XBEYLGT+XPROCHL)
IF XDATA THEN
LOC=    XFIRST
        XPROCESS                    ;   PROCESS TYPE HEADER
        XPRWDS                      ;   LENGTH OF PROCESS FILE
        XPROCESSNAME0               ;   NAME OF PROCESS
        XPROCESSNAME1
        XPROCESSNAME2
        XCPUNAME0                   ;   NAME OF REQUIRED CPU
        XCPUNAME1
        XCPUNAME2
        XPRIORITY                   ;   REQUIRED PRIORITY FOR PROCESS
        XCAPABILITIES               ;   REQUIRED CLASSIFICATION LEVEL
                                    ;   AND CAPABILITIES OF PROCESS
        XTOTSZ                      ;   MEMORY CLAIM
        XPRLNG                      ;   SIZE OF EXECUTING PROCESS
        XPFDS                       ;   NUMBER OF FILE DESCRIPTOINS
        XPIBS                       ;   NUMBER OF IO CONTROL BLOCKS
        XPSTS                       ;   NUMBER OF IO STAREAMS
        XPXFS                       ;   NUMBER OF TRANSFER LIST ELEMENTS
        XPMSGS                      ;   NUMBER OF MESSAGE BUFFERS
        0                           ;   CURRENT DIRECTORY
        0                           ;   INITIALIZATION FUNCTIONS CALLED
        XIOREF                      ;   REF TO IO DATA
        XUSERID0, XUSERID1          ;   USER ID
        IF XUSERIDLENGTH NE 2 THEN MESSAGE <:USERIDLENGTH ERROR:> FI
        0                           ;   BASE COPY
        0                           ;   XPCB
        XPRLEVEL                    ;   REQUIRED EXECUTION LEVEL OF PROC
        XBNDSZ                      ;   BOUND
        0, REPEAT 7                 ;   REGISTERS 0-7
        XABASE, XABASE, XAPROG, XAPRPC, 100, #6800
        0,    REPEAT (XPROCLGT-LOC)
FI
;«ff»«ff»