Hyfaxのこと

これまでBIOSやらBootやらで遊んできたわけなんですが、何か機能とかが気になって遊ぼうとするたびに、boot、機能読み込み、実行とかすることになるわけです。
で、ブートの部分とか機能の読み込みの部分はほぼ同一だという。
同じものを使いまわしするので面倒くささはあまりないのですが、同じものを何度も使うならソースの再利用じゃなくてバイナリの再利用をしたいなぁ、とか思っちゃうんですね。ほとんど同じソースがあちこちにあると、心がゾワゾワするというかなんというか。プログラム作成者の性って奴かもしれません。
そういった流れで処理を見直すと、結局は3つのパートに集約されるなぁと。

①ブートする

②機能を読みこんで遷移する

③試したい機能

流れとしてはこんな感じ。流れ図にするならこうかな。

この形は言うまでもなくOSの基本機能なわけですが、OSというほどたいそうなものを作りたいわけじゃありません。いわばモニタプログラムといったところでしょうか。

よく使う形を一般化して何度も使いまわせるようにするわけです。OSなんておこがましいささやかなものですが、名前がないと不便なのと、名前があると愛着がわくので、仮にHyfaxと名付けました。

今回からしばらくは、このHyfax君を作っていきたいと思います。

大雑把な方針とか

まずは媒体からです。QEMUを使うのは確定です。なので一般的なものとしてFDDとHDDがあります。ですが今更FDDはないだろうというわけでHDDの一択。

ファイルフォーマットはFATなのは当然です。フロッピーでないのでFAT12は没。FAT32は64Bit 演算ができないと辛いのでこれも没。まことに中途半端ながらFAT16で実行できるようにしましょう。

モニタプログラムは0x0ffffまでを占有することにします。アプリエリアは0x10000~0xA0000までの576KByteとしましょう。

モニタプログラムからアプリはjmpで遷移することにします。アプリからはモニタの先頭にjmpすることで復帰することにします。

モニタプログラムはアプリのファイル名を使ってディスクをリードし、0x10000に展開した後で同アドレスに遷移するものとします。

完全なシングルタスク・シングルユーザですね。だってモニタですもの、高機能は望みません。

忘れてましたけど、リアルモード厳守で行きます。拡張レジスタとか使わない方向で。

今日はここまで

大雑把な方針が決まったところで今日はここまでです。やってみなくてはわかりませんが都合6回くらいになるんじゃないでしょうか。

わたしの『やる気スイッチ』と連動しているので、次回がいつになるかはわかりません。

《2025/11/28 13:54:22》

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です