注意事項と覚書き
・new diskは本プログラムの実行前に
format.nipで2Dの物理フォーマットを行うこと
・PC-9884のIPLで意味のある領域は先頭128バイトだけ
100 CLS
110 PRINT "MAKE PC-9835-2W FROM PC-9884"
120 PRINT " "
130 PRINT "MOUNT PC-9884(8 2D) ON MASTER DRIVE"
140 INPUT "MASTER DRIVE#";DFR
150 PRINT " "
160 PRINT "MOUNT A NEW DISK (5 2D) ON NEW DRIVE"
170 INPUT "NEW DRIVE#";DTR
180 PRINT "Formatting disk in drive";DTR
190 PRINT "COPYING IPL"
200 FIELD #0, 128 AS A$, 128 AS B$
210 D$=DSKI$(DFR,0,0,1)
220 DSKO$ DTR,0,0,1
230 D$=DSKI$(DFR,0,0,3)
240 DSKO$ DTR,0,0,2
300 PRINT "COPYING DISK-CODE"
310 DFRTRK=1
320 DFRSIDE=0
330 DFRSECS=1
340 FOR DTRTRK=0 TO 3
350 FOR DTRSIDE=0 TO 1
360 FOR DTRSECS=1 TO 16
370 IF DTRTRK>0 THEN GOTO 400
380 IF DTRSIDE=1 THEN GOTO 400
390 IF DTRSECS<2 THEN DTRSECS=3
400 D$=DSKI$(DFR,DFRSIDE,DFRTRK,DFRSECS)
410 DSKO$ DTR,DTRSIDE,DTRTRK,DTRSECS
420 DFRSECS=DFRSECS + 1
430 IF DFRSECS=27 THEN DFRSECS=1:DFRSIDE=DFRSIDE+1
440 IF DFRSIDE=2 THEN DFRSIDE=0:DFRTRK=DFRTRK+1
450 NEXT DTRSECS
460 NEXT DTRSIDE
470 NEXT DTRTRK
500 PRINT "MAKING FAT"
510 FIELD #0, 16 AS A$,58 AS B$,2 AS C$,180 AS D$
520 LSET A$=STRING$(16,CHR$(&HFE))
530 LSET B$=STRING$(58,CHR$(&HFF))
540 LSET C$=STRING$(2,CHR$(&HFE))
550 LSET D$=STRING$(180,CHR$(&HFF))
560 FOR SECS=14 TO 16
570 DSKO$ DTR,1,18,SECS
580 NEXT SECS
600 PRINT "MAKING ID"
610 FIELD #0, 1 AS A$,1 AS B$, 254 AS C$
620 LSET A$=STRING$(1,CHR$(&H00))
630 LSET B$=STRING$(1,CHR$(&HFF))
640 LSET C$=STRING$(254,CHR$(&H20))
650 DSKO$ DTR,1,18,13
700 PRINT "CRACKING IPL"
710 DUMMY$=DSKI$(DTR,0,0,1)
720 FIELD #0 28 AS A$, 1 AS B$, 3 AS C$, 1 AS D$, 42 AS E$, 1 AS F$, 180 AS G$
730 LSET B$=STRING$(1,CHR$(&H00))
740 LSET D$=STRING$(1,CHR$(&H03))
750 LSET F$=STRING$(1,CHR$(&H11))
760 DSKO$ DTR,0,0,1
800 END |