Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
95
Help us understand the problem. What is going on with this article?
@tatsumack

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

More than 1 year has passed since last update.

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

95
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
95
Help us understand the problem. What is going on with this article?