mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-01-13 15:17:03 +00:00
Commit initial B6500 MCP Mark 0.0 source, transcribed by James Fehlinger, as of 2014-06-04.
This commit is contained in:
parent
a18c850a00
commit
8c710f2381
175
source/B65MCP/MARK00.esp_m
Normal file
175
source/B65MCP/MARK00.esp_m
Normal file
@ -0,0 +1,175 @@
|
||||
BEGIN 00000000
|
||||
COMMENT MCP LISTING DIRECTORY 00001000
|
||||
010000000 INDEPENDENT RUNNER FORWARD DECLARATION 00002000
|
||||
020000000 FORWARD PROCEDURE DECLARATION 00003000
|
||||
08000000 INITIAL VALUE TABLES 00004000
|
||||
08000000 BCL TO EBCEDIC 00005000
|
||||
08018000 EBCEDIC TO BCL 00006000
|
||||
08084000 TRUTH SETS 00007000
|
||||
08106000 POWER OF TEN TABLES 00007100
|
||||
08247000 CONTROL CARD 00007200
|
||||
09000000 STANDARD QUEUE DECLARATION 00008000
|
||||
10000000 GLOBALS 00009000
|
||||
10017000 INTERRUPT - EVENT HANDLING GLOBALS 00010000
|
||||
10055000 TAG DEFINITION 00011000
|
||||
10075000 CONTROL WORD LAYOUTS 00012000
|
||||
10252000 REGISTERS DEFINITIONS 00013000
|
||||
11000000 STORAGE ALLOCATION GLOBALS 00014000
|
||||
12000000 INITIALIZE GLOBALS 00015000
|
||||
13000000 INPUT - OUTPUT GLOBALS 00016000
|
||||
13056500 VALUE ARRAYS - MCPID,KEYIN GLOSSARIES,ETC. 00016100
|
||||
13276000 KEYIN - SPOUT GLOBALS 00017000
|
||||
13318000 IOQUE QUEUE DECLARATION 00018000
|
||||
13375000 WAITCHANNELQUE QUEUE DECLARATION 00019000
|
||||
14000000 DISK MANAGEMENT 00020000
|
||||
15000000 GETAREA - FORGET AREA GLOBALS 00021000
|
||||
16000000 STANDARD INSERT 00022000
|
||||
16016000 STANDARD DELINK 00023000
|
||||
17000000 NAMEQUE QUEUE DECLARATION 00024000
|
||||
17021000 BLOCKSOFAREAQUE QUEUE DECLARATION 00025000
|
||||
17035000 KEYING QUEUE DECLARATION 00026000
|
||||
18007000 FILE MANAGEMENT 00027000
|
||||
19000000 REPLY MESSAGE 00028000
|
||||
20000000 INDEPENDENT RUNNER GLOBALS 00029000
|
||||
21140000 READYQ QUEUE DECLARATION 00030000
|
||||
21263000 SHEETQ QUEUE DECLARATION 00031000
|
||||
21357000 TERMINATEQ QUEUE DECLARATION 00032000
|
||||
23000000 DIRECTORY MANAGEMENT 00034000
|
||||
24000000 I/0 INTRINSIC DECLARATIONS 00034100
|
||||
30000000 GETSPACE / FORGETSPACE 00035000
|
||||
31000000 GETAREA / FORGETAREA 00036000
|
||||
32000000 INITIALIZE 00037000
|
||||
33000000 HARDWAREINTERRUPT 00038000
|
||||
33167000 PRESENCEBIT 00039000
|
||||
33538000 WHATDOIDO 00040000
|
||||
33567000 EVENTHANDLER 00041000
|
||||
33763000 SOFTWAREINTERRUPTDEC 00042000
|
||||
33855000 HOLD 00043000
|
||||
33890000 HOLDINITIALIZE 00044000
|
||||
33961000 GETINDEPENDENTRUNNERSTACK 00045000
|
||||
33960000 INDEPENDENTRUNNER 00046000
|
||||
34051000 RUN 00047000
|
||||
34086000 LOADFIXDIRSTACK 00048000
|
||||
38000000 CONTROL CARD 00048600
|
||||
40000000 INPUT - OUTPUT ROUNTINES 00049000
|
||||
40005000 STARTIO 00050000
|
||||
40037000 INITIATEIO 00051000
|
||||
40075000 IOREQUEST 00052000
|
||||
40089000 WAITIO 00053000
|
||||
40131000 NEWIO 00054000
|
||||
40154000 IOFINISH 00055000
|
||||
40316000 STATUS 00056000
|
||||
40565000 DISKIO 00057000
|
||||
40597000 DISKWAIT 00058000
|
||||
44022000 DISPLAY ROUTINES 00059000
|
||||
44097000 KEYIN 00060000
|
||||
44176000 SPOUT 00061000
|
||||
50000000 ERROR ROUTINES 00062000
|
||||
50000000 IOERROR 00063000
|
||||
55000000 DISK MANAGEMENT 00064000
|
||||
55018000 FORGETESPDISK 00066000
|
||||
55039000 GETUSERDISK 00067000
|
||||
55123000 FORGETUSERDISK 00068000
|
||||
58000000 LIBRARY MAINTENANCE 00068900
|
||||
59000000 PERIPHERALINITIALIZE 00069000
|
||||
60000000 PROGRAM INTRINSICS 00070000
|
||||
65000000 ARRAYDEC 00071000
|
||||
65174000 BLOCKEXIT 00072000
|
||||
65228000 GOTOSOLVER 00073000
|
||||
70000000 PROGRAM INPUT- OUTPUT INTRINSICS 00074000
|
||||
80000000 SELECTION - PROCESS HANDLING 00075000
|
||||
80361000 INITIATE 00076000
|
||||
80519000 SELECTION 00077000
|
||||
80600000 TERMINATE 00077200
|
||||
99000000 MONITOR 00078000
|
||||
99970000 MCP OUTER BLOCK 00079000
|
||||
; 00999999
|
||||
COMMENT FOLLOWING ARE FORWARD DECLARATIONS FOR PROCEDURES CAPABLE OF 01000000
|
||||
RUNNING AS INDEPENDENT RUNNERS. THE FORWARD DECLARATION FOR 01001000
|
||||
A NEW INDEPENDENT RUNNER MUST APPEAR BEFORE THAT FOR STATUS IF 01001500
|
||||
IT IS CAPAPABLE OF MULTIPLE REPRESENTATION. AN INDICATOR MAY. 01002000
|
||||
BE ASSOCIATED WITH AN INDEPENDENT RUNNER (SEE CROSS FEFERENCE 01002500
|
||||
FOR "TERMINATE" AND "TERMINATEINDICATOR" FOR HOW THIS IS 01003000
|
||||
EFFECTED). THIS INDICATOR ISNOT NECESSARY TO THE 01003500
|
||||
IMPLEMENTATION, HOWEVER IT IS NECESSARY IF INDEPENDENTRUNNER IS01004000
|
||||
01004300
|
||||
TO RECOGNISE THE NEW RUNNER AS A SPECIAL CASE 01004500
|
||||
01004600
|
||||
; 01005000
|
||||
PROCEDURE CONTROLCARD (PARAMETER); 01006000
|
||||
WORD PARAMETER; FORWARD; 01007100
|
||||
PROCEDURE READALABEL(LINFO);VALUE LINFO;REAL LINFO;FORWARD; 01007105
|
||||
PROCEDURE PURGIT(U);VALUE U;REAL U;FORWARD; 01007107
|
||||
PROCEDURE DIRECTORYCOMPLEMENT(ROW); ARRAY ROW[*]; FORWARD; 01007200
|
||||
PROCEDURE IRTEST(IND); INTEGER IND; FORWARD; 01008000
|
||||
PROCEDURE INITIATE (DUMMY); REAL DUMMY; FORWARD; 01008200
|
||||
PROCEDURE IOERROR(RD); REAL RD; FORWARD; 01008500
|
||||
01009000
|
||||
PROCEDURE STATUS (COUNT); INTEGER COUNT; FORWARD; 01009100
|
||||
PROCEDURE KEYIN(COUNT); REAL COUNT; FORWARD; 01009110
|
||||
PROCEDURE CONNSOUL(COUNT); REAL COUNT; FORWARD;% 01010000
|
||||
PROCEDURE TERMINATE (PARAMETER); REAL PARAMETER ; FORWARD; 01011000
|
||||
COMMENT: FOR THOSE OF YOU WHO DON"T KNOW SO, TERMINATE MUST BE THE 01011100
|
||||
LAST INDEPENDENTRUNNER DECLARED IN THIS FORWARD LIST. 01011200
|
||||
ONE WRITES "FORK(<PROCEDURE ID>, <PARAMETER>)" TO START ONE OF 01011300
|
||||
THESE GUYS UP; 01011400
|
||||
PROCEDURE WHATDOIDO; FORWARD; 02000000
|
||||
PROCEDURE INDEPENDENTRUNNER(INDEX,PAR);VALUE INDEX,PAR;REAL INDEX; 02001000
|
||||
WORD PAR; FORWARD; 02002000
|
||||
PROCEDURE LOADFIXEDIRSTACK(STACKNO);VALUE STACKNO;INTEGER STACKNO; 02003000
|
||||
FORWARD; 02004000
|
||||
SAVE INTEGER PROCEDURE TRACE = (0,19) ( TRACTER ) ; 02005000
|
||||
VALUE TRACTER; INTEGER TRACTER; FORWARD; 02006000
|
||||
SAVE REAL PROCEDURE GETSPACE (SIZE, WHOFOR, TYPE, ADDRESS); 02007000
|
||||
VALUE SIZE, WHOFOR, TYPE, ADDRESS; 02008000
|
||||
INTEGER SIZE, WHOFOR, TYPE; 02009000
|
||||
REAL ADDRESS; FORWARD; 02010000
|
||||
SAVE INTEGER PROCEDURE FORGETSPACE (ADDRESS); 02011000
|
||||
VALUE ADDRESS; INTEGER ADDRESS; FORWARD; 02012000
|
||||
SAVE PROCEOURE OVERLAY (ADDRESS); VALUE ADDRESS;INTEGER ADDRESS;FORWARD;02013000
|
||||
REAL PROCEDURE DIRECTORYSEARCH(POINT, CODE, LLOCK); 02016100
|
||||
VALUE POINT, CODE, LLOCK; 02016200
|
||||
POINTER POINT; 02016300
|
||||
REAL CODE; 02016400
|
||||
BOOLEAN LLOCK; FORWARD; 02016500
|
||||
SAVE PROCEDURE IOFINISH(MPXINDEX); VALUE MPXINDEX; 02017000
|
||||
INTEGER MPXINDEX; FORWARD; 02018000
|
||||
PROCEDURE FINISHOFFIO(IOCB); VALUE IOCB; REFERENCE IOCB; FORWARD;02019000
|
||||
PROCEDURE FINISHOFFIO(IOCB); VALUE IOCB; REFERENCE IOCB; ; COMMENT * * ;02020000
|
||||
SAVE 02020998
|
||||
PROCEDURE SPOUT(IOCB,U);VALUE IOCB,U;REAL U;REFERERCE IOCB;FORWARD; 02021000
|
||||
PROCEDURE MESSER(W,INFO);VALUE W,INFO;REAL W;WORD INFO;FORWARD;% 02021100
|
||||
PROCEDURE MIXPRINT(BUF);ARRAY BUF[*]; FORWARD;% 02022000
|
||||
BOOLEAN PROCEDURE JULIT(P);POINTER P; FORWARD; 02022300
|
||||
PROCEDURE DATIT(P); POINTER P; FORWARD;% 02022400
|
||||
REAL PROCEDURE CURRENTTIME; FORWARD; 02022500
|
||||
PROCEDURE CHANLOUT(I,BUFF);VALUE I;REAL I;ARRAY BUFF[*];FORWARD; 02022600
|
||||
SAVE PROCEDURE CONNQUEST(UNIT); VALUE UNIT; REAL UNIT; FORWARD; 02023000
|
||||
SAVE PROCEDURE UNEXPIOERROR(IOCB,IOERRORMASK); 02024000
|
||||
VALUE IOCB,IOERRORMASK; 02025000
|
||||
REFERENCE IOCB; 02026000
|
||||
REAL IOERRORMASK; ; COMMENT * * * * * * * * ** ; 02027000
|
||||
SAVE REAL PROCEDURE WAITIO(AREA, USER, IOMASK); 02030000
|
||||
VALUE USER, IOMASK; 02031000
|
||||
ARRAY AREA[*]; 02032000
|
||||
REAL USER, IOMASK; 02033000
|
||||
FORWARD; 02034000
|
||||
SAVE PROCEDURE IOREQUEST(IOCB);VALUE IOCB;REFERENCE IOCB:FORWARD; 02034100
|
||||
SAVE REFERENCE PROCEDURE DISKIO(CORE,INDEX,SIZE,DISK,MASK,DISKIOEVNT); 02035000
|
||||
VALUE INDEX,SIZE,DISK,MASK; 02036000
|
||||
INTEGER INDEX,SIZE,DISK,MASK; 02037000
|
||||
ARRAY CORE [*]; 02038000
|
||||
EVENT DISKIOEVNT ; FORWARD; 02039000
|
||||
SAVE PROCEDURE DISKWAIT(CORE,INDEX,SIZE.DISK,MASK); 02040000
|
||||
VALUE INDEX,SIZE,DISK,MASK; 02041000
|
||||
INTEGER INDEX,SIZE,DISK,MASK; 02042000
|
||||
ARRAY CORE[*]; 02043000
|
||||
FORWARD; 02044000
|
||||
PROCEDURE HARDWAREINTERRUPT(P1,P2); VALUE P1,P2; 02045000
|
||||
INTEGER P1; WORD P2; FORWARD; 02046000
|
||||
WORD HARDWAREINTERRUPTPCW = HARDWAREINTERRUPT; 02046100
|
||||
WORD D03 = (O, 3); 02046200
|
||||
SAVE PROCEDURE HOLDINITIALISE; FORWARD; 02047000
|
||||
SAVE PROCEDURE PERIPHERALINITIALIZE; FORWARD; 02048000
|
||||
REAL MCPDISKBASE = PERIPHERALINITIALIZE; COMMENT ADDRESS OF MCP DISK; 02049000
|
||||
SAVE PROCEDURE INITIALIZE(P1, P2); 02050000
|
||||
Loading…
x
Reference in New Issue
Block a user