Revision 4e5d304eb7cd5589b924ffb8b423b6f15511b35d authored by Ron Burkey on 20 October 2018, 17:47:00 UTC, committed by Ron Burkey on 20 October 2018, 17:47:00 UTC
the recently-added documents about YUL, was transcribed. Because the original program contained a deliberate error in YUL (as well as some constructs that have unintentionally become errors in yaYUL), I've provided it in two forms: TRIVIUM (which matches the original scan, to the extent feasible) and TRIVIUM-repaired (which has the deliberate and unintentional errors fixed, but otherwise retains the identical functionality of the original).
1 parent c6c292e
SELFLD.s
* COPYRIGHT NONE. THIS CODE IS IN THE PUBLIC DOMAIN.
* FILENAME GEMINICATCHUPANDRENDEZVOUSPROGRAM/SELFLD.S
* PURPOSE THIS IS PART OF THE ORIGINAL 1965 SIMULATION
* PROGRAM FOR THE GEMINI 7/6 MISSION
* CATCH-UP AND RENDEZVOUS FLIGHT PHASES.
* THIS PARTICULAR FILE CONTAINS THE IBM
* 7090/7094 ASSEMBLY-LANGUAGE SUBROUTINE
* CALLED SELFLD (ROUTINE TO GENERATE A
* SELF-LOADING TAPE ON A7).
* WEBSITE WWW.IBIBLIO.ORG/APOLLO
* HISTORY 2010-08-14 RSB BEGAN TRANSCRIBING FROM
* THE SCANNED PDF REPORT.
*
* REFER TO MAIN.F FOR MORE-DETAILED INTRODUCTORY COMMENTS.
*
* FROM PAGE 143 OF THE REPORT
ENTRY SELFLD
SELFLD SXA XR1,1 SAVE INDEX REGISTERS FOR RETURN TO
SXA XR2,2 CALLING PROGRAM
SXA XR4,4
CLA SLN1 SAVE STATUS OF SENSE LIGHT ONE
SLT 1
CLA NOP
STO SLN1P
CLA SLN SAVE STATUS OF SENSE LIGHT 1
SLT 4
CLA NOP
STO SLNNOP
WRITAG AXT 5,1
WRITE REWA 7
SDHA 7
WTBA 7
RCHA WTBIOC
TCOA *
TRCA TRCHK WRITE TAPE REDUNDANCY CHECK ERROR ROUTINE
WEFA 7
RUNA 7
TSX CPY90,4 PRINT ON-LINE
HTR PROP,2,-9 TAPE HAS BEEN PROPERLY WRITTEN
TRA SLNNOP RETURN TO CALLING PROGRAM
SLNNOP NOP RESTORE SENSE LIGHT FOUR
SLN1P NOP RESTORE SENSE LIGHT ONE
XR1 AXT **,1
XR2 AXT **,2
XR4 AXT **,4
TRA 1,4
LOADER IOCD 3,,-3
TCOA 1
TCOB 2
TRA LOADR1
LOADR1 SWT 3 MONITOR - OR - NON MONITOR
TRA *+3 NON MONITOR
TRCB TCHECK MONITOR CHANNEL B CHECK
TRA ON
TRCA TCHECK CHANNEL A CHECK
TRA ON
ON TSX REWIND,4 REWIND B7 OR A1
TRA SLNNOP RETURN TO CALLING PROGRAM
TRCHK TIX WRITE,1,1 WRITE TAPE REDUNDANCY CHECK ERROR ROUTINE
TSX CPY90,4 PRINT ON-LINE
HTR TRCHK1,,-9 5 ATTEMPTS TO WRITE A7 HAVE FAILED
TSX CPY90,4
HTR TRCHK2,,-9 MOUNT ANOTHER TAPE - HIT START OR
*
* FROM PAGE 144 OF THE REPORT
TSX CPY90,4
HTR TRCHK3,2,-9 DEPRESS MQ 6 TO OMIT AND CONTINUE
HPR
ENK
XCA
ANA MASK6
TNZ SLNNOP RETURN TO CALLING PROGRAM
TRA WRITAG TRY AGAIN
TCHECK SLT 1 TEST FIRST TRY INDICATOR
TRA *+2
TRA TPERRS
TSX REWIND,4
SLN 1 TURN ON FIRST TRY INDICATOR
RELOAD SWT 3
TRA TAPEA1
RTBB 7 LOAD FROM B7 - MONITOR
RTCHB LTBIOC
LCHB LOADER
TRA 1
TAPEA1 RTBA 1 LOAD FROM A1 - MONITOR
RCHA LTBIOC
LCHA LOADER
TRA 1
TPERRS TSX REWIND,4 REWIND B7 OR A1
TSX CPY90,4 PRINT ON-LINE
HTR ONBAD,,-9 TAPE LOADING REDUNDANCY ERROR
SWT 3
TRA TPERR6
TSX CPY90,4
HTR DNBAD1,,-9 TO RETRY HIT START - TO ACCEPT PUT MQ 6
TSX CPY90,4
HTR ONBAD2,2,-9 DOWN - HIT START
HPR
ENK
XCA
ANA MASK6
TNZ SLNNOP RETURN TO CALLING PROGRAM
TRA RELOAD TRY AGAIN
TPERR6 TSX CPY90,4
HTR ONBAD3,,-9 TO ACCEPT HIT START OR CLEAR AND LOAD TAPE
HTR SLNNOP RETURN TO CALLING PROGRAM
REWIND SWT 3 REWIND B7 OR A1 SUBROUTINE
TRA *+3
REWB 7
TRA *+2
REWA 1
TRA 1,4
SLN1 SLN 1
SLN SLN 4
NOP NOP
WTBIOC IOCP LOADER,,4
IOCD 4,,-4
*
* FROM PAGE 145 OF THE REPORT
LTBIOC IOCT 0,,3
TRCHK1 BCI 9,5 ATTEMPTS TO WRITE A7 HAVE FAILED
TRCHK2 BCI 9,MOUNT ANOTHER TAPE - HIT START OR
TRCHK3 BCI 9,DEPRESS MQ 6 TO OMIT AND CONTINUE
ONBAD BCI 9,TAPE LOADING REDUNDANCY ERROR
ONBAD1 BCI 9,TO RETRY HIT START - TO ACCEPT PUT MQ 6
ONBAD2 BCI 9,DOWN - HIT START
*
* FROM PAGE 146 OF THE REPORT
ONBAD3 BCI 9,TO ACCEPT HIT START OR CLEAR AND LOAD TAPE
PROP BCI 9,TAPE A7 HAS BEEN PROPERLY WRITTEN
MASK6 OCT 004000000000
*
* FROM PAGE 147 OF THE REPORT
* SUBROUTINE CPY90, TO PRINT ON LINE
*
* TSX CPY90,4
* HTR A,,-X A=LOCA. 1ST WORD
* (RETURN) X= NO. OF WORDS
*
*TO RESTORE THE PRINTER AFTER A LINE OF PRINT PUT A 2 IN TAG OF TSX+1.
*
CPY90 SXD OP2A,1
SXD OP4A,2
SXD OP6C,4
CLA 1,4
STA BEGIN3
STT DP14
PDX ,2
TXH BEGIN4,2,-13
TXI *+1,2,12
SXD OV72,2
LAC BEGIN5,2
BEGIN4 SXD BEGIN2,2
BEGIN5 AXT 12,1
STZ OP50+12,1
STZ OP50+27,1
TIX *-2,1,1
STZ BLKTST
AXT 36,1
AXC 1,2
SXD OP3A,2
TXI BEGIN3,2,1
BEGIN1 LXD OP3A,2
BEGIN2 TXL OP16,2,0
TXI *+1,2,-1
SXD OP3A,2
TXI *+1,2,1
BEGIN3 LDQ 0,2
AXT OP1B,4
OP0 SXD OP1B,4
AXT 0,2
AXT 0,4
CAL BT4
ARS 36,1
SLW VARONE
SXD OP2B,1
LXD BLKTST,1
PXD ,0
LGL 3
CAS SIXC
TXI OP3,4,-2 IN 70S
TXI OP1,4,-2 IN 60S
CAS FOURC
TXI OP3,4,-1 IN 50S
TXI OP6,4,-1 IN 40S
*
* FROM PAGE 148 OF THE REPORT
CAS TWOC
OP2A TXL OP3 IN 30S
OP2B TXL OP6 IN 20S
TXI *+1,4,1
TZE DP7 IN1S
OP3 PXD ,0
LGL 3
PAC ,2
CAS ONEC
TRA *+3
OP3A TXL OP5 70
TXL OP5 71
CAL VARONE 72,73,74
ORS OP50+10,1
OP4 ORS* OP30,1
ORS* OP40,1
OP4A TXL OP1A
OP5 CAL VARONE
TXI OP4,2,-8
OP6 PXD ,0
LGL 3
TNZ OP2
OP6A CAL VARONE
OP6B ORS* OP40,1
OP6C TXL OP1A
OP1 PXD ,0
LGL 3
TNZ OP2
OP1A LXD OP2B,1
TXI *+1,1,-1
LXD OP1B,4
TIX OP0,4,1
TXH BEGIN1,1,1
ZET BLKTST
OP1B TXL OP16
AXC 15,1
SXD BLKTST,1
TXI BEGIN1,1,51
OP2 PAC ,2
CAL VARONE
TXL OP4
OP7 PXD ,0
LGL 3
TNZ OP2
TXI OP6A,4,-3
OP16 AXT 0,4
AXT 24,2
OP17 CLA OP50+11,4
STO CPYBLK+24,2
CLA OP50+26,4
*
* FROM PAGE 149 OF THE REPORT
STO CPYBLK+25,2
TNX OP18,2,2
TXI OP17,4,1
OP18 TCOA *
WPDA
NZT OV72A
TRA *+3
STZ OV72A
SPRA 9
RCHA OP20
TCOA *
NZT OV72
OP14 TRA OP13,**
LXD OV72,2
SXD OV72A,2
LXA BEGIN3,1
TXI *+1,1,12
SXA BEGIN3,1
STZ OV72
TRA BEGIN4
WPDA
SPRA 1
OP13 LXD OP2A,1
LXD OP4A,2
LXD OP6C,4
TCOA *
TRA 2,4
OP20 IOCD CPYBLK,,24
BLKTST HTR 0
VARONE HTR 0
BT4 OCT 400000000000
ONEC DEC 1
TWOC DEC 2
FOURC DEC 4
SIXC DEC 6
OV72 HTR 0
OV72A HTR 0
OP30 HTR OP50+2,2
OP40 HTR OP50,4
HTR 0
OP50 BSS 12
HTR OP50+17,2
HTR OP50+15,4
HTR 0
BSS 12
CPYBLK BSS 24
END
Computing file changes ...