image of READY prompt

Wang2200.org

Listing of file='SPEC020A' on disk='vmedia/701-2049C.wvd.zip'

# Sector 501, program filename = 'SPEC020A'
0010 REM SPEC020A,00-00(02/18/76),12003A - COPYRIGHT WANG LABS. INC., 1976
0050 COM O$(1)3
   : DIM R1$8,R2$1,R3$2,R9$8,R9$(16)
   : DIM Q6$64
   : DIM B$(16),B1$(1)2,A$2
   : PRINT HEX(03)
0110 GOSUB '243("ENTER THE DESIRED LOADING ADDRESS OF ISS.",3)
   : IF STR(Q6$,1,1)="B"THEN 160
   : IF STR(Q6$,1,1)="3"THEN 160
   : GOSUB 1180
   : GOTO 110
0160 O$(1)=Q6$
   : GOSUB '97(O$(1))
   : IF Q6$="Y"THEN 220
   : GOSUB 1180
   : GOTO 110
0220 GOSUB '248(7,20,9)
   : PRINT "NEW ISS LOADING ADDRESS = ";O$(1)
   : GOSUB '98(280,2,O$(1))
   : LOAD DC T#0,"SELECT"280,280
0280 % SELECT #2 GOES HERE
0310 PRINT HEX(010A);"MOUNT DISK TO BE MODIFIED AT NEW ISS ADDRESS.  (0 = END)
     "
   : GOSUB '254
   : IF Q6$="0"THEN 370
   : GOSUB 420
   : GOTO 310
0370 DEFFN'15
   : COM CLEAR O$()
   : LOAD DC T#0,"START"
0420 GOSUB '229(2,"START")
   : IF R2$=HEX(10)THEN 480
   : PRINT HEX(030A);"FILE - START - NOT AN ACTIVE PROGRAM FILE"
   : GOSUB '254
   : RETURN
0480 LIMITS T#2,"START",X,Y,Z
   : DATA LOAD BA T#2,(X+1,Z)B$()
   : A$=HEX(A58E)
   : MAT SEARCHB$(),=A$TO B1$()
   : IF B1$(1)=HEX(0000)THEN 590
   : P=256*VAL(B1$(1))+VAL(STR(B1$(1),2,1))+2
   : MAT COPY O$()TO B$()<P,3>
   : DATA SAVE BA T#2,(X+1,Z)B$()
0590 RETURN
0610 DEFFN'242(W0,Q6$)
   : IF W0<=0THEN 660
   : IF W0=1THEN 650
   : STR(Q6$,2)=STR(Q6$,1,W0-1)
0650 PRINT Q6$;
0660 RETURN
0680 DEFFN'254
   : GOSUB '248(2,0,1)
   : INPUT "KEY RETURN(EXEC) TO RESUME ",Q6$
   : W4$=Q6$
   : GOSUB '248(1,0,3)
   : Q6$=W4$
   : RETURN
0760 DEFFN'243(Q6$,Q0)
   : GOSUB 1210
0780 SELECT CO 205
   : Q6$=" "
   : INPUT Q6$
   : IF Q0=0THEN 1280
   : IF LEN(Q6$)<=Q0THEN 1280
   : GOSUB 1180
0850 DEFFN'244(Q0)
   : GOSUB 1260
   : GOSUB 1230
   : GOTO 780
0900 DEFFN'245(Q6$,Q2,Q3)
   : Q0=ABS(Q2)+Q3+1
   : GOSUB 1210
0930 IF ABS(Q2)+ABS(Q3)=0THEN 970
   : GOSUB '242(ABS(Q2)+2,HEX(09))
   : PRINT "/"
   : GOTO 980
0970 PRINT ,," "
0980 GOSUB 1260
   : SELECT CO 205
   : Q9,W0=-1E-99
   : INPUT Q9
   : IF W0=Q9THEN 1060
   : IF ABS(Q2)+Q3=0THEN 1160
   : IF Q9>=0THEN 1130
   : IF Q2<=0THEN 1130
1060 GOSUB 1180
1080 DEFFN'246(Q2,Q3)
   : Q0=ABS(Q2)+Q3+1
   : GOSUB 1260
   : GOSUB 1230
   : GOTO 930
1130 IF ABS(Q9)>=10^ABS(Q2)THEN 1060
   : W0=ABS(Q9*10^Q3)
   : IF INT(W0)<>W0THEN 1060
1160 GOSUB '248(3,0,1)
   : RETURN
1180 GOSUB '248(3,0,1)
   : PRINT "RE-ENTER"
   : RETURN
1210 SELECT PRINT 005(64),CO 005
   : PRINT HEX(010A);STR(Q6$,1);
1230 SELECT PRINT 005(64),CO 005
   : GOSUB '242(Q0+2,"-")
   : PRINT TAB(64)
1260 PRINT HEX(010A0A)
   : RETURN
1280 PRINT HEX(0A);TAB(64)
   : SELECT PRINT 005(64),CO 005
   : RETURN
1320 DEFFN'248(Q6,Q7,Q8)
   : GOSUB 1460
   : IF Q8<1THEN 1430
   : GOSUB 1430
   : SELECT PRINT 205
   : Q6$=" "
   : PRINT STR(Q6$,Q7+1)
   : IF Q8<2THEN 1430
   : FOR W0=2TO Q8
   : PRINT HEX(0A);STR(Q6$,1)
   : NEXT W0
1430 PRINT HEX(01)
   : GOSUB '242(Q7,HEX(09))
   : GOSUB '242(Q6,HEX(0A))
1460 SELECT PRINT 005(64),CO 005
   : RETURN
1490 DEFFN'229(R9,R9$)
   : DATA LOAD BA T#R9,(0,R3)R9$()
   : AND (STR(R9$(1),2,1),7F)
   : R4=VAL(STR(R9$(1),2,1))
   : R1$=R9$
   : XOR (STR(R1$,2),R1$)
   : R2$=STR(R1$,8,1)
   : R3$=HEX(0000)
   : ADDC(R3$,R2$)
   : ADDC(R3$,R2$)
   : ADDC(R3$,R2$)
1650 ADD(STR(R3$,1,1),STR(R3$,2,1))
   : R3=VAL(R3$)
   : R3=R3-INT(R3/R4)*R4
   : R5=R3
1730 DATA LOAD BA T#R9,(R3,R)R9$()
   : R6=0
   : FOR R7=1TO 16
   : IF R3<>0THEN 1810
   : IF R7<>1THEN 1810
   : R7=2
1810 R2$=STR(R9$(R7),1,1)
   : IF R2$=HEX(00)THEN 1900
   : IF R2$=HEX(10)THEN 1870
   : IF R2$<>HEX(11)THEN 1910
1870 IF STR(R9$(R7),9,8)<>R9$THEN 1910
   : R6=R7
1900 R7=16
1910 NEXT R7
   : IF R2$=HEX(00)THEN 2040
   : IF R6<>0THEN 2040
   : R2$=HEX(00)
   : R3=R3-1
   : IF R3=R5THEN 2040
   : IF R3>=0THEN 1730
   : R3=R4-1
   : GOTO 1730
2040 RETURN
2070 DEFFN'97(Q6$)
   : STR(Q6$,4)=HEX(00300131023203330434053506360737083809390A410B420C430D440E
     450F462020)
   : $TRAN(Q6$<2,2>,Q6$<4>)R
   : IF STR(Q6$,2,1)>HEX(0F)THEN 2210
   : IF STR(Q6$,3,1)>HEX(0F)THEN 2210
   : ROTATE(STR(Q6$,2,1),4)
2140 STR(Q6$,4,1)=STR(Q6$,2,1)
   : OR (STR(Q6$,4,1),STR(Q6$,3,1))
   : $GIO(02000316122273404400,Q6$)
   : IF STR(Q6$,8,1)<>HEX(00)THEN 2210
   : Q6$="Y"
   : RETURN
2210 Q6$="N"
   : RETURN
2250 DEFFN'98(Q8,Q9,Q6$)
   : R9$(1)=HEX(20FF0000A5D7313331300D0000FE)
   : PACK(####)STR(R9$(1),3,2)FROMQ8
   : CONVERT Q9TO STR(R9$(1),7,1),(#)
   : STR(R9$(1),8,3)=Q6$
   : LIMITS T#0,"SELECT",Q8,Q9,Q9
   : DATA SAVE BA T#0,(Q8+1,Q9)R9$()
   : RETURN