2019年10月14日

BIOS、どうしようか

Zet/98ですが、ハードウェア側の設計はおそらく、ROM BASICが起動する程度まで書けています。
ただ、BIOSがありません。手持ちのPC-9821X...なんだっけ?486デスクトップとPC-9801N...なんだっけ?386ノート、共にV30非搭載機なので、どちらもIA-32でしか使用できない386で拡張された命令(EAXレジスタを叩いたり、プロテクトモード用セグメントを初期化したり。。。)を使用しているので該当部分を通ると暴走します。
巷には実機BIOSを持っていなくてもとりあえず起動するエミュレータがあるのでそこから拝借することも考えてみたのですが、
・Neko Project…比較的BIOSで処理しているが、ハードウェア初期化等をエミュレータ側で行っており該当部分コード無
・Anex86…ほぼエミュレータ側で処理しており、BIOSはほぼ空
・T-98 NEXT…こちらもBIOSはほぼ空
となっています。
Neko projectさんの方は、BIOS部分も含めソースが公開されておりますのでこのソースをベースにエミュレータ側処理もCPU側で書き換えるのが一番手っ取り早いと思うのですが、Z80ならともかく8086のアセンブラは、セグメントが絡むので苦手で。。。.com形式なら過去にアセンブラでプログラムを書いたことがありますが、.exe形式でもものの本を読めばわかると思うのですが、BIOSの方は。。。基本は.comベースで書いてセグメントは自分勝手に好きなように動かせばいい、という事でしょうが今まで書いたことが無いので難航しています。
Neko projectさんのBIOSはMASMで書かれたものとNASMで書かれたものが混在していますがセグメント部分の記述が両社だいぶ違うようで。。。
posted by プー at 09:03| Comment(0) | Zet/98 | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください