復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80Z�VとMYCPU80の上でCP/Mが走ります!
[第223回]
●VFTST202を再実行しました
VFTST202を実行した結果作成されたランダムファイル(TEST.RAF)のブロックアローケーションエリアに書かれたブロック�bヘ各エクステントにそれぞれ1個ずつでした。
これはもとになるレコード番号表に偏りがあって、わざとそのような番号表になっていたためです。
この番号表は[第106回]で作成したものをそのまま使いました。
その時点ではND80Z�Vの上のRAMを利用した仮RAMディスクを使っていたため、沢山のデータブロックを作成することができなかったので、わざと1エクステントあたり1ブロック�bニなるような番号表を作成したのでした([第106回]参照)。
しかし現在は2MBの仮想FDDを使っていますから、容量は十分すぎるほどあります。
そうなってくると1エクステントに1ブロックのみを集中して作成している現行のテストはちょっと偏りを感じてしまいます。
そこで、レコード番号表に少しだけレコード�b�追加して、各エクステントにそれぞれもう1つのブロック�bェ追加されるようにしました。
今回もとのレコード番号表に追加したのは、次のレコード�bナす。
0028
00C7
0182
03E5
そしてその新しいレコード番号表を使って、もう一度VFTST202を実行しました。
前回までと同じブロック�bノなるようにするため、すでに作成されていたTEST.RAFは削除したうえで、VFTST202を実行しました。
下はレコード番号表にレコードを追加したあと、TEST.RAFを削除してからVFTST202を実行したところです。

VFTST202を実行した結果作成されたTEST.RAFのFCBをVFDUMPで表示させてみました。

エクステント�bO0の3番目の位置にブロック�bO077が追加されています。
またエクステント�bO3の1番目の位置にブロック�bO079が、
エクステント�bO7の7番目の位置にブロック�bO07Aが、
そしてエクステント�bO1の5番目の位置にブロック�bO078が追加されています。
今回レコード番号表に追加したレコード�b�、前回お見せした各エクステントへのレコード�bフ割り当ての図に落としてみます。
追加した下記のレコード�bェ含まれる枠を水色で着色して示しました。
0028
00C7
0182
03E5
エクステント�bO0
レコード�bO000〜007F
| 0000 000F |
0010 001F |
0020 002F |
0030 003F |
0040 004F |
0050 005F |
0060 006F |
0070 007F |
|---|
エクステント�bO1
レコード�bO080〜00FF
| 0080 008F |
0090 009F |
00A0 00AF |
00B0 00BF |
00C0 00CF |
00D0 00DF |
00E0 00EF |
00F0 00FF |
|---|
エクステント�bO2
レコード�bO100〜017F
エクステント�bO3
レコード�bO180〜01FF
| 0180 018F |
0190 019F |
01A0 01AF |
01B0 01BF |
01C0 01CF |
01D0 01DF |
01E0 01EF |
01F0 01FF |
|---|
エクステント�bO4
レコード�bO200〜027F
エクステント�bO5
レコード�bO280〜02FF
エクステント�bO6
レコード�bO300〜037F
エクステント�bO7
レコード�bO380〜03FF
| 0380 038F |
0390 039F |
03A0 03AF |
03B0 03BF |
03C0 03CF |
03D0 03DF |
03E0 03EF |
03F0 03FF |
|---|
新しく追加したレコード�bノ対応してそのデータエリアとして割り当てられたブロック�bェそれぞれ上の水色で示した枠の位置にちゃんと書き込まれていることが確認できます。
説明するのもなかなかに面倒なことなのですが、このような働きをするプログラムを作成するのは、もちろん簡単なことではありません。
でもこうやって計算した通りに働いてくれるところを見ると、ちょいとハッピーな気分になります(やったぜ!)。
プログラムを作る楽しみとはこういうところにあるもの、と思います。
いずれ時間がとれましたら、このあたりのプログラム(システムのプログラム)についても実際のソースリストをもとにして説明をしたいと思っています。
ワンボードマイコンでCP/Mを![第223回]
2012.9.27upload
前へ
次へ
ホームページトップへ戻る