This is the log book for the TRICS software started 22-JAN-1992 notes for TRICS V5.X are in TRGBOOK:TRICS.LBK_V5 notes for TRICS V4.X are in TRGBOOK:TRICS.LBK_V4 notes for TRICS V3.X are in TRGBOOK:TRICS.LBK_V3 notes for TRICS V2.X are in TRGBOOK:TRICS.LBK_V2 ================================================================================ +--------------------------------------------------- Updated - 7-JUL-1994 -+ |Code development Policy: | |- DZERO::EWORK1 has current working code. | |- DZERO::ETRICS has last stable code. Backup EWORKn before modifying. | |- MSU::ETRICS is a backup of DZERO::ETRICS: | |- MSU::EWORK1: is a backup of DZERO::EWORK1: | +--------------------------------------------------------------------------+ |Archival Policy: | |- subdirectory [.TCC] has the files needed on TCC | |- subdirectory [.TRGUSER] has all important files from the trguser account| |- subdirectory [.TRG_LIB] has all important files for linking purpose | +--------------------------------------------------------------------------+ ================================================================================ Always different between MSU and DZERO SITE_DEPENDENT.CST -- cf *.CST_MSU and *.CST_DZERO different parameters TRICS_Vnm.DAT -- cf *.DAT_MSU and *.DAT_DZERO different node name, number ================================================================================ TO DO Notice mismatch of the CTMTG timing signal definitions for ch 30 and 31 need a message to display the register HDB profile, and supposed content. need a Command file to restart the CT-MTG and make read/write Pipe the same init_mtg_for_caltrig is missing the TSS for T2 and T3 latches. init random test needs to zero the tier#1 thresholds check the read pqba csr routine, and improve the bit decoding. change line 325 of MOD141_HANDLE_BEGIN_END_RUN.PAS checking status from init_auxi to include not_found (use <> ok). I think PVBA and PQBA devices are obsolete. delete MOD_HANDLE_PVBA/PQBA and check TRICS_V6X.DAT_*. change reference MOD_HANDLE_PVBA->ZRl in MOD_HANDLE_L15CT increase the timeout for the console lock from 5 to 15 sec in flush_to_logfile and remove timeout ability from handle_console Pull the currently installed L1 Cal Trig MTG. This is MTG SN#20. The PROM's are: CalTrg1M, CalTrg2L, CalTrg3K, CalTrg4M, The PAL's are: Ch#1 : Ch#4 are MTGBit2 Ch#5 is a L15MTG06 Ch#6 : Ch#8 are MTGBit2 Ch#9 : Ch#14 are CTMapSel Ch#15 : Ch#28 are MTGBit2 Ch#29 is a L15MTG05 Ch#30 : Ch#32 are MTGBit2 Pull the currently installed FW Main MTG which is SN#23. The PROM's are: FWMT1R, FWMT2L, FWMT3N, FWMT4L, The PAL's are: Ch#1 is a MTGBit2 Ch#2 is a L15MTG06 Ch#3 is a MTGBit7 Ch#4 is a L15MTG05 Ch#5 is a MTGBit9D Ch#6 is a MTGBit2 Ch#7 is a L15MTG06 Ch#8 is a L15MTG05 Ch#9 is a L15MTG06 Ch#10 is a MTGBit2 Ch#11 is a MTGBit2 Ch#12 is a MTGBit2 Ch#13 is a L15MTG05 Ch#14 is a FWMTCH14 Ch#15 is a BX2Skip Ch#16 is a MTGBit2 Ch#17 is a BX2Skip Ch#18 is a BX7Skip Ch#19 is a L15MTG05 Ch#20 is a L15MTG05 Ch#21 is a L15MTG05 Ch#22 is a MTGBit2 Ch#23 is a MTGBit2 Ch#24 is a MTGBit2 Ch#25 : Ch#32 are MTGBit2 fix bug in MOD141_HANDLE_BEGIN_END_RUN.PAS that prints messages using optional variables without checking for their existence first. This routine is called with no arguments from TRICS_V64.PAS Check size of DSP executable: I looked at what TRICS is doing to load the DSP code in the dual port memories. Unfortunately, there is NO code to check that the load file is not longer than 8k words. It is hard to follow through the levels of indirection of pointers, ZRL mapping, etc. But I believe the end result of loading too big of an executable is to write in the "control" region of the Hydra II, including the interrupt control register, and boot control registers. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19-JUN-1996 Philippe: MSU:: system with 24-MAY-1996 changes finally loaded, problem with the 36x36 scan/reset MTG - Save existing MOD103_HANDLE_SCALERS.PAS to MOD103_HANDLE_SCALERS.PAS_NO_36X36 - Modify MOD103_HANDLE_SCALERS.PAS Make version that does not toggle the scan/reset line on the 36x36 scan/reset MTG - Modify MOD227_PHAT_EXECUTE.PAS change argument checking restriction that was limiting MOD_HDB messages to CBUS <=2. Now set to CBUS<= 3. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24-MAY-1996 Philippe: MSU:: kludge system to run with L1.5 CT and 36x36 scalers off - Save existing MOD100_HANDLE_L15CT.PAS to MOD100_HANDLE_L15CT.PAS_NORMAL - Modify MOD100_HANDLE_L15CT.PAS make version called MOD100_HANDLE_L15CT.PAS_NO_VME_IO that has nearly empty routines for handling the L1.5CT VME IO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24-OCT-1995 Philippe: MSU:: fix bugs - Modify MOD103_HANDLE_SCALERS.PAS fix sbsc_load as the update_register call to set the MTG channel back down low had been accidentaly deleted - Modify MOD071_DEF_HARDWARE_TABLES.PAS fix definition of mtg36x36_ctrl and tell the HDB that the card has 39 scalers (instead of only the 13 existing ones). Since the declaration of mtg_card lists the channels first and the control registers last, the control registers were not found by the WRITE HDB command. All channels are now defined for fa = 0..31 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23-OCT-1995 Philippe: MSU:: fix SHOW_SPTRG message - Modify MOD117_HANDLE_SPTRG.PAS fix SHOW_SPTRG: check line length, replace end of line with '...' when too long I- Requires High Andor Term(s) # 64 107 180 185 192 I- Requires Low Andor Term(s) # 28 104 119 121 I- Digitizes Geo Section(s) # 0 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2%% time:307-JUN-1995 12:35:09.75 S-EXC/MBX% Flush_to_File now Servicing Exception Mailbox X-DSP/EXC%2197476%PAS-F-LINTOOLON, line is too long ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19-OCT-1995 Philippe: MSU:: Add 36x36 scaler crate - Modify MOD071_DEF_HARDWARE_TABLES.PAS Add cards for 36x36 crate, and define them in database mtg36x36_ctrl, SBSC load ctrl MTG card for 36x36 scaler crate mtg36x36_gates, 2 bunch gating window MTG card for 36x36 sc.crate sbsc36x36_FZLum, 2 fast Z good lum SBSC card for 36x36 scl crate sbsc36x36_PHalo, 2 proton halo SBSC card for 36x36 scaler crate sbsc36x36_AHalo, 2 antiproton halo SBSC card for 36x36 scl crate Also give names to the timing channels of the readout control MTG - Modify MOD123_INIT_CBUS_CARDS.PAS Initialize all new cards Note that TRICS_INIT_AUXI can be used to override these default settings. All 3 MTG cards will be initialized to sweep the PROM using "standard" window with a preset value of 100 and a terminal count of 651 (and thus will require reprogramming to account for cable delays, cf. the ERPB MTG). All MTG control registers will be programmed with 36 = and should thus be reprogrammed with 22 = The Channels of the Load Control MTG will receive the following default ch # 1 = tss_Force_Low = 9 ch # 2 = init_dirin_mtg_ch = 10 ch # 3 = tss_ROM_Gated = 4 ch # 6,7,8 = tss_Ext_Gated = 2 All channels of both Gate Control MTGs will get the following default ch # 1:32 = tss_Sel_Rom = 12 For all 3 sets of SBSC cards, all control registers (i.e. all channels) will receive the following default setting: First 0 is loaded to reset the channels; then 170 is loaded to enable all four channels controlled by each SBSC control register. - Modify MPOOL_DATA.TYP Add TRGMON mpool data section for these new scalers Add these scalers to the snapshot of scalers in the shared memory - Modify MPOOL_SERVER.PAS Answer to a new request to return these new scalers - Modify MOD404_HANDLE_MONIT_POOL.PAS readout new scalers - Modify MOD103_HANDLE_SCALERS.PAS add load request of the 36x36 scaler crate to the load_sbscalers routine that already loads all other scalers in the framework. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20-JUN-1995 Philippe: MSU:: timing COOR message execution - numbers in seconds, population sample on the righthand column. SPECTRIG ENABLE %% min= 0.10 max= 0.10 ave= 0.10 n = 1 SPECTRIG FEBZDIS %% min= 0.09 max= 0.17 ave= 0.09 n = 30 SPECTRIG RD_TIME %% min= 0.08 max= 0.12 ave= 0.09 n = 30 SPECTRIG ANDORREQ %% min= 0.12 max= 0.22 ave= 0.12 n = 30 SPECTRIG L15_TERM %% min= 0.09 max= 0.17 ave= 0.10 n = 12 SPECTRIG L15_TYPE %% min= 0.08 max= 1.43 ave= 0.17 n = 15 SPECTRIG OBEYBUSY %% min= 0.08 max= 0.11 ave= 0.09 n = 30 SPECTRIG OBEYLEV2 %% min= 0.08 max= 0.17 ave= 0.09 n = 30 SPECTRIG PRESCALE %% min= 0.08 max= 0.18 ave= 0.09 n = 58 SPECTRIG STARTDGT %% min= 0.09 max= 0.10 ave= 0.09 n = 30 REFSET EMET %% min= 0.10 max= 0.26 ave= 0.17 n = 25 REFSET LRG_TILE %% min= 0.10 max= 0.12 ave= 0.10 n = 14 THRESHLD EMETCNT %% min= 0.09 max= 0.09 ave= 0.09 n = 5 THRESHLD MISPTSUM %% min= 1.26 max= 1.36 ave= 1.31 n = 3 THRESHLD TOTETCNT %% min= 0.09 max= 0.09 ave= 0.09 n = 8 ST_VS_RS TOT_LIST %% min= 0.09 max= 0.17 ave= 0.09 n = 16 PAUSE %% min= 0.15 max= 0.27 ave= 0.21 n = 5 RESUME %% min= 0.15 max= 0.23 ave= 0.17 n = 4 L15CTERM REFSET %% min= 0.09 max= 0.12 ave= 0.10 n = 9 L15CTERM LOC_DSP %% min= 0.09 max= 0.09 ave= 0.09 n = 3 L15CTERM FRAMECOD %% min= 0.08 max= 0.16 ave= 0.11 n = 3 L15CTERM GLOB_DSP %% min= 0.09 max= 0.09 ave= 0.09 n = 3 L15CTERM ST_VS_TM %% min= 0.09 max= 0.09 ave= 0.09 n = 3 L15CTSYS START %% min= 11.27 max= 11.58 ave= 11.31 n = 80 L15CTSYS LOADCODE %% min= 13.08 max= 13.68 ave= 13.33 n = 79 WRT_HOST END_RUN %% min= 0.19 max= 0.19 ave= 0.19 n = 2 WRT_HOST BEG_STOR %% min= 0.18 max= 0.18 ave= 0.18 n = 1 WRT_HOST SYNCHRO %% min= 0.08 max= 11.36 ave= -- INITIAL %% min= 50.35 max= 51.59 ave= 50.66 n = 99 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27-FEB-1-MAR-1995 Philippe: MSU:: + DZERO:: - Change Version Number V6.3 - > V6.4 run CHANGE_VERSION_NUMBER.COM edit SITE_DEPENDENT.CST SITE_DEPENDENT.CST_MSU SITE_DEPENDENT.CST_DZERO - Modify MOD223_COOR_GLOBAL_EXECUTE.PAS Shorten the MAIL message sent in case BAD is returned to COOR after INIT. - Modify MPOOL_SERVER.PAS undo the kludges: (cf. 11-12-AUG-1994 ) - service name changed - address fixing removed - Modify SITE_DEPENDENT.CST_* add Ignore_pVBA - Modify MOD067_HANDLE_ZRL.PAS import Ignore_pVBA from SITE_DEPENDENT.CST - Modify MOD245_PHAT_DISPATCH.PAS and MOD227_PHAT_EXECUTE.PAS Add new message to change the threshold for the error message filter. This would be useful to see ALL error messages during initialize. (boot default value is still 50) $ @EENV:COMMANDS $ PHAT ERR_FILT nnn with 1 <= nnn <= 9,999,999 - Modify MOD037_HANDLE_TRACING.PAS new exported variable error_filter_limit is initialized as error_filter_threshold which comes from SITE_DEPENDENT.CST ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19-OCT-1994 Philippe: MSU:: - Dan measured the length of CBUS activity during Mpool Refresh: " the burst of activity when TCC reads the SBSC's by hand once every 5 seconds takes right about 25 msec to complete when there is nothing else going on. " - He also noticed DIR and STROBE activity on the CBUS during the Mpool refresh every 5s. This sounds weird at first, but it is part of the complex readout squence of an SBSC. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18-OCT-1994 Philippe: MSU:: *******>>> EMENU: <<<****** - Modify MODIFADDRESS.FOR To allow CBUS 2 and 3 (called 3 and 4) besides 0 and 1 (called 1 and 2) - Modify SHOWADDRESS.FOR to show the allowed range for the CBUS to be [1..4] (was [1..2]) - Modify WRITEREGSTEP.FOR pass an extra argument to DRVWRITE: SELECTCBUS, and truncate the value of SELECTCBUS (using MOD 2) that is going into OUTDBRA - Modify AUTOREGTEST.FOR LETDBRUN.FOR READDBSPYWORD.FOR READFULLDBSPY.FOR READSTATUS.FOR RESET.FOR WRITECTRL.FOR just add argument SELECTCBUS to every call to DRVREAD/WRITE - Modify ANDORSYSTEST.FOR there one call to DRVWRITE to reset the COMINT card, replace it with 2 calls, one with cbus argument 0, the other with 2 - Modify MOD059_MENU_IO_HANDLING.PAS add argument to drvread/write to select the pilot/assist COMINT. Use the CBUS value (called SELECTCBUS in calling EMENU FORTRAN Code) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 14-OCT-1994 Philippe: MSU::EWORK3: - Modify MOD227_PHAT_EXECUTE.PAS fix reply message data formating for PHAT READHIST ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 13-14-OCT-1994 Philippe: DZERO::EWORK1:, propagated to MSU::EWORK3: - Modify MOD245_PHAT_DISPATCH.PAS add message dispatching for PHAT READHIST and SHOW_REG - Modify MOD227_PHAT_EXECUTE.PAS Add procedure phat_show_reg to find and display the hardware data base record for a particular card and register Add procedure phat_readhist to read a register a large number (1:9999) of times and display the resulting histogram. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12-OCT-1994 Philippe: MSU::EWORK3: - Modify MOD050_INLINE_HARD_IO.PAS add to inline_end_io_cycle code to De-select the current card before ending the CBUS cycle (by selecting non-existent MBA=0) This is to avoid that this card be selected again (for read) during the next CBUS cycle on the other (pilot/assist) COMINT. This is an effect that appeared with the dual comint upgrade. Before that, the old address was deselectd before the bust was requested. - Modify MOD053_TCS_IO_SPY_HANDLING.PAS import more variables indirectly used via inline_end_io_cycle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7-OCT-1994 Philippe: MSU::EWORK3: - Modify MOD203_TST_CALTRG_RANDOM.PAS Take appropriate actions for missing coverage eta > 16 The T1 EM and HD CAT2s for eta >16 have been pulled out. The Px/Py are left in because they carry the large tiles, but the output of the T2 for this eta range does not contribute to T3. There is thus no contribution of eta >16 to EM Et, HD Et, TOT Et, Px, Py or MPt. The approach is to compare the eta of the cell randomly picked and skip around the parts that do not contribute when eta_cell >= e_13_16: Initialize: check_ctfe_sum_and_fix_expected skip EM and HD since this reads the input of a T1 CAT2 check_t1_sum_and_fix_expected skip EM and HD since this uses the comp on a T1 CAT2 Loop actions: load_cell_cat2_threshold skip EM and HD since this uses the comp on a T1 CAT2 check_cat_inputs skip EM and HD since this reads the input of a T1 CAT2 check_t1_comparators skip EM and HD since this reads the comp on a T1 CAT2 decrement_ctfe_quantities skip EM and HD increment_ctfe_quantities since they cannot be checked decrement_tier1_quantities skip EM and HD increment_tier1_quantities since they cannot be checked decrement_global_quantities skip EM, HD, Px and Py, (keep counts) increment_global_quantities since eta>16 don't contribute ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4-OCT-1994 Philippe: MSU::EWORK3: - Modify MOD200_TST_COMMON.PAS MOD203_TST_CALTRG_RANDOM.PAS MOD207_TST_GET_PARAM.PAS MOD204_TST_CHTCR_PROMS.PAS MOD205_TST_CTFE_FEND.PAS MOD206_TST_CTFE_PROMS.PAS replace temporary (14-SEP-1994) switch test_LgTile with global switch Check_FW_AndOr. And make all places that control the FW MTG check that flag. - Modify MOD203_TST_CALTRG_RANDOM.PAS Change initial setting of thresholds. was 0 now 255. This will make it consistently answer 0 for EM and TOT refsets. Remove the line that sets the MTG to single cycle before running, that will happen naturally during the first loop. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21-22-SEP-1994 Philippe: MSU::EWORK3: - Modify MOD222_TREE_EXECUTE.PAS fix bug in tree_cnt_t3 that was preventing proper message decoding (the variable command was used, but never set to 1, use constant instead) - modify MOD204_TST_CHTCR_PROMS.PAS change severity of the messages "Scanning PROM..." from info to sys - modify MOD206_TST_CTFE_PROMS.PAS change severity of the messages "Ramping PROM..." from info to sys - Modify MOD207_TST_GET_PARAM.PAS Remove trailing space in prompt for reference set type in parameter input for random test. This line was one character too long, and "Remote Console" was loosing the whole line by scrolling up on auto-wrap. - Modify MOD203_TST_CALTRG_RANDOM.PAS change severity of the messages "Loop... Error Count..." from err to sys ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 14-SEP-1994 Philippe: MSU::EWORK3: - Change Version Number V6.2 - > V6.3 - Modify MOD228_L15CT_EXECUTE.PAS Add Crate/Tool number to local and global parameter messages - Modify MOD202_TST_MISC_UTIL.PAS upgrade routine select_lookup_page for double lookup in momentum tree rename argument momt_index to momt_1st_index and add momt_2nd_index - Modify MOD204_TST_CHTCR_PROMS.PAS and MOD206_TST_CTFE_PROMS.PAS propagate the upgrade of select_lookup_page - Modify MOD203_TST_CALTRG_RANDOM.PAS to implement a Large Tile Count test add global variable declarations for integer LgT_cnt and array LgT_andor add variable fixed_LgT_threshold (this is a variable instead of CONST to be able to change it with Edebug) add test_LgTile that needs to become an option switch of the random test initialize the Tier#1 Px and Py CAT2 rename variable momt_index to momt_1st_index, and update all occurences add momt_2nd_index, forced to page 8 when large tile test included, or momt_1st_index otherwise note that check_cat_inputs, load_cell_cat2_threshold need to use 2nd_index decrement lg tile count before modifying the tower, increment after modifying the tower, read the andor terms, check against lg tile count then override Px/Py comparator with a fixed value picked to have only 1 chance in 40 to have the lg tile energy over the threshold. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7-SEP-1994 Philippe: MSU::EWORK3: - Modify SITE_DEPENDENT.CST, *.CST_MSU, *.CST_DZERO Increase number of L1.5 FW Terms from 18 to 31. - Modify MOD100_HANDLE_L15CT.PAS Restore overwriting the 68k Dual Port Memory with FF's at - Load code - start crate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6-SEP-1994 Philippe: MSU::EWORK3: - Make a simple test program to find the distribution of large tile energy sums in the random test: a large tile has 1/2 chance to pass a threshold at 4055 1/4 4253 1/20 4539 1/40 4631 After tuning, I picked 4590, which should give the following distribution 0 1 2 3 >=4 1273 1830 1284 580 233 24% 35% 24% 11% 4% 0 >=1 >=2 >=3 24% 74% 39% 15% measured 46644 0 18478 1 first at 27488 14027 2 first at 34457 6959 3 first at 35277 1437 4 first at 35416 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25-AUG-1994 Philippe: MSU::EWORK3: - Modify MOD100_HANDLE_L15CT.PAS Fix typos in messages ("ran" -> "run", multiple "Map Rev num", add spaces for missing B2 in list of status words) Line up the local and global Wake up word decoding messages Line up the list of local and Global DSP status code read by 68k ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23-24-AUG-1994 Philippe: MSU::EWORK3:, propagated to DZero - Modify MOD129_INIT_AUXI.PAS Implement re-entrancy of Command Files Add a TYPE definition for the the com file type Rename variable initfile to com_file Add a global variable re_entry_depth to keep track of re-entrancy depth Make the command file object a local variable of init_auxi (instead of global) and pass is as a new VAR argument to open/close_auxi_file Also add the file name as argument to close_auxi_file for trc_sys msg Use con_served <> 0 to notice this is there is no re-entry, and otherwise start counting the depth of re-entry Add a digit for the re-entry depth to the end of the tagext Send sys message when using re-entrance Limit re-entrancy depth to 8, and quit when limit exceeded. Move from open_auxi_file and execute only on main entry level the code to set the con_served variable to 0 allocate new reqst/replymsg[0] show the channel #0 bold on console Only on main entry level do save+change the tracing state Move from close_auxi_file and execute only on main entry level the code to return the channel #0 on console to dim release memory from reqst/replymsg[0] restore the current served connection Only on main entry level do restore the tracing state - Modify MOD223_COOR_GLOBAL_EXECUTE.PAS send "alert" mail message when reply of coor_initialize is not 'OK' - Modify MOD100_HANDLE_L15CT.PAS move name of local directory for DSP executables to SITE_DEPENDENT.CST constant local_dir_DSP_executables and import SITE_DEPENDENT.CST - Modify MOD228_L15CT_EXECUTE.PAS move CONSTANT l15ct_default_config to SITE_DEPENDENT.CST - Modify SITE_DEPENDENT.CST, *.CST_MSU, *.CST_DZERO add local_dir_DSP_executables and l15ct_default_config ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19-AUG-1994 Philippe: MSU::EWORK3:, and DZERO::EWORK1: - Modify MOD100_HANDLE_L15CT.PAS This was a bug corrected at DZero on 6-AUG, but forgotten to propagate back to MSU, and the next system at DZero "lost" this fix: Assign value to VAR argument status in routines: Copy_Params_to_VME Prepare_Params_to_VME Start_L15CT This was a "kludge" introduced 27-JUL at Dzero, but 68k services haven't yet been updated, and the last 3 systems built at Dzero "lost" this "temporary" modification: Comment out the overwriting with FF's of the 68k Dual Port Memory Copy_Params_to_VME Load_L15CT_Code Implement a scheme to allow loading from local disk, while remaining compatible with current method where COOR specifies a host directory. This should make the transition easy and reversible. If we/COOR send the command LOADCODE FROM_LOCAL_DISK (instead of LOADCODE L15CT$EXEC), the files will be loaded from D0HTCC::[L15CT$EXEC]. I believe that the string L15CT$EXEC is something that Jan/Dean can change without relinking COOR or Bruce's help. We can try a first test for ourselves, and then think if that's what we want to do. - Modify MOD228_L15CT_EXECUTE.PAS call a new file 'L15CT_DEFAULT_CONFIG.DAT' as the last step of the COOR LOADCODE message. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11-12-AUG-1994 Philippe: MSU::EWORK3: Test TRGMON long Integration Time - For the following work, the SITE_DEPENDENT.CST file is the Dzero file. The new test MPOOL_SERVER is linked at MSU using $ MMS/SKIP MPOPL_SERVER.EXE and copied to DZERO::HTRGMON:TEMP_MPOOL_SERVER.EXE Then it is interactively loaded on TCC using $ EDEBUG D0HTCC Edebug> Load TEST_MPOOL 57.2"TRGMGR ..."::HTRGMON:TEMP_MPOOL_SERVER.EXE Edebug> Create Job TEST_MPOOL - Modify MPOOL_DATA.TYP implement upgrade for larger integration times, these changes match the new LV1_MPOOL_RAW.INC for TRGMON change delta_time of general_section from INT to REAL add veto_crossing_count to general_section modif spec_trig_count_and_increment, rename spec_trig_count_or_increment modif geo_sect_count_increment, rename geo_sect_count_or_increment modif sptrg_gsect_section to have 1 count and 1 incr of sptrg and geos - Modify MPOOL_SERVER.PAS implement upgrade for larger integration times Temporary change name of service to 'TEMP_MPOOL' for testing with 2 servers running at the same time, the new version of TRGMON under test just needs the logical name MPOOL_CHANNEL to be reassigned. change format INT to real for delta_time in read_mpool_general, and add veto_crossing_count fill the new variables in read_mpool_st_gs temporary kludge 19-AUG to solve a compatibility problem: The declaration of monitoring_data (i.e. the monit pool data) uses 2 data structures defining the messages, namely refset_section and global_threshold_section. Now these data types have grown by one longword (the veto_crossing_count of general_section). The Refresh_Mpool process of TRICS was linked with the old MPOOL_DATA.TYP, and is shifted by one word in the refset section with respect to where the new MPOOL_SERVER accesses data based on the new MPOOL_DATA.TYP. Thus implement a temporary kludge to change the address (decrement by -4) of where the new MPOOL_SERVER reads part of the refset section, and all of the global threshold section. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4-AUG-1994 Philippe: MSU::EWORK3: - Move to version 6.1 -> 6.2 Modify SITE_DEPENDENT.CST, *.CST_DZERO and *.CST_MSU Fix scaler_recovery_dir, add a ":" at the end of the directory name. - Modify MOD071_DEF_HARDWARE_TABLES.PAS add card erpb_mtg and data base initialization - Modify MOD123_INIT_CBUS_CARDS.PAS add initialization of the erpb_mtg - Modify MOD171_PARSE_GLOBAL.PAS Change the way floating point numbers are parsed in COOR messages. Now use OTS$CVT_T_F (confert ascii text to Float) Test with 3. 3.0 3.1 3.01 23. 23.0 .3 0.3 .03 0.0 0. .0 1.234567 -3. -3.0 -3.1 -3.01 -23. -23.0 -.3 -0.3 -.03 -0.0 -0. -.0 -1.234567 - 3. - 3.0 - 3.1 - 3.01 - 23. - 23.0 - .3 - 0.3 - .03 - 0.0 - 0. - .0 - 1.234567 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26-JUL-1994 Philippe: MSU::EWORK3: - Modify SITE_DEPENDENT.CST,.CST_MSU,.CST_DZERO restore watch_dbl_buff_ok = TRUE - Modify MOD223_COOR_GLOBAL_EXECUTE.PAS Add after the call to synch_double_buffer (declared as EXTERNAL) a call to proced_tcs_enb_int ( reg_drv11j_pilot, PortC ) ; This forces to re-enable interrupts from the watch double buffer circuitry - L15CT_VME_MAP.TYP Fix typo in dimension of DSP_Monitoring_Information [0..31], not [0..32] Also add byte misalignment counter in record for 68k errors. make skipping words more uniform in 68k_to_TCC_status - Modify MOD247_L15CT_DISPATCH.PAS Add message L15CTSYS 68K_CNT to display 68k run counters (call l15ct_68K_Counts) - Modify MOD100_HANDLE_L15CT.PAS Add Read_68k_Counts to perform action of reading/displaying run counters Also add Call to Read_68k_Counts in Halt_L15CT_Crate (for init + loadcode) Also add read byte misalignment counter in Read_68k_Errors Also make all messages displaying counters of uniform length and style - Modify MOD228_L15CT_EXECUTE.PAS Add L15ct_68k_Counts to receive message 68K_CNT and call Read_68k_Counts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18-19-JUL-1994 Philippe: MSU::EWORK3: - Modify MOD067_HANDLE_ZRL.PAS Modify master device name argument to write_dev_addr_in_int_disp_blk from 'DUAL' -> 'Dual pQBA/pVBA' Move message 'Programming pVBA Mapping Registers' out of Load_pVBA_Mapping_Registers. And generate it from outside as a trc_err from the interrupt servicing part, and as a trc_sys from the initialize part. add screen message "waiting for pvba/pqba" after the reset action, so that this message repeats every second until the pvba/pqba is powered up - Modify MOD100_HANDLE_L15CT.PAS remove leading space from ' ...' -> '...' remove integer display of local/global/frame 'param out of range' messages, display Hex only. - Modify MPOOL_SERVER.PAS Increase the dimension of message_cnt, and add a comment : The dimension of message_cnt be .GE. than the constant Def_Max_Message_Size from [.ITC.INC]ITC_CONFIG.INC - Modify [.ITC.INC]ITC_CONFIG.INC add a comment in header Def_Number_of_Channels = 40; -- > 15 (dimension must match for message_cnt in MPOOL_SERVER.PAS ) - Modify MOD129_INIT_AUXI.PAS Fix bug, there were two CLOSE(initfile) statements - Modify SITE_DEPENDENT.CST Add scaler_recovery_dir for specifying 'LOGGER$BRD' as directory for scaler recovery file at TCC boot time. Also restore mailer_ok for MSU version. Also add file name for INIT_AUXI_L15CT - Modify TRICS_V61.PAS Read all scalers, as a recovery in case of TCC crash/reboot After initializing the ZRL, DRV11j... After the Boot_Auxi file because this is where the scaler list is defined But before initializing any register is initialized. Also needed to move create_begin_end_run Also execute INIT_AUXI_L15CT after INIT_AUXI - Modify MOD141_HANDLE_BEGIN_END_RUN.PAS Make all arguments to synchronize_wrt_host [OPTIONAL] so that TRICS_V61 can call it without arguments. - Modify MOD223_COOR_GLOBAL_EXECUTE.PAS execute INIT_AUXI_L15CT after INIT_AUXI (and pass explicit names) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 14-JUL-1994 Philippe: MSU::EWORK3: - Modify MOD247_L15CT_DISPATCH.PAS add messages DSP_STAT check all DSP status 68K_CTRL check 68k control words (wake up + transfer words) 68K_STAT check 68k status 68K_ERR check 68k run-time error counters 68K_FLAG Check 68k software flags VER_TSEL Verify Term Select Paddle Board Memory - Modify MOD100_HANDLE_L15CT.PAS export Check_Term_Select Check_DSP_to_TCC_Status Check_DSP_to_EC_Status Check_68k_Status Read_68k_Errors Read_68k_Flags - Modify MOD228_L15CT_EXECUTE.PAS implement l15ct_DSP_Status, l15ct_68K_Control, l15ct_68K_Status, l15ct_68K_Errors, l15ct_68K_Flags, l15ct_Verif_T_Sel, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 13-JUL-1994 Philippe: MSU::EWORK3: - Modify L15CT_VME_MAP.TYP add error codes for 68k to TCC status, and fills in details of EC_to_TCC_Status_Block - Modify MOD100_HANDLE_L15CT.PAS Decode and display the 68k to TCC status in Check_68k_Status Display the unstick errors in Check_68k_Errors Display the 68k software flags in ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11-JUL-1994 Philippe: MSU::EWORK3: - Modify MOD245_PHAT_DISPATCH.PAS add message READPVBA to call phat_readpVBA and read pVBA registers. - Modify MOD227_PHAT_EXECUTE.PAS Implement message READPVBA in phat_readpVBA. Also change method of access to pQBA in phat_readpQBA change pQBA_reg_type to include the padding at base address. import address of registers from mod_handle_ZRL (instead of hardcoded) add long_multi_def universal data type for access by byte, word, msb... read longwords at once (except INT0) and display by piece ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7-JUL-1994 Philippe: MSU::EWORK3: - Move to Version V6.1-0 - Modify MOD100_HANDLE_L15CT.PAS move code for parking 68k from the Load_L15CT_Code routine to the Halt_L15CT_Crate routine. Reason #1, this should be done before resetting the DSPs anyway, so the 68k doesn't try taling to them. Reason #2, the 68k will be reset at boot time and initialize via the routine Init_L15CT_Progr, which calls Halt_L15CT_Crate. Also add optional status argument to Halt_L15CT_Crate. - Modify MOD228_L15CT_EXECUTE.PAS add argument status to call to Halt_L15CT_Crate from l15ct_loadcode. - Modify MOD067_HANDLE_ZRL.PAS Move the code that initializes both pQBA, pVBA, reloads DRVs, reloads VME mapping registers to a separate exported routine reset_ZRL_and_DRV11Js - Modify MOD223_COOR_GLOBAL_EXECUTE add call to reset_ZRL_and_DRV11Js from coor_initialize - Modify SITE_DEPENDENT.CST Make Min/Max Crate_Id and Term_Num all zeroes to check on COOR messages. - Modify MOD051_TCS_IO_DRV11J_HANDLING.PAS change message "creating DRV11J device..." from handle_trc_inf to trc_sys Add trc_sys message "Programming DRV11J_PILOT/ASSIST Card" to proced_tcs_initialize_drv11j - Modify MOD025_SYS_SERVICE.PAS make the trc_sys message more explicit in write_dev_addr_in_int_disp_blk ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7-JUL-1994 Philippe: MSU:: - update COPY_TRICS.COM, add option to copy all files in directory - MSU::EWORK1 received a fresh copy of DZERO::EWORK1: (From DZERO::EWORK1:, use $ COPY_TRICS ALL EWORK1: MSU::EWORK1:) - archive DZERO::ETRICS: TRICS V5.3 to MSUD01::DUA1:[ARCHIVE.TRICS_V53] Using 000_ARCHIVE.V53 also copy TCC, TRUGUSER and TRGOLB files. Total = 20,916 blocks - MSU::ETRICS: was not refreshed, if v5.3 needed, use the archive instead. (EWORK1 is going to move to ETRICS soon) - MSU::EWORK2 contains the snapshot with pVBA only (was in EWORK3, 16-june) nothing needs to be saved, can be trashed when needed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22:24-JUN-1994 Philippe: Dual interface VAXStation -- At DZero - Modify MOD228_L15CT_EXECUTE.PAS fix typo in declaration of filled_list as a status_array: use (firstL15sptrg, lastL15sptrg) instead of (firstsptrg, lastsptrg) - Modify L15CT_VME_MAP.TYP increase length of EC_to_TCC status from 8 longwords to 32 and move the begining of EC_to_TCC status in DPM_Map - Modify MOD100_HANDLE_L15CT.PAS fix typo in start_l15ct_crate: interrupt the correct DSP ID # - Modify MOD171_PARSE_GLOBAL.PAS Add option to accept an unmatched keyword in a parsed command, default is still to reject unmatchable keywords. The option is selected by optional boolean argument ALLOW_A_STRING in proced_parse_string Define supporting variables unmatched_string_allowed (same as allow_a_string, but global module variable), and unmatched_string_start, unmatched_string_length Also modify routine inline_match_keyword to remember position of unmatched keyword, when option was allowed Also add a special branch to skip the CASE on cur_char during keywords (just look at cur_kw_strt to see if we started decoding a keyword, but not if this is a space or a prenthesis) this will allow "weird" characters e.g. "[", and skip '.' and ':'. - Modify MOD247_L15CT_DISPATCH.PAS use option ALLOW_A_STRING for loadcode commands - Modify MOD228_L15CT_EXECUTE.PAS accept the keyword CRATE in l15ct_loadcode, and retrieve the directory name using unmatched_string_start and unmatched_string_length. - find bug in MOD053_TCS_IO_SPY_HANDLING.PAS the proced_tcs_request_spy routine needs to pause the trigger in order to have the spy catch two halves of the same event. But it was doing an unconditional resume, instead of IF ( Framework_state = running ) THEN proced_tcs_resume ; Note that this bug has been in the official DZero code since we have the tandem COMINTs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 21-JUN-1994 Philippe: Dual interface VAXStation - Modify MOD067_HANDLE_ZRL.PAS This modification allows unplugging the pVBA cable and keep runing as a QBus only box. Add variable Ignore_pVBA to allow skipping pVBA initialization and interrupt handling. This variable is initialized to FALSE, but can be set to TRUE with EDEBUG, or by recompiling. - measure VME read/write cycles with the dual interface 4000. (to VME 214 through vertical interconnect). -> NO CHANGE compared to the single interface. 4.8 us per write cycle 5.1 us per read cycle - Mopdify MOD025_SYS_SERVICE.PAS add trc_sys message to notify of opcode change in return of Int Disp Block - run tests sequentially: sequential register tests 4k longwords of A24/D32 MVME214, then 2k bytes of A16/D8 MVME214 above two steps repeated a total of 7 times then cause a VME Bus error then wait one second while a Caltrig Random Test executes some loops and all this while the mvme135 is testing the other 4k of A32/D32 MVME214 one error in one hour E-ZRL/DEV%Bus Error while accessing VME Bus Post-A24/D32-Wrt Err @ %X00000715 = 00000E00 <> 00000E2A re-read 00000E2A ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20-JUN-1994 Philippe: Dual interface VAXStation - Modify MOD067_HANDLE_ZRL.PAS (bug is still in MOD065_HANDLE_PVBA.PAS) change pVBA error test from IF ( bitwise_and ( isr_comm_region^.int1_error, pVBA_MBX_WRV ) <> 0 ) to CASE isr_comm_region^.int1_error OF pVBA_MBX_WRV : ... as this is an 8-bit Hex value encoding the error, not a given bit set. rename init_DUAL_device to init_ZRL_devices_and_DRV11Js and propagate to TRICS_V6X.PAS - restore MOD051_TCS_IO_DRV11J_HANDLING.PAS - MOD052_TCS_IO_COMINT_HANDLING.PAS - MOD053_TCS_IO_SPY_HANDLING.PAS - MOD054_TCS_IO_CBUS_HANDLING.PAS - MOD055_TCS_IO_SCALER_HANDLING.PAS - MOD056_TCS_IO_PRESCALER_HANDLING.PAS - MOD057_IO_ALLOCATION_HANDLING.PAS - MOD058_TCS_IO_TWB_HANDLING.PAS restore standard version to reconnect to QBus interface. note: in MOD051_TCS_IO_DRV11J_HANDLING.PAS, delete connect_to_ebuild_dev_addr and replace with mod_sys_service\find_dev_addr_and_map_mem - delete MOD060_HANDLE_PQBA.PAS, PQBA_ISR10D.MAC and MOD065_HANDLE_PVBA.PAS, PVBA_ISR10B.MAC now obsolete, cf. MOD067_HANDLE_DUAL.PAS, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15-16-JUN-1994 Philippe: Dual interface VAXStation - Modify TRICS_V6X.PAS add a call to Init_L15CT_Progr - Modify MOD201_TST_INIT.PAS and MOD223_COOR_GLOBAL_EXECUTE.PAS also call Init_L15CT_Progr - take snapshot of current code from ework3 to EWORK1 - Modify TRICS_V6X.DAT add device DUAL at base address change the addresses of pVBA and restore pQBA device restore DUA device entry - create MOD067_HANDLE_ZRL.PAS using [trg_lib.zrl_code.dual]DUAL_DEVICE10A.C and MOD_HANDLE_pQBA and MOD_HANDLE_pVBA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 8-JUN-1994 Philippe: - Modify MOD171_PARSE_GLOBAL.PAS Add ability to read floating point values with inline_decimal Replace the routines inline_0,...inline_9 with inline_digit(n) Also find bug in proced_parse_string that prevented the proper decoding of the Begin/End Run Scaler defintion messages (BER_DBSC and BER_SBSC) The routine inline_comment was setting the number of consecutive blanks to 8 (i.e. the old value) to force the end of line parsing. This hadn't been updated, and wasn't enough to stop line parsing. Instead define a constant and use it in both places. Also de-activate the limit of 9 digits for the decimal part of a floating point number. - Modify MOD173_PARSE_DETAIL.PAS routine inline_extract_list is no longer [INLINE] - Modify MOD013_COMMON_PARSE.PAS add parse code Parse_floating_point - Modify MOD037_HANDLE_TRACING.PAS add reminder to propagate changes to the definition of handle_trc_err to mod_sys_service - Modify MOD263_SOFT_CONN_DISPATCH.PAS create MOD247_L15CT_DISPATCH.PAS To dispatch the new L1.5 CT messages. - Create UNRESOLVED_KERNLIB_REFERENCES.FOR add a couple of empty routines, PERROR and LSEEK that are (since yesterday) generating unresolved references from KERNLIB. They come from SYS$LIBRARY:VAXCRTL.OLB but this library creates "multiple occurences of modules like CLOSE,...". - Modify DESCRIP.MMS change the command link, add /NOUSERLIBRARY to avoid automatic inclusion of "LNK$LIBRARY" = "SYS$LIBRARY:VAXCRTL.OLB" (LNM$PROCESS_TABLE) From VAX Pascal Reference Supplement for VMS Systems (December 1989) (D3YVAA23.DECW$BOOK) 2.7.1 Single-Precision (SINGLE and REAL Types) A single-precision floating-point value is represented by four contiguous bytes. The bits are numbered from the right, 0 through 31, as shown in Figure 2-2. A single-precision floating-point value is specified by its address A, the address of the byte containing bit 0. The form of this value is sign magnitude as follows: Bit 15 is the sign bit. Bits 14 through 7 are an excess 128 binary exponent. Bits 6 through 0 and 31 through 16 are a normalized 24-bit fraction with the redundant most significant fraction bit not represented. Within the fraction, bits of increasing significance go from 16 through 31 and from 0 through 6. The 8-bit exponent field encodes the values 0 through 255 as follows: An exponent value of 0, with a sign bit of 0, indicates that the floating-point number has a value of 0. Exponent values of 1 through 255 indicate binary exponents of -127 through +127. An exponent value of 0, with a sign bit of 1, is considered a reserved operand. Floating-point instructions that process a reserved operand cause a reserved operand fault. The precision of a single-precision value is approximately 23 one part in 2 , or 7 decimal digits. Table 2-6: Range of Real Types ============================== Real Type Degree of Precision Range of Values ---------------------------------------------------------------------------- -38 38 REAL(SINGLE) Single-precision 0.29 * 10 through 1.7 * 10 DOUBLE Double-precision -38 38 D_floating 0.29 * 10 through 1.7 * 10 -308 308 G_floating 0.56 * 10 through 0.90 * 10 -4932 4932 QUADRUPLE Quadruple-precision 0.84 * 10 through 0.59 * 10 From "Computer Programming and Architecture -- the VAX 11". pp 27-28 1. The fraction is expressed as a 24-bit positive fraction, where 0.5 <= f < 1, with binary point positioned to the left of the most significant bit. Since this bit must be 1 if the number is non zero, it is not stored. This effectively enables the fraction to be stored in 23 bits. This form is called a form. 2. The exponent is stored as a biased 8-bit positive integer. That is, when 128 is subtracted from the exponenet, the result represents the power of 2 by which the fraction is multiplied to obtain the true value of the floating point number. 3. The sign of the number is positive when S, the sign bit, is 0, and negative when S = 1. X = ( 1 - 2 x S ) x fraction x 2 ^(exponent - 128) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10-MAY-1994 Philippe: - measure VME read/write cycles to VME 214 through vertical interconnect. 4.8 us per write cycle 5.1 us per read cycle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3-MAY-1994 Philippe: - VME read/write speed test. Write to MVME 214. Reference, no VME read/write --------- 22 bytes of object code 60 seconds (.6 us per loop) 85E FOR addr := 1 TO 100000000 movl #1,-0108(fp) DO BEGIN vcg.10: data := addr ; movl -0108(fp),-0104(fp) END ; aobleq #5F5E100,-0108(fp),vcg.10 874 VME read -------- 21 bytes of object code 178 seconds 178-60 = 1.18 us per VME cycle 8E8 FOR addr := 1 TO 100000000 movl #1,-0108(fp) DO BEGIN vcg.13: data := vme_mapped_region^[1,0] ; movl @00(ap),-0104(fp) END ; aobleq #5F5E100,-0108(fp),vcg.13 8FD VME Write --------- 21 bytes of object code 159 seconds 159-60 = .99 us per VME cycle 96A FOR addr := 1 TO 100000000 movl #1,-0108(fp) DO BEGIN vcg.16: vme_mapped_region^[1,0] := data ; movl -0104(fp),@00(ap) END ; aobleq #5F5E100,-0108(fp),vcg.16 97F ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27-APR-1994 Philippe: Now have a target node with (only) a VME interface - copy code from EWORK4 to ework3 - modify SITE_DEPENDENT.CST Move to version 6.X-0 - edit MOD051_TCS_IO_DRV11J_HANDLING.PAS - MOD052_TCS_IO_COMINT_HANDLING.PAS - MOD053_TCS_IO_SPY_HANDLING.PAS - MOD054_TCS_IO_CBUS_HANDLING.PAS - MOD055_TCS_IO_SCALER_HANDLING.PAS - MOD056_TCS_IO_PRESCALER_HANDLING.PAS - MOD057_IO_ALLOCATION_HANDLING.PAS - MOD058_TCS_IO_TWB_HANDLING.PAS - MOD060_HANDLE_PQBA.PAS remove all code (because it uses the pQBA/DRV11Js) and only leave the procedure and data declarations - restore MOD171_PARSE_GLOBAL.PAS MOD263_SOFT_CONN_DISPATCH.PAS (temporarily) to the older version from ETRICS - Modify MOD051_TCS_IO_DRV11J_HANDLING.PAS remove routine connect_to_ebuild_dev_addr but this is only the guted version and will need to be propagated. - create MOD025_SYS_SERVICE.PAS with find_dev_addr_and_map_mem (formerly connect_to_ebuild_dev_addr) and write_dev_addr_in_int_disp_blk (extracted from pq/vba code) and map_memory to call allocate_system_region - modify MOD037_HANDLE_TRACING.PAS mention "EXTERNAL" reference to handle_trc_sys/sta/err in mod_sys_service - create MOD065_HANDLE_PVBA.PAS similar to MOD060_HANDLE_PQBA.PAS with routine init_pVBA_device includes declarations from PVBA4000.H and PVBA_INTERRUPTS.H and code from PVBA_DEVICE10B.C - add ZRL Macro PVBA_ISR10B.MAC - Modify TRICS_V6X.PAS call init_pVBA_device ; - update DESCRIP.MMS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ================================================================================ TRGBOOK:TRICS.LBK_V5 Archived Section Of TRICS V6.X notes for 17-FEB-1994 through 31-AUG-1993 ================================================================================ TRGBOOK:TRICS.LBK_V4 Archived Section Of TRICS V4.X notes for 15-FEB-1993 through 11-FEB-1993 ================================================================================ Archived Section Of TRICS V3.X notes is in TRGBOOK:TRICS.LBK_V3 for 30-JUN-1992 through 11-FEB-1993 ================================================================================ Archived Section Of TRICS V2.X notes is in TRGBOOK:TRICS.LBK_V2 covers 22-JAN-1992 through 30-JUN-1992 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ DO make single cycle MTG start/stop addresses a constant in site_dependent review force db sptrg initialization wrt l1.5 make trace_init_database flags modifiable via trics_access (trics_boot_auxi) make error saver variables a message (trics_boot_auxi) make result directory location a message make directory for trics_init_auxi a variable with message to set it message to start/stop the keyboard input task mask off non-existing jet pattern use official ITC download event (jay, simulator) cat2_t1_*.inopreg[relp_0..relp_7] vs 1..8 fill in BBB mba random test init CAT cards recognize channel 0 in tracing messages and modify the restorable variables I never got around making a full dump of the internal counting stages. I want to use it - as a PHAT message for formatted dump to a file (it would have been convenient now) - as an option after an error in random test - as a service to the simulator for verification, once I make it download an event - as a service to the online surveillance program. I also would like to see random test get upgraded to test the tier #3 and #4 comparators. - message to override random seed - investigate why verification of FMLN threshold of 256 doesn't work - verify Missing Pt programming of FMLN - random test "tier #1 HD is .. instead of ..." repeated twice (!not found) - add ascii card name to card record - add initialization value to register record and - change DBSC scaler for VTC states; use ID numbers - displace L0-L1 card. Its new MBA-CA-FA is 2-249-61. on Assistant COMINT. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ scratch pad: set break MOD_HANDLE_TRGTWR\%Line 400 do ( go %Line 406) set com fix dep p_ctfe_ref_reg^.content=byte_threshold go %line 192 set break MOD_HANDLE_TRGTWR\%Line 185 do ( fix )