Listing of file='IDS2PU77' on disk='vmedia/701-2725B.wvd.zip'
# Sector 386, program filename = 'IDS2PU77'
1000 REM "IDS2PU77" STANDALONE SET-UP FOR 'CHANGE DEVICE ADDRESSES'
1010 COM R7$(1)80,R2$6,R4$3,R3$(10)9,R8$1,R0,E(8),E0(8),E3$8,E4$6,E0$8,F6$1,F2
$8,F5$8,E9$(9)8,E2$(250)9,E3$(249)8,E0$(249)1,A,B,D,Q,F,F0,F9$2,R,C,H,W,U
,F7$8,P,L,E$87,T,Z,E4$(16),N,E6$1,M,E8$(15)1,E8$16,F0$64,E8,E9,E,G,O,S,V,
I
1020 COM E9$8,F8$48,F6$(53)1,J,K,X,E7$8,F3$3,J,X,K,E1$8,E2$8,F6$1,Y,F0(6),D2$1
0,F2$(256)1,E7$(4)36
: COM Y,E$(2075)1,E1$(2)56,F1$(2)21,E6$(500)1,F$(2250)1
: COM C5$3
: DIM D1$2,D4$8,D5$4
: E8=2075
: E9=2250
: F6$(20)="S"
1050 PRINT HEX(0306020402000E);AT(0,20);"IDEAS CHANGE DEVICE ADDRESSES UTILITY
";HEX(0F);AT(2,0);BOX(4,72)
1060 PRINT AT(2,1);
: LINPUT "Enter the disk address where the IDEAS2 software now resides"?-C5
$
: GOSUB 1300
: IF F1<0THEN 1060
: P=6
: LIMITS T#P,"IDS2f001",A,B,C,D
: ERRORSTOP " Invalid device specification"
: END
1090 IF D>0THEN 1110
: DATA SAVE DC OPEN T#P,(3)"IDS2f001"
: MAT F0=ZER
: F0=1
: F0(1)=#ID
: R0=#PART
: DATA LOAD DC OPEN T#P,"IDS2f001"
: DATA SAVE DC #P,F0,F0()
: DATA SAVE DC #P,END
: GOSUB 1250
: GOTO 1200
1110 DATA LOAD DC OPEN T#P,"IDS2f001"
: DATA LOAD DC #P,F0,F0()
: GOSUB 1250
: FOR I=1TO F0
: IF F0(I)<>#IDTHEN 1140
: PRINT AT(20,0,80);"CPU is already in master file"
: R0=(I-1)*16+#PART
: GOTO 1200
1140 NEXT I
1150 IF F0=6THEN 1180
: ELSE PRINT AT(21,0,80);BOX(1,79);AT(21,5);" Your CPU is not in Master Fil
e; Select 'A' to add, 'C' to change";AT(21,71);
: E6$=" "
: LINPUT E6$
: PRINT HEX(06)
: IF E6$<>"A"AND E6$<>"C"THEN 1150
: IF E6$="C"THEN 1180
: F0=F0+1
: F0(F0)=#ID
: R0=(F0-1)*16+#PART
: DBACKSPACE #P,1S
: DATA SAVE DC #P,F0,F0()
: DATA SAVE DC #P,END
: GOTO 1200
1180 PRINT AT(21,0,80);BOX(1,79);AT(21,5);" Please enter number for CPU to cha
nge (1 to ";F0;")";AT(21,54);
: E6$=" "
: LINPUT E6$
: PRINT HEX(06)
: IF E6$<"1"OR E6$>"6"THEN PRINT HEX(07);
: IF E6$<"1"OR E6$>"6"THEN 1180
: CONVERT E6$TO F
: IF F>F0THEN PRINT HEX(07);
: IF F>F0THEN 1180
: F0(F)=#ID
: R0=(F-1)*16+#PART
: DBACKSPACE #P,1S
: DATA SAVE DC #P,F0,F0()
: DATA SAVE DC #P,END
1200 D8$="IDS2fs"
: IF R0>=#PARTTHEN CONVERT (R0-#PART)/16+1TO STR(D8$,7,2),(##)
: LIMITS T#P,D8$,A,B,C,D
: IF D>0AND B-A>=165THEN 1280
: IF D=0THEN 1230
1220 J1=J1+1
: CONVERT J1TO STR(D9$,5,4),(####)
: LIMITS T#P,D9$,A,B,C,D
: IF D<>0THEN 1220
: SCRATCH T#P,D8$
: SAVE DC T#P,(D8$)D9$1000,1000
: SCRATCH T#P,D9$
1230 DATA SAVE DC OPEN T#P,(166)D8$
: MAT REDIM E3$(9)83
: E3$()=" "
: DATA SAVE DC #P,E3$()
: DSKIP #P,161S
: DATA SAVE DC #P,END
: LIMITS T#P,D8$,A,B,C,D
: FOR I=A+3TO A+163
: DATA SAVE BA T#P,(I)STR(E3$(),,256)
: NEXT I
: STR(E3$(),,8)=ALL(30)
: DATA SAVE BA T#P,(A+3)STR(E3$(),,256)
: GOTO 1280
1250 SELECT PRINT 005
: PRINT HEX(03);AT(1,10,80);BOX(1,59);AT(1,20);HEX(020402000E);" CPU Master
File Maintenance Program";HEX(0F);AT(8,20);BOX(9,40);AT(9,26);" CPU NUMB
ER ";AT(9,45);" CPU ID ";AT(10,25);BOX(0,30);
: FOR I=1TO 6
: PRINT AT(9+I,29);I;AT(9+I,45);
: IF I<=F0THEN PRINT F0(I);
: ELSE PRINT "NOT USED";
: NEXT I
1270 PRINT AT(17,20);BOX(1,40);AT(17,27);"Current CPU ID # is ";#ID;HEX(06);AT
(23,20);BOX(1,40);AT(23,24);"Creating system files, please wait";
: RETURN
1280 R3$()="IDS2PU03"
: SELECT #0<C5$>,#2<C5$>
: LOAD T#2,"IDS2P003"1000,
1300 F1=0
: MAT SEARCH"310320330B10B20B30350360370B50B60B70D10D11D12D13D14D15D50D51D5
2D53D54D55D20D21D22D23D24D25D60D61D62D63D64D65D30D31D32D33D34D35D70D71D72
D73D74D75",=C5$TO D1$STEP 3
: PRINT AT(23,0,80);HEX(0F06);
1310 IF D1$<>HEX(0000)THEN 1320
: PRINT AT(23,0);HEX(07);C5$;" is not a valid disk address supported by IDE
AS. Enter new device address.";
: GOTO 1420
1320 SELECT #6<C5$>
: $OPEN 1340,#6
: GOTO 1350
1340 $CLOSE#6
: PRINT AT(23,0,80);HEX(07);"Device ";C5$;" is not currently available. Pl
ease check status and/or address.";
: GOTO 1420
1350 $CLOSE#6
: RETURN
1360 ON ERRORD4$,D5$GOTO 1370
1370 IF D4$<>"P48"THEN 1380
: PRINT AT(23,0,80);HEX(07);C5$;" is not currently in the master device tab
le of your CPU. Please try again.";
: GOTO 1410
1380 IF STR(D4$,2,2)<"90"OR STR(D4$,2,2)>"98"THEN 1390
: PRINT AT(23,0,80);"Disk error";D4$;" on device ";C5$;". Make sure that de
vice is ready.";HEX(0107);
: GOTO 1410
1390 PRINT AT(23,0,80);"Unanticipated error # ";D4$;" at line # ";D5$;". No r
ecovery has been programmed.";HEX(0107);
: STOP "ERROR !"
: END
1410 F,F1=F-1
: GOTO 1060
1420 F,F1=F-1
: RETURN
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PU77"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"