Digital PDFs
Documents
Guest
Register
Log In
AH-E777B-MC
January 1980
53 pages
Original
2.6MB
view
download
OCR Version
2.3MB
view
download
Document:
CZNCDB0 NCV11 NCV-11 EXER JAN 1980 bw
Order Number:
AH-E777B-MC
Revision:
000
Pages:
53
Original Filename:
CZNCDB0__NCV11__NCV-11_EXER__AH-E777B-MC__JAN_1980_bw.pdf
OCR Text
NCV-11 EXER AH-E777B-MC JAN 1980 CZNCDBO copyriGHT 78-s0 =0-00ED FICHE1OF 1 MADE IN USA IDENTIFICATION SEQ 0001 Product (ode: AC=E776B-M( Product Name: CINCDBO NCv=11 Date: AUGUST MAintainer: Diagnostic Engineeri~g EXERCISER 1979 {opyright (() 1978, 1979 Digital Equipment (orporation, MAynard, Mass. This software is furnished under a License tor use only on a single computer system and may be copied only with the inclusion cof the above copyright notice. This software, or any other cogies thereof, may not be provided or otherwise made available to any other person except use on such system anad to one who agrees to these 8;%16 to and ownership of the software shall at ali for license terms. times remain in The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. DEC assumes no responsibility software on equipment which for is not the use or reliability supplied by DEC. of its Paye 2 O W20 REQUIREMENTS Equipment O LOAD ING PROCEDURE STARTING PROCEDURE Equipment - =0 OPERATOR OPT]IONS OPERATOR KEYBOARD OPTJONS OPERATOR SWITCH REGISTER OPTION(S) OO 20O RECOMMENDED OPERATOR A(CT]ION NNSNNN AN =O MISCELLANEOUS N-=O PROGRAM DESCRIPTION O PROGRAMS CoOo0o PREL IMINARY Storage i Optional L . L] L] . [] [] ABSTRA(CTM O CONTENTS OO Of W o TABLE LISTING (amera Setup Joystick Setup Devire Bus Address Moditications Free Run Mode (Type '¥'") Error Reporting Execution Time Data Connection & Display Joyst® - Mode SEQ 0002 Page 3 1.0 ABSTRACT The ‘B'’ version corrected the '0'' command. It problems when no VSVO1 display was present. This is a selt contained program designed to also corrected convert data from the GAMMA (amera via the NCV11 intertace and display it on a vSv01 display. It can be used for camera/interface and joystick setug or for practice in image manipulation. [t is meant as a exerciser rather than a diagnostic. TOTAL PROGRAM CONTROL IS ACCOMPLISHED THRU THE (ONSOLE KEYBOARD. IS NOT CHAINABLE/SCRIPTABLE UNDER XXDP/APT. 2.0 REQUIREMENTS 2.1 Equipment 1. PDP=-11 FAMILY OR LSI-11 3. NCV11 Intertace c. 4&. 2.2 2. (i.e., LA36) Gamma Camera (OR SUBSTITUTE) H3060 Joystick VSVOl DISPLAY PREL IMINARY PROGRAMS MAINDEC=-11-CZNCC 2.4 SHOULD HAVE PREVIOUSLY BEEN RUN Storage This program uses all 3.0 FAMILY (Computer 170 Terminal EqQquipment = Optional 1. 2.3 THE PROGRAM of lower 12k of memory. LOAD ING PROCEDURF Normal procedure BE tol towed. tor loading a binary program into memory SHOULD 1 CEQ 0003 — Page 4 4.0 STARTING PROCEDURE Loading address 200 and starting will initialize the IDENTIFY THE PROGRAM and wait a keyboARd command. 5.0 OPERATOR OPTIONS 5.1 OPERATOR KEYBOARD OPTIONS system, TYPE 'W''~ HELP OPERATOR AND DISPLAY OR TYPE THIS LIST . Type 'N''~- Collect new data from camera - clears core matrix FIRST Type "'(''~ Collect data from camera = starts NCV11, previous core matrix data not cleared TYPE 'X''= SELECT ANOTHER CAMERA CHANNEL Type ‘'S'~ Stop NCV11 data coLLection - also MODE . terminates free RUN Tyoe '7''- Zoom - Set NCV11 TO GAIN 2 Type "R''- Regular - SET NCV11 TO GAIN 1 (DEFAULT COND) Type W' Select VSVO1 display us1ng 1st b1t map Type Type Type Type Type ‘M'‘A'‘B'''D''~ 'L''~ Select VvSVO1 display USING 2nd bit map Disptay ISOTOPE A (default cond) Display ISOTOPE B (B GAMMA) Display data - display selected ISOTOFE Get Lower threshold from keyboard (default-0) -~ all matrix values less than typed value are not d1sgla;ed Type 'U'- Get upper threshold from KEYBOARD (default=177777) - ALl matrix values greater than typed value are NOT DISPLAYED Type '¥''- free run mode <~ colLlect and display new data TYPE Type Type TYPE “X'''G''= '‘J''= 'T''= continuously - Type ''S'' to terminate this mode SELECT ANOTHER CAMERA (HANNEL Initialize everything - start fresh i Joystick calibration NCV1l - use '‘Cntrl ('’ to terminate mode DISPLAY INTENSITY TEST PATTERN ON SELECTED DISPLAY -~ THIS FEATURE IS FOR DJSPLAY VERIFCATION ONLY TYPE 'O''- OTHER TERMINAL TO CONTROL THE PROGRAM Type '‘(ntr. 5.2 & C'' - Abort whatever - back OPERATOR SWITCH REGISTER OPTION(S) NONE to keyboard monitor SEQ 0004 F Page 9 6.0 RECOMMENDED OPERATOR AriION 6.1 Camera/AQ17 Setup 1, C(ollect data (C) and display (D) 3. Adjust the X and Y gain controls ON THE AO017 until a circler IS SEEN and centered within the box on screen. 6. ~ 6.2 COLL IMATOR REMOVED. 2. 5. SEQ 0005 Place radioactive tiood source IN FRONT OF (AMERA DETECTOR, OR USE A WEAK RADIOCACTIVE SAMPLE ABOUT 3 FEET FROM A DETECTOR WITH THE 4. 5 Increase the circler size until THE BOX. the edges round just begin to TOUCH Collect data for a 3 minute period and observe the image. It there is an artifact on the center ot the screen that looks ) like a right angle bracket, the '7'' delay circuit should be acdjusted. IF THE MATRIX COLLECTED, THIS MAY BE AND THEREFORE, 7 (OUNTS EQUAL NO DISPLAY. A HEXAGON FOR SOME MAKES OF 0O THEN NO DATA WAS CAMERA, Joystick Setup 1. Select Joystick contfigration by typing "J''. 2. Adjust the Y Pot on the H3060 Joystick so that the HOR]ZICNTAL cross hair provide UNIFORM access within the box drawn on the screen. ADJUST THE X POT ON THE H3060 SO THAT THE VERTICAL CROSS HAIR WILL ALSO BE UNIFORM EXCEPT THAT DUE TO A HARDWARE OFFSET WILL NOT THE RIGHT EDGE AND EXCEED THE LEFT EDGE BY THE SAME AMOUNT. REACH 3. (Check that when the Joystick interrupt SWIT(H is (ROSS HAIRS DO not follow the Joystick. the 4. A'Cntrl Ideally, a physcial center of the approximately centered in the box. ("' will Joystick will provide a point depressed return user back to the keyboard monitor. Page 6 7.0 MISCELLANEOUS Device Bus Address Modifications 7.2 NCVIY Modity vSvO1 Modify location ‘VIVADR'' it base bus address ((HARA(TER GENERATOR) IS NOT 772600 MODIFY LOCATION ‘VTMADR'' IF BASE BUS ADDRESS (BIT MAP) IS NOT 772620 Note: A restart is required after any of modifications. 77276 Free Run Mode Llocation ‘NCVADR'' if base bus the address above is not address (Type 'F'") Moditfication of location "'TIME'' will alter the data collection time 1in the free run mode. The default value of 20(8) provides about 10 SECONDS ON AN LSI-11 (CPU. 7.3 7.4 Error Reporting 1. INCORRECT KEYBOARD (OMMANDS ARE R SPONDED WITH *?° 2. A MESSAGE WILI DOES NGT BE REPORTED IF ANY SELECTED DEVICE RESPOND. (SEE SECTION 7.1) Execution Time The EXECUTION TIME whatever s completely -ption selected. dependent wupon the wuser for SEQ 0006 H PAGE 8.0 PROGRAM DESCRIPTION 8.1 Data Collection & Display The user may collect data from the gamma camera system via NCV11 interface and display this data on the VSVO1 (bitmap) display. ALl functions are ENTERED 7 the th-u the keyboard as defined in section 5.1. When the data collection mode is selected the NCV11 is receiving X & Y cdata from the gamma camera (looking AT a radioactive source). This information is transformed via THE address maker LOGIC which forms a wunique address within a defined matrix relative to the scan position of the camera. The NCV11 preforms an NPR increment to memory to this UNIQUE address. The program selects the address MATRIX 64x64x16 (RESOLUTION 2) OFFSET TO address 20000(8) FOR THE ‘A' Isctope, AND FOR THE 'B' ISOTOPE, (CAMERAS EQUIPPED WITH THE DUAL [SOTOPE ATTACHMENT) INFORMAT:ON VIA B GAMMA LOGIC IS STORED STARTING AT ADDRESS 40000 (8). The intensity of each cell (memory location) of the image in memory is adjusted with the wupper and Llower thresholds and scaled to ONE OF 16 intensity levelS. The cell HIGHEST display. with the intensity At highest count represents THE level, therefore appears brightest the completion of the image display, parameters are displayed: Lower Threshold Upper Threshold CAMERA P8 JB l Count MatRix Count Zoom B~-Lamma 8.2 -~ - - ALl values greater than the this on the fo.lowing value displayed All values above this value are omitted are SELECTED CAMERA (HANNEL UP/DN INDICATOR OF THE PUSH BUTTON STATE DURING LAST COLLECTION UP/DN INDICATOR OF THE JQY BUTTON STATE DURING LAST COLLECTION 32 bit counter of EVENT pulses Total count of the contents of each cell 1in the 64x64 matrix Displayed if gain was selected Displayed if "B' Isotope selected Joystick Mode Selecting the TEST takes advantage of the Joystick i mode provided by the NCV11. This mode selects the JOYSTI(K inputs and the NCV11 performs Like aN A/D with the X & Y CONVERTED wvalues available in X-Y holding register. The X and Y data is applied_ to the display ana should conform to the requirements in section 6./7. “F vSV01 uses the X € Y cross hairs as the DISPLAY indicator. 9.0 LILTING SEQ 0007 CINCDB NCV11 EXERCISER MACY11 30G(1063) (INCDB.P11 31-AUG=79 11:21 31-AUG-79 TABLE OF BASIC DEF INITIONS TRAP CATCHER STARTING ADDRESS(ES) COMMON TAGS ERROR POINTER TABLE MAIN PROGRAM INITIALIZE THE COMMON TAGS KEYBOARD DISPAT(CH TABLE COMMAND DECODER PROGRAM ROUTINES PROGRAM SUBROUT INES TTY INPUT ROUTINE TYPE ROUTINE BINARY TO OCTAL (ASCII) AND TYPE READ AN OCTAL NUMBER FROM THE TIY TRAP DECODER TRAP TABLE POWER DOWN AND UP ROUTINES DISPLAY MESSAGES ASCI] MESSAGES 13:08 CONTENTS SEQ 0008 CINCDB NCV11 EXERCISER MACY11 30G(1063) (ZNCDB.P11 31-AUG=-79 11: 21 31-AUG=79 13:08 PAGE 1 9 (1) S«COPYRIGHT (}) i *MAYNARD, MASS. 01754 1 1979 o (1) ; +PROGRAM BY R. SHOOP 1 (}) S«THIS PROGRAM WAS ASSEMBLED USING THE PDP-11 MAINDEC SYSMAC : *PACKAGE (MAINDEC-11-DZ0AC~ =C3), JAN 19, 1977. (1) (1) 000001 10 172760 %)) 1) (C) 2+NIGITAL EQUIPMENT CORP. ab) (;; SEQ 0009 :DEVELOPED USING SYSMA(C.(3 CZNCDB NCV11 EXERCISER LTITLE : (D J 160000 S:N- $SWR=160000 .SBTTL -HALT ON ERROR, LOOP ON TEST, ABASE =175760 BASIC DEFINIYIONS INHIBIT ERROR TYPOUT ;DEFAULT NCv11 ADDRESS 001100 ;«INITIAL ADDRESS OF STACK= 1100 000011 000012 ;*MISCELLANEOUS DEF INITIONS HT11 ::CODE FOR HORIZONTAL LF= 12 *:CODE FOR LINE FEED 000200 177776 CRLF= pS= N 177774 STKLMT= 177774 ;:STACK LIMIT REGISTER 1 (}; 177570 177570 DSWRDDISP= : *HARDWARE SWITCH REGISTER . "HARDWARE DISPLAY REGISTER () 5}; (1) (1 1) N (1) 1 1) 000015 _EQUIV .EQUIV CR= EMT,ERRCR ]OT.SCOPE 15 200 177776 .EQUIV PS,PSW 1727772 PIRQ= 177772 (1) 000000 RO= %0 (1) 000006 R6= %6 PC= X7 1) ( 1) () (1) (1) (1 1) (1) (1) g}; (1) (1) 5} (1) 1) (1) (1) (1) 5}’ ) 1 000001 000002 000003 000004 000005 000007 000006 000007 000000 000040 000100 000140 000200 000240 000300 000340 177570 177570 ; *GENERAL PURPOSE R1= R2= R3= R4 RS= R7= SP= X1 X2 %3 14 15 17 %6 ;*PRIORITY LEVEL PRO= PR1= PR2= PR3= PR4= PRS= PR6= PR7 0 40 100 140 200 240 300 340 THE STACK POINTER #%% 1100 xws ::BASIC DEFINITION OF ERROR CALL S:BASIC DEFINITION OF SCOPE CALL TAB S CODE FOR CARRIAGE RETURN ::CODE FOR CARRIAGE RETURN-LINE > PROCESSOR STATUS WORD FEED - *PROGRAM INTERRUPT REQUEST REGISTER REGISTER DEFINITIONS ;;GENERAL REGISTER . >GENERAL - GENERAL : :GENERAL : SGENERAL : :GENERAL : SGENERAL REGISTER REGISTER REGISTER REGISTER REGISTER REGISTER . SGENERAL REGISTER 1 STACK POINTER **PROGRAM COUNTER DEFINITIONS ::PRIORITY S PRIORITY "PRIORITY “:PRIORITY S:PRIORITY *PRIORITY SSPRIORITY LEVEL LEVEL LEVEL LEVEL LEVEL LEVEL LEVEL S:PRIORITY LEVEL ;*"'SWITCH REGISTER'® SWITCH DEFINITIONS O 1 2 3 & 5 6 7 NCV11 EXERCISER MACY11 30G(1063) CINCDB.P11 1) (1) g g QD) (1) 1§D (1) g P (1 (1) (M 9] g gD gD (1) (1) (1) 1 gD g (1) (V) (1) ) gD (1) g ») g P Q) (D (1) (1) M (1) (N (1) (1) (1) (1 (1) (1 1 (1) gD (1) (1 1) (1N (1) (1) (v (1) (1 Q) 21-AUG-79 11:21 100000 040000 020000 010000 004000 002000 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 100000 040000 020000 010000 604000 002000 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 31-AUG=79 13:08 BASIC DEFINITIUNS SW15= SW14= Swi13= SWi2= Swll= SwTM 0= SW09= Sw08= Sw07= SW06= SW05= Sw04= Sw03= Sw02= Sw01= SW00= .EQUIV .EQUIV .EQUIV .EQUIV LEQUIV .EQUIV .EQUIV .EQuUlvV LEQUIV .EQUlvV 100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 10 4 i SW09, SW9 Sw08, sw8 SW07,Sw/7 SW06, SWé SWOS, SW5 4 , Swé SW0 SW03,Sw3 SW02, Sw2 SW01,SwW1 SW00, sSwo ; *DATA BIT DEFINITIONS BIT75= BIT14= BIT13= BIT12= 8IT11= BIT10= BIT09= BIT08= BIT07= BIT06= 8I1T705= BIT04= BIT03= BIT02= 81T1T01= 81100= LEQUIV .EQU]lV .EQUIV .EQUIV .EQU]lV LEQUIV .EQUIV .EQUlvV LEQUIV .EQUIV K PAGE 1-1 100000 40000 20000 10000 4000 2000 (BITO0 TO BIT15) 1000 400 200 100 40 0 0 =20 H =N) CINCDB BIT09.8B1T9 BIT08,BI1T8 BIT07.B1717 BIT06.BIT6 BIT05,BITS BIT04.8174 BIT03,BIT3 BIT102.8BIT? BITO1,RITI 81T00,BIT0 ;*BASIC ''CPU'' TRAP VECTOR ADDRESSES SEQ 0010 (ZINCDB NCV11 EXERCISER MACY11 30G(1063) CINCDB.P11 M 31-AUG-79 11:21 Q) 000010 (1) (1) (1) M (1) 000014 000014 000020 000024 000030 (1) ) 000060 000064 (1) 000034 a 14 000000 Q) 1) () (1) Q) (1) ;g TLPRIT TRTVEC= BPTVEC= 10TVEC= PWRVEC= EMTVEC= 14 14 20 24 30 TPVEC= 64 _SBTTL 1) (1) TRITVEC=14 000176 *1"TRAP'* TRAP “ITTY KEYBOARD VECTOR “TTy PRINTER VECTOR " 'PROGRAM INTERRUPT REQUEST VECTOR COMMON PROGRAM VALUES AND EQUATES :STARTING ADRS OF MATRIX DATA TRAP CATCHER .=0 “«SEQUENCE TO CATCH ILLEGAL TRAPS AND INTERRUPTS *LOCATION O CONTAINS 0" TO CATCHTM IMPROPERLY LOADED VECTORS 000000 DISPREG: .WORD 000000 SWREG: 000200 000137 001326 000100 000104 000340 000100 “TRACE TRAP " 'BREAKPOINT TRAP (BPT) *UINPUT/OUTPUT TRAP (I0T) #+SCOPE*+ 'POWER FAIL “'EMULATOR TRAP (EMT) **ERROR** ;«ALL UNUSED LOCATICNS FROM 4 - 776 CONTAIN A **.+2,HALT'' 00017 0001764 “'RESERVED AND ILLEGAL INSTRUCTIONS MATRIX=20000 18 SEQ 0011 ::TIME OUT AND OTHER ERRORS :SOME 020000 L PAGE 1-2 ERRVEC= 4 PIRQVE (=240 13 ( BASIC DEFINITIONS TRAPVE € =34 TKVEC= 60 000240 16 13:08 RESVEC= 10 000014 (1) 31-AUG=79 _SBTTL 000002 .WORD 0 : :SOF TWARE DISPLAY REGISTER 0 STARTING ADDRESS(ES) JMF -100 *SOF TWARE SWITCH REGISTER SSTART ::JUMP TO STARTING ADDRESS OF PROGRAM 104,340,RTI ;LSI=11 B EVENT NCV11 EXERCISER MACY11 30G(1063) CINCDB.P11 31-AUG=79 11:21 — n 001100 001100 001102 001103 001104 001106 001110 001112 (1> (1 (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1Y (1) (1) 001115 001116 001120 001122 001124 001126 001130 001132 001134 001135 001136 001140 001142 001144 001146 001150 001152 001154 001155 001156 001157 001160 001161 001162 (2) COMMON TAGS .SBTTL D (2) ) M 1) g ) (1) (1) (1) (1) (1) (1) (1) (1) 13:08 M PAGE 1-3 SEQ 0012 COMMON TAGS ‘."i'fittit.'tttt*iififitttfi"..*'ktifltttttltt.ttt*tttfil AN ARAN RN AN AN :*THIS TABLE CONTAINS VARIOUS COMMON STORAGE LOCATIONS ;*USED IN THE PROGRAM. 001114 001100 $CMTAG: $PASS: STSTNM: $ERFLG: SICNT: $LPADR: $LPERR: $ERTTL: SITEMB: $ERMAX: : $ERRPC( $GDADR: $BDALCR: $GDDAT: : $8DDAT .=1100 .BYTE .BYTE . . . . $AUTORB: $INTAG: .BYTE .BYTE «WORD SWR: . WORD DISPLAY: . WORD $TKS: $TKB: $TPS: $TPB: 177560 177562 177564 177566 SFILLS: SFILLC: $TPFLG: $QUES: $(RLF: $LF: .BYTE .BYTE .BYTE .ASCI! .ASCI! LASCIZ : SNULL : (1) 31-AUG-79 [e]lelelelelalalolalel dololelolelolele] CINCDB DDISP 0 l 12 0 /?/ <15> <12> ;:START OF ; :CONTAINS :;CONTAINS ;;CONTAINS ;;CONTAINS ;. CONTAINS ::CONTAINS ;s CONTAINS ;;CONTAINS ;. CONTAINS ;;CONTAINS COMMON TAGS PASS COUNT THE TEST NUMBER ERROR FLAG SUBTEST ITERATION COUNT SCOPE LOOP ADDRESS SCOPE RETURN FOR ERRORS TOTAL ERRORS DETECTED ITEM CONTROL BYTE MAX. ERRORS PER TEST PC OF LAST ERROR INSTRUCTION ;s CONTAINS ADDRESS OF 'GOOD' DATA ;. CONTAINS ADDRESS OF 'BAD' DATA ;cCONTAINS 'GOOD' DATA ;cCONTAINS 'BAD' DATA ; ;RESERVED~-NOT TO BE USED ;cAUTOMATIC MODE INDICATOR ;- INTERRUPT MODE INDICATOR :;ADDRESS OF SWITCH REGISTER ; ;ADDRESS OF DISPLAY REGISTER ;:TTY ;:TTY ;:TTY :;TTY KBD STATUS KBD BUFFER PRINTER STATUS REG. PRINTER BUFFER REG. ADDRESS ADDRESS ;; CONTAINS NULL CHARACTER FOR FILLS ;JCONTAINS # OF FILLER CHARACTERS REQUIRED ;o INSERT FILL CHARS. AFTER A 'LINE FEED'' : 'TERMINAL AVAILABLE'' FLAG (BIT<07>=0=YES) ;sQUESTION MARK ;:CARRJAGE RETURN ;:LINE FEED ".'ttltfi'ttl’tttttt*fi*fiti*tltt"tt*itt*ttttttt*ttfiitfitttttttt!ttiittt 1 N 31-AUG=79 13:08 PAGE 1-4 NCV11 EXERCISER MACY11 30G(1063) tRROR POINTER TABLE CZNCDB.P11T 31-AUG=79 11:21 CINCDB .SBTTL d PN PN PN PN b od d coad e N N s (s ;*LOCATION SITEMB. THIS NUMBER INDICATES WHICH ITEM IN THE TABLE IS PERTINENTT ;*NOTE1: IF $ITEMB IS O THE ONLY PERTINENT DATA IS ($ERRPC). ;*NOTEZ: EACH ITEM IN THE TABLE CONTAINS 4 POINTERS EXPLAINED AS FOLLOWS: P M o NN EM DH DT $ERRTR: ;THIS PROGRAM DOES NOT USE THE ABOVE ERROR TABLE :NCV11 BUS ADRS ASSIGNMENTS - MODS ARE TO BE MADE HERE ’ 001164 ;sPCINTS TO THE DATA FORMAT DFf .® 001164 ;.POINTS 70 THE ERROR MESSAGE ;sPOINTS TO THE DATA HEADER ;POINTS TO THE DATA 172760 NCADR: ABASE ;VSVO1 BUS ADRS ASSIGNMENTS (CHAR GEN) - MODS ARE TO BE MADE HERE 001166 172600 VTVADR: 172600 ;VSVO1 BUS ADRS ASSIGNMENTS (BIT MAP) - MODS ARE TO BE MADE HERE 001170 172620 VIMADR: , 172620 ;FIRST MAP 2ND MAP IS 20 HIGHER :COUNTER FOR FREE RUN MODE 001172 000024 TIME: 20. 001174 001176 000060 000062 TKVECO: TKVEC TKVECT: ‘TKVEC+?2 :LOOP COUNTER FOR “F'' MODE s CONSOLE TERMINAL VECTOR ; ADDRESS AN PRIORITY = v\ PN TN ERROR POINTER TABLE ;*THIS TABLE CONTAINS THE INFORMATION FOR EACH ERROR THAT CAN OCCUR. ;*THE INFORMATION IS OBTAINED BY USING THE INDEX NUMBER FOUND IN NN PN M) =2 ed cd b od caed ) N s v " W N SEQ 0013 8 CINCDB NCV11 EXERCISER MACY11 30G(1063) 31-AUG-79 13:08 PAGE 1-5 CINCDB.P11 31-AUG-79 11: 21 ERROR POINTER TABLE 4«9 S0 51 5¢ 53 56 55 56 57 58 59 60 61 62 63 64 65 66 gg 69 70 71 72 73 74 75 001200 001202 001204 001206 001210 001212 001214 001216 172760 172762 172764 172766 172770 172772 172774 172776 NCCSR: NCOFF: NCWCR: NCBAR: NCSFR: NCADM: NCJOY: NCBAR1: 001220 001222 001224 172600 172602 172604 VIVCRG: VIVCHFP: VIVPOS: 001226 001230 001232 001234 001236 172620 172622 172624 172626 172630 VIVCSR: VIVMAP: VIVPX: VIVPX1: VIVINT: sNCV11 REGISTER ADDRESS POINTERS ABASE ;NCV11 STATUS CONTROL REGISTER ABASE+? ;NCV11 OFFSET REGISTER ABASE +4 JNCV11 WORD COUNT REGISTER ABASE+6 JNCV11 BUS ADDRESS REGISTER / LOW Z COUNT ABASE+10 sNCV11 SPECIAL FUNCTION / JOYSTICK STATUS REGISTER ABASE+1?2 ;NCV11 ADDRESS MAKER REGISTER ABASE+14 JNCV11 JOYSTICK DATA REGISTER ABASE+16 NCV11 SPARE <SAME AS NCBAR> ;VSVO1 REGISTER ADDRESS POINTERS (CHARACTER GENERATOR 172600 ; CHAR/STATUS 172602 ;CROSS HAIR POS 172604 : CHAR POS ;VSVO01 REGISTER ADDRESS POINTERS (BIT MAP) 172620 ; COMMAND/STATUS 172622 ;MAP ADRS 172624 ;PIXEL WD 172626 ;PIXEL BYTE 172630 JINTENSITY LOOK UF 001240 001242 001244 001246 001250 001252 000000 000000 000000 000000 000000 000000 TEMPO: TEMP1: TEMPZ: DUMMY1: DUMMY?: INTLUT: ; COMMON PROGRAM TAGS AND STORAGE LOCATIONS O ;COMMON UTILITY LOC O ;COMMON UTILITY LOC O ;COMMON UTILITY toC 0 ;OCTAL TEMP LOC. 0 ;JOCTAL TEMP LOC. O 000000 000000 000003 000000 000000 000000 000000 MRXADR: 0O MAPADR: 0 PIXCNT: 3 PIXASM: 0 KBUFF: 0 TTYOUT: O THLO: 0 000000 000000 0 0 76 001254 006400 8 85 86 87 88 89 90 91 92 93 %4 001274 001276 001300 001302 001304 001306 001310 001312 001314 001316 001320 177777 000000 77 78 79 80 81 82 83 95 9 SEQ 0014 001256 001260 001262 001264 001266 001270 001272 001322 001324 VTVSAV: 6400 s CURRENT CORE ADRS OF CELL BEING DISPLAYED ;CURRENT ADRS OF BIT MAP LD ;CURRENT PIXEL BYTE COUNT ;4 PIXELS ASSEMBLED HERE BEFORE BIT MAP LD s CONTAINS KEYBOARD CHAR TYPED JOUTPUT CHAR TO PRINTER ;LOW THRESHOLD VALUE APPLIED TO MATRIX CELLS 010000 000000 000000 000000 020000 000000 000000 THHI: COMSAV: CAMERA: GAIN: TOTSIZ: CHARCT: CPERL: ROWCNT: TABLEX: FREERN: MSELCT: 4096. O O O MATRIX O O JHIGH THRESHOLD VALUE APPLIED TO MATRIX CELLS ;SAVED NCV11 CSR CONTENTS WHEN DISPLAYING ;CAMERA SELECTION IN BITS 8-9 ;GAIN 1=0, GAIN 2=8IT10 ;TOTAL # OF CELLS IN MATRIX (ISTOPE A OR B) ;COUNTS TOTAL # OF CELLS IN MATRIX (ISOTOPE A OR B) ;CONTAINS LARGEST CELL OF MATRIX WITHIN THRESHOLDS ;COUNTS 64 CELLS EACH ROW OF CORE MATRIX ;CONTAINS STARTING ADRS OF MATRIX OF SELECTED [SOTOPE ;NON-ZERQ SAYS COLLECT NEW DATA & DISPLAY IN FREE RUN MO ;0 SAYS 1ST BIT MAP, -1 SAYS 2ND BIT MAP(VSVOTM) 000000 NOVSV: O ;NON-ZERC INDICATES NO VSVO1 DISPLAY 000000 BELLEN: 177777 0 ;VSVO1 SET UP - FULL SCREEN, MONO(BLK/WHT), ENA DISPLAY C ;0 SAYS RING BELL ON NO CONVERT, -1 SAYS DON'T [aS] Nt Nt e T i N i e O e N N NP Nt N e T N 30G(1063) 001326 012706 005026 022706 001374 012706 001100 001140 001346 001354 001370 012737 012737 012737 012737 007432 000340 007512 000340 000034 000036 000024 000026 001376 001402 001410 001416 001426 001432 013746 012737 012737 012737 022777 001012 000004 001436 177570 177570 177777 000004 001140 001142 177506 001434 001436 000403 012716 000002 012737 012737 012637 CLR — N N 129 ~ H ~ g 001452 001460 (=] H ~N pur§ 3 001464 888 2332 001474 001476 001506 104401 004737 103004 005237 1064401 013700 012701 001444 000176 000174 000004 001550 010400 001572 001576 104401 000000 000137 012737 000005 004737 012777 001610 001616 001622 012737 005037 012737 o N ~ 001546 177434 N 012737 005777 H H 8 (¥,] 001532 001540 00163C 012777 001142 (R6)+ J:CLEAR MEMORY LOCATION ) ;.LO0OP BACK IF NO #SWR,R6 ; ;DONE? Mov #STACK,SP MOV H#STRAP ,@N#TRAPVEC ;,TRAP VECTOR FOR TRAP CALLS MOV MOV 001326 000006 004766 020000 001302 020000 001272 177/77 005220 ;. SETUP THE STACK POINTER #3640 ,@¥TRAPVEC+2,;LEVEL 7 #SPWRDN, a#PWRVEC . ;POWER_FAILURE VECTOR MOV #3460, PWRVEC+2 . LEVEL 7 ;:SIZE FOR A HARDWARE SWITCH REGISTER. IF NOT FOUND OR IT IS ;;EQUAL TO A "~1'', SETUP FOR A SOF TWARE SWITCH REGISTER. MoV MOV MOV MOV SWERRVEC,-(SP) #6468 ,aERRVEC #DSWR, SWR #DDISP,DISPLAY ;;SAVE ERROR VECTOR ;;SET UP ERROR VECTOR ;.SETUP FOR A HARDWARE SWICH REGISTER 64%: BR Q?Y 65% #65%, (SP) ; JBRANCH IF NO TIMEOUT ;:SET UP FOR TRAP RETURN 65%: MOV #SWREG, SWR ;;POINT TO SOFTWARE 66%: MOV (SP)+ ,@#ERRVEC ;;RESTORE ERROR VECTOR .MSG1 ;GO 3% ;BR IF DISPLAY VSVO1 cMP BNE MOV TYPE #-1,3SWR 66% #D1SPREG,DISPLAY ;;AND A HARDWARE DISPLAY REGISTER ;:TRY TO REFERENCE HARDWARE SWR ;BRANCH [F NO TIMEOUT TRAP OCCURRED ;;AND THE HARDWARE SWR IS NOT = -1 SWR IDENTIFY PROGRAM JSR PC,SELCTA INC TYPE NOVSV .MSG3 NCSET: MOV MOV #NCCSR,R1 RO, (R1)+ ;GET POINTER ADRS sSET UP NCV11 REG ADRS PTRS °$: MP BNE MOV TST BR cMP #VTVCRG,R1 NCSET #1$ ERRVEC aNCCSR START1 (SP)+,(SP)+ JALL SET UP? ;BR IF NOT ;SET UP TIMEOUT ADRS ;WILL TRAP TO LOC 4 IF NOT ;BR IF THERE JFIX STACK SINCE NO RTI BCC 001164 001200 000002 001220 001556 001562 001140 001324 010242 062700 022701 SEQ 0015 COMMON TAGS ;. INITIALIZE A FEW VECTORS 01012V 004546 001520 0015¢4 8 38 KIRIT N e T i N i T N Nat N N e T THE C (TMMP BNE 001100 N N e O o B N N e N i I i T Nl N N e T s INITIALIZE PAGE 2 N v T e P MAIN PROGRAM 13:08 ::CLEAR THE COMMON TAGS ($CMTAG) AREA MOV #S(MTAG, R6 ;cFIRST LOCATION TO BE CLEARED 001326 001332 001334 001340 001342 " e e Nt Nt N Y b d b d —ad — d cmd d b —d ) — ) e e d ed —d d md e i noruNLRLNLNNY NN D ed bbb D 2 00 ~NON NS ANY = OV NOWVHWN=0O b 31-AUG-79 START: LSBYTL N N A LaS1aC N1, ¥ PONIPOPNIUPNONDPOMNININD — 2 b D b b b D b —d o ) P CINCDB NCV11 EXERCISER MACY11 (INCDB. P11 31-AUG=79 11:21 3%: 000004 MOvY ADD TYPE HALT NCADR,RQ #2,R0O .MSG5 ;DEFAULT TO VSVO1 DISPLAY IF IS THERE THERE ;SAVE THE FACT NO VSVO1 CONNECTED ;GO TYPE 'BUS TIMEOUT ER - VSVO1 DISPLAY' JGET NCV11 BASE ADRS ;BUMP REG ADRS THERE ;GO TYPE 'BUS TIMEOUT ER - NCV11' sNCV11 NOT SEEN AT ASSIGNED BUS ADRS 000004 JMP START1: MOV 177376 JSR MOV CLR PC,NCSTP1 AMATRIX,aNCOFF GAIN ;GO STOP NCV11 & CLR CORE MATRIX ;SET OFFSET(ADRS 20000’ JREGULAR GAIN CLR MOV MOV THLO ¥177777 ,THH] #KBINT ,@TKVECO ;CLEAR LOWER THRZSHOLD sCEILING THRESHOLD ;SET KEYBOARD INTR RETURN ADRS 001314 001274 177336 RESET MOV START #ERRVE(+2,a#ERRVE( #MATRIX,TABLEX JRESTORE ERR TRAP LOC ;CLR WORLD ;1SOTOPE A TO PT TO 6 D 31-AUG=79 13:08 PAGE 2-1 NCV11 EXERCISER MACY11 30G(1063) CZNCDB.P11 INITIALIZE THE COMMON TAGS 31-AUG=79 11:21 CINCDB N—=O 000 \lgm%uflr\) 012777 012777 104401 000340 000100 010434 177332 177272 MOV MOV TYPE COLLECT NEW DATA FROM CAMERA COLLECT DATA FROM (AMERA CHANGE CAMERA STOP COLLECTION INITIALIZE EVERYTHING 001736 Z00M - SET GAIN TO 2 SELECT VSVO1 DISPLAY USING 1ST BIT MAP SELECT vSVO1 DISPLAY USING 2ND BIT MAP 001100 001266 01266 001266 000101 177740 000033 001746 000170 001746 WILL FREE RUN MODE - COLLECT & DISPLAY NEW DATA CONTINUALLY JOYSTICK CALIBRATION DISPLAY INTENSITY TEST IMAGE ON SELECTED DISPLAY OTHER TERMINAL TO CONTROL PROGRAM ABORT WHATEVER - BACK TO KEYBDARD MONITOR DISPATCH PROGRAM TO JROUTINE VIA THE DISPATCH TABLE LISEN: 001702 001734 001742 001744 001316 LISN: CLR MOV CLR CLR MOV RTI MOV BEQ CLR CMP BCS BIC cMP BCC ASL TST BEQ JMP ((LEAR CORE MATRIX) REGULAR - SET GAIN TO 1 DISPLAY ISOTOPE A DISPLAY ISOTOPE B 8, 175 005037 012706 005037 KEYBOARD COMMANDS FOR THE NCV11/DISPLAY/JOYSTI(K GET LOWER THRESHOLD FROM KEYBOARD & DISPLAY DATA GET UPPER THRESHOLD FROM KEYBOARD & DISPLAY DATA 8, 001656 001662 001666 001672 001674 001700 001702 001706 001710 001714 001720 001722 001726 001732 CODE ;GO ASK FOR KEYBOARD COMMAND (S) DISPLAY DATA ERASE THE SCOPE S, I Y R N 00 ~yON N B NN — ;THIS 160 161 162 163 164 165 166 167 168 169 170 171 172 173 176 177 .MSG6 ;SET UP NEW PRIORTY ON INTR sSET INTR ENABLE HELP FRAME CNTRL C (O P ARV, LV RV, LV, LV, AV, LV, | 143 174 #340,8TKVECT #100,3$TKS ;THIS IS A LIST OF O AN REDP DNANXZC~MOT d d ) ) o ik o b — 001636 001644 001652 &5 B BN NN NN NN — NN 130 131 SEQ 0016 THE 'RTABLE' PROPER FREERN #STACK,SP ;KNOCK DOWN FREE RUN MODE KLISN,~(SP) ;70 BE LSI-11 KBUF F =(SP) KBUFF ,RO LISN JRESET STACK PTR s INSURE NO KEYBOARD GARBAGE JPUSH LEVEL O ONTO STA(K JFAKE RT] : BOOBOO ;BR IF NOT RO RTABLE-2 (R0O) 800800 IRTABLE=2(R0) COMPATABLE TO LOWER PRIORITY ;LOOK FOR (HAR JWAIT FOR ONE KBUF F RO,4101 B00B00 #177740,R0 RO, 433 IF ;WAS IT A (CHAR? sNOT A GOOD CHAR JELIMINATE LOWER CASE ;1S IT AN ALPHA (HAR? :MAKE UP WORD OFFSET IS IT A LEGAL COMMAND? JBR IF NOT ;GO DC IT SET CINCDB NCV11 EXERCISER MACY11 30G(1063) (INCDB.P11 31-AUG=79 11:21 179 1%9 "82 183 184 185 186 187 188 189 PAGE 3 E INITIALIZE THE COMMON TAGS SEQ 0017 KEYBOARD DISPAT(H TABLE 001750 001752 002054 002066 RTABLE: ROUTA ROUTB ;'A' DISPLAY [SOTOPE A ;'B' DISPLAY [SOTOPE B 001766 002230 ROUTH ;'H' HELP THE OPERATOR 001754 001756 001760 001762 001764 001770 197 198 199 002006 002010 002012 200 201 202 203 204 205 206 207 13:08 .SBTTL 190 191 192 193 194 195 196 31-AUG=/9 001772 001774 001776 002000 002002 002004 002014 002016 002020 002022 002024 002026 002030 002032 002100 002110 002114 002124 002220 000000 ROUTC ROUTD ROUTE ROUT® ROUTG 0 002302 000000 002320 002360 002420 002434 ROUT! 0 ROUTL ROUTM KOUTN ROUTGC 002632 002650 002664 000000 002724 (02762 000000 003102 ROUTS ROUTT ROUTU 0 ROUTW ROUTX 0 ROUTZ 003000 000000 002614 0 0 ROUTR ;'C' ;'D' ;'E' ;'F' ;'G' COLLECT DATA DISPLAY DATA ERASE SCOPE FREE RUN MODE (COLLECT NEW DATA & DISPLAY CONTINOUSL INITIALIZE EVERYTHING ;'1' B0O0BOO ;'P' ;'Q' ;'R' 800800 B0OCROO REGULAR GAIN =1 ;'J' GO TO NCV11 JOYSTICK CALIBRATION ;'K' B0O0BOO ;'L' GET LOWER THRESHOLD FROM KEYBOARD ;'M' SELECT vSVO1 DISPLAY USING 2ND BIT MAP ;'N' GET NEW DATA FROM CAMERA ;'0' GET ADDRESS OF OTHER TERMINAL .'S' ;'T' ;'U' ;'v' J'W' ;X' ;'Y' .'7' STOP COLLECTION DISPLAY INTENSITY TEST IMAGE ON SELECTEC DISPLAY GET UPPER THRESHOLD FROM KEYBOARD B0OBOO SELECT VvSVO1 DISPLAY USING 1ST BIT MAP CHANGE CAMERA (HANNEL BGOBOO I00M - GAIN 2 F CINCDB NCV11 EXERCISER MACY11 306(1063) 31-AUG-79 13:08 CINCDB.P11 31-AUG=79 11:21 (OMMAND DECODER 209 ‘ g}? ;REPORTS .SBTTL PAGE 4 SEQ 0018 COMMAND DECODER ILLEGAL KEYBOARD C(HARACTERS 212 213 214 S}g 002034 002042 002046 002052 012737 004737 004737 000713 000077 005300 005260 001270 B0OBOO: MOV JSR JSR B8R #77,TTYOUT PC.TYPO PC,TYPCR LISN JTYPE IT ;D0 A '(R’ 2GO LOOK FOR GOOD (HAR 217 218 002054 002062 012737 000137 020000 003122 001314 ROUTA: WILL DISPLAY ISOTOPE A ;GO DO IT 002074 002100 002704 002110 002114 002120 002124 002132 002136 002142 002144 002150 002152 002154 002162 002170 002172 002200 002204 002210 002212 002214 002220 002226 002230 002234 002236 002242 000137 004737 000137 000137 004737 000137 012737 004737 004737 005000 013701 005300 001376 042737 022737 001007 052777 005077 000137 005301 001356 000137 004737 000137 005737 001016 004737 000240 003122 004704 001702 003122 005020 001702 177777 004766 004704 ROUTB: AMATRIX,TABLEX CHANGE 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 2640 241 242 243 244 245 2646 247 001314 MOV JMP JMP JSR JMP JUMP JSR JMP MOV JSR JSR CLR MoV DEC BNE BIC CMP BNE BIS (LR JMP DEC BNE JMP JSR JMP TST BNE JSR NOP CHANGE PC NCSTRT LISN CHANGE PC,ERASE LISN #-1,FREERN PCNCSTP1 PC,NCSTRT RO TIME .R1 RO 1% #B1T5 ,KBUFF #123 ,KBUFF 2% #BIT8,aNCSFR aNCCSR LISEN R1 1% CHANGE PC,ERASE START1 NOVSV 1% P(C,ERASE ;6O DO IT ;G7 START NCV11 ;COLLECT DATA UNTIL KEYBRD COMMAND ;GO DISPLAY DATA :GO ERASE SCOPE ;GO WAIT ON NEXT COMMAND ;SELECT FREE RUN MODE ;GO STOP NCV11 & CLR CORE MATRIX AREA ;GO START NCV11 JSET UP TIMER ;SET UP GROSS TIMER VALUE ; COUNT JWAIT FOR ZERO ;LOOK FOR POSSIBLE STOP KEY - RID LOWER CASE ;STOP BEEN STRUCK? JBR IF NOT ;STOP NCV1 ;ZERO NCV CSR ;GO AWAIT NEXT COMMAND ;DO LOOP AGAIN? ;BR IF SO sNOW GO DISPLAY DATA JUST COL_ECTED ;GO ERASE SELECTED DISPLAY ;INITIALIZE AND START FRESH ;CHECK IF DISPLAY ;BR IF NO VSVO1 ;CLEAR THE SCREEN MOV JSR #2000,avTVvPOS RS,VTWRIT ;POSITION THE READ-0UT ;TELL THE OPERATOR VIA VSVO1 JSR HELP1 BR TYPE, JMP TST BEQ JMP JMP MOV MOV RY] TYPE RS,VIWRIT 219 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 002066 002244 002246 002254 002260 002262 002266 002270 002272 002276 002302 002306 002310 002314 002320 002324 002330 002332 012737 000240 040000 ROUTD: ROUTE: 001316 001172 ROUTF: 18: 000040 000123 001266 001266 000400 176774 001656 177010 2%: 003122 005020 001562 001324 ROUTG: ROUTH: 005020 012777 004537 002000 005316 004537 011336 000402 104401 000137 005737 001402 000137 000137 012746 012746 000002 104401 005316 010640 ROUTC: MOV NOP 176750 HELPO 011336 (001702 001324 18: 2%: ROUTJ: 001702 004332 000340 002332 1%: ROUTL: 010161 1$: ;SET UP 2 H#MATRIX+20000, TABLEX 2% HELPI LISN NOVSV '$ LISN TJOY #340,-(SP) #1%,-(SP) MSG2 ;WILL DISPLAY ISOTOPE B ;NO vSVO1 - TELL OPERATOR SHORT LIST ;CHECK IF VSVO1 PRESENT ;BR IF PRESENT JFORGET [F NO DISPLAY ;CALB. THE JOYSTICK GO TO IT ;PUSH HIGH PSW ON STA(CK ;PUSH RETURN ADDRESS ;FAKE RTI TO RAISE PSwW ;ASK FOR OCTAL DATA CZNCDB NCv11 CZNCDB P11 13: 08 31=-AUG=7G EXERCISER MACY11 30G(1063) DECODER 11:21 COMMAND 31-AUG=79 002336 002340 002344 002346 002352 002354 104411 012637 005046 012746 000002 000137 005737 001013 012737 004737 000240 013700 RDOCT 001272 MOV (LR MOV 002354 003127 001324 177777 004546 00122¢ 000400 001702 0047606 004704 0017C2 000340 002446 2%: ROUTM: JMP TST BNE VIVCSR,RO #B1T78,-20(R0) ROUTO: 1%: 000004 MSG4 TST MOV TST (RO)+ RO, (R1)+ + (RO) RO, (R1)+ 002034 B0O0OB0OO a#ERRVEC ,-(SP) #46% ,Q¥ERRVEC (RO) #$TKS R RO, (R1)+ + (RO) RO, (R1)+ (SP)+ ,a#ERRVE . (SP)+,R0O 3% 3%: BIC 001176 800800 #177003,R0 RO, TKVECO RO, TKVECT #2,TKVECT -(SP) 4%: (MP JGET 2ND BIT MAP ADRS JTURN OFF 1ST BIT MAP .GO AWAIT NEXT COMMAND ;G0 STOP NCV11 & CLR CORE MATRIX ;START THE NCV11 ;COLLECT DATA & AWAIT NEXT KEYBRD (OMMAND JRAISE PS (SP)+,R0 2% MSG8 DETECTED ? JRELOAD ADDRESSES LISN PC,NCSTP1 PC _NCSTRT LISN #340,-(SP) #1%,-(SP) TYPE, RDOCT MOV BNE JMP MOV MOV TST MOV MOV TST vSvVO1 ;SELECT 2ND BIT MAP MOV 18: ROUTN: IF ;BR IF NOT BIC JmP JSR JSR JMP MOV MCV RTI] 001326 000002 JTEST 177760 000004 010555 000004 ;G0 DISPLAY CHANGE NOVSV 1% #-1 MSELCT PC,SELCTA JSR NCP MOV 002570 002574 002576 002600 002604 002606 002612 ;GO GET |7 ;SAVE IT JPUSH LOW PSW (SP)+,THLO =(SP) #2%,~(SP) MOV 001144 002034 177003 001174 001176 000002 SEQ 0019 001320 010324 002034 000004 00257¢ R1] 6 PAGE 4-1 .ASK OPR FOR ADDRESS ;GET HIS INPUT ;GET ADDRESS ;BR IF NOT '°CR"' OR O ;FAT FINGER OPERATOR JSAVE LCC 4 ;SAVE IF WRONG ADDRESS BY OPR. JREF. THE NEW CONSOLE ADDR. ;JGET OLD ADDR. POINTER ;LOAD NEW ADDRESS ;BUMP ADDRESS ;LOAD NEW ADDRESS ;BUMP ADDRESS ;LCAD NEW ADDRESS ;BUMP ADDRESS ;LOAD NEW ADDRESS ;RESTORE LOC 4. JASK OPR FOR ADDRESS .GET VALUE JBR IF VALID sJBR IF NOT GOOD NUMBER .MASK OFF OTHER BITS ;SAVE THE VECTOR ;SAVE THE BR LEVEL ; ADDRESS #START,=(SP) ;LOWER PS AND START PROG AGAIN (SPY+,(SP)+ (SP)+ ,a#ERRVE( -(SP) 0, - (SF) #800L0 JCLEAN STA(CK JRESTORE LOC. 4 JLOWER PS JRETURN 1 NCVIT 002614 EXERCISER MACY11 31-AUG=79 11:21 005037 042777 000137 052777 001302 002000 001702 00040V 176334 001702 30G(1063) 176352 176350 31-AUG-79 ROUTR: ROUTS: ROUTT: ROUTU: 002676 010161 1%: 001274 002720 2%: ROUTW: 001320 004546 001226 000400 001702 000340 002774 000020 1%: 1%: 003076 003100 003076 2%: 003100 003070 003102 003110 003116 003100 001300 012746 000002 001301 176116 3%: 003072 000137 003122 012737 053777 000137 002000 001302 001702 MOV RT] JMP TST BNE CLR JSR NOP BIC JMP MOV MOV 003076 003046 MOV MOV RT1] TYPE RDOCTY MOV MOV ROUTX: 010520 177774 003076 CLR BRIC JMP 8IS CLR JMP JSR JSR JMP (LR 003122 001324 (% 10%: 001302 176062 13:08 COMMAND DECODER 11%: ROUTZ: RTI TYPE, RDOCTY MOV NOP NOP NOP BIC INC CLR DEC 8EQ INC BR PAGE 5 H SEQ 0020 JWANT REGULAR GAIN ; INSURE REGULAR GAIN ;LOOK FOR NEXT COMMAND ;STOP NCVNM s ZERO NCV (SR ;LOOK FOR NEXT COMMANL PC,LDIMGE ;GO STOP THE NCV1® IF RUNNING ;GO SET UP TEST CORE IMAGE CHANGE #340,-(SP) ;60 DISPLAY [T .MSG2 ;ASK FOR OCTAL #1%,-(SP) (SPY -, THH] -(SP) #2%,-(SP) ;GO GET IT JSAVE IT DATA CHANGE ;GO DISPLAY 1% MSELCT PC.SELCTA ;BR IF NOT ;SELECT 1ST BIT MAP s CHANGE ADDRESSES NOVSV STEST IF VSVO1 DETECTED VIVCSR,RO #3118,20(RO) ;GET 1ST BIT MAP ADRS LISN #340,-(SP) #1$,-(SP) ;GO AWAIT NEXT COMMAND MSG7 JTELL OPERATOR TO SELECT CAMERA (SP)+,10% ;GET CHAR. JTURN OFF JWAIT 2ND BIT MAP FOR HIS INPUT #177774,10% JMASK OFF BITS 11% 10% ;CLEAR A(CTUAL VALUE 10% 3% 11% 2% ;UPDATE ACUTAL BIS (LR CAMERA,aNC(SR -(SP) #4%,-(SP) 118, CAMERA+? ;UPDATE CAMERA SAVE LOC. JAND SELECT THAT CAMERA JMP CHANGE sRETURN MOV #B1T710,GAIN GAIN,aNC(SR ;ENABLE GAIN JSET IT AT NCV (SR ;G0 AWAIT NEXT COMMANL MOVB MOV RT1] 0 0 BIS JMP LISN CINCDB NCV11 EXERCISER MACY1T CINCDB.P11 31-AUG=79 11:21 30G(1063) 31-AUG=79 13: 08 PROGRAM ROUTINES I PAGE 5-1 SEQ 0021 PROGRAM ROUTINES .SBTTL ;GO CLEAR SCREEN OF SELECTED DISPLAY 003122 004737 (HANGE: JSR 005020 PC,ERASE ;GO ERASE SCOPE ;STOP NCV11 AND GET SET TO DISPLAY 003126 004737 004744 JSR PC,NCSTP ;GO STOP NCV11 003132 003136 003140 005737 001324 TST BEQ JMP NOVSV BOX JTEST IF vSVO1 DETECTED 003144 003150 003154 003160 003162 003166 003170 003174 003176 003202 003206 003210 003214 003216 003222 003224 003230 003234 003240 001402 000137 012700 012701 004737 005200 022700 001403 004737 000771 012700 004737 005200 022700 001403 004737 000771 ;BR IF YES JRETURN [F NOT ;NOW DRAW A BOX AROQUND POTENTIAL MATRIX DISPLAY 001702 JAREA ON THE BOX: MOV MOV JSR 1%: INC (MP BEQ JSR B8R 001750 073567 005060 001770 005072 006010 005060 006030 2%: MOV 3%: INC 005072 001730 000017 070000 006047 A ¥ 5%: JSR (MP BEQ JSR BR MOV ADD MOv (MP BEQ JSR 005060 000007 000021 005060 001304 001306 LARGES: MOV 024137 001274 001306 CLR 1%: MOV CMP JNEXT MAP LOAD ;SET UP BIT MAP ADRS - BGT LINE PC,DISPY RO . #6030,RO 4% PC,DCONT 3$ #1730,R0 #17.RO #70000,R1 #6047 ,R0 6$ 5% PIXASM TOTSIZ,CHARCT @TABLEX,RO TABLEX,R1 RO, (R1)+ 38 2% TST DEC ;ADVANCE ADRS 1% #6010 ,RO PC.DCONT =(R1) ,THHI 2%: 3%: ;SET UP PIXEL DATA IN R1 - INT 7 ;GO LOAD BIT MAP ;TOP LINE DONE? ;BR IF SO ;NOW LETS FIND T HE LARGEST CEL. MoV ;JSET UP BIT MAP ADRS =~ TOP L INE 2% #1770,R0 MOV MOV 013737 017700 013701 020021 101001 011100 005721 005337 001366 PC,DISPY RC VIVSAV,a8VTV(SR #2010 ,MAPADR #3,PIXCNT BR MOV 6%: 103005 #1750,R0 #73567 ,R1 PC.DISPY #7 ,R1 #21,R0 PC,DISPY 175730 001260 001262 175764 001314 SEL ECTED DISPLAY MOV ADD JSR 001254 00201C 00003 001264 005037 LISN (R1) ,RO (R1)+ CHARCT 1% sLOAD NEXT PIXEL WD ;GO LOAD BIT MAP ;ADVANCE ADRS ;BOT LINE DONE? ;BR IF SO ;LOAD NEXT PIXEL WD ;NEXT MAP LOAD ;SET UP BIT MAP ADRS SIDE LINES JOFFSET NEXT ROW ;SET UP PIXEL 3 DATA IN R1 - INT 7 ;AT BOTTOM OF SCREEN? ;GO START VSVO1 DISPLAY ;GO LOAD BIT MAP ;SET UP PIXEL O DATA IN R1 sOFFSET TO RIGHT LINE ;GO LOAD BIT MAP ;DO NEXT ROW ;START DISPLAY ;OFFSET BIT MAP ADRS ;SET UP PIXEL BYTE COUNT JCLR PIXEL ASSEMBLY WORD - INT 7 JNUMBER OF ELEMENTS TO CONSIDER sTHIS IS FIRST GUESS JR1 POINTS TO TABLL ; COMPARE GUESS AGAINST NEW JGUESS STILL GOOD ;GUESS SMALLER BUT CHECK NEW JHI AGAINST UPPER THESHOLD JWITHIN BOUNDS. MAKE THIS NEW H] ; INCREASE REGISTER BY ¢ ;COUNT THIS LAST COMPARISON CZNCDB NCV11 CZNCDB P11 003360 003364 003366 003372 31-AUG=79 13:08 EXERCISER MACY11 30G(°063) PROGRAM ROUTINES 31-AUG-79 11:21 163700 101002 000137 010037 J PAGE 6 SEG 0022 :THE LARGEST CELL WITHIN THE UPPER THRESHOLD IS NOW IN RO ;NOW ACCOUNT FOR LOWER THRESHOLD - BOW OUT IF TOO SMALL 001272 003720 001310 4%: Sus BHI JMP MOV THLO,RO 48 PATWRT RO, CPERL ;SUBTRACT LOWER THRESHOLD JBR IF CELL VALUE GREATER THAN LO THRESHOLD JDON'T DISPLAY-ALL VALUES BELOW LO THRESHOLD ;SAVE LARGEST CELL OF MATRIX :NOW PICK QUT EACH VALUE IN CORE MATRIX AND SCALE TO THE ;PROPER 003376 013737 062737 012737 017702 062737 INTENSIT/ LEVEL. 001314 017600 000100 175632 000002 001312 001256 001256 001312 001256 DISLOP: MOV AL D 000100 000400 001274 001312 001256 suB DMATRX: MOV ADD MOV DEC BNE MOV 1%: 001272 2%: 001310 000005 SCLCEL: 2% ;§: D W CMP BH! SUB BHI CLR TABLEX ,MRXADR #8064. ,MRXADR #64 . ROWCNT IMRXADR,R2 #2 ,MRXADR ROWCNT 1% ;BEGIN AT TOP LEFT ROW ;OFFSET TO BOTTOM OF CORE MATRIX ;THERE ARE 64 CELLS PER ROW #256. ,MRXADR cSET UP FOR NEXT ROW IN MATRIX JGET A CELL VALUE FROM MATRIX ;BUMP MATRIX ADRS #64. ,ROWCNT ;COUNT CELL THIS ROW ;BR IF ROW NOT FINISHED JRESET NEXT ROW COUNT R2.THHI ;CELL WITHIN HI THRESHOLD? a3 THLO,RZ ;BR IF NOT ;SUB LOW THRESHOLD Ré4 JSET CELL TO LOWEST INTENSITY SCLCEL :BR IF CELL ABOVE LOW THRESHOLD B8R MAPLD ASL CMP BLO R4 R2.R1 4% ;MUL BY 2 ;COMPARE THIS CELL TO LARGEST ;BR ]IF SMALLER EU? R1,R2 JNO DO mov MOV CLR TST BEQ INC CPERL ,R1 #5,R3 R4 R1 3% R4 JNOW ESTABLISH THE INTENSITY LEVEL ;SCALE TO 16 LEVELS ;CHECK CASE WHERE O DEVISOR ;BR IF SO ;ACCOUNT FOR GOOD SUBTRACTION THE SUBTRACTION L ROR R1 JMAKE DEVISOR SMALLER BLOS INC MAPLD R& :BR IF TOO SMALL JROUND UP DEC BNE SUB 005204 THEN DISPLAY IT ON THE SELECTED DISPLAY R3 2% R1,R2 ;COUNT POSITION JAGAIN IF NOT SCALLED TO 16 LEVELS YET ;ACCOUNT FOR REMAINDER — CINCDB NCV11 EXERCISER MACY11 30G(1063) 31-AUG-79 13:08 PROGRAM ROUTINES CINCDB.P11 31-AUG=79 17 :21 474 475 476 677 4«78 479 480 4«81 482 483 484 485 486 487 488 489 490 N K SEQ 0023 ;THIS CODE DISPLAYS EACH SCALED CELL ON THE vSvO1 003542 003546 003550 013700 005704 001401 005304 000304 006304 MAPLD: 001260 1%: 494 495 49 497 498 499 001264 000003 001260 001260 005770 003670 003674 003700 003704 003706 003714 042700 022700 001003 062737 000137 ASL ASL ASL ASL BNE MOV ’%: 001262 JSR DEC BPL CLR 177740 3%: 000030 0017260 4%: JSET UP BIT MAP ADRS 1$ R4 R4 R&4 R4 ;PREPARE R4 R4 R4 PIXASM PIXASM PIXASM PIXASM R& ,PIXASM PIXCNT 2% PIXASM R1 PC,DISPY PIXCNT DISLOP P1XASM #3,PIXCNT MAPADR JMP PATWRT 8IC cMpP BNE ADD JMP (ONE OF MAPADR,R0O MOV INC MOV CMP BNE 003720 000020 003420 1ST BEQ DEC SWAB RO ROR ROR ROR ADD TST 001264 005060 001262 493 MOV C.C 001264 001264 001264 001264 0012¢4 001262 492 500 501 502 503 504 505 506 507 508 PAGE 7 MAPADR ,RO #5770,R0 3$ #177740,R0 #30,RO 48 #20 ,MAPADR DISLOP 16 LEVELS) ;LOOK FOR NO INTENSITY ;BR IF NO INTENSITY ;OFFSET T0 0-17 ;MOVE FOR PIXEL TO TOP & BITS LOC 14 'NOW ASSEMBLE THIS PIXEL INTO PIXEL WORD "NOW MAKE ROOM IN PIXEL WORD ;ADD THIS PIXEL TO OTHERS JALL & PIXELS DONE FOR THIS WORD? ;BR IF NOT ;LD PIXEL WORD INTO R1 ;LOAD BIT MAP s COUNT PIXEL JBR IF & PIXELS NOT ASSEMBLED YET ;CLR PIXEL ASSEMBLY WORD JRESET PIXEL COUNT ;ADVANCE MAP ADRS ;LOAD INTO RO JHAVE ALL 64 ROWS BEEN DONE” JBR IF NOT sNOW GO DISPLAY PARAMETERS ;SAVE ROW POSITION BITS sNOW LOOK FOR END OF ROW ;BR IF NOT AT END ;ADVANCE MAP ADRS TO NEXT ROW ;GO GET NEXT MATRIX DATUM - — e nd mnd D o VIV, IV IV IV, 1V, 1V, |(9, 1V, O NN SN -0 CZNCDB NCV11 CINCDB P11 EXERCISER MACY11 31-AUG=79 11:21 30G(1063) 31-AUG-79 13:08 PROGRAM ROUTINES PAGE 8 L ;CODE TO WRITE PARAMETER DATA AT BOTTOM OF SCREEN 003720 012777 004537 012000 005316 175276 PATWRT: MOV JSR JSR RS,VIWRIT JSR RS,AWRIT THLO wD002 O‘\J\\h\l\bl\bkf\)f\)—‘—‘—' ROV OONNO COONNO RERRRRERRRRE 2 THHI 000040 175202 000125 000120 010036 010037 000104 000116 010036 010037 1$%: 032777 001007 112737 112737 000406 000100 175140 2$: 000125 000120 010053 010054 000104 000116 010053 010054 112737 004537 010007 004537 007735 017737 017737 005316 005316 175062 175052 005342 005316 005342 004537 007750 005316 001246 001250 - SET (HAR POS,LINt 20, LEFT MARGIN :"'CR, UPPER THRESHOLD'' ;DISPAY OCTAL CAMERA+1,DUMMY1 :GET CAMERA VALUE MOVB ADD #60,DUMMY :MAKE ASCII MovB DUMMY 1, CAMOUT :SAVE FOR READOUT ;TEST THE 'PB'' FLAG 032777 001007 112737 112737 000406 112737 112737 :"'CR,LOWER THRESHOLD'' :DISPAY OCTAL 005316 001246 007246 010022 112737 RS,AWRIT wD0O01 JSR 001301 000060 001246 113737 JVSVO1 005342 005342 519 #12000,avTVvPOS RS.VTWRIT BIT :TEST 3s: (% BNE MovB MOVB BR MOVB MOVB #BITS ,aNCSFR 1% #'U,PBUP #'P,PBUP+1 2% #'D,PBUP #'N,PBUP+1 FOR JOY-STICK BUTTON FLAG BIT BNE MovB MOVB BR MOVB MOVS JSR wD007 JSR wD003 #BIT6,aNCSFR $ #'U,JBUP #'P,JBUP+1 43 #°'D,JBUP #'N, BUP+1 RS.VTWRIT RS,VTWRIT MOV MOV JSR DUMMY 2 JSR aNCBAR,DUMMY1 aNCWCR,DUMMY?2 RS,AWRIT JSR DUMMY1 JSR wD004 RS,AWRIT DASH :TEST FOR 'PB'' FLAG sBR IF SET ;NO~ TELL OPER. ;sTELL OPER. iIT WAS DN ;TEST FOR ''JOY-BUTTON'' FLAG ;BR IF SET JTELL OPER. IT WAS UP ;TELL OPER. IT WAS DN ;DISPLAY (CAMERA VALUE AND BUTTON STATUS =" ;"7 COUNT ;DISPALY OCTAL RS,VTWRIT RS,VTWRIT IT WAS UP :DISPLAY OCTAL J"MATRIX COUNT-*' o CINCDB NCV11 CINCDB.P11 EXERCISER MACY}1 31-AUG~79 11:2 30G(1063) 31-AUG=79 13:08 PROGRAM ROUTINES PAGE 9 M SEQ 0025 ;DETERMINE THE # OF COUNTS IN THE MATRIX 013737 005002 005003 013701 001304 001240 001314 MoV CLR CLR : MXSML 001240 001246 001250 005342 JSR RS5,AWRIT ;TELL OPER. OCTAL JSR RS,VTWRIT s INSERT DASH JSR DUMMY1 JSR BCRLF R5,AWRIT DASH 005316 TEMPO MX SML DUMMY? 005342 ;NOW ADD UP ALL VALUES DEC BNE MOV MOV 005316 011716 MOV ADD AD( TOTSIZ,TEMPO R2 R3 TABLEX,R1 ég1)*,R3 R3,DUMMY1 R2.DUMMY? R5.VTWRIT ;TEST FOR GAIN = 2 AND B GAMMA STATES 591 004254 004260 004262 004266 004270 004276 004300 004304 004506 004312 004314 004320 004326 005737 001403 004537 007767 023727 001003 004537 007776 005737 001402 000137 013777 000137 001302 005316 001314 040000 1%: 005316 2%: 001316 002124 001276 001702 174652 3%: TST BEQ JSR wD005 CMP BNE JSR wD006 TST BEQ JMP MOV JMP GAIN 1% RS, VTWRIT S TABLEX ,#MATRIX+20000 ;ISOTOPE B? ’$ sNO RS,VTWRIT cYES ;' B-GAMMA'' FREERN ;IN FREE RUN MODE? 3% ROUTF ;BR [F NOT JYES, GO GET NEW DATA LISN ;DONE WITH MESSAGES COMSAV,aNCCSR ;RESUME THE NCV11 IN MATRIX CINCDB NCV11 EXERCISER MACY1? 30G(1063) 31-AUG-79 13:08 PROGRAM ROUTINES CINCDB.P11 31-AUG~79 11:21 593 594 595 596 597 PAGE 10 N SEQ 0026 ;THIS CODE DRAWS CROSS HAIRS(VSVO1) WITH THE X & Y JOYSTICK DATA ;THE BUG WILL FOLLOW THE JOYSTICK WHEN THE INTERRUPT BAR IS NOT DEPRESSED ;ALL PARTS WITHIN THE DISPLAYED BOX ON THE SELECTED DISPLAY SHOULD ;BE ACCESSIBLE IN A UNIFORM MANNER 004737 005000 012701 004737 005200 022700 001403 004737 000771 012700 004737 005200 022700 001403 004737 000771 012700 012701 004737 012701 062700 004737 005200 022700 001362 013777 ;A CNTRL 'C" WILL GET USER BACK TG KEYBOARD MONITOR 005020 TJOY: JSR PC,ERASE ;START FRESH - ;DRAW A BOX UP ONOVSV01 SCREEN FOR NCV11 JOYSTICK CALIBRATION 073567 005060 1%: 000040 005072 2%: 007740 005060 3$: 010000 005072 4% 000040 000007 005060 070000 000037 005060 5%: 007740 001254 CLR MOV JSR INC CMP BEQ JSR BR MoV JSR INC CMP BEQ JSR BR MOV MOV JSR MOV ADD JSR INC cMP BNE MOV 174544 R #73567 ,R1 PC.DISPY RO ;SET UP BIT MAP ADRS - TOP LINE ;SET UP PIXEL DATA IN R1 - INT 7 ;GO LOAD BIT MaP ;ADVANCE BIT MAP ADRS PC,DCONT 1% ;LOAD NEXT PIXEL JNEXT MAP LOAD #40,R0 2% #7740 ,R0 PC,DISPY RO #10000,R0 4% PC.DCONT 3% #40,R0 #7.R1 PC,DISPY #70000,R1 #37 ,RO PC.DISPY RO #7740,R0 5% VTVSAV,3VTVCSR ;TOP LINE DONE? ;BR IF SO ;SET UP BIT MAP ADRS - BOT LINE ;GO LOAD Bil MAP ;ADVANCE ADRS ;BOT LINE DONE? ;BR IF SO ;LOAD NEXT PIXEL WORD sNEXT MAP LOAD ;SET UP BIT MAP ADRS SIDE LINES JSET UP PIXEL O DATA IN R1 - INT 7 ;GO LOAD BIT MAP ;SET UP PIXEL 3 DATA IN R1 = INT 7 ;OFFSET TO RIGHT SIDE LINE ;GO LOAD BIT MaP ;GO TO NEXT ROW ON LEFT ;70 BOTTOM YET? ;BR IF NOT :ENABLE BIT MAP :NOW COLLECT ANALOG DATA FROM NCV11 JOYSTICK 012777 052777 105777 004000 000001 174506 174520 174512 174504 001240 005472 000040 005122 DISBG: 1%: 2%: MOV BIS TSTB #BIT11,aNCSFR #BITO,aNCSFR aNCSFR :CLEAR THE DEVICE s CONVERT JOYSTICK ;DONE? JSR PC,XYAVE ;GO AVG LAST 32. X-Y JOYSTICK VALUES BNE 1% JDON'T MOVE THE BUG PC.DISPY? 1% ;GO DISPLAY CROSS HAIRS = vSVO1 ;DO ANOTHER CONVERSION BPL ngg NOP NOP 174456 BIT NOP NOP JSR BR 2% aNCJOY, TEMPO H#BITS ,aNCSFR ;BR IF NOT ;STORE CONVERSION VALUES ;LOOK FOR JOY BOTTON DOWN CINCDB NCV11 EXERCISER MACY11 30G(1063) 31-AUG-79 13:08 PAGE M CINCDB.P1T 31=-AUG=79 11:21 PROGRAM SIBROUTINES 648 IR 649 JAND 651 652 IR 653 654 655 656 657 658 659 660 661 662 663 664 004546 004552 004556 004560 004564 004570 004572 004576 004602 004604 004610 004612 013700 012701 010021 062700 022701 001372 013700 005737 001402 062700 010021 062700 666 004622 001372 004632 004636 004642 0064646 005777 005777 013700 010077 004616 667 004624 672 004652 668 669 670 671 673 674 675 676 677 678 679 gg? 022701 000020 000002 001240 004676 062700 000401 032700 001771 000241 0046676 022626 004700 004702 001170 001320 012737 000207 174362 174364 001252 174364 W AR RN R R AR AT A AR R RN R AN R AN RN 3%: 010000 000006 000004 5%: 000261 000771 IR 004742 01277/ 012777 053777 053777 052777 000207 004030 020000 001302 001300 000001 174266 174262 174252 174244 174236 692 RN RN RO 694 004744 0046752 004760 004764 017737 052777 005077 006207 1764230 000400 174214 001276 174230 AR RN NS aVIVCRG aVIVCSR INTLUT RO RO,aVTVINT ;1S CHARACTER GENERATOR THERE? ;1S BIT MAP THERE? JSET UP ADRS & DATA OF INTENSITY LOOK-UP TABLE JSET UP TABLE #10000,R0 3% ;TABLE LOADED? ;BR IF NOT ;ZERO CARRY SAYS VSVO1 ;SET UP BUS TIMEOUT RETURN ADRS IF NO VSVO1 ;JADVANCE ADRS & INTENSITY (SP)+,(SP)+ THERE JRESTORE ER TRAP LOC TO PT TO 6 JFIX STACK SINCE NO RTI ;CARRY ON EXIT SAYS NO vSVvO1 ;GO EXIT R A AN AR AR AN A RA AR RN AR AR AN KRR N R RN AR R RN SRR JROUTINE STARTS NCV11 AT SELECTED GAIN AND CAMERA AR AR AN AR R RN AR RN KR A RA AR RN RN AR AN R AR N KA R AR #4030,aNCCSR MMATRIX,aNCOFF GAIN,aNCCSR CAMERA ,aNCCSR #BITO,aNCCSR PC AR RN AR AN RN JSET UP ENSURE ;SET UP JSET UP :SET GO JRETURN AN AN SRR AR N AR AR RN R AR R AR AR AN R AN RN R R ARE R R R AR RN ER STATUS AR AR RN AN RN AR AR AR R AR RAR R A AR AR AR R A NN aNCCSR, COMSAYV #3178 ,aNCSFR aNCCSR PC AR C RN 7B ENABLE AND 64*64 WORD MATRIX OFFSET REG. IS SET GAIN CAMERA BIT JROUTINE STOPS NCV11 AND SAVES NCV11 AR AR AR THE JALL SET UP? 4 MOV BIS (LR RTS AR IF ;BR IF NOT SEC BR RTS NCSTP: RN SET ON EXIT 2% #FRRVE(C+Z,a#ERRVE PC JEXIT NCSTRT: MOV MOV BIS BIS BIS IR S ;GET VSVO1 BASE ADRS ;GET PTR ADRS ;SET UP REG ADRS PTRS ;BUMP REG ADRS . CHAR GEN REGS ALL SET uP” ;BR IF NOT ;GET BASE ADRS OF BIT MAP JUSING SECOND MAP? ;BR [F NOT JPOINT TO 2ND BIT MAP ADRS'S JCONTINUE TO BIT MAP ADRS'S ;:BUMP REG ADRS MOV RTS AR AR AN (ARRY BIT AR RO NN RRNR RN #4601 ,RO (MP THE VTVADR RO #VTVCRG,R1 RO, (R1)+ #2,R0 #VTV(SR, R 18 VIMADR RO MSELCT 2% 20,RO kY, (R1)+ #2 RO IR AR R RN AN AR AR 693 AN ADD AR 004704 004712 004720 004726 004734 AN A AN A RN #5% ,aNMERRVE ( BIT BEQ cLC o$: AR A AR MOV TST TST MOV MOV - IS NOT SEEN AT THE ASSIGNED BUS ADDRESS #VTVINT+2 ,R]1 BNE 000004 684 695 696 697 698 R R A AR A INTENSITY LOOK-UP TABLE AR AR (MP 683 gg? AR ;JVSVO1 AR SELCTA: MOV MOV 1% MOV ADD (MP BNE MOV TST BEQ ADD ’%: MOV ADD 000002 001226 012737 004656 004662 004664 004666 004674 001166 001220 682 685 686 687 688 689 AR SEQ 0027 JROUTINE SELECTS VSVO1 DISPLAY = SETS UP BUS ADRS AND INTENSITY LEVEL 650 665 AR 8 AR AN R AN ;SAVE THE INTERFACE ACTION sDISABLE NPR'S ;ZERO ALL STATUS JRETURN —— CINCDB NCV11 (INCDB.P11 EXERCISER MACY]1 31-AUG-79 11:2 30G(1063) 700 70 702 703 704 705 706 707 708 709 710 71 712 31-AUG-79 13:08 PROGRAM SUBROUT INES PAGE 12 C SEQ 0028 ;;'QQ‘QQQ'.'Q'."!t"tttfi'tfittttt!ilt'fi..'t't"'t"fifitt.!'.tt.ttQ JROUTINE MR 004766 004772 004776 005002 005010 005014 005016 004737 005077 005077 012700 005020 020027 001374 NCSTP1: JSR 004744 174206 176204 020000 1%: 060000 713 714 715 716 717 SAVES STAT'JS AND CLEARS MATRIX CORE AREA RARN AT RANRAANARARRANANAAA NN AT RARNANAAANARANNANRSY PC_NCSTP ;GO STOP NCV11 AND SAVE STATUS (R CLR MOV (LR (MP aNCWCR ;CLEAR HIGH WORD aNCRAR ;CLEAR LOW WORD MATRIX,RO JGET SET TO ZERO CORE MATRIX AREA (RO) + ;ZERO LOC RO, MMATR] X+40000 ;sALL DONE? RTS PC BNE 000207 SRR STOPS NCV11, RAN R AR AN AN AR AN A AR AN 1% ;BR IF MORE ;RETURN AR R R R AR AN A A A AR R AN RN N A RN RN NRAN TR AR RANA RN AR RN :ROUTINE WILL ERASE DISPLAY ;:t'ttfitttti*Q'tfi'.ttfitfiitttttt'.fit'fiitti!t*t‘tttt't*tt't"tttt*t 005737 001014 052777 105777 100375 042777 012777 000207 001324 001000 174166 ERASE: 174172 001000 002035 18: NOVSV BIS #1000,avVIVCSR BPL BIC 1$ #1000,aVIVCSR #2035,aVTVCRG PC TSTB MOV RTS 2%: TR TST BNE ;TEST 2$ @VIVCSR IF VSVO1 :BR IF NOT ;ERASE DISPLAY :LOOK FOR READY DETECTED (CLR BIT MAP) JWAIT FOR IT ;TURN OFF ERASE DISPLAY ;CLR CHAR SCREEN & DISABLE CURSOR JEXIT AR AR RN AR R AR RN AN AR A AR R RARRNAAAEARRAANA AR ;ROUTINE WILL LOAD BIT MAP ARARNNRARREARR AR R A RS (VvSVO01) 2RO COUNTAINS BIT MAP ADRS AND R1 THE BIT MAP DATA SRR AR AN RN AN A ARAARA A A RN AN 005060 005072 005100 005104 005106 005112 005120 042777 010077 042777 105777 100375 010177 052777 000207 000400 174136 000400 174140 DISPY: 174126 DCONT: 1%: 174120 000400 174106 174122 BIC 005122 005126 005130 005134 005142 005150 174072 001241 001240 016000 RO,aVTVMAP #400,aVTV(SR avVTVCSR 1$ BIS #400,aVTVCSR RTS AR DISPY2: 174060 174050 R1,aVTVPX PC RN A AN AR AN AN RN A RN N 005777 100375 105137 013777 052777 000207 MOV BIC 1ST8B BPL MOV S #400,aVTVCSR AN AN AR A AR ARN AN AA RS AN TR ANA RN AN AN AN ;STOP DISPLAY ;LOAD BIT MAP ADR> ;AGAIN IF ENTERING HERE ;READY? ;WAIT THEN ;LOAD BIT MAP sRESUME DISPLAY JRETURN A AR AN R AN AN AN AN ANRNNRRAARRARNANANCR AR JROUTINE WILL DISPLAY X & Y CROSS HAIRS ON VSVO1 AR A R R AN RN AR RRN R AR AR AR R RRRRNAARRAR RN R AN TST aVIVCRG sREADY? coMs TEMPO+1 ;X NEEDS TO BE BPL MOV BIS RTS DISPY?2 TEMPQ,aVTVCHP #16000,aVTVCRG PC ;WAIT IF NOT NANRNN NN INVERTED ;LOAD X & Y CRQSS HAIRS ENABLE THE (ROSS HAIRS s RETURN A RO AR N CINCDB NCV11 CZNCDB.P11 EXERCISER MACY11 31-AUG=79 11: 21 30G(1063) 748 749 750 ¢} 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 774 775 776 777 778 779 780 781 782 783 PROGRAM SUBROUT INES PAGF 13 ) SEQ 0029 JROUTINE WIIL FILL CORE WITH AN IMAGE THAT WHEN :DISPLAYED WILL CONTAIN ALL THE INTENSITY LEVELS JROWS AT THE BOTTOM OF THE SCREEN WILL APPEAR BRIGHTEST = ;NOTE THAT THIS IS ONLY A DISPLAY TEST PATTERN FOR ;POSSIBLE DISPLAY ADJUSTMENTS BY THE USER ';tittttttl*fitt'ttttltttttttfiit*ttfiii*tttttfitttttttttttttfittttt't 005152 005156 005162 005166 005172 005174 005176 05200 005202 005204 005210 005214 005216 012700 013701 012702 012703 000100 001314 000100 000100 LDIMGE: MOV #10C,RO ;COUNT 64 ROWS MOV MOV #100,R2 #100,R3 ;COUNT 64 DATA POINTS PER ROW 2100 WILL REPRESENT HIGHEST INTENSITY LEVEL(100-0) 001405 162703 012702 000001 000100 SUB MOV BR RTS #1,R3 #100,R2 1% PC 01 005302 001375 005300 000766 000207 MOV 1%: 2%: MOV DEC BNE DEC 8EQ TABLEX,R1 R3,(R1)+ R 1% RO 2% ;GET SELECTED ISOTOPE ;LOAD CORE IMAGE ;DONE ROW? ;BR IF NOT ;DONE ROWS? :BR IF SO JLOWER NEXT CELL VALUE JRESET ROW LENGTH COUNTER JLOAD THIS ROW IMAGE JRETURN FOR DISPLAY ;:ttfitttttt'fitiiitltttfititt'fit*tttit*tiittititt'it'tittitt'ttfi"i ;KEYBOARD INTERRUPT SERVICE ROUTINE ';ttttt'ttflitt'Q*ifittfittt'ttt'tfit't'tttfi!t'ttfiiktl'tttttl!tttltt' 005220 005226 005234 005242 005250 005252 005256 017737 013777 042737 022737 001002 000137 000002 173722 001266 177600 000003 001266 173716 KBINT: 001266 001266 001556 1o MOV a$TKB ,KBUFF cREAD KEY BOARD 8IC CMP #177600,kBUFF #3 KBUFF ;RID PARITY JCNTRL 'C*? é?? LISEN JABORT WHATEVER € LOOK FOR NEXT COMMAND MOV BNE KBUFF ,a$TPB 1% sECHO CHAR. ;BR IF NOT ;:ittitttitt*tt*ti'tttttttttfitt'ifittfit'fi*titt'tfififittttttttttt't.‘ JROUTINE TYPES °'CR' AND 'LF' OR CHAR IN TTYOUT ';titttttt*itttt'ttfitttttitttititfitfit't'tfi!ttt"'ttttltttlittttl' 784 785 786 005260 005266 005272 012737 00473/ 012737 000015 005300 000012 001270 789 790 005306 005314 013777 000207 001270 17363¢ 787 788 13:08 ::fit'tt'tt"t‘ttitt*ttttttttttt*tttQttt'tit'i't'ttittt'tt.tttt't' 770 771 772 773 31-AUG-79 005300 005304 105777 100375 173644 001270 TYPCR: MOV #15,TTYOUT JSET UP FOR A TYPO: MOV 1ST8B #12,TTYOUT a$TPS JSET UP FOR LF JWAIT FOR LAST CHARACTER JSR BPL MOV RTS PC,TYPO TYPO TTYOUT,Q$TPB PC JSEND IT OuT (R’ NCV11 EXERCISER MACY11 (ZNCDB. P11 31-AUG=79 11:21 CINCDB 30G(1063) 31-AUG=79 PAGE 14 13:08 PROGRAM SUBROUT INES 3 SEQ 0030 ';'Qfi'tt"'t"ttt'fitt't't't'ti'tl.ttti'tfitt'!Qttt't'ttfit.tfit..ttt :THIS SUBROUTINE IS CALLED WITH THE ADDRESS OF A MESSAGE TERM WITH A 0 BYTE :;ti".'*'tfifit"ilttt'fitt't'fitl'!ttttttttfittfitit'ttt'tfittttttt"' 005316 005320 012504 005777 100375 105714 001403 005336 005340 112477 000770 000205 VIWRIT: MOV 1%: 173674 TST BPL (R5)+ ,Ré aVvVTVCRG 1% ;GET ADDRESS OF MESSAGE IN Ré& JWAIT FOR READY BEQ 2% :BR IF RTS RS TSTB 173662 ggVB 2%: a2 005342 005346 005354 005356 005362 005370 005372 005376 005402 005406 005414 005422 005430 005434 005440 025442 005444 005450 005452 005454 005456 005460 005462 005465 005470 012537 017737 010046 012700 012737 000406 006237 006237 006237 013737 042737 062737 113740 005337 001354 012600 004537 005462 000205 000000 000000 000005 060 060 009 005472 005454 000102 005454 005470 000006 005460 005454 005454 005454 005454 177770 000060 005456 005460 AWRIT: MOV MOV YES THE CHARACTER JEXIT 2222022020222 2222222220000 222aRRRSRRRSd] CONVERTS OCTA. INTO ASCII FOR DISPLAY 2%: ;GET VALUE'S ADDRESS :GET ACTUAL VALUE gg.12$ ;LOAD LOOP COUNTER ASR ASR ASR 108 108 108 :SHIFT DATA :SAVE RO ;LOAD LAST ADDRESS OF OCTAL TYPEOQUT 11%,-(RO) ;SAVE MOV BIC ADD 108,118 2177770,11% #60,118 ;COPY THE VALUE JMASK OFF UNWANTED BITS JMAKE ASCI] OCTAL DEC BNE MOV JSR 12% 18 (SP)+ ,R0 RS, VTWRIT JFINISHED ? RTS RS MOVB 10%: (RS)+,10% 8105,105 RO,~-(SP) ANUMEND ,RQ NUMBEG 060 060 ;LOAD MOV MOV ggv 005316 060 060 %ga)*.QVTVCRG 2823232328232 222222223000222022 2302322 22022 RRRiRRSRRRdRRN] 1%: 005456 005456 005456 ;TERM ? 2382322222232 *THIS ROUTINE R (R4) 0 JEXIT 0 NUMBEG: .BYTE 60.,60,60,60,60,60 .BYTE .EVEN O NUMEND. 5 CHAR., :DISPAY THE OCTAL # 1%: 12%: THE e CZNCDB NCV11 CINCDB P EXERCISER MACY11 30G(1063) 31-AUG=79 13:08 PAGE 15 PROGRAM SUBROUT INES 1 31-AUG-79 11: S 23332322323 F 232323232320822222822222 SEQ 0031 2222222222222 2R2RRRRRRRR *THIS ROUTINE AVERAGES THE LAST 32. X=Y JOYSTICK VALUES 2] '"t.ittttttittt't!'fittitt'tittttttttfit"fi.fitt'tltt‘tttt'i't.'it.' 010046 013700 013702 010022 020227 103402 005600 005602 005604 005606 005610 005612 005616 005620 005720 MOV 005720 mMpP BLO 005620 005720 005620 005562 012702 004737 000300 005621 005562 MOV 010037 012600 000207 001240 MOV MOV RTS 152600 005562 005564 005566 005570 005572 005574 MOV MOV MOV 012702 01023%7 012702 004737 110046 005560 001240 005720 XYAVE: 005000 005005 152205 060500 005202 020227 103771 042700 000207 000040 005720 005620 1%: MOV MOV MOV JSR MOVR JSR SWAR BISRH 10%: 11%: (LR (LR BISB ADD 005720 177400 INC (MP B8LO ASL ASL AS| SWAS BIC RTS : XYBUF XYBUFE-. XYBUFP: XYRUF RO,-(SP) TEMPO,RO XYBUFP ,R2 RO, (R2) + ?i,#XYBUFE AXYBUF ,R2 RZ ,XYBUFP #XYBUF ,R2 PC,10% RO,-(SP) #XYB +1UF ,R2 PC,10% RO (SP)+,R0 RO, TEMPO (SP)+,R0O PC RO RS + RS (R2) R5.RO R2 R2,#AXYBUFE 11% R #177400,R( PC ;SAVE RO JGET X B Y ;GET CURRENT BUFFER POINTER :SAVE NEW X=-Y VALUE ;EgD OF BUFFER? ;N JYES, GO BACK TO BEGINING OF BUFFER ;SAVE NEW BUFFER POINTER ;CALC AVE X JSAVE IT ;CALC AVE Y ;G0 DO IT JGET X=Y IN RO ;GET SAVED X JPUT IN TEMPO JRESTORE RO JEXIT WITH AVE X=Y IN TEMPO . JERO SUM ;DG A MOVB TO A REG (UNSIGNED) JADD IT IN ;SKIP OTHER VALUE JEND OF BUFFER? :NO :DIVIDE BY 32. ;CLR H] BYTE CINCDB NCV11 EXERCISER MACY11 30G(1063) 31-AuG=79 13:08 PAGE 16 CINCDB.P1T 31-AUG=79 11:21 PROGRAM SUBROUT INES 6 SEQ 0032 878 ".'"‘fi".'..'......'*"'.'*QflQ.'Q"Q""tt'.fi"'fl.t'fi*fit"".tt.' 8{9 SBTTL TTY INPUT ROUTINE L.ENABL LSB (2; .‘“"."".".fi"t*.'.."“'*.fi"'.Qt."fi!."t.""‘tfi."t'..Qt". é?‘) :"‘....."...'."."“'."'.*‘.fi*'fi‘*'*""'.'.fit'..'fi.fi.*"'.“.Q (M QP (1) (1) 005722 022737 000176 ;*ROUTINE IS ENTERED FROM THE TRAP HANDLER, AND WILL ;*SERVICE THE TEST FOR CHANGE IN SOFTWARE SWITCH REGISTER TRAP C(CALL ;*WHEN OPERATING IN TTY FLAG MODE. $CKSWR: (MP #SWREG, SWR :3IS THE SOFT=-SWR SELECTEC? (1) (1) (1) 005732 005736 005740 105777 100071 117746 173206 (1) (1) 005750 0CS754 022726 001062 000007 ( (]; QD] (1Y (1) (1) (1; ( ;*SOF TWARE SWITCH REGISTER CHANGE ROUTINE. 005730 042716 005756 005764 123727 021456 0C1134 104401 104401 006574 006601 005766 005772 (2) (1) 006002 006004 (1) (1) (1) g}; (1) E}g (;) (D (1) (1) (1) (1) 2;) 005776 013746 104402 104401 001140 SNE 173202 005744 (1) (1) (2) 0061074 177600 000176 006612 006010 006012 005046 005046 105777 100375 173124 006022 006026 117766 042716 173120 177600 006032 006036 021627 001005 000025 9%: 1044017 062706 000567 000006 20%: 021627 000015 '0%: Q06014 006020 006040 00604<, 006050 000757 19%: 7%: #‘CT??.(SP) ::STRIP=-0FF THE ASCII cMP BNE ¥7,(SP)+ 15% (MPR BEQ $GTSWR: ; :BRANCH IF NO a$TKS 15% a$TKB,-.SP) B8IC 000001 15% TSTR 8PL MOVB TYPE TYPE MOV TYPOl TYPE $SAUTOR,#1 15% .. CHAR THERE? ;2IF NO, DON'T WAIT AROUND :SAVE THE (HAR ;1S IT A CONTROL G? :INO, RETURN TO USER ;;ARE WE RUNNING IN AUTO-MODE” ; JBRANCH IF YES LSCNTIG . SMSWR ;;ECHO THE CONTROL=-G (*G) ::TYPE CURRENT CONTENTS L SMNEW ;:GO TYPE--OCTAL ASCIICALL JJPROMPT FOR NEW SWR a$TKS 7% ;i CHAR THERE? ::1F NOT TRY AGAIN SWREG,=-(SP) ;s SAVE SWREG FOR TYPEOQOUT CLR CLR -(SP) -(SP) MOVR BIC a$TKB,~(SP) #4C177,(SP) JIPICK UP (HAR JCMAKE IT 7-BIT ASCIl] (MP BNE (SP) ,A25 108 ;1S IT A CONTROL-U? ::BRANCH IF NOT 19¢% J:LET'S TRY IT AGAIN TSTR BPL TYPE ADD BR LSCONTLU #6,SP DIGITS) ;sCLEAR COUNTER ;s THE NEW SWR ;oYES, ECHU CONTROL-U (*U) ;1GNORE PREVIOUS INPUT ) [@P] (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) 006052 006056 006060 006064 006066 006074 006100 006104 006112 006114 006122 006124 001022 005766 001403 016677 062706 104401 123727 001003 012777 000002 004737 173044 001135 000001 000100 173022 006774 (SP) ., 415 ;1S 1T A <CR>? 11%: 14%: 16% 4 (SP) 11% Z(SP),QSHR #6,5P LSCRLF ;BRANCH IF NO JJYES, IS IT THE FIRST :JBRANCH IF YES ;:SAVE NEW SWR ;;CLEAR UP STACK ;2ECHO <CR> AND <LF> 15¢: MOV RT] #100,a87KS ;;RE-ENABLE : :RETURN 000004 000002 000006 001161 (MP BNE TST BEQ MOV ADD TYPE 16%: CMPR BNE JSR $INTAG, #1 15% PC,S8TYPE(C (HAR? :;RE-ENABLE TTY KBD INTERRUPTS? ;JBRANCH [F NOT . sECHO CHAR TTY KBD INTERRUPTS i Nl S N N 006130 006134 006136 006142 006144 006150 006154 006156 006160 006162 006164 006170 006174 006176 00620< 31-AUG-79 11:21 021627 002420 021627 003015 062726 005766 001403 006316 006316 006316 005266 056616 000707 104401 000720 30G(1063) 31-AUG=79 13:08 TTY INPUT ROUTINE 000060 CMP 000067 000060 000002 000002 17% 001160 18%: 177776 .DSABL INC BIS BR TYPE BR L[SB W 2(SP) S :KEEP COUNT OF CHAR 18% (SP) ,N67 (SP) (SP) (SP) =2(SP) . (SP) 7% ,$QUES 208 S NO, SHIFT PRESENT :> "CHAR OVER TO MAKE Y ROOM FOR NEW ONE. S:SET IN NEW CHAR SGET THE NEXT ONE JTYPE 2<CR><LT> **SIMULATE CONTROL=-U N ;*EHIS ROUTINE N N ;=CALL: RDCHR $RDCHR: MOV MOV TSTB 8PL MOVB e i v WILL INPUT A SINGLE RETURN HERE CHARACTER FROM THE ::INPUT A SINGLE TTY CHARACTER FROM THE *>CHARACTER IS ON THE STACK ;:WITY PARITY BIT STRIPPED OFF TTY N W N S tu o N s e e N N ".-‘*tttttttkttl'tttttttt*tittttfitttttttttttt!ttttltttttttttt‘ttttt N R N T N W #60, (SP) + 2(SP) 17% BGT ASL ASL ASL SEQ 0033 ::CHAR < 07 *:BRANCH IF YES ::CHAR > 7? S BRANCH IF YES S STRIP-OFF ASCII 221S THIS THE FIRST CHAR “BRANCH IF YES 18% BIC 18T BEQ H PAGE '6~1 (SP) , #60 BLT (MP N W N W e W R S W W W N W N W N R N W S W N B N B N Vo d—l__l_ad—l—l_JN—A-J_J—I—I-J—I—I—J—I—A—I_I_Q_I—J-J—J._)_J—J-—D_A_J_a—l__l..af\)—l—-l_l_l_)_‘..‘_‘_.l_‘—)@_l_}_—‘_—d—‘d CINCDB NCV11 CINCDB P11 EXERCISER MACY11 B N S N N S 105777 100375 117766 042766 N NP NP N e e S S 3 1646 16666 N 105777 100375 117746 042716 022627 N v 001366 000750 026627 002407 026627 003002 042766 0000C2 W N N e N 172720 000004 177600 000004 1%: 000004 000023 172672 % : 172666 177600 000140 000004 000175 000040 000004 3$: A 3$ *BRANCH IF NO B C<177>,4(SP) 4(SP) 423 TSTB @$TKS MOVB @$TKB,-(SP) CMP BNE (SP)+ ., 421 2% BNE BPL BR 2% #°C177,(SP) 1% CMP 4(SP) #1460 CMP 4L(SP) .#175 BLT BGT BIC RTI] A 4% #40,4 (SP) :-GET RID OF JUNK IF ANY SIS IT A CONTROL-S? SSWAIT FOR A CHARACTER 2:LOOP UNTIL S GET ITS THERE CHARACTER LIMAKE IT 7-BIT ASCI! SIS IT A CONTROL-Q? ::IF NOT DISCARD I7 $:YES, RESUME 23IS IT UPPER CASE? ;:BRANCH IF YES “31S IT A SPECIAL CHAR? *BRANCH IF YES SIMAKE IT UPPER CASE ;360 BACK TO USER e 000004 : :PUSH DOWN THE P( ::SAVE THE PS S:WAIT FOR * A CHARACTER S*READ THE TTY BIC CMP BIC 000021 (SP) ,~(SP) 4(SP),2(SP) @$TKS 1% a$TKB,4(SP) ""fitt*ttttiit*tfittfitt*fitt.ttt!tttit!tt"ifittttti’tttttttttt"'ttt :tg:1s ROUTINE WILL INPUT A STRING FROM THE TTY N N T e T o«CALL: L RDL IN ::INPUT A STRING FROM THE T J;TERMINATOR WILL BE A BYTE OF e N o RE TURN HERE 006324 006326 010346 005046 $RDL IN: MOV (LR R3,-(SP) -(SP) TTY > ADDRESS OF FIRST CHARACTER WILL BE ON THE STACK N Nt N e e D 000002 S T e T T N Tt B T W et T T N W e W N Y N W W N N 026627 001013 000004 ~72724 ;;SAVE R3 S:CLEAR THE RUBOUT KEY ALL 0°S CINCDB NCV11 EXERCISER MACY'1 CINCDB.P11 31-AUG=-79 11:21 (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) 006330 006334 006340 006342 006344 006346 006352 006354 006356 006360 006366 006372 006376 006400 006404 006406 006412 006416 006420 006422 0064246 006432 006436 006440 006444 (1) (1) (1) (1) (1) (1) 006446 006452 006454 006460 006462 006464 (1) (1) (1) (1) 006474 006476 006502 006504 (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) 006470 006510 006514 006520 006522 006526 006532 006534 006536 006540 006546 006554 006556 006557 006560 006567 006574 006601 006606 006612 006620 012703 022705 101456 104407 112613 122713 001022 005776 001007 112737 104401 012716 005303 020327 103434 111337 104401 000746 005716 001406 112737 1044071 005016 122713 001003 104401 000726 122713 001011 105013 104401 104401 000717 104401 000712 111337 104401 122723 001305 105063 104401 005726 012603 011646 016666 012766 000002 000 000 000007 1 043536 015 036440 020040 020075 306(1063) TTY 13:08 INPUT ROUTINE 1%: 006560 006567 ¥ e 000177 000134 006556 177777 31-AUG=79 10%: MOV CMP BLOS RDCHR MOVR I 16-2 #STTYIN,R3 2§T7Y1N47,R3 (SP)+,(R3) #177,(R3) 5% (SP) 6% 6%: 4% (R3),9% $ 5%: 000134 006556 006556 000025 7%: SLASH ;:SET THE RUBOUT KEY ;. :BACKUP BY ONE ::STACK EMPTY? ;:BR IF YES ;:SETUP TO TYPEOUT THE DELETED (HAR. ;.60 TYPE ;G0 READ ANOTHER (HAR. ::RUBOUT KEY SET? ;:BR IF NO ;:TYPE A BACK SLASH ;:G0 START OVER ;:1S CHARACTER A 'TMR'"TM . sBRANCH IF NO ;;CLEAR THE CHARACTER 8%: ;:TYPE A "CR' & "LF'" 001161 006560 ;. TYPE 001160 4% 006556 006556 000015 3%: THE INPUT STRING ;G0 PICKUP ANOTHER CHACTER ;:TYPE A #15,(R3)+ J;CHECK FOR RETURN + (SP) ;;TYPE A LINE FEED ;:CLEAN RUBQUT KEY FROM THE STACK ;;LO0P IF NOT RETURN 2% -1(R3) .SLF ;:CLEAR RETURN (THE 15) (SP)+,R3 (SP) ,~(SP) 000002 000004 000012 000 051127 SCNTLU: $CNTLG: SMSWR: LASCIZ .ASCIZ 020127 SMNEW: LASCIZ LASCIZ ::RESTORE R3 ;;ADJUST THE STACK AND PUT ADDRESS OF 4(SP) ,2(SP) 1 0 0 7 . sRETURN ;:STORAGE FOR ASCII CHAR. . s TERMINATOR /2U/<15><12> /26/<15><12> ;.CONTROL 'V’ ;JCONTROL ''G"’ HSTTYIN,4 (SP) 9%: ' ::CLEAR THE BUFFER AND LOOP ;.ECHO THE CHARAC(CTER .9% 177777 001162 000 A BACK J;TYPE A CONTROL ‘\1° 000022 006525 005015 051412 000040 042516 IF NO ;s CLEAR THE RUBOUT KEY ;1S CHARACTER A CTRL U” ;:BR IF NO 006567 000004 006560 ;:GET ADDRESS ;;BUFFER FULL? .:BR ]F YES ;260 READ ONE CHARACTER FROM THE TTY ;sGET CHARACTER ;:1S IT A RUBOUT ;;BR ]IF NO ;2 IS THIS THE FIRST RUBOUT? J2TYPE R3 R3,ASTTYIN 006556 006556 SEQ 0034 .:BR #'\,9% ,9% #-1,(SP) 006556 006560 PAGE <15><12>/SWR = / / NEW = / FIRST ASCI] CHARACTER ON TO TYPE :;RESERVE 7 BYTES FOR TTY INPUT IT THE CINCDB NCV11 EXERCISER MACY11 CINCDB.P11 31-AUG=79 11:21 eD) 30G(1063) 006624 880 31-AUG-79 13:08 TTY INPUT ROUTINE J_ 3 PAGE 16-3 SEQ 0035 EVEN 2 1283323222322 223 222222223232 8§} "SBTTL ( 2) R gy g S s ES S 2 R TYPE ROUTINE AR A RN R A R R AR RN AR A RN A AN AR RRARRANRRRRNRAARRRNANNRRAARNANARAN AR RARAN ) Q) *ROUTINE TO TYPE ASCIZ MESSAGE. MESSAGE MUST TERMINATE WITH A O BYTE. *THE ROUTINE WILL INSERT A NUMBER OF NULL CHARACTERS AFTER A LINE FEED. QD) (}; ;=NOTE2: ;=NOTE3: ) ;*NOTE1: ( ( M (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) M (1) (1) (1) (1) g}; ;s*=CALL: *1) USING A TRAP INSTRUCTION * TYPE .ME SADR ,tOR M TYPE M MESADR 006624 006630 006632 006634 006636 006640 006644 006646 006650 006652 006654 006660 006662 105737 100002 000000 000407 010046 017600 112046 $TYPE: 1%: 000002 2%: $TPFLG 1% 3% RO,-(SF) ;:1S THERE A TERMINAL? ;:BR IF YES ;;HALT HERE IF NO TERMINAL ;s LEAVE ;s SAVE RO 48 (SP)+ (SP)+ RO #2,(SP) J:BR IF IT ISN'T THE TERMINATOR ;o IF TERMINATOR POP IT OFF THE STACK ;RESTORF RO ;sADJUST RETURN P( #HT, (SP) MOV MOVB (GO0002 60%: 3%: BNE TST MOV ADD 122716 000011 4(%: CMPS 000002 001430 122716 001006 005726 104401 001161 105037 000755 004737 123726 001350 013746 006730 006734 006736 006742 105366 002770 004737 105337 000770 000200 007040 006774 001156 5%: 6%: 001154 000001 7%: 006774 007040 112716 004737 132737 000040 006774 000007 BEQ CMPB BNE TST TYPE $CRLF CLRB B8R JSR CMPB BNE MOV DE(CB BLT JSR DECB B8R 007040 8%: 9% @2(SP) ,R0O (ROs+,=-(SP) RTI JHORIZONTAL 006750 006754 006760 . JMESADR IS FIRST ADDRESS OF AN AS(CIZ STRING TSITR 8PL HALT BR MOV 001005 005726 012600 062716 006666 006670 006674 006676 006700 006702 006704 006710 006712 006716 006722 006726 006746 3 001157 g}; (1) (1) (1) $FILLS CONTAINS THE NUMBER OF FILLER CHARACTERS REQUIRED. $FILLC CONTAINS THE CHARACTER TO FILL AFTER. M e) 1) (}) P 1) QP (1) (1) (1) (1) (1) $NULL CONTAINS THE CHARACTER TO BE USED AS THE FILLER CHARAC(CTER. MOVB JSR BITB 8% #CRLF, (SP) 5% (SP) + ;cGET ADDRESS OF ASCIZ STRING ;.PUSH CHARACTER TO BE TYPED ONTO STACK ; JRETURN :BRANCH IF <HT> ;sBRANCH IF NOT <CRLF> ;:POP <CR><LF> EQUIV ;o.TYPE A CR AND LF $CHARCNT 2% PC,$TYPEC $FILLC, (SP)+ ;. CLEAR CHARACTER COUNT ;oGET NEXT CHARACTER ;:GO TYPE THIS CHARACTER ;IS 1T TIME FOR FILLER CHARS.? $NULL ,-(SP) ;:GET # OF FILLER CHARS. NEEDED 2% 1(SP) 6% PC,$TYPEC $CHARCNT 7% ;21F NO GO GET NEXT CHAR. ;:AND THE NULL CHAR. ;:DOES A NULL NEED TO BE TYPED? ;;BR IF NO=--GO POP THE NULL OFF OF 2260 TYPE A NULL ;:D0 NOT COUNT AS A COUNT ;;LOOP TAB PROCESSOR #' ,(SP) PC,STYPE( #7 ,$CHARCNT ;;REPLACE TAB WITH SPACE ;. TYPE A SPACE ;cBRANCH IF NOT AT STA(CK — NCV11 EXERCISER MACY11 30G(1063) 31-AUG=79 13:08 TYPE ROUTINE CINCDB.P11 31-AUG=-79 11:21 006766 006770 006772 006774 007000 007002 007010 007016 007020 007042 001372 005726 000724 105777 100375 116677 122766 001003 105037 0004 06 122766 001402 105227 000000 000207 BNE TST BR $TYPEC: TSTB 172150 000002 000G15 007040 000012 000002 1%: (MPB INCB $CHARCNT : . WORD $TYPEX: RTS e ’% a$TPS $TYPEC SEQ 0036 J:WAIT UNTIL PRINTER IS READY #CR,2(SP) 1% $CHARCNT $TYPEX HLF,2(SP) $TYPEX (PC)+ 0 PC 20 3 ;. TAB STOP ;.20P SPACE OFF STA(CK ;;GET NEXT CHARACTER 9% (SP)+ t3322333282222080 "SBTTL e PAGE 16-4 2(SP) ,a%7PB 172142 000002 2 N) — NN — ) NN TN TN N TN PN D d nd D e D D N TN o D 2% vvvvvvvvvvvvvvwvvvvvvvvVvvvvvvvv\,vvvvvw'\)vvvvvvvvvvvvvvvv NN N PN d rd cand md o d CINCDB K 2R2RR :LOAD CHAR TO BE TYPED INTO DATA REG. 1S CHARACTER A CARRIAGE RETURN? ;3 . :BRANCH IF NO ::EE?;-CLEAR CHARACTER COUNT J EX ;3 1S CHARACTER A LINE FEED? ;sBRANCH IF YES ;JCOUNT THE CHARACTER . ;CHARACTER COUNT STORAGE AR RRRdtRRRRRRRRRtRERtRRRtRRR Rl S BINARY TO OCTAL (ASCII) AND TYPE L ;:t*ttttfik*itttt!tfit*fitt*ttt***tttttttttttttttttfl*tttttttttttttt* o T h R ;*THIS ROUTINE IS USED TO CHANGE A 16-BIT BINARY NUMBER TO A 6-DIGIT ;*OCTAL (ASCII) NUMBER AND TYPE IT. d ;*$TYPOS~~-ENTER HERE TO SETUP SUPPRESS ZEROS AND NUMBER OF e ta ta Ve e ad d ) ;*CALL: i oD ey ) o M o TYPOS .BYTE .BYTE NUM, ~(SP) ::M=1 d e TO 6 FOR NUMBER OF DIGITS TO TYPE OR O ::1=TYPE LEADING ZEROS ::0=SUPPRESS LEADING ZEROS :t eyt e ta JJNUMBER TO BE TYPED ;3CALL FOR TYPEOUT J:N=1 N M ;t bR4 e d D ;*$TYPON-~--ENTER HERE ;*$TYPOS OR $TYPOC D e ta e tlea ;«CALL: e o d e b MOV TYPON TO TYPE OUT WITH THL SAME PARAMETERS AS THE LAST - (SP) NUM, - % s sNUMBER TO BE TYPED 2;CALL FOR TYPEOUT el et D :*$TYPOC---ENTER HERE FOR TYPEOUT OF A 16 BIT NUMBER md ed b ;*CALL: ot MOV , - (SP) NUM ; JNUMBER 10 BE TYPED ;;CALL FOR TYPEOUT $TYPOS: MOV MOVB MOVRB a(SP) ,=(SP) 1(SP) ,$0FILL (SP)+_,$0MODE+1 #2,(SP) $TYPON #,80FILL #6, SOMODE +1 #5,80CNT ;.PICKUP THE MODE R4 ,-(SP) R5,-(SP) 5 sSAVE R4 ::SAVE RS J% e Ya b d i e d b o b el el el atat ey e teateatea el e md md d d e e D d P Y MOV DIGITS TO TYPE 007044 007050 007056 007062 000000 000001 007271 000002 007070 007076 007104 007112 007114 007116 007120 007124 007126 000001 000006 000005 007271 000006 007267 TYPOC ADD 007267 007271 007266 B8R $TYPOC: MOVB MOVB $TYPON: MOVB MOV MOV MOV MOVB NEG ADD R3,~-(SP) :QMODE*T,RL #6,R4 ;:LOAD ZERO FILL SWITCH . ;NUMBER OF DIGITS TO TYPE ;;ADJUST RETURN ADDRESS J:SET THE ZERO FILL SWITCH ;:SET FOR SIX(6) DIGITS ;oSET THE ITERATION COUNT ::SAVE R3 - ;sGFT THE NUMBER OF DIGITS TO TYPE JISUBTRACT IT FOR MAX. ALLOWED L 3 CINCDB NCV11 EXERCISER MACY11 306(1063) 31-AUG-79 13:08 PAGE 16-5 BINARY TO OCTAL (ASCI1) AND TYPE CINCDB.P1 31<AUG=79 11:21 007132 007136 007142 110437 113704 016605 (1) (1) (1) (1) (1) (1) (1) (1) 007146 007150 007152 007154 0072156 007160 007162 007164 005003 006105 000404 006105 006105 006105 010503 006103 (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (}; 007172 007174 007200 007202 007204 007206 007210 007214 007220 0072246 007230 007234 007236 007240 007242 007244 007246 007250 007252 007260 5¢ 007264 007265 007266 100016 042703 001002 005704 001403 005204 052703 052703 110337 104401 105337 003347 002402 005204 000744 012605 012604 012603 016666 012616 000002 000 00 00¢ 000 000000 (1) 007270 105337 R4, $OMODE R4 $OFILL 12(SP) RS MovB MOVB MOV CLR 1%: ;.G0 DO MSB ;;FORM THIS DIGIT BR ROL ROL ROL MOV ROL 3%: 007270 . ;ROTATE MSB INTO '°C"' ROL 2%: ;;GET LSB OF THIS DIGIT ;. TYPE DECB BIC BNE ;:TEST FOR O ::SUPPRESS THIS 0? TST 000060 000040 007264 007264 007266 5%: TYPE 7%: DECB BGT BLT INC B8R 6%: 000002 ;:BR IF YES BEQ INC BIS BIS Movs 4%: MOV MOV MOV MoV MOV RTI 000004 8%: $OCNT: $OFILL: : $OMODE THIS DIGIT? ;:BR IF NO ;:GET RID OF JUNK BPL 177770 s.SAVE IT FOR USE ;oGET THE ZERO FILL SWITCH ;.PICKUP THE INPUT NUMBER ;:CLEAR THE OUTPUT WORD (SP)+,RS (SP)+,R4 (SP)+,R3 2(SP) ,4(SP) (SP)+,(SP) .BYTE .BYTE .BYTE .BYTE .WORD ;;DON'T SUPPRESS ANYMORE 0°'S JJMAKE THIS DIGIT ASCII ;JMAKE ASCII IF NOT ALREADY :2SAVE FOR TYPING ;:G0 TYPE THIS DIGIT ::COUNT BY 1 ::BR IF MORE TO DO ;:BR IF CONE ;s INSURE LAST DIGIT ISN'T A BLANK ;:GO0 DO THE LAST DIGIT :;RESTORE R5 ;sRESTORE R4 ;:RESTORE R3 ;:SET THE STACK FOR RETURNING ;JRETURN ;STORAGE FOR ASCII DIGIT ;:TERMINATOR FOR TYPE ROUTINE ;:OCTAL DIGIT COUNTER ;. ZERO FILL SWITCH ;sNUMBER OF DIGITS TO TYPE ’:it*titt*t**tttfiitttttttti*ttttitttttttititittttitt*tti**ttttttt J*THE :! INPUT CHARACTERS WILL BE (ASCII) NUMBER FROM THE TTY AND CHECKED TO INSURED THEY ARE LEGAL ;*OCTAL DIGITS. IF AN ILLEGAL CHARACTER IS READ A '*2'' WILL BE TYPED ;*FOLLOWED BY A CARRIAGE RETURN-LINE FEED. THE COMPLETE NUMBER MUST ;*THEN BE RETYPED. THE INPUT IS TERMINATED BY TYPING A CARRIAGE RETURN. WA SN PN PN P N NN PN N SN N s*THIS ROUTINE WILL READ AN OCTAL ;*CHANGE [T TO BINARY. AT AL A PN N AT AL NN AT A A ::ttttt*tttttttttttttttt*tt*ttttttt*tttttt*ttifitittiiitttfittttttt A REAMN AN OCTAL NUMBER FROM THE TTY b d ed md ek =D ek d ) A, "SBTTL AN =D =D b od b N BE ( M) 1 1) QP) &D) ) P @D (1) 007166 007270 007267 000012 QOOOO (1) (1) (1) SEQ 0037 ;*CALL: ;t RDOCT RETURN HERE ] . 007272 007274 007302 011646 016666 010046 000004 000002 $RDOCT: MOV MOV MOV (SP) ,=-(SP) 4(SP) ,2(SP) RO,-(SP) ;cREAD AN OCTAL NUMBER ;.LOW ORDER BITS ARE ON TOP OF THE STACK ;.HIGH ORDER BITS ARE IN SHIC(T ;.PROVIDE SPACE FOR THE 22 INPUT NUMBER ;;PUSH RO ON STACK N ~ ¥ N Nt EXERCISER MACY11 31-AUG=79 1M:21 010146 010246 31-AUG-79 007420 N W N 000067 N N W N N Wan W N W N R X N N N Ve T N N N b Vel e N N N N N N 3%: Nl N N N A ¥ 001160 N Nt N e N MOV CLR CLR (SP)+,R0 RO,5% R1 R2 ;JAND SAVE IT ;:CLEAR DATA WORD BEQ CMPB BGT (MPB 3s #'0,(SP) 4% R'7,(SP) MOVB ROL ASL ROL 8IC ADD* 177770 Y el el el e le Y el et - ed d edd ed D e (NNWN—= P Y ;:PUSH R1 ON STACK 000000 5%: $HIOCT: B8R TST MOV MOV MOV MOV MOV RTI TST CLRB TYPE R2,-(SP) ;JPICKUP THIS CHARACTER 4% R1 R? 1ol RZ R1 R2 #~C7,(SP) (SP)+ R1 2% (SP)+ R1,12(SP) R2,$HIOCT (SP)+ ,R2 (:P)+,R1 (SP)+,R0 (SP) + (RO) .WORD 0 BR WORD 1% TYPE JsPUSH RZ2 ON STACK ;sREAD AN ASCIZ LINE ;:GET ADDRESS OfF 1ST (HARAC(CTER (RO)+,=-(SP) R1 SEQ 0038 TTY R1,=-(SP) MOV RDLIN MOV ASL 000012 007430 M PAGE 16-6 MOV BLT ASL ROL W N N T St Nkl N N R o W 2%: 000060 13:08 READ AN OCTAL NUMBER FROM THE 1%: 104410 012600 010037 30G(1063) o b bbb e e md Db d D D D b md b b W N e ] —~ D D DN W CINCDB NCV11 CINCDB P11 ;;1F ZERO GET OUT ;JMAKE SURE THIS CHARACTER ;1S AN OCTAL DIGIT Joxb ;o*8 ;2STRIP THE ASCI] JUNK ;ADD IN THIS DIGIT ;. LOOP ;3CLEAN TERMINATOR FROM STA(K ;:SAVE THE RESULT ;:POP STACK INTO R? ;2POP STACK INTO R1 ;;POP STACK INTO RO : RETURN ;:CLEAN PARTIAL FROM STACK ;2SET A TERMINATOR ;:;TYPE UP THRU THE BAD CHAR. LSQUES JJUVUCRYT R OCLFY O ;sHIGH ORDER BITS GO HERE ::TRY AGAIN CINCDB NCV11 EXERCISER MACY11 30G(1063) CZNCDB.P11 21 31-AUG-79 11: 887 % N 3 S 3233230222220 2 2222233233382 0d 2230202 TRAP DECODER 3028080238 2008822022323 SEQ 0039 RRRRRRR 0 A RRRRRSRRRRRR 22830888802028 0 SRR RRRRRRRdRRdERd] THE ‘'‘TRAP'' INSTRUCTION A J*AND USE IT TO INDEX THROUGH THE TRAP TABLE FOR THE STARTING ADDRESS A b ;*OF THE DESIRED ROUTINE. ;*GO TO THAT ROUTINE. i g A YA AT AT A FA A Db e PAGE 17 ;*THIS ROUTINE WILL PICKUP THE LOWER BYTE OF 007432 007434 007440 007442 007444 007446 007452 010046 016600 005740 111000 006300 016000 000200 $TRAP: 000002 007466 MOV THEN USING THE ADDRESS OBTAINED IT WILL RO,-(SP) MOV TST MOVB ASL MoV RTS 2(SP) ,RO -(RO) (RO ,RO RO $TRPAD (RO) ,RO RO ;2 :SAVE RO ;:;GET TRAP ADDRESS ; sBACKUP BY 2 ;;GET RIGHT BYTE OF TRAP ;;POSITION FOR INDEXING ;> INDEX TO TABLE ;.60 TO ROUTINE ;.THIS IS USE TO HANDLE THE ''GETPRI'' MACRO 007454 007456 007464 011646 016666 000002 WWWWW S A YA A NN PN TN PN A D A A NN PN A b b 13:08 READ AN OCTAL NUMBER FRCM THE TTY "SBTTL ) N PN PN PN PN TN b ed Db N PN PN PN PN PN PN TN 31-AUG=79 A N N N W MOV MOV (SP) ,=(SP) 4(SP),2(SP) RTI 2 ;MOVE . JMOVE THE PC DOWN THE PSW DOWN :JRESTORE THE PSW TRAP TABLE ;*THIS TABLE CONTAINS ; ROUTINE THE STARTING ADDRESSES OF $TRPAD: .WORD $TRAP2 THE ROUTINES CALLED 007466 007470 007472 007474 007476 007454 006624 007070 007044 007104 007500 005772 $GTSWR ::CALL=GTSWR TRAP+5(104405) 007502 007504 007506 007510 005722 006204 006324 007272 $CKSWR $SRDCHR SROLIN $RDOCT ::CALL=CKSWR - :CALL=RDCHR ::CALL=RDLIN - +CALL=RDOCT TRAP+6(104406) TEST FOR CHANGE IN SOF T-SWR TRAP+7(104407) TTY TYPEIN CHARACTER ROUT INE TRAP+10(104410) TTY TYPEIN STRING ROUTINE TRAP+11(104411) READ AN OCTAL NUMBER FROM TTY $TYPE $TYPOC $TYPOS $TYPON ;:CALL=TYPE ::CALL=TYPOC ‘RAP+1(104401) TRAP+2(104402) TTY TYPEOUT ROUTINE TYPE OCTAL NUMBER (WITH LEADING ZEROS) :-CALL=TYPON TRAP+4(104404) TYPE OCTAL NUMBER - -CALL=TYPOS TRAP+3(104403) TYPE OCTAL NUMBER (NO LEADING ZEROS) (AS PER LAST CALL) GET SOFT-SWR SETTING ~ M N o N e S W Pa Ve Wa W Yt $TRAPZ: ;*BY THE ''TRAP'' INSTRUCTION. N PN TN PN S Want NN =N —= (NNN NN 000002 .SBTTL (3) e 000004 (3 (3) CINCDB NCV11 EXERCISER MACY11 30G(1063) 31-AUuG-79 CINCDB.P1M 31-AUG-79 11:21 TRAP TABLE N N P N N N W N W N T N T o T S T N W N N N S W N SEQ 0040 R A PR RN RN RN AN R NN RN RN RN RN RN NR NN RN AR RN AR RN RS 010637 012737 000000 000776 007656 000340 000024 000026 171372 007662 007564 000024 . POWER DOWN ROUTINE $PWRDN: MOV MoV MOV MoV MOV MOV MOV MOV MOV MOV MOV HALT BR ASILLUP,#PWRVEC ;;SET FOR FAST UP #340,34PWRVEC+2 ;;PRIO:7 RO,~(SP) ;:PUSH RO ON STA(CK R1,-(SP) ;:PUSH R1 ON STACK RZ,=(SP) ;PUSH R2 ON STA(K R3,-(SP) ;;PUSH R3 ON STA(K R4 ,-(SP) ;.PUSH R4 ON STA(CK R5,=(SP) :;PUSH RS ON STA(CK aSWR, - (SP) s ;PUSH aSWR ON STA(K SP,$SAVR6 ;. SAVE SP H#SPWRUP ,#PWRVEC ;;SET UP VECTOR =2 ;JHANG UP N N 007546 007552 007560 007562 012737 012737 010046 010146 010246 010346 010446 010546 017746 W N i Tl N N N N G N N M T N T N W N W v N el N e T Nl N N N N W N W N W N W N 007512 007520 007526 007530 007532 007534 007536 007540 007542 AR b d e ed D d b e e D (AN NINWIWININ = = w2 e e N B POWER DOWN AND UP ROUTINES *POWER UP ROUTINE Nt N P AR AR AN AN AR RN AN PAGE 18 .'."tt!t'tt'ttt'it't.t'flfifi*fittt't'i'k!tttttt*tttfl'tfittt'tt‘ ARNRERRR e — AN .SBTTL DN\ 2 =Dl 3 2 NININININNN = = 2N 890 86° 13:08 007564 007572 007576 007602 007606 007610 007614 007616 012737 013706 005037 005237 001375 012677 012605 012604 007624 007626 007630 012601 012600 012737 007620 007622 007636 007644 007646 007650 007652 007654 007656 007660 007662 007656 007662 007662 007662 000024 171324 012603 012602 012737 104401 010056 012716 001562 000002 000000 000776 00000C T AR AT AN AR RAANANANARANANAAANAAAAARAARARANRARRA RN A A AN AR AR AR AR AN AN $PWRUP: MOV MOV CLR 1%: INC BNE MOV MOV MOV MOV MOV 007512 000340 MOV MOV MOV 000024 000026 MOV $PWRMG: $PWRAD: $ILLUP: $SAVR6: TYPE .WORD MOV .WORD RTI HALT BR 0 HSILLUP,#PWRVEC .. SET FOR FAST DOWN $SAVR6, SP ;.GET SP $SAVR6 JJWAIT LOOP FOR THE TTY $SAVRE J;WAIT FOR THE INC 1% ;;0F WORD (SP)+,aSWR ;;POP STACK INTO a@SWR (SP)+,R5 ;;POP STACK INTO RS (SP) + R4 ;.POP STACK INTO R4 (SP)+,R3 (SP)+,R2 ;.POP STACK INTO R3 ;.POP STACK INTO R2 (SP)+,R1 ;:POP STACK INTO R1 (SP)+,R0 JPOP STACK INTO RO #SPWRDN, WPWRVEC :;SET UP THE POWER DOWN VE(TOR #340,@4PWRVEC+2 ; :PRIO:7 PWRMSG (PC)+,(SP) STARTI =2 ;;REPORT THE POWER FAILURE ;. POWER FAIL MESSAGE POINTER ;RESTART AT START1 ;JRESTART ADDRESS ;. THE POWER UP SEQUENCE WAS STARTED ;; BEFORE THE POWER DOWN WAS (OMPLETE ;;PUT THE SP HERE CINCDB NCV11 CZNCDB P 893 894 895 896 867 898 EXERCISER MACY11 31-AUG=79 11:21 912 13:08 PAGE DISPLAY MESSAGES & C 18-1 SEQ 0041 SBTTL DISPLAY MESSAGES ;THIS IS THE MESSAGE FOR THE BOTTOM OF THE SCOPE 042527 062522 020104 WwD001: .ASCIZ <15><12>/LOWER THRESHOLD / 020040 042520 042522 020104 055012 052116 052101 047503 000 055040 020040 020122 044123 000 041440 000075 044522 047125 wD002: _ASCIZ / WwD003: _ASCIZ <15><12>/7 COUNT=/ wD004: .ASCIZ / MATRIX 047517 wp00S: .ASCIZ / 043455 000 041412 020101 046501 wD006: .AS{IZ / 8-GAMMA/ 046501 020043 WwD007: L.ASCII <15><12>/CAMERA # / 010023 010030 010036 020040 044440 020040 02010¢ 020040 020123 020040 051511 CAMOUT: .BYTE ASCIT 40 /7 PBUP : LASCII /UP 010053 000120 JBUF: LASCIZ /UP/ .SBTTL ASCII MESSAGES 051505 042105 051105 051105 052514 PWRMSG: .ASCIZ <15><12><12>/RESTARTED AFTER POWER FAILURE 047132 020040 030461 MSG1: LASCIZ <15><12><12>/CINCDB MSG2: LASCIZ <15><12>/ENTER MSG3: LASCIZ <15><12>/BUS TIMEOUT ERROR - NO VSVO1 005015 020122 044123 000 040 050125 044124 046117 015 052517 046440 020130 036524 040 000115 041040 040515 010044 010052 911 31-AUG=79 047514 044124 046117 007664 007672 007700 007706 007707 007714 007722 007730 007735 007742 007750 007756 007764 007767 007774 007776 010004 010007 010014 010022 910 30G(1063) 010056 010064 010072 010100 010106 010114 010120 010126 010134 010142 010150 010156 010161 010166 010174 010202 010210 010216 010224 010232 010240 010242 010250 010256 010264 051012 052122 052106 053517 051511 020040 015 051105 051505 053040 044440 040524 044124 052105 000075 005015 044524 020124 020122 044501 000040 041412 020102 026526 042530 051105 000 042412 052040 UPPER THRESHOLD / COUNT-/ ZoOM/ P8 IS / JB IS / NCV=-11 EXERCISFR THRESHOLD VALUE / / [N OCTAL - THEN RETURN -/ 047510 046101 020116 020114 047105 051125 052502 042515 051105 020055 DISPLAY DETECTED / 31-AUG=79 CZNCDB (ZNCDB P11 913 914 915 010272 010300 01030¢ 010314 010322 010324 010332 010340 010346 010354 010362 010370 010376 010400 010406 010414 010422 010430 010434 010442 010450 010456 010464 010472 010500 916 917 010506 010514 010520 010526 010534 010542 010550 010555 010562 010570 010576 010604 010612 010620 010626 010634 053049 042040 054501 041505 000040 005015 020122 046117 020123 051505 044124 052105 000075 005015 044524 020124 020122 030526 005015 021040 051117 13:08 PAGE D_4 18-2 ASCI] MESSAGES 042526 051516 052502 051104 020055 051040 020116 MSG4: LASCIZ <15><12>/ENTER (ONSOLE BUS ADDRESS = THEN RETURN 020123 052517 047522 041516 MSGS: LASCIZ <15><12>/BUS 042520 043040 046105 047506 042524 061137 0461440 042116 MSG6: LASCIZ <15><12>/TYPE 062524 042515 066525 026460 000 052116 047117 053040 020122 051505 044124 052105 000075 MSG7: LASCIZ <15><12>/ENTER CAMERA NUMBER 0-3 MSGS8: LASCIZ <15><12>/ENTER CONSOLE DASH: HELPO: LASCIZ LASCII / =/ <15><12>/MD-11-CINCD-B NCV11 SEQ 0042 030460 046120 052105 020104 051125 052502 042515 051105 020055 000061 054524 021110 044040 047111 047105 042513 042122 040515 000051 047105 040503 047040 020122 020077 042412 041440 042514 047524 051104 020055 051040 020116 000040 042115 055103 030455 041516 041516 054105 042523 TIMEOUT ERROR - N(V11/ 'H'' FOR HELP INFO 020040 046120 052101 LASCII /D DISPLAY DATA/<15><12> 921 020040 051501 050117 LASCI] /E ERASE 020040 LASCII /1 GET LOWER 020040 ENTER KEYBOARD ? COMMAND(S)/ / VECTOR ADDRESS - 920 922 / THEN RETURN -/ EXERCISER/<15><12><12> SCOPE/<15><12> THRESHOLD/<15><12> (INCDB NCVY CINCDB P11 EXERCISER MACY11 31-AUG=79 11:21 010760 010766 010774 125 923 020040 050125 044124 046117 94 D D e S b D N—‘?\I\l ONSON— FEIE P a¥ o ¥ S XWNIVE) &~ l‘:‘\ W NN o e b d e e D D OO d Y d o e I e D —d D e e N R b —d o e e b md ) s P B b amd e e d b b R D nd b d b T O e T b e b e b b d d N O - s — 933 —_ 932 N S N 951 b ed e s e 930 D 929 020040 040514 052117 006502 127 020040 052103 b 928 102 b 927 020040 040514 052117 006501 b 926 NI S b g\h\hl\ rNN-J—'O\I\Ig OSSNSOV 101 (@] ololololololeleololelolaslolelolalololalelolololeololelolelolalololalololalolololololale] 925 02¢040 047514 0446124 046117 020040 042507 051105 30G(1063) 042507 042527 042522 006504 020040 042507 042529 042522 006504 020040 044504 020131 050117 020124 020122 044123 012 020040 020124 02012¢ 044123 012 020040 050123 051511 020105 020040 044504 020131 050117 012 020040 042523 043040 041040 050101 020040 046105 042523 041040 050101 020040 042522 020116 005015 020040 054517 020113 027102 020040 051511 044440 044523 051505 020116 041440 052103 042040 012 020040 047503 020124 042040 012 020040 044103 041440 020101 012 31-AUG=-79 ASCI] 13: 08 MESSAGFS PAGE & E_ 18-3 SEQ 0043 LASCII /U GET UPPER THRESHOLD/<15><12> LASCI! /A DISPLAY ISOTOPE A/<15><12> 020040 050123 05151 020105 LASCII /B DISPLAY 020040 042514 051111 052111 005G15 020040 041505 047503 052111 005015 020040 020105 047515 LASCII /W SELECT FIRST BIT MAP/<15><12> LASCII /M SELECT SECOND BIT MAP/<15><12> LASCII /F FREE RUN MODE/<15><12> 020040 052123 040503 005015 020040 046120 052116 054524 000124 020040 046117 047040 052101 LASCII /o JOYSTICK CALIB./<15><12> LASC12 /T DISPLAY LASCII <15><12>/N 020040 046114 047515 052101 LASCI] /C COl LECT MORE DATA/<15><12> 020040 047101 046501 044103 LASCII /X C(HANGE CAMERA (HANNEL/<15><12> HELP1: ISOTOPE B/<15><12> INTENSITY TEST/ COLLECT NEW DATA/<15><12> NCV11 (ZNCDB L1 CZNCDB 938 RRRRE 939 s s S S 837 nr S G 936 Suurur Ganr 935 olelololalslolololele] 934 011452 011460 011461 011466 011474 011502 01"510 EXERCISER MACY1T 31-AUG~79 11:21 047101 012 123 020040 0461440 052103 30G(1063) 31-AUG=79 13:08 ASCIT MESSAGES F 4 PAGE 18-4 SEQ 0044 042516 006514 020040 052123 046117 04751 020040 050117 042514 006516 LASCII /S STOP COLLECTION/<15><12> 020040 047111 055111 020040 052111 006505 LASCLI /G INITILIZE/<15><12> 020040 020040 046517 006516 LASCII /7 Z00M GAIN/<15><12» 020040 042522 02012¢ 005015 020040 044124 047117 052040 040516 020040 052507 040507 LASCII /R REGULAR GAIN/<15><12> 020040 051105 047523 051105 006514 LASCI] /0 OTHER CONSOLE TERMINAL/<15><12> 020040 050114 047440 047524 020104 052101 020123 ASCII /H HELP THE .BYTE 15,12.0 047532 044501 020040 042510 042510 040522 047101 042520 044510 052123 012 000 BCRLF: OPERATOR AND REPEAT ;LOC. 20000 THRU 57776 ARE BUFTER AREA .END THIS LIST/ CINCDB NCV11 EXERCISER MACY11 CINCDB.P11 31-AUG-79 11:1 ABASE = 172760 AWRIT 005342 DASH DCONT DDISP DISBG DISLOP DISPLA DISPRE DISPY DiSPY2 DMATRX DSWR = DUMMY1 puMMy? EMTVEC- 010634 005072 177570 004462 003420 001142 000174 005060 005122 003376 177570 001246 001250 RN G 13:08 PAGE 19 31-AUG=79 CROSS REFERENCE TABLE == USFR SYMBOLS 32 519 9404 50 546 630 689 320 629 370 51 550 52 568 53 572 344 £96 525 638 277 322 176 2124 363 521 688 223 241 270 614 7304 AN 523 567+ 54 8084 SEG 0045 55 56 57 R A e R e R N~ QON == 304 315 327 337 367 37274 694 603 610 618 621 544+ 569 551 566+ 573 » 000004 000010 000020 000040 000100 000200 000400 001000 002034 003144 000014 001300 010022 003122 001306 104406 001276 001310 000015 000200 s %§ BIT2 = BIT3 BIT4 BITS BIT6 BIT7 = BIT8 BIT9 BOOBOO BOX BPTVEC= CAMERA CAMOUT CHANGE CHARCT CKSWR = COMSAV CPERL CR = CRLF = BIT13 = 020000 81714 = 040000 BIT1S = 100000 00w D000 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 rowV =P = = = = = = = = = = = = = = S3Egmua ‘kgh BITOO BITO1 BIT02 BITO3 BITO4 BITOS BITO6 BITO7 BITO8 BIT09 BIT1 81710 BIT11 BIT12 2 2 D D DDA D A e B R i BCRLF 011716 BELLEN 001322 = 000001 BITO 30G(1063) 114 1% 549 394 114 6294 428+ 695+ 456 9184 607 102 LL4LN 508 18# 390 642 408 742 val INAY 114 734 744 114 102 522+ 547 72084 H CINCDB 4 NCV11 EXERCISER MACY'1 30G(1063) 31-AUG-79 13:08 PAGE 19-1 CINCDB.P1T CROSS REFERENCE TABLE == USER SYMBOLS 31-AUG=79 11:21 ERASE 005020 ERRVEC= Q00004 FREERN GAIN GNS 001316 R 001302 222 22 GTSWR = 104405 HELPO 010640 HELPT 071336 HT = 000011 INTLUT 001252 I0TVEC= 000020 JBUP 010053 KBINT KBUFF LARGES LDIMGE LF = LISEN LISN 005220 001266 003216 005152 000012 001656 001702 MAPADR MAPLD MATRIX= MRXADR MSELCT MSG1 MSG2 MSG3 MSG4 MSGS MSG6 MSG7 MSG8 MxSML NCADM NCADR NCBAR NCBART NCCSR 001260 003542 020000 001256 001320 010120 010161 010242 010324 010400 010434 010520 010555 004202 001212 001164 001206 001216 001200 NCJOY NCOFF NCSET NCSFR 001214 001202 001516 001210 NCSTP NCSTP1 NCSTRT NCWCR NOVSV NUMBEG NUMEND PATWRT PBUP PIRQ - 004744 004766 004704 001204 001324 005462 (005470 003720 010036 177772 PIRQVE- 000240 PIXASM (001264 224 242 102+ 160+ 125+ 888 9194 246 377 226+ 316 587 370 114 121+ 598 7154 290 29+ 299+ 3N 579 687 SEQ 0046 313» 667+ 676 775« 776 255 881 670 9314 536 538~ 539+ 9054 166 168+ 233+ 234 773« 774 215 222 225 256 259 281 495+ 500 507+ 708 773 162+ 7554 881 238 1664 385 414+ 471 92 441 273 9104 331 9124 9134 914H 9154 778 167 591 476 4760 124 442+ 340» 444 445+ 217 219 583 686 237+ 320~ 323w 363« 371« 590+ 685+ 525 533 629+ 630~ 631 638 696+ 257 271 338 383 715 531« 904# 487+ 488+ L85 490+ 693 126 660 449 321 324 345 687+ 688+ 689+ 9114 9164 9174 565 108 544 109 697 633 124 113 7034 6854 497 4 1 CINCDB NCV11 EXERCISER MACY11 306(1063) 31-AUG-79 13:08 PAGE 19-2 CINCDB.P11 31-AUG=79 11:21 CROSS REFERENCE TABLE == USER SYMBOLS PIXCNT PRO = PR PRZ = PR3 = PRG = PRS = PR6 = PR7? = PS = PSW = PWRMSG PWRVEC= RDCHR = RDLIN = RDOCT = RESVEC= ROUTA ROUTB ROUTC ROUTD ROUTE ROUTF ROUTG ROUTH ROUTJ ROUTL ROUTM ROUTN ROUTO ROUTR ROUTS ROUTT ROUTU ROUTW ROUTX ROUTZ ROWCNT RTABLE SCLCEL SELCTA STACK START STARTT STKLMTSWR SWREG SwO SWO0 = = Sw01 Sw02 = Sw03 = = SWO4 Swl5 = = SwO¢ SW07 - 001262 000000 000040 000100 000140 000200 000240 000300 000340 177776 177776 010056 000024 104407 104410 794 114 1 14 14 114 114 114 114 114 104411 000010 002054 114 891 114 879 885 265 114 182 002114 002124 002220 002230 002302 002320 002360 002420 186 187 188 189 19 193 194 195 002066 002100 002110 002434 002614 002632 002650 002664 002724 002762 003102 001312 001750 003474 004546 001100 001326 001562 177774 001140 000176 000001 000001 000002 000004 000010 000020 000040 000100 000200 183 184 185 196 19% 200 201 202 204 205 207 914 175 453 104 1» 18 116 114 214 184 114 Mu 114 114 114 114 114 1% 1% 415x 9094 102+ 8884 8884 286 491 495 498+ 332 350 897« 301 2174 2194 221# 2234 2244 2264 2424 PIRN| 2574 2614 2714 2794 586 2824 3194 3224 3254 3284 3384 3464 3704 443 177 4564 274 102 102# 1214 102+ 102 446+ 1824 448x 341 161 120 243 653 879« 879 891« 310 891 8884 B SEQ 0047 CINCDB NCV11 EXERCISER MACY11 CZNCDB.P11 31-AUG=-79 11:21 SwO08 Sw0S Sw1 Sw10 SWil Swi2 = 000400 = 001000 = 000002 J_& 31-AUG~79 13:08 PAGE 19-3 CROSS REFERENCE TARLE == USER SYMBOLS SEQ 0048 1M 1% 114 002000 004000 010000 020000 040000 100000 000004 000C10 000020 000040 000100 000200 000400 001000 001314 11# 114 14 114 114 1% 1% 924 126+ 217 219+ 420 421 441 561 TEMPO 001240 704 558« 564+ 633« 743~ 744 838 852+ THLO TIME TJOY TKVEC = TKVECO TKVECT TOTSIZ 001272 001172 004332 000060 001174 001176 001304 834 Lin 260 114 LEN 478 884 128« 127 230 5984 46 129« 333« 266+ 424 433 450 452 520 516 000034 000014 001270 005260 114 114 824 214 Sw13 SWi4 SW15 Sw2 Sw3 Sw4& SW5 Swé6 Sw7 SW8 SW9 TABLEX = = = = = = = = = = = = = = 30G(1063) TBITVE= 000014 TEMP TEMP2 THHI TPVEC 001242 001244 001274 = 000064 TRAPVE TRTVEC= TTYOUT TYPCR TYPE - 104401 TYPO 005300 TYPON TYPOS - 104404 104403 TYPOC VIMADR VIVADR VIVCHP VIVCRG VIVCSR Y 11 1% 114 1% 114 14 114 tar 728 84# 14 103 885 130+ 419 212+ 7844 107 785 1046402 879 888# 001170 001166 001222 001220 001226 LOn 364 4 SO 7%2& 659 653 744x 172 276 888+ 888# 756 308« 102+ 888# 213 47 306~ 207« 558 583 - 784 786+ 789 118 891 132 255 264 285 200 3N 349 879 881 88% 787# 788 654 343 668 413 721+ 625+ 741 657 745 669 797 717 801+ 718 720+ 728+ 730+ 73 517 540 542 548 552 570 574 581 585 7964 4 VIVINT VIVMAP VIVPOS VIVPX VIVPX1 VTVSAV 67N 64N 61 65 664 764 665 729+ 249+ 733« 671% . 512+ VIWRIT 001236 001230 001224 001232 001234 001254 005316 ggg 413 252 625 513 wD001 007664 514 895# CINCDB NCV11 EXERCISER MACY11 30G(1063) CINCDB.P11 007707 007735 WD004 007750 wDOO0S 007767 WwDO06 007776 WwD007 010097 XYAVE 005472 XYBUF 005620 XYBUFE= 005720 XYBUFP 005720 $AUTOB 001134 wDOO2 wDOO3 001122 001126 007040 $CKSWR 005722 $CMTAG 001100 $CM3 = 000000 $CNTLG 006574 $CNTLU 006567 $BDADR $8DDAT $CHARC $CRLF $ERFLG SERMAX $ERRPC 21 31-AUG-79 11: 31-AUG=79 CROSS REFERENCE B44» 879 848 8754 8764 8704 881 885 881 885 881 885 888 102 879 $HD = $HIOCT $ICNT $ILLUP $INTAG SITEMB $LF $LPADR $L PERR SMAIL = $SMNEW SMSWR $NULL $OCNT $OMODE $PASS $PWRAD 888 879 879 001110 34 L2 2 22 006612 006601 001154 $PWRDN SPWRMG $PWRUP S $QUE $RDCHR $RDDEC IN $RDL $RDOCT $RDSZ - 000007 881 881 8914 879 888 888 888 & TABLE == USER SYMBOLS 8974 8984 8994 9004 9014 B374 845 861 881 881 $GDDAT $GTSWR K PAGE 19-4 8964 $ERRTB SERTTL $FILLC SFILLS $GDADR 13:08 876 SEQ 0049 CINCDB NCV11 EXERCISER MACY11 CZNCDB.P11 31-AUG-79 11: 21 $RCA = $SAVRE = $SAVR6G $SETUP= $STUP = = $SWR $TKB $7KS = $TN $TPB $TPFLG $TPS $TRAP $TRAP2 = $TRP $TRPAD $TSTNM $TTYIN $TYPBN= $TYPDS= $TYPE $TYPEC $TYPEX $TYPOC $TYPON $TYPQOS $OF ILL xeveww () cwwRkR |J 007662 000114 177777 101# 1014 S 160000 001146 001144 000001 001152 001157 001150 007432 007454 000012 007466 001102 006560 Pal par of 21 AR AR U ARAEXN U 006624 006774 007042 007070 007104 007044 007267 011721 888 888 8914 30G(1063) L 4 31~-AUG=79 13:08 PAGE 19=-5 CROSS REFERENCE TABLE == USER SYMBOLS 102 879 773 2) 861 879 293 879x 881+ 131« rarl| 24 102 % 774 789+ 787 8884 88" 8814 8834 8834 8834 8834+ 184 194 881 Fat 102 8324 875 8794 SEQ 0050 881 885 891 CINCDB NCV11 EXERCISER MACY11 31-AUG=79 11: 1 CINCDB.P11T SETUP SKIP SLASH M# 114 114 114 114 114 14 114 114 114 114 8884 114 114 14 STARS 114 ERROR ESCAPE GETPRI CCTSWR MULT NEWTST POP PUSH REPORT SCOPE SETPRI SETTRA 114 SPA(CE 740 880 1 SWRSU TRMTRP TYPBIN i YPDEC TYPNAM TYPNUM TYPOCS TYPOCT TYPTXT $$CMRE $$CMTM $$ESCA 8884 114 114 114 114 14 114 11# 21 21n 114 .$TYPO n 885 885 SEQ 0051 891 891 102 21 748 881 1024 648 754 882 652 684 682 772 884 770 883 781 885 879 14 888# 14 o o 4 o o n n 4 % o SENEWT $$SET $$SKIP -EQUAT .HEADE .SETUP .$CATC -SCMTA . SPOWE . SRDOC -SREAD .$TRAP .$TYPE ABS. 13:08 PAGE 20 30G(1063) CROSS REFERENCE TABLE == MACRO NAMES 11# 1 COMMEN ENDCOM . M 31-AUG=79 01172° ERRORS DETECTED: (ON O CZNCDB, CZNCDB/CRE-CIN(DB 13 6 .7 SECONDS : RUN-TIME RO ABS GBL D 702 805 891 712 807 714 834 724 836 727 878 738 879 CINCDB NCV11 EXERCISER MACY11 (ZNCDB.PY 31-AUG=79 11:21 RUN-TIME RATIO: 30/20=1.4 CORE USED: 18k (35 PAGES) 30G(1063) 31-AUG-79 13:08 CROSS REFERENCE N 4 PAGE 20-1 TABL" -- MACRO NAMES SEQ 0052
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies