107
95

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

「30日でできる! OS自作入門」をMac向けに環境構築する

Last updated at Posted at 2017-03-08

tl;dr

https://github.com/tatsumack/30nichideosjisaku のREADMEを読んで環境構築する

背景

「30日でできる! OS自作入門」はWindowsでの開発が前提で書かれているが、先人たちのおかげでMacでも環境構築ができる。
https://github.com/sandai/30nichideosjisaku

がしかし、14日目の「高解像度にしよう(1)」のharib11dを動かしたところ、画面が真っ暗になり、小一時間ハマった。
同様の症状が出ていた記事(http://lv4.hateblo.jp/entry/2012/06/17/165640) を発見したが、同じようにVRAMの番地を変更してもダメ。
エミュレータのバグを疑って、Q.appではなく、homebrewからqemuをインストールして動かしたところ、表示されるようになった。

後に続く人たちが同じハマり方をしないように、オリジナルのレポジトリからforkして、qemuを使うようにMakefileを変更した。
https://github.com/tatsumack/30nichideosjisaku/blob/master/z_tools/qemu/Makefile

El Capitan 10.11.2では動くことを確認したが、Sierraではまだ確認できていないので気が向いたら確認する。

追記 (2018/03/22)

macOS Sierra(10.12.5)、qemu(2.5.0)で動かしたところ、harib11dで真っ黒画面になっていた。
asmhead.nasで指定しているVRAMのアドレスを0xfd000000に変更したところ表示されるようになった。

asmhead.nas
MOV    DWORD [VRAM],0xfd000000

追記 (2019/01/19)

qemu 3.1.0で-localtimeオプションが廃止されたので、qemuに渡すオプションを修正。
また、必要なツール群をレポジトリに抱き込むようにして、レポジトリをcloneすればだいたい動くようにした。

参考

http://qiita.com/chojuku/items/fea8adbb63410590e123
http://d.hatena.ne.jp/sandai/20120728/p2

107
95
2

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
107
95

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?