1
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?

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

Last updated at Posted at 2025-05-13

始めに

本連載では、0からCUIの16ビットOSを、アセンブリ言語のみを使って実装していきます。
x86の仕組みを深く理解することを目的としており、C言語などの高級言語は使用しません。

近況

2025-06-02 画面表示がうまくいかなくなりスタック周りを調査中。
2025-06-07 番外篇として初めたBIOS作成の方が楽しくなりOS作成は何もしていません。
2025-06-24 GITHUBを使い始めました。BIOS作成は企画倒れになりそうですがその代わりにBIOSを極力使わないようなコードを書くようにしています。
2025-07-02 ファイル読み込み機能ではまってます。連日fatの記事ばかり出してます。嫌になってきました。

実装篇

実装に関わる部分を載せます。
5月13日ブートローダー作成
5月14日シェルの原型を実装
5月15日ソース分割
5月15日開発日記
5月18日FAT12 ファイル一覧表示

2025-06-12 MS-DOSのMBRの処理を追う
2025-06-16 MBR・VBR自作でFAT16として認識させる
2025-06-17 FAT16ファイルシステムを手書きで作る
2025-06-18 MBR→VBR→カーネルの順に起動する雛形(自作OS)
2025-06-19 簡単なコマンドの実装
2025-06-24 BIOS依存の廃止
2025-06-25 画面クリア及びバックスペースによる文字削除の実装
2025-06-26 DISK読み込みの開発
2025-06-28 DIRコマンドの実装
2025-06-29 COM実行実装 第1段階 COMファイルの準備
2025-06-29 COM実行実装 第2段階 INT21Hの実装
2025-06-30 FAT16の構造を調べる
2025-07-01 FAT16の構造1
2025-07-02 XPで初期化したFAT16の構造を見る
2025-07-03 XPで初期化したFAT16に自分のカーネルを入れる(失敗)
2025-07-07 DISK読み込み機能改良
2025-07-07 COM実行機能
[2025-07-19 デバッグ用レジスタの値を表示する関数作成]
(https://qiita.com/earthen94/items/5e492d0ae194b8dce4a3
)

処理説明篇

汎用的な関数の説明を載せます。
関数呼び出し時に PUSHA / POPA を使う理由
x86スタックの初期化
clear_screen(画面クリア)
print_string(文字列表示)
to_upper(小文字→大文字変換)

問題解決篇

2025-06-01 文字列表示がうまく行かない
2025-06-02 文字列表示前後のスタックが破壊されていないか確認
2025-06-02 文字列表示がうまく行かなかった理由
2025-06-22 自作OS VGA VRAM直書き出力のデバッグ
2025-06-22 自作OS VGA VRAM直書き出力のデバッグ2

手稿篇

処理説明篇と被っている気もしますが、手書きのものはこちらに載せます。
2025-06-02 DSの初期化
2025-06-02 SS:SPの変化とスタックの中身

BIOS実装(番外篇)

2025-06-03 BIOS開発1日目 予備知識をつける(完全備忘録!)
2025-06-04 BIOSの入口を探す
2025-06-04 BIOS割り込み ( INT 0x10 AH=0x0E ) を再現する
2025-06-05 INT 16H風のキーボード割り込みを自作
2025-06-06 IRQ1(キーボード割り込み)によるHLT復帰の検証
2025-06-07 8086実機 × QEMUで検証  0x1F7ポートを使った起動装置判定法
2025-06-07 VGAレジスタの初期値ダンプと解析
2025-06-08 IDEセクタ読み込み実行結果
2025-06-08 BIOSを使わないブートローダ

1
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
1
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?