フロッピーにマシン語ファイルを保存した場合、アドレスとサイズを調べるのは難しい。
5インチ2Dのアドレスとサイズを表示するプログラムをパソピア7で組んでみた。
10 'XPAC2 Machine Language File Information (C) 2015 zak
20 INPUT"Device Number? (1 or 2) ",DEVICE 30 FIELD#0,255 AS FAT$ 40 FOR SECTOR=1 TO 12 50 FOR I=0 TO 15 60 T1$=DSKI$(DEVICE,0,18,SECTOR) 70 M=ASC(MID$(FAT$,I*16+1,1)) 80 IF (M<>0) AND (M<>255) AND(M<>58) THEN GOSUB 130 90 NEXT I 100 NEXT SECTOR 110 END 120 'Find File 130 PRINT MID$(FAT$,I*16+1,9);" "; 140 ATTR=ASC(MID$(FAT$,I*16+10,1)) 150 IF (ATTR=&H80) OR (ATTR=&H81) OR (ATTR=&H90) THEN PRINT"[BASIC]"; 160 IF (ATTR=&H01) OR (ATTR=&H11) THEN PRINT"[MachineLanguage]";:GOSUB 200 170 PRINT"" 180 RETURN 190 'Find Machine Language 200 CLUSTER=ASC(MID$(FAT$,I*16+11,1)) 210 TRACK=CLUSTER\4 220 TSECTOR=((CLUSTER MOD 4)\2)*8+1 230 THEAD=CLUSTER MOD 2 240 FIELD#0,4 AS SIZE$ 250 T2$=DSKI$(DEVICE,THEAD,TRACK,TSECTOR) 260 START=ASC(MID$(SIZE$,2,1))*256+ASC(MID$(SIZE$,1,1)) 270 LAST=ASC(MID$(SIZE$,4,1))*256+ASC(MID$(SIZE$,3,1)) 280 PRINT" START:&H";HEX$(START); 290 PRINT" SIZE:&H";HEX$(LAST-START); 300 RETURN |
起動時の「How may disk drives」に、ドライブ数を指定。
「width 80」にしておいたほうが見やすい。
実行すると、確認するフロッピーの入っているドライブ番号を聞かれるので入力。
マシン語の場合は、開始アドレスと記録サイズが16進数で表示される。
フロッピーに保存できる最大ファイル数(192)を全てチェックするまで時間がかかるので、気長にお待ち下さい。。
これがわかれば、FDのファイルをXPAC2にデータ保存しやすくなります。
0 件のコメント:
コメントを投稿