0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BIOS開発1日目 予備知識をつける(完全備忘録!)

Posted at

「手探りでCUI OS作成に挑む」連載

この記事は「手探りでCUI OS作成に挑む」連載の一部です。
全体の目次は「手探りでCUI OS作成に挑む」連載目次を御覧下さい。

目的

OS開発をしていると、BIOSの機能に頼らざるを得ないところが出てきます。
文字の表示やディスクの読み込み等が主なものです。
そこでBIOSが何をしているのか気になったので自分で作ることにしました。

考えていること

本当の意味でのBIOSを開発しようとするとマザーボードがら開発することになり個人では不可能な為、QEMU上で動くBIOSを開発することにしました。
よってハードウェアの診断等は省きます。
とにかく動けばよいという精神の元、できる限り簡単で短いBIOSを作ろうと思います。
BIOS呼び出し(INTで呼び出すあれ)も必要最低限のものにとどめます。
今の所一番の難題はVGAの初期化です。
画面表示をするだけでも大量のレジスタを適切な値で初期化しなければなりません。

予定

BIOSを作ってデバッグをするのは何かと不便なのでブートセクタ(0x7c00からの512バイト)でBIOS呼び出しの中身を実装し、IVTを書き換えて動くかを試しながら開発を進める予定です。
景気づけにint 19hから初めていく予定です。

手稿

自分で書きながらまとめている最中の紙です。
自分で見返すために上げておきます。
f4a0271ba753702a481451c74eafbe46.jpg
c3fb10c66d49577d9c1d68782174d346.jpg

勉強風景

ccb0f027d8f2bcad00c80702f64f1cfb.jpg

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?