Digital PDFs
Documents
Guest
Register
Log In
AH-E777A-MC
August 1978
57 pages
Original
30MB
view
download
OCR Version
47MB
view
download
Document:
CZNCDA0 NCV-11 EXERCISER DEC 1978 bw
Order Number:
AH-E777A-MC
Revision:
000
Pages:
57
Original Filename:
CZNCDA0__NCV-11__EXERCISER__AH-E777A-MC__DEC_1978_gray.pdf
OCR Text
N CV'1 1 EXCERCISER CZNCDAO AH-E777A-MC DEC1 FICHETOFT T TN USATM MADE copvrighT 7378 EOEO0ED G mit. A ANIVL AW SEQ 0001 Product Code: AC-E776A-M( Product Name: CZNCDAO NCV11 EXERCISER Date: AUGUST MAintainer: Diagnostic Engineering 1978 Copyright ((C) 1973,1978 Digital Equipment Corporation, MAynard, Mass. This software is furnished under a license for use only on a single computer system and may be copied only with the inclusion of the above copyright notice. This software, or any other copies thereof, may not be provided or otherwise made available to any other person except for use on such system and to one who agrees to these Llicense terms. ggzle to and ownership of the software shall at all times remain in The intormation in this document is subject to change without notice and should not be construed as a comnitment by Digital Equipment Corporation. DEC assumes no responsibility for the use or reliability software on eguipment which is not supplied by DEC. of its 3 Page 2 O &<fwnNn- O O LOADING PROCEDURE O STARTING PROCEDURE N=0 OPERATOR OPTIONS OPERATOR KEYBOARD OPTIONS Equipment - Optional PREL IMINARY PROGRAMS Storage =0 NNNNN SN0 MISCELLANEOUS N=O PROGRAM DESCRIPTION O LISTING o000 RECOMMENDED OPERATOR ACTION Camera Setup - 0o0o0o OPERATOR SWITCH REGISTER OPTION(S) O . o 0 2 DN REQUIREMENTS Equipment . ABSTRACT W CONTENTS B~ OF VY TABLE Joystick Setup Device Bus Address Modifications Free Run Mode (Type ‘F'") Error Reporting Execution Time Data Connection & Display Joystick Mode SEQ 0002 D 1 Page 3 1.0 ABSTRACT This is a self contained program designed to convert data from the GAMMA camera via the NCV11 interface and display it on a vSv01 display. joystick setup It or can for be wused practice for camera/interface in image manipulation. and It meant as a exerciser rather than a diagnostic. TOTAL PROGRAM CONTROL IS ACCOMPLISHED THRU THE CONSOLE KEYBOARD. THE PROGRAM IS NOT CHAINABLE/SCRIPTABLE UNDER XXDP/APT. 2.0 REQUIREMENTS 2.1 Equipment PV, N 1. . . . St FAMILY OR LSI-11 FAMILY Computer I/0 Terminal (i.e., LA36) NCV11 Interface Gamma Camera (OR SUBSTITUTE) Equipment - Optional 1. 2. 23 PDP=-11 is H3060 Joystick VSVO1 DISPLAY PREL IMINARY PRCGRAMS MAINDEC-11-DVNCA SHOULD HAVE PREVIOUSLY BEEN RUN 2.4 Storage This program uses all of 3.0 lower 12K of memory. LOADING PROCEDURE Normal procedure for BE followed. loading a binary program into memory SHOULD SEQ 0003 E 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 TYPE IHII- Type Type .N'.. TYPE lxll. Type llcll. .S... system, HELP OPERATOR AND DISPLAY OR TYPE THIS LIST Collect new data from camera - clears core matrix FIRST Collect data from camera - starts NCV11, previous core matrix data not cleared SELECT ANOTHER CAMERA CHANNEL d aégg NCV11 data colLLection - also terminates free RUN - all Type 'R..: Zoom = Set NCV11 TO GAIN 2 Regular = SET NCV11 TO GAIN 1 (DEFAULT COND) Select VSVO1 display using 1st bit map Select VSVO1 display USING 2nd bit map Display ISOTOPE A (default cond) ..y Display ISOTOPE B (B GAMMA) 'vl. o"ll. l‘-ll- IU'I. Display data - display selected ISOTOPE Get lower threshold from keyboard Get upper threshold from KEYBOARD ALl Type '7ll- TYPE .x.l. Type Type IGOU. TYPE l.T.l. TYPE IU' '. ..J... (default=0) matrix values less than typed value are not disgla;ed matrix DISPLAYED Free run values mode =~ greater collLect (default=177777) than and display new continuously = Type ''S'' to terminate this mode SELECT ANOTHER CAMERA CHANNEL Initialize everything - start fresh Joystick calibration NCV11 - use ''Cntrl ('' OPERATOR SWITCH REGISTER OPTION(S) NONE data to terminate mode DISPLAY INTENSITY TEST PATTERN ON SELECTED DISPLAY THIS FEATURE IS FOR DISPLAY VERIFCATION ONLY OTHER TERMINAL TO CONTROL THE PROGRAM Type "‘(ntrl & C'' - Abort whatever - back to keyboard monitor 5.2 = typed value are NOT = SEQ 0004 F Page 5 6.0 RECOMMENDED OPERATOR ACTION 6.1 Camera/AQ17 Setup 1. Place radioactive flood source IN FRONT OF CAMERA SEQ 0005 DETECTOR, OR USE A WEAK RADIOACTIVE SAMPLE ABOUT 3 FEET FROM A DETECTOR WITH THE COLLIMATOR REMOVED. Collect data (C) and display (D) Adjust the X and Y gain controls ON THE AO17 until a round circler IS SEEN and centered within the box on screen. Increase the circlex size until the edges just begin to TOUCH THE BOX. Collect data for a 3 minute period and observe the image. If there 1is an artifact on the center of the screen that looks : Like a right angle bracket, the '7'' delay circuit should be adjusted. 6. * 6.2 IF THE MATRIX COLLECTED, AND Z COUNTS EQUAL O THEREFORE, NO DISPLAY. THIS MAY BE A HEXAGON FOR SOME MAKES OF THEN NO DATA WAS CAMERA. Joystick Setup Select Joystick configration by typing 'J''. Adjust the Y Pot on the H3060 Joystick so that the HORIZONTAL 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 REACH THE RIGHT EDGE AND EXCEED THE LEFT EDGE BY THE SAME AMOUNT. Ideally, a physcial center of the approximately centered in the box. Joystick will provide a point Check that when the JO{StiCk interrupt SWITCH is CROSS HAIRS DO not follow the Joystick. 4. depressed A 'Cntrl C'' will return user back to the keyboard monitor. the G 1 Page 6 7.0 MISCELLANEOUS 7.1 Device Bus Address Modifications 7.2 NCVT1 Modify vSvO1 Modify location 'VIVADR'' if base bus address (CHARACTER GENERATOR) IS NOT 772600 MODIFY LOCATION ‘VTMADR'' IF BASE BUS ADDRESS (BIT MAP) IS NOT 772620 Note: A restart is required after any of 772766 location "NCVADR'' if base modifications. bus the address above 1is not address Free Run Mode (Type 'F'") Modification of location 'TIME'' will alter the data collection time in the free run mode. The default value of 20(8) provides about 10 SECONDS ON AN LSI-11 Vsd 7.4 CPU. Error Reporting 1. INCORRECT KEYBOARD COMMANDS ARE RESPONDED WITH '?° 2. A MESSAGE WILL BE REPORTED IF ANY SELECTED DEVICE (SEE SECTION 7.1) DOES NOT RESPOND. Execution Time The EXECUTION TIME is completely whatever opticr. selected. dependent upon the user for SEQ 0006 H 1 PAGE 7 8.0 PROGRAM DESCRIPTION 8.1 Data Collection & Display The user may collect data from the gamma camera NCV11 interface and display this data on system via the the VSVO1 (bitmap) display.. ALL functions are ENTERED thru the keyboard as defined in section 5.1. When the data collection mode is selected the NCV11 is receiving X & Y data from the gamma camera (looking AT a radioactive source). This information is transformed via THE address maker LOGIC which forms a unique 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' Isotope, AND FOR THE 'B' ISOTOPE, (CAMERAS EQUIPPED WITH THE DUAL ISOTOPE ATTACHMENT) INFORMATION VIA B GAMMA LOGIC IS STORED STARTING AT ADDRESS 40000 (8). The intensity of cach cell (memory location) of the image in memory is adjusted with the upper and Llower thresholds and scaled to ONE OF 16 intensity levelS. The cell with the highest count represents THE HIGHEST intensity Llevel, therefore appears brightest on the display. At the completion of the image display, the following parameters are displayed: Lower Threshold = ALl Upper Threshold = All values above this value are omitted CAMERA PB JB Z Count MatRix Count Zoom B-Gamma 8.2 - - values displayed greater than this value are SELECTED CAMERA CHANNEL UP/DN INDICATOR OF THE PUSH BUTTON STATE DURING LAST COLLECTION UP/DN INDICATOR OF THE JOY 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 mode provided by the NCV11. This mode selects the JOYSTICK inputs and the NCV11 performs Like aN A/D with the X & Y CONVERTED values available in X-Y holding register. The X and Y data is applied to the display and should conform to the requirements in section 6.2. THE vSVO1 uses the X & Y cross hairs as the DISPLAY indicator. 9.0 LISTING SEQ 0007 CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 17 133 142 146 187 274 276 380 408 556 818 1040 1209 1280 1358 1412 1435 1455 1497 1526 TABLE OF CONTENTS B8-AUG-78 BASIC DEFINITIONS TRAP CATCHER STARTING ADDRESS(ES) COMMON TAGS ERROR POINTER TABLE MAIN PROGRAM INITIALIZE THE COMMON TAGS KEYBOARD DISPATCH 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 TTY TRAP DECODER TRAP TABLE POWER DOWN AND UP ROUTINES DISPLAY MESSAGES ASCII MESSAGES SEQ 0008 CINCDA NCV11 EXERCISER MACY11 27(654) PAGE 1 LTITLE CZNCDA NCV11 EXERCISER ;*COPYRIGHT (C) 1978 s*DIGITAL EQUIPMENT CORP. tMAYNARD MASS. 01754 'PROGRAH BY R.SHOOP 'THIS PROGRAM WAS ASSEMBLED USING THE PDP=11 MAINDEC SYSMA( 'PACKAGE (MAINDEC-11-DZQAC-C3), JAN 19, 1977. 000001 160000 172769 sm-1 $SWR=160000 .SBTTL STACK= 000011 000012 000015 000200 177776 HT= LF= 20 177774 177772 177570 177570 -HALT ON ERROR, LOOP ON TEST, INHIBIT ERROR TYPOUT ABASE =175%60 BASIC DEFINITIONS :DEFAULT NCV11 ADDRESS ;*INITIAL ADDRESS OF THE STACK POINTER xx%x 1100 == 001100 — D e D e D VOO NS W D DD WN = SEQ 0009 =O VOOV CZNCDA.P11 15:16 8-AUG-78 .EQUIV .EQUIV 1100 EMT,ERROR 10T,SCOPE ;;BASIC DEFINITION OF ERROR CALL ;;BASIC DEFINITION OF SCOPE CALL s *MISCELLANEOUS DEFINITIONS CR= CRLF= PS= .EQUIV 1 12 15 200 177776 PS,PSW STKLMT= 177774 177772 177570 DDISP= 177570 PIRQ= DSWR= ;;CODE FOR HORIZONTAL TAB :;CODE FOR LINE FEED ;;CODE FOR CARRIAGE RETURN ;;CODE FOR CARRIAGE RETURN-LINE FEED ; ;PROCESSOR STATUS WORD ;sSTACK LIMIT REGISTER ; ;PROGRAM INTERRUPT REQUEST REGISTER ; ;HARDWARE SWITCH REGISTER ; ;HARDWARE DISPLAY REGISTER :*GENERAL PURPOSE REGISTER DEFINITIONS RO= R1= R2= R3= R4= R5= R6= R7= SP= PC= %0 21 %2 %3 I x5 26 x7 26 x7 ; ;GENERAL REGISTER ; ;GENERAL REGISTER : ;GENERAL REGISTER : :GENERAL REGISTER : ;GENERAL REGISTER ; ;GENERAL REGISTER ; ;GENERAL REGISTER ; ;GENERAL REGISTER ::STACK POINTER ; ;PROGRAM COUNTER ;*PRIORITY LEVEL DEFINITIONS PRO= PR1= PR2= PR3= 0 ;;PRIORITY LEVEL 0 140 ;;PRIORITY LEVEL 3 40 100 PR4= 200 PR6= 300 PRS= PR7= 240 340 ;;PRIORITY LEVEL 1 ;;PRIORITY LEVEL 2 ;;PRIORITY LEVEL 4 ;:PRIORITY LEVEL 5 ;;PRIORITY LEVEL 6 ;;PRIORITY LEVEL 7 CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 BASIC DEFINITIONS 8-AUG-78 15:16 PAGE 2 ;*"'SWITCH REGISTER'' SWITCH DEF INITIONS Sw15= SW14= Sw13= SW12= SW11= Sw10= Sw09= Sw08= Sw07= Swoé= SW05= SW04= swo3= Sw02= swol= 100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 10 4 2 .EQUIV .EQUIV .EQUIV .EQUIV .EQUIV .EQUIV .EQUIV .EQUIV .EQUIV .EQUIV SW09,Sw9 SW08,Sw8 SWO7,SW7 SWO6,SW6 SWO5,SW5 SWO4,SwWé4 SWO3,Sw3 SW02,Sw2 SWO1,Sw1 SW00,Sw0 Swoo= 1 :*DATA BIT DEFINITIONS (BITOO TO BIT15) BIT15= BIT14= BIT13= BIT12= BIT11= BIT10= BIT09= BIT08= BITO7= BITO6= BIT05= BITO4= BIT03= BITO2= BITO1= BIT00= .EQUIV .EQUIV .EQuIv .EQUIV .EQUIV .EQUIV .EQUIV .EQUIV .EQuUIV 100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 10 4 2 1 BIT09.BIT9 BIT08.BIT8 BITO07.BIT7 BIT06.BITé BIT05,BIT5 BIT04.BIT4 BIT03,BIT3 BIT02,BIT2 BITO1,BITT SEQ 0010 CZINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P1 109 110 m 112 113 114 115 116 117 118 BIT00,BITO TRTVEC= 14 : :TRACE TRAP PWRVEC= 24 ; ;POWER FAIL TKVEC= 60 TPVEC= 64 PIRQVE(C=240 MATRIX=20000 020000 .SBTTL 132 133 140 141 42 .EQulv SEQ 0011 : ;BREAKPOINT TRAP (BPT) ;s INPUT/0UTPUT TRAP (10T) =«SCOPE** :;EMULATOR TRAP (EMT) **ERROR** ::"'TRAP'' TRAP ;:TTY KEYBOARD VECTOR ;. TTY PRINTER VECTOR ; ;PROGRAM INTERRUPT REQUEST VECTOR ;SOME COMMON PROGRAM VALUES AND EQUATES 130 131 }gg PAGE 3 EMTVEC= 30 TRAPVE(C=34 000240 124 125 126 127 128 129 15:16 BPTVEC= 14 I0TVEC= 20 000030 000034 000060 000064 123 8-AUG-78 ;*BASIC ''CPU'" TRAP VECTOR ADDRESSES ERRVEC= 4 :;TIME OUT AND OTHER ERRORS RESVEC= 10 ..RESERVED AND ILLEGAL INSTRUCTIONS TBITVEC=14 ' BIT 000004 000010 000014 000014 000014 000020 000024 119 120 121 122 134 135 136 137 BASIC DEFINITIONS ;STARTING ADRS OF MATRIX DATA TRAP CATCHER .=0 000000 ;*ALL UNUSED LOCATIONS FROM 4 = 776 CONTAIN A ''.+2 HALT" s*SEQUENCE TO CATCH ILLEGAL TRAPS AND INTERRUPTS 000174 000176 000200 000100 *LOCATION 0 CONTAINS O TO CATCH IMPROPERLY LOADED VECTORS =174 000174 000C0O0 000000 000137 000100 000104 DISPREG: .WORD 0 ;:SOF TWARE DISPLAY REGISTER SWREG: .WORD 0 ;;SOFTWARE SWITCH REGISTER .SBTTL STARTING ADDRESS(ES) JM?OO @#START ;;JUMP TO STARTING ADDRESS OF PROGRAM 001322 000340 000002 104 ,340,RTI :LSI=11 B EVENT CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P1 COMMON TAGS 8-AUG-78 15:16 PAGE & SEQ 0012 143 .SBTTL 145 ':'tfi'itttttttt'.ttittt"'ttttt'ii.t'ittfi.t.ttfi.ltttlfii.t'ttttt'. 144 :*THIS TABLE CONTAINS VARIOUS COMMON STORAGE LOCATIONS 146 ;*USED IN THE PROGRAM. .WORD $LPADR: oSN OOMVISNVO $LPERR: $ERTTL: $SITEMB: : SERMAX $ERRPC: $GDADR: $BDADR: $GDDAT: $BDDAT: $AUTOB: $INTAG: 000012 SWR: DISPLAY: $TKS: STKB: $TPS: $TPB: : $NULL SFILLS: . $FILLC: $TPFLG: $QUES: $CRLF: $LF: g W b axb e b wsd b i cxb .=1100 [elelelelelelelelelellelelelslelele]ls)] $CMTAG: $PASS: $STSTNM: $ERFLG: $ICNT: wsb D b ab wd _e W -b o b ab L DD 8 28888388838888 & 147 148 149 COMMON TAGS DDISP ;:START OF COMMON TAGS ;2CONTAINS PASS COUNT ;s CONTAINS THE TEST NUMBER : ;CONTAINS ERROR FLAG ::CONTAINS SUBTEST ITERATION COUNT ; ;CONTAINS SCOPE LOOP ADDRESS ; sCONTAINS SCOPE RETURN FOR ERRORS ;;CONTAINS TOTAL ERRORS DETECTED ;s CONTAINS ITEM CONTROL BYTE : ;CONTAINS MAX. ERRORS PER TEST 2 ;CONTAINS PC OF LAST ERROR INSTRUCTION :;CONTAINS ADDRESS OF 'GOOD' DATA ;2 :CONTAINS ADDRESS OF 'BAD' DATA ; sCONTAINS 'GOOD* DATA : ;CONTAINS 'BAD' DATA ; ;RESERVED=-NOT TO BE USED ;;AUTOMATIC MODE INDICATOR ; INTERRUPT MODE INDICATOR ;;ADDRESS OF SWITCH REGISTER ; sADDRESS OF DISPLAY REGISTER ;:TTY KBD STATUS ;:TTY KBD BUFFER ;:TTY PRINTER STATUS REG. ADDRESS ;:TTY PRINTER BUFFER REG. ADDRESS 2 sCONTAINS NULL CHARACTER FOR FILLS :;CONTAINS # OF FILLER CHARACTERS REQUIRED ;2 INSERT FILL CHARS. AFTER A 'LINE_FEED"' ;2" 'TERMINAL AVAILABLE'' FLAG (BIT<07>=0=YES) <15> <12> ;;QUESTION MARK : :CARRIAGE RETURN ;:LINE FEED ::'t'.!.'tttt..'tt.tt..t"tt.ltlt..lit...t'tfilfi'itt'tttfit.t.titt' NCV11 EXERCISER MACY11 27(654) ERROR POINTER TABLE .SBTTL 184 185 186 o o o :® PAGE 5 SEQ 0013 ERROR POINTER TABLE EM DH DT DF ;sPOINTS ::POINTS ;sPOINTS ::POINTS $ERRTB: ;THIS PROGRAM DOES NOT USE 001164 TO THE TO THE TO THE TO THE ERROR MESSAGE DATA HEADER DATA DATA FORMAT THE ABOVE ERROR TABLE :NCV11 BUS ADRS ASSIGNMENTS - MODS ARE TO BE MADE HERE 207 001164 172760 NCADR; ~ABASE :VSVO1 BUS ADRS ASSIGNMENTS (CHAR GEN) - MODS ARE TO BE MADE HERE 001166 172600 VIVADR: 172600 JVSVO1 BUS ADRS ASSIGNMENTS (BIT MAP) - MODS ARE TO BE MADE HERE 001170 172620 VTMADR: ifzbzo ;FIRST MAP 2ND MAP IS 20 HIGHER :COUNTER FOR FREE RUN MODE 000024 TIME : 2?. SN 001172 o SR 209 15:16 ;*THIS TABLE CONTAINS THE INFORMATION FOR EACH [ R0R THAT CAN OCCUR. ;*THE INFORMATION IS OBTAINED BY USING THE INDEX NUMBER FOUND IN ;*LOCATION SITEMB. THIS NUMBER INDICATES WHICH ITEM IN THE TABLE IS PERTINENT. IF SITEMB IS O THE ONLY PERTINENT DATA IS (SERRPC). ;*NOTE1: EACH ITEM IN THE TABLE CONTAINS & POINTERS EXPLAINED AS FOLLOWS: ;*NOTEZ2: 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 8-AUG-78 T CZNCDA CZNCDA.P :LOOP COUNTER FOR ‘¥'* MODE LZNLDA NLVIT EXERCISER MACY11 27(654) 8-AUG-78 001174 001176 001200 NCCSR: : NCOFF NCWCR: NCBAR: NCSFR: ABASE sNCV11 STATUS CONTROL REGISTER VTVCRG: VTVCHP: VTVPOS: 172600 ; CHAR/STATUS VTVCSR: VTVMAP: VTVPX: VTVPX1: VTVINT: 172620 172622 172624 172626 172630 CZNCDA.P1T ERROR POINTER TABLE 172600 172602 172604 172620 172622 172624 172626 172630 15:16 SEQ 0014 sNCV11 REGISTER ADDRESS POINTERS :NCV11 OFFSET REGISTER ABASE +2 sNCV11 WORD COUNT REGISTER ABASE +4 sNCV11 BUS ADDRESS REGISTER / LOW Z COUNT ABASE +6 JNCV11 SPECIAL FUNCTION / JOYSTICK STATUS REGISTER ABASE +10 sNCV11 ADDRESS MAKER REGISTER NCADM: ABASE+12 sNCV11 JOYSTICK DATA REGISTER ABASE +14 NCJOY: ;NCV11 SPARE <SAME AS NCBAR> NCBAR1: ABASE +16 01 REGISTER ADDRESS POINTERS (CHARACTER GENERATOR) :VS\ 172602 172604 :CROSS HAIR POS :CHAR POS :VSVO1 REGISTER ADDRESS POINTERS (BIT MAP) ; COMMAND/STATUS ;MAP ADRS ;PIXEL WD ;PIXEL BYTE s INTENSITY LOOK UP ;COMMON PR0OGRAM TAGS AND STORAGE LOCATIONS 0 0 0 DUMMY1: 0 DUMMYZ2: 8 TEMPO: TEMP1: TEMP2: INTLUT: VTVSAV: 6400 MRXADR: 0 MAPADR: 0 3 0 : KBUFF 0 TTYOUT: 0 PIXCNT: PIXASM: 020000 000000 PAGE 6 THLO: 0 177777 THHI: COMSAV: 0 CAMERA: 0 0 GAIN: TOTSIZ: 4096. CHARCT: 0 0 CPERL: : 0 ROWCNT TABLEX: MATRIX FREERN: 0 MSELCT: 0 BELLEN: 0 NOVSV: 0 sCOMMON UTILITY LOC :COMMON UTILITY LOC sCOMMON UTILITY LOC sOCTAL TEMP LOC. ;OCTAL TEMP LOC. ;VSVO1 SET UP = FULL SCREEN, MONO(BLK/WHT), ENA DISPLAY ;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 ;CONTAINS KEYBOARD CHAR TYPED ;OUTPUT CHAR TO PRINTER ;LOW THRESHOLD VALUE APPLIED TO MATRIX CELLS :HIGH THRESHOLD VALUE APPLIED TO MATRIX CELLS ;SAVED NCV11 CSR CONTENTS WHEN DISPLAYING CAMERA SELECTION IN BITS 8-9 :GAIN 1=0, GAIN 2=BIT10 *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 ISOTOPE :NON-ZERO SAYS COLLECT NEW DATA & DISPLAY IN FREE RUN MO ;0 SAYS 1ST BIT MAP, -1 SAYS 2ND BIT MAP(VSVO1) 0 SAYS RING BELL ON NO CONVERT, =1 SAYS DON'T *NON-ZERO INDICATES NO VSVO1 DISPLAY CZNCDA NCV11 EXERCISER MACY11 27(654) 8-AUG-78 001322 START: CZNCDA.P1 001322 MAIN PROGRAM .SBTTL 012706 005026 022706 001374 012706 001100 012737 012737 012737 012737 007316 000340 007376 013746 012737 012737 012737 022777 001012 000004 001432 000403 012716 000002 012737 012737 012637 104401 004737 103005 005237 104401 000000 013700 012701 001100 177570 177570 177777 000034 000036 000024 000026 001140 001142 001164 001174 648: BR :?Y 65% #65$, (SP) ;:SETUP FOR A HARDWARE SWICH REGISTER ;;AND A HARDWARE DISPLAY REGISTER ::TRY TO REFERENCE HARDWARE SWR ;;BRANCH IF NO TIMEOUT TRAP OCCURRED ;;AND THE HARDWARE SWR IS NOT = =1 ;sBRANCH IF NO TIMEOUT ;:SET UP FOR TRAP RETURN 65%: MOV #SWREG, SWR ;;POINT TO SOFTWARE SWR 66%: MoV (SP)+ ,a#ERRVEC ;;RESTORE ERROR VECTOR .MSG1 ;GO IDENTIFY PROGRAM ;GET POINTER ADRS 001266 MOV #DISPREG,DISPLAY 38: JSR 8CC INC TYPE HALT MOV NCSET: MOV NCADR,RO #NCCSR,R1 RO, (R1)+ BNE MOV IST BR NCSET #1$ ERRVEC aNCCSR START1 ;BR _IF NOT ;SET UP TIMEOUT ADRS sWILL TRAP TO LOC & IF NOT THERE ;BR IF THERE .MSG5 ;GO TYPE 'BUS TIMEOUT ER = NCV11' ;sNCV11 NOT SEEN AT ASSIGNED BUS ADRS 1%: MOV ADD cMP CMP TYPE HALT 000004 START1: MOV 177400 JSR MoV CLR 001310 ;;SAVE ERROR VECTOR ;;SET UP ERROR VECTOR #DSWR, SWR #DDISP,DISPLAY #-1,3SWR 66$ 000004 010241 @#ERRVEC,-(SP) #64$ ,a#ERRVEC MOV MOV CMP BNE TYPE 000002 001214 005037 MOV MOV 001320 010121 000006 INITIALIZE THE COMMON TAGS ;:SIZE FOR A HARDWARE SWITCH REGISTER. IF NOT FOUND OR IT IS ;;EQUAL TO A '*=1"', SETUP FOR A SOFTWARE SWITCH REGISTER. 010003 004440 001544 177432 SEQ 0015 MOV #SCMTAG ,R6 ;sFIRST LOCATION TO BE CLEARED CLR (R6) + ;s CLEAR MEMORY LOCATION #SWR,R6 ; ;DONE? CMP ;;LOOP BACK IF NO -6 BNE THE STACK POINTER ;;SETUP #STACK,SP MOV ;o INITIALIZE A FEW VECTORS MOV #STRAP ,a#TRAPVEC ;;TRAP_VECTOR FOR TRAP CALLS #340 ,a#TRAPVEC+2;LEVEL 7 MOV MOV #SPWRDN ,a#PWRVEC ;;POWER_FAILURE VECTOR MOV #340,a#PWRVEC+2 ; LEVEL 7 000004 001140 001142 177512 001440 000176 000174 000004 PAGE 7 ::CLEAR THE COMMON TAGS ($CMTAG) AREA 001140 000340 15:16 RESET MOV CLR PC,SELCTA 3% NOVSV .MSG3 #2 R0 #VTVCRG,R1 (SP)+,(SP)+ ;DEFAULT TO vSVO1 DISPLAY IF THERE ;BR IF DISPLAY VSVO1 IS THERE sSAVE THE FACT NO VSVO1 CONNECTED ;GO TYPE 'BUS TIMEOUT ER - VSVO1 DISPLAY' JNO DISPLAY SEEN AT ASSIGNED BUS ADRS'S sGET NCV11 BASE ADRS sSET UP NCV11 REG ADRS PTRS ;BUMP REG ADRS ;ALL SET UP? sFIX STACK SINCE NO RTI #ERRVE(C+2,a#ERRVEC PC,NCSTP1 A#MATRIX,QNCOFF GAIN #MATRIX,TABLEX THLO ;RESTORE ERR TRAP LOC TO PT TO 6 ;CLR WORLD ;GO STOP NCV11 & CLR CORE MATRIX ;SET OFFSET(ADRS 20000) ;REGULAR GAIN ;ISOTOPE A ;CLEAR LOWER THRESHOLD CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 325 326 001614 001622 012737 012737 177777 005104 328 001636 012777 000100 327 %%8 001630 001644 8-AUG-78 15:16 INITIALIZE THE COMMON TAGS 012737 104401 000340 010275 001270 000060 000062 177300 %%} MOV MOV MOV MOV TYPE PAGE 8 #177777 ,THHI #KBINT , TKVEC #340,TKVEC+2 #100,a8$TKS MSG6 SEQ 0016 ;CEILING THRESHOLD ;SET KEYBOARD INTR RETURN ADRS ;SET UP NEW PRIORTY ON INTR sSET INTR ENABLE ;GO ASK FOR KEYBOARD COMMAND(S) ;THIS IS A LIST OF KEYBOARD COMMANDS FOR THE NCV11/DISPLAY/JOYSTICK 333 H HELP FRAME 335 - 334 ;D DISPLAY DATA 336 337 338 HE HY :N ERASE THE SCOPE GET LOWER THRESHOLD FROM KEYBOARD & DISPLAY DATA GET UPPER THRESHOLD FROM KEYBOARD & DISPLAY DATA COLLECT NEW DATA FROM CAMERA (CLEAR CORE MATRIX) 340 341 342 343 344 345 346 347 348 349 X :3 H 4 ;R A :B W M P CHANGE CAMERA STOP COLLECTION INITIALIZE EVERYTHING Z00M - SET GAIN TO 2 REGULAR = SET GAIN TO 1 DISPLAY ISOTOPE A DISPLAY ISOTOPE B SELECT VSVO1 DISPLAY USING 1ST BIT MAP SELECT VSVO1 DISPLAY USING 2ND BIT MAP FREE RUN MODE - COLLECT & DISPLAY NEW DATA CONTINUALLY 339 sC 350 :J 351 352 ggz 355 356 ; 001650 001654 001660 001664 005037 012706 005037 005046 362 001672 000002 363 364 365 366 367 368 369 370 371 372 373 374 JOYSTICK CALIBRATION ;T DISPLAY INTENSITY TEST IMAGE ON SELECTED DISPLAY ;0 OTHER TERMINAL TO CONTROL PROGRAM ;CNTRL C ABORT WHATEVER = BACK TO KEYBOARD MONITOR 357 358 359 360 361 COLLECT DATA FROM CAMERA 001666 001674 001700 001702 001706 001712 001714 001720 001724 001726 001730 001734 001736 001312 001100 001262 012746 001674 013700 001262 001775 005037 020027 103445 042700 020027 103040 006300 005760 001434 000170 001262 000101 177740 000033 001740 001740 ;THIS CODE WILL DISPATCH PROGRAM TO THE PROPER ;ROUTINE VIA THE DISPATCH TABLE 'RTABLE' LISEN: CLR MoV CLR CLR MOV LISN: RTI MOV BEQ CLR CMP FREERN #STACK,SP KBUF F -(SP) #LISN,=(SP) KBUFF ,RO LISN KBUF F RO, 4101 B8CS BIC CMP B8CC ASL 800800 #177740,R0 RO, #33 800800 RO BEQ JMP B00BOO aRTABLE-2(RO) TST RTABLE=-2(R0) ;KNOCK DOWN FREE RUN MODE IF SET :RESET STACK PTR s INSURE NO KEYBOARD GARBAGE ;PUSH LEVEL O ONTO STACK ;TO BE LSI-11 COMPATABLE ;FAKE RTI TO LOWER PRIORITY ;LOOK FOR CHAR ;WAIT FOR ONE : ;WAS IT A CHAR? sNOT A GOOD CHAR sELIMINATE LOWER CASE ;1S IT AN ALPHA (HAR? :BR IF NOT ;MAKE UP WORD OFFSET ;1S IT A LEGAL COMMAND? ;BR IF NOT ;GO DO IT ‘ CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P1 8-AUG-78 INITIALIZE THE COMMON TAGS 375 %;g 15:16 .SBTTL 378 379 380 381 382 001742 001744 001746 001750 001752 002046 002060 002072 002102 002106 RTABLE: ROUTA ROUTB ROUTC ROUTD ROUTE 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 001756 001760 001762 001764 001766 001770 001772 001774 001776 002000 002002 002004 002006 002010 002012 002212 002222 000000 002274 000000 002300 002340 002372 002406 000000 000000 002526 002544 002562 002576 ROUTG ROUTH 0 ROUTJ 0 ROUTL ROUTM ROUTN ROUTO 0 0 ROUTR ROUTS ROUTT ROUTU 383 399 400 401 402 403 001754 002014 002016 002020 002022 002024 002116 000000 002636 002666 000000 003006 ROUTF 0 ROUTW ROUTX 0 ROUTZ PAGE 9 SEQ 0017 KEYBOARD DISPATCH TABLE ;'A' :'B' ;'C' ;'D' ;'E' DISPLAY ISOTOPE A DISPLAY ISOTOPE B COLLECT DATA DISPLAY DATA ERASE SCOPE ;'F' FREE RUN MODE (COLLECT NEW DATA & DISPLAY CONTINOUSL :'G" INITIALIZE EVERYTHING ;'H' HELP THE OPERATOR ;'1' BOOBOO ;'J' GO TO NCV11 JOYSTICK CALIBRATION :'K' B0OBOO ;'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 . 'P* B0O0BOO ;'Q' B0OOBOO ;'R' REGULAR GAIN =1 ;'S' STOP COLLECTION ;'T' DISPLAY INTENSITY TEST IMAGE ON SELECTED DISPLAY ;'U' GET UPPER THRESHOLD FROM KEYBOARD ;'V' ;'W' ;'X' ;'Y' ;'2' BOOBOO SELECT vSVO1 DISPLAY USING 1ST BIT MAP CHANGE CAMERA CHANNEL BOOBOO Z00M - GAIN = 2 ZINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.PI1 404 405 406 407 408 409 410 ) 412 413 414 415 COMMAND DECODER 15:16 PAGE 10 F SEQ 0018 COMMAND DECODER .SBTTL ;REPORTS ILLEGAL KEYBO-RD CHARACTERS 012737 000077 005164 005144 020000 003026 040000 001264 BOOBOO: MOV 001310 ROUTB: MOV #MATRIX+20000, TABLEX ROUTC: JSR JMP JMP JSR JMP MOV JSR JSR CLR MoV PC,NCSTRT LISN CHANGE PC,ERASE LISN #-1,FREERN PC_NCSTP1 PC _NCSTRT RO TIME R ;GO 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 ;SET UP TIMER ;SET UP GROSS TIMER VALUE BNE 1% ;WAIT FOR ZERO 001312 ROUTF: 1%: 000400 177012 001650 2%: 003026 004712 001554 001320 ROUTG: ROUTH: 004712 JMP JMP DEC 176752 ROUTL: 1%: CHANGE RO ;GO DO IT ;WILL DISPLAY ISOTOPE B ;GO DO IT s COUNT #BITS KBUFF #123 ,KBUFF JMP JSR JMP PC,ERASE START1 ;STOP BEEN STRUCK? ;BR IF NOT ;STOP NCV11 +ZERO NCV CSR ;GO AWAIT NEXT COMMAND ;DO LOOP AGAIN? ;BR IF SO :NOW GO DISPLAY DATA JUST COLLECTED :GO ERASE SELECTED DISPLAY JINITIALIZE AND START FRESH JSR 1% PC ,ERASE :BR IF NO VSVO1 MOV JSR #2000,aVvTVvVPOS RS5,VTWRIT ;POSITION THE READ-OUT :TELL THE OPERATOR VIA VSVO1 BNE BIS CLR JMP DEC BNE TST BNE HELPO JSR HELP1 1%: 2%: ROUTJ: CHANGE BIC CMP NOP NOP 005202 010040 ;D0 A 'CR' ;GO LOOK FOR GOOD CHAR #MATRIX,TABLEX 001262 001262 011120 001674 ;WILL DISPLAY ISOTOPE A PC,TYPCR LISN MOV 000040 000123 002000 005202 JTYPE IT ROUTA: 001172 176776 :SET UP '?° PC,TYPO 001310 ROUTD: ROUTE: 177777 #77,TTYOUT JSR JSR BR 416 417 418 419 420 8-AUG-78 BR TYPE, JMP JMP MOV MOV RTI TYPE RDOCT 2% #BIT8,aNCSFR aNCCSR LISEN R1 1% CHANGE NOVSV :LOOK FOR POSSIBLE STOP KEY - RID LOWER CASE ;CHECK IF DISPLAY :CLEAR THE SCREEN R5,VTWRIT 2% HELP1 LISN TJOY #340,-(SP) #1%,-(SP) ,MSG2 :NO VSVO1 = TELL OPERATOR SHORT LIST ;CALB. THE JOYSTICK GO TO IT ;PUSH HIGH PSW ON STACK :PUSH RETURN ADDRESS :FAKE RTI TO RAISE PSW ;ASK FOR OCTAL DATA ;GO GET IT CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P1T 002320 002324 C OMMAND DECODER 012637 8-AUG-78 001266 002334 003026 177777 004440 001222 000400 001314 2%: ROUTM: 177760 ROUTN: ROUTO: 010165 002026 000004 002510 1%: 15:16 MOV CLR MOV RTI JMP PAGE 11 G (SP)+,THLO ;SAVE IT CHANGE ;GO DISPLAY sSELECT 2ND BIT MAP ;RELOAD ADDRESSES VTVCSR,RO #8178,-20(R0) JGET 2ND BIT MAP ADRS sTURN OFF 1ST BIT MAP ;GO AWAIT NEXT COMMAND ;GO STOP NCV11 & CLR CORE MATRIX -(SP) #2%,-(SP) #-1 ,MSELCT PC,SELCTA LISN PC ,NCSTP1 PC _NCSTRT LISN #340,-(SP) #1%,-(SP) 000004 001144 002000 000402 176432 ROUTR: ROUTS: ROUTT: ROUTU: ;COLLECT DATA & AWAIT NEXT KEYBRD COMMAND ;RAISE PS B00B00 ;FAT FINGER OPERATOR a#ERRVEC,~(SP) #3% ,a#ERRVEC (RO) #$TKS R RO, (R1)+ ;BR IF NOT "'CR'' OR O ;SAVE LOC & ;SAVE IF WRONG ADDRESS BY OPR. JREF. THE NEW CONSOLE ADDR. ;GET OLD ADDR. POINTER ;LOAD NEW ADDRESS ;BUMP ADDRESS ;LOAD NEW ADDRESS ;BUMP ADDRESS ;LOAD NEW ADDRESS ;BUMP ADDRESS ;LOAD NEW ADDRESS sRESTORE LOC 4. ;LOWER PS AND START PROG AGAIN + (SP)+,(SP) (SP)+ ,a#ERRVEC -(SP) ;CLEAN STACK GAIN sWANT REGULAR GAIN : INSURE REGULAR GAIN ;LOOK FOR NEXT COMMAND 2STOP NCVT s ZERO NCV CSR ;LOOK FOR NEXT COMMAND :GO STOP THE NCV11 IF RUNNING ;GO SET UP TEST CORE IMAGE ;GO DISPLAY IT #B00B00,~(SP) 176434 ;START THE NCV11 (SP)+,RO (RO)+ RO, (R1)+ (RO)+ RO, (R1)+ (RO)+ RO, (R1)+ (SP) + ,a#ERRVEC -(SP) #START ,-(SP) 3%: ;PUSH LOW PSW ;ASK OPR FOR ADDRESS sGET HIS INPUT ;GET ADDRESS MSG4 2% 2%: SEQ 0019 #B1T10,aNCCSR LISN #B178,aNCSFR aNCCSR LISN PC.NCSTP PC,LDIMGE CHANGE #340,-(SP) #1%,-(SP) sRESTORE LOC. 4 :LOWER PS sRETURN CZINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P1T COMMAND DECODER 002610 202614 002676 002622 104401 1%: 010040 001270 002632 2$: 003026 001314 004440 001222 000400 ROUTW: 000020 ROUTX: 002700 1%: 010361 003002 177774 003002 003004 003002 003002 2%: 003004 003004 001274 001275 176206 3%: 002776 003026 002000 001276 001674 001276 176152 15:16 8-AUG-78 4%: 10%: 11%: ROUTZ: TYPE RDOCT MOV CLR MOV RTI JMP CLR JSR NOP MOV BIC JMP MOV MOV RTI TYPE, RDOCT MOV NOP NOP NOP BIC INC CLR DEC BEQ INC BR MOvB BIS CLR MOV RTI JMP 0 0 MOV BIS JMP PAGE 12 H MSG2 (SP)+,THHI =(SP) #2%,-(SP) SEQ 0020 ;ASK FOR OCTAL DATA ;GO GET IT JSAVE IT CHANGE ;GO DISPLAY sSELECT 1ST BIT MAP ; CHANGE ADDRESSES VTVCSR,RO #8118,20(RO) ;GET 1ST BIT MAP ADRS ;TURN OFF 2ND BIT MAP ;GO AWAIT NEXT COMMAND MSELCT PC,SELCTA #1$,-(SP) MSG7 ;TELL OPERATOR TO SELECT CAMERA (SP)+,10% ;GET CHAR. #177774,10% 108 11% 108 3% 11% 2% 11$,CAMERA+1 CAMERA ,aNCCSR -(SP) #4%,-(SP) ;JWAIT FOR HIS INPUT ;MASK OFF BITS ;CLEAR ACTUAL VALUE ;UPDATE ACUTAL ;UPDATE CAMERA SAVE LOC. JAND SELECT THAT CAMERA CHANGE sRETURN #81T710,GAIN GAIN,aNCCSR ;ENABLE GAIN LISN sSET IT AT NCV CSR ;GO AWAIT NEXT COMMAND CZNCDA NCV11 EXERCISER MACY11 2 7(654) PROGRAM ROUTINES CZNCDA.P11Y 8-AUG-78 15:16 PAGE 13 I SEQ 0021 .SBTTL PROGRAM ROUTINES ;GO CLEAR SCREEN OF SELECTED DISPLAY 004737 CHANGE: JSR 004712 PC,ERASE ;GO ERASE SCOPE ;STOP NCV11 AND GET SET TO DISPLAY 004737 012700 012701 004737 005200 022700 001403 004737 000771 JSR 004636 001750 073567 004744 MOV 1%: 001770 004756 28: 006010 004744 3%: 004756 4%: 5%: 001730 000017 070000 004744 000007 000021 004744 101001 011100 005721 005337 001366 001250 002010 000003 001260 176032 001254 001256 001300 001302 001310 001270 001302 JSR INC CMP BEQ JSR BR MOV JSR INC cMP BEQ JSR BR MOV ADD MOV cMP BEQ JSR MOV 006047 176066 ;GO STOP NCV11 ;NOW DRAW A BOX AROUND POTENTIAL MATRIX DISPLAY ;AREA ON THE SELECTED DISPLAY :SET UP BIT MAP ADRS - TOP LINE #1750,R0 MOV BOX: 006030 013737 017700 013701 020021 103005 024137 PC.NCSTP 6%: ADD JSR BR MoV MOV MOV CLR #73567 ,R1 PC,DISPY RO #1770.R0 2$ PC.DCONT 1% #6010,R0 *GO LOAD BIT MAP *ADVANCE ADRS “TOP LINE DONE? ‘BR IF SO *LOAD NEXT PIXEL WD *NEXT MAP LOAD “SET UP BIT MAP ADRS - BOT LINE PC.DISPY RO #6030,RO 4% PC,DCONT 3% #1730,R0 #17 RO ;GO LOAD BIT MAP sADVANCE ADRS ;BOT LINE DONE? ;BR IF SO ;LOAD NEXT PIXEL WD sNEXT MAP LOAD ;SET UP BIT MAP ADRS SIDE LINES ;OFFSET NEXT ROW #6047 ,RO ;AT BOTTOM OF SCREEN? ;GO START VSVO1 DISPLAY ;GO LOAD BIT MAP ;SET UP PIXEL O DATA IN R1 = INT 7 #70000,Ri 6% PC.DISPY #7 ,R1 #21,R0 PC.DISPY 5% VTVSAV,aVTVCSR #2010 ,MAPADR #3,PIXCNT PIXASM sNOW LETS FIND THE LARGEST CELL LARGES: MOV TOTSIZ,CHARCT MOV @TABLEX,RO MOV TABLEX, R 1%: CMP RO, (R1)+ BHIS 38 CMP =(R1) ,THHI BHI 2% MOV (R1) ,RO 2%: TST (R1)+ 3%: DEC CHARCT BNE *SET UP PIXEL DATA IN R1 = INT 7 1% ;SET UP PIXEL 3 DATA IN R1 = INT 7 sOFFSET TO RIGHT LINE ;GO LOAD BIT MAP ;DO NEXT ROW ;START DISPLAY ;OFFSET BIT MAP ADRS sSET UP PIXEL BYTE COUNT ;CLR PIXEL ASSEMBLY WORD ;NUMBER OF ELEMENTS TO CONSIDER ;THIS IS FIRST GUESS ;R1 POINTS TO TABLE ;COMPARE GUESS AGAINST NEW ;GUESS STILL GOOD ;GUESS SMALLER BUT CHECK NEW sHI AGAINST UPPER THESHOLD ;WITHIN BOUNDS. MAKE THIS NEW HI : INCREASE REGISTER BY 2 ;COUNT THIS LAST COMPARISON CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.PT PROGRAM ROUTINES 605 B8-AUG-78 003252 163700 001266 609 g}? 003260 003264 000137 010037 003612 001304 608 003256 101002 BHI 4$: 003270 003276 013737 062737 621 622 623 624 625 626 627 628 629 630 631 003324 003330 003332 003340 003346 003352 003354 003360 003362 003364 003366 003372 005337 001006 012737 162737 020237 101003 163702 101002 005004 000423 013701 012703 633 634 635 636 003400 003402 003404 003406 006304 020201 103404 005701 2%: 640 003416 000241 4%: 641 642 €.3 644 645 646 SEQ 0022 JMP MOV 4% PATWRT RO, CPERL :BR IF CELL VALUE GREATER THAN LO THRESHOLD sDON'T DISPLAY-ALL VALUES BELOW LO THRESHOLD ;SAVE LARGEST CELL OF MATRIX sNOW PICK OUT EACH VALUE IN CORE MATRIX AND SCALE TO THE :PROPER INTENSITY LEVEL. THEN DISPLAY IT ON THE SELECTED DISPLAY 615 616 637 638 639 J :NOW ACCCUNT FOR LOWER THRESHOLD - BOW OUT IF TOO SMALL suB THLO,RO ;SUBTRACT LOWER THRESHOLD 612 g}z 632 PAGE 14 ;THE LARGEST CELL WITHIN THE UPPER THRESHOLD IS NOW IN RO 606 607 617 618 619 620 15:16 003304 003312 003316 003376 003410 003412 003414 003420 003422 003424 003426 003430 003432 012737 017702 062737 005004 001401 005204 160102 006001 005303 001365 160102 101401 005204 001310 017600 000100 175734 000002 001306 000100 000400 001270 001266 001304 000005 001252 001252 001306 001252 001306 001252 DMATRX: MOV ADD MOV DISLOP: MOV ADD DEC BNE MOV suB 1$: cMP BHI SuB BHI 2%: CLR BR SCLCEL: MoV MOV 3$: CLR ASL CMP BLO TST BEQ INC SuB CLC ROR DEC BNE SuB BLOS INC TABLEX,MRXADR #8064 . ,MRXADR ;BEGIN AT TOP LEFT ROW ;OFFSET TO BOTTOM OF CORE MATRIX ROWCNT 1% #64 . ,ROWCNT #256. ,MRXADR R2, THHI 2% THLO,R2 SCLCEL R4 MAPLD CPERL ,R1 #5.R3 ;COUNT CELL THIS ROW :BR IF ROW NOT FINISHED JRESET NEXT ROW COUNT :SET UP FOR NEXT ROW IN MATRIX sCELL WITHIN HI THRESHOLD? ;BR IF NOT ;SUB LOW THRESHOLD ;BR IF CELL ABOVE LOW THRESHOLD sSET CELL TO LOWEST INTENSITY #64 . ,ROWCNT @MRXADR,R2 #2 ,MRXADR R4 ;THERE ARE 64 CELLS PER ROW sGET A CELL VALUE FROM MATRIX ;BUMP MATRIX ADRS ;NOW ESTABLISH THE INTENSITY LEVEL ;SCALE TO 16 LEVELS R4 R2.R1 4% R1 ;MUL BY 2 CWARE THIS CELL TO LARGEST BR IF SMALLER CHECK CASE WHERE 0 DEVISOR R1 R3 2% R1,R2 MAPLD R4 ;MAKE DEVISOR SMALLER ;COUNT POSITION :AGAIN IF NOT SCALLED TO 16 LEVELS YET sACCOUNT FOR REMAINDER :BR IF TOO SMALL ;ROUND UP 3% R4 R1.R2 :BR IF SO sACCOUNT FOR GOOD SUBTRACTION sNO DO THE SUBTRACTION CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 PROGRAM ROUTINES 8-AUG-78 15:16 PAGE 15 K SEQ 0023 ;THIS CODE DISPLAYS EACH SCALED CELL ON THE vSVO1 013700 MAPLD: 001254 1%: CLC 001256 001260 004744 001256 001254 2%: ROR ROR ROR ADD TST BNE MOV JSR DEC MAPADR ,RO R4 1% R4 R& R4 R4 R4 R4 PIXASM PIXASM PIXASM PIXASM R4 ,PIXASM PIXCNT 2% PIXASM,R1 3%: 001254 ;PREPARE FOR PIXEL LOC sMOVE TO TOP 4 BITS *NOW ASSEMBLE THIS PIXEL INTO PIXEL WORD *NOW MAKE ROOM IN PIXEL WORD sADD THIS PIXEL TO OTHERS ;ALL & PIXELS DONE FOR THIS WORD? ;BR IF NOT ;LD PIXEL WORD INTO R1 ;LOAD BIT MAP s COUNT PIXEL MAPADR ;ADVANCE MAP ADRS ; ;LOAD INTO RO ;HAVE ALL 64 ROWS BEEN DONE? :BR IF NOT sNOW GO DISPLAY PARAMETERS :SAVE ROW POSITION BITS sNOW LOOK FOR END OF ROW ;BR IF NOT AT END sADVANCE MAP ADRS TO NEXT ROW ;GO GET NEXT MATRIX DATUM MAPADR , RO #5770,R0 38 003612 177740 000030 ;SET UP BIT MAP ADRS ;LOOK FOR NO INTENSITY ;BR IF NO INTENSITY ;OFFSET TO 0-17 PI.DISPY PIXCNT DISLOP PIXASM #3 ,PIXCNT 001256 001254 005770 000020 003312 ASL ASL ASL ASL ROR 001260 001260 001260 001260 001260 001260 000003 MOV 7ST BEQ DEC SWAB (ONE OF 16 LEVELS) PATWRT #177740,R0 #30,R0 4% #20 ,MAPADR DISLOP ;BR IF & PIXELS NOT ASSEMBLED YET ;CLR PIXEL ASSEMBLY WORD sRESET PIXEL COUNT CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 PROGRAM ROUTINES 8-AUG-78 15:16 PAGE 16 L SEQ 0024 NEANSOBEN 333333§§3 FIRAIIZRLRIR20228RERER ;CODE TO WRITE PARAMETER DATA AT BOTTOM OF SCREEN 716 012777 012000 005202 175400 113737 001275 000060 001242 001242 001242 007706 032777 000040 175304 000125 000120 007722 007723 000104 000116 007722 007723 000100 175242 000125 000120 007737 007740 000104 000116 005202 007737 007740 005202 175164 175154 005226 005202 005226 005202 RS ,AWRIT :DISPAY OCTAL JSR RS,VTWRIT JSR R5,AWRIT wD002 005226 112737 0004 06 112737 112737 JSR THLO 005202 032777 001007 112737 ;VSVO1 = SET CHAR POS,LINE 20, LEFT MARGIN wD001 005226 000406 112737 112737 #12000,aVvTVPOS R5,VTWRIT PATWRT: MOV JSR 001242 001244 THHI ;''CR,LOWER THRESHOLD'' :"'CR, UPPER THRESHOLD'' ;DISPAY OCTAL CAMERA+1 ,DUMMY1 ;GET CAMERA VALUE MOvB #60, DUMMY1 ADD sMAKE ASCII 1, CAMOUT DUMMY :SAVE FOR READOUT movs ;TEST THE 'PB'" FLAG ;TEST FOR "PB'’ FLAG ‘BITS aNCSFR BIT :BR IF SET BNE 1% #'U,PBUP ;NO- TELL OPER. IT WAS UP MOvVB #'P,PBUP+1 MovB BR 2% MovB #'D,PBUP sTELL OPER. #°'N,PBUP+1 MOvVB 2IEST FOR JOY=STICK BUTTON FLAG 1$: IT WAS DN #BIT6,aNCSFR 3% #'U,JBUP #'P,JBUP+1 4% #'D,JBUP ;TEST FOR "JOY-BUTTON'' FLAG :BR IF SET 3%: BIT BNE MOVB MOVB BR MOvVB 4%: JSR R5,VTWRIT ;DISPLAY CAMERA VALUE AND BUTTON STATUS JSR R5,VTWRIT MOV MOV JSR aNCBAR ,DUMMY1 aNCWCR,DUMMY?2 RS ,AWRIT JSR R5,VTWRIT s INSERT ="' JSR R5,AWRIT ;DISPLAY OCTAL JSR R5,VTWRIT MOVB DASH DUMMY1 wD004 #'N,JBUP+1 :TELL OPER. IT WAS UP ;TELL OPER. IT WAS DN ;"7 COUNT =*' ;DISPALY OCTAL ;"MATRIX COUNT="' CZINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 PROGRAM ROUTINES 004056 004064 004066 004070 004074 004076 004100 004104 004106 004112 004116 004122 004124 004130 004132 004136 004140 004144 013737 001300 M SEQ 0025 001310 TOTSI1Z,TEMPO MOV 001234 CLR CLR MXSML : R2 R3 TABLEX,R1 MOV Ag[c) '(‘31)*.513 A MXSML BNE 001242 001244 005226 MOV MOV JSR 005202 gig 005226 JSR DUMMY?2 H DUMMY1 JSR 005202 ;NOW ADD UP ALL VALUES IN MATRIX TEMPO DEC 001234 BCRLF R3.,DUMMY1 R2,DUMMY?2 RS,AWRIT ;TELL OPER. OCTAL RS,VTWRIT ; INSERT DASH RS,AWRIT R5,VTWRIT :TEST FOR GAIN = 2 AND B GAMMA STATES 748 749 750 751 752 753 754 755 004146 004152 004154 004160 004162 004170 757 758 759 760 761 762 004176 004200 004204 004206 004212 004220 756 PAGE 17 :DETERMINE THE # OF COUNTS IN THE MATRIX 727 728 729 730 731 732 733 734 735 736 737 738 739 7640 7641 742 743 744 745 7646 747 15:16 8-AUG-78 004172 001276 TST BEQ 005202 001310 "450000 1%: 005202 001312 002116 001272 001674 2%: 174754 3%: JSR wD005 GAIN 1% RS,VTWRIT CMP BNE JSR wDp006 TST ;'zoom'! TABLEX ,#MATRIX+20000 ;ISOTOPE B? Pé 3 ;NC RS,VTWRIT ;YES ;' B=-GAMMA'' FREERN ;IN FREE RUN MODE? JMP ROUTF BEQ MOV JMP 3% ;BR IF NOT COMSAV,aNCCSR LISN JRESUME THE NCV1 :DONE WITH MESSAGES :YES, GO GET NEW DATA CZNCDA T NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 PROGRAM ROUTINES 8-AUG-78 004712 N SEQ 0026 ;DRAW A BOX uP ONOVSV01 SCREEN FOR NCV11 JOYSTICK CALIBRATION R ;SET UP BIT MAP ADRS = TOP LINE CLR 073567 004744 1%: 000040 MOV JSR 2%: 007740 004744 3%: 010000 004756 (%: 5%: 174646 #73567 ,R1 PC.DISPY INC CMP BEQ RO #40,R0 BR MOV JSR INC cMP BEQ JSR BR MOV MOV JSR 18 #7740 ,R0 JSR 004756 001250 PAGE 18 ;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 sBE ACCESSIBLE IN A UNIFORM MANNER ;A CNTRL 'C' WILL GET USER BACK TO KEYBOARD MONITOR PC,ERASE TJOY ;START FRESH JSR 763 764 765 766 013777 15: 16 2% PC,.DCONT PC,DISPY RO #10000,RO 4% PC.DCONT 3% #40,R0 #7 .R1 PC,DISPY #70000,R1 #37 ,RO PC.DISPY RO #7740,RO 5% VTVSAV,aVTV(SR ;SET UP PIXEL DATA IN R1 = INT 7 ;GO LOAD BIT MAP :ADVANCE BIT MAP ADRS TOP LINE DONE? BR IF SO LOAD NEXT PIXEL :NEXT MAP LOAD :SET UP BIT MAP ADRS - BOT LINE ;GO LOAD BIT MAP ;ADVANCE ADRS ;BOT LINE DONE? ;BR IF SO ;LOAD NEXT PIXEL WORD INEXT MAP LOAD :SET UP BIT MAP ADRS SIDE LINES JSET UP PIXEL O DATA IN R1 = INT 7 ;GO LOAD BIT MAP ;SFT 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 JENABLE BIT MAP sNOW COLLECT ANALOG DATA FROM NCV11 JOYSTICK 012777 052777 105777 100375 004000 000001 174610 174622 174614 #B1T11,aNCSFR #BITO,aNCSFR 174606 001234 2% aNCJOY, TEMPO 005356 000040 174560 005006 ;CLEAR THE DEVICE s CONVERT JOYSTICK aNCSFR sDONE? 121T5.3NCSFR PC ,XYAVE ;GO AVG LAST 32. X-Y JOYSTICK VALUES ;LOOK FOR JOY BOTTON DOWN ;DON'T MOVE THE BUG PC,DISPY?2 ;GO DISPLAY CROSS HAIRS = VSVO1 1% :BR IF NOT ;STORE CONVERSION VALUES ;DO ANOTHER CONVERSION ! CZINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P1T PROGRAM SUBROUTINES 8-AUG-78 15:16 PAGE 19 - SEQ 0027 H t*tti*ttt't*t't'titi'tttttitittttfitfittfitttfitttttitttttt't't'tt* 814 815 816 817 ;ROUTINE SELECTS VSVO1 DISPLAY = SETS UP BUS ADRS AND INTENSITY LEVEL AND INTENSITY LOOK-UP TABLE = THE CARRY BIT IS SET ON EXIT IF THE VSVO1 IS NOT SEEN AT THE ASSIGNED BUS ADDRESS "tttQttttfiititfitifi.'tttttt'tfitfit"ifitt*ttt'fittfi*ttttt*tt't'ttttt 013700 012701 SELCTA: MOV 001166 001214 1%: 000002 001222 MOV MOV VTVADR,RO #VTVCRG,R1 RO, (R1)+ #2,R0 #VTVCSR,R1 1% VTMADR,RO 001170 001314 MSELCT 2% 000020 2%: 000002 001234 MOV #20,R0 RO, (R1)+ #2,R0O #VTVINT+2,R1 004570 174464 174466 001246 174466 000401 010000 000004 000006 000004 2% #5% ,a#ERRVEC aVTVCRG aVTVCSR 3%: 4%: 5%: MOV CcLC MOV RTS CMP SEC BR INTLUT RO RO,aVTVINT #401,R0 #10000,RO 38 ;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 ;USING SECOND MAP? :BR IF NOT sPOINT TO 2ND BIT MAP ADRS'S ;CONTINUE TO BIT MAP ADRS'S ;BUMP REG ADRS sALL SET UP? :BR IF NOT ;SET UP BUS TIMEOUT RETURN ADRS IF NO VSVO1 ;1S CHARACTER GENERATOR TheRE? :1S BIT MAP THERE? ;SET UP ADRS & DATA OF INTENSITY LOOK-UP TABLE ;SET UP TABLE ;ADVANCE ADRS & INTENSITY :TABLE LOADED? :BR IF NOT ;ZERO CARRY SAYS VSVO1 THERE HERRVEC+2, @#ERRVE SEXIT sRESTORE ER TRAP LOC PC sFIX STACK SINCE NO RTI (SP)+,(SP)+ 4% TO PT TO 6 ;CARRY ON EXIT SAYS NO VvSVO1 ;GO EXIT ;;tttfittttfitttttfi.ttttttttitttttitt.ttt.tt.it'tit'ttttttit'ittt" JROUTINE STARTS NCV11 AT SELECTED GAIN AND CAMERA ':tttttifit'fli'*&ttttttt'it'tttttttifitttitfiittttttt'*t'itti*'ttttt 012777 012777 053777 053777 052777 000207 004030 174370 174364 174354 174346 174340 NCSTRT: MOV MOV BIS BIS BIS RTS #4030,aNCCSR #MATRIX ,aNCOFF GAIN,aNCCSR CAMERA ,aNCCSR ;?Jro.auccsn ;SET UP 7B ENABLE AND 64*64 WORD MATRIX ;ENSURE OFFSET REG. IS SET ;SET UP GAIN ;SET UP CAMERA ;SET GO BIT sRETURN 2 ttttttittt.ttttttt"t"tt'.fitil.ttfit"t'tttfiifitlttitfittttt'ittt ;ROUTINE STOPS NCV11 AND SAVES NCV11 STATUS t.!t'itttt'ttt!.ttll"t""itfi.iitttQfi.tttfititttttttti'.ittittt 004656 017737 052777 005077 000207 174332 000400 174316 001272 174332 NCSTP MOV BIS CLR RTS aNCCSR, COMSAV #B1T8, aNCSFR aNCCSR PC :SAVE THE INTERFACE ACTION :DISABLE NPR'S ;ZERO ALL STATUS :RETURN CZNCDA NCV11 EXERCISER MACY11 27(654) PROGRAM SUBROUT INES CZNCDA.P1T 8-AUG-78 15:16 PAGE 20 C SEQ 0028 865 IRRRRERRRRRERARRRR R AR R AR RARRRRRRARRRRARRRRRAARRRAARRRAR R AR 867 e 004737 005077 005077 012700 005020 020027 001374 869 JROUTINE STOPS NCV11, SAVES STATUS AND CLEARS MATRIX CORE 2222222323232 3233333333333 3233323333233 3232333333220 0 22002ttt dRtd NCSTP1: JSR 004636 174310 174306 020000 1%: 060000 ;GO STOP NCV11 AND SAVE STATUS aNCWCR aNCBAR #MATRIX,RO CMP BNE ;ALL DONE? RO,#MATRIX+40000 1% ;BR _IF MORE CLR RTS 000207 PC,NCSTP CLR CLR MOV ;CLEAR HIGH WORD ;CLEAR LOW WORD ;GET SET TO ZERO CORE MATRIX AREA (RO) + ;ZERO LOC PC sRETURN ::ttttiQfifi'Qtttt'tt*i**ttt*tt'itttitfittt.Qt"tfittt*ttttt*ttttt'tt B 004712 004720 004724 004726 004742 052777 105777 100375 042777 012777 000207 001000 174276 174302 001000 002035 174266 174252 ;ROUTINE WILL ERASE DISPLAY 222222223233 2223323322333 33233333323 3233 3333322233232ttt sdd ERASE: 1%: BIS #1000,aVTVCSR ;ERASE DISPLAY (CLR BIT MAP) BPL BIC MOV 1% #1000,aVTVCSR #2035,aVTVCRG sWAIT FOR IT ;TURN OFF ERASE DISPLAY ;CLR CHAR SCREEN & DISABLE CURSOR TSTB RTS aVTVCSR PC ;LOOK FOR READY SEXIT ;:ttitt!tt'tt!titfi'tlt"tttitttt.fifittfititfittfittttttitittttttttfi.t e 004744 004752 004756 004770 004772 004776 005004 042777 010077 042777 105777 100375 010177 052777 000207 000400 174246 000400 174232 174230 000400 ;ROUTINE WILL LOAD BIT MAP (VSVO01) ;RO CONTAINS BIT MAP ADRS AND R1 THE BIT MAP DATA 2222222223232 2232332333232 22 3333322333223 174250 DISPY: 174236 DCONT: 1%: 174216 Rttt BIC MOV BIC #400,aVTVCSR RO,aVTVMAP #400,aVTVCSR ;STOP DISPLAY ;LOAD BIT MAP ADRS ;AGAIN IF ENTERING HERE BPL MOV BIS 1% R1,aVTVPX #400,aVTVCSR sWAIT THEN ;LOAD BIT MAP sRESUME DISPLAY TSTB RTS aVTVCSR PC Rttt d ;READY? sRETURN ::ttttififittt"ttittttiti*ttt!ti'ti!fitfitfit*li*fiitttitttttifittttttt ;ROUTINE WILL DISPLAY X & Y CROSS HAIRS ON VSVO1 PIRARRRARRRRAR KRR 005006 005012 005014 005020 005026 005034 005777 174202 105137 001235 001234 016000 100375 013777 052777 000207 DISPY2: 174170 174160 TST BPL coMB MOV BIS RTS AR RN RAARA AR AR RRRRRRRRRRRR aVTVCRG AR RRRR AR AR RS ;READY? DISPY2 TEMPO+1 sWAIT IF NOT ;X NEEDS TO BE INVERTED #16000,aVTVCRG ;ENABLE THE CROSS HAIRS TEMPO,aVTVCHP PC ;LOAD X & Y CROSS HAIRS sRETURN AREA CZINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA. P11 PROGRAM SUBROUTINES 8-AUG-78 15:16 PAGE 21 D SEQ 0029 tttttttfittttttit.itii*'tQt"'tttttfitifittttt.t'tti.ttttttt'ttttt 910 9 912 913 914 915 916 917 ;ROUTINE WIIL FILL CORE WITH AN IMAGE THAT WHEN ;DISPLAYED WILL CONTAIN ALL THE INTENSITY LEVELS *ROWS AT THE BOTTOM OF THE SCREEN WILL APPEAR BRIGHTEST = ;NOTE THAT THIS IS ONLY A DISPLAY TEST PATTERN FOR e :POSSIBLE DISPLAY ADJUSTMENTS BY THE USER 2233222233232 2332233333333 2333333322223 LDIMGE: MOV MOV 000100 001310 000100 000100 MOV 1%: 000001 000100 2%: MOV MOV DEC BNE DEC BEQ SuB MOV BR RTS 22ttt iRl #100,RO TABLEX,R1 ;COUNT 64 ROWS ;GET SELECTED ISOTOPE #100,R3 :100 WILL REPRESENT HIGHEST INTENSITY LEVEL(100-0) #100,R2 R3,(R1)+ R2 1% RO 2% #1,R3 #100,R2 1% PC sCOUNT 64 DATA POINTS PER ROW :LOAD CORE IMAGE :DONE ROW? ;BR IF NOT ;DONE ROWS? ;BR IF SO sLOWER NEXT CELL VALUE JRESET ROW LENGTH COUNTER ;LOAD THIS ROW IMAGE sRETURN FOR DISPLAY ;:tttttttttttttttttfittt*i*t"fittt"iit.itttfittttt.itfiitttttttt*tt sKEYBOARD INTERRUPT SERVICE ROUTINE PIRRARARRERRARRARRARRRRERRE AR AR ARARRRRRRRRAARERRRRRARR AR R AR 017737 013777 042737 022737 001002 000137 000002 174036 001262 177600 000003 001262 174032 001262 001262 KBINT: a$TKB ,KBUF F KBUFF ,a$TPB #177600,KBUFF BNE 1% CMP s 001650 MOV MOV BIC ;?? #3 KBUFF LISEN ;READ KEY BOARD ;ECHO CHAR. ;RID PARITY sCNTRL 'C'? ;BR IF NOT ;ABORT WHATEVER & LOOK FOR NEXT COMMAND ifititt.*ti*ttttfittfittt*tttttttt.i.titttitttfittitfitt"t't'tttttt ROUTINE TYPES "CR' AND 'LF' OR CHAR IN TTYOUT tttttttttttt*ttttitt'tttttttt.ttt'tfittfittttttfittttttttt.tttttt' 001264 012737 004737 012737 000015 005164 000012 001264 013777 000207 001264 173752 105777 100375 173760 TYPCR MOV #15,TTYOUT ;SET UP FOR A 'CR' TYPO: MOV TSTB #12,TTYOUT a$TPS sSET UP FOR LF ;WAIT FOR LAST CHARACTER RTS PC JSR BPL MOV PC,TYPO TYPO TTYOUT,a$TPB ;SEND IT OUT CZINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 PROGRAM SUBROUTINES 8-AUG-78 15:16 PAGE 22 E SEQ 0030 ::t*tt*tttttt.tt*tttifi"'ttiit*fit*t!ttitifitttfiQtittttttfittt*ttttt 953 ;THIS SUBROUTINE IS CALLED WITH THE ADDRESS OF A MESSAGE TERM WITH A 0 BYTE :;tt'titttttt't'ttfiifiitititt"tt.*tiiii'tt'iittfitlttltttttttitt't 012504 005777 100375 105714 001403 112477 000770 000205 174004 (R5)+,R4 ;GET ADDRESS OF MESSAGE IN R4 VTIWRIT: MOV TST 1%: BPL ?xTVCRG ;WAIT FOR READY (R4) 2% %24)*.3VTVCRG . TERM ? sBR IF YES ;LOAD THE CHARACTER 2%: R5 SEXIT TSTB BEQ MovB BR RTS 173772 R 2222322222223 2332233332323 33333332333 23233 23232323322ttt sdds *THIS ROUTINE CONVERTS OCTAL INTO ASCII FOR DISPLAY 222222222223 323 33233332333 23333333 333233332333 323223232233 2332t 012537 017737 010046 012700 012737 000406 006237 006237 006237 013737 042737 062737 113740 005337 001354 012600 004537 005346 000205 000000 000000 000005 060 060 000 005356 005340 000102 005340 005354 000006 005344 005340 AWRIT: 005342 005342 005342 2%: 108 108 108 108,118 #177770,11% #60,11% 118,-(RO) }gs ;SHIFT DATA (SP)+,R0O 005202 060 060 ;GET VALUE'S ADDRESS ;GET ACTUAL VALUE ;SAVE RO :LOAD LAST ADDRESS OF OCTAL TYPEOUT 52.125 1%: 060 060 108: 11%: 12%: NUMBEG: : NUMEND 5 .BYTE .BYTE .EVEN sdd) (R5)+,10% 210%,10% RO,=-(SP) #NUMEND ,RO ;LOAD LOOP COUNTER ;COPY THE VALUE ;MASK OFF UNWANTED BITS ;MAKE ASCII OCTAL :SAVE THE CHAR. sFINISHED ? RS5,VTWRIT ;DISPAY THE OCTAL # RS JEXIT 60,60,60,60,60,60 0 £ CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P1 995 996 997 998 999 1000 1001 1002 1003 PROGRAM SUBROUTINES 8-AUG-78 15:16 PAGE 23 SEQ 0031 :;tQQti'tttttt*titfitiit'tit*ttttfl*Qfittttt*ttlttittfitfittttttfittttt ;THIS ROUTINE AVERAGES THE LAST 32. X-Y JOYSTICK VALUES ':tQtt'tlittfitfittttt*tt'tQti'itfiitifittttii'ttiitttt.t*tttt'fittttt 005356 005360 005364 005370 005372 005376 001234 XYAVE: MOV MOV MOV MOV 005604 1%: CMP BLO MOV MOV MOV JSR MOVB 005505 005446 001234 RO,-(SP) TEMPO,RO XYBUFP,R2 RO, (R2)+ ?i.#vaUFE #XYBUF ,R2 R2,XYBUFP #XYBUF ,R2 PC,10% RO,=(SP) #XYBUF +1,R2 PC.108 RO (SP) +,R0 RO, TEMPO (SP)+,RO PC — D RO R5 (R2)+,R5 R5.RO R2 R2 ,#XYBUFE 11% 005604 1025 1026 1027 1028 1029 005470 005472 005474 005476 005502 1031 005504 1033 005604 R #177400,R0O 177400 005604 005504 PC : XYBUF XYBUFP: XYBUF :SAVE RO JGET X & Y :GET CURRENT BUFFER POINTER :SAVE NEW X-Y VALUE JEND OF BUFFER? :NO ;YES, GO BACK TO BEGINING OF BUFFER ;SAVE NEW BUFFER POINTER sCALC AVE X JSAVE IT ;CALC AVE Y ;GO DO IT JGET X=Y IN RO ;GET SAVED X :PUT IN TEMPO :RESTORE RO SEXIT WITH AVE X=Y IN TEMPO :ZERO SUM ;DO A MOVB TO A REG (UNSIGNED) JADD IT IN ;SKIP OTHER VALUE ;END OF BUFFER? sNO ;:DIVIDE BY 32. ;CLR HI BYTE NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 PROGRAM SUBROUT INES 1034 8-AUG-78 15:16 PAGE 24 G SEQ 0032 L 2222222223232 3 3333333233323 23 3332333333233 L 2222222232233 2333323233233 3 223333333322 3333232 3232222222 R 2222222223232 3233333333232 33 3332322223233 32232332ttt ittis st ds "SBTTL "ENABL TTY INPUT ROUT:NE 22323 2 Rl LSB R dtldd) ;*SOF TWARE SWITCH REGISTER CHANGE ROUTINE. s*ROUTINE IS ENTERED FROM THE TRAP HANDLER, AND WILL ;*SERVICE THE TEST FOR CHANGE IN SOF TWARE SWITCH REGISTER TRAP (ALL 022737 001074 105777 100071 117746 042716 000176 001140 #~C177,(SP) #7,(SP)+ 15% #1 $SAUTOB, 15% 000001 000176 006476 173240 $GTSWR: TYPE 19%: CLR 7%: TSTB .SCNTLG . SMSWR SWREG,~(SP) . SMNEW =(SP) -(SP) a$TKS 7$ 9%: cMP 006453 000006 20%: ADD #6,SP 19% 021627 001022 005766 001403 016677 000015 108 : CMP (SP) ,#15 16% 4(SP) 11% 2(SP) ,aSWwR #6,SP 108 LSCNTLU 000001 .SCRLF $INTAG,.#1 000100 173136 #100,a8TKS — < R m 000002 000006 001161 001135 = ;:STRIP-OFF THE ASCII ;:1S IT A CONTROL G? ;sNO, RETURN TO USER ;:ARE WE RUNNING IN AUTO-MODE? ;;BRANCH IF YES ::ECHO THE CONTROL=-G (*G) ::TYPE CURRENT CONTENTS ;:SAVE SWREG FOR TYPEOUT ::GO TYPE--OCTAL ASCII(CALL DIGITS) ::PROMPT FOR NEW SWR ;sCLEAR COUNTER ;s THE NEW SWR ::CHAR THERE? ;:1F NOT TRY AGAIN ;:1S IT A CONTROL-U? 2 ;BRANCH IF NOT ;.YES, ECHO CONTROL-U (*U) ;. IGNORE PREVIOUS INPUT ;;LET'S TRY IT AGAIN 000025 012777 ;2IF NO, DON'T WAIT AROUND ::SAVE THE CHAR (SP) ,#25 021627 001005 104401 062706 000757 #~C177.(SP) 173160 ;:CHAR THERE? ;:PICK UP CHAR ;;MAKE IT 7-BIT ASCII 173234 177600 000004 :21S THE SOFT-SWR SELECTED? ;:BRANCH IF NO as$TKB,~(SP) 117746 042716 L2 005736 005742 005744 005750 005752 005760 005764 005770 005776 15% asTKS 15% as$TKB, = (SP) 173316 177600 000007 006460 006465 005734 #SWREG, SWR 173322 001134 005716 ; *WHEN OPERATING IN TTY FLAG MODE. $CKSWR: CMP —_— CZINCDA 15% ;IS IT A <CR>? :2BRANCH IF NO ::YES, IS IT THE FIRST CHAR? :;BRANCH IF YES ;+SAVE NEW SWR ;:CLEAR UP STACK :2ECHO <CR> AND <LF> ::RE-ENABLE TTY KBD INTERRUPTS? ;:BRANCH IF NOT ;RE-ENABLE TTY KBD INTERRUPTS NCV11 EXERCISER MACY11 27(654) 8-AUG-78 1089 1090 006006 006010 006014 000002 004737 021627 006660 000060 16%: 1092 006022 021627 000067 1094 1095 006030 006034 042726 005766 000060 000002 1098 006044 006316 VONOWVNSWN =0V mbwm-flog QREKS 88 E: i 104401 001160 18%: ~ 056616 17%: .DSABL R L - %CALL: 173034 177600 000004 000004 000004 000023 006132 105777 173006 006140 006144 006150 117746 042716 022%22 173002 177600 000021 WR) = 006160 026627 000004 000140 006170 026627 000004 000175 NOVwn 006200 042766 000040 000004 ~ S W - R v o~ G e U G e e QU QU W % 117766 042766 026627 —— 006106 006114 006122 g 000002 g g O D D D - P e R 000004 173040 e 011646 016666 105777 D e S - % ~nbW -~ OO PC,STYPEC (SP) ,#60 18% BLT CMP BGT BIC #60, (SP) + ASL 17% (SP) (SP) (SP) INC BIS BR TYPE BR LSB (SP) ,#67 18% 2(SP) 2(SP) ~2(SP), (SP) 7% . $QUES 208 RDCHR RETURN HERE $RDCHR: MOV MOV (SP) ,-(SP) 4(SP) ,2(SP) BPL MOVB 1% @$TKB,4(SP) 1%: TSTB BIC 28: S U JSR CMP H SEQ 0033 2 sRETURN ;;ECHO CHAR ::CHAR < 0? :;BRANCH IF YES :2CHAR > 7? ::BRANCH IF YES ;:STRIP-0OFF ASCII ::1S THIS THE FIRST CHAR ;sBRANCH IF YES ::NO, SHIFT PRESENT CHAR OVER TO MAKE o8 ROOM FOR NEW ONE. 2 ;;KEEP COUNT OF CHAR ::SET IN NEW CHAR :2GET THE NEXT ONE ;:TYPE ?2<CR><LF> ; :SIMULATE CONTROL=-U 2222222233322 3323233332333 23333333 3333333333223 232233223 22sddddd) i o U ) ) e — RTI PAGE 25 ;*THIS ROUTINE WILL INPUT A SINGLE CHARACTER FROM THE TTY 006070 006072 006100 e e e A 15:16 TST BEQ ASL ASL 000002 177776 o gp— Y 006054 006060 006062 15%: o oo P N JU N P i TTY INPUT ROUTINE D D PP [(eleole) Wh = 83 CZNCDA.P1 ~ CZINCDA 3$: 4$: @$TKS #AC<177>.4(SP) CMP BNE TSTB BPL MOVB BIC CMP BNE 4(SP) ,#23 3s @$TKS 28 @$TKB,~-(SP) #-C177, (SP) (SP)+,4#21 2$ CMP 4(SP) ,#140 B8R BLT CMP BGT BIC RTI 1$ 4$ 4(SP) ,#175 4$ #40,4 (SP) ;s INPUT A SINGLE CHARACTER FROM THE TTY ;. CHARACTER IS ON THE STACK ;;WITH PARITY BIT STRIPPED OFF ;:PUSH DOWN THE PC ::SAVE THE PS ;:WAIT FOR ;<A CHARACTER ;;READ THE TTY ;:GET RID OF JUNK IF ANY ;21S IT A CONTROL=-S? ::BRANCH IF NO ::WAIT FOR A CHARACTER :2LO0P UNTIL ITS THERE :2;GET CHARACTER JJMAKE IT 7-BIT ASCII ;1S IT A CONTROL=-Q? ;s1F NOT DISCARD IT ;sYES, RESUME ;:1S IT UPPER CASE? ;:BRANCH IF YES :21S IT A SPECIAL CHAR? ;;BRANCH IF YES ;;MAKE IT UPPER CASE ;:G0 BACK TO USER ';tltittttttfit.ttrtttttttt"'tifittitifitfifiltttttttit.tfittttt.ttltt “%THIS ROUTINE WILL INPUT A STRING FROM THE TTY s*CALL: o :» RDLIN RETURN HERE ;2 INPUT A STRING FROM THE TTY ;;ADDRESS OF FIRST CHARACTER WILL BE ON THE STACK CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P1T TTY INPUT ROUTINE 8-AUG-78 15:16 PAGE 26 I ;;TERMINATOR WILL BE A BYTE OF ALL 0'S % ) i ) cndh 146 47 006214 006220 D 006232 012703 022703 006444 006453 122713 000177 $RDLIN: MOV CLR 1%: MOV R3,-(SP) 2%: CMP -(SP) #STTYIN,R3 z:TTYIN+7,R3 108: CMPB +, (R3) (SP) #177,(R3) ) i D D il D s D il i i 112737 104401 012716 000134 006442 177777 ;;CLEAR THL RUBOUT KEY ;:GET ADDRESS ;;BUFFER FULL? ;:BR IF YES :2G0 READ ONE CHARACTER FROM THE TTY ;2GET CHARACTER ..IS IT A RUBOUT ;BR IF NO 006264 020327 006444 006272 111337 006442 006442 b ) ;BR IF NO 006442 b i 006244 006252 006256 ,,TYPE A BACK SLASH 6%: DEC 58: TST 7%: CMPB 006310 112737 000134 006442 006324 122713 000025 006332 104401 006453 006340 122713 000022 006354 104401 001161 006444 882362 104401 001160 4%: BR TYPE 006370 006374 006400 111337 104401 122723 006442 006442 000015 3%: MOVB 006406 006412 104401 ~ n o & D i D D s D i NNNNNNNVNO b and i b o b D b 00 Qo Co 0o 0o b b s s.SAVE R2 ..IS THIS THE FIRST RUBOUT? 105063 #-1,(SP) R3 R3,A$TTYIN L3 ] (R3),9% $ 006442 ;sCLEAR THE RUBOUT KEY ;:1S CHARACTER A CTRL U? ;:BR IF NO 8%: ;G0 START OVER ::1S CHARACTER A '“R'"? CMPB ;:BRANCH IF NO ;:CLEAR THE CHARACTER J:TYPE A "CR'' & "LF' ;2TYPE THE INPUT STRING ;:G0 PICKUP ANOTHER CHACTER :TYPE A °?° R #15,(R3)+ 177777 2% -1(R3) 000004 006444 (SP) ,-(SP) 4(SP) ,2(SP) #STTYIN,4(SP) 001162 .SLF (SP)+ (SP)+ ,R3 006424 006432 016666 012766 000002 :;SET THE RUBOUT KEY ; sBACKUP BY ONE ;:STACK EMPTY? ;:BR IF YES ::SETUP TO TYPEOUT THE DELETED CHAR. 2:G0 TYPE ::G0 READ ANOTHER CHAR. :;RUBOUT KEY SET? ;:BR IF NO ;sTYPE A BACK SLASH ;sTYPE A CONTROL 'V’ b el b i ek i b SEQ 0034 000002 000004 9%: $TTYIN: RTI .BYTE .BYTE .BLKB 0 0 7 ;sCLEAR THE BUFFER AND LOOP ;+ECHO THE CHARACTER ;:CHECK FOR RETURN ;:LO0P IF NOT RETURN ;:CLEAR RETURN (THE 15) ::TYPE A LINE FEED ;2CLEAN RUBOUT KEY FROM THE STACK ,,RESTORE R3 ::;ADJUST THE STACK AND PUT ADDRESS OF 22 ; :RETURN FIRST ASCII CHARACTER ON IT ;:STORAGE FOR ASCII CHAR. TO TYPE ;s TERMINATOR :;RESERVE 7 BYTES FOR TTY INPUT THE CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P1 TTY INPUT ROUTINE 136 043536 015 036440 020040 020075 006510 006525 8-AUG-78 .ASCIZ .ASCIZ .ASCIZ <15><12>/SWR = 020127 $MNEW: .ASCIZ / D NEW = TYPE ROUTINE 3'\) CE AR AR I AR RAERARRRRANR AR AR RRRRRERREARRCRRRR AR AR *ROU'INE TO TYPE ASCIZ MESSAGE. MESSAGE MUST TERMINATE WITH A O BYTE. :*THE ROUTINE WILL INSERT A NUMBER OF NULL CHARACTERS AFTER A LINE FEED. $NULL CONTAINS THE CHARACTER TO BE USED AS THE FILLER CHARACTER. *NOTE1 $FILLS CONTAINS THE NUMBER OF FILLER CHARACTERS REQUIRED. :'NOTEZ: WN=O ONOVESWN=O VNN ;:CONTROL 'V’ ;;CONTROL ''G"’ 2222222232333 222232233323 23323233233333 3323333323322 iRt Rddl) IRRRRRRRR AR i =D D d D D ol - ) = e D D d ) /*U/<15><12> /*G/<15><12> $CNTLU: $CNTLG: $MSWR: .EVEN $FILLC CONTAINS THE CHARACTER TO FILL AFTER. ;*NOTE3: % s*CALL: t1) USING A TRAP INSTRUCTION TYPE .MESADR ;;MESADR 1S FIRST ADDRESS OF AN ASCIZ STRING TYPE ME SADR 105737 100002 000000 001157 000002 NN = NONWVS TSTB 18: 2%: $TPFLG 1% 3% RO,=(SP) a@2(SP) ,RO (RO) +,-(SP) 000002 60%: 3%: 4% + (SP) (SP)+,R0O #2,(SP) 000011 4%: #HT, (SP) ) e e d D SEQ 0035 000200 8% 006660 001156 013746 001154 105366 000001 002770 004737 006660 5%: 6%: 7%: ..IF TERMINATOR POP IT OFF THE STACK ::RESTORE RO ::;ADJUST RETURN PC ;JRETURN ::BRANCH IF <HT> ;;BRANCH IF NOT <CRLF> (SP) + :;POP <CR><LF> EQUIV :.TYPE A CR AND LF $CHARCNT 2% ;sCLEAR CHARACTER COUNT ;.GET NEXT CHARACTER 2.G0 TYPE THIS CHARACTER 2.IS IT TIME FOR FILLER CHARS.? ::1F NO GO GET NEXT CHAR. ;.GET # OF FILLER CHARS. NEEDED ;:AND THE NULL CHAR. ..DOES A NULL NEED TO BE TYPED? ;BR IF NO--GO POP THE NULL OFF OF STACK ::G0 TYPE A NULL 5% 006724 ;21S THERE A TERMINAL? ;:BR IF YES ;HALT HERE IF NO TERMINAL s s LEAVE ::SAVE RO :2GET ADDRESS OF ASCIZ STRING ..PUSH CHARACTER TO BE TYPED ONTO STACK :BR IF IT ISN'T THE TERMINATOR #CRLF , (SP) — e J 000012 000 051127 "SBTTL NN NN N RS LA AN S S LS TS TN TS TN TS TS TS TS TS TS TS IS 1Y) RN b b b ) b i i eld b s PAGE 27 15:16 PC,STYPEC $FILLC,(SP)+ 2% $NULL ,=(SP) 1(SP) 6% PC,$TYPEC CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 006626 006632 TYPE ROUTINE 105337 000770 15:16 DECB 006724 BR PAGE 28 3 $CHARCNT 7% SEQ 0036 ;:D0 NOT COUNT AS A COUNT ;. LOOP ;HORIZONTAL TAB PROCESSOR 006634 006640 006644 006652 006654 006656 006660 006664 006666 006674 006702 006704 006710 006712 006720 006722 006724 006726 112716 004737 132737 001372 005726 000724 105777 100375 116677 122766 001003 105037 000040 006660 000007 122766 001402 105227 000 000207 000012 006724 8%: 9%: MOVB JSR BITB BNE TST B8R $TYPEC: TSTB 172264 000002 000015 BPL MOVB 172256 000002 CMPB BNE CLRB 006724 000002 B8R 1%: CMPB BEQ INCB $CHARCNT: .WORD $TYPEX: RTS #' ,(SP) PC,S$TYPEC #7 ,8$CHARCNT 9% ;REPLACE TAB WITH SPACE ;:TYPE A SPACE ;sBRANCH IF NOT AT ;:TAB STOP 2% a$TPS ;2GET NEXT CHARACTER ;sWAIT UNTIL PRINTER IS READY (SP)+ $TYPEC ;sPOP SPACE OFF STACK 2(SP) ,a$TPB ;:LOAD CHAR TO BE TYPED INTO DATA REG. $CHARCNT ;2YES==CLEAR CHARACTER COUNT #CR,2(SP) 1% $TYPEX #LF ,2(SP) $TYPEX (PC)+ 0 PC :21S CHARACTER A CARRIAGE RETURN? :2BRANCH IF NO 2EX1Y ;21S CHARACTER A LINE FEED? ;;BRANCH IF YES ;2COUNT THE CHARACTER 2 sCHARACTER COUNT STORAGE ':ttit'ttttittttitttttttittt'tttitfififi'fififiiititfifittttttt.titt*tiit "SBTTL 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 8-AUG-78 K BINARY TO OCTAL (ASCII) AND TYPE ::ttttttfittt*tttttt!tfittt'tttttitti'ttittttt*tittt!ttflttt't'tttit ;*THIS ROUTINE IS USED TO CHANGE A 16-BIT BINARY NUMBER TO A 6-DIGIT s*0OCTAL (ASCII) NUMBER AND TYPE IT. ;*$TYPOS=--ENTER HERE TO SETUP SUPPRESS ZEROS AND NUMBER OF DIGITS TO TYPE s+CALL: L MOV TYPOS .BYTE BYTE NUM,-(SP) N M £ ¥ P i o* o* ;:NUMBER TO BE TYPED ;:CALL FOR TYPEOUT ;:N=1 TO 6 FOR NUMBER OF DIGITS TO TYPE ;:M=10R 0 ::1=TYPE LEADING ZEROS ;:0=SUPPRESS LEADING ZEROS ;*$TYPON--=-ENTER HERE TO TYPE OUT WITH THE SAME PARAMETERS AS THE LAST ;*$TYPOS OR $TYPOC s*CALL: A ) X 3 MOV TYPON NUM, - (SP) c ;:NUMBER TO BE TYPED ;sCALL FOR TYPEOUT :*2LIEOC-°-ENTER HERE FOR TYPEOUT OF A 16 BIT NUMBER o¥ i 006730 006734 006742 006746 017646 116637 112637 062716 000000 000001 007155 000002 007153 MOV TYPOC POS: MOV MOvVB MOovB ADD NUM, - (SP) ;;NUMBER TO BE TYPED ;sCALL FOR TYPEOUT a(SP) ,-(SP) :;PICKUP THE MODE 1(SP) ,SOFILL (SP)+,$OMODE+1 #2,(SP) ;sLOAD ZERO FILL SWITCH ;;NUMBER OF DIGITS TO TYPE ;;ADJUST RETURN ADDRESS CZINCDA NCV11 EXERCISER MACY11 27(654) BINARY TO OCTAL (ASCII) AND TYPE 000406 112737 112737 112737 007153 007155 007152 000001 000006 000005 15:16 BR $TYPOC: MOVB MOVB $TYPON: MOVB WNN=O VNV CONOWVIESWN = $TYPON #1,80F ILL #6,$OMODE +1 #5,80CNT R3,-(SP) R4 ,-(SP) R5,-(SP) R4 $OFILL 12(SP) ,RS 007154 1%: ROL 2%: ROL 3%: ROL 177770 000060 oo RRR Vi v NO\WnES WN - d e e D e d e D SEQ 0037 ::SET THE ZERO FILL SWITCH ;sSET FOR SIX(6) DIGITS :2SET THE ITERATION COUNT ::SAVE R3 2 :SAVE R4 ;:SAVE RS :2GET THE NUMBER OF DIGITS TO TYPE ;:SUBTRACT IT FOR MAX. ALLOWED ::SAVE IT FOR USE ::GET THE ZERO FILL SWITCH ::PICKUP THE INPUT NUMBER :2CLEAR THE OUTPUT WORD :;ROTATE MSB INTO ‘C*' ;:G0 DO MSB ;2:FORM THIS DIGIT R $OMODE 7$ 4%: INC ::GET LSB OF THIS DIGIT :2TYPE THIS DIGIT? ;:BR IF NO ;:GET RID OF JUNK ;2TEST FOR O 5%: BIS 7%: DECB 6%: MOV ::BR IF YES ;:DON'T SUPPRESS ANYMORE 0'S ;sMAKE THIS DIGIT ASCII :2MAKE ASCII IF NOT ALREADY ::SAVE FOR TYPING :2G0 TYPE THIS DIGIT (SP)+,R5 + R4 (SP) (SP)+,R3 2(SP) ,4(SP) 000004 (SP)+,(SP) b 000002 —d 3 ; ;SUPPRESS THIS 0? 007150 007150 007152 WWWWWWWW L R& #6 R4 Ré , SOMODE 000006 007154 007153 000012 W 1332 PAGE 29 ,R4 +1DE $OMO 007155 —_ T N IR ST O Y WW W Y (S YO Y Y QRIS gk b b e b cd — —— —— Y D P R ) o R s WWWWWWWWWW P R R 3RER o CZINCDA.P11 8-AUG-78 8%: BYTE $OCNT: .BYTE $OFILL: .BYTE $OMODE: .WORD 0 0 0 0 0 :2COUNT BY 1 ;:BR IF MORE TO DO ;:BR IF DONE ;2 INSURE LAST DIGIT ISN'T A BLANK ;:G0 DO THE LAST DIGIT ::RESTORE RS :;RESTORE R4 :;RESTORE R3 :2SET THE STACK FOR RETURNING ; ;RETURN ;:STORAGE FOR ASCII DIGIT :; TERMINATOR FOR TYPE ROUTINE :;0CTAL DIGIT COUNTER ::ZERO FILL SWITCH ; sNUMBER OF DIGITS TO TYPE AR AR AR A AR A AR R A AR AR AR AR AR A AR A AR A AR AAAA AR AR "SBTTL READ AN OCTAL NUMBER FROM THE TTY AR AR R AR A AR & ::tttttttttttltttttttt'tttttfittttt.fitt.tttttlttittittlitt.t"'ttt ;*THIS ROUTINE WILL READ AN OCTAL (ASCII) NUMBER FROM THE TTY AND s*CHANGE IT TO BINARY. ICZNCDA NCV11 EXERCISER MACY11 27(654) B8-AUG-78 15:16 PAGE 30 +CZNCDA.P11 READ AN ;*THE INPUT CHARACTERS WILL BE CHECKED TO INSURED THEY ARE LEGAL s*OCTAL DIGITS. IF AN ILLEGAL CHARACTER IS READ A '"?'' WILL BE TYPED :*FOLLOWED BY A CARRIAGE RETURN-LINE FEED. THE COMPLETE NUMBER MUST ;*THEN BE RETYPED. :*CALL: d D L L THE INPUT IS TERMINATED BY TYPING A CARRIAGE RETURN. RDOCT RETURN HERE D i i < % i 000004 ~ o - £83283388 ~ ~ ~ NN N o o 000002 $RDOCT: MOV MOV MOV MOV MOV 1$: 007304 2%: 000060 000067 NRIRRENY OSSOSO g 88888838 BPeeeeELE REEEL EEIIISIN ~N i d ——y I SEQ 0038 OCTAL NUMBER FROM THE TTY 1361 WWWW ;—ld—ldd-‘dd-‘—.-‘—.-fl-‘ WWWWW 5 \JVV& B R ANA AN A N=O0 EERERER M 3%: (SP)+ ,RO RO,5% R1 R2 (RO) +,-(SP) 3% #'0,(SP) 43 #'7,(SP) 4% R1 R2 R1 R2 BIC #*C7,(SP) ADD BR TST MOV MOV MOV MOV MOV 4% : 001160 5%: $HIOCT: R1,-(SP) R2,=(SP) MOV MOV CLR CLR MOVB BEQ CMPB BGT CMPB BLT ASL ROL ASL ROL ASL ROL 177770 000012 007314 RDLIN (SP) ,=(SP) 4(SP) ,2(SP) RO,=(SP) RTI TST R1 R2 (SP)+ ,R1 2% + (SP) R1,12(SP) R2,$HIOCT (SP)+ ,R2 (SP)+,R1 (SP)+,R0O (SP) + CLRB (RO) .WORD 0 BR .WORD 1% O TYPE TYPE . SQUES ;;READ AN OCTAL NUMBER ;;LOW ORDER BITS ARE ON TOP OF THE STACK ;;HIGH ORDER BITS ARE IN SHIOCT ::PROVIDE SPACE FOR THE ;: INPUT NUMBER :;PUSH RO ON STACK ::PUSH R1 ON STACK ::PUSH R2 ON STACK :JREAD AN ASCIZ LINE :2GET ADDRESS OF 1ST CHARACTER ;sAND SAVE IT ;;CLEAR DATA WORD ;;PICKUP THIS CHARACTER 1F ZERO GET OUT ;. ;sMAKE SURE THIS CHARACTER ;:1S AN OCTAL DIGIT i L ;.8 ;:STRIP THE ASCII JUNK ..ADD IN THIS DIGIT LOOP ..CLEAN TERMINATOR FROM STACK ;. SAVE THE RESULT ::POP STACK INTO R2 ;:POP STACK INTO R1 ::POP STACK INTO RO ; ;RETURN ::CLEAN PARTIAL FROM STACK :2SET A TERMINATOR ;:TYPE UP THRU THE BAD (HAR. 3 .l‘,ll llchOz ,,TRY AGAIN OLF'. ;;HIGH ORDER BITS GO HERE° CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.PI 14606 1407 1408 1409 1410 141 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 14624 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 8-AUG-78 READ AN OCTAL NUMBER FROM THE TTY L 15:16 PAGE 31 N SEQ 0039 2322222322332 3222 3333323223333 33 3322223222222 222822222 "SBTTL TRAP DECODER 2R Rd00Rd R t'..tt"t'..'tttltt'.".Qtt.Qlt...Q.Qil.....'t..l.'.....'.i.". 'THIS ROUTINE WILL PICKUP THE LOWER BYTE OF THE '‘TRAP'" INSTRUCTION s*AND USE IT TO INDEX THROUGH THE TRAP TABLE FOR THE STARTING ADDRESS ;*OF THE DESIRED ROUTINE. THEN USING THE ADDRESS OBTAINED IT WILL :*GO TO THAT ROUTINE. 010046 016600 005740 $TRAP: 000002 016000 000200 RO,~(SP) 2(SP) ,RO ;sSAVE RO ;2GET TRAP ADDRESS MOVB ASL MOV (RO) ,RO RO $TRPAD (RO) ,RO ;:GET RIGHT BYTE OF TRAP ::POSITION FOR INDEXING ;2 INDEX TO TABLE TST 111000 006300 MOV MOV 007352 RTS -(R0O) RO ; ;BACKUP BY 2 ;:G0 TO ROUTINE ;:THIS IS USE TO HANDLE THE ''GETPRI'' MACRO 011646 016666 000002 000004 000002 $TRAP2: MOV MOV RTI .SBTTL (SP) ,=(SP) 4(SP) ,2(SP) ;;MOVE THE PC DOWN ;;MOVE THE PSW DOWN ;;RESTORE THE PSW TRAP TABLE ;*THIS TABLE CONTAINS THE STARTING ADDRESSES OF THE ROUTINES CALLED ;*BY THE "‘TRAP'' INSTRUCTION. : ROUT INE $TRPAD: .WORD 007362 007340 006510 006754 006730 006770 007364 005656 $GTSWR 007366 007370 007372 007374 005606 006070 006210 007156 $CKSWR 007352 007354 007356 S$TYPE $TYPOC $TYPOS $TYPON $RDCHR $RDLIN $RDOCT $TRAP2 ;;CALL=TYPE ;.CALL=TYPOC ;.CALL=TYPOS ;.CALL=TYPON TRAP+1(104401) TRAP+2(104402) TRAP+3(104403) TRAP+4(104404) TTY TYPEOUT ROUTINE TYPE OCTAL NUMBER (WITH LEADING ZEROS) TYPE OCTAL NUMBER (NO LEADING ZEROS) TYPE OCTAL NUMBER (AS PER LAST CALL) ;. CALL=GTSWR TRAP+5(104405) GET SOFT-SWR SETTING ;;CALL=CKSWR TRAP+6(104406) ;. CALL=RDLIN ;;CALL=RDOCT TRAP+10(104410) TTY TYPEIN STRING ROUTINE TRAP+11(104411) READ AN OCTAL NUMBER FROM TTY ;. CALL=RDCHR TRAP+7(104407) TEST FOR CHANGE IN SOF T-SWR TTY TYPEIN CHARACTER KQUTINE L ———— T - CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.PN TRAP TABLE 1449 1450 1451 1452 1453 1454 1455 8-AUG-78 SRR SBTTL 15:16 A AR A AR PAGE 32 B8 SEQ 0040 AR AR AR A AR A AR R AR R A AR A AR AR R AR A AR A AR ARk POWER DOWN AND UP ROUTINES d AR AR R A AR AR AR AR A AR A AR AR AR AR R AR AR AR AR AR AR 007376 007404 012737 012737 007542 000340 000024 000026 171506 007546 007450 000024 007542 007546 007546 007546 012737 007376 000340 000024 171440 000024 000026 AR AR Ak k POUER DOWN ROUTINE #$ILLUP,@#PWRVEC ;;SET FOR FAST UP #340,a#PWRVEC+2 ;;PRIO:7 MOV RO,-(SP) ;:PUSH RO ON STACK MOV MOV R1,=(SP) ;2PUSH R1 ON STACK R2.~(SP) ;:PUSH R2 ON STACK MOV MOV R3,-(SP) ;:PUSH R3 ON STACK MOV R4 ,=(SP) ;+PUSH R4 ON STACK R5,=(SP) ;+sPUSH R5 ON STACK MOV MOV aSWR,~=(SP) ;sPUSH @SWR ON STACK MOV SP,$SAVR6 . :SAVE SP #S$PWRUP ,a#PWRVEC ;;SET UP VECTOR MOV HALT BR .~2 ; JHANG UP : MOV $PWRDN AR 012737 013706 005037 005237 001375 012677 012605 012604 012603 AR AR A AR AR A A AR A AR AR AR AR AR AR AR AR AR AR AR AR AR AR R A AR AR AR AR POUER UP ROUTINE $PWRUP : MOV MOV CLR 1%: INC BNE MOV MOV MOV MOV MOV MOV MOV MOV MOV TYPE $PWRMG: . WORD MOV $PWRAD: $ILLUP: .WORD RTI HALT BR $SAVR6: 0 #SILLUP,@#PWRVEC ;;SET FOR FAST DOWN $SAVR6, SP ;:GET SP $SAVR6 ;sWAIT LOOP FOR THE TTY $SAVR6 ;;WAIT FOR THE INC 1$ ;:0F WORD (SP) +,aSWR ::POP STACK INTO aSWR (SP)+,R5 (SP)+ ,R4 (SP)+,R3 (SP) +,R2 (SP)+,R1 (SP)+,RO ::POP STACK INTO RS ;:POP STACK INTO R4 ::POP STACK INTO R3 ;:POP STACK INTO R2 ::POP STACK INTO R1 ::POP STACK INTO RO #SPWRDN ,a#PWRVEC ;;SET UP THE POWER DOWN VECTOR #340,a#PWRVEC+2 ;;PRIO:7 PWRMSG (PC)+, (SP) START1 g ; : ;REPORT THE POWER FAILURE ; ;POWER FAIL MESSAGE POINTER ;;RESTART AT START1 ; ;RESTART ADDRESS ;:THE POWER UP SEQUENCE WAS STARTED ;. BEFORE THE POWER DOWN WAS COMPLETE ::PUT THE SP HERE \- CINCDA NCV11 EXERCISER MACY11 27(654) 8-AUG-78 007550 CZNCDA.P1 1492 1493 1494 042527 007573 020040 020040 wD002: .ASCIZ / 007606 007614 044124 046117 042522 020104 044123 000 WD003: .ASCIZ <15><12>/7 COUNT=/ WD004: .ASCIZ _ / MATRIX COUNT=/ 047517 WDO05: .ASCIZ / 043455 046501 WDO06: .ASCIZ / B=GAMMA/ 041412 020101 046501 020043 WD007: .ASCII <15><12>/CAMERA # / 020040 044440 020040 020102 020040 020123 020040 051511 CAMOUT: .BYTE LASCIT 60 /7 PBUP: .ASCII /UP JBUP: .ASCIZ /UP/ .SBTTL ASCII MESSAGES 1500 1501 15 07 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 }g}g 1521 1522 SEQ 0041 047514 1498 1503 1504 1505 C 020122 044123 000 040 007556 007564 1502 PAGE 33 .SBTTL DISPLAY MESSAGES ;THIS IS THE MESSAGE FOR THE BOTTOM OF THE SCOPE WDO01: .ASCIZ <15><12>/LOWER THRESHOLD / 1495 1496 1499 DISPLAY MESSAGES 15:16 007600 007621 007626 007634 007642 007653 007660 007662 007670 007673 007700 007706 007707 007714 007722 007730 007736 007737 005015 050125 015 052517 046440 020130 040 000115 041040 040515 015 051105 060 040 041120 050125 045040 040 125 044124 046117 042520 055012 052116 052101 047503 000 055040 000 042522 020104 020122 041440 000075 044522 047125 000120 UPPER THRESHOLD / ZOOM/ PB IS / JB IS / 1523 007742 005015 051012 051505 PWRMSG: .ASCIZ <15><12><12>/RESTARTED AFTER POWER FAILURE/ 1529 010003 015 005012 055103 MSG1: .ASCIZ <15><12><12>/CINCDA 1534 010040 005015 047105 042524 MSG2: .ASCIZ <15><12>/ENTER THRESHOLD VALUE IN OCTAL = THEN RETURN =/ 1541 010112 052524 047122 036440 MSG3: .ASCIZ <15><12>/BUS TIMEOUT ERROR = VSVO1 DISPLAY/ 1524 1525 1526 1527 1535 1536 1537 1538 1539 1540 1542 1543 1544 1545 007750 007756 007764 007772 010046 010054 010062 010070 010076 010104 010121 010126 010134 040524 040440 050040 043040 020122 044123 040526 047111 046101 042510 000 015 052040 052125 052122 052106 053517 044501 000 044126 046117 052514 047440 026440 020176 041012 046511 042440 042105 051105 051105 052514 042522 020104 020105 052103 052040 042522 051525 047505 051122 NCV=11 EXERCISER/ CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.PN 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 ASCII MESSAGES 010142 010150 010156 010164 010165 010172 010200 010206 010214 010222 010230 15:16 PAGE 34 D SEQ 0042 026440 030460 045120 053040 042040 054501 042412 041440 052116 047117 041040 042104 026440 020116 047122 MSGé: LASCIZ <15><12>/ENTER CONSOLE BUS ADDRESS = THEN RETURN =/ 051525 047505 051122 047040 000 050131 020042 042510 043116 052116 054505 020104 047101 MSGS: LASCIZ <15><12>/BUS TIMEOUT ERROR = NCV11/ MSG6: LASCIZ <15><12>/TYPE 'H'' FOR HELP INFO MSG7: LASCIZ <15><12>/ENTER CAMERA NUMBER 0-3 ? / DASH: LASCIZ .ASCII <15><12>/MD=11-DVNCB-A NCV11 EXERCISER/<15><12><12> 020049 046120 052101 LASCII /D DISPLAY DATA/<15><12> 020040 051501 050117 LASCII /E ERASE SCOPE/<15><12> 020040 020124 020122 044123 012 020040 020124 020122 LASCII /L GET LOWER THRESHOLD/<15><12> LASCII /U GET UPPER THRESHOLD/<15><12> 010236 010241 010246 010254 010262 010270 010275 010302 010310 000 052116 046501 052516 030040 000040 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 8-AUG-78 030455 041516 HELPO: ENTER KEYBOARD COMMAND(S)/ / =/ 041516 054105 042523 020105 006505 114 020040 047514 044124 046117 125 020040 050125 042522 006504 020040 042507 042520 CZINCDA NCV11 EXERCISER MACY11 27(654) ASCII MESSAGES CZNCDA.P1 b 012 020040 050123 051511 020105 020040 050123 051511 020105 LASCII /B DISPLAY ISOTOPE B/<15><12> 020040 042514 0511 0521 005015 LASCII /W SELECT FIRST BIT MAP/<15><12> LASCII /M SELECT SECOND BIT MAP/<15><12> LASCII /F FREE RUN MODE/<15><12> LASCII /J JOYSTICK CALIB./<15><12> LASCIZ /T DISPLAY INTENSITY TEST/ LASCII <15><12>/N 020040 046114 047515 052101 LASCII /C COLLECT MORE DATA/<15><12> LASCII /X CHANGE CAMERA CHANNEL/<15><12> 020101 042516 020040 047101 046501 044103 006514 020040 052123 046117 020040 050117 042514 LASCII /S STOP COLLECTION/<15><12> 020040 040514 052117 006501 102 020040 222 a2 SRESUSVRRSN 020040 052123 040503 005015 020040 046120 052116 054524 000124 020040 046117 047040 052101 SGRRSS RS LS LS LTS TN, NN = — O N S b b ik = e b b e b i b b e b o i b o D SEQ 0043 DISPLAY ISOTOPE A/<15><12> 020105 047515 olelelelalelelelelelelelelelelelolelsle] E /A b axd SRRBRERELERRARAARAZSE PAGE 35 LASCII 101 041440 15:16 044123 044124 046117 b o ) b b NOWVNSWN=O ) i il ol i ot i anld ONON T oo 3 1608 010612 010620 010625 010632 010640 010646 010654 010657 010664 010672 010700 010706 010711 8-AUG-78 HELP1: COLLECT NEW DATA/<15><12> F CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.PT 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 011264 011272 011273 011300 011306 011314 011315 011322 011330 011336 011337 011344 011352 011360 011364 011372 011400 011406 011414 011422 011423 011430 011436 011444 011452 011460 011466 011474 011500 ASCII MESSAGES 052103 012 107 020040 046111 012 132 020040 043440 012 122 020040 040514 047111 020117 047440 041440 042514 044515 012 110 020040 052040 042520 020122 042522 052040 044514 C15 8-AUG-78 15:16 PAGE 36 SEQ 0044 047511 006516 020040 047111 055111 020040 052111 006505 LASCII /G INITILIZE/<15><12> 020040 047532 044501 020040 046517 006516 ASCID /2 Z00M GAIN/<15><12> 020040 042522 020122 005015 020040 044124 047117 052040 040516 020040 052507 040507 LASCII /R REGULAR GAIN/<15><12> 020040 051105 047523 051105 006514 LASCII /0 OTHER CONSOLE TERMINAL/<15><12> 020040 042510 042510 040522 047101 042520 044510 052123 012 020040 050114 047440 047524 020104 052101 020123 LASCII /H HELP THE OPERATOR AND REPEAT THIS LIST/ .BYTE 15,12,0 000 BCRLF: ;LOC. 20000 THRU 57776 ARE BUFFER AREA 000001 .END CZINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 ABASE = 172760 AWRIT 005226 BCRLF 011500 BELLEN 001316 BITO = 000001 BITOO = 000001 BITO1 = 000002 BITO2 = 000004 BITO3 = 000010 BITO4 = 000020 BITOS = 000040 BITO6 = 000100 BITO7 = 000200 BITO8 = 000400 BITO9 = 001000 BIT1 = 000002 BIT10 = 002000 BIT11 = 004000 BIT12 = 010000 BIT13 = 020000 BIT14 = 040000 BIT15 = 100000 BIT2 = 000004 BIT3 = 000010 BIT4 = 000020 BITS = 000040 BIT6 = 000100 BIT7 = 000200 BIT8 = 000400 BIT9 = 001000 BOOBOO 002026 BOX 003036 BPTVEC= 000014 CAMERA 001274 CAMOUT 007706 CHANGE 003026 CHARCT 001302 CKSWR = 104406 COMSAV 001272 001304 CPERL = 000015 CR CRLF = 000200 DASH 010416 004756 DCONT DDISP = 177570 004354 DISBG DISLOP 003312 DISPLA 001142 DISPRE 000174 004744 DISPY DISPY2 005006 DMATRX 003270 DSWR = 177570 DUMMYT 001242 CROSS REFERENCE TABLE 8-AUG-78 224 746 209 691 16824 109# 9% 984 974 964 954 800 109 855 134 687 2694 718 15:16 225 722 PAGE 37 G SEQ 0045 228 229 230 508 518 546 5554 791 226 227 739 743 9654 231 108 bl 934 924 914 90# 108# 89# 88# 874 864 549 697 808 467 503 523 862 373 4O74 479 498 542 693 854 418 436 462 784 8934 586 667 773 780 788 695 716+ 723 737 744 603+ 861 1274 1274 15774 289 681 297+ 583 905 288 694+ 8914 CINCDA NCV11 EXERCISER MACY11 27(654) DUMMY2 EMTVEC= ERASE ERRVEC= 001244 000030 004712 000004 GAIN 001276 CZNCDA.P1T FREERN 001312 = RRRRRR 119# 419 112# 267 2614 GTSWR = 104405 136 14434 HELP 448 GNS HELPO HT 010422 011120 = 000011 INTLUT 001246 I0TVEC= 000020 007737 JBUP KBINT KBUFF LARGES LDIMGE = LF LISEN LISN 005104 001262 003210 005036 000012 001650 001674 MAPADR 001254 MAPLD 003434 MATRIX= 020000 MRXADR 001252 MSG2 010040 MSELCT MSG1 MSG3 MSG4 MSGS MSG5 MSG7 MXSML NCADM NCADR NCBAR NCBART NCCSR 001314 010003 010121 010165 010241 010275 010361 004074 001206 001164 001202 001212 001174 NCJOY NCOFF NCSET NCSFR 001210 001176 001514 001204 NOVSV NUMBEG NUMEND 001320 005346 005354 PBUP 007722 NCSTP NCSTP1 NCSTRT NCWCR PATWRT 8-AUG-78 PAGE 38 717% 719 738+ 740 437 286 357 322+ 1438 441 287+ 421% 500+ 1439 555 298« 758 549+ 768 8804 318« 480 550 750 1443 1445 1578# 450 1233 836 16354 1274 CROSS REFERENCE TABLE 2484 446 228 2494 1174 707 326 2554 5944 507 H 15:16 1440 312+ 1441 SEQ 0046 853 481 491 496+ 1446 1447 1448 710~ 7114 15154 359+ 363 365+ 428+ 429 935« 936 937+ 938 9174 1268 433 1274 940 364 410 417 420 451 468 471 502 589+ 645 649 6494 672% 673 680+ 615+ 463~ 15294 512 15434 15504 616~ 519~ 323 618 826 412 619+ 414 754 852 871 873 432+ 501+ 504« 542+ 550+ 697 868 8684 8514 705 799+ 800+ 801 703« 15164 708+ 9354 3634 266 321 623+ 833« 842+ 505 524 551 853+ 854+ 855+ 15344 870+ 313 851« 852+ 004636 004660 004576 001200 503 8614 469 470 869+ 439 003612 6844 702+ 808 862+ NCV11 EXERCISER MACY11 27(654) CINCDA CZNCDA.PT PC =%000007 CROSS REFERENCE TABLE L3n 470% 768+ 875+ PIRQ = PIRQVE= PIXASM PIXCNT PO = PR1 = FR2 = PR3 = PR4 = FRS = PR6 PR7 PS PSW 177772 000240 001260 001256 000000 000040 000100 000140 000200 240 = 000300 = 340 = 177776 = 177776 PWRMSG 007742 PWRVEC= 000024 RDCHR = 104407 RDLIN = 104410 RDOCT = 104411 RESVEC= 000010 002046 ROUTA ROUTB 002060 ROUTC 002072 ROUTD 002102 002106 ROUTE 002116 ROUTF 002212 ROUTG ROUTH 002222 002274 ROUTJ ROUTL 002300 ROUTM 002340 002372 ROUTN 002406 ROUTO ROUTR 002526 ROUTS 002544 ROUTT 002562 ROUTU 002576 ROUTW 002636 ROUTX 002666 ROUTZ 003006 ROWCNT 001306 RTABLE 001742 RO =%000000 1249+ 2o# 1234 254m 2534 “on W7n L84 W8 504 Sin 52K 534 264 27h 1485 1184 1149 1372 457 1134 378 379 380 381 382 383 384 385 387 389 390 391 392 395 396 397 398 400 40 403 2654 372 34n 466* 563« 607+ 786* 838+ 999+« 301« 506+ 773« 885+ [ 8-AUG-78 15:16 PAGE 39 320+ 507 777% 898+ 408+ 520 780+ 909+ 409+ 555+ 784» 929+ 416 419+ 788+ 947 SEQ 0047 559« 791~ 952+ 569 807« 1007= 423% 572 812+ 1010+ 565+ 422* 1256+ 1270% 1272« 1486 591+ 590+ 659+ 660+ 661+ 662* 663* 666 670 283% 1454% 1455+ 1464 1470« 1482+ 1483« 513 529 14484 369 371 488 664 668+ 671 437« L4 1> 843« 1015« 856+ 1029+ 864+ 1089+ 374 424 830 836+ 576 583« 464 586 27 1523# 282+ 14464 14474 476 L12# 4144 L4164 4184 4194 L4214 L374 4394 L4524 4534 4634 LOH L7728 5004 5034 5064 5094 5194 5254 5494 617 374 306+ 467« 566+ 610 790 839 1001 760 620+ 622* 308 L77x 567 309% 482 571% 649% 792% 871x 1008 673 793 872« 1011% 363+ 484 573« 674 819+ 873 1012+ 89 1013 368+ 486 578+ 678 822+ 917+ 1014 487 579« 771% 825+ 924* 1017« 372 774 489 585+ 775 490 595+ 779+ 1020+ 972« 1024 981+ 1025+ 828+ 829 522+ 781+ 984+ 1026+ 469% €57 868+ 1242+ CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 R1 1028+ 1417 1225 1418+ 1000« 1386 733 1375« 618+ 1001+ 1388« 1151 1323« 1158« 1324+ R2 =2000002 354 584 732 1370 364 R3 =%000003 374 R4 =%000004 RS =%000005 R6 R7 =%000001 CROSS REFERENCE TABLE =%000006 =%000007 SCLCEL 0033¢% SELCTA NT4440 SP =%J00006 384 663 1342+ 39# 739« 1020 4«0# L1x 627 301 L2on 460 510+ 1008+« 1226* 1419% 308+ PAGE 40 J SEQ 0048 1230 1369 1373« 1374 1377 1397+« 1400* 1415 1416+ 425% 601 789« 434 602 820+ 483~ 630+ 821+ L84 634 823 486+ 636 829+ 4,88+ 639 831 490 641% 896 564+ 644 918+ 580+ 666+ 921+ 1421« 1456 1387« 1390+ 1458 1479« 634 1005 733 1169 1333« 639+ 1006* 737 1173 1481« 1393 1396« 1457 1480+ 738 1022 919+« 1371 922+ 1376% 927+ 1384* 920« 1175« 921 1181 926* 1183 1144 1185« 1146% 1188+ 1147 1308 1150* 1317+ 650 1312« 652+ 1313« 653 1314 654+ 1315« 655+ 1329 656+ 1331« 657 1339« 644> 1009+ 730 1019 1343« 741 1310 687 752% 1320 689 756 1321+ 691+« 957 1322« 712* 964« 1323 714 969 1341+ 718+ 985 1461 720% 987+« 1476% 722* 1018+« 724+ 1019+ 6304 464 278« 298 315 358« 360+ 361« 453 454% 458 459+ 274 472% 514 1012 1460* 1461+ 1153 1230 1300+ 1367+ 1395 278 2714 3184 276 296 81 80 79 78 7 76 75 42 73 72 1463 646+ 1311« 1459 734x 1021« 1334 638+ 1309 628+ 957 1460 445« 1080 1117+ 174 140 314 28# 1704 1384 81# 714 704 6 684 674 664 654 64H 634 624 80# 614 15:16 631~ 1078 1116« 1150 1229 1268 1345+« 1393« STACK = 001100 001322 START START1 001554 STKLMT= 177774 SWR 001140 SWREG 000176 = 000001 SW0 SwW00 = 000001 Sw01 = 000002 Sw02 = 000004 Sw03 = 000010 SW04 = 000020 SWw05 = 000040 Swo6 = 000100 Sw07 = 000200 SW08 = 000400 Sw09 = 001000 SWw1 = 000002 Sw10 = 002000 307« 596+ 8-AUG-78 1478+ 480~ 525+ 1050+ 1090 1122 1168+ 1235 1303« 1370 1399 1471« 491 526+ 1051 1092 1126 1187 1237 1308+ 1371~ 1415« 1475 492+ 530 1058« 1094 1127« 1188 1243 1309+ 1373 1416 1476 493 543 1061+ 1095 1128 1189 1245« 1310 1377« 1426% 1477 495 544+ 1062 1097+« 1131 1190+ 1247% 1316 1379 1427% 1478 296* 1045 1082« 1462 1475« 1487 290 1058 496 844 1066+ 1098+ 1133 1191+ 1255+« 1341 1381 1456* 1479 497% 971% 1067+ 1099+ 1135« 1225« 1259 1342 1389« 1457+ 1480 498+ 984 1071 1100« 1144% 1226 1263 1343 1390 1458« 1481 509+ 998+ 1074% 1101« 1145+ 1227+ 1264 1344+ 1392 1459« 1486+ NCV11 EXERCISER MACY11 27(654) Sw12 SW13 SW14 = 010000 = 020000 = 040000 Sw3 Swé SW5 sSwé Sw7 Sw8 Sw9 = 000010 = 000020 = 000040 = 000100 = 000200 = 000400 = 001000 Sw15 Sw2 = 100000 = 000004 TABLEX TBITVE= TEMPO TEMP1 TEMP2 THHI THLO TIME TJOY 001310 000014 001234 001236 001240 001270 001266 001172 004224 T0TS1Z TPVEC = TRAPVE= TRTVEC= TTYOUT 001300 000064 000034 000014 001264 TKVEC = 000060 TYPCR 005144 TYPE = 104401 TYPO 005164 TYPOC = 104402 TYPON = 104404 TYPOS = 104403 VIMADR VIVADR VIVCHP VIVCRG VIVCSR 001170 001166 001216 001214 001222 VIVINT VIVMAP VIVPOS VIVPX VIVPX1 VTVSAV VIWRIT 001232 001224 001220 001226 001230 001250 005202 wD001 wD002 wD003 wD004 wD005 007550 007573 007621 007634 007653 15:16 PAGE 41 412+ 414 595 596 615 732 244 2454 735« 803+ 906+ 907 999 1013+ 2584 2574 2214 514% 458+ 599 607 624 626 692 688 CROSS REFERENCE TABLE SEQ 0049 Son 584 S7# S6n % 78# 778 764 754 74n 734 728 2664 1144 2464 452 1214 754 918 327 2624 729 1224 1204 1154 2564 281« 946+ 948+ 951 300 1084 1401 408 1059 316 1156 14384 9494 329 1162 1484 950 450 1167 456 1n”~n 475 1176 820 522 834 588+ 884+ 904 908+ 835 958 880+ 962+ 881 883« 689 712 714 720 724 741 745 409 14414 14404 2174 2134 234K 2334 2374 ~NNO CZNCDA.P1 K 8-AUG-78 —\un CZNCDA 1060 1238 1073 1335 891« 893+ 894 752 756 957# 528 1179 825 831 837+ 444 684+ 588 447 685 896+ 14944 14984 15024 15044 15074 795 795+ 823 CZNCDA NCV11 EXERCISER MACY11 27(654) wD0O06 wD007 007662 CZNCDA.P11 15094 15114 9984 1006 1022 1005+ 1053 007673 005356 005504 005604 005604 001134 001122 001126 006724 1250% 1445 PAGE 42 1031# 1033 1266 12714 1196 1239 SEQ 0050 273 $CM3 11974 117 1084 1243 1274 1274 1406 1274 1443 12 14054 006476 006465 001154 007152 007154 wxnnwn 006210 007156 000007 1186 1196 1274 1406 1314« 1325« 13514 1196 1274 1403 1227 12004 11984 1245 1336« 1306+ 14544 1482 14704 1103 1446 1179 |J 1447 1448 eanwnn |J axnnnr () b |J 14854 1202 b rxnnn 1470 1085 - SCNTLG SCNTLU $CRLF SERFLG SERMAX $SERRPC $ERRTB SERTTL SFILLC SFILLS $GDADR $GDDAT $GTSWR $HD SHIOCT SICNT SILLUP $INTAG SITEMB SLF $LPADR SLPERR SMAIL SMNEW SMSWR SNULL 15:16 4 W XYAVE XYBUF XYBUFE XYBUFP $SAUTOB $BDADR $BDDAT $CHARC $CKSWR $CMTAG CROSS REFERENCE TABLE 8-AUG-78 L 1406 v CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 CROSS REFERENCE TABLE $SAVR6 007546 $SETUP= 000114 $STUP = 177777 $SWR = 160000 $TKB 001146 $TKS 001144 1463« 2714 2714 11 1734 1724 $TP8 001152 $TPFLG 001157 $TPS 001150 $TRAP_ 007316 $TRAP2 007340 $TRP = 000012 $TRPAD 007352 1754 179 1744 280 14264 14304 1420 STTYIN 006444 STYPBN= wxwxsax | STYPDS= wxwwax | $TYPE 006510 STYPEC 006660 STYPEX 006726 $TYPOC 006754 $TYPON 006770 $TYPOS 006730 SOFILL 007153 . = 011503 1146 1442 1442 12214 1089 1267 1305# 1304 13004 1301+ 1324 $TN $TSTNM = 000001 001102 114 152# 1406 8-AUG-78 15:16 PAGE 43 1471 279 1472+ 1473 14914 12# 935 328« 180 1038 483 1488 1049 1038 1066 1047 936« 951« 1274 1261 1263+ 1274 143%# 14374 14404 14414 14424 1147 1159 1177 1191 1430 1242 1269 1439 13074 1440 1305« 1364 1438 1249 12724 1256 12614 13504 1494 183 1221 949 14154 1437 1466 280 282 M SEQ 0051 284 * 1118 1124 1443 1444k 1445 14464 14478 14484 14454 277 9944 1032 1038 11954 1196 1202# 1274 1441 1315 1414 1490 1274 CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.PT CROSS REFERENCE TABLE COMMEN 1244 18# 1244 1244 1244 NEWTST POP PUSH REPORT SCOPE SETPRI SETTRA SETUP SKIP SLASH SPACE STARS SWRSU 1244 1244 1244 1244 194 1244 14304 1244 1244 1244 1244 1244 901 1037 1244 TYPNUM 1244 TRMTRP TYPBIN TYPDEC TYPNAM TYPOCS TYPOCT TYPTXT $SCMRE SSCMTM $SESCA SSNEWT $SSET $$SKIP .EQUAT -HEADE .SETUP .SCATC .SCMTA . SPOWE . SRDOC . SREAD . STRAP .STYPE .$TYPO 15:16 PAGE 44 N SEQ 0052 124% ENDCOM ERROR ESCAPE GETPRI GE TSWR MULT 8-AUG-78 1244 1430# 1244 1244 1244 1244 1244 1244 1434 1434 1244 1244 14304 1244 # 1L 1L # 4 1L # # # # 1 1395 1369 1475 1456 1476 1462 1439 1440 1441 1443 1445 1446 1447 1448 183 848 850 271 145 1040 284w 910 1108 814 818 1137 1449 1441 916 1203 934 1206 943 1274 858 945 1277 860 953 1352 1443 1445 1446 1447 1448 1058 865 955 1355 867 966 1406 877 968 1409 879 995 1449 887 997 1452 890 1034 1468 CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 ADC ADD ASL ASR B8CC BCS BEQ BGT BHI BHIS BIC BIS BISB BIT BITB BLO BLOS BLT BNE BPL BR CLC CLR CLRB cMP CROSS REFERENCE TABLE 734 309 1020 1419 975 633 1083 654 976 977 373 538 1081 371 302 367 364 961 1093 600 598 368 1094 431 1012 697 1257 635 645 1091 277 706 1086 669 293 928 1267 640 275 519 1018 1175 276 674 1071 CMPB 1053 DEC DECB EMT 426 1247 18 INC 303 comB HALT 585 579 1074 906 136 1473 INCB 10T JMP 1270 19 140 JSR 301 479 506 69N 777 370 1054 1134 608 428 1121 503 1019 705 1003 1148 1132 291 736 1337 616 1231 655 8-AUG-78 15:16 663 PAGE 45 SEQ 0053 680 694 733 790 822 828 830 838 080 1024 1025 1026 1097 1098 1099 1383 1385 1387 637 1269 651 1330 1378 751 759 776 783 827 840 925 677 883 891 893 937 979 1028 1050 1067 854 855 862 880 897 908 1101 1332 1333 440 478 604 923 1228 621 939 643 619 1303 656 1313 1390 575 1165 582 1234 523 534 1389 853 657 B8 625 467 1127 542 1327 800 808 832 1174 959 577 1130 1466 874 1184 1048 1064 983 1244 1125 1046 1258 1222 1052 1265 1262 675 679 1072 1328 1326 1180 1224 1241 1251 459 771 492 497 500 870 504 872 574 581 938 1002 1022 599 624 1045 1236 1119 701 1178 665 1163 1490 1172 365 424 432 1375 1376 1472 429 495 1159 1264 1268 1379 1381 922 924 982 1158 1131 1233 831 1133 1235 567 844 1147 1243 652 668 735 672 774 863 869 597 1100 1339 e 470 689 1249 CZNCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.P11 MOV CROSS REFERENCE TABLE 274 307 414 483 8-AUG-78 15:16 PAGE 46 C SEQ 0054 589 717 820 907 971 1058 1245 1370 1455 1478 1066 1307 1312 ROL 1318 ROR RTI RTS SEC sSuB SWAB TRAP TST 1STB ASCII .ASCIZ .BLKB .BYTE .DSABL .ENABL -END .ENDC .EQUIV .EVEN .IF 716 795 819 896 1006 1191 1345 1420 1471 1014 962 1301 1049 1306 871 541 NEG NOP RESET 412 481 525 595 473 514 526 596 MOovB 306 296 280 312 425 970 1230 1369 1454 1477 811 442 319 641 142 1192 843 845 51 545 941 1088 1136 952 1015 1029 1272 1421 607 653 1430 313 835 801 180 1448 1626 182 1543 1195 152 1348 1105 1 1686 1577 168 650 1237 1221 1597 1674 1507 664 1259 1261 1602 750 1329 758 1392 826 1399 1417 1607 1612 1617 1622 1509 1519 1523 1529 1534 178 179 991 993 1193 1194 1347 278 880 279 888 280 891 1438 1463 1202 1439 1469 1440 146 152 180 271 904 1039 1227 1442 1486 944 1137 1362 1447 954 1146 1407 1449 956 1148 1410 1450 1179 1419 1462 107 76 109 77 79 80 81 100 102 74 145 15 180 184 271 273 278 6 284 18 994 2 851 834 1229 1124 1592 1668 1504 878 996 1196 1035 1475 818 932 1069 1277 848 934 1108 1352 180 902 1038 1356 184 904 1041 1407 1405 183 1446 1383 136 1445 1462 271 1447 1443 180 1446 552 271 1447 1492 1407 143 1492 169 151 1271 282 901 1037 1203 1440 .IFF JAFT AFTF LIIF .IRP LLIST -MACRO -MCALL SNLIST .PAGE .REPT .SBTTL LTITLE .WORD 8-AUG-78 1484 16 878 969 1207 1111 1056 1 284 903 1039 1206 1441 1486 146 880 996 1275 1116 1109 1439 27 1 1443 143 1 1 143 136 14 1 136 ERRORS DETECTED: 0 300 910 1040 1227 1442 814 916 1041 1274 1443 1492 151 891 1035 1353 1399 1375 12 1443 1456 180 1445 1406 1446 850 943 1109 1355 1447 278 911 1109 1410 SEQ 0055 SHSTrWN-=O00 DNNWES WD 0000 ~W 0o CROSS REFERENCE TABLE D b b wcd NCV11 EXERCISER MACY11 27(654) PAGE 47 H =000 ON—=~NWVI CZINCDA CZNCDA.P11 15:16 860 953 865 1145 1374 1449 1147 1406 1452 819 933 849 867 877 966 1151 1409 1462 968 1152 1415 1463 859 946 1147 1484 1450 1116 1137 1453 851 944 1138 1469 879 995 1195 1419 1468 887 997 890 1034 1430 1475 1202 1439 1476 1179 866 956 1195 868 967 1204 861 1196 279 1447 1476 814 1449 1038 1448 1059 1187 1196 1202 1274 1406 1438 1032 1137 1430 1438 1439 1440 1441 1442 284 814 1449 1032 1137 1430 1438 1439 1440 1441 1442 1448 184 1521 271 272 376 404 552 814 1035 1204 1275 1353 154 1351 155 1402 156 1405 157 1437 160 1485 161 1487 162 163 164 165 166 1446 1475 284 1448 CINCDA NCV11 EXERCISER MACY11 27(654) CZNCDA.PT1T «+(CZNCDA,CZNCDA/CRF /SOL=CZNCDA RUN=TIME: 12 6 1 SECONDS CORE USED: 18k B8-AUG-78 15:16 PAGE 48 E SEQ 0056
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies