J-3100GTSX041 2台目をメンテナンス6 OS自作入門の演習

J-3100GTSX041 2台目をメンテナンス6 OS自作入門の演習

J-3100GTSX041にエディタまでセットアップして普通にテキスト打ち用には使えるようにはなったのだけど、これだけではつまらないので、今回は30日でできる!OS自作入門の演習にJ-3100を使ってみようと思う

ただし、この本、AT互換機用なんだよねぇ〜
なので、付属のCD内にあるフロッピーイメージは1.44MByte用・・・
J-3100GTSX041のFDDは1.2MByteなので、フロッピーの仕様の違いを吸収しつつ演習を進めていこうと思う。ハードウェア周辺はなんとなくAT互換機に近いので、フロッピー容量問題さえ解決すればなんとかなるでしょうという目論見だ・・・

まず、1日目、成果物として画面にHello Woldと表示されるテストプログラムイメージ(Helloos.img)がCD内にあるので、このバイナリを1.2MByte対応に書き換えてみる。ずっと勘違いしていたが、J-3100GTSX用のフロッピーの容量は1200MByte、FM-TOWNS用は1232MByteなので、同じに見えて実は違う。
helloos.imgの0x13バイト目から以下のように書き換え

説明 バイナリ 備考
ディスクのセクタ数 60 09 2400
メディア記述子 F9 1.2MByte
FAT当たりのセクタ総数 07 00
トラック当たりのセクタ数 0F 00
ヘッド数 02 00
不可視セクタ数 00 00 00 00 パーティションが無いので0
00 00 00 00 おまじない
00 00 29 おまじない
ボリュームシリアル番号 58 20 FD 0B 日英MS-DOSから移植

メディア記述子について、Microsoftの昔のページから引用
Byte Capacity Media Size and Type
—————————————————

F0 2.88 MB 3.5-inch, 2-sided, 36-sector
F0 1.44 MB 3.5-inch, 2-sided, 18-sector
F9 720K 3.5-inch, 2-sided, 9-sector
F9 1.2 MB 5.25-inch, 2-sided, 15-sector
FD 360K 5.25-inch, 2-sided, 9-sector
FF 320K 5.25-inch, 2-sided, 8-sector
FC 180K 5.25-inch, 1-sided, 9-sector
FE 160K 5.25-inch, 1-sided, 8-sector
FE 250K 8-inch, 1-sided, single-density
FD 500K 8-inch, 2-sided, single-density
FE 1.2 MB 8-inch, 2-sided, double-density
F8 —– Fixed disk

そいでもって、1.2MByteにするためファイルのアドレス0x0012C000以降をがっつり消すと
J-3100GTSX用のHelloos.imgが出来上がる

さて、実機で動かす前にエミュレーターで試験しておこう、エミュレーターは有限会社軟式さんのDOSVAXJ3を使うことにする。ダウンロードしてきたexeに先ほどのHelloos.imgをドラックすると

hello, worldキタァ!

では、このHelloos.imgをフロッピーに焼いて、起動っと・・・

実機でも動いタァ!良いね、とりあえずフロッピーの容量問題をケアすればJ-3100GTSXでもOS自作入門の演習はできそうだ。時間ができたら二日目の演習に挑戦する。