perm filename IO[GEM,BGB]2 blob
sn#041571 filedate 1973-05-16 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00017 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00003 00002 TITLE IO - GEM INPUT/OUTPUT - BGB - FEBRUARY 1973.
C00005 00003 SUBR(PLOTO)-------------------------------------------------------
C00006 00004 SUBR(GETFIL)EXTENSION --------------------------------------------
C00008 00005 SUBR GETCHW
C00011 00006 SUBR(SERIAL)BODY -------------------------------------------------
C00013 00007 SUBR(OFEV)BODY ---------------------------------------------------
C00015 00008 SUBR OFORM0
C00016 00009 SUBR(OFORM1)BODY -------------------------------------------------
C00017 00010 SUBR(ICAM)--------------------------------------------------------
C00019 00011 SUBR(OCAM)--------------------------------------------------------
C00021 00012 SUBR(IFEV)BODY ---------------------------------------------------
C00023 00013 SUBR(IBODY)B0 ----------------------------------------------------
C00025 00014 SUBR IFORM0
C00026 00015 SUBR(IFORM1)------------------------------------------------------
C00027 00016 SUBR IFORM2
C00028 00017 SUBR(INCRE)-------------------------------------------------------
C00030 ENDMK
C⊗;
TITLE IO - GEM INPUT/OUTPUT - BGB - FEBRUARY 1973.
EXTERN MKB,MKF,MKE,MKV,MKFRAME,BATT
INTERN MACPTR,MACCNT,MACNOD,FILFLG
↓CMDCHN←←16
↓IODEND←20000
FILNAM:0 ;FILE NAME.
EXTION:0↔0 ;EXTENSION.
PPPN:0 ;PROJECT-PROGRAMMER.
OBUF:BLOCK 3 ;OUTPUT BUFFER HEADER.
IBUF:BLOCK 3 ;INPUT BUFFER HEADER.
CMDHDR: BLOCK 3 ;COMMAND BUFFER HEADER
MACPTR: BLOCK 1
MACCNT: BLOCK 1
MACNOD: BLOCK 1 ;IF NON-ZERO, ADDRESS OF TEXT NODE
FILFLG: BLOCK 1 ;COMMAND FILE
EOF:0 ;END OF FILE FLAG.
CMDBUF: BLOCK 2*(201+2)
BLOCK 3
BFRAME:BLOCK 9 ;BODY FRAME BUFFER.
PCNT:0 ;PARTS COUNT.
FCNT:0 ;FACE COUNT.
ECNT:0 ;EDGE COUNT.
VCNT:0 ;VERTEX COUNT.
SUBR(WORDO)WORD --------------------------------------------------
BEGIN WORDO; WORD OUTPUT - BGB - 18 FEBRUARY 1973.
LAC ARG1
SOSG OBUF+2
OUT 1,0
GO[IDPB 0,OBUF+1↔POP1J]
FATAL(WORDO)
BEND;2/18/73-------------------------------------------------------
WORDIN: ;----------------------------------------------------------
BEGIN WORDIN; WORD INPUT TO AC0 - BGB - 18 FEBRUARY 1973.
SOSG IBUF+2
IN 1,0
GO[ILDB 0,IBUF+1↔POP0J]
STATO 1,1B22
GO[FATAL(WORDIN)]
SETOM EOF
POP0J
BEND;2/18/73-------------------------------------------------------
SUBR(PLOTO)-------------------------------------------------------
BEGIN PLOTO;DISPLAY BUFFER TO DISK FILE - BGB 10 DEC 1972.
EXTERN DPYBUF,GEODPY
CALL(GEODPY)
CALL(GETFIL,[SIXBIT/PLT/])↔POP0J
LAC 1,DPYBUF↔LACN(1)1↔SUBI 2
CDR 2,(1)↔SETZM 1(2)
MOVS↔LAPI -1(1)↔DAC DUMLST
INIT 1,17↔SIXBIT/DSK/↔0↔HALT
ENTER 1,FILNAM↔GO .+4
OUT 1,DUMLST↔JFCL
OUTSTR[ASCIZ" EOF.
"]↔ RELEASE 1,
POP0J
DUMLST: 0↔0
BEND;12/10/72------------------------------------------------------
SUBR(GETFIL)EXTENSION --------------------------------------------
BEGIN GETFIL;SETUP FILE SPEC FROM TTY LINE - BGB - 10 DEC 72.
SETZM FILNAM
SETZM EXTION
SETZM EXTION+1
SETZM PPPN
OUTSTR[ASCIZ/ FILE = /]
LAC 1,[POINT 6,FILNAM,-1]↔LACI 2,6
CALL(GETCL0)↔CAIL"a"↔SUBI 40
CAIN 15↔GO[INCHWL↔POP1J]↔AOSA(P)
L: CALL(GETCL0)↔CAIL"a"↔SUBI 40
CAIN"."↔GO[SETZM ARG1↔LAC 1,[POINT 6,EXTION,-1]↔LACI 2,3↔GO L]
CAIN"["↔GO[LAC 1,[POINT 6,PPPN,-1] ↔LACI 2,3↔GO L]
CAIN","↔GO[LAC 1,[POINT 6,PPPN,17] ↔LACI 2,3↔GO L]
CAIN"]"↔GO L
CAIN 15↔GO EOL ;END OF THE LINE.
CAIN 12↔GO EOL
CAIG" "↔GO L ;IGNORE GARBAGE.
SOJL 2,L
SUBI 40↔IDPB 1↔GO L ;ASCII TO SIXBIT.
EOL: CALL(GETCL0)
CAR PPPN
TRNN 77↔LSH -6↔TRNN 77↔LSH -6 ;RIGHT ADJUST PROJECT.
DIP PPPN
CDR PPPN
TRNN 77↔LSH -6↔TRNN 77↔LSH -6 ;RIGHT ADJUST PROGRAMMER.
DAP PPPN
SKIPN 1,EXTION↔LAC 1,ARG1↔DAC 1,EXTION ;DEFAULT EXTENSION.
POP1J
BEND;2/18/73-------------------------------------------------------
SUBR GETCHW
SETZ 1,
SKIPN FILFLG
SKIPE MACNOD
CALL(MACGET)
JUMPN 1,[POP0J]
INCHRW 1
POP0J
;8-MAY-73(TVR)
SUBR GETCHL
SETZ 1,
SKIPN FILFLG
SKIPE MACNOD
CALL(MACGET)
JUMPN 1,[POP0J]
INCHWL 1
POP0J
;8-MAY-73(TVR)
SUBR MACGET
PUSH P,2
SETZ 2,
SKIPE MACNOD
CALL(MACCHR)
SKIPE FILFLG
CALL(FILCHR)
SETZ 1,
CAIN 1,"α"
GO [ TRO 2,200
GO MACGE2 ]
CAIN 1,"β"
GO [ TRO 2,400
GO MACGE2 ]
CAIN 1,"ε"
GO [ TRO 2,600
GO MACGE2 ]
JUMPN 2,MACGE2
CAIN 1,"≡"
GO MACGE2
MACGE1: POP P,2
POP0J
MACGE2: SKIPE MACNOD
CALL(MACCHR)
SKIPE FILFLG
CALL(FILCHR)
SETZ 1,
OR 1,2
GO MACGE1
;8-MAY-73(TVR)
SUBR FILCHR
SOSG CMDHDR+2
IN CMDCHN,
GO [ ILDB 1,CMDHDR+1
JUMPE 1,FILCHR
AOS(P)
POP0J ]
STATO CMDCHN,IODEND
FATAL(READ ERROR IN COMMAND FILE)
RELEASE CMDCHN,
OUTSTR[ASCIZ/<COMMAND FILE EOF>/]
SETZM FILFLG
POP0J
;8-MAY-73(TVR)
SUBR MACCHR ;This routine is experimental
MOVEI 1,3
ADDM 1,(P)
MCLOOP: SOSLE MACCNT
GO [ ILDB 1,MACPTR
JUMPE 1,MCLOOP
POP0J ]
MOVE 1,MACNOD
TCCW 1,1
SKIPN 1
OUTSTR[ASCIZ/<LEAVING MACRO>
/]
MOVEM 1,MACNOD
HRLI 1,000700
MOVEM 1,MACPTR
MOVEI 1,5*8-1
MOVEM 1,MACCNT
MOVEI 1,15
POP0J
;12-MAY-73(TVR)
;THE FOLLOW CROCK HAS BEEN INTRODUCED IN THE INTEREST OF EASIER CONVERSION
SUBR GETCL0
MOVE 0,1 ;SAVE AC.0
CALL(GETCHL)
EXCH 0,1
POP0J
SUBR GETCW0
MOVE 0,1 ;SAVE AC.0
CALL(GETCHW)
EXCH 0,1
POP0J
SUBR(SERIAL)BODY -------------------------------------------------
BEGIN SERIAL; SERIAL NUMBER THE ALT LINKS OF A BODY.
LAC 1,ARG1↔TEST 1,BBIT↔POP1J
;COUNT FACES, EDGES, AND VERTICES.
LACI 1↔PFACE 1,1↔ALT. 0,1↔CAME 1,ARG1↔AOJA .-3↔SOS↔DAC FCNT
LACI 1↔PED 1,1↔ALT. 0,1↔CAME 1,ARG1↔AOJA .-3↔SOS↔DAC ECNT
LACI 1↔PVT 1,1↔ALT. 0,1↔CAME 1,ARG1↔AOJA .-3↔SOS↔DAC VCNT
;COUNT PARTS.
SETZ↔SON 1,1↔DAC 1,2↔JUMPE 1,.+5↔AOS
BRO 2,2↔CAME 1,2↔AOJA .-2
DAC PCNT
;OUTPUT BODY HEADER.
CALL(WORDO,PCNT)
CALL(WORDO,FCNT)
CALL(WORDO,ECNT)
CALL(WORDO,VCNT)
LAC 1,ARG1
CALL(WORDO,{-2(1)}) ;PNAME.
CALL(WORDO,{-1(1)}) ;PNAME.
;BODIES LOCATION ORIENTATION MATRIX.
FRAME 1,1↔SKIPN 1↔LACI 1,L2
LACI 2,=12↔SUBI 1,3
L1: CALL(WORDO,{(1)})↔AOS 1↔SOJG 2,L1
POP1J
BLOCK 3 ;EMPTY FRAME.
L2: BLOCK 9
BEND;2/18/73-------------------------------------------------------
SUBR(OFEV)BODY ---------------------------------------------------
BEGIN OFEV; OUTPUT THE FEV OF A BODY - BGB - 18 FEBRUARY 1973.
LAC 1,ARG1
L1: PFACE 1,1↔CAMN 1,ARG1↔GO L2
PUSH P,QQ(1)↔CALL(WORDO) ;FIRST FACE DATA WORD.
PUSH P,QQ(1)↔CALL(WORDO) ;SECOND FACE DATA WORD.
GO L1
L2: PED 1,1↔CAMN 1,ARG1↔GO L3 ;OUTPUT EDGE NODES.
NFACE 2,1↔ALT 2,2↔DIP 2,0
PFACE 2,1↔ALT 2,2↔DAP 2,0↔CALL(WORDO,0)
NVT 2,1↔ALT 2,2↔DIP 2,0
PVT 2,1↔ALT 2,2↔DAP 2,0↔CALL(WORDO,0)
NCW 2,1↔ALT 2,2↔DIP 2,0
PCW 2,1↔ALT 2,2↔DAP 2,0↔CALL(WORDO,0)
NCCW 2,1↔ALT 2,2↔DIP 2,0
PCCW 2,1↔ALT 2,2↔DAP 2,0↔CALL(WORDO,0)
GO L2
L3: PVT 1,1↔CAMN 1,ARG1↔POP1J ;OUTPUT VERTEX NODES.
CALL(WORDO,{XWC(1)})
CALL(WORDO,{YWC(1)})
CALL(WORDO,{ZWC(1)})
GO L3
BEND;2/18/73-------------------------------------------------------
SUBR(OBODY)BODY --------------------------------------------------
BEGIN OBODY; OUTPUT BODY AND ITS PARTS - BGB - 18 FEBRUARY 1973.
ACCUMULATORS{N,B}
CALL(SERIAL,ARG1)
CALL(OFEV,ARG1)
LAC B,ARG1
SON N,B↔JUMPE N,L2
L1: PUSH P,N↔CALL(OBODY,N)
POP P,N↔LAC B,ARG1
BRO N,N↔SON 0,B
CAME 0,N↔GO L1
L2: POP1J
BEND;2/18/73-------------------------------------------------------
SUBR OFORM0
BEGIN OFORM0; OUTPUT COMMANDS - BGB - 18 FEBRUARY 1973.
EXTERN UNIVERSE,COMPAC
ACCUMULATORS{U}
L1: CALL(GETFIL,[SIXBIT/D3D/])↔POP0J
INIT 1,17↔SIXBIT/DSK/↔XWD OBUF,0↔HALT
ENTER 1,FILNAM↔GO[
RELEASE 1,
OUTSTR[ASCIZ/ ENTER FAILED./]
CRLF↔POP0J]
CALL(COMPACT)
MOVE U,UNIVERSE
HRRZI 0,-3(U)
HRRZM 0,1(U) ;SET RELOCATION CONSTANT
SOS 0
MOVN 1,44
ADD 1,0
HRLI 0,(1)
SETZ 1,
OUT 1,0
JRST L2
FATAL<WRITE ERROR!> ]
L2: RELEASE 1,
OUTSTR[ASCIZ/ EOF.
*/]↔ POP0J
BEND OFORM0;2/18/73-------------------------------------------------------
SUBR(OFORM1)BODY -------------------------------------------------
BEGIN OFORM1; OUTPUT COMMANDS - BGB - 18 FEBRUARY 1973.
EXTERN DPYBUF
LAC 1,ARG1↔TEST 1,BBIT↔POP1J
L1: CALL(GETFIL,[SIXBIT/B3D/])↔POP1J
INIT 1,10↔SIXBIT/DSK/↔XWD OBUF,0↔HALT
ENTER 1,FILNAM↔GO[
RELEASE 1,
OUTSTR[ASCIZ/ ENTER FAILED./]
CRLF↔POP1J]
;SETUP OUTPUT BUFFERS.
PUSH P,121
LAC DPYBUF↔DAC 121
OUTBUF 1,
;OUTPUT TRANSFER.
CALL(OBODY,ARG2)
;END OF FILE.
RELEASE 1,
OUTSTR[ASCIZ/ EOF.
*/]↔ POP P,121↔POP1J
BEND;2/18/73-------------------------------------------------------
SUBR(ICAM)--------------------------------------------------------
BEGIN ICAM; INPUT CAMERA - BGB - 21 FEBRUARY 1973.
EXTERN CAMERA
TDZA 1,1
L1: RELEASE 1,↔CALL(GETFIL,[SIXBIT/CAM/])↔GO[SETZ 1,↔POP0J]
INIT 1,10↔SIXBIT/DSK/↔IBUF↔HALT
LOOKUP 1,FILNAM↔GO L1
PUSH P,121↔LAC DPYBUF↔DAC 121↔INBUF 1,
;INPUT TRANSFER.
LAC 10,CAMERA
CALL(WORDIN)↔DAC -3(10)
CALL(WORDIN)↔DAC -2(10)
CALL(WORDIN)↔DAC -1(10)
CALL(WORDIN)↔DAC 1(10)
CALL(WORDIN)↔DAC 2(10)
CALL(WORDIN)↔DAC 3(10)
FRAME 10,10↔SUBI 10,3↔LACI 7,=12
L2: CALL(WORDIN)↔DAC (10)↔AOS 10↔SOJG 7,L2
;END OF FILE.
RELEASE 1,↔POP P,121
OUTSTR[ASCIZ/ EOF.
*/]↔ POP0J
BEND;2/21/73-------------------------------------------------------
SUBR(OCAM)--------------------------------------------------------
BEGIN OCAM; OUTPUT CAMERA - BGB - 21 FEBRUARY 1973.
EXTERN DPYBUF,CAMERA
L1: CALL(GETFIL,[SIXBIT/CAM/])↔POP0J
INIT 1,10↔SIXBIT/DSK/↔XWD OBUF,0↔HALT
ENTER 1,FILNAM↔GO[RELEASE 1,
OUTSTR[ASCIZ/ ENTER FAILED./]↔CRLF↔POP0J]
PUSH P,121↔LAC DPYBUF↔DAC 121↔OUTBUF 1,
;OUTPUT TRANSFER.
LAC 1,CAMERA
CALL(WORDO,{-3(1)})
CALL(WORDO,{-2(1)})
CALL(WORDO,{-1(1)})
CALL(WORDO,{1(1)})
CALL(WORDO,{2(1)})
CALL(WORDO,{3(1)})
FRAME 1,1↔SUBI 1,3↔LACI 2,=12
L2: CALL(WORDO,{(1)})↔AOS 1↔SOJG 2,L2
RELEASE 1,↔OUTSTR[ASCIZ/ EOF.
*/]↔ POP P,121↔POP0J
BEND;2/18/73-------------------------------------------------------
SUBR(IFEV)BODY ---------------------------------------------------
BEGIN IFEV; INPUT THE FEV OF A BODY - BGB - 18 FEBRUARY 1973.
ACCUMULATORS{F,E,V,A,I,J,FACE,EDGE,VERTEX}
;SETUP BASE POINTER TO SERIAL TABLES.
SLACI I↔LAP 121
DAC FACE↔DAC EDGE↔DAC VERTEX
ADD VERTEX,FCNT
;MAKE AND INPUT FACES.
LACI I,1
L1: CALL(MKF,ARG1)↔DAC 1,@FACE
CALL(WORDIN)↔DAC QQ(1)
CALL(WORDIN)↔DAC QQ(1)
CAME I,FCNT↔AOJA I,L1
;MAKE AND INPUT EDGES.
LACI I,1
L2: CALL(MKE,ARG1)↔DIP 1,@EDGE
CALL(WORDIN)↔DAC 1(1)
CALL(WORDIN)↔DAC 3(1)
CALL(WORDIN)↔DAC 4(1)
CALL(WORDIN)↔DAC 5(1)
CAME I,ECNT↔AOJA I,L2
;MAKE AND INPUT VERTICES.
LACI I,1
L3: CALL(MKV,ARG1)↔DAP 1,@VERTEX
CALL(WORDIN)↔DAC XWC(1)
CALL(WORDIN)↔DAC YWC(1)
CALL(WORDIN)↔DAC ZWC(1)
CAME I,VCNT↔AOJA I,L3
;CONVERT SERIAL NUMBERS TO NODE ADDRESSES.
LACI J,1
L4: LAC I,J↔CAR E,@EDGE
NFACE I,E↔CDR F,@FACE↔NFACE. F,E↔PED. E,F
PFACE I,E↔CDR F,@FACE↔PFACE. F,E↔PED. E,F
NVT I,E↔CDR V,@VERTEX↔NVT. V,E↔PED. E,V
PVT I,E↔CDR V,@VERTEX↔PVT. V,E↔PED. E,V
NCW I,E↔CAR A,@EDGE↔NCW. A,E
PCW I,E↔CAR A,@EDGE↔PCW. A,E
NCCW I,E↔CAR A,@EDGE↔NCCW. A,E
PCCW I,E↔CAR A,@EDGE↔PCCW. A,E
CAME J,ECNT↔AOJA J,L4↔POP1J
BEND;2/18/73-------------------------------------------------------
SUBR(IBODY)B0 ----------------------------------------------------
BEGIN IBODY; INPUT BODY AND ITS PARTS - BGB - 18 FEBRUARY 1973.
ACCUMULATORS{N,B,B0}
;INPUT BODY HEADER.
CALL(WORDIN)↔DAC PCNT
CALL(WORDIN)↔DAC FCNT
CALL(WORDIN)↔DAC ECNT
CALL(WORDIN)↔DAC VCNT
;INPUT THE FEV SHELL OF THIS BODY.
SETQ(B1,{MKB,ARG1})
LAC B0,ARG1
JUMPN B0,[CALL(BATT,B1,B0)↔GO .+1]
LAC B,B1
CALL(WORDIN)↔DAC -2(B) ;PNAME.
CALL(WORDIN)↔DAC -1(B) ;PNAME.
;INPUT THE LOCATION ORIENTATION OF THIS BODY.
LACI 1,BFRAME-3↔LACI 2,=12↔SETZ 4,
L1: CALL(WORDIN)↔DAC(1)↔IORM 4↔AOS 1↔SOJG 2,L1
SKIPE 1,4↔CALL(MKFRAME)
FRAME. 1,B↔JUMPE 1,.+4
SLACI BFRAME-3↔LAPI XWC(1)↔BLT KZ(1)
CALL(IFEV,B)
LAC B,B1↔SKIPN ARG1↔DAC B,ARG1 ;RETURN VALUE TO TOP LEVEL.
;INPUT THE PARTS OF THIS BODY.
L2: SOSGE PCNT↔POP0J
PUSH P,PCNT↔PUSH P,B
CALL(IBODY)
POP P,B↔POP P,PCNT↔GO L2
B1:0
BEND;2/18/73-------------------------------------------------------
SUBR IFORM0
BEGIN IFORM0
EXTERN UNIVERSE,RELOCATE,INVALID
L1: CALL(GETFIL,[SIXBIT/D3D/])↔POP0J
INIT 1,17↔SIXBIT/DSK/↔XWD OBUF,0↔HALT
LOOKUP 1,FILNAM↔GO[
RELEASE 1,
OUTSTR[ASCIZ/ FILE NOT FOUND./]
CRLF↔POP1J]
MOVE 0,UNIVERSE
SUBI 0,4
HLRE 1,PPPN
SUBM 0,1
CORE 1,
FATAL<NOT ENOUGH CORE FOR DATA STRUCTURE.>
HLL 0,PPPN
SETZ 1,
SETOM INVALID
IN 1,0
JRST L2
FATAL<READ ERROR!> ]
L2: RELEASE 1,
MOVE 1,UNIVERS
SUBI 1,3
SUB 1,3+1(1)
JUMPE 1,L3
CALL(RELOCATE,1)
L3: OUTSTR[ASCIZ/ EOF.
*/]↔ POP0J
BEND IFORM0
SUBR(IFORM1)------------------------------------------------------
BEGIN IFORM1; INPUT FORMAT TYPE 1 - BGB - 18 FEBRUARY 1973.
TDZA 1,1
L1: RELEASE 1,
CALL(GETFIL,[SIXBIT/B3D/])↔GO[SETZ 1,↔POP0J]
INIT 1,10↔SIXBIT/DSK/↔IBUF↔HALT
LOOKUP 1,FILNAM↔GO L1
;SETUP INPUT BUFFERS.
PUSH P,121
LAC DPYBUF↔DAC 121
INBUF 1,
;INPUT TRANSFER.
CALL(IBODY,[0])↔POP P,1
;END OF FILE.
RELEASE 1,
POP P,121
OUTSTR[ASCIZ/ EOF.
*/]↔ POP0J
BEND;2/18/73-------------------------------------------------------
SUBR IFORM2
BEGIN IFORM2; INPUT FORMAT TYPE 2 - BGB - 18 FEBRUARY 1973.
TDZA 1,1
L1: RELEASE CMDCHN,
CALL(GETFIL,[SIXBIT/GEO/])↔GO[SETZ 1,↔POP0J]
INIT CMDCHN,0↔SIXBIT/DSK/↔CMDHDR↔HALT
LOOKUP CMDCHN,FILNAM↔GO L1
;SETUP INPUT BUFFERS.
PUSH P,121
LACI CMDBUF↔DAC 121
INBUF CMDCHN,
POP P,121
OUTSTR[ASCIZ/<OPENING COMMAND FILE>
/]↔
SETOM FILFLG
POP0J
BEND;2/18/73-------------------------------------------------------
SUBR(INCRE)-------------------------------------------------------
BEGIN INCRE; INPUT CRE NODES.
;FILE NAME ENTER FROM TTY.
%←←1B18
L1: CALL(GETFIL,[SIXBIT/CRE/])↔POP0J
INIT 1,17↔SIXBIT/DSK/↔0↔HALT
LOOKUP 1,FILNAM↔GO L1
;DUMP COMMAND WORD.
LAC PPPN
LAPI %-1
DAC INARG
;CREATE UPPER SEGMENT.
MOVS PPPN↔MOVMS↔ADDI %
IORI 1777
CORE2↔HALT
;INPUT TRANSFER.
IN 1,INARG
RELEASE 1,
OUTSTR[ASCIZ" EOF.
*"]↔ CALL(MKIMGS)↔EXTERN MKIMGS
DAC 1,TMP1#
; CALL MKWINDOW↔EXTERN MKWINDOW
; DAC 1,TMP2#
; LAC 2,TMP1↔ALT2. 2,1 ;ATTACH IMAGE TO WINDOW.
; CALL MKCAMERA↔EXTERN MKCAMERA
; LAC 2,TMP2↔ALT. 1,2 ;ATTACH CAMERA TO WINDOW.
;KILL UPPER SEGMENT.
SETZ
CORE2
HALT
POP0J
INARG:0↔0
BEND INCRE; BGB 14 MARCH 1973 -------------------------------------
END