I *think* I managed to rebuild the installed software, which I lost.
KEYDEF 101,W_ARM,%Warm Up |859x%;
KEYDEF 102,C_PU,%CPU Pre-|Test%;
KEYDEF 103,S_CAP,%Super |Cap%;
KEYDEF 104,M_EAS,%Measure |Test%;
KEYDEF 105,I_NIT,%Init |Test%;
KEYDEF 106,R_EVDATE,%DLP |Revision%;
FUNCDEF S_TIME,@
I_NIT;
S_CAP;
M_EAS;
MENU 1;
@;
FUNCDEF M_EAS,@
C_HECK;
S_TIME;
E_LAPSE;
C_AL;
D_ONE;
MENU 1;
@;
FUNCDEF C_HECK,@
MOV C_LOCK,HAVE CNT;
IF C_LOCK,GT,0,THEN;
IP;CF-2001HZ;CAL FREQ;
MOV S_TAT,STB?;
IF S_TAT,GT,0,THEN
CLRDSP;BLANK TRA;GRAT OFF;ANNOT OFF;MENU 0;
PU;PA,50,190;TEXT% PRE WARM-UP CAL. CHECK%;
PU;PA,50,180;TEXT% ----------------------%;
PU;PA,100,110;TEXT% --------------------- %;
PU;PA,100,100;TEXT%|CAL. FREQ. **FAILED**|%;
PU;PA,100,90 ;TEXT% ---------------------%;
PU;PA,100,60 ;TEXT%PRESS [PRESET] %;
PU;PA,100,50 ;TEXT%PRESS [FREQ],-2001Hz,%;
PU;PA,100,40 ;TEXT%& [CAL],CAL FREQ. %;
PU;PA,100,30 ;TEXT%...TO ISOLATE PROBLEM%;
PU;PA,50,140;TEXT%$$$$ WARM-UP WAS NOT DONE $$$$%;
ABORT;
ENDIF;
CAL AMP;
MOV S_TAT,STB?;
IF S_TAT,GT,0,THEN
CLRDSP;BLANK TRA;GRAT OFF;ANNOT OFF;MENU 0;
PU;PA,50,190;TEXT% PRE WARM-UP CAL. CHECK%;
PU;PA,50,180;TEXT% ----------------------%;
PU;PA,100,90;TEXT% -------------------- %;
PU;PA,100,80;TEXT%| CAL. AMP. **FAILED**|%;
PU;PA,100,70;TEXT% --------------------%;
PU;PA,100,50;TEXT%PRESS [PRESET] %;
PU;PA,100,40;TEXT%PRESS [FREQ],-2001Hz,%;
PU;PA,100,30;TEXT%& [CAL],CAL AMP. %;
PU;PA,100,20;TEXT%...TO ISOLATE PROBLEM%;
PU;PA,50,140;TEXT%$$$$ WARM-UP WAS NOT DONE $$$$%;
ABORT;
ENDIF;
CAL STORE;
ENDIF;
@;
FUNCDEF C_AL,@
IP;CF-2001HZ;CAL FREQ;
MOV S_TAT,STB?;
IF S_TAT,GT,0,THEN
CLRDSP;BLANK TRA;GRAT OFF;ANNOT OFF;MENU 0;
PU;PA,100,100;TEXT%CAL. FREQ. **FAILED**%;
PU;PA,100,90 ;TEXT%---------------------%;
PU;PA,100,60 ;TEXT%PRESS [PRESET] %;
PU;PA,100,50 ;TEXT%PRESS [FREQ],-2001Hz,%;
PU;PA,100,40 ;TEXT%& [CAL],CAL FREQ. %;
PU;PA,100,30 ;TEXT%...TO ISOLATE PROBLEM%;
ABORT;
ENDIF;
CAL AMP;
MOV S_TAT,STB?;
IF S_TAT,GT,0,THEN
CLRDSP;BLANK TRA;GRAT OFF;ANNOT OFF;MENU 0;
PU;PA,100,80;TEXT%CAL. AMP. **FAILED**%;
PU;PA,100,70;TEXT%--------------------%;
PU;PA,100,50 ;TEXT%PRESS [PRESET] %;
PU;PA,100,40 ;TEXT%PRESS [FREQ],-2001Hz,%;
PU;PA,100,30 ;TEXT%& [CAL],CAL AMP. %;
PU;PA,100,20 ;TEXT%...TO ISOLATE PROBLEM%;
ABORT;
ENDIF;
CAL STORE;
@;
FUNCDEF E_LAPSE,@
MENU 0;
REPEAT
MOV T_REG,TIMEDATE;
MOV T_IME,T_REG;
DIV T_IME,T_IME,10000000000;
MOV Y_EAR,T_IME;
INT Y_EAR,Y_EAR;
MOV T_IME,T_REG;
DIV T_IME,T_IME,100000000;
MOV M_ONTHS,T_IME;
MPY Y_EAR,Y_EAR,100;
SUB M_ONTHS,M_ONTHS,Y_EAR;
INT M_ONTHS,M_ONTHS;
MOV T_IME,T_REG;
DIV T_IME,T_IME,1000000;
MOV D_AYS,T_IME;
MPY Y_EAR,Y_EAR,100
MPY M_ONTHS,M_ONTHS,100;
ADD T_EMP,M_ONTHS,Y_EAR;
SUB D_AYS,D_AYS,T_EMP;
INT D_AYS,D_AYS;
MOV T_IME,T_REG;
DIV T_IME,T_IME,10000;
MOV H_OUR,T_IME;
MPY Y_EAR,Y_EAR,100
MPY M_ONTHS,M_ONTHS,100;
MPY D_AYS,D_AYS,100;
ADD T_EMP,M_ONTHS,Y_EAR;
ADD T_EMP,D_AYS,T_EMP;
SUB H_OUR,H_OUR,T_EMP;
INT H_OUR,H_OUR;
MOV H_REG,H_OUR;
MOV T_IME,T_REG;
DIV T_IME,T_IME,100;
MOV M_IN,T_IME;
MPY Y_EAR,Y_EAR,100
MPY M_ONTHS,M_ONTHS,100;
MPY D_AYS,D_AYS,100;
MPY H_REG,H_REG,100;
ADD T_EMP,M_ONTHS,Y_EAR;
ADD T_EMP,D_AYS,T_EMP;
ADD T_EMP,H_REG,T_EMP;
SUB M_IN,M_IN,T_EMP;
INT M_IN,M_IN;
MOV T_IME,T_REG;
MOV S_EC,T_IME;
MPY Y_EAR,Y_EAR,100
MPY M_ONTHS,M_ONTHS,100;
MPY D_AYS,D_AYS,100;
MPY H_REG,H_REG,100;
MPY M_IN,M_IN,100;
ADD T_EMP,M_ONTHS,Y_EAR;
ADD T_EMP,D_AYS,T_EMP;
ADD T_EMP,H_REG,T_EMP;
ADD T_EMP,M_IN,T_EMP;
SUB S_EC,S_EC,T_EMP;
INT S_EC,S_EC;
IF I_NDEX,EQ,0 THEN
MOV S_REG,S_EC;
PU;PA,95,40;TEXT%ELAPSE= %;PA,175,40;TEXT% MINUTES%;
PU;PA,135,30;TEXT%& %;PA,175,30;TEXT% SECONDS%;
MOV S_aveDa,DA;
PU;PA,158,40;
DSPLY,M_CNT,2.0;
PU;PA,158,30;
DSPLY,S_CNT,2.0;
ADD I_NDEX,I_NDEX,1;
ENDIF;
IF S_REG,NE,S_EC THEN
ADD S_CNT,S_CNT,1;
MOV S_REG,S_EC;
ENDIF;
IF S_CNT,EQ,60,THEN
SUB S_CNT,S_CNT,60;
ADD M_CNT,M_CNT,1;
ENDIF;
MOV L_astDa,DA;
MOV DA,S_aveDa;
PU;PA,158,40;
DSPLY,M_CNT,2.0;
PU;PA,158,30;
DSPLY,S_CNT,2.0;
MOV DA,L_astDa;
{ds_sync()};
UNTIL (M_CNT >= W_RMUP);
CLRDSP;
@;
FUNCDEF I_NIT,@
IP;CF-2001HZ;CAL INIT;CAL FETCH;CAL STORE;TS;
BAUDRATE9600;KSP18;PLOTADRS5;
PSTATE0;PREFX%%;VARDEF _PRT;VARDEF _CLR;PRNTADRS1;PLT0;
CRTVPOS20;CRTHPOS8;KS<0;IP;
POWERON IP;
IP;CF-2001HZ;INZ 50;AUNITS DBM;LN;AUNITS V;LG;CAL UNITS;TS;
CF-2001HZ;CAL TIMEBASE 128;
CF-2001HZ;CALATNDATA 0,0,0,0,0,
PREAMPG 0;
AMPCOR 30GHZ, 0DB;AMPCOR OFF;
GRAT OFF;ANNOT OFF;BLANK TRA;MENU 0;
PU;PA 100,115;TEXT% INITIALIZATION COMPLETE %;
PU;PA 100,105;TEXT%============================%;
PU;PA 100,95;TEXT%- DEFAULT CAL DATA LOADED %;
PU;PA 100,85;TEXT%- TIMEBASE DEFAULTED TO 128 %;
PU;PA 100,75;TEXT%- CAL ATTEN DEFAULTED TO 0'S %;
PU;PA 100,65;TEXT%- PRE-AMP GAIN DEFAULTED TO 0'S %;
PU;PA 100,55;TEXT%- AMP CORRECTION DEFAULTED TO 0'S %;
WAIT 2;IP;MENU 1;
@;
FUNCDEF R_EVDATE,@
GRAT OFF;ANNOT OFF;BLANK TRA;MENU 0;
PU;PA 50 185;TEXT% LASTEST DLP REV. DATE: 01/12/97%;
PU;PA 50,60;TEXT% PRESS ENTER AFTER VIEWING%;
HD;EP;MPRST;
MN1;
@;
FUNCDEF S_CAP,@
$;ANNOT OFF;GRAT OFF;BLANK TRA;CLRDSP;MN0;CSIZE 1,1;PU;PA; 200, 50;PD;PR;110,70;90,0;0,-70;-25,0;0,-15;25,0;0,-40;-200,0;0;55;PU;10,-50;TEXT%o%;PU;150,100;TEXT%o%;DRAWBOX 250, 35, 265, 25,5,5;CSIZE;PU;PA; 125, 135;PD;PR;55,0;70,-100;4,10;-4,-10;-15,5;PU;PA;120,200;TEXT%Verify Super-Cap Voltage%;PU;PA;120,190;TEXT%========================%;PU;PA;-10,170;TEXT%- Lift the edge of the shield on%;
PU;PA;-10,160;TEXT% the memory board.%;
PU;PA;-10,150;TEXT%- Touch the test fixture probe to%;
PU;PA;-10,140;TEXT% the square pad of C1 on the%;
PU;PA;-10,130;TEXT% memory board.%;
PU;PA;-10,120;TEXT%- The LED in the%;
PU;PA;-10,110;TEXT% test fixture must%;
PU;PA;-10,100;TEXT% light for the board%;PU;PA;-10,90;TEXT% to PASS.%;PU;PA;-10,80;TEXT%- Press ENTER when done.%;HD;EP;MPRST;MN1;
@;
FUNCDEF D_ONE,@
MENU 0;
BLANK TRA;ANNOT OFF;GRAT OFF;CLRDSP;
PU;PA,100,150;TEXT%WARM-UP DONE%;
PU;PA,160,120;TEXT%CAL. FREQ/AMP DONE%;
PU;PA,250,25;TEXT%PRESS ENTER TO EXIT%;
PU;
PA;100,100;PD 100,150;
150,150;100,100,100;
150,150;100,100,100;
150,150;150,100,100,100;
PU;
EP;IP;MENU 1;
ANNOT ON;
TITLE%WARM-UP DONE%;
ERASE;
@;
FUNCDEF C_PU,@
VARDEF F_FLAG,0;
TRDEF TRA_A,401;
VARDEF ADC_LO,0;
VARDEF ADC_HI,8000;
VARDEF F_HI,0;
VARDEF F_LO,0;
DET GND;TS;MOV ADC_LO,MEAN TRD;PU;PA 150,45;
TEXT%ADC GND=%;PU;PA 250,45;DSPLY ADC_LO,5.0;
PU;PA300,45;IF ADC_LO,GT,135 THEN TEXT%FAILED%;
MOV F_FLAG,1;MOV F_LO,1;ENDIF;
PU;PA300,45;IF ADC_LO,LT,45 THEN TEXT%FAILED%;
MOV F_FLAG,1;MOV F_LO,1;ENDIF;
IF F_LO,EQ,0 THEN TEXT%ok%;ENDIF;
DET REF;TS;MOV ADC_HI,MEAN TRD;PU;PA 150,35;
TEXT%ADC 2V =%;PU;PA 250,35;DSPLY ADC_HI,5.0;
PU;PA 300,35;IF ADC_HI,LT,3430;THEN TEXT%FAILED%;
MOV F_FLAG,1;MOV F_HI,1;ENDIF;
PU;PA 300,35;IF ADC_HI,GT,3630;THEN TEXT%FAILED%;
MOV F_FLAG,1;MOV F_HI,1;ENDIF;
IF F_HI,EQ,0 THEN TEXT%ok%;ENDIF;
GRAT OFF;BLANK TRA;MENU 0;
PU;PA 150,25;TEXT%ENTER DATE:%;DATEMODE MDY;
TIMEDSP ON;SETDATE EP;PU;PA 260,25;TEXT%Done%;
PU;PA 150,15;TEXT%ENTER TIME:%;
SETTIME EP;PU;PA 260,15;TEXT%Done%;
IF F_FLAG,EQ,0 THEN
IP;
GRAT OFF;ANNOT OFF;BLANK TRA;MENU 0;
PU;PA 50,175;TEXT% ******* CPU PRETEST PASSED ******** %;
PU;PA 50,135;TEXT% CYCLE THE POWER %;
PU;PA 50,115;TEXT% TO ENSURE THE CPU COMES UP %;
PU;PA 50,95;TEXT% WITH THE CORRECT DISPLAY %;
ELSE
IP;
GRAT OFF;ANNOT OFF;BLANK TRA;MENU 0;
PU;PA 50,185;TEXT% FAILED ................. %;
PU;PA 50,175;TEXT% ............FIX & RETEST %;
PU;PA 50,155;TEXT% PRESS ENTER TO EXIT SCREEN %;
ENDIF;EP;IP;MENU 1;
@;
FUNCDEF W_ARM,@
GRAT OFF;ANNOT OFF;BLANK TRA;
CLRDSP;
PU;PA,15,190;TEXT%********** WARM-UP DLP ************%;
MOV T_REG,TIMEDATE;
MOV T_IME,T_REG;
DIV T_IME,T_IME,10000000000;
MOV Y_EAR,T_IME;
INT Y_EAR,Y_EAR;
PU;PA,45,130;TEXT%START TIME= 19%DSPLY Y_EAR,2.0;TEXT% YEAR%;
MOV T_IME,T_REG;
DIV T_IME,T_IME,100000000;
MOV M_ONTHS,T_IME;
MPY Y_EAR,Y_EAR,100;
SUB M_ONTHS,M_ONTHS,Y_EAR;
INT M_ONTHS,M_ONTHS;
PU;PA,157,120;DSPLY M_ONTHS,2.0;TEXT% MONTH%;
MOV T_IME,T_REG;
DIV T_IME,T_IME,1000000;
MOV D_AYS,T_IME;
MPY Y_EAR,Y_EAR,100
MPY M_ONTHS,M_ONTHS,100;
ADD T_EMP,M_ONTHS,Y_EAR;
SUB D_AYS,D_AYS,T_EMP;
INT D_AYS,D_AYS;
PU;PA,157,110;DSPLY D_AYS,2.0;TEXT% DAY%;
MOV T_IME,T_REG;
DIV T_IME,T_IME,10000;
MOV H_OUR,T_IME;
MPY Y_EAR,Y_EAR,100
MPY M_ONTHS,M_ONTHS,100;
MPY D_AYS,D_AYS,100;
ADD T_EMP,M_ONTHS,Y_EAR;
ADD T_EMP,D_AYS,T_EMP;
SUB H_OUR,H_OUR,T_EMP;
INT H_OUR,H_OUR;
MOV H_REG,H_OUR;
IF H_OUR,LT,1 THEN
ADD H_OUR,H_OUR,12;
SUB A_MPM,A_MPM,1;
ENDIF;
IF H_OUR,EQ,12 THEN
ADD A_MPM,A_MPM,1;
ENDIF;
IF H_OUR,GT,12 THEN
SUB H_OUR,H_OUR,12;
ADD A_MPM,A_MPM,1;
ENDIF;
IF A_MPM,EQ,-1 THEN
PU;PA,157,100;DSPLY H_OUR,2.0;TEXT% AM%;
ENDIF;
IF A_MPM,EQ,0 THEN
PU;PA,157,100;DSPLY H_OUR,2.0;TEXT% AM%;
ENDIF;
IF A_MPM,EQ,1 THEN
PU;PA,157,100;DSPLY H_OUR,2.0;TEXT% PM%;
ENDIF;
MOV T_IME,T_REG;
DIV T_IME,T_IME,100;
MOV M_IN,T_IME;
MPY Y_EAR,Y_EAR,100
MPY M_ONTHS,M_ONTHS,100;
MPY D_AYS,D_AYS,100;
MPY H_REG,H_REG,100;
ADD T_EMP,M_ONTHS,Y_EAR;
ADD T_EMP,D_AYS,T_EMP;
ADD T_EMP,H_REG,T_EMP;
SUB M_IN,M_IN,T_EMP;
INT M_IN,M_IN;
MOV M_REG,M_IN;
PU;PA,157,90;DSPLY M_IN,2.0;TEXT% MINUTES%;
MOV T_IME,T_REG;
MOV S_EC,T_IME;
MPY Y_EAR,Y_EAR,100
MPY M_ONTHS,M_ONTHS,100;
MPY D_AYS,D_AYS,100;
MPY H_REG,H_REG,100;
MPY M_IN,M_IN,100;
ADD T_EMP,M_ONTHS,Y_EAR;
ADD T_EMP,D_AYS,T_EMP;
ADD T_EMP,H_REG,T_EMP;
ADD T_EMP,M_IN,T_EMP;
SUB S_EC,S_EC,T_EMP;
INT S_EC,S_EC;
MOV S_REG,S_EC;
PU;PA,157,80;DSPLY S_EC,2.0;TEXT% SECONDS%;
@;
Sending this up through GPIB will create the menu entries and DLP.
I think this is some service/diagnose personality.
This shows that one can rebuild most of the stuff from the USTATE? dump. The difficult part is to actually guess the filenames!
I'm pretty happy that I got this back to work - for no particular reason.
My only doubt is if some DLP or commands within require variables I have not created.
I would like to suggest to describe personalities like the above code, as it can be sent to the device with great ease - I think I could use Keysight Interactive IO and just do a COPY&PASTE and it would work.
Regards,
Vitor