Forums: Open Discussion (Thread #18602)

HOS-V4a IA-32 PC/AT互換機で動きました (2008-05-06 20:39 by ryuz #36495)

いつもお世話になります。Ryuzです。

HOS-V4 Advance ですが、IA-32のPC/AT互換機でサンプルが動き始めましたので、スナップショットリリースしました。

GWのプチ成果ということで、ご報告までです。

Virtual PCなども無償で手に入りますし、遊びやすいネタではあるかなと思います。

 よろしくお願いします。

RE: HOS-V4a IA-32 PC/AT互換機で動きました (2008-05-06 20:57 by tkato #36496)

Advanceの方もIA32対応なさったのですね。
HOS-V4のIAは, インラインアセンブラが
いっぱいだったので、Advanceになったとき、
申し訳ないことしたかなあと思っていたのですが・・・

#当時のPCは, パイプラインが余るような状況
#だったので、極力パイプラインを生かしたいなあ
#と思ってあのような実装にしていたのですが・・・

Reply to #36495

RE: HOS-V4a IA-32 PC/AT互換機で動きました (2008-05-06 22:38 by ryuz #36498)

こんばんはRyuzです。

HOS-V4のコードやビルド例があったんでだいぶ楽できました。10年ぶりぐらいにGDTやIDTいじった気がします。すっかり記憶の彼方で...
# むしろ自作ブートローダーのバグでGW中嵌ってました(汗

今回は効率一切無視で、コンパイラ依存部分はアセンブラにまとめています。
まず基本を作ってしまって、コンパイラ依存の最適化はうまく住み分けながら増築できればなと思っています。

もっとも最近のIA-32のパフォーマンスを考えると、最適化の必要なコードはOSでは無い部分に集まりそうな気はしますが。

VirtualPCやBochsのおかげで、ボード無くても出先で遊べるんで、実は私が一番作りたかった口かもしれません(笑)。
次はaplfwかな。16550のドライバはあるんで、キーボードドライバあたりから立ち上げれば、ある程度シェルから遊べるんじゃないかと思っています。

のんびり作っていきますので、気長にお付き合い頂ければ幸いです。
今後ともよろしくお願いします。
Reply to #36496

RE: HOS-V4a IA-32 PC/AT互換機で動きました (2008-05-08 01:09 by tkato #36522)

ローダは, grub使うと, 上位モジュールを一緒に
ロードさせたりできるので便利ですよ。
#もともとマイクロカーネル用のローダなので・・・

時間を見つけていじってみますね。
Reply to #36498

RE: HOS-V4a IA-32 PC/AT互換機で動きました (2008-05-08 01:28 by ryuz #36523)

こんばんはRyuzです。

情報ありがとうございます。この辺疎いもので助かります。いろいろ調べてみますね。

組み込み屋の性というか、一度書いてみたくて本末転倒はわかってたんですが、ローダーにトライしてみました。
x86いじってた頃はPC-9801でしたが、同じ石も多くて意外に当時の書籍も結構役に立ち、捨てなくて良かったなと。

途中nasmに逃げようかとも思ったのですが、なんとか
GNUアセンブラで書ききれたので、次は時間があれば、MS-C(というかVisual-C++)とMASMでもトライしてみたいなと思います。
# というか複数コンパイラに対応しないとインラインアセンブラを避けたメリットが無いので (^^;

Reply to #36522