File: OS8B.PA of Tape: Sources/RTS/s3
(Source file text)
/REBOOT AND START TASK FOR OS8 WM /START KEYBOARD MONITOR AT 07600 OR 07605 TASK= OS8B CUR= 0 INIWT= 0 PARTNO= 0 CPABLE= 0 WRITE= 1 FIELD 0 *6000 START, ISZ BOOTEF CAL WAITE+FREE BOOTEF TAD (OS8 CAL BLKARG USERWT /SO WE CAN STOP TASK FROM MCR TAD BOOTBK DCA SAVBLK /SET BLOCK FROM RESIDENT JMS I (TELHIM CAL SENDW /DON'T FREE SO WE CAN KEEP MESSAGE HERE OSSYSD BOOTMS /LOAD RTS BOOTSTRAP TAD STAT SZA HLT /I DON'T KNOW ANY OTHER WAY OUT FOR THE MOMENT TAD (7600 DCA BOOT1 TAD (7400 DCA BOOT0 BOOTLP, CDF OS8F0 TAD I BOOT0 CDF OS8F1 DCA I BOOT1 ISZ BOOT0 ISZ BOOT1 JMP BOOTLP TAD DATE DCA I (7666 /RESET IN CASE OF MIDNIGHT OVERFLOW CDF 0 TAD PC CMA AND (7600 /IF THE ILLEGAL IOT WAS IN THE RESIDENT, SNA CLA /DON'T SAVE CORE ON RELOAD TAD (5 /SINCE SYS IS PROBABLY WRITE PROTECTED TAD (7600 DCA PC DCA UDF DCA UCDF JMS I (CAFLGS /CLEAR ALL FLAGS, AC ,ION DCA I (OS8^4+TSTABL /KILL OLD FIELD TAD (HNDRET /JUMP IN HANDLER EXIT DCA I (OS8^4+TSTABL+1 /THIS SIMULATES A DERAIL DCA I (OS8^4+TSTABL+2 /ZERO AC TAD (OS8 CAL UNBARG EFWT!USERWT /WAKE HER UP AND SET INPUT FLAG JMP START BOOT0, 7400 BOOT1, 7600 BOOTMS, ZBLOCK 3 0 2^100+OS8F0 I7400, 7400 SAVBLK, 0 STAT, 0 PAGE CRMES, 7;7;7;15;12 0 /WATCH GARBLING! ILIOMS, "=;"I;"L;"L;"E;"G;"A;"L " ;"I;"O;"T;" ;"A;"T;" ;0 HLTMS, "H;"A;"L;"T;" ;"A;"T;" ;0 HNDMS, "!;"H;"A;"N;"D;"L;"E;"R " ;"E;"R;"R;"O;"R;" ;"A;"T;" ;0 RTSMES, "!;"R;"T;"S;"-;"8;"!;0 PAGE /ROUTINE TO PRINT 4 DIGITS PRNT4, 0 DCA PTEMP TAD (-4 DCA PCNT PCPTLP, TAD PTEMP CLL RTL RAL DCA PTEMP TAD PTEMP RAL AND K7 TAD (260 JMS PRINT /PRINT THE PC IN OCTAL ISZ PCNT JMP PCPTLP /4 DIGITS WORTH JMP I PRNT4 PRNTMS, 0 DCA PTEMP ILIOLP, TAD I PTEMP /PRINT ERROR MESSAGE ON OS/8 TTY SNA /LIST ENDS WITH 0 JMP I PRNTMS JMS PRINT ISZ PTEMP JMP ILIOLP PTEMP, 0 PCNT, 0 PRINT, 0 /PRINT AND HANG IF NECESARY JMS I (XTLSUB TAD I PTSFEF SNA CLA JMP I PRINT /CAN RECEIVE CAL /BUFFER FULL WAITE /HANG ON TSFEF PTSFEF, TSFEF JMP I PRINT /MESSAGE HANDLER REACTS ON CONTENTS OF 'WD' / / WD= 0 START OR MANUAL REBOOT (^A) / WD= 7402 HALT / WD= 6200 HANDLER ERROR / WD= OTHER ILLEGAL IOT TELHIM, 0 IOF AC0002 /SET CHECKPOINTABLE BIT TAD I (OS8B-NRTASK^2+RESTBL DCA I (OS8B-NRTASK^2+RESTBL ION TAD (CRMES JMS PRNTMS TAD WD /GET INST. FROM CANONICAL LOCATION SNA JMP BOTHIM TAD (-7402 SNA JMP HLTERR TAD (7402-6200 SNA CLA JMP HNDERR TAD WD IOTERR, JMS PRNT4 TAD (ILIOMS PRADD, JMS PRNTMS TAD UIF CLL RTR RAR TAD (260 JMS I (XTLSUB /PRINT FIELD TAD PC JMS PRNT4 TELEX, IOF AC7775 /CLEAR CHECKP. BIT AND I (OS8B-NRTASK^2+RESTBL DCA I (OS8B-NRTASK^2+RESTBL ION JMP I TELHIM BOTHIM, TAD (RTSMES JMS PRNTMS JMP TELEX HLTERR, TAD (HLTMS JMP PRADD HNDERR, TAD (HNDMS JMP PRADD PAGE