advance/he86
の編集
http://hrb.osask.jp/wiki/?advance/he86
[
リロード
|
差分
|
単語検索
|
一覧
] [
編集
|
バックアップ
|
添付
]
-- 雛形とするページ --
A
Akkie
Athlon64X2
Clover
DAsoran
Falcon
FormatRule
FrontPage
Genesis
Help
I
InterWikiName
InterWikiSandBox
InterWikiテクニカル
Jormungand
K
Kebo
Kor_Lee_Hee_Rak
Leaf
Linux
Linux/wako_memo
MOIZ99
MW
MenuBar
OSC
PG_MANA
ReadersOS
RecentDeleted
SKYDASH
SandBox
Sero
Sigle
Source
Triangle_Ld.
Zxcvbnm
advance
advance/CPU
advance/FDC
advance/FPU
advance/NotHariMain
advance/QEMUVGA
advance/RTC
advance/blike
advance/cpu_reset
advance/driver
advance/driver/01
advance/driver/02
advance/families
advance/filesystem
advance/fwrite
advance/hddboot
advance/he86
advance/hints
advance/ipl
advance/kernel
advance/keycode
advance/osselect
advance/smaller1
advance/startup
advnace/smaller2
anzy
aotatsu
banbi-
bluedwarf
bo
bugs
challengers
cybozulabsyouth11
deskmanta
esb02b
faq
faq/advance
faq/asm
faq/c00-03
faq/c04-07
faq/c08-15
faq/c16-23
faq/c24-31
faq/make
faq/others
faq/qemu
guide
guide03
guide05
guide07
hikarupsp
imp_log/0000
imp_log/0001
imp_log/0002
imp_log/0003
impressions
index
k
killer_elf
kota
lea
lea/10_memory
lea/4_color
lea/idea
lea/terms
links
logs
logs/osa_hrb/comments0000
logs/osa_hrb/rumors0000
masa
members
message
mistakes
moge32
moppoi5168
notice
osdevjp
populars
prog_index
projects
q_and_a
q_and_a_2
qa_log/0000
qa_log/0001
qa_log/0002
qa_log/0003
qa_log/0004
qa_log/0005
qa_log/0006
qa_log/0007
qa_log/0008
qa_log/0009
quark
rankings
rule
sakamoto
sasaki
spc09
spcc_30min_os
tatsu
tools
tools/bim2hrb
tools/bin2obj
tools/cc1
tools/edimg
tools/gas2nask
tools/makefont
tools/nask
tools/obj2bim
tools/sjisconv
uchan
uho
updates
violations
wako
white
win64-bit
x
ytakano
ヘルプ
リックス
質問します
整形ルール
本は買ったぞ!持ってるぞ!
練習用ページ
* BIOSを呼び出そう -(by [[K]], 2011.02.03) -発展課題のページ(全部読む前にここを読むのは混乱するのでおすすめじゃないです) ---- -C言語からBIOSを何とかして呼び出そうという内容。これができれば、HDDやUSBメモリだって読めるはずだし、いやそれよりも書き込みが出来るはず。画面モードだってOSを終了することなく何度でも切り替えられる。・・・他にいいことあるかな?うーん、ないかもしれないけど、とにかくそれでもこれは可能性としては悪くない! *** 方法 -エミュレータを使います。32bitモードを一時的に中断して16bitモードに戻ったりするわけではありません。 -エミュレータといってもqemuじゃないですよ。C言語でCPUのエミュレータを(適当に)作って、それを使ってBIOSを実行します。きっとすごく遅いし、プログラムも長くなるでしょう。でも、それでいいんです。だって分かりやすいですから。 -この手のことをやるとき、CPUについている仮想86モードというのを使うのがよくある方法なのですが、仮想86モードを使うとなると、ページングの説明をしなければいけなくなりそうだし、例外処理についても延々と説明しないと理解できません。そしてその上で仮想86モードそのものの説明だって必要です。そんなのぜんぜん面白くありません。僕たちは、CPUの勉強をしたいわけじゃなくて、BIOSを呼び出したいわけです。 --しかもそうやって苦労して仮想86モードのことを理解したとしても、それは結局インテルのCPUにしか通用しない知識だったりするので教育的な価値も低い。むしろエミュレータを大雑把に理解するほうが、ずっといい経験になるはず。 -ということで、CPUのエミュレータをC言語で書きます。CPUがどんなことをしているかの参考にもなるかもしれません。プログラムは理解しやすさ重視で、エラー処理などもほどほどで書いています。適当に読んで適当に改造すれば、いろいろ遊べるかもしれません。 *** プログラム - http://k.osask.jp/nosup/nosup.html に行って、[he86_xxx.zip]というファイルを探してください。xxxの部分はバージョンです。 --最初のバージョン(he86_00b)は2011.02.03の夜中までにはアップロードします。 *** 現状&歴史 -まだ未完成です。 -2010年の5月にはアイデアがまとまる。でも忙しくて書き始めることができない! -he86_00b : 少し時間ができたので書いてみた。最初のリリース。まだ数種類の命令しか理解できないので、BIOSを呼び出すことすらできない。でも短いので、このプログラムがどういう構造になっているのかは、多分分かりやすい。・・・今後何回かバージョンアップして、VESAで画面モード切り替えくらいができるところくらいまではやりたい。 * こめんと欄 #comment
タイムスタンプを変更しない
* BIOSを呼び出そう -(by [[K]], 2011.02.03) -発展課題のページ(全部読む前にここを読むのは混乱するのでおすすめじゃないです) ---- -C言語からBIOSを何とかして呼び出そうという内容。これができれば、HDDやUSBメモリだって読めるはずだし、いやそれよりも書き込みが出来るはず。画面モードだってOSを終了することなく何度でも切り替えられる。・・・他にいいことあるかな?うーん、ないかもしれないけど、とにかくそれでもこれは可能性としては悪くない! *** 方法 -エミュレータを使います。32bitモードを一時的に中断して16bitモードに戻ったりするわけではありません。 -エミュレータといってもqemuじゃないですよ。C言語でCPUのエミュレータを(適当に)作って、それを使ってBIOSを実行します。きっとすごく遅いし、プログラムも長くなるでしょう。でも、それでいいんです。だって分かりやすいですから。 -この手のことをやるとき、CPUについている仮想86モードというのを使うのがよくある方法なのですが、仮想86モードを使うとなると、ページングの説明をしなければいけなくなりそうだし、例外処理についても延々と説明しないと理解できません。そしてその上で仮想86モードそのものの説明だって必要です。そんなのぜんぜん面白くありません。僕たちは、CPUの勉強をしたいわけじゃなくて、BIOSを呼び出したいわけです。 --しかもそうやって苦労して仮想86モードのことを理解したとしても、それは結局インテルのCPUにしか通用しない知識だったりするので教育的な価値も低い。むしろエミュレータを大雑把に理解するほうが、ずっといい経験になるはず。 -ということで、CPUのエミュレータをC言語で書きます。CPUがどんなことをしているかの参考にもなるかもしれません。プログラムは理解しやすさ重視で、エラー処理などもほどほどで書いています。適当に読んで適当に改造すれば、いろいろ遊べるかもしれません。 *** プログラム - http://k.osask.jp/nosup/nosup.html に行って、[he86_xxx.zip]というファイルを探してください。xxxの部分はバージョンです。 --最初のバージョン(he86_00b)は2011.02.03の夜中までにはアップロードします。 *** 現状&歴史 -まだ未完成です。 -2010年の5月にはアイデアがまとまる。でも忙しくて書き始めることができない! -he86_00b : 少し時間ができたので書いてみた。最初のリリース。まだ数種類の命令しか理解できないので、BIOSを呼び出すことすらできない。でも短いので、このプログラムがどういう構造になっているのかは、多分分かりやすい。・・・今後何回かバージョンアップして、VESAで画面モード切り替えくらいができるところくらいまではやりたい。 * こめんと欄 #comment
テキスト整形のルールを表示する