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: 15512 (0x3c98) Types: TextFile Names: »CONFIG.P«
└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS ) └─ ⟦this⟧ »GENS.D!SYSGEN.D!MINI_CAMPS.D!CONFIG.P«
«ff» *** *** CR80 PASCAL COMPILER (VERSION: 81/10/29) *** COMPILATION STARTED 79/01/01 AT 00:07 *** SOURCE FILE: @FILSYS-FILE*MINI_CAMPS*MD*GENS.D*SYSGEN.D*MINI_CAMPS.D*CONFIG.S *** OBJECT FILE: @FILSYS-FILE*MINI_CAMPS*MD*GENS.D*SYSGEN.D*MINI_CAMPS.D*CONFIG.L *** 0001 %SUBMODULE 0002 %NOLIST *** INCLUDE *** FILE: @FILSYS-FILE*MINI_CAMPS*MD*GENS.D*SYSGEN.D*MINI_CAMPS.D*HEAD *** LEVEL: 0001 0534 0535 "*********************************************************************** 0536 * * 0537 * T O S * 0538 * T E R M I N A L O P E R A T I N G S Y S T E M * 0539 * * 0540 * CONF ITEM: CSS/380 * 0541 * AUTHOR: JHO * 0542 * VERSION: 6 * 0543 * DATE: 811120 * 0544 * * 0545 ***********************************************************************" 0546 "RELEASE DATE AUTHOR CHANGES 0547 -------- ------ ------ ------------------------------------------------ 0548 4 810123 JHO ERROR IN IN_NEWS FIXED (CPECR 128) 0549 COMMANDS CHANGED FROM 2 TO 10 SIGNIFICANT CHARS 0550 (CPECR 136) 0551 RESERVE_DISK, RELEASE_DISK ADDED (CPECR 226) 0552 QUEUEING IF NO PCB'S 0553 ERROR IN OPENING COMMAND -SYSDIR- CORRECTED (CPECR 238) 0554 TEST COMMAND DELETED (CPECR 238) 0555 DECIMAL PROGRAM VERSION NUMBER IN STATUS (CPECR 185) 0556 TASKS FAILING TO RESPOND TO UTILITY SYSTEM 0557 IS TERMINATED WITH CC=#8801 0558 5 810226 JHO COMPILED WITH FASTCODE 0559 0560 6 810428 JHO SUPPORT OF LTUS 0561 SUPPORT OF DUAL SYSTEM DISK 0562 ERROR IN OPEN PHASE COMMAND PROCESSING (MISSING 0563 ERROR REPORTING) CORRECTED 0564 604 811120 EKH SUPPORT OF ALTERNATIVE FILE SYSTEMS 0565 CONFIGURATION PARAMETERS ISOLATED TO A SEPARATE MODULE 0566 TOS MODULES MOVED FROM SYSTEM DIRECTORY 0567 AUTO-OPEN AND AUTO-CONFIG SUPPORTED 0568 " 0569 %FASTCODE 0570 0571 %CHECK 0572 %NOUNIVCHECK 0573 %SUMMARY 0574 "PAGE"«ff» *** ENDINCLUDE *** LEVEL: 0001 0575 *** INCLUDE *** FILE: @FILSYS-FILE*MINI_CAMPS*MD*GENS.D*SYSGEN.D*MINI_CAMPS.D*LIMITS *** LEVEL: 0001 0576 0577 CONST PROCESS_LIMIT = 30; 0578 CONST PROGRAM_LIMIT = 20; 0579 CONST TERMINAL_LIMIT = 6; 0580 CONST DEVICE_LIMIT = 6; 0581 CONST FILSYS_LIMIT = 1; 0582 CONST LOAD_Q_LIMIT = TERMINAL_LIMIT; 0583 *** ENDINCLUDE *** LEVEL: 0001 0584 *** INCLUDE *** FILE: @FILSYS-FILE*MINI_CAMPS*MD*GENS.D*SYSGEN.D*MINI_CAMPS.D*TYPES *** LEVEL: 0001 0585 TYPE TERMINAL_INDEX = 0..TERMINAL_LIMIT; 0586 TYPE PROCESS_INDEX = 0..PROCESS_LIMIT; 0587 TYPE PROGRAM_INDEX = 0..PROGRAM_LIMIT; 0588 TYPE FILSYS_INDEX = 0..FILSYS_LIMIT; 0589 TYPE DEVICE_INDEX = 0..DEVICE_LIMIT; 0590 TYPE LOAD_Q_INDEX = 0..LOAD_Q_LIMIT; 0591 0592 CONST ECHO_MODE = 0; 0593 CONST VDU_MODE = 1; 0594 CONST WAIT_MODE = 2; 0595 CONST ITT_MODE = 3; 0596 CONST FF_MODE = 4; 0597 0598 CONST IBUFLGT = 80; 0599 0600 TYPE OPEN_STATE = 0601 ( SYSTEM_CLOSED, SYSDEV_ASSIGNED, SYSVOL_MOUNTED, USERED_ON, 0602 WF_CREATED, MD_FOUND, SYSDIR_FOUND, TOSDIR_FOUND, 0603 PASSES_FOUND, ERRORTEXTS_FOUND, SYSTEM_OPEN); 0604 0605 0606 TYPE OS_MODE_TYPE = (SLAVE, MASTER, DUAL); 0607 0608 TYPE IBUF_TYPE = ARRAY [1..IBUFLGT] OF INTEGER; 0609 0610 TYPE NEWS_TYPE = RECORD 0611 BYTE_COUNT : INTEGER; 0612 MSG : IBUF_TYPE 0613 END; 0614 0615 0616 0617 CONST PRHL= 26; 0618 CONST PGHL = 9; 0619 CONST PROGRAMMEMORY = 10; 0620 CONST UTILITYPROGRAM = #10; 0621 CONST REENTRANT = 1; 0622 CONST RELEASEMEMORY = 0; 0623 CONST ALLOCATEMEMORY = 1; 0624 CONST TRANSFERMEMORY = 4; 0625 CONST MESSAGE_DELAY_PARENTSIGNAL = #302; 0626 CONST PUBLIC_USER = #FFFC; 0627 CONST UNSIGNED5 = #8520 ; 0628 CONST SIGNED5= #0520 ; 0629 0630 CONST RESERVE= 8; 0631 0632 TYPE DUAL_DEVICE_DESC = RECORD 0633 DEVICE_KIND, 0634 DEVICE_ADDR_0, 0635 UNIT_0, 0636 SUBUNIT : INTEGER; 0637 DEVICE : DEVICE_NAME; 0638 DEVICE_ADDR_1, 0639 UNIT_1 : INTEGER 0640 END; 0641 0642 TYPE UNPACKED_NAME = ARRAY [0..7] OF CHAR; 0643 0644 TYPE TEXT = ARRAY [1..300] OF CHAR; 0645 0646 TYPE PROCESS_STATE = (FREE, CREATED, STOPPED, RUNNING); 0647 0648 TYPE TERMINAL_INIT_REC = RECORD 0649 OPER, ADDR, MODE, LINEWIDTH, TIMEOUT: INTEGER 0650 END; 0651 0652 TYPE DEVICE_STATE = (DEASSIGNED, ASSIGNED, MOUNTED, RESERVED); 0653 0654 0655 0656 TYPE TERMINAL_IO_MODE = (TIDLE, TIN, TOUT); 0657 0658 TYPE HEADER_KIND = (ILLEGAL_KIND, PROGRAM_KIND, PROCESS_KIND); 0659 0660 TYPE PROCESS_HEADER = RECORD 0661 KIND : HEADER_KIND; 0662 SIZE : INTEGER; 0663 PROC_NAME : PACKED_NAME3; 0664 CPU_NAME : PACKED_NAME3; 0665 PRIO, CAPAB, CLAIM, EXECSIZE: INTEGER; 0666 IO_PARS : ARRAY [1..4] OF INTEGER; 0667 MSGS : INTEGER; 0668 CURDIR : INTEGER; 0669 MEM_RANGE : INTEGER; 0670 DUMMY : ARRAY [0..4] OF INTEGER; 0671 LEVEL, BOUND : INTEGER 0672 END; 0673 0674 TYPE PROGRAM_NAME = PROCESS_NAME; 0675 0676 TYPE LOAD_RESULT = INTEGER; 0677 0678 TYPE MEMORY_TYPE = (FORPROGRAM, FORDATA); 0679 0680 TYPE PRINTERSTATETYPE = (PRINTERIDLE, PRINTERQUEUED, PRINTERACTIVE); 0681 0682 TYPE PRINTFILEREC = RECORD 0683 PRINTERSTATE : PRINTERSTATETYPE; 0684 PRINTERNAME : PROCESS_NAME; 0685 RESERVED : BOOLEAN; 0686 SEMA : FILE; 0687 RESERVER : INTEGER 0688 END; 0689 0690 TYPE RQ_ANSWER = (RQ_OK, RQ_INV_REQUEST, RQ_INV_PROC, RQ_INV_PROC_STATE, 0691 RQ_INV_FSN, RQ_FAIL_TASK, RQ_LOAD_ERROR, RQ_Q_OFFER); 0692 0693 TYPE SERVICE_REQUEST = (STARTTASK, STOPTASK, REMOVETASK, LOGOFF, 0694 LOADTASK_1, LOADTASK_2, INITTASK, RESERVEPRINT, RELEASEPRINT, 0695 STARTPRINT, QTASK); 0696 0697 TYPE SERVICE_REQUEST_MESSAGE = RECORD 0698 CASE RQTYPE :SERVICE_REQUEST OF 0699 STARTTASK, STOPTASK, REMOVETASK, LOADTASK_1, INITTASK: 0700 (PNAME : PROCESS_NAME); 0701 LOADTASK_2: (GNAME: PACKED_NAME2); 0702 STARTPRINT, QTASK, 0703 LOGOFF, RESERVEPRINT, RELEASEPRINT: (DUMMY : INTEGER) 0704 END; 0705 0706 TYPE USERENTRYTYPE = RECORD 0707 ID : INTEGER; 0708 PASSWORD : PACKED_NAME 0709 END; 0710 0711 TYPE FILE_ID = RECORD 0712 XCOMPLETE : BOOLEAN; 0713 XFSN : FILE_SYSTEM_NAME; 0714 XVOL : VOLUME_NAME; 0715 XNAMELIST : NAMELISTTYPE; 0716 XNAMENBR : INTEGER 0717 END; 0718 0719 TYPE STATUS_TYPE = (SCOMPLETE, SDEVICES, STERMINALS, SPROCESSES, SPROGRAMS); 0720 0721 TYPE PASSES = (SERVICE_PASS, COMMAND_PASS, LOGIN_PASS, RUN_PASS, TERMINALON_PASS, 0722 STATUS_PASS, PRINT_PASS, LTUON_PASS); 0723 0724 TYPE TERMINL = RECORD 0725 PROCESSREF : PROCESS_INDEX; 0726 OPERATION : OPERATION_REFERENCE; 0727 MODE : TERMINAL_IO_MODE; 0728 FIL : FILE; 0729 FILADR : FILE_ADDRESS; 0730 USED : BOOLEAN; 0731 LTU : BOOLEAN; 0732 NAME : ARRAY [0..0] OF INTEGER; 0733 NEXT : TERMINAL_INDEX; "POINTER TO NEXT TERMINAL IF AN LTU" 0734 TUSERS : INTEGER; 0735 REC : IBUF_TYPE; 0736 REF_RECDESCRIPT : BLEPTR 0737 END; 0738 0739 TYPE PROC = RECORD 0740 NAME : PROCESS_NAME; 0741 USRID : USERID; 0742 BASE : INTEGER; 0743 EVT : INTEGER; "MESSAGE FROM PARENT TASK" 0744 PARENT : PROCESS_INDEX; 0745 PPROGRAM : PROGRAM_INDEX; 0746 PTERMINAL : TERMINAL_INDEX; 0747 STATE : PROCESS_STATE; 0748 MEM : INTEGER 0749 END; 0750 0751 TYPE PROGRAM_HEADER = RECORD 0752 KIND : HEADER_KIND; 0753 SIZE : INTEGER; 0754 NAME : PROGRAM_NAME; 0755 PTYPE, START, MICRO : INTEGER 0756 END; 0757 0758 TYPE PROGR = RECORD 0759 HEADER : PROGRAM_HEADER; 0760 PROG, MEM, USERS : INTEGER 0761 END; 0762 0763 TYPE TDEVICE = RECORD 0764 FSYS : FILSYS_INDEX; 0765 DEV : DEVICE_DESCRIPTION; 0766 VOLUME : VOLUME_NAME; 0767 USER : INTEGER; 0768 STATE : DEVICE_STATE; 0769 UPDATE_RESET : INTEGER; 0770 UPDATE_COUNT : INTEGER 0771 END; 0772 0773 TYPE LOAD_Q_ELEM_TYPE = RECORD 0774 EVT : INTEGER; "SAVED EVENT ID" 0775 USED : BOOLEAN; 0776 P : PROCESS_INDEX; 0777 F : FILE 0778 END; 0779 0780 TYPE LOAD_Q_TYPE = RECORD 0781 MEMORY_RELEASED : BOOLEAN; 0782 Q_SIZE : LOAD_Q_INDEX; 0783 Q : ARRAY [ TERMINAL_INDEX ] OF LOAD_Q_ELEM_TYPE 0784 END; 0785 0786 TYPE TERMINALLIST= ARRAY [TERMINAL_INDEX] OF TERMINL; 0787 TYPE PROCESSLIST= ARRAY [PROCESS_INDEX] OF PROC; 0788 TYPE PROGRAMLIST= ARRAY [PROGRAM_INDEX] OF PROGR; 0789 TYPE FILSYSLIST= ARRAY [FILSYS_INDEX] OF FILE_SYSTEM_NAME; 0790 TYPE DEVICELIST= ARRAY [DEVICE_INDEX] OF TDEVICE; 0791 0792 TYPE TERMINALPTR= @TERMINALLIST; 0793 TYPE PROCESSPTR= @PROCESSLIST; 0794 TYPE PROGRAMPTR= @PROGRAMLIST; 0795 TYPE FILSYSPTR= @FILSYSLIST; 0796 TYPE DEVICEPTR= @DEVICELIST; 0797 TYPE LOAD_QPTR= @LOAD_Q_TYPE; 0798 0799 TYPE COMMON_DATA = RECORD 0800 TOS_VERSION: INTEGER; 0801 OS_MODE: OS_MODE_TYPE; 0802 LOCAL_PRINTER: BOOLEAN; 0803 OC_INIT_REC: TERMINAL_INIT_REC; 0804 SYSTEM_DEV: DEVICE_DESCRIPTION; 0805 SYSDUAL_DEV: DEVICE_DESCRIPTION; 0806 SYSTEM_VOL: VOLUME_NAME; 0807 SYSTEM_DIR: FILE_NAME; 0808 FILESYSTEMS: FILSYS_INDEX; 0809 AUTO_OPENS: INTEGER; 0810 NEWS: NEWS_TYPE; 0811 0812 TERMINAL: TERMINALPTR; 0813 PROCESS: PROCESSPTR; 0814 PRQGRAM: PROGRAMPTR; 0815 FILSYS: FILSYSPTR; 0816 DEVICE: DEVICEPTR; 0817 LOAD_Q: LOAD_QPTR; 0818 MAXTERMINAL: TERMINAL_INDEX; 0819 MAXPROCESS: PROCESS_INDEX; 0820 MAXPROGRAM: PROGRAM_INDEX; 0821 MAXFILSYS: FILSYS_INDEX; 0822 MAXDEVICE: DEVICE_INDEX; 0823 MAX_Q_SIZE: LOAD_Q_INDEX; 0824 SYSDIR: FILE; 0825 ERRORTEXTS: FILE; 0826 WF: FILE; 0827 WS: STREAM; 0828 STATUS: STATUS_TYPE; 0829 PASSFILE: ARRAY[ PASSES ] OF FILE; 0830 PRINTFILE: PRINTFILEREC; 0831 USRIDGENERATOR: INTEGER; 0832 MEMMGR: PROCESS_NAME; 0833 TEMP_FILE_ATTR: FILE_ATTRIBUTES; 0834 EVTTYP: EVENT_TYPE; 0835 EVENT: INTEGER; 0836 MSGBUF: MESSAGE_BUFFER; 0837 CURTERMINAL: TERMINAL_INDEX; 0838 CLOSED: BOOLEAN; 0839 OSUSR: USERID 0840 END; 0841 "MAXTERMINAL, MAXPROCESS, MAXPROGRAM CORRESPOND TO OC" 0842 "FILSYS[0] CORRESPONDS TO SYSTEM FILE SYSTEM " 0843 0844 TYPE GLOBAL_REF =@COMMON_DATA; 0845 "PAGE"«ff» *** ENDINCLUDE *** LEVEL: 0001 0846 0847 %IMPORT: PACKNAME 0848 PROCEDURE PACKNAME( T: TEXT; VAR NM: PACKED_NAME; BYTES: INTEGER); 0849 EXTERN; 0850 " 0851 VAR I: INTEGER; 0852 BEGIN 0853 FOR I:=0 TO 7 DO NM[I] := 0; 0854 PACK( T[1], NM[0], BYTES); 0855 END; 0856 " 0857 0858 %IMPORT:PACKIT 0859 PROCEDURE PACKIT( T: TEXT; VAR STRING: UNIV ELEMENT; BYTES: INTEGER); 0860 EXTERN; 0861 " 0862 BEGIN 0863 PACK( T[1], STRING, BYTES); 0864 END; 0865 " 0866 0867 %IMPORT: GET_VERSION 0868 PROCEDURE GET_VERSION( VAR PROGRAM_VERSION: INTEGER); 0869 EXTERN; 0870 0871 0872 "PAGE" 0873 %EXPORT: CONFIG 0874 PROCEDURE CONFIG( VAR COMMON: COMMON_DATA); 0875 BEGIN 0876 WITH COMMON DO 0877 BEGIN 0878 MAXTERMINAL:= TERMINAL_LIMIT; NEW(TERMINAL); 0879 MAXPROCESS := PROCESS_LIMIT; NEW(PROCESS); 0880 MAXPROGRAM := PROGRAM_LIMIT; NEW(PRQGRAM); 0881 MAXFILSYS := FILSYS_LIMIT; NEW(FILSYS); 0882 MAXDEVICE := DEVICE_LIMIT; NEW(DEVICE); 0883 MAX_Q_SIZE := TERMINAL_LIMIT; NEW(LOAD_Q); 0884 GET_VERSION(TOS_VERSION); *** INCLUDE *** FILE: @FILSYS-FILE*MINI_CAMPS*MD*GENS.D*SYSGEN.D*MINI_CAMPS.D*DEFAULTS *** LEVEL: 0001 0885 0886 PACKIT( 'TTY000', PROCESS@[MAXPROCESS].NAME.NAME[0], 6); 0887 0888 WITH OC_INIT_REC DO 0889 BEGIN 0890 ADDR := 5; 0891 LINEWIDTH := 72; 0892 MODE := 0; 0893 SETBIT(MODE,ECHO_MODE); 0894 SETBIT(MODE,WAIT_MODE); 0895 END; 0896 0897 0898 OS_MODE := MASTER; 0899 0900 WITH SYSTEM_DEV DO 0901 BEGIN 0902 DEVICE_KIND := 42; 0903 DEVICE_ADDR := 200; 0904 UNIT := 0; 0905 SUBUNIT := 0; 0906 PACKIT( 'SMD0', DEVICE[0], 4); 0907 END; 0908 0909 0910 PACKIT( 'FILSYS', FILSYS@[0].PNAME.NAME[0], 6); " SYSTEM FILE SYSTEM " 0911 PACKIT( 'FILE', FILSYS@[0].GNAME[0], 4); 0912 0913 PACKNAME( 'MINI_CAMPS', SYSTEM_VOL, 10); 0914 PACKNAME( 'MD', SYSTEM_DIR, 2); 0915 0916 0917 FILESYSTEMS := 0; " NUMBER OF ALTERNATE FILE SYSTEMS " 0918 "PACKIT( 'ALTFMS', FILSYS@[1].PNAME.NAME[0], 6); ALTERNATIVE FILE SYSTEM " 0919 "PACKIT( 'AFMS', FILSYS@[1].GNAME[0], 4); " 0920 0921 0922 AUTO_OPENS := 2; 0923 0924 WITH TERMINAL@[MAXTERMINAL] DO BEGIN 0925 FILADR.TRANSFERRED_BYTES := LONG(16); 0926 PACKIT( 'DO CONFIG_1 ', REC, 16); 0927 END; *** ENDINCLUDE *** LEVEL: 0001 0928 WITH NEWS DO 0929 BEGIN 0930 BYTE_COUNT := 16; 0931 PACKIT( '(:10:)Welcome to TOS(:10:)', MSG[1], BYTE_COUNT); 0932 END; 0933 0934 LOCAL_PRINTER := TRUE; 0935 END; 0936 END; 0937 0938 BEGIN END. SUMMARY COMPILER VERSION: 6 COMPILER RELEASE: 2 PROGRAM SIZE: 249 OVERLAYAREA: 0 LARGE CONSTANTS: 72 (FASTCODE,SUBMODULE,CHECK, NUMBER, NOUNIVCHECK, NOCODESTATISTICS, NOLINESTATISTICS) ▶19◀