[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 14:52 / Filesize : 276 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

OSを作ろうpart12



1 名前:Be名無しさん mailto:sage [05/02/20 03:07:56 ]
独自にOSを作っているまたは、作ろうとしている人たちのための
スレッドになればと思います。

■前スレ
OSを作ろうpart11
pc5.2ch.net/test/read.cgi/os/1093825736/

2 名前:Be名無しさん mailto:sage [05/02/20 03:11:38 ]
■過去スレ■

part2 pc3.2ch.net/tech/kako/1024/10244/1024411711.html
part3 pc3.2ch.net/tech/kako/1027/10270/1027080631.html
part4 pc3.2ch.net/tech/kako/1037/10370/1037096449.html
part5 pc2.2ch.net/tech/kako/1042/10423/1042375466.html
part6 pc2.2ch.net/tech/kako/1052/10525/1052537020.html
part7 pc2.2ch.net/tech/kako/1066/10669/1066968321.html
part8 pc3.2ch.net/test/read.cgi/os/1076216434/
part9 pc3.2ch.net/test/read.cgi/os/1081561384/
part10 pc5.2ch.net/test/read.cgi/os/1083420872/
part11 pc5.2ch.net/test/read.cgi/os/1093825736/

3 名前:Be名無しさん mailto:sage [05/02/20 04:30:38 ]
(゚Д゚)

4 名前:Be名無しさん mailto:sage [05/02/20 10:19:43 ]
>1
スレ立て乙

5 名前:Be名無しさん mailto:sage [05/03/01 19:36:44 ]
なんでこんなに過疎ってるの?

6 名前:Be名無しさん mailto:sage [05/03/01 19:42:04 ]
時期が時期なだけに
冬を越せるといいね
OS作るの難しいしな

7 名前:Be名無しさん [05/03/07 22:16:53 ]
Mona用スレ?

8 名前:Be名無しさん mailto:sage [05/03/08 22:01:07 ]
>Mona用スレ?
いや、ソレとは別物。
最近、作ってる人、出てこないけど、どうにかなったかな…?

9 名前:Be名無しさん mailto:sage [05/03/11 14:18:41 ]
同種スレ乱立してるしなあ。

10 名前:Be名無しさん [05/03/12 00:22:55 ]
C言語でブートセクタを作って見たけど、ほんとに何も出来ない。
ディスクから次のコードを読み出してジャンプ。
それだけで、512byteになったよ。



11 名前:Be名無しさん mailto:sage [05/03/12 13:23:57 ]
ブートセクタが第二セクタを読み出し、第二セクタが第三セクタを読み出せば、何でも出来る。

12 名前:Be名無しさん mailto:sage [05/03/12 13:31:10 ]
the spoon microkernel
www.djm.co.za/spoon/

13 名前:Be名無しさん mailto:sage [05/03/14 11:12:19 ]
組み込み用の簡単なOSでも作ろうかと参考資料探してたんだけど、

ttp://homepage3.nifty.com/ryuz/hos/

これって何かの冗談ですか?
いや、内容はともかく、名前が。

14 名前:Be名無しさん [05/03/14 14:50:23 ]
H8用OSだから

15 名前:Be名無しさん mailto:sage [05/03/14 15:03:22 ]
はなわと卑下が脳内でダブるのはどうして?


16 名前:Be名無しさん mailto:sage [05/03/14 17:39:02 ]
>>14
うっそーん、「Hyper Operating System」て書いてありますやん。

てか、このスレも書くと反応あるのね。

17 名前:Be名無しさん [05/03/14 17:58:54 ]
胡散臭い厨
Hideyoshi Mist Zakky あっきぃ ベイサイド

18 名前: ◆YLWgTxgTPw mailto:sage [05/03/14 18:29:32 ]
一体何が胡散臭いのだろう。

19 名前:Be名無しさん [05/03/14 21:14:52 ]
www.lares.dti.ne.jp/~zakuro/museum/reddata/usan.htm

20 名前:Be名無しさん mailto:sage [05/03/18 13:24:54 ]
Sphinx C--ってどうなの?
サンプルを見る限り結構よさげだけど…。
マニュアルが厨房には辛い…。



21 名前:Be名無しさん mailto:sage [2005/03/24(木) 15:36:40 ]
このスレで暴れている厨がうざいから
クローズで開発していると思われる

22 名前:Be名無しさん [2005/04/05(火) 09:17:42 ]
ブートストラップからCのプログラムを読みこむところまでは出来たんだけど
同じ手順でC++のプログラムをリンクしようと

$ c++ -c kernel.cpp
$ ld --oformat binary -o kernel.bin -Ttext 0x7e00 -e start kernel.o
kernel.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'

こんなエラーが出るんですが何をリンクしてやればいいんでしょうか?

23 名前:22 mailto:sage [2005/04/05(火) 11:26:48 ]
すまん解決。
とにかくいろいろオプション付けたら通った。
どれで解決したのかは分からん。

$ g++ -nostdlib -fno-exceptions -fno-rtti -fno-builtin -c kernel.cpp
$ ld -n -static -o kernel.bin -Ttext 0x7e00 -e start kernel.o


24 名前:Be名無しさん [2005/04/17(日) 00:33:24 ]
pc8.2ch.net/test/read.cgi/os/1030080751/
ここの>101っていい事言ってるな。あたらしいOS作るならOpenSolarisにOPENSTEP APIをくっつけたら結構使えるぞ。Solarisもようやくオープンソースになるからな。SolarisのカーネルにOpenstepの開発環境、NeXTの復活か?

opensolaris.org/
gnustep.org/

25 名前:Be名無しさん [2005/04/17(日) 00:40:54 ]
>>24
ふむ、Mac OS Xとの互換性をソースコードのレベルではもてるな。
実現したらおもしろい...。


26 名前:Be名無しさん mailto:sage [2005/04/17(日) 22:29:09 ]
MacもMacOSXもいらないので、
WindowsでMacOSX用アプリが動くようにしてくれ。

27 名前:Be名無しさん [2005/04/17(日) 23:39:26 ]
>>26
Windowsの方がいらない。
どうせならunix系でマックのアプリ動かしてほしい。
>>24が言ってるような物だったら無理でもないな。しかしマックはmach-oバイナリーだからどうだろう。どっちみちPPCでないと無理だな。

28 名前:Be名無しさん mailto:sage [2005/04/19(火) 09:56:59 ]
OS(土台)としては、Windowsはあまり良くないんでは・・・。
unix系(BSDとLinux)のOSでWindowsやMacOSXのアプリが動くほうがイイ!。
MacOSXはDarwin(BSD系)だが。

MONA OS がんばれ。ついでに MoXも・・・

29 名前:Be名無しさん mailto:sage [2005/04/19(火) 23:48:39 ]
>>28
その土台としてBSDやLinuxよりSolarisが (・∀・)イイ!!
って流れなのでは?

30 名前:Be名無しさん [2005/04/20(水) 11:29:13 ]
>>29
そうだな。実際にOpenSolarisがでてからの話だけど。
OpenSolarisになったらLinuxのようにコミニュティーのサポートも増えるし(ドライバーなども増える)。で、今のソラリスより軽くなるだろうな(サンの所有管理ソフトはオープンしないだろうから)。そうなったらいい土台になるよ。

>>28
悪いけどMONA OSは将来が無いでしょ。だいたいカーネルをC++で書いちゃうってこと自体おかしい。ま、でも頑張って欲しいのが正直な気持ち。



31 名前:Be名無しさん [2005/04/20(水) 19:20:00 ]
>>27
SoftPearってのがある。
完成すればMac OS XアプリがPC版のLinuxやDarwinで動くようになる
予定。まだコンソールアプリしか動かないけど。

www.softpear.org/



32 名前:Be名無しさん mailto:sage [2005/04/20(水) 19:26:56 ]
>>30
L4の実装の1つとかC++で書かれたカーネルもあるから技術力次第だと思うが...

33 名前:Be名無しさん mailto:sage [2005/04/20(水) 21:53:28 ]
>>32
それでそのL4/C++はオリジナルより性能良くなったの?駄目駄目になったん
じゃないの...

34 名前:Be名無しさん mailto:sage [2005/04/20(水) 22:48:12 ]
>>33
性能的にどうなったかはワカラナイ。
私はC++は嫌いですが、それなりの人が書けばC++でも物になると思うけどなぁ。

35 名前:Be名無しさん mailto:sage [2005/04/21(木) 08:09:34 ]
C++をCとして使う分には性能は落ちないけど、
まともにオブジェクトやテンプレート使うと
確実に遅くなるよ。

36 名前:Be名無しさん mailto:sage [2005/04/21(木) 10:28:31 ]
CとC++は(LispとかJavaにくらべ)言語仕様の根本が非常に近いし、
CPUがCとC++で処理速度を変えるという話は聞いたことがないので、C/C++は等速であるのが基本。
それをたかがオブジェクト=構造体使ったくらいで遅くなるというのであれば技術的根拠を示すのが筋。
テンプレートに至ってはコンパイル時に特殊化されインライン展開までされるから、STLとかは普通の自作クラスより速いよ。

37 名前:Be名無しさん mailto:sage [2005/04/21(木) 11:29:11 ]
>>36
今は知らんけど、昔は最適化弱かった。
virtual使えばVMT引くのに時間がかかるし。まともにオブジェクト使うってーのはそういうことでないの?
#つうかなぜにLispとJava…

まあ、今まともに動くCPUなら気にする程のオーバーヘッドにならんと思いますが。
どーしても遅かったらがんばってCで書き直せばいいことだし。


38 名前:Be名無しさん mailto:sage [2005/04/21(木) 15:36:35 ]
仮想関数テーブル方式で多態すると分岐予測失敗しまくり

39 名前:Be名無しさん mailto:sage [2005/04/21(木) 16:54:35 ]
Cと比べてC++は、遅いし、サイズは妙にでかくなり、バグを沢山抱えこむ。

これが定説では?

40 名前:Be名無しさん mailto:sage [2005/04/21(木) 18:53:50 ]
>>39
それが定説なら、C++は世の中から消滅しているはずだが。
なぜC++が色々な場面で使われているのだろうか?



41 名前:Be名無しさん mailto:sage [2005/04/21(木) 19:56:04 ]
>>40
>なぜC++が色々な場面で使われているのだろうか?

たとえばどこで使われてるの?

42 名前:Be名無しさん mailto:sage [2005/04/21(木) 20:31:48 ]
>>41
プログラム作成経験はお有りでしょうか?

43 名前:Be名無しさん mailto:sage [2005/04/21(木) 20:40:05 ]
>>42
ええ

44 名前:Be名無しさん mailto:sage [2005/04/21(木) 22:18:22 ]
>>37
同じ機能をCでやろうとすればやっぱり同じだけか、余計に遅くなるだろ。
Cで書き直すというのも訳が分からん話で、速度が必要なとこだけをC"スタイル"で書けばいいだけ。

>>39
実装系によってはランタイムライブラリがでかいというのはあるね。
バグをたくさん抱え込むのはC++に振り回されてるからじゃん。
遅いということに疑問を投げてるのだから、「遅いのは定説」というのは思考停止。

45 名前:Be名無しさん mailto:sage [2005/04/22(金) 07:27:26 ]
C++をbetterなCにすぎないものとして使ってる人は多い

46 名前:Be名無しさん [2005/04/22(金) 20:17:19 ]
速度やバイナリーの大きさの問題もあるがライブラリーの依存性も問題。ライブラリーがかわったらアプリをコンパイルし直さないといけないからな。

個人的にはCのオブジェクト指向言語としてはobjcの方が全然いいと思う。

47 名前:Be名無しさん mailto:sage [2005/04/22(金) 21:40:25 ]
>>40
C++が使われている色々な場面のレビューまだ?

48 名前:Be名無しさん mailto:sage [2005/04/22(金) 21:45:22 ]
C++を使うとバグまみれなソフトができるのは、低脳が書くものだけだという事実を受け入れよう

49 名前:Be名無しさん mailto:sage [2005/04/22(金) 23:11:24 ]
えらい。
よく自分を見つめてるな。

50 名前:Be名無しさん mailto:age [2005/04/26(火) 12:34:46 ]
ttp://japan.cnet.com/news/ent/story/0,2000047623,20083118,00.htm

> 一方、開発者に対し定期的な調査を行っているEvans Dataの調査結果は、
>C++が再び勢いを盛り返しているというStroustrupの主張と矛盾する。Evans
>Dataの調べでは、C++を利用している開発者の割合は過去6年間にわたって縮
>小を続けており、1998年春に76%だったものが、2004年秋には 46%へと落ち
>込んでいることが判明した。だが今後数年間は、C++利用率の減少が「大幅に
>鈍化する」だろうと、Evans Dataは予測している。



51 名前:Be名無しさん [2005/04/26(火) 16:24:21 ]
俺もちょっと手をだしてみよう

52 名前:Be名無しさん [2005/04/28(木) 22:09:46 ]
誰も見てないのかな

53 名前:Be名無しさん mailto:age [2005/04/30(土) 21:59:59 ]
Mona OSの最新バージョンは、何ですか?
ダウンロードサーバ教えてください。ファイルがいっぱいあってよくわかんない orz

54 名前:Be名無しさん mailto:sage [2005/04/30(土) 22:06:58 ]
俺はワカゾーなんですが、Mona OSの開発に協力したいです。
でも、C++分からないので、もしこのOSが GUIがあったら
アイコン作りなどしたいです。

どうか貢献させて下さい。おながいします。

55 名前:Be名無しさん mailto:sage [2005/04/30(土) 22:39:46 ]
>>53 >>54
ここはMonaスレじゃないから、続きはこっちでやれや

OSを作ろうpart12 Mona専用
pc8.2ch.net/test/read.cgi/os/1114611721/l50

56 名前:Be名無しさん [2005/05/01(日) 00:43:30 ]
書き込みがあったと思ったらこれか

57 名前:Be名無しさん mailto:sage [2005/05/01(日) 07:43:43 ]
>>55 >>56
スマソ...orz
間違えて、スレ違いでした。まぎらわしい....
逝って来ます。【しかもageてしまった】

58 名前:Be名無しさん [2005/05/04(水) 17:59:55 ]
自作OSがqemu上でなら正常に動作するんだけど
実機だと画面の真ん中あたりより下へグラフィックを表示出来ない・・・
なんか心当たりない?


59 名前:Be名無しさん mailto:sage [2005/05/04(水) 18:54:24 ]
実機はDOSの使用を考慮しなくなった辺りから、ハードウェア
スクロールが変(DOS/Vのディスプレイドライバ組みこみ時に
/hs=off 付けないと画面ぐちゃぐちゃになる)なことが多いけど
それ…か??

60 名前:Be名無しさん mailto:sage [2005/05/04(水) 21:35:44 ]
mona.conf
かなんかを編集して解像度を決めておかないといけないんじゃなかったっけ



61 名前:Be名無しさん mailto:sage [2005/05/05(木) 10:05:28 ]
>>58
ハードウェアのスクロール機能は使ってないはずなんだけどなぁ。
>>59
自作OSっすよ。


62 名前:61 [2005/05/05(木) 10:09:32 ]
うわレス番号一つずつずれてるorz


63 名前:Be名無しさん mailto:sage [2005/05/07(土) 11:35:23 ]
OS自作するときってドライバとか各製品ごとに
作ってやんなきゃいけないの?
Ethernetボード(っていうのか?)のドライバ作りたいんだけど
なにか統一された規格かなんかありませんでしょうか?


64 名前:Be名無しさん mailto:sage [2005/05/07(土) 11:43:18 ]
>>63
NDISドライバを書いてWindows用のドライバを流用するのが現実的

65 名前:63 mailto:sage [2005/05/07(土) 12:07:04 ]
>>64
そんなに大変なのか...
アリガト。


66 名前:Be名無しさん mailto:sage [2005/05/07(土) 12:55:50 ]
そんなに大変じゃない
PICでNICドライバ書いてる人もいる

67 名前:Be名無しさん mailto:sage [2005/05/07(土) 15:55:38 ]
>>64
それは最後の手段でないかと。



68 名前:63 mailto:sage [2005/05/07(土) 16:27:36 ]
>>66-67
ぬ、そうなのか?

てか質問に対する回答がまだ得られてないのですが。
「OS自作するときってドライバとか各製品ごとに
作ってやんなきゃいけないの? 」

教えてプリーズ


69 名前:Be名無しさん mailto:sage [2005/05/07(土) 17:48:31 ]
>>68
ものすごく基本的な事なので、本気で作るつもりなら
人に聞く前に自分で調べれ。

まあEtherの統一規格言ったらNDISくらいしか残ってないのう…
漏れはODIの方が好きだったんだが。


70 名前:Be名無しさん mailto:sage [2005/05/07(土) 17:53:12 ]
>>68
ものによる。

ところで、ドライバとかの「とか」ってなんだ?



71 名前:63 mailto:sage [2005/05/07(土) 18:11:30 ]
>>69
ありがとうございました。
とりあえずNDISについて調べてみます。

>>70
ネットワークに接続するためのドライバです。


72 名前:Be名無しさん mailto:sage [2005/05/07(土) 18:59:27 ]
>>71
なるほど。

ネットワークと一口でいっても、古典的にはSLIPとかあるし
定番のイーサとか、いわゆる無線LANとか、Air EDGEで
プロバイダに繋がりゃいい、なんてのもアリだろうしね。
無線といえばアマチュア無線なんてのもあるしな。

「とか」はそういうプロトコル部分を意識してるのかとオモタ。

73 名前:Be名無しさん [2005/05/10(火) 00:59:05 ]
最近OSを作ろうと思ってる工房なんですが、
とりあえずFDブートのHelloWorldが出来ました。
で、疑問に思ったんですが、あれってブートセクタはファイルとしては
現れませんよね?でも他のファイルをきちんとFDに書き込める。
ディスクの管理というかなんというか、
そこら辺どうなってるんでしょうか?

74 名前:Be名無しさん [2005/05/10(火) 01:09:33 ]
ttp://pd32d4c.tokynt01.ap.so-net.ne.jp/
wwwwwwwwwwwwwうはっwうぇwwwwww
おkうぇおkwwwwwwwwwwwwwwwっwwwwwwwwwwww
っwwwwwwwwwwwww
うぇうぇwうはっおkおkおkうぇうはっwwwうはっ
おk

75 名前:Be名無しさん mailto:sage [2005/05/10(火) 01:45:21 ]
>>73
FCB

76 名前:Be名無しさん mailto:sage [2005/05/10(火) 01:49:21 ]
>>73
BPB (BIOS Parameter Block)
DPB (Device Parameter Block)

77 名前:Be名無しさん [2005/05/10(火) 02:55:35 ]
pddcc2d.tkyoac00.ap.so-net.ne.jp/
wwwwwwっうぇっ
wwwwwwwwwwwwwっ
wwwwwwwwwwwwwwwwww
wwwwww
うはっwwwwwwおkwwwうぇwwwっうぇっ


78 名前:Be名無しさん [2005/05/10(火) 02:59:58 ]
ntgnma039180.gnma.nt.adsl.ppp.infoweb.ne.jp/
wwwwwwっうぇ
wwwwwwwwwwwwwww
wwwwwwおkwwwおkwwwうはっwwwっっうぇ
おkwwwwwwwwwwwwwwwwwwっ



79 名前:Be名無しさん [2005/05/10(火) 03:15:54 ]
i219-167-238-123.s02.a006.ap.plala.or.jp/
うはっwwwっうぇwwwwwwっうぇwwwwwwwwwwww
おkwwwうぇwwwおkwwwwwwwwwwwwwww
っうぇwwwwwwwwwwwwwwwwww

80 名前:Be名無しさん [2005/05/10(火) 05:24:17 ]
p25203-adsau07doujib1-acca.osaka.ocn.ne.jp/
wwwwwwwwおkwwwっうぇwwwwwwwwwwwww
うぇwwwwwwwwwwwwwwwおkwww
っwwwwwwwwwwwwwwwwwwwww




81 名前:Be名無しさん [2005/05/10(火) 05:50:12 ]
pl070.nas931.nara.nttpc.ne.jp/
wwwwwwwうぇwwwっwwwwwwっうぇwwww
っうぇっ
wwwwwwwwwっおkwwwっwww
wおkwwwっうぇうはっwwwうはっwwwっうぇ

82 名前:Be名無しさん [2005/05/10(火) 06:54:17 ]
218.33.211.112.eo.eaccess.ne.jp/
wwww

うはっwwwwwwwwwwwwwwwうはっwww
wwwっうぇうはっwww
wwwwww
うはっwwwおkwwwっうぇっっうぇwwwwww


83 名前:名無しさん@Linuxザウルス [2005/05/11(水) 10:20:27 ]
俺もOS作りたいと思ってるんだけどよくわからなくて、、、
そしたらMONAって本みつけたんでそれ読んでMONA OSの開発を手伝おうかと思ったけど
それだとなんだかおもしろくないのでMONA OSとは
また違うOSを最初から作りたいなって思っているわけです

そこで皆さんのちからを借りたいなと思った訳ですよ

んでブートローダーをアセンブラで書かないといけないようなのですがどのように書けばいいのか
わからないので誰か教えてください



84 名前:Be名無しさん mailto:sage [2005/05/11(水) 10:58:48 ]
>>83
Mona本に載ってる2chの過去ログの部分がまさにその説明だからまずは嫁

OSをつくろうpart2
pc3.2ch.net/tech/kako/1024/10244/1024411711.html

OSをつくろうpart3
pc3.2ch.net/tech/kako/1027/10270/1027080631.html

つか本当に初心者なら遠回りかもしれんがまずMonaを手伝ってみて
技を盗んでからやった方が長い目で見れば近道だと思うぞ
ブートした後のこととかのイメージがつかめるからな

85 名前:名無しさん@Linuxザウルス [2005/05/11(水) 11:22:15 ]
>>84
こんなに早く回答してくださってありがとうございます。
まず過去ログ読んでみます
多分、分からないことだらけなので
その時はまたおねがいします

86 名前:Be名無しさん mailto:sage [2005/05/11(水) 20:40:00 ]
>>75-76
返信遅れてすいません。書き込み直後に寝てしまったもので・・・
あー、OS作るのってむずい
想像以上に自分が何も知らないことを痛感中です

87 名前:Be名無しさん [2005/05/12(木) 01:37:45 ]
>>80
その日記みたいなレスを書く前にコードの一行でも書いたらどうだね

88 名前:Be名無しさん mailto:sage [2005/05/12(木) 08:50:45 ]
>>87
それコードからの書き込みだから

89 名前:Be名無しさん mailto:sage [2005/05/13(金) 01:50:49 ]
ついに人間とロボットが会話を楽しむ時代がやって来たのですね!

90 名前:86 mailto:sage [2005/05/13(金) 16:12:17 ]
FDブートのHelloWorldが作れたので、それを改造して
文字列を表示する関数を作ろうとしたんですが、意味不明な文字化けが起こって
うまく表示されません。
どなたかアドバイスしてくださったら幸いです。
以下にソース張ります(動くやつと動かないやつ
環境はGCCです



91 名前:86 mailto:sage [2005/05/13(金) 16:12:47 ]
/* 動くやつ */

.code16
.text

.global _start
_start:
movb$0x03, %ah
xorb%bh, %bh
int $0x10

movw$message, %bp
movw$0x07c0, %ax
movw%ax, %es
movw$12, %cx
movb$0x13, %ah
movb$1, %al
movb$0x07, %bl
int$0x10
ret

hang:
jmphang

message:
.ascii "Hello World!"

.org 510
boot_flag:.word 0xaa55

92 名前:86 mailto:sage [2005/05/13(金) 16:16:54 ]
/* 文字化けするやつ */

.code16
.text

.global _start
_start:
movw$0x07c0, %ax
movw%ax, %ss
pushw$12
pushw$0x07c0
pushw$message
callprint

93 名前:86 mailto:sage [2005/05/13(金) 16:17:16 ]
/* 続き */
/* この関数は最初にbpの値、次にesの値、最後に文字列の長さをpopします */
print:
movb$0x03, %ah
xorb%bh, %bh
int $0x10

popw%bp
popw%ax
movw%ax, %es
popw%cx
movb$0x13, %ah
movb$1, %al
movb$0x07, %bl
int$0x10
ret

hang:
jmphang

message:
.ascii "Hello World!"

.org 510
boot_flag:.word 0xaa55

94 名前:86 mailto:sage [2005/05/13(金) 16:18:08 ]
tabが消えてる。。。orz

95 名前:Be名無しさん mailto:sage [2005/05/13(金) 16:47:52 ]
>>90
なんというか…基礎がなってない。
アセンブラのニーモニック覚えただけで完璧とか思ってないかい?




96 名前:Be名無しさん mailto:sage [2005/05/13(金) 17:11:38 ]
誰も完璧だなんて思ってないでしょ……。
わからんからアドバイス求めてるわけで。

97 名前:86 mailto:sage [2005/05/13(金) 20:18:02 ]
>>95
うっ。。。手厳しいですね。
正直アセンブリはgccの-Sオプションの出力とかLinuxの
ソースとかを見たことがあるだけなのでまだいまいちわかってないです。
どこを改善したらいいでしょうか?

98 名前:Be名無しさん mailto:sage [2005/05/13(金) 21:14:17 ]
95じゃないが、

・call命令は内部で次のアドレスをpushする
・ret命令は内部でスタックからpopして
 それをアドレスとみなして飛ぶ

で、push〜popとcall〜retを無造作に混ぜたらどうなるか想像してみ。

99 名前:86 mailto:sage [2005/05/13(金) 21:41:12 ]
>>98
あっ!そうか
callのときに積んだEIPの値をBPにpopしちゃってるってことですね。
じゃあさっそくその部分を修正してみます。
アドバイスありがとうございました!

100 名前:95 mailto:sage [2005/05/13(金) 22:55:47 ]
>>99
も一個。
printをそこに置いちゃまずいだろう。

とりあえず、アセンブラの基礎の本一冊読んでおいたほうがいいよ。x86じゃなくていいから。
あと、アセンブラのコード読みまくれ。コンパイラが吐いたのじゃなくて、人間が書いたの。




101 名前:86 mailto:sage [2005/05/13(金) 23:23:23 ]
>>100
なるほど。。。
では本とかソースとか読み漁ってから出直してきます。
ソースって何かお勧めなのありますか?

102 名前:Be名無しさん mailto:sage [2005/05/14(土) 01:04:36 ]
出来ないなりに適度に作ってしまいつつ。というのが面白いよ多分。
読み漁りまくるのは、ある程度、その道に踏み外してからのが良いような気がする。

面白いためにやるんであって、読み漁るためにやるわけではないだろうから。

103 名前:Be名無しさん mailto:sage [2005/05/14(土) 01:06:28 ]
aireos.org/sv.cgi/ver_20050328/sys/boot/boot.nas
なんてどう?


104 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2005/05/14(土) 08:48:16 ]
参考にならんやろ(´・ω・`)

105 名前:86 mailto:sage [2005/05/14(土) 15:36:07 ]
とりあえずmonaの最初のリリースとか読んでみることにします。

もうすぐ中間テストだ。。。orz

106 名前:86 mailto:sage [2005/05/14(土) 16:04:09 ]
出来ました!
実際昨日の夜ぐらいにはもう書きあがってたっぽいんですが、
.bochsrcの記述ミスのおかげで一日中悩んでました。なんてアホな。。。

.code16
.text

.global _start
_start:
movw$0x9000, %ax
movw%ax, %ss
movw$0xa000, %sp
pushw$12
pushw$0x07c0
pushw$message
callprint

jmphang

107 名前:86 mailto:sage [2005/05/14(土) 16:04:44 ]
続き

print:
addw$2, %sp

movb$0x03, %ah
xorb%bh, %bh
int $0x10

popw%bp
popw%ax
movw%ax, %es
popw%cx
movb$0x13, %ah
movb$1, %al
movb$0x07, %bl
int$0x10

subw$8, %sp
ret

hang:
jmphang

message:
.ascii "Hello World!"

.org 510
boot_flag:.word 0xaa55

108 名前:86 mailto:sage [2005/05/14(土) 16:06:12 ]
ギコナビで書き込んでるんですが、なぜかタブが消えてしまいます。
見苦しくってすいません

109 名前:Be名無しさん mailto:sage [2005/05/14(土) 16:16:02 ]
>>106-107
それだと、運悪く割り込み入ったらあぼーんしますが。

まずは、スタックの使われかた覚えましょうね。OSを書く場合避けて通れない所だから。


110 名前:Be名無しさん mailto:sage [2005/05/14(土) 16:21:16 ]
どんなブラウザで書いたってタブは消えるって。
タブを全角スペース二個分くらいに置換して書き込むといいよ

UNIX MAGAZINE COLLECTIONの「Linuxのブートプロセスをみる」って本とかいいぞ
がんがれよ



111 名前:109 mailto:sage [2005/05/14(土) 16:21:22 ]
あ、int使ってるからその時点でダメですな。


112 名前:86 mailto:sage [2005/05/14(土) 16:27:24 ]
>>109
うーむ。まだ問題があるのですか。
先は長そうだなぁ。。。

でも、初めてCでHelloWorldやったときよりも
感動は大きいです

113 名前:86 mailto:sage [2005/05/14(土) 16:30:39 ]
>>110
そうだったんですか。実は2chに書き込むのも
今回が初めてなので知りませんでした。

応援ありがとうございます。がんがります!

114 名前:Be名無しさん mailto:sage [2005/05/14(土) 17:00:45 ]
NASMでは.386みたいな命令はどう書けばいいのですか?

115 名前:Be名無しさん mailto:sage [2005/05/14(土) 20:43:03 ]
別にスタックに拘らなくても、レジスタに余裕あるならレジスタで
渡したほうが楽だと思うが >パラメーター

116 名前:Be名無しさん mailto:sage [2005/05/15(日) 01:58:15 ]
Cとくっつける時にはスタックから引数を拾う技術が必要だからなあ。
覚えておいて損はしないだろう。


117 名前:Be名無しさん mailto:sage [2005/05/15(日) 02:30:22 ]
EM64TではR8〜を使うけどね

118 名前:Be名無しさん mailto:sage [2005/05/15(日) 12:41:36 ]
OSのテストやらでqemuのディスクイメージにファイル書き込むのに、
DiskExplorerみたいのじゃなくてコマンドライン系ツール無いのかな?
何度も繰り返し書き込むわけだから、makefileに書き足してコンパイルと
同時に書きこめりゃ便利なのに。

>114
ttp://www.yuasa.kuis.kyoto-u.ac.jp/~nobu/study/nasm/chap5.html
ttp://ivs.cs.uni-magdeburg.de/bs/lehre/sose99/bs1/nasm/nasmdoc5.html

BITS 16とBITS 32しか指定できない…かも。

119 名前:Be名無しさん mailto:sage [2005/05/15(日) 13:56:09 ]
>>118
mtools とかは?
FAT系のみ対応かつ日本語ファイル名等はおかしくなりそうだけど。

120 名前:118 mailto:sage [2005/05/15(日) 17:08:42 ]
>119
thx。
ちとぐぐった感じだとwin上で使うための情報はあんまし
出てこなくて手強そうだけど、も少し調べてみる。



121 名前:Be名無しさん mailto:sage [2005/05/15(日) 17:28:47 ]
ファイルシステムの勉強を兼ねて、そういうのを作ってしまうというのも
一つの手ではないかと。


122 名前:Be名無しさん mailto:sage [2005/05/15(日) 17:33:34 ]
>>120
Monaじゃfat_writeって自前ツール使ってMakefileで自動的に書いてる
fat_writeはMonaのソースに入ってるから一度コンパイルしてみそ

123 名前:86 mailto:sage [2005/05/15(日) 19:01:07 ]
LinuxとかMonaのブートセクタを読んでみたんですが、
なぜかどっちもブートセクタ開始時に別のアドレスに
自身を転送しています。
これって何か意味があるのでしょうか?特にないような気がするんですが。。。

124 名前:118 mailto:sage [2005/05/15(日) 19:57:41 ]
そう言やFAT12ならブートセクタ自前で書かずにファイル名を
IO.SYSにしてDOSのブートセクタに読んでもらう手も有るな。
実機で試す時はrawriteとか使わずにコピーするだけで済むから
ユーザ側も楽かも。
まあ結局qemu用のイメージ配布するようになると同じ動作のやつ
書かないと駄目だけど。

>121
無けりゃ自分で作ろうかなとは思った。
読み込みは作ったこと有り(susieプラグだけど)。

>122
thx。MonaADKにバイナリも入ってるけどまたcygwin用か…。
にしてもosdev-jに書いてないツールが次々出てくるな。書き足してきた。

125 名前:Be名無しさん mailto:sage [2005/05/15(日) 20:21:20 ]
>>124
単にMonaADKは湾岸の趣味だからfat_write自体はCygwinに依存してるわけじゃない
MonaADKじゃなくてソース取ってきて自分でコンパイルすればCygwinがなくても動く

126 名前:Be名無しさん mailto:sage [2005/05/15(日) 20:32:23 ]
勉強目的ならFATもいいけどLinux系のファイルシステムもいいかもね。

127 名前:Be名無しさん mailto:sage [2005/05/15(日) 20:56:42 ]
>>124
XPで普通にフロッピーをフォーマットしたら、ntldrの先頭64kBばかりを読み
込むブートセクタになっちゃうかと(しかも連続して配置されているとの
決め打ちで)。
MS-DOS 6.2とWin95系は、同じくIO.SYSを読み込むもののIO.SYSのエントリ
仕様は異なったはずだし、IO.SYS全部をブートセクタが読み込むわけでは
なかったと思う。

128 名前:Be名無しさん mailto:sage [2005/05/15(日) 21:24:32 ]
>>126
extかext2の仕様もってこい

129 名前:Be名無しさん mailto:sage [2005/05/15(日) 22:25:54 ]
>>123
Linuxはその後カーネル読むときに邪魔だから。

>>128
ttp://www.linux.or.jp/JF/JFdocs/Filesystems-HOWTO.html
とか。


130 名前:86 mailto:sage [2005/05/15(日) 22:58:21 ]
>>129
なるほど。そういう意味があったんですね。
それで僕も意味もわからずにその部分を真似してみたんですが、
マシンによって結果が変わる、という状態になってしまいました。
手元に今実機が2台あるんですが、一台では正常に表示されて、
もう一台では無限にHelloWorldで、Bochsでは正常に表示されます。
以下にそのソース張ります。
どなたか原因わかりますでしょうか?

BOOTSEG = 0x07c0
STARTSEG = 0x200

.code16
.text

.global start
start:
movw $BOOTSEG, %ax
movw %ax, %ds
movw $STARTSEG, %ax
movw %ax, %es
xorw %si, %si
xorw %di, %di
movw $512, %cx
cld
rep
movsb
ljmp $STARTSEG, $secondstart





131 名前:86 mailto:sage [2005/05/15(日) 22:59:21 ]
secondstart:
movw $0, %ax
movw %ax, %ss
movw $0xa0000, %sp
pushw $12
pushw %es
pushw $message
call print
jmp hang

print:
addw $2, %sp # escape ip
movb $0x03, %ah
xorb %bh, %bh
int $0x10
popw %bp # third parameter
popw %ax # second parameter
movw %ax, %es # set es
popw %cx # first parameter
movb $0x13, %ah
movb $1, %al
movb $0x07, %bl
int $0x10
subw $8, %sp # push ip
ret

hang:
jmp hang

132 名前:Be名無しさん mailto:sage [2005/05/15(日) 23:04:49 ]
どうでもいいけど>>86って内容ぴったりのハンドルだね

133 名前:Be名無しさん mailto:sage [2005/05/15(日) 23:32:42 ]
>>130
スタックの使い方がアレですね。
正常だと思っているものも恐らくhang:以外のところでフリーズしている
か暴走しているか、予想外のコードを実行した後でたまたまhang:のところ
にたどり着いているのではないかと。
int命令もスタックを使うという事で。

134 名前:86 mailto:sage [2005/05/16(月) 01:13:44 ]
>>132
本当は73で最初に発言したんですけど
僕も86が気に入ったんで使ってます。

>>133
int命令って一応レジスタ退避して復元しませんでしたっけ?(自身ないです
っていうかマシンごとに動作に差があるのが変なんですよね。
BIOSの中身の問題なんでしょうか。
だとするともはや手がつけられない。。。

っていうかもうすぐ中間テストだぁぁあせdfgyふじこlp;
まじで勉強やヴぁいのでテスト終わるまでの1週間ほどPC封印しようと思います。。。
というわけで皆さん1週間後ぐらいにまたよろしくおながいします。。。

# あー、生きて戻ってこれるかな

135 名前:Be名無しさん mailto:sage [2005/05/16(月) 01:26:02 ]
>>134
朝7時から夜11時まで勉強汁よ。

136 名前:Be名無しさん mailto:sage [2005/05/16(月) 02:09:05 ]
>>134
そのレジスタをどこに退避しているかという話になる訳だが。

だからあれほど本を読めと…


137 名前:Be名無しさん mailto:sage [2005/05/16(月) 03:27:37 ]
>>134
ヒント:スタック

まぁ、アセンブラ経験値が上がればプロシージャに入った直後にスタック
ポインタ値を増加させるという事は死んでもしなくなるとは思うが…。

138 名前:Be名無しさん mailto:sage [2005/05/16(月) 09:06:02 ]
>>136-137
多分本のどこを読めばいいのかすら分からないと思うよ

>>134
スタックの手動トレースしてみる

print:
SP[IP][3][2][1]

addw $2, %sp # escape ip
[IP]SP[3][2][1]

これ退避じゃなくて放棄

基本的にスタックの左側にある値は保護されない
スタックの左側にあるということは外に晒すようなイメージ
この場合int割り込みを掛けたときに
そのときのIPがpushされるから
その瞬間退避したと思った[IP]が破壊される

定石としてはサブルーチンの最初で
movw %sp,%bp
とでもしといて
movw [%bp+4],%ax
のようなことをして引数を取得する

139 名前:128 mailto:sage [2005/05/16(月) 19:10:02 ]
>>129よ、ありがとう

140 名前:Be名無しさん mailto:sage [2005/05/16(月) 20:42:41 ]
Linuxのカーネルのソースを読んでるがインラインアセンブラに書いてあることが理解できん



141 名前:Be名無しさん mailto:sage [2005/05/16(月) 21:00:17 ]
>>140
最初はGNU GRUBから読むと良いのではないか。

142 名前:Be名無しさん mailto:sage [2005/05/16(月) 21:09:55 ]
>>141
だが今俺はkernel1.0のfs以下のソースを読んでるのだが。
それに俺はGASの文法がわからなくてな

143 名前:Be名無しさん mailto:sage [2005/05/17(火) 13:54:16 ]
>>141
それは止めた方がいいのではないかと。

>>142
なぜにそんな古いものを…

IntelとAT&Tの大きい違いは
・オペランドの順番が逆。
・命令の最後にオペレーションサイズが付いてる。
位だろう。
慣れればなんて事は無いでつ。


144 名前:142 mailto:sage [2005/05/17(火) 17:13:19 ]
>>143
オペランドが逆だったんだ、納得

145 名前:Be名無しさん mailto:sage [2005/05/17(火) 19:15:03 ]
>>144
AT&Tシンタックスの概要はここでも見るとよいです
ttp://www.tldp.org/HOWTO/Assembly-HOWTO/gas.html#AEN345


146 名前:Be名無しさん mailto:sage [2005/05/18(水) 20:39:59 ]
今雑誌コーナーに並んでるテックアイがオペレーティング・システム入門だった
ブートストラップ以降に必要になるであろう知識が書いてあるっぽかった

147 名前:Be名無しさん mailto:sage [2005/05/19(木) 00:16:51 ]
>>146
あんまし関係ない。
無駄って程でもないので、金に余裕があるなら買ってもいいんでは。

ざっと見ただけなので、大事な事を見落としているかもしれんが。


148 名前:Be名無しさん mailto:sage [2005/05/19(木) 00:26:53 ]
gasの文法なら、↓に "gas i386 Assembly Language Guide (.ppt)" があるよ。
ttp://www.cs.umb.edu/~bobw/CS241/

149 名前:Be名無しさん mailto:sage [2005/05/19(木) 00:50:25 ]
>>148
OOoで見れた。

150 名前:Be名無しさん mailto:sage [2005/05/27(金) 01:15:17 ]
86は撃沈か。




151 名前:Be名無しさん mailto:sage [2005/05/27(金) 11:01:19 ]
そういえば戻ってこないな。

いきなりブートローダーに手を出して挫折か…
まあ何事も勉強だ。


152 名前:Be名無しさん mailto:sage [2005/05/27(金) 13:01:12 ]
以前、Interfaceの特集でC言語でブートローダを作ってた。
あれを参考にすれば?
多少、インラインアセンブラを使用するが。

153 名前:Be名無しさん mailto:sage [2005/05/27(金) 13:24:41 ]
>>152
あれもアセンブラでごりごり書ける位じゃないと厳しい。
ああいう世界ではホントにC=高級アセンブラだから。

ブートローダーなんてものは枝葉だから、そんな所でつまって
本題に入れないつーのはもったいないと思うけどねえ。

まあ、そのへんさくさく作れないレベルで先に進んでも、
同じようにはまるだけという気もしますが。


154 名前:86 mailto:sage [2005/05/27(金) 16:25:06 ]
>>150-151
いや、まだ撃沈してないっす(テストは撃沈
とりあえず皆さんからのアドバイスを元に、ちゃんと動く
print関数を実装できました。
今ブートセクタから第2段階のローダー(?をロードしようとしてます。

ところで、まだまだ先の話なんですが、マイクロカーネルって
OSの機能が分断されて別々のプロセスとして働くんですよね?
Monaとかでもファイルシステム担当のサーバがあるっぽいんですが、
そのファイルシステムを担当するサーバを実行させるために
サーバをディスクから読み出すためにはどうするんでしょうか?

やはり最低限必要な機能はカーネルに入れるとか?

155 名前:86 mailto:sage [2005/05/27(金) 16:43:09 ]
ちなみにこれがprintの完成版です。

/* first parameter --- bp register's value */
/* second parameter --- string length */
/* third parameter --- es register's value */
print:
movw %sp, %bp

movb $0x03, %ah
xorb %bh, %bh
int $0x10

movw 2(%bp), %ax # third parameter
movw %ax, %es
movw 4(%bp), %cx # second parameter
movw 6(%bp), %bp # first parameter
movb $0x13, %ah
movb $1, %al
movb $0x07, %bl
int $0x10

ret

156 名前:Be名無しさん mailto:sage [2005/05/27(金) 16:52:32 ]
>>154
Monaは0.3.4以降とそれ以前では全然違うんだが、
とりあえず0.3.4以降の最新版について説明すると、
firstbootから呼び出されたsecondbootで
カーネルと各種サーバーと設定ファイルを読み込んでる。
だからカーネルにはファイルI/Oは入っていない。

とりあえずMonaをCVSからダウンロードして確認してみれば?
そうすればMona見れば分かるようなことでいちいち悩まなくていいわけだし。

注意点として、Monaのsecondboot.asmはC#をコンパイルしたコードなので、
secondboot.asmを直接読もうとしても撃沈する。
tools/IL2ASM16/secondbootにあるC#のコードを参照のこと。
簡潔に書いてあるので何やってるかすぐ分かると思う。

157 名前:156 mailto:sage [2005/05/27(金) 16:55:42 ]
適当に書いたらミスってたので訂正スマソ

×0.3.4
○0.3.0α4

×tools/IL2ASM16/secondboot
○tools/MonaNET16/SecondBoot

158 名前:Be名無しさん mailto:sage [2005/05/27(金) 18:10:10 ]
分裂症のOS

159 名前:86 mailto:sage [2005/05/27(金) 19:21:37 ]
なるほど。
C#はおろかC++の経験すらないんですが、大体の流れなら
わかるものなんでしょうか?

とりあえず読んでみます

160 名前:Be名無しさん mailto:sage [2005/05/28(土) 12:31:23 ]
>>155
サブルーチン中で、スタック操作"しない"なら、
sp を bp に退避せず直接 movw 2(%sp), %ax とかでいーんじゃね?

と思ったら、138のアドバイスね。




161 名前:Be名無しさん mailto:sage [2005/05/28(土) 12:43:38 ]
>>160
> movw 2(%sp), %ax
8086の命令セットでは記述できない

162 名前:Be名無しさん mailto:sage [2005/05/28(土) 19:45:19 ]
あ、あれ。mov eax, [esp+4] とか書くのと同じノリだった。

163 名前:Be名無しさん mailto:sage [2005/05/28(土) 20:11:11 ]
>>162
Windows使ってるならDOS窓でdebugコマンド使って確認できる。

C:\>debug
-a
3528:0100 mov ax,[bp+2]
3528:0103 mov ax,[sp+2]
^ エラー
3528:0103
-q

164 名前:Be名無しさん mailto:sage [2005/05/28(土) 23:31:17 ]
>>161
でも、386以降限定としてしまえば、リアルモードでも67Hを使えば
32bitアドレッシングモードが使えるよ(64kを突き破らないように注意
がいるけど)

165 名前:Be名無しさん mailto:sage [2005/05/28(土) 23:42:40 ]
>>164
出来るのは分かるけど初心者に教えるのに適したことではないよね。
今回は初心者からの相談なわけだから。

166 名前:Be名無しさん mailto:sage [2005/05/28(土) 23:45:58 ]
>>164
ところでx86-64限定として、リアルモードから64bitアドレッシングモードが
使えるようなプレフィックス命令はあるのかなあ?
WOW64の32bitプロセス限定でRAXとかを使う裏技はあるらしいけど。

167 名前:Be名無しさん mailto:sage [2005/05/30(月) 00:00:11 ]
MINIXのソースを読んでるのだがLinuxと違ってわかりやすいな。

168 名前:Be名無しさん mailto:sage [2005/06/18(土) 16:03:09 ]
VRAMって今もメインメモリと共用なの?それとももう専用のRAM使ってるの?

169 名前:Be名無しさん mailto:sage [2005/06/18(土) 16:40:30 ]
>>168
オンボードのやつはいまだにメインメモリと共用のがあるけど(VIAとかSISとか)、
単体でAGPに挿すやつは独自に持ってるのが普通。
前者はマザーボードに512MB積んでもOSからは480MBとかに見えて減るので分かる。

170 名前:Be名無しさん mailto:sage [2005/06/18(土) 17:05:00 ]
とりあえずVGAが刺さってたら専用なんだ



171 名前:Be名無しさん mailto:sage [2005/06/29(水) 14:05:57 ]
こことかどうよ?

ttp://aeland.yh.land.to/project/about.htm

172 名前:Be名無しさん [2005/06/29(水) 18:06:42 ]
スマソ。質問です。
軽い気持ちで、ブートローダーを作っていたのですが、
起動したときに、ちゃんと読み込まれない模様。(OSの入ってるディスクを入れてほかのキーをタイプして下さいみたいなメッセージが出る。)
//コンパイル・・・nasm -f bin -o 1stboot.bin 1stboot.asm
//ddコマンドを使ってどうとかこうとか・・・dd if=1stboot.bin of=1stboot.img bs=512 count=1
↓から1stboot.asmのソース
;--------------------------------------
; Name :Macro PRINTSTR
; Spetial Thanks:higepon
;--------------------------------------
%macro PRINTSTR 1
mov si, %1
%%ByOS:
lodsb
cmp al, 0
je %%end
mov ah, 0Eh
mov bh, 0
int 10h
jmp %%ByOS
%%end
%endmacro

173 名前:Be名無しさん [2005/06/29(水) 18:08:00 ]
;--------------------------------------------------
; Name :1stboot.asm
; Spetial Thanks:higepon
;--------------------------------------------------
[ORG 0]
BITS 16

; cs = 07Coh
jmp 07C0h:start
osStart db 'Starting ByOS...', 0dh, 0ah, 00h
resetOk db 'disk reset ok', 0dh, 0ah, 00h


start:
cli
mov ax, cs
mov ds, ax
mov ss, ax
sti
PRINTSTR osStart



174 名前:Be名無しさん [2005/06/29(水) 18:08:42 ]
reset:
mov ax, 0
mov dl, 0
int 13h
jc reset
PRINTSTR resetOk


forever:
jmp forever
times 510-($-$$) db 0
dw 0AA55h

ここまで。
コンパイル等のときにエラーは出てない模様。
お願いします。

175 名前:Be名無しさん mailto:sage [2005/06/29(水) 18:35:40 ]
dd if=1stboot.bin of=1stboot.img bs=512 count=0
じゃないか?

176 名前:Be名無しさん mailto:sage [2005/06/29(水) 20:35:18 ]
>>172-174
シグネチャがちゃんと書けてないんでは?

ついでにすげーどうでもいい事だが、コメントのスペルが間違ってる。

>>175
count=0じゃ書き込まれないような気がするな。



177 名前:Be名無しさん mailto:sage [2005/06/29(水) 20:39:16 ]
seek=0 count=1 だね

178 名前:172-174 [2005/06/30(木) 14:33:17 ]
>>175-177ありがとうございます。
しかし、依然としてブートローダーを読んでくれません。
>>176シグネチャとは?

179 名前:Be名無しさん mailto:sage [2005/06/30(木) 23:39:00 ]
>>171
何がしたいのかわからんな

180 名前:Be名無しさん mailto:sage [2005/07/01(金) 01:57:03 ]
>>178
最後の2byte。
BIOSがブートセクタの中身チェックするのはそこしか無いはず。

ディスクエディタか何かで、ちゃんと予定通りの配置になってるか
確認するのがいいのでは無いかと。




181 名前:Be名無しさん [2005/07/01(金) 03:10:01 ]
作ったOSの試運転に使ってた古マシンが壊れちゃった...


182 名前:172-174 [2005/07/03(日) 16:52:58 ]
>>180ありがとうございます。
最後の2byteはダンプでF6 F6となっておりました。
配置を直しましたが、エクスプローラーで見れなくなりました。(フォーマットしますか?とかいうメッセージが出てくる。)
これは仕様でしょうか?(´・ω・`)

183 名前:Be名無しさん mailto:sage [2005/07/03(日) 21:48:06 ]
>>182
FATつぶしたとか。


184 名前:Be名無しさん mailto:sage [2005/07/05(火) 00:33:47 ]
あーあ

185 名前:172-174 [2005/07/05(火) 14:23:49 ]
>>183ありがとうございます。
再フォーマットしてコピー後、再起動したら別のメッセージがヽ(゚∀゚)ノ
・・・・同じ意味でしたorz

186 名前:Be名無しさん mailto:sage [2005/07/06(水) 20:38:01 ]
>>172
お前の作ったブートローダーには
「OSの入ってるディスクを入れてほかのキーをタイプして下さいみたいなメッセージ」
なんていう文字列なんかどこにもないだろ?

っつーことは、BIOSか、既存の他のブートローダーが実行されている。



187 名前:Be名無しさん mailto:sage [2005/07/07(木) 02:08:58 ]
>>172にはBPBがないようなので、OSがFATとして認識することはありません。
FAT12として認識させたいならブートローダの中にBPBデータを含めておく必要があります。

FAT12で再フォーマットをするとBPBはOSによって書き込まれますが、
当然自作プログラムも消えて、起動可能でもなくなりますので、>>185となります。

OS開発であれば、最初に作成する起動可能フロッピーはFAT12にする必要はまったくないので、
BPBのことは考えず、Winなどで読み込み可能にすることも考えない方がよいと思います。
そのときは、>>182のようになるのは誤動作ではありません。
たしかにFAT12互換にしておくと利便性はありますが、それの追求は後でよいと思われます。

188 名前:Be名無しさん mailto:sage [2005/07/07(木) 06:50:55 ]
BPBはこの辺が参考になるかと。
community.osdev.info/index.php?IPL

189 名前:172-174 [2005/07/07(木) 14:56:45 ]
>>186FDに入ってるブートローダーだと思います。
>>187
> Winなどで読み込み可能にすることも考えない方がよいと思います。
> そのときは、>>182のようになるのは誤動作ではありません。
> たしかにFAT12互換にしておくと利便性はありますが、それの追求は後でよいと思われます。
ありがとうございます。
>>182の時はFDDで起動させても何も表示されず、ただ白いアンダーラインが表示されるだけでした。
とりあえず現段階(再フォーマット・ddコマンドでコピー済)のFDDのダンプを張らせていただきます
ttp://20a.mata-ri.tk/src/20M0540.txt.html
パスはOSです。

190 名前:187 mailto:sage [2005/07/07(木) 16:40:31 ]
>>189
他人に丸投げで(しかもダンプを)デバッグをさせるという姿勢は理解できません。ので見てもいません。
>>180さんおっしゃるように、最後の2バイトが正しければブートローダとして読み込まれてしまいます。

シグネチャが正しいのに動作しないのであれば、あとは単にプログラムのミスです。
実際、アンダーラインの表示で応答が無くなるのは、単に暴走しているからでしょう。



191 名前:Be名無しさん mailto:sage [2005/07/07(木) 16:57:00 ]
>>189
落とせねえよ… orz

192 名前:Be名無しさん mailto:sage [2005/07/08(金) 19:09:31 ]
そろそろ開発終了かな

193 名前:172-174 [2005/07/09(土) 07:18:16 ]
>>190あまったれてすみませんでした。
それと報告が有ります。
バイナリエディタでfirstbootの部分をコピー -> ディスクイメージに貼り付けをしたら、上手く表示されました。
しかし、FATが潰されてる模様orz
FATを潰さずに以上の作業が出来る方法は有りますか?(この作業でなくても構いませんが・・・)
有れば教えてください。

194 名前:Be名無しさん [2005/07/09(土) 08:12:47 ]
マルチメディア総合技術研究所という団体が製品情報で新しいOSを出すとか。
www.mulchmedia.info/index.htm
なんか怪しい。
会員から会費を取るらしい。
PSPでリナックスを動かしたとかゲームボーイ用ソフトを動かしたとか書いている。

195 名前:Be名無しさん mailto:sage [2005/07/09(土) 17:05:44 ]
>>193
FATのBPBについて調べてみれ

196 名前:Be名無しさん mailto:sage [2005/07/10(日) 00:31:58 ]
>>195
>>188

197 名前:172-174 [2005/07/10(日) 15:23:47 ]
今、EOTAのソースを閲覧してるのですが、Eota/boot/1st/Makefileにある
dd if=a.out of=1stboot_hd bs=32 skip=1 count=16 2>/dev/null
を改造して
dd if=1stboot.bin of=1stboot.img bs=32 skip=1 count=16
にしてみようと思っています。
それと、2>/dev/null
     ~~~~~~~~~~~~
     この部分は何を示しているのでしょうか?

198 名前:Be名無しさん mailto:sage [2005/07/10(日) 15:31:56 ]
>>197
標準エラー出力を黙らせている。

199 名前:Be名無しさん mailto:sage [2005/07/10(日) 15:32:36 ]
エラー出力をニフラムするの。それくらい自分で調べないとお先真っ暗よ。

200 名前:199 mailto:sage [2005/07/10(日) 15:33:55 ]
かぶってごめんなさい。さよおなら。



201 名前:Be名無しさん mailto:sage [2005/07/10(日) 15:37:28 ]
>>200
キリ番ゲットおめ!

202 名前:172-174 mailto:sage [2005/07/10(日) 15:43:14 ]
>>198-199ありがとうございます。
今、>>197を試してみましたが>>185と同じメッセージが出ただけでした(´・ω・`)ショボーン
やはりBPBを改造しないと無理っぽいです。>>FATを潰さずに(りゃ
Monaの1stbootの先頭部分でBPBの設定をしてるじゃないですか。そっからパクってみたんですけど、結果的に同じっぽいです。
バイナリで直接入力しかないのでしょうか?

203 名前:Be名無しさん mailto:sage [2005/07/10(日) 15:55:13 ]
>>202
逆にMonaの1stbootを削って自分のコードをつなげてみな。

204 名前:Be名無しさん mailto:sage [2005/07/10(日) 16:27:50 ]
>>202
スキップしてずらしてんだからあたりまえ。
自分のやってることが分かってないで、
闇雲に真似てるだけの駄目人間だな。


205 名前:172-174 mailto:sage [2005/07/10(日) 16:50:00 ]
>>203
どの辺から削るべきでしょうか?やはりディスクリセットが終わったあとからでしょうか?

206 名前:Be名無しさん mailto:sage [2005/07/10(日) 16:52:56 ]
>>205
そんなもん自分で考えろ
分からなかったら削るんじゃなくて改造していじってみろ
自分でコード書くのはそれからだ

207 名前:Be名無しさん mailto:sage [2005/07/10(日) 23:56:01 ]
ヲマエみたいの毎年出てくるな。もうそんな季節ですなぁ。
ヲマエに悪気がないならしばらくここで聞くのやめれ。
うるせカンケーネーヲレの勝手だヴォケってんならご自由に。
199さんや206さんがなんで怒ってるのかよく考えてみろ。
間違っても仕切り屋が煽りくれてるんじゃねーぞ。
ヲマエの質問文にゃなにひとつ自分で努力した跡がねーのよ。
自分がもしこんなふうになにからなにまで教えて君されたら
ムカツクだろ?悪いこといわんからすこし間を空けて自分で
いろいろ試行錯誤してもういっかい質問してみれ。


208 名前:Be名無しさん mailto:sage [2005/07/11(月) 01:39:41 ]
>207
ヒゲ

209 名前:Be名無しさん [2005/07/12(火) 22:31:51 ]
話を変えてみる。

フリー用のPC用トロンを実装するという試みはかつてあったのでしょうか?
(2ch初心者なんで、過去ログを全て把握してないですごめんなさい。)

仕様が無料で公開されてて作れるはずなのに、作ってる人がいないなあと思ったので、
ちょっとここで聞いたりしてみました。まあ、仕様と実装は別物ですから、
ないのも当然なのかなあとちょっぴりしょぼくれたりしていました。

210 名前:Be名無しさん mailto:sage [2005/07/12(火) 22:50:15 ]
>>209
ttp://www.toppers.jp/
ttp://www.rbt.his.fukui-u.ac.jp/~naniwa/comp/OS/index.html
ttp://www.vector.co.jp/soft/other/tron/se015489.html



211 名前:209 [2005/07/12(火) 23:41:43 ]
>210
ありがっとお。こんなにあったんだ。
知らなかった。今度よく調べてみます。
うーむ。トロン流行ってほしいなあ。

212 名前:Be名無しさん [2005/07/13(水) 00:10:16 ]
【ありがとう】橋本真也 追悼オフ【破壊王】
off3.2ch.net/test/read.cgi/offevent/1121074170/
みんなで破壊王を見送りましょう。
葬儀日程
通夜:7月15日(金)18時
葬儀:7月16日(土)12時30分
場所:一休庵久保山式場 神奈川県横浜市西区元久保町3-13
最寄駅:京浜急行線 黄金町 駐車場:15台(全館貸切の場合、30台)

横浜駅西口から久保山斎場まではタクシーでは
所要時間10分〜15分、料金は1,220円〜1,380円です。

1,220円は混雑を加味しない料金です。
3〜5分程度の混雑を考えた場合、1,380円位になると思います。
(実際は1分55秒で80円加算です)
バスは
京急黄金町駅から32系統久保山経由保土ヶ谷車庫行き →久保山霊堂前
横浜駅西口からは4番乗り場68系統久保山経由滝頭行き→久保山で下車してください。
なお、久保山バス停からはかなりの上り坂です。

213 名前:Be名無しさん [2005/07/15(金) 20:06:33 ]
ひげぽんさんにとって,もはやココは邪魔なだけ。さっさとスレ消費しちまおう。


214 名前:Be名無しさん mailto:sage [2005/07/15(金) 20:09:04 ]
OSを作ろうスレはどうなるんですか?

215 名前:Be名無しさん mailto:sage [2005/07/15(金) 20:30:49 ]
>>213
このスレはもはや卑下と関係ないから。

>>214
卑下と関係ないOSを作るためのスレ(ここ)は現状維持だろうね。

卑下スレはすぐ埋め立てられる状況では建てても仕方ないね。
2ch発祥って事実には影響ないから未来永劫2chベースである必要はない。
実際、かなり前からら卑下自身スレにはほとんど顔出してなかった。
スレなしでblogとWikだけでもまったく支障ないんじゃね?

216 名前:Be名無しさん mailto:sage [2005/07/15(金) 20:42:13 ]
巣立ちみたいなもんですな

217 名前:Be名無しさん mailto:sage [2005/07/15(金) 21:01:57 ]
>>214
【クロスプラットフォーム】BayGUIを語るスレッド【Mona】を立てて進行してください

218 名前:Be名無しさん mailto:sage [2005/07/15(金) 21:09:19 ]
卑下が来なくてもMonaを語れるスレッドを。

219 名前:Be名無しさん mailto:sage [2005/07/15(金) 21:19:56 ]
Wikiへ逝けってことだろうな。。。

220 名前:Be名無しさん mailto:sage [2005/07/15(金) 21:56:14 ]
しかし、議論する場所が無いつーのは不便な気がするな。
俺OSの道を突き進むからそんな場所はいらねーつうことか。





221 名前:Be名無しさん mailto:sage [2005/07/15(金) 23:01:58 ]
>>220
何を今更(w
ここ1年スレでまともな議論なんか皆無だったじゃん

222 名前:Be名無しさん mailto:sage [2005/07/15(金) 23:29:26 ]
どうでもいい議論ならあったような気もするが…

まあ漏れはこの先も生温かく見守るだけだな。
wikiとか日記コメントで議論する気になれん。



223 名前:Be名無しさん mailto:sage [2005/07/16(土) 01:22:13 ]
卑下はこの事態をどう責任とるつもりなんだ?

224 名前:Be名無しさん mailto:sage [2005/07/16(土) 08:14:14 ]
ume

225 名前:Be名無しさん mailto:sage [2005/07/16(土) 09:29:23 ]
>>214-223
ここ蓑輪と無関係だから、続きはこっちでやれや。

総合雑談スレ
pc8.2ch.net/test/read.cgi/os/1088075755/l50

226 名前:Be名無しさん mailto:sage [2005/07/16(土) 22:21:28 ]
うめ

227 名前:Be名無しさん mailto:sage [2005/07/19(火) 00:10:01 ]
プロテクトモードに移行した後に、A20を有効にしようと思って
void enable_A20(void)
{
while(inb(0x64)&2)
;
outb(0x64, 0xd1);
while(inb(0x64)&2)
;
outb(0x60, 0xdf);
while(inb(0x64)&2)
;
outb(0x64, 0xff);
while(inb(0x64)&2)
;
}
という関数を呼び出したのですがBochsがCPU_LOOP 1というメッセージを
延々と吐いて何もしなくなります。
初めて読む486からまるごと移してきたので自分でも何をやっているのか
よく分からないのですが、どうしたらよいでしょうか?
inb,outbは以下の通りです
byte __inline__ inb(long port)
{
byte ret;
asm volatile ("inb %%dx, %%al": "=a" (ret) : "d" (port));
return ret;
}
void __inline__ outb(long port, byte value)
{
asm volatile ("outb %%al, %%dx": :"a" (value), "d" (port));
}

228 名前:Be名無しさん mailto:sage [2005/07/19(火) 00:19:51 ]
>>227
Monaにはこんな風に書いてある
ttp://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/mona/MonaNew/core/secondboot/A20.cs
public class A20
{
  public static void Enable()
  {
    Wait();
    IO.Out(0x64, 0xd1);
    Wait();
    IO.Out(0x60, 0xdf);
    Wait();
    IO.Out(0x64, 0xff);
  }

  public static void Wait()
  {
    while ((IO.In(0x64) & 0x02) != 0);
  }
}


229 名前:Be名無しさん mailto:sage [2005/07/19(火) 00:22:01 ]
>>227>>228はまったく同じなんだけど、Monaはリアルモード。

230 名前:Be名無しさん mailto:sage [2005/07/19(火) 00:23:48 ]
あ、もう一点違うね。
最後にウェイトしてない。



231 名前:227 mailto:sage [2005/07/19(火) 00:30:36 ]
>>229
>>228さん、ありがとうございました。
>>228さんの提示してくれたソースっぽくwhile()の中身を書き換えたら
まともに動くようになったんですけど、>>227を呼び出している状況では
確実にプロテクトモードなんです。
とりあえずのIDTRとGDTRを設定して、cr0の最上位ビットを1にしたら
プロテクトモードには移行できてるんですよね?
なにか違いはあるんでしょうか?

232 名前:Be名無しさん mailto:sage [2005/07/19(火) 00:32:01 ]
>>231
ttp://tkralia.hp.infoseek.co.jp/mona/mona1017/secondboot.html

233 名前:227 mailto:sage [2005/07/19(火) 00:57:21 ]
できたと思ったら何故か再びできなくなりました。。。
trace-onにしてしばらく追っかけてたら一応enable_A20は呼び出されているんですが、
それから突然CPU_LOOP状態になります。
このCPU_LOOP 1ってなんなんでしょうか?

234 名前:Be名無しさん mailto:sage [2005/07/19(火) 01:26:24 ]
>>233
文字通り無限ループということではないでしょうか?
while()の書式はあまり関係ないでしょう。
最後のwait()を取るとどうなりますか?

参考までにFreeBSDのソース(gas)も出しておきます。
ttp://www.freebsd.org/cgi/cvsweb.cgi/src/sys/boot/i386/boot2/boot1.S

プロテクトモードでフルに32bitアドレッシングをするためのものなので、
リアルモードでやっておくのが定石みたいです。

ちなみに昔のFreeBSDではプロテクトモードでやっていたみたいです。
ttp://www.freebsd.org/cgi/cvsweb.cgi/src/sys/i386/boot/biosboot/Attic/io.c
void gateA20(void)
{
  while (inb(K_STATUS) & K_IBUF_FUL);
  while (inb(K_STATUS) & K_OBUF_FUL)
    (void)inb(K_RDWR);
  outb(K_CMD, KC_CMD_WOUT);
  while (inb(K_STATUS) & K_IBUF_FUL);
  outb(K_RDWR, KB_A20);
  while (inb(K_STATUS) & K_IBUF_FUL);
}

235 名前:227 mailto:sage [2005/07/19(火) 01:40:43 ]
>>234さん、ありがとうございます!
とりあえずリアルモード中にFreeBSDのソースを張ったらできました!
とりあえず今日は眠いので明日吟味してみようと思います。。。
ところでこれのチェック方ってありますか?

236 名前:Be名無しさん mailto:sage [2005/07/19(火) 02:03:55 ]
>>235
ちょっとは調べてみてくださいね。
ttp://database.sarang.net/study/OS/os-faq-memory.html

要するに20bit以上のメモリアクセスを可能にするということです。
20bitということはつまり1MBということです。

これをやらないといくらプロテクトモードでも
[00000]〜[fffff]までしかアクセスできません。
[100000]の値を見れば、アドレスがマスクされて、
[00000]を指していることが分かるはずです。

実はリアルモードでもチェックできます。
A20が有効なら[ffff:0010]が[100000]を指すはずです。

237 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2005/07/19(火) 02:10:41 ]
A20制御ってリアルモードのうちにやっといて
プロテクトモード移行前にA20有効かどうかチェックするのが定石だよね

238 名前:Be名無しさん mailto:sage [2005/07/19(火) 07:49:10 ]
この手の奴アセンブラ以外で書かれると、かえってワケワカランな…

239 名前:Be名無しさん mailto:sage [2005/07/19(火) 09:45:11 ]
cliしてないだけだったりして<無限ループ

240 名前:Be名無しさん mailto:sage [2005/07/19(火) 11:28:32 ]
>>236
> 実はリアルモードでもチェックできます。
> A20が有効なら[ffff:0010]が[100000]を指すはずです。
HMAってやつですな



241 名前:Be名無しさん mailto:sage [2005/07/19(火) 11:31:56 ]
>>239
できたりできなかったりってとこがそれっぽいね

242 名前:Be名無しさん mailto:sage [2005/07/19(火) 11:49:02 ]
HMAについてはこの辺が参考になるかと
ttp://www.wdic.org/?word=HMA+%3ATECH
ttp://yougo.ascii24.com/gh/04/000419.html

A20周りは互換性とか過去の遺物を引きずった結果だから
この辺の情報はDOS関連が多いね

243 名前:Be名無しさん mailto:sage [2005/07/19(火) 12:26:23 ]
liloとかminixのブートローダのソースを読むのもいいかも

244 名前:Be名無しさん mailto:sage [2005/07/19(火) 12:43:06 ]
>>243
LILOのソースを見た上で言っていますか?
LILOでA20はいじっていません。
というか汎用IPLでそんなとこをいじったらまずいわけです。
MINIXうんぬんは、LILOと比較する部分ではないですね。

245 名前:Be名無しさん mailto:sage [2005/07/19(火) 13:52:22 ]
ブートローダのソースはGRUBを読むのが一番いいです。
ブートローダを一から作るよりGRUBに精通して改良して使うのがいいです。

246 名前:Be名無しさん mailto:sage [2005/07/19(火) 13:53:23 ]
A20の話をしてたんだと思うんだけど。

247 名前:Be名無しさん mailto:sage [2005/07/19(火) 13:58:13 ]
>>245
HDDに複数のOSを入れてマルチブートする段階になったら
そんなの自作するのはOS開発の本質から外れるから
汎用のブートローダを使った方が良いだろうけど、
勉強のためFDから起動してみる最初歩の段階では
リアルモードとかBIOSとかの勉強が目的なわけだから
GRUBをいじるとかは方向性が違うと思う。

248 名前:Be名無しさん mailto:sage [2005/07/19(火) 14:06:02 ]
BIOSにA20制御なかったっけ?
INT 15hの拡張ファンクションあたりにあったような気がするんだが。


249 名前:Be名無しさん mailto:sage [2005/07/19(火) 14:27:27 ]
>>248
ありますね。

ttp://www.win.tue.nl/~aeb/linux/kbd/A20.html
> INT 15 AX=2400 disable A20
> INT 15 AX=2401 enable A20
> INT 15 AX=2402 query status A20
> INT 15 AX=2403 query A20 support (kbd or port 92)

250 名前:Be名無しさん mailto:sage [2005/07/20(水) 19:05:17 ]
qemu上で開発したいんだけど、どうしたらqemu用のブートイメージを作れるんだろう…?



251 名前:Be名無しさん mailto:sage [2005/07/20(水) 19:07:21 ]
>>250
make installで生成される通常のブートイメージがそのまま使えますよ。
$ qemu -localtime -cdrom bin/mona.iso


252 名前:Be名無しさん mailto:sage [2005/07/20(水) 19:09:05 ]
>>251
それMona?
ここはMonaのスレではない。
>>250は自作OS開発のことを言ってるみたいだけど。

253 名前:251 mailto:sage [2005/07/20(水) 19:13:33 ]
スマソ。最近の動向ヲチしてなかった。


254 名前:Be名無しさん mailto:sage [2005/07/20(水) 20:17:08 ]
>>250
FD作って、それ吸ってイメージにする。
効率悪いけど。

#そのへん調べられない状態で手を付けて、
#うまくいくのかかなり疑問であるが…


255 名前:Be名無しさん mailto:sage [2005/07/20(水) 22:48:21 ]
ところでなんでOSASKやらMONAはFAT12ぐらいしかファイルシステムをサポートしてないのだろう?

256 名前:Be名無しさん mailto:sage [2005/07/20(水) 22:52:28 ]
>>255
MonaはNTFSも実装中ですよ

257 名前:Be名無しさん mailto:sage [2005/07/20(水) 22:59:07 ]
なんかMS一色だな。といってもMONAはISO9660も実装するんだっけ?

258 名前:Be名無しさん mailto:sage [2005/07/20(水) 23:08:29 ]
簡単な上にどこでも読み書きできるからの〜
12bitの取り扱いがうざいけど。

>>257
もう入ってるんではないかと。


259 名前:Be名無しさん mailto:sage [2005/07/21(木) 21:02:41 ]
ブートセクタから次のローダを読み込んで実行すると、何故かCPU_LOOP1でbochsが
無限ループにはまります。
原因を調べてみた所、Cで書いた関数内でGDTを設定しようとしている所に問題が
あるようなのですが、どうしてもわかりません。
そのCの関数が
int cstart(void)
{
/* set 0th gdt */
setsegdesc(0, 0, 0, 0, 0);

/* set gdt for setup */

setsegdesc(0x8, 0x20200, 0x1000, typeCODE, smallseg, DPL_0);
setsegdesc(0x10, 0x20200, 0x1000, typeDATA, smallseg, DPL_0);
setsegdesc(0x18, 0x10000, 0xfff, typeSTACK, smallseg, DPL_0);

return 0;
}


260 名前:Be名無しさん mailto:sage [2005/07/21(木) 21:04:47 ]
後は別のファイルに
void makesegdesc(segdesc *desc,
long addr, long limit,
byte segtype, byte seg32type,
byte dpl)
{
desc->baseL = (word)(addr & 0xffff);
desc->baseM = (byte) ((addr >> 16) & 0xff);
desc->baseH = (byte) ((addr >> 24) & 0xff);
desc->limitL = (word) (limit & 0xffff);
desc->limitH = (byte) ((limit >> 16) & 0x0f) + seg32type;
desc->type = segtype | (dpl << 5);
}

void setsegdesc(word sel,
long addr, long limit,
byte segtype, byte seg32type,
byte dpl)
{
makesegdesc(&gdt[sel>>3], addr, limit, segtype, seg32type, dpl);
}
この関数を定義しています。
デバッグしてみた所、
(0) [0x0002029e] 2020:009e (unk. ctxt): call far c700:0000 ; 9a000000c7
<bochs:876>
CPU_LOOP 1
Error: (0) print_guard_results: guard_found ? (stop reason 0)
Next at t=739471
こういうメッセージをずっと吐き続けます。
どなたかアドバイスお願いします。




261 名前:259 mailto:sage [2005/07/21(木) 21:07:01 ]

setsegdesc(0, 0, 0, 0, 0);
この部分だけだとエラーは起こりません。
というか、2バイト以上の値を扱うと同じようなエラーになるっぽいです。
return 0xffff;とかでも同じエラーが起こります。


262 名前:Be名無しさん mailto:sage [2005/07/21(木) 21:20:36 ]
call far c700:0000

そもそもこれが正しいとは思えないんだが。

263 名前:259 mailto:sage [2005/07/21(木) 22:03:59 ]
>>262
はい。このバイナリは0x20200からおかれているので
それが明らかにおかしいです。
でも何でコンパイルした結果そんなバイナリが出て来るのかが謎です。
何かパラメータとの問題があるんでしょうか。。。

264 名前:Be名無しさん mailto:sage [2005/07/21(木) 23:13:29 ]
コンパイル結果を逆汗して、併せてBochsで追えばいいじゃん。
それで分かんないってのならCで組むのを諦めた方がいいよ。

265 名前:Be名無しさん mailto:sage [2005/07/22(金) 14:51:33 ]
コンパイラにアセンブリのソースを出力させて意図通りか確認するとか

266 名前:Be名無しさん mailto:sage [2005/07/23(土) 01:00:58 ]
確認できるスキルがあればとっくにやってんジャマイカ

267 名前:Be名無しさん mailto:sage [2005/07/23(土) 16:39:19 ]
CPUの機能を操作しようと思うならアセンブリくらい知っておいた方が…

268 名前:Be名無しさん mailto:sage [2005/07/24(日) 21:31:01 ]
意図してもいないのに90x60文字モードになってしまう。。。

269 名前:Be名無しさん mailto:sage [2005/07/24(日) 21:33:01 ]
おっと80x50文字モードだった・・・ orz

270 名前:Be名無しさん mailto:sage [2005/08/04(木) 11:29:30 ]
ここに触発されてDOSを書きはじめました。
(マルチタスクのフルOSは面倒くさいのでDOSです)
ようやくFAT12のMBRが書き終わり、カーネルを実装しようというところです。
素のDOSのように16ビットにするか、V86にして
カーネルを32ビットで書くかが悩ましいところ・・・




271 名前:Be名無しさん mailto:sage [2005/08/04(木) 14:55:47 ]
>270
その意気やよし!
それでは甚だ僭越ながらおれが名前をつけてやろう。

「OS/2ch」

でどうや。

272 名前:Be名無しさん mailto:sage [2005/08/05(金) 03:36:51 ]
マルチタスクもないのに OS/2 もどきとは如何に

273 名前:Be名無しさん mailto:sage [2005/08/05(金) 14:21:50 ]
2ch-DOSはどう?

274 名前:270 mailto:sage [2005/08/06(土) 18:11:37 ]
ドラクエの名前入力から先に進まない身としては、
OSの名称は悩ましいですね。
とりあえずコードネームはつけてありますが、
名前は後でかえるかもしれません。
作っているもの自体は公開していませんが、進捗は
以下においていきます。

ttp://hovweb.hp.infoseek.co.jp/

EMSとかの余計なAPIが増えそうな予感がしますが、
カーネルを32ビットにすればgccが使えそうということで、
とりあえずV86を調べています。


275 名前:Be名無しさん mailto:sage [2005/08/07(日) 12:31:31 ]
>>274
拝見しました。
ディスク読み書きにBIOS使ってるけど、ブート中だけだよね?
BIOS使わないDOSになる予定なんだよね?


276 名前:Be名無しさん mailto:sage [2005/08/07(日) 16:38:24 ]
BIOS使うに決まってるだろ

277 名前:270 ◆stwSgIY65Q mailto:sage [2005/08/07(日) 22:11:49 ]
>>275
今のところ、ディスクアクセス自体はv86に切り替えて
BIOSを呼び出すつもりです。
ファイルシステムドライバは32bitで書きます。


278 名前:Be名無しさん mailto:sage [2005/08/08(月) 10:07:49 ]
>>274
なんか勝手に270-DOSって呼ばれてるよw
pc8.2ch.net/test/read.cgi/os/1121690722/62

279 名前:270 ◆stwSgIY65Q mailto:sage [2005/08/12(金) 21:21:23 ]
>>278
270-DOSのほうがわかりやすいですねw

ディスクアクセスは、個人的にはBIOSを使うほうが
安全だとおもいます。
直接アクセスの場合、例えば
Serial ATA II以降のATA HDDでは
専用のアクセスコードを入れないと(つまりレガシATAコードでは)
動きませんが、BIOS経由であれば動くはずです。


280 名前:Be名無しさん mailto:sage [2005/08/12(金) 21:35:53 ]
>>279
NWSOSでもV86でBIOS経由アクセスですね。
ただ将来的なことを考えるとV86は微妙です。
ロングモードからV86は扱えないからです。
AireOSではリアルモードのエミュレートで
ロングモードからBIOSコールを考えているみたいです。



281 名前:270 ◆stwSgIY65Q mailto:sage [2005/08/12(金) 22:07:07 ]
>>280
AMD64でDOSやBIOSをエミュレートしたい場合は、CPU命令を
フルソフトエミュレートするか、レガシモードに一時的に
切り替えればできるとおもいます。
ただ今回の場合、V86が動かない環境だとDOSそのものの
存在意義がなくなりますので、あまり問題にならない気がします(^^;


282 名前:Be名無しさん mailto:sage [2005/08/12(金) 22:26:32 ]
>>280の「リアルモードのエミュレート」は
>>281の「CPU命令をフルソフトエミュレート」と同じことを言っているかと。

283 名前:Be名無しさん mailto:sage [2005/08/12(金) 22:58:24 ]
>>281
V86がなくてもプロセスもBIOSと同じエミュレートで動かせばいいのでは?
XP(64)では16bit環境が完全に切り捨てられたので、
MSですらやらないことを敢えてやるのはそれはそれで面白いかも。

284 名前:Be名無しさん mailto:sage [2005/08/13(土) 00:27:01 ]
せっかくOSを作ろうという香具師が出てきたのに
今から64bitうんぬんでハードル高くして
つぶすのはどうかとおもうのだが


285 名前:Be名無しさん mailto:sage [2005/08/13(土) 00:42:39 ]
>>284
こんなのは遅かれ早かれ言われることでしかない。
潰すと決め付けることこそどうかと思うのだが。

逆に、V86を避ける言い訳にロングモードを持ち出して、
ロングモード自体も時期尚早と片付けることで、
ハードルを下げようとした人も見たことあるよ。

286 名前:270 ◆stwSgIY65Q mailto:sage [2005/08/13(土) 08:51:35 ]
>>282
リアルモードに戻すのかとおもいましたが、
いわれてみればそうみたいですね。

>>283
説明不足でした。ソフトエミュレートのコードがあれば、
64bitのカーネルからでもv86同様のエミュレートは
あまり難しくないと思います。
そのときはBIOSもエミュレータで動かせばよいと思いますので、
独自のディスクアクセスコードは書かなくてよいと思います。

XP64がDOSサポートを打ち切ったことで、
将来的にCPUからv86が削除される可能性は考えられます。
そのときは、Long mode 上でのエミュレートに切り替えないといけないでしょうね。
それを視野に入れると、アセンブラコードやアドレスキャスト等はカーネルに
あまり混入させないほうが良いことになります。

270-DOSでは動かす対象が16bitのDOSということで、
v86がハード的にサポートされていればv86を使いたいところです。
32bitモードでも64GB(PxE)までの物理メモリアクセスが可能であることを考えると、
現状ではメモリ拡張で得られる利点よりも速度ペナルティのほうが大きいと思います。



287 名前:280 mailto:sage [2005/08/13(土) 10:43:21 ]
>>286
素晴らしい。頑張ってください。

288 名前:270 ◆stwSgIY65Q mailto:sage [2005/08/15(月) 07:17:01 ]
今までプロテクトモードに切り替えてv86でBIOSを
呼ぶ実験をしていました。
GP(0)の実装がいるために少し手間かかりますね。
ようやくv86の動作を確認できましたので、
32bitでのカーネル作りスタートです。


289 名前:Be名無しさん mailto:sage [2005/08/21(日) 17:51:41 ]
静かになったな


290 名前:Be名無しさん mailto:sage [2005/08/25(木) 22:00:02 ]
とりあえずサンプルを元にブートしてhelloworldまではできたどー
さてどうやってカーネルまで行こう…
遠いなぁ



291 名前:Be名無しさん mailto:sage [2005/08/25(木) 22:06:40 ]
夏の終わりにこの程度だと今年は何もないね。

292 名前:270 ◆stwSgIY65Q mailto:sage [2005/08/28(日) 23:09:18 ]
FATドライバのうちファイル読み込み部分を
クロス開発で書きました。
カーネルからファイルが読めるようにするには、
これとディスク読み込みとバッファ管理が必要でしょう。
地道な作業ですね。


293 名前:Be名無しさん mailto:sage [2005/08/28(日) 23:23:09 ]
270-DOS期待しております。

DR-DOSもEnhanced DR-DOS Projectが進んでおりDOSが再認識されている
のもありますが、DOSはやはりOSを勉強する上で一番まったりしていてよろしい
ですから

294 名前:Be名無しさん mailto:sage [2005/08/30(火) 00:48:29 ]
test

295 名前:Be名無しさん mailto:sage [2005/08/30(火) 00:59:52 ]
初歩的な事ですが教えてください。

現在、IPLからローダ(16Bit Code)を読み込みカーネルを読み込むコードを作成しています。
カーネルは640Mb未満に読み込むのが良いのか1Mb以上の領域に読み込んだ方が良いのか
悩んでいます。
将来的には仮想86モードをサポートしたいと思っていますがメモリーレイアウトか?です。
カーネルを作成する場合はカーネルを何処に読み込んだらシステムとして最適なのでしょうか?


296 名前:Be名無しさん mailto:sage [2005/08/30(火) 07:22:00 ]
>>295
悩むならとりあえずWindowsと同じにしておけば?

297 名前:Be名無しさん mailto:sage [2005/08/30(火) 10:36:51 ]
>>295
悩むなら下の方でいいんでないの?
全部読んでから正しい場所にまとめて転送すりゃいいんだし。
上の方はプロテクトモード経由になるからちとめんどいぞ。

で、最終的には100000hあたりに転がしておけばいいんではないかと。
カーネルが640Kを越えない自信があるなら、下の方にそのままでもいいと思うが。


298 名前:295 mailto:sage [2005/08/30(火) 23:50:53 ]
>>296
2G or 3G にカーネルを読み込むって事ですね。

>>297
確かに面倒なんですよね。
でも、コーディングが下手なんですぐ640KB超えそうです。

100000hあたりですか…、もう少し検討してみます。

皆さん有難う御座いました。m(_|_)m


299 名前:Be名無しさん mailto:sage [2005/09/01(木) 00:03:05 ]
リアルモードで1M以上のメモリに読み込むには
HIMEM.SYSが使っているINT 15h/AH=87hが使えるよ


300 名前:Be名無しさん mailto:sage [2005/09/01(木) 11:43:00 ]
>>299
それサイズの制限があるから、いまいち効率が悪いんだよなあ。

そういえば、segment limitいじってリアルモードから32bitアドレスを
扱うなんて技があったような記憶が。




301 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2005/09/01(木) 11:54:31 ]
これの事か
www.google.co.jp/search?hl=ja&c2coff=1&rls=GGLD%2CGGLD%3A2004-44%2CGGLD%3Aja&q=unreal+mode&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=

302 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2005/09/01(木) 11:58:00 ]
<昔話>
プロテクトモードの技術が未熟だった頃は良くお世話になってたよ・・・

ちなみにMEGOSのリアルモードで32bitアプリ云々ってのはコアになる技術が
このUnreal modeと某仮想マシンだったりするのよね(´・ω・`)
</昔話>

303 名前:Be名無しさん mailto:sage [2005/09/01(木) 21:04:51 ]
きんもぉーっ☆

304 名前:Be名無しさん mailto:sage [2005/09/02(金) 20:33:25 ]
Unreal modeってほぼ全命令にprefixつくから
仮想86の使い方さえ覚えてしまえば
あまり使う価値なさそうだね


305 名前:Be名無しさん mailto:sage [2005/09/03(土) 00:40:21 ]
prefixつけるunlong modeとかないの?

306 名前:Be名無しさん mailto:sage [2005/09/03(土) 16:44:35 ]
>>305
64ビットモードにはprefixで16ビットアドレス指定する方法はなかったはず


307 名前:306 mailto:sage [2005/09/03(土) 16:45:38 ]
org
16ビットモードにはprefixで64ビットアドレス指定する方法はなかったはず


308 名前:306 mailto:sage [2005/09/03(土) 16:46:55 ]
orz..
そういえば、最近話題のハードウェアエミュレータは
16ビットのエミュレーションついているのでしょうか?


309 名前:295 mailto:sage [2005/09/03(土) 23:47:17 ]
>>299>>301 のテクニックを使用しているような気がします。
unreal mode はセットアップでは使える技術の様なので研究してみます。

>>304
32Bitのプログラムが使えないって事ですか?
16Bit CODE から unreal mode に移行後、32Bit CODEで動く気がするんですが?

310 名前:Be名無しさん mailto:sage [2005/09/03(土) 23:56:59 ]
>>309

>>299はunreal modeではなくて普通にprotected modeに切り替えるもの
real に戻るのが面倒くさかった286時代につくられた
real -> protected -> メモリコピー -> realに戻る
を自動的にやってくれるBIOSコール
A20ラインも勝手にいじるはず
当然386以上でも動く

unreal modeの場合、普通はコード・スタックの
デフォルトモードは16bitにして必要なときだけprefixつける
デフォルト32bitにすることも可能なのかもしれんが、
少なくともその状態ではBIOSは呼べない





311 名前:309 mailto:sage [2005/09/04(日) 10:51:28 ]
>>310
分かりやすい説明で理解できました。

312 名前:270 ◆stwSgIY65Q mailto:sage [2005/09/05(月) 21:51:04 ]
v86経由でディスクアクセスができるようになりました。
次はバッファ管理です。地道・・


313 名前:Be名無しさん mailto:sage [2005/09/05(月) 23:01:41 ]
>>312
> v86経由でディスクアクセスができるようになりました。
Monaが避けて通っているところを真っ先に実装したのは興味深い。
だからどうだってことはまったくないのだけど。

314 名前:Be名無しさん mailto:sage [2005/09/06(火) 19:15:13 ]
270DOSで、MonoViewが動く夢を見たい

315 名前:Be名無しさん mailto:sage [2005/09/06(火) 23:32:02 ]
こんにちは、OSを作りたいと思っているものです。
大学で受験したTOEICの結果はすさまじい物でした。

Score 225

目を疑いました、この様子でPOSIXを読めるのか心配です。

316 名前:Be名無しさん mailto:sage [2005/09/06(火) 23:51:29 ]
MonoViewってWin用だとおもっていたのだがDOSで動くの?


317 名前:Be名無しさん mailto:sage [2005/09/09(金) 20:54:12 ]
>>315
電子辞書を1つ買ってしばらく自力で読んでいれば
英語なんてそのうち苦にならなくなる
まあ、最初は全くわからんかもしれんが


318 名前:270 ◆stwSgIY65Q mailto:sage [2005/09/10(土) 16:59:59 ]
ようやく.COMや.EXEが読み込めるようになりました。
以下はbochsでFreeDOS付属のCOMMAND.COM(EXE型実行ファイル)を
起動(COMMAND.COM /P)したときのスクリーンショットです。

ttp://nur.ath.cx/no0/pb/src/1126338408526.jpg

一応コマンドラインで入力できるところまではいきました。
まだFATへの書き込みが未実装だったり、
多数の未実装システムコールがあったりしますが、
多少はDOSに近づいてきた感じがします。

スクリーンショット中、時刻がおかしいのはダミーで0を返しているためです。
kernel panicを起こしているINT 21h/AX=6900hは
ボリュームラベル取得のシステムコールです。


319 名前:270 ◆stwSgIY65Q mailto:sage [2005/09/10(土) 17:02:52 ]
>>313
対象がDOSで協調を考えなくて良いため、
v86への切り替えはおもったほど大変ではないです。
INTやHLT、IN/OUT系の命令をエミュレートして、
プロテクトモードの割り込みのうち必要なものを
リアルモードに返すようにすれば動くとおもいます。


320 名前:名無しさん@そうだ選挙に行こう mailto:sage [2005/09/11(日) 12:53:07 ]
>>318
うおー、すげーーーーーー!!!
COMMAND.COMがEXE型ってのがよく分からないんだけど、
COMMAND.COMは0100hから展開する生バイナリじゃないってこと?



321 名前:名無しさん@そうだ選挙に行こう mailto:sage [2005/09/11(日) 15:33:21 ]
>>318
未実装のシステムコールならエラーで戻ってもいいんでないかい。

>>320
64K越えたのでEXE形式にしたんでないかと。


322 名前:270 ◆stwSgIY65Q mailto:sage [2005/09/12(月) 21:39:23 ]
>>320
FreeDOS用のcommand.comの中身は普通の.EXEのようです。
リロケーションまで実装しないと起動しませんでした。
オリジナルDOSのものはおそらく.COMなのだとおもいます。

>>321
確かにエラーで戻ればよいとおもいます。
ほとんどのDOSコールはAX=1、cflag=1として戻れば
問題は起こりません。(期待通りに動くかどうかは別として)
リリースする場合はそうなるでしょう。
現状では故意にkernel panicにしています。
kernel panicにすれば実装後まで動かないため、
実装のモチベーションが上がりますw


323 名前:Be名無しさん mailto:sage [2005/09/13(火) 11:35:34 ]
>>322
昔は本当に.com形式ですた。

時代の流れとともに機能が追加されて肥大化した結果、
64Kの壁に突き当たってしまったので、EXEにして逃げたてな所でしょう。
#そういえばマルチセグメントCOM形式なんてのもあったような…

名前がCOMMAND.COMなのは互換性のためでせう。

などと昔話をしてみる。


324 名前:270 ◆stwSgIY65Q mailto:sage [2005/09/18(日) 23:55:11 ]
今まで主にbochsで開発していたのですが、
実機で起動してみました。
ちゃんと起動して、コマンドプロンプトも出ました。
それは良いのですが、手抜きでセクタごとにINTを発行する
コードのせいでFDD読み込みが遅い問題が明らかに・・・
ディスクアクセスのチューニングが必要なようです。

>>323
FreeDOSの機能満載COMMAND.COMだからEXE型なのかと
おもっていました。
MS純正のCOMMAND.COMもEXEなのでしょうか。


325 名前: ◆GXX0p3qNcg mailto:sage [2005/09/19(月) 00:01:54 ]
DOS6までは純粋なCOM
DOS7以降はEXEだった気がするお

326 名前:270 ◆stwSgIY65Q mailto:sage [2005/09/19(月) 22:12:13 ]
純正DOSもEXE型なのですね。
まあ、COMMAND.COMの中身がEXE型でも
困るアプリはおそらくないのでしょう。

各種拡張メモリの仕様を読んでみました。
XMS -> 実装は比較的簡単そう
EMS/UMB -> paging 実装すれば何とかなりそう
DPMI -> かなり大変そう、シングルタスクのフルカーネル書くのとあまり変わらない?
VCPI -> まあDPMIがあれば不要でしょう。カーネルが32bitだと実装は無理?

いずれにしても、膨大なプロテクトメモリを
どうやって管理するのが効率的かが課題なのでしょう。
リアルモード部分が完成したら、これを考えるところからですね。


327 名前:Be名無しさん mailto:sage [2005/09/19(月) 22:48:41 ]
Linux上で動く仮想OSの開発とかってここではスレ違い?


328 名前: ◆GXX0p3qNcg mailto:sage [2005/09/19(月) 23:22:18 ]
EMM386とかはpagingで実装してるね

VCPI/DMPIはいろいろと微妙やねぇ
WINのDPMIホストはたしかサブセットだった気がする

329 名前:Be名無しさん mailto:sage [2005/09/19(月) 23:45:42 ]
>>326
DPMIすか。
まあ実際にハード叩く部分はDOSが下請けになるので、多少楽だと思いますが。

>>328
サブセットつーか、Ver0.9準拠だったような。
何が違うのかは忘れた。


330 名前: ◆GXX0p3qNcg mailto:sage [2005/09/19(月) 23:57:05 ]
バージョンが違うんだったっけ
DOS起動中にEMM386とかのDPMIを使ってる常駐プログラムが
WINが起動するとDPMIのサポート範囲が変わって誤動作する事があるとかないとか
そんな話を聞いた事があるですよ



331 名前: ◆GXX0p3qNcg mailto:sage [2005/09/19(月) 23:58:41 ]
DPMIじゃなくてXMSの方だったかな・・・記憶が曖昧でつ(;´・ω・`)

332 名前:Be名無しさん mailto:sage [2005/09/20(火) 22:24:10 ]
リアルモードでPOSIXに互換 or 近いようなOSって作れますか?

333 名前:Be名無しさん mailto:sage [2005/09/21(水) 00:38:25 ]
>>332
elksとか。



334 名前:270 ◆stwSgIY65Q mailto:sage [2005/09/24(土) 18:55:11 ]
DOS部分も全然完成していないのに
DPMIの実装を少しずつやっています。
メモリ管理はなんとかなるとしても、LDTの管理が面倒・・・

>>328
DPMI1.0の追加機能は2種類の例外処理、FPUエミュの
制御など、ないと困りそうなAPIが結構あります。
1.0は0.9の上位互換ですが、もしWinの起動などでDPMIが
1.0から0.9に落ちた場合、互換問題が出そうです。

>>329
ハード叩くコードを書く必要はありませんが、LDTを
フル活用する必要がありますね。
カーネルがプロテクトモードなのに、フック対策として
INT 21hは一度仮想86に戻さないといけないようです。
無駄の多いAPI群だなあ・・・



335 名前:270 ◆stwSgIY65Q mailto:sage [2005/09/24(土) 21:44:33 ]
unsigned mem=dpmi_alloc_pmem(1024 * 1024);
int sel=dpmi_alloc_selector();
dpmi_set_selector_base(pldt,mem); // ベースは1M以上になる
dpmi_set_selector_limit(pldt,1024 * 1024);
mov ax,sel
mov ds,ax
mov es,ax
.(略)

こんなセレクタがDPMIのAPIに渡されるわけですね。
base が 0 以外で大変・・


336 名前:Be名無しさん mailto:sage [2005/09/28(水) 22:33:21 ]
MEG-OS復活?


337 名前:Be名無しさん [2005/09/30(金) 21:07:02 ]
これからOSを作ろうとしてて、それ用のPCを新調したいんですけど
余計な機能を満載したノートで開発はじめるとやっぱり大変なんでしょうか?
因に、VAIOのType Sが欲しいなぁと思ってるんですが

338 名前:Be名無しさん mailto:sage [2005/09/30(金) 23:42:03 ]
>>337
基本的に自作OSを動かすのは古いPCのほうが良いよ
新しいPCだとレガシATAポートでHDDにアクセスが
できなかったりして大変


339 名前:Be名無しさん mailto:sage [2005/09/30(金) 23:45:17 ]
ただし>>279のようにBIOSを使うなら問題なし
ディスクとビデオはBIOSでアクセスすれば
どの機種でやっても同じ結果になる
サウンドやネットワークはたぶんBIOSが提供されないので
ドライバを準備しないと使えない


340 名前:Be名無しさん mailto:sage [2005/09/30(金) 23:47:12 ]
             い つ だ っ て
    ?/⌒ヽ?????                 ?/⌒ヽ????
    ( ^ω^)??? 秘技!糞スレの構え   ( ^ω^)???
   /  ? \ ???            ?   /  ? \ 
 ?⊂? )? ?ノ\つ?              ?⊂? )? ?ノ\つ? 
    (_⌒ヽ     ビシィィィィィィィイ  ?   (_⌒ヽ  
     ヽ ヘ } ???                 ヽ ヘ } ?
   ?  ノノ?`J ???               ?  ノノ?`J 





341 名前:Be名無しさん mailto:sage [2005/09/30(金) 23:50:28 ]
とりあえずOS開発の初期段階はエミュでやれ。
これなら実機が何であろうと関係ない。
ま、エミュと言っても癖はあるがな。
QEMUをベースに、Bochs、VMWare、VPCのすべてで動けば、
当たり障りのない互換機では動くと考えて差し支えない。

342 名前:337 mailto:sage [2005/10/01(土) 00:31:15 ]
>>338,339,341
参考になりました。一応、ノート買っても大丈夫って事っすね。
最終ターゲット環境に近いスペックでしかも持ち運べる環境が欲しい、けど、
認識出来ないパーツがいっぱい付いてると不味いのかなぁ、デスクじゃないと不味いのかなと不安だったんです
ホントにありがとうございました。

343 名前:Be名無しさん mailto:sage [2005/10/01(土) 09:19:00 ]
>>341
qemuは一部のチェックをしないため癖をしらない場合は注意が必要
遅くてもbochsのほうが安全

例えば、qemuはセグメントのリミットをチェックしない
Thread local workをfsやgsに使うとか考えると
使い方によっては他のエミュをベースにしたほうが良い


344 名前:270 ◆stwSgIY65Q mailto:sage [2005/10/02(日) 23:09:28 ]
DPMIを一時中断してFATドライバの実装をすすめ、
ようやくファイルへの書き込めるようになりました。
これで一応、ファイルのコピーができます。
FDDベースのDOSとしてはだいぶ実用レベルに近づいてきたようです。
まだ削除やリネームはできませんが。

次はどのメディアをサポートすべきか・・・やはりHDD?


345 名前:Be名無しさん mailto:sage [2005/10/03(月) 02:58:05 ]
MonoViewって何?

346 名前:Be名無しさん mailto:sage [2005/10/03(月) 07:53:58 ]
馬鹿野郎、バグだらけ、使ったとしてせいぜい音楽鑑賞だけ、
APIも混沌としたWindowsに一万も払えるか。
Linux、暇がないのにディストリビューションごとに対応したソフトウェア
を構築しなければならず、それに対応するため細かい作業を必要とする。
ふざけるな、統合し、整備され、開発のしやすい、エンドユーザーに優しい
オペレーティングシステムが必要だ。Cはもう知っている。
「アセンブリ言語の教科書」を購入した。













今、.............................俺は新たな第一歩を踏み出した。

347 名前:Be名無しさん mailto:sage [2005/10/04(火) 00:24:57 ]
>>346
ネタだとおもうががんばれ

348 名前:Be名無しさん mailto:hage [2005/10/05(水) 11:28:36 ]
システムコールを作りたいのですが
syscall、sysentryを使いたいのですが
AMDかINTELによって処理を変えたりとか
何かしないと駄目ですか?

349 名前: ◆GXX0p3qNcg mailto:sage [2005/10/05(水) 11:47:51 ]
i386ならsysenter一本にした方が楽
AMD64なら逆にsyscall一本の方が楽
AMDかIntelで分けるのはあまりお勧めしない

350 名前:Be名無しさん [2005/10/08(土) 17:04:12 ]
私も>>346の書籍を購入したのですが、今、Linuxしか入っていないので
はじめのdebugコマンドによるサンプルが打てないのですがどうにかして
Linux上でNASMを使っていきたいです。
どう読みかえていったらいいでしょうか?



351 名前:Be名無しさん [2005/10/09(日) 22:01:51 ]
プリエンムティブなマルチタスクOSを作ろうと思ったけど
なんだかなー API(システムコール)で呼ぶ形のアプリなら
結局はAPI次第で窓やリナちゃんでプログラムと変わらない
やはり、PGの学力が低下したといわれるこのご時世だからこそ
ローレベルなファンクションコールが実装された最速なDOS
これが漏れらハカーー予備軍は求めている





今、新しい一歩を踏み出した・・・・
と思うのですが、64bit(最低でも32bit)で高速なDOSって
興味ありませんか???

352 名前:Be名無しさん mailto:sage [2005/10/09(日) 22:57:40 ]
ない。
プリエンムティブってなんだよ。プリエンプ恥部だろ

353 名前:Be名無しさん mailto:sage [2005/10/10(月) 02:01:54 ]
高速DOSが楽しいかは別として、癖の強いOSは欲しいな。
POSIX準拠のシステムコールとか、レガシーなランタイムとか
見慣れたシェルはLinuxで飽きたな。アプリ移植する気にもならんよ。
面白いOSを誰かつくってくれ。面白ければアプリぐらいなら作るぞ


354 名前:Be名無しさん mailto:sage [2005/10/10(月) 06:11:55 ]
超漢字につくってくれよ

355 名前:Be名無しさん mailto:sage [2005/10/10(月) 13:24:42 ]
超漢字ってBTRONなんでしょ?
って聞いて萎えた

356 名前:Be名無しさん [2005/10/10(月) 16:24:36 ]
>>355
萎える気持ちはなんとなくわかるが。どのあたりで萎えるの?
一応聞いとく。

357 名前:Be名無しさん [2005/10/10(月) 19:17:44 ]
WINもPOSIXもTRONももう飽きた
Brain*uckしてくれる奇抜なOSを触りたい

358 名前:Be名無しさん mailto:sage [2005/10/10(月) 20:51:35 ]
>>357
その前にfu*kさせてくれる綺麗なおねーさんを触れよ

359 名前:270 ◆stwSgIY65Q mailto:sage [2005/10/10(月) 22:14:28 ]
削除・ディレクトリ内リネーム実装完了。
フロッピーベースのDOSとしてなら一応動くレベルになりました。

今まで^C処理やエラー処理を無視していたのですが、
DOSのエラー処理は結構複雑ですね。
プロテクトモードから呼び出すのが面倒な仕様・・・


360 名前:Be名無しさん mailto:sage [2005/10/10(月) 22:18:53 ]
>>359
すごいな。Monaを超えたね。



361 名前:295 mailto:sage [2005/10/14(金) 22:52:09 ]
270 さんすごい

>>349
私はAMDかIntelで分けるつもりでいたんですが
あまりお勧めしない理由を教えてください。


362 名前:Be名無しさん mailto:sage [2005/10/14(金) 23:12:10 ]
>>361
理由は書いてあるじゃん
>i386ならsysenter一本にした方が楽
>AMD64なら逆にsyscall一本の方が楽

逆に貴女が分けようとした理由を教えてちょ♥

363 名前:270 ◆stwSgIY65Q mailto:sage [2005/10/16(日) 20:19:50 ]
>>360
Monaはファイル操作APIがあまり整備されていないのでしょうか。
DOSの欠点はシングルタスクなところですね。

DOSコールはだいぶ実装できてきました。
試しに MJL/Lite で JPEG を表示してみたら動きました。
しかし、FreeDOSのCOMMAND.COMを動かしていると
バグなのか互換性問題なのか、フリーズしてしまいます。
COMMAND.COMが動かないと事実上つかえませんが、
難易度高そうです。
自分で実装するのとどちらが良いかな・・


364 名前:Be名無しさん mailto:sage [2005/10/16(日) 20:41:40 ]
>>363
Monaは飽きたら放置で次のことの繰り返しだからすべてにおいて中途半端

365 名前: ◆GXX0p3qNcg mailto:sage [2005/10/16(日) 20:56:39 ]
シェルぐらいゎ自前で実装しませう
シェルゎOSの顔ですよ(´・ω・`)

366 名前:Be名無しさん mailto:sage [2005/10/16(日) 21:46:07 ]
シェルといえばDOSシェルなんてのがあったな
使った覚えがないがw


367 名前:Be名無しさん mailto:sage [2005/10/16(日) 21:49:15 ]
>>365
互換性テストとしては意味があるのでは

>>366
そこでFDですよ
先日作者が他界しておられたことが判明しましたが・・・

368 名前:295 mailto:sage [2005/10/16(日) 23:05:19 ]
>>362
それぞれのCPUで最適化が行われていると言われているからです。

>>349
では「が楽 」と言われているので逆の「がメンドイ」及び
あまりお勧めしない理由をの部分を
お聴きしたかった訳ですが

369 名前:Be名無しさん mailto:sage [2005/10/17(月) 10:55:04 ]
>>363
FreeDOSならソースあるんだし、追いかけてみればいいんでは。
本物はメモリをけちるためにヘンな構造になっていたような気がするが、
FreeDOSのはそんな事無いのかな。

>>368
そういう枝葉な部分はモノが出来てから考えた方がいいような気がするんですが。
とりあえず呼ぶ側の手間も考えてくれ。


370 名前:295 mailto:sage [2005/10/17(月) 20:54:50 ]
>>369
今は設計段階で色々考えている最中で
あれこれ考え過ぎになってるようです。

取りあえず雛形を作ってみます。



371 名前:270 ◆stwSgIY65Q mailto:sage [2005/10/18(火) 22:48:52 ]
>>365
そうですね。。
カーネルが終わったら作るかもしれません。

>>369
クロスデバッガのようなものが手元にないため、
COMMAND.COMクラスの規模になると、
例えソースがあったとしても追いかけるのはきびしいとおもいます。
最終的には、追いかけることになるのかもしれませんが。。

フリーのデバッガのEXDEBが動くレベルまでは互換性が向上しましたので、
フルアセンブラで書いた単純なソースならこれでデバッグできます。
テスト用のプログラムを書いてデバッグするのが良いか、
追うしかないのか。。


372 名前:Be名無しさん mailto:sage [2005/10/19(水) 00:33:48 ]
>>371
初期化で止まるんであればprintfバラまいておけばいいんでないかい?
安易にデバッガに頼るとウソ情報にだまされることもあるぞ。


373 名前:270 ◆stwSgIY65Q mailto:sage [2005/10/23(日) 23:14:27 ]
考えた結果、シェルも自前で実装してみることにしました。
かなり時間がかかりそうです。

>>372
プロンプトは出ます。
入力したコマンドとディレクトリによって止まります。
printfをばらまく方法はおそらくあるとはおもいますが、
そもそも 16bit コンパイラの TC++ がWinで
動かないのが痛いです。

半分くらいのシステムコールを順に呼び出すテストプログラムを書いて
デバッグを行ったところ、動作するプログラムは増えたみたいです。
FreeDOSのCOMMAND.COMは相変わらずだめですが。。


374 名前:Be名無しさん mailto:sage [2005/10/24(月) 12:36:38 ]
>>373
TC4ならDOS窓で使った記憶があるが。
あれは配ってないのかな?


375 名前:Be名無しさん [2005/10/28(金) 22:26:39 ]


【拷問ビデオ】恋人がAVに出演してた【許すな!これはAVじゃない】
ex10.2ch.net/test/read.cgi/news4vip/1130499649/



376 名前:270 ◆stwSgIY65Q mailto:sage [2005/10/30(日) 16:10:34 ]
>>374
TC2とTC++1はおいてありましたが、
それ以外もあるのかはわかりません。

シェル書いています。今さらフルアセンブラで。
コマンドライン入力、EXEやCOMの実行をつけました。
つぎはCDなどの内部コマンド処理を書きたいところです。


377 名前:270 ◆stwSgIY65Q mailto:sage [2005/11/06(日) 22:08:49 ]
シェルを書いていたら、truenameシステムコールに
致命的なバグが見つかりました。
これを修正したらFreeDOSのCOMMAND.COMも
ハングしなくなったようです。

今までフロッピーの入れ替え検出について
何も考えていなかったのですが、おもったより大変そうですね。
attention 割り込みが使えるのか、BIOSでpollingしかないのか。。
他の和製OSの検出方法も気になります。


378 名前:Be名無しさん mailto:sage [2005/11/07(月) 17:42:46 ]
その辺の和製OSはそんな真っ当な処理してないと思う

379 名前:Be名無しさん mailto:sage [2005/11/07(月) 20:49:54 ]
そもそも、PC/ATにはディスク交換をハード的に検出する機構が
無かったような気がするのう。

DOSは一定時間でバッファをフラッシュする仕掛けになってたような。

昔話すぎて詳細が思い出せん。


380 名前:Be名無しさん mailto:sage [2005/11/07(月) 21:15:33 ]
その辺のことKがぼやいてた筈
雑菌あたりが知ってるかな?



381 名前: ◆YLWgTxgTPw mailto:sage [2005/11/07(月) 22:26:28 ]
>>380
現在のOSASKに関しては、ディスク交換はInsertキーで手動検出。
変更の適用もDeleteキーで手動。

DOSについてはよく知らないのでパス。

382 名前:Be名無しさん [2005/11/08(火) 19:02:55 ]
OSを作る為に、新しく開発環境を買おうと思ってるんだけど
OS作ってる人達って、実際どんな環境(OSと開発環境ソフト)で開発してるの?
あと、お薦めの構成とかありましたら教えて下さい。

383 名前:Be名無しさん mailto:sage [2005/11/08(火) 19:29:27 ]
>>382
漏れは、Cygwin + GCC(i386-elf) + EclipseCDT + Bochs を利用している。
他の人はどうなんだろう。。。

まぁ、コンパイラにGCCというのは確定だろうけどね。

384 名前:Be名無しさん [2005/11/08(火) 19:41:54 ]
俺は、vi + gcc(i386-elf) + gmake + nasm + qemu

ところでMacOS X用のBochsって知らない?

385 名前:Be名無しさん mailto:sage [2005/11/08(火) 20:05:24 ]
>>383-384
toppersとかの人?

386 名前:Be名無しさん mailto:sage [2005/11/08(火) 20:08:40 ]
>>385
それはITRON七誌

387 名前:383 mailto:sage [2005/11/08(火) 20:14:22 ]
>>385
Toppersとか組み込み系とは無縁の人です。
ちょっと作成してみては、作り直しで全然機能が増えないorz

388 名前:384 [2005/11/08(火) 20:21:25 ]
>>385
俺も無関係

389 名前:382 mailto:sage [2005/11/08(火) 21:16:45 ]
>>383,384
コンパイラはgccで確定っすか
gccは何となく面倒臭そうだから避けたかったんですが、
やはりボーランドとかビジュアルスタジオとかよりもOS開発には向いてたりするんでしょうか?

何にしてもお二人のような構成だと普通にWindowsXPで使えるのと無料で手に入れられそうなのは魅力っすね

390 名前:Be名無しさん mailto:sage [2005/11/08(火) 21:24:22 ]
>>389
横槍入れるようだけど。
Borlandは使ったことがないけど、VCなら「ある程度までなら」組める。
# VC(というかcl.exe)はC++を使うときにややこしい。
# ちなみにDigital Marsのコンパイラを使ってみたが無理だった
ただしCygwinのbinutilsを使わないといけない時点でgccの方が楽な気がします。



391 名前:382 [2005/11/08(火) 22:10:18 ]
>>390
VisualStdioは「ある程度まで」すか、
むしろgccの方が楽と...
コマンドとか覚えるの面倒そうだけどgcc以外を使ってる人もいなさそうだし、敬遠してもいらんないのね

やはり、最新のツールはファジー過ぎてOSのような機械に近いプログラムには向いてないんでしょうかね

392 名前:Be名無しさん mailto:sage [2005/11/08(火) 22:15:31 ]
>>391
CooSはVS.NETだよ

393 名前:Be名無しさん mailto:sage [2005/11/08(火) 22:19:29 ]
VSとか使うと金かかるからみんなに気軽にビルドしてもらえなくなるだろうが。

394 名前:Be名無しさん mailto:sage [2005/11/08(火) 22:35:54 ]
>>393
もうすぐVS.NET2005Express日本語版の無償ダウソが始まるお
ttp://itpro.nikkeibp.co.jp/article/NEWS/20051108/224154/

395 名前:Be名無しさん mailto:sage [2005/11/08(火) 23:06:19 ]
>>391
OSのような一切用意された環境がない状態で動かすものは、
どうしてもリンク処理や生成するバイナリが特殊なものとなってしまう。
GCCのようなごく一部のコンパイラを除いては、
これらの問題に対するサポートがないため自力で乗り越える必要がある。

>>394
VS2005Express無料化か。Windows使いには朗報だな。

396 名前:Be名無しさん [2005/11/08(火) 23:14:20 ]
やっべこの人ww
mixi.jp/show_friend.pl?id=550892

397 名前:Be名無しさん mailto:sage [2005/11/09(水) 06:21:02 ]
>>382
デバッグにはVC使ったほうが楽
ソースの書き方を工夫すればファイルアクセスなどは
VCでデバッグできる


398 名前:Be名無しさん mailto:sage [2005/11/09(水) 11:57:25 ]
>>395
PEロダ書けばいいんだけどね

399 名前:Be名無しさん mailto:sage [2005/11/09(水) 23:18:00 ]
>>398
GRUBにPEファイルサポートを追加する勇者が現れると神なんだけど。

400 名前:Be名無しさん mailto:sage [2005/11/10(木) 00:38:42 ]
>>389
>>383,384 さん達がGPLが嫌いなら標準ライブラリーは自作されてると思います。

俺はGPLが嫌いだから
MSYS + MinGW(pei-i386) + nasm + qemu です。

>>397
どんな風に工夫すればVCでデバックが出来るか教えてください



401 名前:Be名無しさん mailto:sage [2005/11/10(木) 01:04:14 ]
>>400
>俺はGPLが嫌いだから
>MSYS + MinGW(pei-i386) + nasm + qemu です。

・‥…ネタ?

402 名前:Be名無しさん mailto:sage [2005/11/10(木) 01:42:55 ]
>>401
本気

何処がねた?

403 名前:Be名無しさん mailto:sage [2005/11/10(木) 02:22:27 ]
>>402

MSYS + MinGW(pei-i386) + nasm + qemu

それ全部GPLじゃないの〜?

404 名前:Be名無しさん [2005/11/10(木) 09:53:29 ]
>>400
馬鹿はけーん

405 名前:382 [2005/11/10(木) 20:32:08 ]
みなさんの意見を参考にMinGWとNASMとBochsで環境を構築しようと
....悪戦苦闘中(リンク切ればっかりで日本語情報少ない)

時に、383さん384さん400さん、お三方ともCygwinとかviとかMSYS とか使ってらっしゃるみたいですが、
何故ですの?エディタとしてすか?それともgccだけでなく他のGNUツールも必須って事すか?

406 名前:Be名無しさん [2005/11/10(木) 21:36:05 ]
viはエディタ
あとbinutilsもいるね

407 名前:Be名無しさん mailto:sage [2005/11/10(木) 22:56:49 ]
すみません
言葉か足りなっかた見たいです

追加前:俺はGPLが嫌いだから

追加後:俺は(成果物が勝手に)GPL(になるの)が嫌いだから

これでも、俺はばーか?

MSYS + MinGW(pei-i386) + nasm + qemu
これらは勿論 GPL で配布されてます。


408 名前:Be名無しさん mailto:sage [2005/11/11(金) 02:20:47 ]
gccでコンパイルしたものが、すべてGPLになるわけではありませんよ?

409 名前:Be名無しさん mailto:sage [2005/11/11(金) 17:16:59 ]
www.gnu.org/licenses/gpl-faq.ja.html#CanIUseGPLToolsForNF
より

フリーではないプログラムを開発するために、GNU EmacsのようなGPLで保護されたエディタを使っても良いでしょうか? GCCのようなGPLで保護されたツールを使ってフリーではないプログラムをコンパイルすることはできますか?

はい、なぜならばエディタやツールの著作権はあなたが書くコードは保護しないからです。法的には、あなたがどんなツールを使っても、あなたがご自分のコードに適用するライセンスに関しては何の制限も課されません。


410 名前:Be名無しさん mailto:sage [2005/11/11(金) 22:22:28 ]
GPL嫌いには二種類あるね。

1. GPL自体が嫌いなので関わらないようにする人
2. 自分の成果物がGPLになることが嫌な人

実際1の人も多いので、
> 俺はGPLが嫌いだから
とだけ書かれたら1と思われても仕方ない。



411 名前:Be名無しさん mailto:sage [2005/11/11(金) 23:23:46 ]
横入りだけど、具体的にはどういう場合にGPLが適用されるの?

412 名前:Be名無しさん mailto:sage [2005/11/11(金) 23:40:01 ]
・自分で選んだ場合
・そのへんからGPLなコードをぱくってきた場合


413 名前:Be名無しさん mailto:sage [2005/11/11(金) 23:56:05 ]
・GPLのライブラリをリンクした場合
・perlなどスクリプトでGPLのライブラリ関数を呼んだ場合


414 名前:Be名無しさん mailto:sage [2005/11/12(土) 00:00:15 ]
GPLの影響を受けないのは
・GPLのツールで作ったデータ
・GPLのツールで機械的に変換されたコードやデータ
ライセンスに注意が必要(もしGPLならGPLになってしまう)なのは
・GPLのツールによって単にコピーされたコードやデータ
具体的にはBISONやAUTOMAKE、AUTOCONFなどのツールで
単にコピーされたコードなど。多くはGPLにならない特例があるが、
あくまでも特例であり個別の確認が必要。


415 名前:Be名無しさん mailto:sage [2005/11/12(土) 00:08:24 ]
>>409
改めて読むとやっぱり難しいです・・・
やっぱり、ばーかだな OTZ
勉強しなおします

>>408-414
具体例ありがと

416 名前:Be名無しさん [2005/11/12(土) 01:32:46 ]
ところでVxWorks でプロセスの状態にPend(待機) とDelay(休止) がありますけど
具体的にどうちがうんですか?

417 名前:Be名無しさん mailto:sage [2005/11/12(土) 21:37:36 ]
よく知らんが一般的な実行可能状態と待ち状態のことかな?
実行可能状態はいつでも実行できるが、CPUには別のプロセスが割り当てられている状態。
待ち状態は入出力中だから、それが完了するのを待っている状態だが。

まぁ的外れかも試練が


418 名前:OS& ◆WRre/7Sh7Q [2005/11/12(土) 23:04:33 ]
ちょっと質問させてください。
IRQ0をポート0x60に設定し、IRQ1のキーボード割り込みハンドラを0x61にしていて、
キーボード割り込みを捕まえようとしています。
文字は取得できているのですが、何故か割り込みハンドラが2回連続で呼ばれます。
どなかたわかるかたいらっしゃいますか?

419 名前:Be名無しさん mailto:sage [2005/11/12(土) 23:07:07 ]
key down / key up が取れてるんじゃない?
後、文字じゃなくて、キーの番号が取れてるんでないかね。

420 名前:Be名無しさん [2005/11/12(土) 23:08:52 ]
>>418
ちょうど俺もそこでひっかかってるんだけどw
偶然すぎ・・・



421 名前:OS& ◆WRre/7Sh7Q [2005/11/12(土) 23:32:37 ]
>419
ありがとうございます。
key upとkey downで2回割り込みハンドラが呼ばれるってことなんですね。
これって、どっちかだけとればいいってことなのですか?
それとも、別の処理をさせたいから、2回割り込まれてるんですか?
(例えばどういう用途があるんですかね?)

勉強不足ですいません。このあたりが詳しくのってるページなどがあれば
教えてください。

>>418
一緒にがんばりましょう。

422 名前:Be名無しさん mailto:sage [2005/11/12(土) 23:36:43 ]
>>421
例:[→]を押しながら[↑]を押すとか判定(ゲームで斜め移動)

423 名前:Be名無しさん mailto:sage [2005/11/12(土) 23:55:46 ]
>>421
> このあたりが詳しくのってるページなどがあれば教えてください。
貴女が質問カキコしているOS-Wikiに載っているわけですが。
ttp://community.osdev.info/index.php?%28AT%29keyboard
(メイク・ブレイク)

424 名前:OS勉強中 [2005/11/13(日) 00:00:52 ]
>> 423
おー、ありがとうございます。
(質問しまくってるお恥ずかしいところを見られてしまいました。。。)

425 名前:Be名無しさん mailto:sage [2005/11/13(日) 13:33:11 ]
ここでOS作ってるみなさんは言語はC++/Cとアセンブラですか?

426 名前:270 ◆stwSgIY65Q mailto:sage [2005/11/13(日) 22:03:31 ]
急にスレが活発になっていますね。

>>379
pollingポートやBIOSコールは存在します。
ただ、調べた限りメディアを交換しても割り込みは
かからないようです。
DOSはおそらく BIOS で検出してます。
BIOS が検出能力を持たない場合は、2 〜 3秒で
フラッシュしているみたいです。

>>382
mingw/cygin 上で gcc、binutils、nasm を使っています。
テストコード生成には perl を使っています。
エミュレータは bochs です。

メディア交換検出は後回しにして、とりあえず
未実装のCONFIG.SYS を調べています。
デバドラのINITを呼ぶ程度であればすぐ作れそうですが、
謎な部分も多いです。


427 名前:Be名無しさん mailto:sage [2005/11/14(月) 14:40:37 ]
>>426
だから、ドライブが対応していないので、FDCのステータス見ても
嘘情報なのですよ。

そういやPC9801はその辺ちゃんと作ってあったんだよなあ…


428 名前:270 ◆stwSgIY65Q mailto:sage [2005/11/15(火) 00:50:13 ]
>>427
レスありがとうございます。

調べた範囲では、BIOS 経由の場合、
INT 13h/AH=15h と INT 13h/AH=16h のダブルチェックで
polling判定できることになっています。
INTERRUPTリストによると、IBMやMSのDOSもこれを
使っているようですので、期待していたのですが、
この判定は疑わしいのでしょうか?

この BIOS 機能は OADG (DOS/V編)にも記載がありましたので、
未確認ですが100% IBM-compatibleであれば動作すると期待していました。

最も、ここらへんのBIOSの実装はいい加減で互換性が低そうなので
(INTERRUPTリストのBUGSにたくさん記述があります)、
例え動いたとしても相応の対策は要りそうです。

NEC 98系のattention割り込みは楽でよいですね。


429 名前:Be名無しさん mailto:sage [2005/11/15(火) 01:45:52 ]
Macやプレステ2で動くOS作る猛者は、いないのかな。

430 名前:Be名無しさん [2005/11/15(火) 09:49:21 ]
>>429
Macは持ってるけどハードのことよく知らない・・・orz



431 名前:Be名無しさん mailto:sage [2005/11/15(火) 11:51:41 ]
プレステのOSをパソコンに移植したいな。

432 名前:Be名無しさん mailto:sage [2005/11/15(火) 23:54:58 ]
みなさん、今どの辺りを勉強、開発又は考案してるんですか?

433 名前:Be名無しさん [2005/11/16(水) 13:54:05 ]
俺のはTCP通信も一応いけてるんだが.
メモリ周りやらんといかんのだが
(´・ω・`)テラメンドクサス

434 名前:Be名無しさん mailto:sage [2005/11/16(水) 14:34:10 ]
TCP通信ってすごいですね・・
もれは、まだDMAコントローラについて勉強中です
まだまだ・・orz

435 名前:Be名無しさん [2005/11/17(木) 11:27:31 ]
よし.過疎だし俺OS作るよ.
マンドクサガリだから進捗は遅々としたものになるけどね.
言語はCかC++で.性能や新しさじゃなくて
OS勉強したい人が使えるようなものを目指そうかな.

このスレ使ってもいいかしらん?

436 名前:Be名無しさん mailto:sage [2005/11/17(木) 11:41:52 ]
ある程度成長するまではこのスレ使った方がいいと思われ

437 名前:Be名無しさん [2005/11/17(木) 13:33:57 ]
じゃあ遠慮なく使わせてもらいます


438 名前:Be名無しさん mailto:sage [2005/11/17(木) 15:44:43 ]
idtrでつまずいてます。定義した後どうすればいいのやら・・・
monaをちまちま解析するしかないでしょうか。

439 名前:Be名無しさん mailto:sage [2005/11/17(木) 16:18:55 ]
>>435
普通KERNELにC++は使わないよ。

440 名前:435 [2005/11/17(木) 16:45:18 ]
>>439
いいじゃん何だって.
C++使ってるのも普通にあるんだし.



441 名前:Be名無しさん mailto:sage [2005/11/17(木) 17:03:27 ]
>>438
>定義した後どうすればいいのやら・・・
定義って割り込みハンドラを設定した後のこと??

442 名前:435 [2005/11/17(木) 17:11:30 ]
>>438
ベクタテーブルと割り込みハンドラはもうできてんのかな?
idtr定義ってことは後はlidtでロードしたらいいんでない?


443 名前:Be名無しさん mailto:sage [2005/11/17(木) 17:21:54 ]
>>438
ヒント LIDT命令

後、

『インテル・アーキテクチャ・ソフトウェア・ディベロッパーズ・マニュアル』
上巻:基本アーキテクチャ(資料番号243190J)
中巻:命令セット・リファレンス(資料番号243191J)
下巻:システム・プログラミング・ガイド(資料番号243192J)

の下巻は読みましょうね。

444 名前:438 mailto:sage [2005/11/17(木) 17:30:08 ]
はじめての486読みながら
typedef struct _DescTblPtr (
  unsigned short limit;
  unsigned long base:
) DescTblPtr;
とCソースに書いてある程度です…
>>441-443
LIDTですか。アセンブラですね。
相当時間がかかりますがアキテクチャ読みはじめます。とほほです。

445 名前:435 [2005/11/17(木) 17:54:26 ]
>>444
俺が昔書いたコードだと
typedef struct {
unsigned Limit:16;
unsigned Base:32;
}__attribute__ ((packed))IDTR_t;

んで各割り込み番号に対応したベクタテーブルつくって
その物理アドレスだったかをIDTR_tに突っ込んで
最後
IDTR_t IDTR;
asm("lidt %0 : : "m"(IDTR));
としておりますよ.
結構長いことさわってないから微妙に間違ってたら
スマソ

446 名前:Be名無しさん mailto:sage [2005/11/17(木) 17:59:31 ]
>>444
アセンブラ関連の板
www.e-net.or.jp/user/missing-link/assembler/

いずれ必要になる情報

GNU make 日本語訳(Coop編) - 目次
www.ecoop.net/coop/translated/GNUMake3.77/make_toc.jp.html

GNU リンカ LD の使い方
www.sra.co.jp/wingnut/ld/ld-ja.html#SEC_Top

Interrupt Jump Table
www.ctyme.com/intr/int.htm

ブートの仕組み
nobumasa-web.hp.infoseek.co.jp/boot/boot.html

Programmer's Technical Reference for MSDOS and the IBM PC
System Memory Map の所
www.o3one.org/hwdocs/bios_doc/dosref22.html


がんばれ

447 名前:Be名無しさん mailto:sage [2005/11/17(木) 18:14:12 ]
>>444

自分の書いたコード探してきた。定数とか.defファイルを無視すれば、どんなことやってるか大体わかると思うけど

typedef struct {
word_t limit;/* idtr limit */
word_t baseL;/* base address of idtr */
word_t baseH;
} IDT;

#undefDEF_IDT_ENTRY
#defineDEF_IDT_ENTRY(a, b)  b,
static int idt_vector_index[] =
{
#include "idtentry.def"
-1,
};

extern "C" void default_handler();


448 名前:Be名無しさん mailto:sage [2005/11/17(木) 18:15:56 ]

voidinit_idt_table()
{
       IDT idtr;

       for (int i = 0; i < NR_IDT_ENTRYS;i++)
         setIDT(i, (dword_t) default_handler);
       for (int i = 0; i < NR_IDT_ENTRYS;i++) {
         int entry = idt_vector_index[i];
         if (entry == -1)
           break;
         setIDT(entry, (dword_t) idt_vector[i]);
       }

       idtr.limit = NR_IDT_ENTRYS * sizeof(idt_entry) - 1;
       idtr.baseL = ((dword_t) IDT_BASE) & 0xffff;
       idtr.baseH = (((dword_t) IDT_BASE) & 0xffff0000) << 16;

       asm volatile("lidt %0 ": :"m" (idtr));
}


449 名前:Be名無しさん mailto:sage [2005/11/17(木) 18:16:49 ]

static voidsetIDT(int sel, dword_t address)
{
       idt_entry * entry = (idt_entry*)(IDT_BASE + sel * 8);

       entry->offsetL = address & 0x0000FFFF;
       entry->offsetH = (address & 0xFFFF0000) >> 16;
       entry->selector = KERL_CS_SELECTOR;
       if (sel == 0x22)
           entry->type = 0xee;/* DPL = 3 */
       else
           entry->type = 0x8e;/* DPL = 0 */
       entry->unused = IDT_UNUSED;
}


450 名前:Be名無しさん mailto:sage [2005/11/17(木) 18:31:36 ]
>>440
>435
>OS勉強したい人が使えるようなものを目指そうかな.

って言ってるじゃない。C++でカーネル書くと色々欠陥が多くて困るのに
OS勉強したい人にカーネルをC++で書くのを推めるのは嫌ーな感じ。



451 名前:435 [2005/11/17(木) 18:54:44 ]
>>450
資源をオブジェクトとクラスで表した方が
わかりやすいかと思ったんだけどね.
個人的にはChoicesっぽくやろうかと思ってた.
いや,これがいいものかどうかはともかくね.
実際,カーネルCでしか書いたことないし
C++自体ようしらんし,C++でやると
ライブラリ周りかなんかが困るのかなという
認識しかもってなス.

んだばその欠陥とやらを教えてケレ.



452 名前:Be名無しさん mailto:sage [2005/11/17(木) 20:01:06 ]
>>451
自分では踏まないようにしてる程度だから教える知識はないわい。
C++に嵌まった人に聞くがよい。

453 名前:Be名無しさん mailto:sage [2005/11/17(木) 20:09:38 ]
>>451
C++で困るのは
・リンク関係
・メモリまわりを先に実装しなければならない(new演算子とdelete演算子)
ぐらいかな。
あとカーネルライブラリとかに汎用性を持たせようとすると、修飾子の都合で
C++でのエクスポートが出来ない(クラス外関数ならextern "C"でエクスポート可能)…ぐらいか。

少なくとも俺がC++で少し書いたときには特に問題は無さそうだった。


454 名前:453 mailto:sage [2005/11/17(木) 20:10:35 ]
もうひとつ思い出した。initとfiniを自力で呼び出さないといけない(in gcc/g++)

455 名前:435 [2005/11/17(木) 20:16:34 ]
>>453
ありがと.
作り始めはいいけど,そのうち何かしら問題でそうだなぁ.
無難にCにしようかしらん.

456 名前:438 mailto:sage [2005/11/17(木) 20:24:58 ]
>>446-449
素晴らしい!
既存のソースからlidtの部分だけを読み取るのに苦労してたので助かります。
家についたら解析ですー

自分はCでゴリゴリ書く予定です
win上でstringに頼り切ってる身分で何言ってるんだって感じではありますが。

457 名前:Be名無しさん mailto:sage [2005/11/17(木) 20:44:25 ]
OS作りで苦労するのは
1)マイクロカーネル or モノシリックカーネル?
2)ファイルシステムはマルチスレッド?

かな・・・・
自分は2)で詰まった><

458 名前:Be名無しさん [2005/11/17(木) 21:32:19 ]
さっきまでWindowsのインスコで苦労していた俺はこのスレに何が書かれているのかわかりません><

459 名前:Be名無しさん mailto:sage [2005/11/17(木) 22:11:22 ]
くんなよ

460 名前:Be名無しさん mailto:sage [2005/11/17(木) 22:12:54 ]
>>457
BIOSを使用するとマルチスレッド化は出来ないですよね?

BIOSを使用せずに IO port を叩かないといけないのかな>onz

所で質問です。
FDCを制御する場合の情報を持ってる方、URLで良いんで教えてください。
ぐーぐる先生で聞いても適切な情報を教えてくれないんです。



461 名前:Be名無しさん mailto:sage [2005/11/17(木) 23:31:00 ]
>>460
community.osdev.info/index.php?%28FDC%29765A
fetish-jp.org/ascat/tg/tgd5.htm


おれもちょうどFDCの制御やってます;;
ただうまく行きません;;
本当はDMAでFD→メモリ(又、その逆)の転送がやりたいんだが、全く上手く行かないんで
今はFDC→CPU→メモリ(又、その逆)の転送についてじみちにやってます;;
というか、お互い頑張りましょう

462 名前:Be名無しさん mailto:sage [2005/11/17(木) 23:38:07 ]
>>460
BIOS呼んでいる間、スレッドが切り替わらなければ別に問題ない。

どっちかってーと32bitモードで呼べない方が厳しいような。


463 名前:461 mailto:sage [2005/11/17(木) 23:41:24 ]
一応しょぼい知識をひけらかしますが、(駄文ですんません・・・)
(FDCについての制御)

ライトコントロールレジスタ(機種によって名前違うかも・・・)で初期設定をする?

コマンドはFD→CPUのリードコマンドです。
まずコマンドフェーズに入る前に、ステータスレジスタを見張って、
コマンドレジスタに書き込み可能ならば、コマンドレジスタにコマンドコードを送る。
そして、そのコマンドに必要なパラメータを順次送信する。パラメータの種類や数は
コマンド毎に異なります。

コマンドフェーズを終了すると、実行フェーズに移行する。ここでコマンドが実行される。
例えば、FDからデータレジスタに転送されたり・・・

その後、リザルトフェーズで後処理をする、なんちゃら

ただ、理論は分かってるんですが実際にやってみろと言われると、ちょっとできないっす・・・;。;

464 名前:461 [2005/11/17(木) 23:48:27 ]
あと、後処理についてですが、実行フェーズが終わるとFDCはCPUに割り込みをかけるそうです。
その中でリザルトフェーズに移るというか、後処理をします。EOI発行だったり、FDC内にあるステータスレジスタ
を数回読み込んだり(←これしないと、だめみたいです・・・すべてのステータスレジスタの値を読み込まないと次の
コマンドに移れないそうです)

465 名前:461 mailto:sage [2005/11/17(木) 23:54:18 ]
パソコンのレガシィI/O活用大全
―割り込みとDMAからシリアル/パラレル・ポート、FDD/IDEインターフェースまで ハードウェアデザインシリーズ
桑野 雅彦 (著)

www.cqpub.co.jp/column/books/2001a/34331PC_Legacy/default.htm

この本って何処かに売ってないんですかね・・・一応一章だけはウェブに乗ってるんですが・・・
BIOS使わない入出力関係の情報収集がはげしくツライっす

466 名前:Be名無しさん mailto:sage [2005/11/18(金) 10:14:20 ]
本屋に頼んで取り寄せてもらえばいいんでは?
CQなら大概の所で扱えると思うが。


467 名前:Be名無しさん mailto:sage [2005/11/18(金) 14:03:23 ]
>>461
DMA転送で見落としガチなのは
1)転送先が16Mを超えている(DMAは24ビットアドレス)
2)バウンダリ64Kに違反している

はずしていたらすみません

468 名前:Be名無しさん mailto:sage [2005/11/18(金) 16:06:59 ]
みなさんはOSを開発する上で勉強した書籍はなんでしょうか?

自分は初めて読む8086と486を買いました。

これ以外に、お勧めの書籍を教えてください。

469 名前:Be名無しさん mailto:sage [2005/11/18(金) 16:40:28 ]
>>468
MINIX本じゃないかな

470 名前:435 [2005/11/18(金) 17:16:09 ]
>>468
初めて読む486と>>443の資料(Webで落とせる)
あと,PCプログラマーズバイブルだっけかな.
紫色のでかい本.これは手に入れるの難しいと思う.



471 名前:Be名無しさん mailto:sage [2005/11/18(金) 20:56:56 ]
OS入門用にMINIX本って本当にいいのかな。。オレも読んでるけど。
UNIX系OSの基礎を知るにはいいけど、MINIX自体は出来の悪いKernel
だと思う。
#Microkernelの概念自体が失敗気味と思う。
LinusはMINIXを見ないでLinuxを作ったと聞いた覚えが有る。実際
中身は全然似てないし。

472 名前:Be名無しさん mailto:sage [2005/11/18(金) 20:58:14 ]
s/OS入門用/OS開発入門用/

473 名前:Be名無しさん mailto:sage [2005/11/18(金) 21:23:20 ]
>>471
MINIXの欠点はマルチスレッドがない点かな。
とくにファイルシステムが単一スレッドなのが致命傷
ただこうゆう概念もあることを勉強するのもいいと思います。
ちなみにマイクロカーネルならMach3.0のソース読むといいよ


474 名前:460 mailto:sage [2005/11/18(金) 21:39:29 ]
>>461
おー、ありがとう。

今、出張中でゆっくり読めないけど帰ったら勉学に励みます。

>>462
V68モードで呼び出す事を想定していますが、スレッドの切り替えの
問題は同じですね。

kernel側の管理で考えます。m(_|_)m

475 名前:460 mailto:sage [2005/11/18(金) 22:14:51 ]
>>474
間違えた
v68ではなくv86です


476 名前:Be名無しさん mailto:sage [2005/11/19(土) 00:59:16 ]
>>462
問題はあるぞ
完全BIOSであればよいのだが、I/Oポートを
直接アクセスする場合はBIOSとの互換を考慮する必要がある
例えばBIOSがUSB FDDを使っている場合に
PCI叩いてUSBを初期化する場合とか
APICを使う場合とか


477 名前:Be名無しさん mailto:sage [2005/11/19(土) 10:59:01 ]
知ったか乙

PCIとAPICのドライバ書けばいいだけだろ

478 名前:Be名無しさん mailto:sage [2005/11/19(土) 12:36:00 ]
MINIXってOSを勉強したい人のために作られてるんでしょ
だから性能云々よりか単純な作りを理念に置いているらしいが・・・

479 名前:Be名無しさん mailto:sage [2005/11/19(土) 17:44:07 ]
エミュレーションすべきはAPICじゃなくてPICだとおもうが
そもそもフルスクラッチからそこまで達するとはおもえんな

趣味なのだから好き勝手にOSを作るのは良いのだが
同じようなコードを何度も別の人が書いていて無駄な気がする
コードの共有とか考えたほうがよくね?


480 名前:Be名無しさん mailto:sage [2005/11/19(土) 19:17:58 ]
っ[OSKit]

まあ有志で用意するにしても、ライセンスどうするとか出てくるし、
それくらい簡単に書けるくらいでないとOSなんて書けねーと思うわけですが。




481 名前:Be名無しさん mailto:sage [2005/11/19(土) 19:56:25 ]
BIOSの中身って何処かに公開されてないんですかね?

482 名前:Be名無しさん mailto:sage [2005/11/19(土) 21:04:53 ]
>>480
OSKitはGPLだからなあ

ライセンスどうするかの問題はわかってる。
とはいえ、例えばFDC、HDD、LANなどのドライバコードは
みんなで作ってzlibライセンスのように
他に使いまわせるライセンスで
共有するとか、それが嫌なら
ドライバのABIを決めてバイナリコードを共有するなり
すればよいと思うわけで。

>>481
BIOSの実装は各社で別々なので
OADGのドキュメントやinterrupt listに書いてある
インターフェース仕様だけで作ったほうが良い
どうしても見たければbochsとかのBIOSならソースがついているはず


483 名前:Be名無しさん mailto:sage [2005/11/19(土) 21:48:16 ]
>>461
community.osdev.info/

readとwriteだけなら関係ないが
すべてのコマンドが3フェーズ構成なわけでもないし
非同期コマンドは自分でsenseする必要があったはず
自動seekは普通onになっているが
offの場合はreadやwriteの前にseekが必要だったはず


484 名前:483 mailto:sage [2005/11/19(土) 21:49:13 ]
orz
URL消すの忘れた


485 名前:Be名無しさん mailto:sage [2005/11/19(土) 23:30:59 ]
>>473
Machねぇ。これも昔流行ったみたいだけど今どうなの?
あんまり使われてるの聞かない。20世紀末のアイドル?

>>478
単純じゃないよ。複雑でごちゃごちゃしているよ。
オレが読んだのはVer2.0。意外と1や3はすっきりしてるのかもね。

486 名前:Be名無しさん mailto:sage [2005/11/19(土) 23:32:20 ]
>>485
デスクトップOSのNo2がMachなわけだが。

487 名前:Be名無しさん mailto:sage [2005/11/20(日) 00:16:31 ]
>>483
レスどうもです。
そういやseekのこと考えてなかったっす・・・
試してみます!


488 名前:Be名無しさん mailto:sage [2005/11/20(日) 08:44:01 ]
>>485は文句つけるだけで知識も理解力もないみたい・・・

489 名前:481 mailto:sage [2005/11/20(日) 12:53:21 ]
>>482
情報ありがとう
さっそく調べてみます

490 名前:Be名無しさん mailto:sage [2005/11/20(日) 17:50:40 ]
今年の5月20日に「お前は半年ROMってろ」といわれたものです。
今日でやっと半年たちました。
皆さんお久しぶりです。涙でそうです。



491 名前:Be名無しさん mailto:sage [2005/11/20(日) 18:08:26 ]
>>490
お久しぶりです……と言いたいところなのですが、
このスレには2005/05/20の発言は見当たりません。
とちらのスレの何番様でいらっしゃいますでしょうか?

492 名前:Be名無しさん mailto:sage [2005/11/20(日) 18:33:26 ]
>>490
もう半年ROMってなさい

493 名前:Be名無しさん mailto:sage [2005/11/20(日) 19:42:46 ]
>>492
あなたがROMってなさい


494 名前:Be名無しさん mailto:sage [2005/11/20(日) 22:06:19 ]
>>490はコピペですが・・・


495 名前:Be名無しさん mailto:sage [2005/11/20(日) 22:27:22 ]
>>494
みんな知ってましたが

496 名前:Be名無しさん mailto:sage [2005/11/20(日) 22:27:40 ]
くだらないコピペはスルーの方向で。


497 名前:Be名無しさん [2005/11/21(月) 22:27:05 ]
お前ら今年の紅白は録画しとけよ!

498 名前:Be名無しさん mailto:sage [2005/11/22(火) 21:38:37 ]
>>497
仲間ヲタ?

499 名前:Be名無しさん mailto:sage [2005/11/24(木) 08:59:48 ]
270-DOSが欲しいんだけどどこでダウンロードするの?

500 名前:Be名無しさん mailto:sage [2005/11/25(金) 14:38:37 ]
windowsでgcc nasm msysでmakeするだけでコンパイルできるCで書いてあるOSないですか…
勉強しようにもコンパイルできません…
noname antos どちらの初期バージョンもコンパイルできません



501 名前:Be名無しさん mailto:sage [2005/11/25(金) 15:12:03 ]
>>500
Monaのちょっと前のやつ(0.2系)ならgcc nasm msysでmakeできるよ。
CじゃなくてC++だけど。

502 名前:Be名無しさん mailto:sage [2005/11/25(金) 20:38:56 ]
>>500
ってかmonaは出来るぞ。
お前本当にmakeだけやっているんとちゃうの?
ちゃんと
make depend
make
(make install)←いるか忘れたが

ちゃんとdependしているか?
Cygwinでもコンパイルできるからさ。

503 名前:Be名無しさん mailto:sage [2005/11/25(金) 20:41:16 ]
このすれヤサシス

504 名前:Be名無しさん mailto:sage [2005/11/25(金) 21:08:10 ]
>>502
良く嫁

>>500
>windowsでgcc nasm msysでmakeするだけでコンパイルできるCで書いてあるOS

505 名前:502 mailto:sage [2005/11/25(金) 21:20:29 ]
>>504
当然読んだ、ってか読みすぎたか?

>makeするだけ
dependを知らん可能性まで考えた俺は馬鹿ですかそうですか本当にすいませんでした。


506 名前:Be名無しさん mailto:sage [2005/11/25(金) 21:25:34 ]
>>505
Cygwinじゃないだろ?
> msys

Monaは試してないだろ?
> noname antos

507 名前:502 mailto:sage [2005/11/25(金) 22:11:49 ]
久しぶりに死にます。どうもすいますいますいませんでした。

508 名前:270 ◆stwSgIY65Q mailto:sage [2005/11/25(金) 23:52:56 ]
お久しぶりです。最近スレの進行が早いですね。

>>499
配布は考えていませんでしたが、
hovweb.hp.infoseek.co.jp/ にバイナリを置きました。
今のところ日本語DOSとしての機能がないため、実用にはなりません。


509 名前:Be名無しさん mailto:sage [2005/11/26(土) 00:30:41 ]
どっかで見たと思ったら貴様か!

510 名前:Be名無しさん mailto:sage [2005/11/26(土) 00:36:50 ]
>>508
ウリのHello, world!が動いたニダ!



511 名前:Be名無しさん mailto:sage [2005/11/26(土) 00:45:25 ]
例外処理が甘いけどなかなかよくできてるね

512 名前:は@ c178.016.c3-net.ne.jp ◆cplnFO9T0I [2005/11/27(日) 15:25:16 BE:121047438- ]
>>508
こっちでは?
ttp://hovweb.hp.infoseek.co.jp/

513 名前:Be名無しさん mailto:sage [2005/11/27(日) 15:57:11 ]
電源つけたら喋りだすPCを作りたいのですができますか?

514 名前:Be名無しさん mailto:sage [2005/11/27(日) 16:10:24 ]
どういうOSやねん。まぁ「不可能」ではない。

515 名前:Be名無しさん mailto:sage [2005/11/27(日) 21:14:51 ]
270さんや他の方達に質問なんですが、ハードの知識って
どのくらいお持ちなんでしょうか?

516 名前:Be名無しさん mailto:sage [2005/11/28(月) 00:31:46 ]
うんこ

517 名前:Be名無しさん mailto:sage [2005/11/30(水) 13:12:59 ]
>なお、 INTの2回目の切り替えでは 16bitから32bitへの意図的な切り替えが必要になります。
>この切り替えは、例えば予め決めたアドレスで HLT 命令など特権命令を実行して#GP(0)を起こし、例外処理でそれを検出すれば実現できます。

仮想86モードからプロテクトモードへの切り替えはARPL命令を#UDでトラップするのがセオリー
(#GPだと#GPハンドラが大きく複雑になりすぎるので

518 名前:Be名無しさん mailto:sage [2005/11/30(水) 22:00:01 ]
UD2ではなくてARPLなのはなぜ?


519 名前:Be名無しさん mailto:sage [2005/11/30(水) 22:15:02 ]
ARPL命令はROM領域にほぼ確実に存在するバイト値だから

520 名前:OS勉強中& ◆WUQMOVkl3M [2005/12/03(土) 23:21:00 ]
今現在、ブートローダを作成中なのですが、dmaの64k alignmentについて質問があります。

現状は、0x07c0:0000にfloppyの最初のセクタが読み込まれ、
その0x07c0:0000からの512kを0x9f00:0000に移動し、
floppyの2個目以降のセクタを0x0100:0000に読み込んでいます。

dmaの64k alignmentに従うということは、

まず、floppyから18セクタを4回繰り返し読み込み、(72セクタ分、0x1000:0000に達する)
0x1000:0000から0x2000:0000は80セクタ分なので、

18セクタ読み込み * 4回 + 8セクタ読み込み

という処理を0x1000:0000から0x2000:0000, 0x3000:0000 ...
というように続けていけばいいのでしょうか?

どなかたご存知の方、ご教授ください。
また、この辺のことが詳しく書いてある、ページ、書籍等がありましたら、教えてください。



521 名前:Be名無しさん mailto:sage [2005/12/04(日) 00:46:05 ]
>>520
数字は修正がいりそうだが64kの考え方自体はそう
まとめて読み込みたいなら
トラック読み込み+コピーで書いたほうが
無難だとおもうがね


522 名前:Be名無しさん mailto:sage [2005/12/04(日) 05:14:57 ]
遊び感覚でVIPによってラウンジは繰り返しスレッド乱立されて
虐げられています。
本当にやめて欲しいです
ラウンジはVIPには何もしていないのに
いつも荒らされます
今回も(゚∞゚)ペーチュンチュン  という名前のスレッドを
乱立されてしまいました。

今ラウンジを開くとVIPによってスレッドが乱立されて
殆ど機能しなくなってるラウンジを見る事ができます・・・

ラウンジ
etc3.2ch.net/entrance/

523 名前:OS勉強中 [2005/12/04(日) 09:44:55 ]
>>521
ご返事ありがとうございます。

> 数字は修正がいりそうだが64kの考え方自体はそう

数字どっか間違ってましたでしょうか?

>まとめて読み込みたいなら
>トラック読み込み+コピーで書いたほうが
>無難だとおもうがね

floppyからまとまったセクタ分を毎回同じところに読み込んで、そこから
別の場所にコピーするということですか?
そのような方法は一般的でしょうか?







524 名前:Be名無しさん mailto:sage [2005/12/04(日) 09:47:14 ]
まとまったセクタ分読む

と言うのは正しくないな

1トラック読む


525 名前:ぴゅあ [2005/12/04(日) 19:22:16 ]
>>523
> floppyからまとまったセクタ分を毎回同じところに読み込んで、そこから
> 別の場所にコピーするということですか?

FDC, DMAに関連するコードはかなり昔に書いてたのであまり覚えてなくて
DOS/V機に載ってるDMA, FDCではコードを書いたことはないので
正確ではないと思うけど。

フロッピィから1回のDMA転送が可能なのはシリンダ単位になるだろうと思います
9セクタまでか18セクタまで可能かはわからないですけど。(FDCについて調べれば判る筈)

64Kのブロックに対して9セクタ或いは18セクタ単位では端数が出てしまうし
また9セクタ或いは18セクタ単位で必ずプログラムの介入が必要になるだろうと思うので

私は恐らく9セクタ或いは18セクタ単位で一気に取り込むバッファを別途設けて
0x1000:0000以降にはCPUで順次転送していく手を使うでしょう。

64Kのブロック単位を気にしながら
読み込むセクタ数を調整するとか
0x1000:0000以降に直接転送させるとかを考えると
ロジックは複雑になるだろうし、パフォーマンスも落ちたりするだろうと思いますよ。

526 名前:ぴゅあ [2005/12/04(日) 19:24:23 ]
>>520
> その0x07c0:0000からの512kを0x9f00:0000に移動し、
の意図は判りませんが

単に移動することだけに限定すれば(>>525での話も踏まえて)
>floppyの2個目以降のセクタを0x0100:0000に読み込んでいます。

# 先頭セクタからを0x9f00:0000に読み込む。(読み込んだものを転送する中に含める)
とした方が全体的にシンプルになったりしそうな気もしますけど。。。

初回のCPUによる転送だけ512バイト飛ばして0x0100:0000〜に転送するとか
初回は2セクタ目以降8セクタ或いは17セクタを取り込んで転送するとか
条件を付けるというのもあるでしょうけど。

DMAC, FDCについてはトラ技増刊「パソコンのレガシィI/O活用大全」辺りにも
書かれていますが(絶版らしいけど)
具体的な例まではなかったと思います。

また細かいところはDMAC, FDCのデータシート或いはアプリケーションノートなりが
探せればと思うのですけど…手に入るのかどうか?

またGoogleで例えばキー「dma fdc 8237」とかで探してみると
サンプルとかは難しいかもですが、64Kのブロック単位, ページレジスタのこととかが
出てきたりするでしょう。

527 名前:OS& ◆WRre/7Sh7Q [2005/12/04(日) 20:19:01 ]
>ぴゅあさん
お返事ありがとうございます。

>> その0x07c0:0000からの512kを0x9f00:0000に移動し、
>の意図は判りませんが

floppyの先頭512kは0x07c0:0000に読み込まれ、2個目以降のセクタは
BIOS領域の後の0x0100:0000に読み込んでいます。しかし、54セクタ
(リニアアドレスで0x7c00-0x1000)以上読み込むと、現在実行中である
ブートコードを上書きしてしまうためにこのようなことをしております。
そのため、ビデオメモリなどの領域(0xA000:0000〜)に重ならないリアルモード
で使用できる一番後ろのメモリ領域に、先頭のコードを移動しています。

ぴゅあさんがおっしゃるように、1トラック(18セクタ)ずつをバッファに読み込み、
CPUで順次、0x0100:0000以降に転送していくのが、単純かつ簡単そうなので、
試してみたいと思います。

トラ技増刊「パソコンのレガシィI/O活用大全」の一部(?)が
www.cqpub.co.jp/column/books/2001a/34331PC_Legacy/default.htm
にありましたので、こちらも参照してみたいと思います。





528 名前:ぴゅあ [2005/12/04(日) 21:07:54 ]
>>527
> floppyの先頭512kは0x07c0:0000に読み込まれ、2個目以降のセクタは
> BIOS領域の後の0x0100:0000に読み込んでいます。しかし、54セクタ
> ・・・

なるほど。

この辺りは0x1000:0000から0x2000:0000にとかいう辺りで
「BIOS領域の後の0x0100:0000」が0x1000:0000と書き間違えたのかな?とか

私自身0x9f00:0000と0x09f0:0000を取り違えてしまってたりしましたが・・・。

頑張ってください。

> トラ技増刊「パソコンのレガシィI/O活用大全」の一部(?)が

確かに第1章そのものが書かれているみたいですね。
DMAについては2章, FDCについては5章になるんですが
第1章の全てはそのまま入っているんだろうと思います。

529 名前:Be名無しさん mailto:sage [2005/12/04(日) 21:54:03 ]
あさがおOSのイメージ作りたいんですけど
ldの所でコケてしまいます…
どうしたらいいでしょうか?
msys + mingw + nasm

530 名前:270 ◆stwSgIY65Q mailto:sage [2005/12/04(日) 22:57:59 ]
こんばんは。

>>515
OS開発の前に関係ありそうな仕様書を一通り集めて目を通しています。
DOSの開発にはオーバースペックだとおもいますが、
OADGのATハード仕様に書かれたことはだいたい理解しています。
IA32の仕様書やInterrupt Listもある程度は目を通しています。
こういう知識は直接DOSの開発に使うわけではありませんが、
ハードの振る舞いを知っているとBIOSの挙動も想像がつきますし、
デバッグなどで役に立ちます。

>>517-519
おっしゃる通り、ARPL命令のほうが効率は良さそうですね。
また、270-DOSの特殊な実装では、INT 30hを使うのも効率的だとおもいます。
割り込み処理の高速化はあとまわしにしていますが、
最後のチューニングではこれらを使うことを考えたほうが良さそうですね。
現状放置しているCPUキャッシュの制御のほうが実機では効果ありそうですが。。




531 名前:270 ◆stwSgIY65Q mailto:sage [2005/12/04(日) 23:06:16 ]
>>527
ご参考までに、
9f00:0000にはBIOSのワークエリアがありますので、
270-DOS ではメモリのサイズをINT 12hで取得しています。
通常は 639K が返されます。

拡張メモリのサイズは
1. INT 15h AX=E820h
2. INT 15h AX=E801h/E881h
3. INT 15h AH=88h
の順で試し、最初に成功した戻り値で取得しています。


532 名前:Be名無しさん mailto:sage [2005/12/05(月) 23:08:18 ]
>531
> 9f00:0000にはBIOSのワークエリアがありますので、
ユーザ領域では?

BIOSは 0000:0200-0000:05FFとA000:0000-F000:FFFF までの何処かを使っていると
認識してますが間違ってますか?

>515
自分はアプリケーションプログラマなのであんまり知識はないです。
アセンブラでプログラムが組める程度の知識しかないので
必要なときに勉強してます。


533 名前:Be名無しさん mailto:sage [2005/12/05(月) 23:16:49 ]
>520 の内容で質問があります。
ブートストラップコードの開始位置が 07C0:0000 と0000:7C00 の2種類の記述を見かけます。

私は後者の 0000:7C00 でコーディングしていますが どちらも正解なのでしょうか?
実機とBochsでは起動できていますが・・・


534 名前:Be名無しさん mailto:sage [2005/12/06(火) 05:16:42 ]
最終的には同じアドレスだが
厳密には 07C0:0000 が正しい

っつーか、0000:7C00 だと
その後の処理で相対ジャンプその他
コーディングに不都合が生じるので
素直に 07C0:0000 使う方が無難

535 名前:Be名無しさん mailto:sage [2005/12/06(火) 09:26:16 ]
曖昧だから最初に FAR JUMP 使うんだよバーカ

536 名前:ぴゅあ [2005/12/06(火) 21:17:25 ]
>>533
どちらが正解でどちらが誤りとかいうのはないでしょう。
BIOSによってどちらで飛んでくるかはまちまち(好みの問題?)らしいです。

この場合、大抵$0000:7C00〜$0000:7DFFにあるコードの範囲で扱おうとしているでしょうし
$07C0:0000と$0000:7C00の違いを意識しないで書けるコードで書いているなら、(当然)気にしなくていいでしょうし、
意識が必要(そう)なら最初にどちらかに統一してしまえばいいでしょう。

敢えて言うまでもなく
$0000:7C00ではCSレジスタで物理アドレスの$00000〜$0FFFFにアクセスできることになりますし
$07C0:0000では同様に$07C00〜$17BFFになります。
CS,IPレジスタを再設定するとすれば、私の場合は気持ち的に$0000:7C00を優先したいと思ったりしますね。

尤もCSレジスタを使ってメモリアクセスをしたりしたいのでなければ
(BIOSのベクタテーブルを読み出したいとかで他のセグメントレジスタが開いてないとか)
特に気にすることもないんではなかろうかと思ったりです。

537 名前:ぴゅあ [2005/12/06(火) 21:18:01 ]
>>532
使っていないように見えたりするけど
私は一応$9FC00〜$9FFFFを予約域として捉えています。

BIOSによって違ったりもするかもとも思いますが
INT 15h, AX=E820hで報告されたりするでしょう。

ADVANCED CONFIGURATION AND POWER INTERFACE SPECIFICATION Revision 2.0c, August 25, 2003
「15.5 Example Address Map」
www.acpi.info/spec20c.htm

私としての気持ちとしてというようなものですけど
あまり意味がなかったりするとも思うけど、
$80000〜$9FFFFに直書きでコードを置くのは
避けるようにしていたりしています。

あとメモリ域の先頭部分については
私は$00000〜$003FFと$00400〜はその延長として$007FFは外しておこうと思っていたりします。
なんとなく$001000〜と$002000〜辺りは気になったりもするところですが。

私としての気持ちとしてのものばかりになってますけどね。

538 名前:270 ◆stwSgIY65Q mailto:sage [2005/12/06(火) 22:05:45 ]
こんばんは。最近活発ですね。

>>532
DOS 実装時に調べたAT互換機のメモリレイアウトを書いておきます。
ACPIの仕様に従って INT 15h/AX=E820h で
取得するのが正しいです。

00000h-003FFh 割り込みベクタ
00400h-004FFh BIOS ワーク
00500h-005FFh 不明(未使用?)
00600h-9BFFFh 未使用
9FC00h-9FFFFh BIOSワーク(*)
A0000h-BFFFFh VGA
C0000h-EFFFFh レガシ拡張BIOS(VGA BIOSを含む)
F0000h-FFFFFh BIOS
100000h-xxxxxxh 未使用の拡張メモリ
xxxxxxh-xxxxxxh ACPI、SMP BIOS ワーク

(*)VGA RAM直前にあるBIOS予約領域は、
0400h:000Eh が指すセグメントと、
9FC0h:0000hに書かれたサイズで算出、
通常は9FC00h-9FFFFhです。

POSTのエラーコードやAPM、ACPI、PCI BIOSやマルチプロセッサなど
あたらしめのBIOSが必要とするデータは
いろいろなところに置かれているようです。

もし、プロテクトモード移行後に(VGA以外の)BIOSを、
APMやACPIも含めて全く使わないのでしたら、
潰してもかまいません。


539 名前:532 mailto:sage [2005/12/06(火) 23:58:17 ]
> BIOSは 0000:0200-0000:05FFと
割り込みベクターは 0000:03FF まででしたね

>537-538
まだ、ACPI関連は調べていなかったので助かります m(__|__)m

540 名前:533 mailto:sage [2005/12/07(水) 00:43:30 ]
>534-536
0000:7C00 を想定する場合は org 07C00h でコーディングする為に
CS:IP が 0000:7C00 や 07C0:0000 でも問題が無いが
転送先は xxxx:7C00 に固定されるが

07C0:0000 を想定する場合は org 0h でコーディングする為に
CS:IP が 0000:7C00 や 07C0:0000 でも問題が無く
転送先が xxxx:0000 にできてメモリーの利用形態の自由度が上がる。

かつ、offset アドレスの扱い方しだいって事ですね
あってるかな(^^;)

個人的には 0000:7C00 が好きですが・・・



541 名前:ぴゅあ [2005/12/07(水) 22:41:22 ]
>540
微妙かも・・・。
微妙かもっていうのは、その結果出てくるバイナリの形は違っていたりするだろうってところで
要はCS:IPがどちらでも目的の場所に飛んできたときにちゃんと実行できればそれでいいわけです。

私の場合にどっちが好みか?というところで「再設定するとすれば$0000:7C00」を採っていますが
この話の場合では、高々512バイトで(他、条件を踏まえて)CSレジスタの値を気にするようなコードを書くほどのこともないので
コードを書くときの表現のし易さ, リンク後の吐き出されたバイナリの扱い易さとかを踏まえて
実際のコードは$07C0:0000であるものと"仮定"して書いています。
(もしCS:IPが$0000:7C00だったとしても問題がないコードを書いているという前提があるので)

どちらでも問題ないと判って書いていれば、どちらでも好みで選べばいいと思いますよ。

542 名前:540 mailto:sage [2005/12/07(水) 23:24:54 ]
ぴゅあさん有難う御座います。
org の意味が今頃になって詳細に理解できました OTZ.

>540 の解釈は間違いです(ーー;)

543 名前:Be名無しさん mailto:sage [2005/12/11(日) 14:08:02 ]
またMEG-OS復活?


544 名前:Be名無しさん mailto:sage [2005/12/11(日) 15:07:39 ]
>>543
>>336

545 名前:Be名無しさん [2005/12/11(日) 21:29:14 ]
実際のメモリの保護はオペレーティングシステムではなくハードウェアで行われる理由ってわかる人います?

546 名前:ぴゅあ [2005/12/11(日) 22:20:36 ]
>>545
どういう保護のことを言っているのか判りませんけど、
それはハードを設計した人の方針によりで
設計者の説明があれば明確になることでしょうけど
そこまでは判りません。

私が考える(推測する)ところでは
「ソフト的に対応することでハード的コストを削減する(ソフト化への移行を推進しよう)」
という考えがある時期から急激に増えてきた反面、
「ソフト的に処理するよりハード的に処理させた方が性能や保護の面で信頼性の向上が期待できる」
といったような考えもあったりするからではないでしょうか。

ソフト的な処理では他のプログラムにより故意に書き換えられる可能性は高くなる
(ウィルスソフトによって書き換えられてしまったとかいうのもそのひとつと言えるのでしょう)
ということも考えられるのでしょうし、
いくらCPUの処理速度が上げられたと言っても
ソフト的に処理するよりはハード的に処理された方が速いでしょう。

その上で
> オペレーティングシステムではなくハードウェアで行われる
というところは
OSを設計する人がOS内でやろうと決めればOS内で実装されたりするのだろうし、
ハードの持っている機能を活用しようと考えればハードで行われるのでしょう。

なので、傾向としてはあるかも知れませんが、(絶対的な)決まりではないと思いますよ。

もし考えついた実装がハードに実装された機能を利用して実装できない
或いは機能不足とかいうことになればOS内で実現されることになるでしょうし、
その後、その実装がハードに採用されることがあったりすれば
ハードで行われることにもなったりするのでしょう。

547 名前:Be名無しさん [2005/12/11(日) 22:35:45 ]
>>546 わざわざありがとうございます。いきなりこんな問題出されたんで、めっちゃ困ってたんです。

548 名前:Be名無しさん mailto:sage [2005/12/12(月) 00:41:47 ]
ハードによるメモリ保護ってパリティとかコンデンサの


549 名前:ぴゅあ [2005/12/12(月) 08:09:13 ]
>>547
問題?

授業の課題とかだったりするなら、そのまま答えにしてもいかんと思うよ?
どんな答えを出させようとしているのか、ちゃんと問題文を考えてでないと。。。

550 名前:Be名無しさん mailto:sage [2005/12/13(火) 01:27:26 ]
そもそも>>546は間違いじゃないか?



551 名前:Be名無しさん mailto:sage [2005/12/13(火) 21:08:35 ]
>>543
そろそろ中止の予感


552 名前:438 mailto:sage [2005/12/18(日) 16:33:43 ]
ずいぶんお久しぶりです…
以前書き込んでからコード的には進んでないですが今日中にキーボード割り込みは果たしたい所です
<日記帳>ostukuruyo.blog39.fc2.com/</日記帳>

553 名前:270 ◆stwSgIY65Q mailto:sage [2005/12/18(日) 22:31:34 ]
SYSコマンドの実装を進めています。
フォーマット済みFDDへは
インストールできるようになりましたが、
HDD対応にはまだMBRとPBRの実装が必要です。

他の和製OSはどうやってHDDブーとしているのでしょう?
フルスクラッチでしょうか?liloやgrub?


554 名前:Be名無しさん mailto:sage [2005/12/18(日) 22:38:44 ]
MBRまで作る必要あるの?

ほとんどの和製OSはHDDブートまでできなかった希ガス

555 名前:Be名無しさん mailto:sage [2005/12/19(月) 01:23:28 ]
ブートセレクトでもしない限りは普通に入ってるであろうMBRで十分
まっさらなら一度DOSでもいれるかFDISK /MBR
パーテーションに入っちゃえばあとはFDと同じ

ファイルシステムがFDで使えるFAT12止まりってところが多いぽ?

556 名前:Be名無しさん mailto:sage [2005/12/19(月) 22:45:49 ]
デバックはまだしていないけど 私はMBRまで作ってます。
ブートストラップコードがFDD依存になっていなければ
FDD用のブートストラップコードで15MByteまでのHDDから
起動できますね。

HDD起動を視野に入れるとFDISK/FORMAT/SYSコマンドの実装がめんどいので
後回しにしてますが・・・

>>553
私は独自のローダ経由で起動するように作っています。


557 名前:Be名無しさん mailto:sage [2005/12/28(水) 13:05:55 ]
WINDOWS EXEならこれで動くんですが
void main(){
  int i;
  char *str = "abcdefghijklmnopqrstuvwxyz";

   for (i = 0; str[i] != '\0'; i++) {
    printf("a");
   }
  //for(;;);
}

KERNELでこう書くと表示されません
void start(){
  int i;
   char *str = "abcdefghijklmnopqrstuvwxyz";

    for (i = 0; str[i] != '\0'; i++) {
     ((char*)0xB8000)[i * 2] = str[i];
     ((char*)0xB8000)[100 + i * 2] = 'B';
    }
   for(;;);
}

何故なんでしょう…

558 名前:Be名無しさん mailto:sage [2005/12/28(水) 18:06:19 ]
>>557
そのkernelが何者か書かないと、誰も答えられないような気がしますが。

リアルモードなら、far pointerといういにしえの技術があるので、
それを学んでください。


559 名前:557 mailto:sage [2005/12/28(水) 19:59:30 ]
>>558
ttp://www.geocities.jp/myosmyosmyos/src/051228.zip
全部UPしました。
far pointerですか。プロテクトモードになってるはずなので謎です。

560 名前:Be名無しさん mailto:sage [2005/12/28(水) 21:13:51 ]
>>557
100+が何のつもりで書いているのかがわからない




561 名前:ぴゅあ [2005/12/28(水) 21:31:11 ]
>>557
試してないですけど(VIDEO BIOSによっても違うだろうし)

ビデオモードとかは問題ないのだろうとして(VRAMアドレスとか)

アトリビュートは問題ないのかなぁ?
と思ったりですけど

(WINDOWS EXEなら…との比較はあまり意味も無さそうな??)

562 名前:557 mailto:sage [2005/12/28(水) 22:51:15 ]
>>560
100+は位置調整の為ですforループが動いてるのか調べたいので
アトリビュートですか。VRAMの奇数に入れる奴ですね。平気だと思います
Windows上と比較したのは
windowだとprintf部分が実行さえれて表示される
bochsとかだとforの条件が一致しないでprintfが無視される&一致してもstr[i]が表示されない
ので困ってます
仕組み的にはmonaとかと同じコードのはずなんですが…

563 名前:超TA ◆leaf/RYZgY mailto:sage [2005/12/28(水) 23:05:53 ]
>char *str = "abcdefghijklmnopqrstuvwxyz";

このliteralなstringへのpointerが正しく指していない予感。
PEなりELFなり、正しくrelocateしないと見当違いな場所を読みに行ってしまうよ。

564 名前:ぴゅあ [2005/12/28(水) 23:08:30 ]
>>557
100+の方はやりたそうなことは読み取ってたから気にしてはないですが
"VRAM BIOSにより"だと思うけど画面クリアのときに
アトリビュートを0x00にしているものもあるだろうと思いますよ。
だとすればフォアグランドは黒なので何も見えなくて合っていることになるでしょう。

> 仕組み的にはmonaとかと同じコードのはずなんですが…
はmonaのコードとか見てないので判らないですが
「平気だと思います」ではなんにもならんでしょう。
まずそこを「平気でした」にするべきと思います。
それでもダメならじゃあなんだろう?と進むんだと思いますよ。
それを試してみることは大して手間の掛かるものでもないだろうと思いますしね。

565 名前:ぴゅあ [2005/12/28(水) 23:13:58 ]
>>563
> このliteralなstringへのpointerが正しく指していない予感。
仮にそうであってもゴミが見えたりしてもいいかも。
そこがたまたま非表示な文字だったら…ではあったりするけど
その辺りは
> ((char*)0xB8000)[100 + i * 2] = 'B';
がフォローしそうだけど、どうなんでしょう。

566 名前:ぴゅあ [2005/12/28(水) 23:15:12 ]
あ・・・ そっか
1バイト目が0x00だったら。。。

567 名前:Be名無しさん mailto:sage [2005/12/28(水) 23:43:06 ]
ヒント:セレクタ

568 名前:ぴゅあ [2005/12/29(木) 00:52:04 ]
Bochsなのかぁ…と動かしてみようかと思ったけど
動かすまでに手間が掛かりそうなのでパス。
イメージがついてたので実機でブートしようと思ったけどダメでした。
そういうもの?(ブートコードは未チェック)

>>567の言うセレクタがヒントになるのかどうかは判らないですけど
0x400バイトから始まるコードを見てみると
char *str = "abcdefghijklmnopqrstuvwxyz";は
0x402000〜に配置されるようになっているような?

あと100+ということでしたがkernel.cでは
+1994〜と+2000〜になってますよね。
Bochsで80x25でこの位置に書けば出て来るんだとすれば
少なくとも+1994〜は見えている?
それ以降の部分は>>563さんの辺りなのかも。

569 名前:557 mailto:sage [2005/12/29(木) 01:13:52 ]
>>564-566 >>568さん
アトリビュートの意味を完全にはき違ってました、すいません。
>まずそこを「平気でした」にするべきと思います
平気でしたとしたくて色々やってるのですがうまくいかず…勉強不足です
>>568
イメージはちゃんと動くはずなんですが。。
ちなみにイメージはNTRawriteなどで書き込まないと実機で起動できないです
というか実機で動かすのは何がおこるのかわかりません
>少なくとも+1994〜は見えている?
forで括ってある所以外は書き込めてます。

どうも配列でこけてる気がします…
>>563さんがおっしゃってる通りっぽいですね。
リロケートについて調べ中です。。

570 名前:Be名無しさん mailto:sage [2005/12/29(木) 16:18:32 ]
リンカでベースアドレスが指定されてないのに動くわけがないじゃん



571 名前:557 mailto:sage [2005/12/29(木) 17:50:42 ]
解決しました。
ttp://www.geocities.jp/myosmyosmyos/src/051229.zip
upしました。
>>570さんが言ってる事がビンゴでした。皆様ありがとうございます。
いやはや自分のヘボさ加減に泣き入ります。
(gccは今まで触れた事無かったので…)
次は割り込みです。

572 名前:Be名無しさん [2005/12/29(木) 19:26:39 ]
>>571
そうそこ。>>570が言ってるとこ設定できたりしないのかなとか
時間がなかったので帰ってきたら書いてみようかと思ってました。
あとコンパイラとかって何使ってるのか確認しようとか。
無事、解決されたみたいですね。

> イメージはちゃんと動くはずなんですが。。
もう一度確認してみようと思ってますが、
昨日動かしてみた時点ではipl.asmのline78でCF=1になってて
延々ループしてしまう羽目になってるようでした。
(暫く使ってなかったから壊れてるかな。。。)

因みに
> 平気でしたとしたくて

> forで括ってある所以外は書き込めてます。
で「平気でした」ってことになりますよ。

573 名前:ぴゅあ [2005/12/29(木) 19:42:30 ]
>>571
実機でループ(CF=1)になるというところは
ipl.asmのline74で"mov cl,2"としてあるのに
line72で"mov al,18"にしてあるので(ずっと前にこの辺りの話があったりしましたが)
ここを"mov al,17"としました(kernel.imgの0xBFバイト目を0x12→0x11に書き替え)

ちゃんと出てますね。
少なくとも試したマシンではちゃんとアトリビュートも初期化されているらしくて
表示されました。

574 名前:557 mailto:sage [2005/12/30(金) 20:54:12 ]
>>572-573さん
コンパイラというか開発環境はwinxp上でmsys + nasm + mingwです。
指摘されてるように書き換え実機での起動確認しました。ありがとうございます。
割り込みはうまくいったのでそろそろコード解析して書き直したいと思います。
Higeposって表示されるままじゃmonaの皆様に失礼ですので。。

575 名前:ぴゅあ [2005/12/30(金) 21:49:34 ]
>>572の名前は消えてたみたいで。。。
名前入ってないと、あんななるんですね
今頃知りました。。。

576 名前:Be名無しさん [2005/12/31(土) 15:32:45 ]
D言語が実装されたら俺もOS作ろうと思ってる。

577 名前:Be名無しさん mailto:sage [2005/12/31(土) 15:58:12 ]
>>576
ttp://caffe-latte.sourceforge.jp/pukiwiki/index.php?gdc

578 名前:Be名無しさん mailto:sage [2005/12/31(土) 18:36:12 ]
DでOSいいですね

579 名前:Be名無しさん mailto:sage [2006/01/01(日) 00:57:06 ]
おけおめ
今年も良いOSが実りますように…

580 名前:Be名無しさん mailto:sage [2006/01/01(日) 10:32:07 ]
去年は実ったの?



581 名前:Be名無しさん mailto:sage [2006/01/01(日) 15:02:05 ]
自分的には実ったよ。
熟してないけど・・・。

582 名前:OS勉強中 [2006/01/02(月) 12:21:14 ]
現在、x86の環境でTSSを使ったタスクスイッチの実験をしています。
(proc_switch内では、selector:0 へ ljmp)

void
task1(void)
{
int i = 0;
for (i = 0; i < 1000; i++) {
_sys_printf("task1 %d\n", i);
proc_switch(0x28); // task2のセレクタは0x28
}
}

void
task2(void)
{
int i = 0;
for (i = 0; i < 1000; i++) {
_sys_printf("task2 %d\n", i);
proc_switch(0x20); // task1のセレクタは0x20
}
}
(続く...)

583 名前:OS& ◆WRre/7Sh7Q [2006/01/02(月) 12:21:49 ]
(続き)

上の実験はうまくいってるのですが、timer割り込みハンドラ内でタスクスイッチをする場合、
proc_switch内でljmpしてしまうため、asm("iret")などの割り込みから戻る処理
を通っていません(気がします)。

void timerHandler(void) {
// EOI
outp(0xa0, 0x20);
outp(0x20, 0x20);

proc_switch(0x28); // 現在0x20, 0x28のタスクへスイッチ

asm("mov %ebp, %esp");
asm("pop %ebp");
asm("iret");


このような場合、どのようにしたらよろしいでしょうか?
また、普通はこうは書かないなど、アドバイスがありましたらお願いします。
(現在は、TSS1個を共有する(linuxなどの)方法に行く前に、複数TSSを使うタスクスイッチを
実験しております。)

584 名前:Be名無しさん mailto:sage [2006/01/02(月) 14:17:25 ]
タスク切り替え前にちゃんとEOIを発行してれば問題ない

585 名前:OS& ◆WRre/7Sh7Q [2006/01/02(月) 15:04:13 ]
>>584
ご回答ありがとうございます。
スタックポインタの復帰やiret等はどっかのタイミングで自動的にされているということでしょうか?

timerHandlerが呼ばれたら、すぐにproc_switch(0x28)を実行してるのに、task1のループが全部終わってから出ないとタスクスイッチが起きません。
どなたかおわかりになる方、ご教授ください。
また、この辺のことが詳しく書いてあるWebページなどがありましたら教えてください。




586 名前:ぴゅあ [2006/01/02(月) 18:08:28 ]
task1(), task2()がどう起動されているのかとか、proc_switch()がどんな実装なのかは判らないですけど、
それらはうまく行っているということなのでコードから推測されるやろうとしているだろうところは
満足しているんでしょう。

timerHandler()についてどういう呼ばれ方をするかによって動きは変わるのだろうと思いますが
(参考: IA-32インテルアーキテクチャソフトウェアデベロッパーズマニュアル 下巻とか)

いくつか疑問もあったりするところですけど…
それはややこしそうでもあるので割愛させて頂いて。

ひとつ、
目的として、単に「IRETを通過させたい」んだということにすると
IRETで呼び出し元に戻るようにしているところを
proc_switch(0x28);を含むルーチンへIRETでジャンプするという形にするという手があるでしょう。
IRETを使ったジャンプとかいうのは別に珍しいものではなく古くからある手法です。
ただ、timerHandler()がどういう呼ばれ方をしているのか(IRETはどう動くのか)とか、
割り込み許可/禁止状態, その他EFLAGS等の扱いもちゃんと考える必要があるでしょう。

またタイマ割り込みとスイッチは分けて考えるのがいいような気もしたりです。
そうすると期待している形かどうかは判らないですけど、今やりたいだろうことはそんなに難しいことではないのかも知れません。

ただ、これから先の目的は違うと思うので、
task1(), task2()が主役でタイマ割り込みはその動きに影響を与える(脇役)という見方(なのだろうか?)ではなくて、
task1(), task2()を起動しているメインでタイマ割り込みを処理してtask1(), task2()はその上で動くものとした方が良いような気もしたりです。
尤もそれは昔からやられているようなものになってしまうでしょうけど。。。

> timerHandlerが呼ばれたら、すぐにproc_switch(0x28)を実行してるのに…
タイマ割り込みが起こっていることは確認されているのだろうと思いますけど、timerHandler()内でproc_switch()が正しく動作できる状態にあるのかとか?

587 名前:Be名無しさん mailto:sage [2006/01/03(火) 11:08:01 ]
>>583
スタックの復帰やiretは不要です。
タスクスイッチのやっていることを理解していないのであれば、
エミュレータ組み込みのデバッガ等で挙動を確かめましょう。
理解せず使うと、いずれ謎の#GPに悩まされます。


588 名前:OS& ◆WRre/7Sh7Q [2006/01/03(火) 13:57:22 ]
>ぴゅあさん
>>583
ご回答ありがとうございます。
では、割り込み時にスタックに積まれるEFLAGS,CS,EIPレジスタはタスクスイッチ時に
popされているという認識でよろしいでしょうか?
(timer割り込みが入って、タスクスイッチの前に、またtimer割り込みが入った場合に、
どういう挙動をするかがわかりません。。)
タスクスイッチ等をもう一度勉強し直します。
また、この辺の挙動について詳しく書いてある書籍、ページ等がありましたら、
教えていただけると助かります。

589 名前:ぴゅあ [2006/01/03(火) 17:00:40 ]
> 割り込み時にスタックに積まれるEFLAGS,CS,EIPレジスタはタスクスイッチ時に
> popされているという認識でよろしいでしょうか?

私は違うと思います。POPされるとか、しなくていいとかいう認識の仕方?として。

>>586にもレスしたように、
やろうとしているのがタスクスイッチであるのは間違いないと思いますが、
task1(), task2(), proc_switch()らがどのように扱われているかによって変わってくるだろうと思います。

参考となるだろうと思われるのは、IA-32インテルアーキテクチャソフトウェアデベロッパーズマニュアル
[Intelサイト(www.intel.co.jp) → サイトマップ→ハードウェア開発者向けサイト ホームページ → 日本語技術資料 (マニュアル/アプリケーション・ノート/データ・シート 他)]
が最短ルートだろうか?

上巻: 第6章 プロシージャ・コール、割り込み、例外
中巻: 第3章/ 3.2. 命令リファレンス(RET, IRETとか)
下巻: 第6章 タスク管理
(最新を見ているのではないので章とかずれているかも?)

或いは
> (timer割り込みが入って…
の点では「下巻: 第5章 割り込みと例外の処理」もかも。

書籍では「はじめての486」とかに書かれていそうですが、書かれている中身自身を見るのとは別の目的でチラッと見ただけなので、恐らく書かれているだろうくらいしか判りませんけど。

IRETがリターンとして動くかタスクスイッチとして動くかはその呼び出し方によって変わると考えています。
それはまたtask1(), task2()についても言えるのだと考えていますが。
「考えています」とは自分自身がまだ実際に確認していないからですが、昨年、仕事で商用OSを解析していたときにそういった部分のコードを実際に目にして、なるほどなぁと理解しています。

その辺は先の辺りを熟読すれば解ってくるのだろうと思います。
恐らく、proc_switch()とIRET, 及びタスク(下巻: 第6章 タスク管理)の関係を見ることになるんでしょう。
単純に割り込み処理とタスク管理(TSS)をごっちゃにして扱ってしまうといけないんでしょう。

590 名前:ぴゅあ [2006/01/03(火) 17:04:39 ]
長くなってしまって申し訳ないけど分けて書きます。

>>586に書いた
> IRETを使ったジャンプとかいうのは別に珍しいものではなく古くからある手法です。

(RETをJMPに摩り替えると説明した方がいいのか?)
の「古くからある手法」というのはちょっと自信がなくなりました。
かつてZ80を使い始めていた頃に割り込みから早く抜け出したいというところで考えついたもので、書かれた書籍があるか?と問われると判らないです。
「古くから…」というのは自分の中でだけだったかも知れない・・・とか思ったり。

が、他にもやっていた人は居るんだろうし、「考えついた」とか言えば「そんなの昔からあるよ」とかツッコミが入ると思うので、「古くからある」としても間違いではないだろうと思います。
また、これを実際に使われているものとして先の商用OSの中(最近という意味で)でも見ていますし、珍しいものではないと思います。


> タスクスイッチ等をもう一度勉強し直します。

実際のコードとしてはずっと昔にOS-9のコードで最初に見たのだろうと思います。
書籍でも色々見たことを覚えていますが、それは今は持ってないので挙げられないです。また、もう手に入らないのだろうと思います。(同じ物は)

例えばGoogleとかでキー「マルチタスク」とかで検索すると色々と手法とか書かれているサイトや書籍の情報が出てくると思います。
探せというだけではつまらないので例を挙げてみると

CQ出版社「リアルタイム/マルチタスクシステムの徹底研究」
www.cqpub.co.jp/hanbai/books/33/33261.htm

そのまま使えるサンプルコードは載ってなかったりするだろうと思いますが、かなり参考になるのではないだろうか?という予感がしています。
(サイトの例は面倒なので割愛。探してみてください。)



591 名前:Be名無しさん mailto:sage [2006/01/03(火) 17:25:06 ]
monaスレの人は何処行っちゃったの??

592 名前:Be名無しさん mailto:sage [2006/01/03(火) 18:25:32 ]
>>591
OSを作ろうPart15Mona専用
etc3.2ch.net/test/read.cgi/siberia/1136088527/

593 名前:Be名無しさん mailto:sage [2006/01/03(火) 19:19:03 ]
シベリアなんかに作っても誰も寄ってコネェーな

594 名前:Be名無しさん mailto:sage [2006/01/03(火) 20:01:38 ]
>>593
荒らししかいなかったから見せしめ

595 名前:Be名無しさん mailto:sage [2006/01/03(火) 20:05:38 ]
荒らしに合わせて良スレを潰すとは愚かな奴等め

596 名前:OS& ◆WRre/7Sh7Q [2006/01/03(火) 20:55:01 ]
>ぴゅあさん
抽象的な質問に対して、親切に回答して頂きありがとうございます。

現在、task1, task2, idle_task の3つのタスクをつくり、task1,2のループ処理
が完了したらidle_taskで無限ループということが実現できました。
(タイマ割り込みの度にタスクスイッチ)

void timerHandler(void) {

// EOI(コード割愛)

// タスクスイッチ
// 現在task1 => task2、task2 => task1, task1,task2終了=> idle_task

// 呼ばれない処理達
asm("mov %ebp, %esp");
asm("pop %ebp");
asm("iret");
}

実際、ぴゅあさんからもご紹介があった、「はじめて読む486」を見て、
タスクスイッチ部は作りました。動いているはいるものの、内部でどういうこと
が行われているかを完全に理解していないので、
「IA-32インテルアーキテクチャソフトウェアデベロッパーズマニュアル 」を見て、
理解しようと思います。
「CQ出版社「リアルタイム/マルチタスクシステムの徹底研究」は持っていますが、
スケジューリングアルゴリズム等について詳しく書いていますが、実際にマルチタスクを
どうやって実現するかについては、殆ど書いていなかったと思います。




597 名前:OS勉強中 [2006/01/04(水) 15:32:11 ]
割り込みハンドラの実行中に、EOIを発行後、同一IRQの割り込みが発生する場合
ってありますでしょうか?

具体的には、タイマ割り込みハンドラ内の先頭でEOIを発行した直後、
そのハンドラ内での処理が完了する前に、もう一回タイマ割り込みが発生し、
2回目のタイマ割り込みハンドラの処理が先に終了する

という現象は起こりえますでしょうか?

598 名前:Be名無しさん mailto:sage [2006/01/04(水) 16:35:14 ]
>>597
EOIとはPIC->CPUの割り込みを有効にするもの
HW->PICとかCPUの最終割り込みはそれぞれ別に制御する
なのでCPUに割り込みを生成させたくなければ
どれかとめておく


599 名前:ぴゅあ [2006/01/04(水) 21:54:23 ]
>>597
起こり得るでしょう。
そのためにEFLAGSにIFがあり、STI,CLI命令があるでしょう。
例えタイマ割り込みの間隔がタイマ割り込み処理の処理時間より長くても起こり得ます。
ただ、タイマ割り込み発生時にはIF=0でしょうからSTI命令を実行しない限りは受け付けられないと思いますけど。

あまり覚えてないので正確ではないですが、
IF=0の状態ではその間に起こった割り込みは保留にされます。(IF=1になるまで待たされる)
それが「タイマ割り込みの間隔が長くても」というところに関わってきたりします。
またEOIは保留にされていた同レベルの割り込みに対して、次を送ってもいいよと伝えることになるんだろうと思うので、タイマ割り込み処理の早いうちにEOIを送って、かつ、IF=1にしてあったら
後続のタイマ割り込みが先に処理を終えるということも起こり得るだろうと思います。

600 名前:ぴゅあ [2006/01/04(水) 22:01:13 ]
>OS&さん

> idle_taskで無限ループということが実現できました。(タイマ割り込みの度にタスクスイッチ)
万事解決?


> 「はじめて読む486」を見て、タスクスイッチ部は作りました。
言われてみれば、書かれていたのをチラッと見たような気がしたりです。

> スケジューリングアルゴリズム等について詳しく書いていますが、実際にマルチタスクを
> どうやって実現するかについては、殆ど書いていなかったと思います。
そうなのかぁ。。。
と思って、本屋さんに行けたときに見てみようと思ってましたが(夕方にでも)
ウィルスだ〜という騒ぎで車で連行されて。。。(結局なんともなかったけど)
行く時間もなくなってしまったので、また行けたときに見てみます。

この辺り、見て来れてからと思っていたのですけど、取り急ぎレスだけ。


あと、ちょっと気になったというか・・・
「IA-32デベロッパーズマニュアル」を見ていけば解るのだろうとも思うのですけど、タスクスイッチの処理はpop %ebpとiretの間にあるのがよさそうに思えたりです。

あと、タイマ割り込み処理の呼び出しがどのようにしてあるかによるのだと思いますけど、ゲートを介していた場合IRET命令の次ってproc_switch()の先頭へジャンプする必要があったようにも思います。
proc_switch()の中身全体をfor ( ; ; ) { }で囲ったのでもいいんだろうか と思ったりですけどね。

proc_switch()の中身にもより…だと思うので、もう一度「はじめて読む486」(?)を見てからと思っていたりですけど。

ちょっと書籍を見てみて思うところがあったりしたら、また改めて。



601 名前:Be名無しさん mailto:sage [2006/01/05(木) 00:12:50 ]
>>595
まともなスレになってるみたいだけど。

602 名前:Be名無しさん mailto:sage [2006/01/05(木) 07:12:34 ]
早い段階でPICにEOIを送ると割り込みが許可されて二重に割り込みが発生する危険性がある
割り込み処理が終わるまでEOIを保留にすると他の割り込みをPICが受け取れない
なので
高度なOSはIMRをマスクして処理中の割り込みを禁止した後EOIを送ってPICを開放する

603 名前:ぴゅあ [2006/01/05(木) 21:30:37 ]
>OS&さん
私が>>589で想定して書いた書籍「はじめての486」(?)は似てるけど別物だったような気がしたりです。
で、その後「はじめて読む486」の方もチラッと見てたのが判りました。
…なんてのは別にどうでもいいですね。(^^;

CQ出版社「リアルタイム/マルチタスクシステムの徹底研究」(No.15)もなんとか見つけました。
私だと5秒で棚に戻してますね。。。
やっぱ自分の目で見てからでないと良さそうかも?とかでも言い難いですね。
解っているつもりの人か、十分やって解った人に向いた本なのか。。。そういった人たち向け?だったりするのかも?
尤も十分解ってきてるなら読まなくても足りてるような気もしないでもないですが。

想像力(創造力?)豊かに…とか言えるかと思ったけど、この本では今求めてそうなところは無理でしょうねぇ。。。

もうちょっと良さそうなのはないのかと、少ない書籍を見回しましたが、
辛うじて同シリーズのNo.17「リアルタイムOSと組み込み技術の基礎」というのを見つけました。
同じ読むならこちらの方が断然良いですね。
ただ…かなり物足りない(想像力(創造力?)豊かにするにも)というところで微妙というか
私としてのお勧めには程遠いですね。

でも知識を増やすために読んでみておくのは結構いいんだろうと思います。
なんかもうあまり内容覚えてないけど。。。(汗)

あと1冊、私としては面白そうな本もあったのですが、今OS&さんがやられている形態とはかなり違うものと思ったので取り敢えず置いておきましたけど。

ずっとどうしようかと思ってたけど、あれば気晴らし?にも読むだろうし、どんな風にしてるのかも何となく判るかな?と、折角なので「はじめて読む486」を買ってみました。
詳しいところとかは兎も角も、ヒントくらいは出せたりすることもあるんではないかと。

604 名前:OS勉強中 [2006/01/06(金) 00:22:07 ]
>ぴゅあさん
いろいろとご回答、調査ありがとうございます。とても参考にさせて頂いて
おります。

> 「IA-32デベロッパーズマニュアル」を見ていけば解るのだろうとも思うのですけど、タスクスイッチの処理はpop %ebpとiretの間にあるのがよさそうに思えたりです。
これは、割り込み前のスタック((cs, eip, eflagsが詰まれる前)の状態にするという
ことですよね? これをしないと割り込みが入るたびにスタックが詰まれていってしまい
そうですね。

ちょっと話がそれるかもですが、
複数のTSSを使ったタスクスイッチの場合は、tssのセレクタにfar jumpするので、
割り込みハンドラに戻らないと思いますが、
linux等のTSS1個を共有する場合では、タスクスイッチコードの後に割り込みハンドラに戻って
来るので、iret等がきちんと実行されると僕は理解しています。
(タイマ割り込みハンドラ内で、タスクスイッチをしていることを想定しています。
実際にlinuxではしてないかもですが。。)
この理解は正しいでしょうか?(まだTSS共有版を実装してないので、予想と他の人のコードを見た感じで話していてすいません。。)

「リアルタイムOSと組み込み技術の基礎」は参考までにとりあえず、立ち読みしてみます。

605 名前:OS勉強中& ◆9PKzhVYiO2 [2006/01/06(金) 00:25:01 ]
>>602
> 高度なOSはIMRをマスクして処理中の割り込みを禁止した後EOIを送ってPICを開放する
なるほどです。参考になります。ご回答ありがとうございます。

606 名前:Be名無しさん [2006/01/06(金) 21:35:11 ]
俺の今は使ってない自作PCのスペックを教える。
CPU:Pen600くらい
Mem:多分256だったと思う
OS:Win98SE
そんな俺のPCを再利用するためにOSを作ってくれ。
インターネットとメールができればいいです。

607 名前:Be名無しさん mailto:sage [2006/01/06(金) 21:58:14 ]
>>606
そうおもうなら自作してくれ
ここはそういう人のためのスレだ


608 名前:Be名無しさん [2006/01/06(金) 23:01:07 ]
OSはいいよOSは。ただドライバを作るのがめんどくさい。

609 名前:Be名無しさん [2006/01/08(日) 10:49:34 ]
どんなOSつくってもいまのPCじゃろくな物にならん。


610 名前:Be名無しさん mailto:sage [2006/01/09(月) 03:57:47 ]
>>609
じゃああなたは今何を使って書き込んでますか
もしかしてBIOS?



611 名前:Be名無しさん [2006/01/09(月) 19:42:12 ]
MPUはOS用にアプリ用とは別に備えるべきだな。
マルチタスクなどという「ハード資源の有効活用」的な考えはもう古い。
ひとつの高性能なMPUにOSからアプリまで無理やり走らせ、結局は
重いOSにすべて引きずられてしまうあほらしさ。
ひとつのアプリにひとつずつMPUを割り当ててしまえ。

612 名前:Be名無しさん mailto:sage [2006/01/10(火) 19:22:08 ]
>>610-611
最近の携帯で多いですね。

613 名前:Be名無しさん [2006/01/11(水) 20:42:23 ]
ハードディスクも無くしちゃえ。
プログラムはフラッシュメモリにいれ、それをわざわざRAMにロードせず
直接走らせる。当然ハーバードアーキテクチャを採用し、フラッシュメモリ
はリードオンリー。

614 名前:Be名無しさん mailto:sage [2006/01/11(水) 22:36:37 ]
【IT】MSのFATシステムに関する特許は有効、米特許商標庁が認める[01/11]
news18.2ch.net/test/read.cgi/bizplus/1136961124/

615 名前:Be名無しさん mailto:sage [2006/01/11(水) 22:51:54 ]
何度も議論されてることだが、特許対象はLFN。
8.3ファイル名でFATを使う限りは問題なし。


616 名前:Be名無しさん mailto:sage [2006/01/12(木) 01:04:04 ]
NTFSってボリュームの結合できないよね。

617 名前:Be名無しさん mailto:sage [2006/01/12(木) 01:06:00 ]
>>614-615
CNETがミスリードしてるんだな。最近そういう記事をよく見掛ける。

618 名前:Be名無しさん mailto:sage [2006/01/12(木) 01:11:30 ]
cnetって誤報だらけの・・・なんでもない

619 名前:Be名無しさん mailto:sage [2006/01/12(木) 01:26:23 ]
>>618
あー、ミスリードじゃなくて天然なのね....

620 名前:Be名無しさん mailto:sage [2006/01/16(月) 01:36:00 ]
わざとだろ



621 名前:Be名無しさん mailto:sage [2006/02/04(土) 18:23:35 ]
なかなか進みが無いのでROMを解除して質問させて頂きます

皆さんは情報をどこから仕入れているのでしょうか
(探してもなかなか詳しいのは出て来ないのです)

622 名前:Be名無しさん mailto:sage [2006/02/05(日) 02:07:45 ]
っgoogle

623 名前:Be名無しさん mailto:sage [2006/02/05(日) 10:11:31 ]
ソースを読むとか

624 名前:621 mailto:sage [2006/02/05(日) 12:16:52 ]
>>622
調べてみました
ただもう少し踏み込んだのがなかなか見つからないのです
>>623
著作権とかライセンスとかは大丈夫なのでしょうか

625 名前:ぴゅあ [2006/02/05(日) 17:02:04 ]
>>624
探す・調べるだけでは求めるものまでには到達しなかったりするでしょう。
断片的にも集まった情報らから組み立てる。
実際にそうであるか、やって確かめる。
手に入れた情報が100%合っているとは限らない(提示する際のミスとか含めて)ですし。

>著作権とかライセンスとかは大丈夫なのでしょうか
どんなことに対してどう関わってくるのか。
ソースを読むことだけで著作権とかライセンスとかが絡んでくるのだとすると
読める形でソースを見せていることからして問題にならないんだろうか?
と思ったりもしますけどね。

626 名前:ぴゅあ [2006/02/05(日) 17:08:09 ]
書き忘れ・・・

>ただもう少し踏み込んだのがなかなか見つからないのです
もう少し踏み込んだものというのがどういうものかにもより…だったりもするでしょう。
見逃しているか、探しようが足りないのか、的を外しているか
或いは容易には手に入らないものなのか。

>>625にダブるけど、足りないものを自分で補ってみたりしているか(想像・推測してみたりして)
とか

627 名前:Be名無しさん mailto:sage [2006/02/05(日) 23:55:19 ]
>>624
踏み込んだモノといっても、具体的にどんなものを求めてるの?
チップの制御法ならデータシート見ればいいし、
そういうのはメーカーサイトにPDFでおいてあることが多い。

手取り足取り初心者に教えてくれるような文章って意味なら、
そりゃ皆無に等しいと思う。書籍でなら多少はあるかな?

628 名前:Be名無しさん [2006/02/06(月) 12:17:07 ]
今有るものを上手に使いこなした方が面白いと思うけどなぁ。
例えばMacOSXを参考にしてみるのもいいんじゃないかと。

・OSXの基本的な部分。
Machカーネル+FreeBSDユーザーランド。ネットワーク機能はオープンソースアプリで。(Apacheなど)
描画システムにOpenGL、PDF+独自開発部分。データベースにSQLite+独自のフロントエンド。

こういった組み合わせを参考にして出来ないかな。
カーネルは独自開発、ネットワーク機能はBSDを利用しオープンソースアプリを利用みたいに。

・アクロバットでなくてもPDFができるのはなぜ?
www.antenna.co.jp/PDF/reference/PDFReference.htm
例えば、PDFを用いたOSXの描画システム↓
などは、PDFの利点を最大限活かした仕様になっている。同じようなものを作るのは不可能じゃない?
低レベルの部分をOpenGLに任せれば、GPU利用も苦にならない。
ja.wikipedia.org/wiki/Quartz

サラウンドライブラリならOpenAL、他にもOpenMLみたいな最新の技術とか色々選択肢があるよね。
どんな分野にもオープンソースモノ、標準規格、仕様公開モノが存在していて、どれも日々進化していく。
そういうものを最大限生かすことが出来て、しかもオリジナルな部分の開発に集中出来るという利点がある。

Monaの公式行くと、こんな風に書いてある。↓
>Monaはなるべく過去の負の遺産を引き継がないように努めています。
どうせなら、過去の負の遺産が無いので、最新技術をコアから贅沢に使ったOSを目指す。
とか言って欲しいと思った。

まあ、素人考えだからこんなことが言えるのだろうけどね。<俺がね。

629 名前:Be名無しさん mailto:sage [2006/02/07(火) 01:52:25 ]
>>628
既製品流用って結構面倒よ。
I/Fがきちんと定義されてればなんとかなることもあるけど。

Monaは過去の負の遺産がない代わりに未来に借金残してる気もするが、
楽しんでるようだからいいんじゃまいか。

630 名前:Be名無しさん mailto:sage [2006/02/07(火) 07:49:45 ]
太郎にとってMona自体負の遺産だけどな



631 名前:Be名無しさん mailto:sage [2006/02/07(火) 09:59:38 ]
不良債権は清算しないと損害が拡大する一方

632 名前:Be名無しさん mailto:sage [2006/02/07(火) 12:09:56 ]
>>629
まあ世の中POSIXでつから、そこから大きく外れなければ
なんとかなるんでないかい。

uIPのAPIをC#風にラップなんて腹壊しそうな食い合わせより正しい方向だろう。


633 名前:Be名無しさん mailto:sage [2006/02/07(火) 14:33:57 ]
POSIX == 負の遺産 == 不良債権

634 名前:Be名無しさん mailto:sage [2006/02/07(火) 15:58:02 ]
>>633
strcpyをわざわざString::Copyとかにする方が不良債権化するだろ

635 名前:Be名無しさん mailto:sage [2006/02/07(火) 16:33:14 ]
んなこと言ってたら何もできんジャマイカ

636 名前:Be名無しさん mailto:sage [2006/02/07(火) 16:45:19 ]
他にはないような独自の機能を作れば独自のAPIも光る。
車輪の再発明と違ってデファクトスタンダードだって狙える。

637 名前:Be名無しさん mailto:sage [2006/02/07(火) 16:49:24 ]
>>636
どんな斬新なソフトもPOSIXの上に組まなければデファクトなんて無理

638 名前:Be名無しさん mailto:sage [2006/02/07(火) 16:50:48 ]
非POSIXなWindowsがデファクトですが何か?

639 名前:Be名無しさん mailto:sage [2006/02/07(火) 16:53:23 ]
>>638
つSFU

640 名前:Be名無しさん mailto:sage [2006/02/07(火) 16:55:13 ]
>>639
それ後付けサブシステムだから。



641 名前:Be名無しさん mailto:sage [2006/02/07(火) 16:57:47 ]
デファクト目指してOS自作するなんて正気の沙汰ではないな。
趣味なんだからどうでもいいだろ。

642 名前:Be名無しさん mailto:sage [2006/02/07(火) 17:56:24 ]
【Mona脳】

Mona == 構造改革OS
POSIX == 負の遺産 == 不良債権
Windowsがデファクト
趣味なんだからどうでもいいだろ

643 名前:Be名無しさん mailto:sage [2006/02/07(火) 19:00:47 ]
ここMonaスレじゃないから、続きはこっちでやれや。
etc3.2ch.net/test/read.cgi/siberia/1136088527/

644 名前:Be名無しさん mailto:sage [2006/02/10(金) 00:21:55 ]
forkの使えるWindowsがほしい


645 名前:Be名無しさん [2006/02/10(金) 01:15:44 ]
>>644
windowsタン殺す気か・・?
CreateRemoteThread()とかcygwinとかmigw(できるか?)とか?

てか自スレで完結してろっすよ・・!! (=゚Д゚=)

646 名前:Be名無しさん [2006/02/10(金) 06:55:09 ]
てか今進捗どのくらいか教えて

647 名前:Be名無しさん mailto:sage [2006/02/27(月) 16:05:02 ]
www.cbook24.com/bm_detail.asp?sku=4839919844

この本はいいと思う?

648 名前:Be名無しさん mailto:sage [2006/02/27(月) 16:40:17 ]
>>647

追加情報
wiki.osask.jp/?HariboteOS
book.mycom.co.jp/user/preview/4-8399-1984-4/


649 名前:Be名無しさん mailto:sage [2006/02/27(月) 17:58:12 ]
>>647
まじめに勉強するつもりならTanenbaum本か悪魔本を読んだ方がいいと思う。

なんとなく詰め込みすぎな気がする。でもって肝心な部分が落ちてたりとか。
まあ現物を見ないとなんともいえんが。


650 名前:Be名無しさん mailto:sage [2006/02/27(月) 18:05:10 ]
>>649
やっぱりその二つですか。



651 名前:Be名無しさん mailto:sage [2006/02/27(月) 18:59:27 ]
悪魔本って何ですか?

652 名前:Be名無しさん mailto:sage [2006/02/27(月) 21:00:13 ]
BSDの悪魔本じゃね。赤と黒。
Operating System Conceptsってどんな感じの奴?

653 名前:649 mailto:sage [2006/03/02(木) 17:25:19 ]
読まないで批判するなとか言われたので立ち読みしてきた。
結論は変わらず。

ファイルシステムの話が無いに等しいのはPC用OSの解説としては話にならんと思う。
なんか32bitでマルチタスク+GUIを実現するのに直接関係ない部分が放置されている印象が。
まあOSの定義が違うといえばそれまでですが。

>>652
さいです。
赤の和訳はやめとけと言ってみるテスト。


654 名前:Be名無しさん [2006/03/02(木) 18:53:35 ]
EXE動くOSって別に作って良いの?

655 名前:Be名無しさん mailto:sage [2006/03/03(金) 02:34:34 ]
ヲッチしてるかもしらんけど、一応。
>>647
slashdot.jp/books/06/03/02/034208.shtml

ついでに言うと今月のOSM(3月号)のLinux Kernel解読室で
Linux Kernelの起動の仕組みについて解説があったよ。

656 名前:Be名無しさん mailto:sage [2006/03/03(金) 14:11:29 ]
>>653
初心者向けの入門書として考えると良書だと思うけどなぁ。
デバッグの仕方も書いてあるあたりも好感を持てる。

OS本というと、Minix本が必ず賞賛されるのだが、
記述の古さが目立つように思う。

次のステップの本として、
組込みOS構築技法、詳解Linuxカーネルあたりをお勧めしたい感じ。

657 名前:Be名無しさん mailto:sage [2006/03/03(金) 14:21:29 ]
>>654
Windowsで動くファイルを動かせるOSを作って大丈夫かって事か?
訴えられたりするんじゃないか?分からんけど

658 名前:Be名無しさん mailto:sage [2006/03/03(金) 14:44:49 ]
>>657
EXE、つまりPE形式のことだろうが、例えPE形式を扱うにしろ、
Windowsで動くプログラムを直接そのOSでは動かせない。

何故かというと、システムコールだって違うし、OSの仕組みが違うから。

単純に実行ファイルの格納形式が同じであって、
現実は全く関係が無い。

ただし、Windows用のコンパイラをそちら用に使うことに関してはよく分からん。

659 名前:Be名無しさん mailto:sage [2006/03/03(金) 14:49:21 ]
>>658
>ただし、Windows用のコンパイラをそちら用に使うことに関してはよく分からん。
CooSの高橋氏がその辺調べて無問題と判明した筈

660 名前:Be名無しさん mailto:sage [2006/03/03(金) 14:53:38 ]
>>657
あぁ但し本当にWindowsで動くプログラムを動かせるOSに関しては、グレーゾーン。

ReactOSがWindows互換OSを作っている。
何か最近開発停止していたみたいだが。
ただこの停止は、Windowsのソースコード流出に関して、
そのコードが使用されているかの検証らしいから、別問題ではあるが。




661 名前:649 mailto:sage [2006/03/03(金) 16:50:44 ]
>>656
出来上がる物があまり"普通"じゃないのが気になるもので。
そのへんを理解していれば別にいいと思いまふが。

>>660
クリーンルーム手法で開発すれば問題ないんでは。
Reactはその前提が件のトラブルで崩れてしまったと。


662 名前:Be名無しさん mailto:sage [2006/03/04(土) 01:01:36 ]
EXE動かすだけなら、適当なOSとWindows方式の動的リンクを解決できるローダーと
WinAPI互換ルーチンがあればいいという考え方もある。
ttp://chiharu.haun.org/peace/ja/

互換OSにくらべれば、やれることに限度はあるけどね。

663 名前:Be名無しさん [2006/03/05(日) 15:55:51 ]
C/C++いっさいなし、Javaだけで開発されたOS - JNode
pcweb.mycom.co.jp/news/2006/03/03/341.html


664 名前:Be名無しさん mailto:sage [2006/03/05(日) 17:54:49 ]
回答ありがとうございました。
又はWindows用に作られたファイルのプログラムをちょっと弄るだけで
動くようになる方法とかがあれば
シェアを取れる日本のOSとかが出来て良いなーとも思います。
これは無理かな?素人過ぎて失礼しました。

665 名前:Be名無しさん mailto:sage [2006/03/05(日) 20:36:19 ]
手間を考えると現実的じゃないですな。


666 名前:Be名無しさん mailto:sage [2006/03/05(日) 20:46:17 ]
>>664みたいな口だけの奴が多いから、ろくなソフトができない。

667 名前:Be名無しさん mailto:sage [2006/03/07(火) 15:53:50 ]
マカのmach-oなんてのもあるね。
compat_darwinネタ?

668 名前:Be名無しさん mailto:sage [2006/03/07(火) 18:39:22 ]
(´・ω・`)結局アマゾンじゃHaribote本が何冊掃けとるかワカランがな

669 名前:Be名無しさん mailto:sage [2006/03/12(日) 20:15:29 BE:688632487- ]
質問
UNIXってCで作られたOSって聞くんですけど、起動部分もCですか?

あと、もし起動部分もCなら、
いまx86バイナリ(起動可)が出せるCコンパイラってありますか?


駄問スマソ

670 名前:Be名無しさん mailto:sage [2006/03/12(日) 20:34:12 ]
言語の事、もうちょっと勉強しような。



671 名前:Be名無しさん mailto:sage [2006/03/12(日) 20:43:47 BE:516474667- ]
やっぱりアセンブラじゃないとだめでしたか。
がんばってアセンブラ習得してきます。

672 名前:Be名無しさん mailto:sage [2006/03/12(日) 21:18:08 ]
アセンブラで書かれてるわけじゃなくて、最終的には機械語でしか解釈されない。
それにもっとも近いのがアセンブラで、ある程度人間にも理解しやすくしたものがC言語。


673 名前:Be名無しさん mailto:sage [2006/03/14(火) 04:25:31 ]
Itenium,PowerPc,Sparc の3種類で動くOSを
一発で書きたいんですが、なんとかなりませんか?
仮想アセンブラを想定して、そこから3種類に
吐き出そうと思ってるんだけど、アセンブラって
そんなに違うんですか?遅くてもいいから基本的
な命令だけを使おうと思ってるんですが。

674 名前:Be名無しさん mailto:sage [2006/03/14(火) 07:40:17 ]
ブートセクタで分岐してその後別々に動くなら、昔、86系と68系
どっちでも(PC-9801とX68K)起動するディスクとかあったけど、
ソース全域共有するとなると大変だと思うぞ。

ハード依存の部分以外は無理すりゃ出来んこた無いと思うけど、
Cに比べてメリットあるかなー
つーかよく考えたらCって多CPU対応の仮想アセンブラの一種だよな…

675 名前:Be名無しさん mailto:sage [2006/03/14(火) 08:44:26 ]
どこがC言語で書けなかったかのか、
最後に教えてくれるだけでも助かる。
C言語自体を、もっと細かく拡張してみるよ。
幾らなんでもアセンブラより短くなるでしょ。

676 名前:Be名無しさん mailto:sage [2006/03/14(火) 10:11:42 ]
俺VM作って、その上で動かす。

どんなに頑張っても言語レベルで吸収できない部分があるのですよ。
まあ、そのへんの隠蔽をコンパイラに押しつければ、見た目は共通になるが。


677 名前:ぴゅあ [2006/03/15(水) 01:44:50 ]
> 昔、86系と68系 どっちでも(PC-9801とX68K)起動するディスク
私は残念ながらこの存在は知らないですけど…
私もかなり大変なことだと思いますよ。

> Itenium,PowerPc,Sparc の3種類
ってことですけど、それぞれに共通の命令セットを作り出すとしても、
その仮想アセンブラ(?)を作り上げようというところからして大変そうな・・・

これらはそれぞれがプロセッサですよね?

それぞれの命令セットから拾い上げて新たな命令セットが作リ出せたとしても、
まずアセンブラとしてはそれぞれに作らないといけなくなるんでしょう。
そして恐らくどうしてもプロセッサ固有の部分が出てきてしまったりするんでしょう。
でもって、それらプロセッサがあっただけでは無理な筈。
動かすマシンとなるものは、それぞれに既存のものを使ったりすることになるのでしょうし、
それらハードの違いはどうするのか。

中核になる部分をアセンブラにしたいんだ!としても、
下層の部分はどうするんだ?というところになって…
確かにVMを作るとかいうことも考えられたりするのでしょうけど、
「アセンブラにしたい」というところで、アセンブラからイメージされるようなところを
引き出したいということだったりもするのでしょうから、
それが引き出せるのか?ということにもなったりするんではなかろうかと思ったりです。

仮想アセンブラとかを考えたりするくらいなら、
既存の高級言語を使った上でOSとしてどういうものを作るかとか、
或いはOS開発向けの言語として新しい言語を考えてみるとかの方がよさそうにも思えたりですけどね。

678 名前:ぴゅあ [2006/03/15(水) 01:46:17 ]
もひとつ

>675
> どこがC言語で書けなかったかのか、

誰が誰に聞いているのか判らないところですが・・・

C言語で書けない可能性があるのはmain関数に来るまでの
スタートアップルーチン(と呼んでた筈?)の前半にあたる部分になったりするでしょうね。
(書けなくはないだろうけど(OSによると言えると思う)、恐らくCで書かない方が楽だったりするんでしょう)

普通にコンパイラを使っているときには目にすることも少なかったりするものと思いますが、
大抵OSの違いをここで吸収する最初の部分になっているでしょう。

679 名前:Be名無しさん mailto:sage [2006/03/15(水) 02:27:04 ]
>>673
main(){for(;;){}}
↑これをOSにして、それを動かすアセンブラを各CPU用に書けば良いんジャマイカ


680 名前:Be名無しさん [2006/03/15(水) 07:17:50 ]

オーエスー!オーエスー!オーノー?



681 名前:Be名無しさん mailto:sage [2006/03/15(水) 11:26:15 ]
>>677-678
OSを作るということであれば、命令セットの差なんて些細な問題でつ。
それ以外のアーキテクチャに依存する部分をどうやって抽象化するか…
んで、その問題に対する(たぶん)現実的な解答がVMで隠すということでつ。

初期化処理はOSを起動したいのか、アプリケーションなのかによって話が変わってきますな。
OSの場合はどう頑張ってもCで書けない部分がでてくるので、インラインでもいいけど
アセンブラ必須でつ。
アプリの場合は、OSがある程度初期化してくれるという前提でCだけでも書けまふ。

まあ、とりあえずの課題としてHariboteOSを非AT機に乗っけるなんておもろいかもしんない。
あれはちょいと頑張ればどこに持っていっても動くはず。

しかし、夢があってよいことですなあ。
頑張って勉強しとくれ。


682 名前:Be名無しさん mailto:sage [2006/03/15(水) 22:53:39 ]
>>681
EFIだとCだけで書けたりしないかな?
最も、EFIの使えるBIOSは全然普及していないが。


683 名前:682 mailto:sage [2006/03/15(水) 22:54:36 ]
さすがにタスクスイッチなど、無理な部分はあるか。。


684 名前:Be名無しさん mailto:sage [2006/03/15(水) 23:28:51 ]
>>682-683
あーEFIならいけるかもしれない。

コンテキストスイッチなら、コンパイラで割り込み関数書ければどうにでもなりまふ。
といっても中身を共通化するのはほぼ不可能ですが。


685 名前:Be名無しさん [2006/03/17(金) 23:34:32 ]
OS自作入門って本が売ってたよ。
お金なくて買えなかったけど。

686 名前:Be名無しさん [2006/03/19(日) 15:50:42 ]
っつーか、Wineをそのまま軽いLinuxに詰めてOSにすればEジャマイカ

687 名前:Be名無しさん mailto:sage [2006/03/19(日) 16:01:58 ]
ぜひ作って配布してくれ。


…とlinuxを軽くしようとして挫折した俺が言ってみる。

688 名前:Be名無しさん mailto:sage [2006/03/20(月) 13:34:31 ]
みんな、EFIとか言葉ぐらい知ってるレベルでも、さぞ俺は詳細まで知ってるんだみたいな
書き方しやがって。ちなみに、俺は言葉しかしらん。


689 名前:Be名無しさん mailto:sage [2006/03/20(月) 14:00:55 ]
>>686
どっちかてーとXの方が重いような気がするでよ。

まあメモリ管理なんかもすり合わせるに苦労していたはずなので、
そのへんもWineにあわせたOSを作ってしまうのが一番かもしれない。

そうするとReactOSになるような気がしないでもないが。


690 名前:は@ c178.016.c3-net.ne.jp ◆cplnFO9T0I [2006/03/20(月) 15:01:32 BE:322790988- ]
>>689
ReactはデバイスドライバーまでNT4.0と互換性のある奴にするって言うプロジェクトです。
でもWineに特化したLinuxディストリビューションというのも結構面白そうですね。



691 名前:Be名無しさん mailto:sage [2006/03/20(月) 23:03:58 ]
>>688
wikipediaでEFI(コンピュータ)を見ればなんとなくわかる


692 名前:Be名無しさん mailto:sage [2006/03/21(火) 11:38:21 ]
>>691
うぃきwww

693 名前:Be名無しさん mailto:sage [2006/03/27(月) 19:23:24 ]
ブートセクタがかなり面倒・・・

694 名前:Be名無しさん mailto:sage [2006/03/32(土) 14:58:07 ]
3/32記念

695 名前:Be名無しさん [2006/04/06(木) 00:54:37 ]
www.personal-media.co.jp/book/tron/229.html

上記の本を基準にOSを開発することは可能ですよね。
Java言語を使って開発することも可能ですか。

よろしくお願いします。

696 名前:Be名無しさん mailto:sage [2006/04/06(木) 10:06:54 ]
>Java言語を使って開発することも可能ですか。
という疑問を持つレベルでは無理。


697 名前:Be名無しさん mailto:sage [2006/04/06(木) 10:25:57 ]
>>695
>Java言語を使って開発することも可能ですか。

たしかPart2の時にもそんな奴いたよな

698 名前:Be名無しさん mailto:sage [2006/04/06(木) 10:41:02 ]
>>696-697
それDIOに無視されてる奴
pc8.2ch.net/test/read.cgi/os/1119308192/586-587
pc8.2ch.net/test/read.cgi/os/1119308192/593-594

699 名前:Be名無しさん [2006/04/06(木) 14:24:03 ]
DIO に無視されたのであればあきらめます。

失礼しました。

700 名前:Be名無しさん mailto:sage [2006/04/06(木) 14:31:34 ]
700get!!



701 名前:氏天国 [2006/04/06(木) 14:48:56 ]
   
WindowsXPマグナム600

702 名前:Be名無しさん mailto:sage [2006/04/06(木) 22:06:53 ]
相変わらず何の進展もないスレだな


703 名前:Be名無しさん mailto:sage [2006/04/06(木) 22:10:25 ]
このスレ名物のIPLはK本に喰われちまったからな

704 名前:Be名無しさん [2006/04/07(金) 12:10:44 ]
>697
ヒント:ひげぽん

705 名前:Be名無しさん [2006/04/07(金) 17:18:53 ]
>>704

途中まで読んで挫折。
記事おおすぎ。

勉強になるのでじっくりと読んでいきます。

706 名前:Be名無しさん mailto:sage [2006/04/09(日) 14:51:48 ]
>>703
Intel MacのEFIで起動できるIPLはまだ未開拓ですよ!!


707 名前:Be名無しさん mailto:sage [2006/04/09(日) 14:55:04 ]
>>706
Boot Camp入れればEFIに対応しなくてもIntel Macで動く
むしろ問題はPS/2がないこと

708 名前:Be名無しさん mailto:sage [2006/04/09(日) 18:52:27 ]
>>707
GPTから起動できるIPLってこと
せっかくEFIという良いものがあるのに
古き悪しきBIOS使うのはもったいないよ
4つしかパーティション切れないしセクタ0が死んだらHDD即死だし


709 名前:Be名無しさん mailto:sage [2006/04/09(日) 21:46:28 ]
>>708
GPTを使ったら窓と共存できなくなるので時期尚早

710 名前:Be名無しさん mailto:sage [2006/04/09(日) 21:46:53 ]
もう萌えOSを作る輩はいないのか




711 名前:Be名無しさん mailto:sage [2006/04/09(日) 21:51:22 ]
めぐたんがあるじぇりあ

712 名前:Be名無しさん mailto:sage [2006/04/09(日) 21:51:54 ]
>>709
そんなもん両方作るだけだろ


713 名前:Be名無しさん mailto:sage [2006/04/09(日) 22:37:28 ]
>>712
君が作りたいなら作ればいいだけ
GPTやEFIが素晴らしいからと他の人に期待しても
どうせ使わない品って話になるってこと

714 名前:Be名無しさん mailto:sage [2006/04/09(日) 22:44:01 ]
VistaはGPTくらいサポートするだろ

715 名前:Be名無しさん mailto:sage [2006/04/09(日) 22:53:21 ]
>>714
GPTは知らないがEFIには対応しない

716 名前:Be名無しさん mailto:sage [2006/04/09(日) 23:01:06 ]
Windowsの話にすりかわっているが
元々IntelMacの話なんだからWindowsなぞ論外

717 名前:Be名無しさん mailto:sage [2006/04/09(日) 23:13:25 ]
Boot Campが出てきたことからして、
アップルが現実に妥協せざるを得なかったことは自明。

718 名前:Be名無しさん mailto:sage [2006/04/09(日) 23:23:11 ]
まああれだ、昔95とNTを共存させて、普段はNTを使って、
ゲームのときだけ95を起動したのと同じようなもんだ。

719 名前:Be名無しさん mailto:sage [2006/04/10(月) 22:25:26 ]
WinだとかAppleとかは
このスレにはどうでも良いことだとおもうんだが

そういう話題しかない時点でこのスレ終わってるな


720 名前:Be名無しさん mailto:sage [2006/04/10(月) 22:39:26 ]
タイトル負けしてるな



721 名前:Be名無しさん mailto:sage [2006/04/10(月) 23:48:00 ]
そもそも、このスレで生まれ
志半ばで消えたOSはいくつくらいあるんだ?


722 名前:Be名無しさん mailto:sage [2006/04/11(火) 00:41:28 ]
>>706
GURBの人ががんばっとるので、とりあえずMultiboot specificationに
対応しとけば、なんとかなるんでないかい。


723 名前:722 mailto:sage [2006/04/11(火) 00:42:50 ]
うがtypoした。
s/GURB/GRUB/


724 名前:Be名無しさん mailto:sage [2006/04/11(火) 01:19:21 ]
「ガ〜ブ」
「メイ」
「私たち秘密の友達ですよね!」

725 名前:Be名無しさん mailto:sage [2006/04/11(火) 03:34:09 ]
このスレ名物のIPLはFDブートオンリーなわけだが。

726 名前:Be名無しさん [2006/04/13(木) 21:08:24 ]
最近はSGIのUNIXワークステーションを使いたいが。
これに比べりゃきっとマクもドザも屁みたいなもんだろうな。

727 名前:Be名無しさん mailto:sage [2006/04/13(木) 22:47:24 ]
IRIXでつか。
優雅でよいですな。


728 名前:Be名無しさん mailto:sage [2006/04/18(火) 10:01:55 ]
「30日でできる!OS自作入門」を読んでOSを作りたくなったけど、
何の為に作るのかってのが問題で、一歩を踏み出せない・・・。

729 名前:Be名無しさん mailto:sage [2006/04/18(火) 12:56:33 ]
まあWindowsが無料で軽くて小さけりゃ、作る必要ないんだけどなあ…

730 名前:Be名無しさん [2006/04/18(火) 23:39:43 ]
>> 728

729さんの発言に載るつもりで作成開始ですかね。



731 名前:Be名無しさん [2006/04/19(水) 04:00:56 ]
現在Mindowsの製作中です

732 名前:Be名無しさん mailto:sage [2006/04/19(水) 14:28:40 ]
PC向けのOSは、今からじゃ厳しいなぁ、
DOSやwin3.1の時代なら、マイクロソフトに追い付けたかも知れないが。

733 名前:Be名無しさん [2006/04/19(水) 14:32:38 ]
どうして?教えてエロイ人!!

734 名前:Be名無しさん mailto:sage [2006/04/19(水) 15:20:41 ]
MSDOSは、ファイルシステムと糞メモリ管理が主体で、
あとはオマケのようなものが付いてるだけだから、
ある程度、専門的な知識があれば一人で十分作れるよ。

Win3.1はちょっと厄介だが、APIの数が少ないので、
少人数でも十分作れる気がするが、
16bit仕様のWindowシステムは、かなり苦労しそう・・・。

735 名前:Be名無しさん mailto:sage [2006/04/19(水) 15:33:08 ]
>>734
>>270

736 名前:Be名無しさん mailto:sage [2006/04/19(水) 16:20:59 ]
ex14.2ch.net/test/read.cgi/news4vip/1145429729/

  ( ゚д゚)     
_(__つ/ ̄ ̄ ̄/_ 
  \/    /
     ̄ ̄ ̄
 
  ( ゚д゚ )
_(__つ/ ̄ ̄ ̄/_ 
  \/    /

737 名前:Be名無しさん mailto:sage [2006/04/19(水) 17:12:11 ]
>>736
夢タソかな?
頑張ってるねー
もしかしてobjcもやってるとか?
pc8.2ch.net/test/read.cgi/tech/1106983092/452

738 名前:J [2006/04/21(金) 01:55:19 ]
なんかJAVA & asmで作ったOSというのがあるゾ
www.jnode.org/
試してないけど・・・


739 名前:Be名無しさん mailto:sage [2006/04/21(金) 11:07:42 ]
>>738
JavaVMはどうしたんだろう?
自分で作ったのかな?

740 名前:Be名無しさん mailto:sage [2006/04/21(金) 11:27:02 ]
>>739
オプソなんだからソースを見れば良いかと。



741 名前:chaopon mailto:sage [2006/04/28(金) 15:35:34 ]
玄箱使ってPowerPC用のOS作りに挑戦してみようかな。来週の連休あたりから。
PPCだとPC/ATのBIOSにあたる部分の仕組みがよくわからないんだよなぁ。
それに表示系はシリアルポート経由になるだろうけど玄箱には、外部的に
シリアルポートがないんで箱開けて内部のpinから伸ばさないといけないっぽ。
ハードの知識も要りそうだ。
それにPC/ATと違って出力はシリアル経由になるだろうしその辺を調べないと
"hellow world"さえ出来ないね。

742 名前:Be名無しさん [2006/04/28(金) 22:52:32 ]
918 名前:903[] 投稿日:2006/04/28(金) 20:57:06 ID:OS/GNUoL
ホムペでは「予定日より遅れる見込み」だったけど、
今帰ってきたら運送会社の不在連絡票があった。
予定より5日早くきたんだね。
早速、再配達依頼出すぞ!

743 名前:政府が [2006/04/28(金) 23:07:26 ]
 
【IT/政治】日本政府、「世界最高水準のセキュリティー」の次世代OS開発着手へ
:Winny被害に対応[06/04/29]
news19.2ch.net/test/read.cgi/newsplus/1146231538/l50

744 名前:Be名無しさん mailto:sage [2006/04/28(金) 23:49:43 ]
Σの臭いがする

745 名前:Be名無しさん mailto:sage [2006/04/29(土) 09:43:51 ]
OS作ってみたいのですけど
初心者はまずここを読めって所
ご存知でしたら教えてもらえませんか?

746 名前:Be名無しさん mailto:sage [2006/04/29(土) 11:53:26 ]
>>745
それすら調べられないなら、諦めたほうがいいよ。

747 名前:Be名無しさん mailto:sage [2006/04/29(土) 12:21:46 ]
>>745
ターゲットは?
目標は?

748 名前:Be名無しさん [2006/04/29(土) 18:37:46 ]
>>747
ターゲットも目標も同じ意味では。

ちなみに、私個人の意見としては、
ターゲット → 敵
目標 → 女性

749 名前:Be名無しさん mailto:sage [2006/04/29(土) 18:47:31 ]
ターゲット=機種
目標=どこまで作りこむか



750 名前:ぴゅあ [2006/04/30(日) 01:56:16 ]
target→標的
aim→目標(目指すところ)
とか

ま 「ターゲット」も「目標」も単語並べてるだけで
何を指しているか明確になってないし
どうにでも取れるし

てか
> ターゲット → 敵
> 目標 → 女性
が言わんとするところは私には難解だ。。。

なんて話はどうでもいいか・・・

>>745
まずは「OSとは何か」とかからでも?
でないと(かどうかは判らんけど)、
アプリ作ってんだかOS作ってるんだか
よく判らんということもあったりでしょう(?)

数日前、
平気でとんでもないこと得意げに言ってる方
見かけたり・・・



751 名前:Be名無しさん mailto:sage [2006/04/30(日) 16:51:07 ]
とりあえずOS自作入門って言う本買ってきた。
今は読み物として読んでる。
本気でやったらライフワークになりそうな濃厚さですね…OSって
ぼちぼち知識蓄えていきます…

752 名前:Be名無しさん mailto:sage [2006/04/30(日) 17:07:42 ]
>750
でも逆に、

・簡単なアプリ作る
→何とかOS使わずに起動するようにしてみる
→アプリ用のプラグインを作れるように
→プラグインで出来ることを増やしていく
→いつのまにかOSっぽく

…みたいのも有りじゃね?

最初からOS作ろうとしても、すぐ報われない作業ばっかりで飽きると思う。

753 名前:Be名無しさん [2006/04/30(日) 17:14:49 ]
www.amazon.co.jp/exec/obidos/ASIN/4774125121/qid%3D1133775518/249-4217143-9801126

見当違いですかね。

ソースコードが短いように思えるので、理解できるようになりやすいかと・・・。

本当に短いのかどうかまではわかりかねます。

754 名前:Be名無しさん mailto:sage [2006/04/30(日) 21:36:28 ]
>>752
Linuxも最初は端末エミュだったそうですね。
>>753
リンク間違ってないか?

755 名前:Be名無しさん [2006/05/02(火) 14:59:50 ]
>>754

・・・発言しにくいのですが、間違いではありません。

ブートのことを勉強できるかと思って・・・。


無理ですかね。

756 名前:Be名無しさん mailto:sage [2006/05/02(火) 15:01:42 ]
無理

くあしくは詳解linuxカーネルでも嫁

757 名前:Be名無しさん mailto:sage [2006/05/02(火) 19:00:38 ]
>>755
>>753って「Linux ソフトウェアアンテナ」のリンクだよね?
本を読んだわけじゃないが、目次を見たところブートまわりのコードは掲載されてなさそう。

758 名前:Be名無しさん [2006/05/02(火) 20:19:03 ]
>>757

一応中を見ましたが、ソースコードが書いてあったので、それをいじればと思いましたが、ブートではないソースコードという意味ですね。

ご迷惑をば

759 名前:757 mailto:sage [2006/05/02(火) 20:32:40 ]
>>758
書名と目次だけで判断してた。本の中読んでないんで役に立つコードか俺は判断できない。
大変失礼致しました。

760 名前:Be名無しさん [2006/05/02(火) 23:16:44 ]
>>759

いえいえ、私もプログラミングの勉強をしているとはいえ、ソースコードを見て判断できるほどの知識を持ち合わせているわけではありません。
混乱させて申し訳ありません。



761 名前:Be名無しさん mailto:sage [2006/05/02(火) 23:52:01 ]
はじめての486→SunriseOSでもチマチマ解読でおk
次にごく初期のLinuxコードを解読してけば、ある程度の知識はつく。
それからタネ本でも読めば、自作OSも夢ではない。

邪道だけど、「自作OSつくったよ。俺すげーよ。」って自慢をしたいだけなら、OS自作入門で十分。
もれなく印税のうちいくらかは学会にry

762 名前:Be名無しさん mailto:sage [2006/05/02(火) 23:54:00 ]
じゃあ僕は3番目で

763 名前:Be名無しさん [2006/05/03(水) 04:30:28 ]
>>762

同意

764 名前:Be名無しさん mailto:sage [2006/05/03(水) 14:48:47 ]
>>761
>もれなく印税のうちいくらかは学会にry
これってソースあんの?

765 名前:Be名無しさん mailto:sage [2006/05/03(水) 14:52:34 ]
NHK層化放送局のtron関連番組を真に受ける人は、学会という言葉に敏感ですね

766 名前:Be名無しさん mailto:sage [2006/05/10(水) 12:13:04 ]
こんなんみつけた
ttp://nxdos.sourceforge.net/

FDイメージ欲しいな。


767 名前:Be名無しさん mailto:sage [2006/05/14(日) 22:21:18 ]
やねう師匠大変なことになってたね…

768 名前:Be名無しさん [2006/05/15(月) 07:22:04 ]
>>767
週末は祭り状態だったね

769 名前:Be名無しさん mailto:sage [2006/05/15(月) 17:39:09 ]
祭りは終わった

結論
・大団円
・師匠は会社畳む
・ryokoと美人嫁と横谷絵里奈はネカマだった
 以上

770 名前:Be名無しさん mailto:sage [2006/05/15(月) 22:32:48 ]
>・ryokoと美人嫁と横谷絵里奈はネカマだった

kwsk



771 名前:Be名無しさん mailto:sage [2006/05/15(月) 22:44:41 ]
>>770
ryoko --> pc8.2ch.net/test/read.cgi/prog/1147489445/
美人嫁 --> そもそもネットに出てないのでガセ
横谷絵里奈 --> pc8.2ch.net/test/read.cgi/os/1112667480/

772 名前:Be名無しさん mailto:sage [2006/05/16(火) 11:30:36 ]
>>771
ネカマはガセだが美人はガチ

773 名前:Be名無しさん mailto:sage [2006/05/18(木) 03:34:20 ]
逃げちゃダメだ逃げちゃダメだ逃げちゃダメだ

774 名前:Be名無しさん mailto:sage [2006/05/18(木) 09:29:35 ]
Faint heart never won fair lady.

775 名前:Be名無しさん [2006/05/21(日) 20:19:00 ]
よし、
OS=スイッチ入れたら自動的に何かやってくれるソフトウェア
という定義に基づいてOS作ります。


776 名前:ぴゅあ [2006/05/21(日) 21:07:09 ]
うーん・・・
何かやってくれるんではなくて、
何かやれるようにしてくれるものを指すと思ったりしますけどね。

何かやってくれるソフトウェア=アプリケーション
のように思ったりです。

(勝手に?)定義するのはいいけど
定義してしまっていいのかどうか。。。

ロボット工作掲示板で似たような話見て
うーん。。。と思ったけど…

777 名前:Be名無しさん mailto:sage [2006/05/21(日) 22:30:43 ]
>>775
目的動作が含まれてるものはOSとは言わない
単なるアプリ

778 名前:Be名無しさん [2006/05/21(日) 22:55:49 ]
>>775
OSとかアプリとか気にせず
作りたいもの作ればよいとおもうよ


779 名前:Be名無しさん mailto:sage [2006/05/22(月) 10:50:18 ]
電源入れたら文章が書けるようになるOSプリーズw

780 名前:Be名無しさん mailto:sage [2006/05/22(月) 11:31:46 ]
>>776
別にいいんじゃないかい。
K本も俺定義だし。

>>779
ワープロ専用機ですか。




781 名前:775 [2006/05/22(月) 15:38:28 ]
ブートセクタだけ作った。


。。。それだけ。
とりあえず本でも買って勉強してみます。

782 名前:775 [2006/05/24(水) 17:58:08 ]
フルスクラッチはやめて
Linux使う。

783 名前:Be名無しさん mailto:sage [2006/05/28(日) 20:53:31 ]
今日、自作OS入門買いました。
パラパラと見たけどハードウェアのチェックの仕方とか書いてないのな。
がっかりだ。orz

784 名前:ぴゅあ [2006/05/29(月) 10:08:19 ]
>>783
自作…っての辺りがなんともだったりだけど・・・
どんな本かも知らないけど、そういうもんだったりでは?

OSとしての解説となってくるとハードウェア(による違い)はデバイスドライバの先に隠れてしまうんでしょう。
「入門」と付いてたりするのもちょっとひっかかったり(?)

ハードウェアに近付くには「自作デバイスドライバ(入門?)」とかだったりするとか(更には(載せようと思っているファームに合致した)実例コード付き?)
それでも「デバイスドライバとはこんなもん」という感じで期待したいような
> ハードウェアのチェックの仕方とか
には程遠かったりしてそうな。。。

OSとして解説するとき、ハードウェアはデバイスドライバとかで共通化のようなことをされた後とかとして、
構成はどうなっている(どうする)のかとか、システム全体として管理する仕組みとかの話が中心になっていってしまうような感もあるし、

デバイスドライバを解説するときは、デバイスドライバとはこんなもんで、
ハードウェアに関してはそれに合うようにそれぞれ考えてみてね
とかいうような感じになってしまうんだろうと思ったり。
(DOS/V機とか流行るようになってからのことか、全く同じ機能のハードでも「意図的に?」と思えたりしてしまうような微妙な差がそれぞれにあったりするみたいだし、「これ!」というのは解説しにくいんじゃないか?という気もしたりする)

> ハードウェアのチェックの仕方とか
が欲しいと思うのなら、デバイスドライバの作り方+対象としたいハードの解説本(…から考える)とか、実際にそのハードで動いているOSのコード(主にデバイスドライバ…その下層の方)から知るとか、その解説本はないかとかいうことになってしまうんでしょうねぇ。
こういったところは運良く合致するのがあればラッキーだけど、そのままズバリというのはなかなかないもんであると考えるのいいのかも?

785 名前:Be名無しさん mailto:sage [2006/05/29(月) 11:20:48 ]
>>783
あの本はOSのようなものを作るために最低限必要な情報しか載ってないので、
そういうのが知りたければPC/ATのハードウエア解説書を買った方がよろしいと思われ。

>>784
あの本にデバイスドライバなんて概念は存在しない。


786 名前:Be名無しさん mailto:sage [2006/05/29(月) 17:51:44 ]
osaskって名前じゃなければ使ってみても良かったんだけどな。
意味わかんねぇし、ダセーし。
もっとスマートな名前は思いつかんかったのか。
オとサって一緒にすると名前のインパクトが微妙なんだよな。
スサノオなら使っても良かったと思う。税金無駄にすんなボケ!

787 名前:Be名無しさん mailto:sage [2006/05/29(月) 18:37:36 ]
>スマートな名前
NOWSMART

788 名前:Be名無しさん mailto:sage [2006/05/29(月) 18:52:29 ]
>スサノオなら

乱暴な男が好みなら
つ ジャイアンクス

789 名前:Be名無しさん mailto:sage [2006/05/29(月) 19:57:34 ]
クスはいらねぇよクスは。
つジャイン

790 名前:Be名無しさん [2006/05/31(水) 22:07:26 ]
OSAKSって名前はダサいけどGUI搭載は魅力的だよね。
でも作るのは楽しいけど、使って楽しい物では無いな。



791 名前:Be名無しさん mailto:sage [2006/06/02(金) 05:19:57 ]
OSじさくぬうもんに、この本で作っているOS「張りぼて」と
OSASKの特徴として容量が小さいことが上げられている。
OSのサイズとかは10年前じゃないんだからどうでもいいんだけど…

792 名前:Be名無しさん mailto:sage [2006/06/02(金) 07:58:13 ]
程度問題だろ。
少なくともADSLでCD1枚分落とす気にはなれんよ。
最近のlinuxとか、1枚どころか数枚当たり前だしな。

793 名前:Be名無しさん mailto:sage [2006/06/02(金) 16:59:44 ]
>>792
メモリが2MByteとか4MByteとか言ってる世界ではそれなりに重要な事ですよ。
まあx86じゃないけど。

>>793
肝な部分だけならCD一枚で余裕だと思いまふが。


794 名前:793 mailto:sage [2006/06/02(金) 17:01:04 ]
あ、一個ずれとるな
>>791>>792


795 名前:Be名無しさん mailto:sage [2006/06/02(金) 17:21:52 ]
>>792
いまだにCD1枚でがんばっている Vine Linux はえらい。

796 名前:Be名無しさん mailto:sage [2006/06/02(金) 20:02:26 ]
OSASKって実はこういう事?
OS
ASK
ASK.jpのOSだからOSASK!?

797 名前:Be名無しさん [2006/06/03(土) 00:24:16 ]
ダビンチやフォンノイマンの脳回路をそのままアーキテクチャー化できれば
最強でしょ。前者は少年愛という重大なセキュリティーホールつきだが。

798 名前:Be名無しさん [2006/06/03(土) 04:20:53 ]
>>797
君の脳に重大なセキュリティホール(電波アタックに対する脆弱性)が発見されました。
最悪の場合、バッファオーバーランによりありもしない情報を受け取り、他者を混乱させることがあります。
ただちにオカ板あるいはメンヘラ板にて対応パッチをダウンロード・実行して下さい。

799 名前:Be名無しさん mailto:sage [2006/06/03(土) 14:24:21 ]
>>797
俺にとってそれはセキュリティホールではない

800 名前:Be名無しさん [2006/06/03(土) 14:33:26 ]
800げとktkr



801 名前:Be名無しさん mailto:sage [2006/06/03(土) 14:34:17 ]
>>799
おやおや、早速バッファオーバーランでアンカーがずれたようですが?

802 名前:Be名無しさん mailto:sage [2006/06/03(土) 14:41:04 ]
>>801
オーバーランしてるのはおまいの方だろ
>>797!=>>799だということは>>797が上げ厨だってことから明らか

803 名前:Be名無しさん mailto:sage [2006/06/03(土) 15:47:08 ]
相変わらずの駄スレっぷりだな
どのへんがOSを作ろうなのかさっぱりわからん
強いて言えばOSを語ろうってところか


804 名前:Be名無しさん mailto:sage [2006/06/03(土) 15:59:23 ]
このスレのメインテーマだったFDブートIPLは川合本で一網打尽だからな

805 名前:799 mailto:sage [2006/06/03(土) 20:46:48 ]
おいこらおまいら何いってやがる
俺は普段ロムってるVB(6.0)しか使えないやつだよ
797じゃねーよ

少年愛で何が悪い

806 名前:Be名無しさん mailto:sage [2006/06/03(土) 21:00:30 ]
>>805
おまいが良ければそれでいいよ。
・・・だがそれはここで話すことじゃない、他の板に逝け。
気が済んだろ?

807 名前:Be名無しさん mailto:sage [2006/06/03(土) 21:07:26 ]
>>804
思えば何人もの厨がFDブートIPLやA20やプロテクトモード遷移や
キーボード制御で挫折して帰らぬ人となったなぁ

808 名前:Be名無しさん mailto:sage [2006/06/03(土) 21:08:48 ]
たが川合本でバカな厨がry
湾岸とか

809 名前:Be名無しさん mailto:sage [2006/06/04(日) 15:31:28 ]
 こんなOSが欲しい。

1. 独自OSとして起動し、他のOS(WindowsやMac、Linuxなど)をその上で複数起動、
 スムーズな切り替えが出来るOS型VM Ware。各OSのHDDは1ファイルとして圧縮保存。
 このOSから中身を見ることが出来る。また、データディスクとして、複数OSからアクセス出来る、
 共有ディスクも設定可能。現在のPC性能から考えれば、多少ネイティブなものより性能が落ちても、
 1年前の一般的なPC以上の性能になりそう。

2. ソフトウェアのインストールが、すべて"イメージディスクのマウント"によるもので、
 イメージディスクをアンアマウント、削除のみで綺麗にアンインストール出来るOS。
 追加で増えていくデータは、イメージディスク内か同フォルダ内に追加され、競合しない。
 Pathはそれぞれの起動アプリケーションごとにrootを設定する。
 OSが提供するメソッドやデータはすべて読み取り専用。変更が必要な場合は、イメージディスク内に用意する形でプログラミング。
 Windowsのレジストリ非依存性アプリ、Macの一部アプリみたいに。

810 名前:Be名無しさん mailto:sage [2006/06/04(日) 16:15:58 ]
んなもん欲しいのは厨房だけ

OSASKの開発でも手伝ってろ



811 名前:Be名無しさん mailto:あるといいながある sage [2006/06/04(日) 16:54:39 ]
AM/PMっていうコンビニにあるんじゃね?

812 名前:Be名無しさん mailto:sage [2006/06/04(日) 19:27:17 ]
>809
1.については今回日本政府が発表した新OSが合致します。
VM上でWinを動かしてWinやネットなどから送受信される情報を一旦VMが動いているOSが受け取りにゃんにゃんするそうです。

813 名前:Be名無しさん [2006/06/07(水) 21:38:50 ]
すみません。
OS作っている方に質問です。
割り込み関数を作る際のデバッグの方法って、なにかありませんか?

現在、キーボードが入力されたときに呼び出す関数を作成しているのですが、うまくいきません。
どうもキーボードの割り込みが発生した際に、メモリ上の関数のある場所にジャンプせず、どこか別の場所にジャンプしてしまっているようです。
キーボードの割り込みが発生した際にメモリ上のどこにジャンプしているとかわかると非常にデバッグが楽だと思うのですが、何か方法は無いでしょうか。
やはりコードを読んでいくしかないんですかね?

814 名前:ぴゅあ [2006/06/08(木) 12:12:55 ]
>>813
私はデバッガとかまず使わないし、一般にプロの間で常識と言われるものとは全く違う手順でコードを書くので参考にはならないかもですが。

> どうもキーボードの割り込みが発生した際に、メモリ上の関数のある場所にジャンプせず、どこか別の場所にジャンプしてしまっているようです。
どの段階まで進んでの話なのかが判りませんけど、まず、メモリ上の関数とは何を指しているのか。かな?
割り込みが発生した時点での割り込み処理ルーチンへ飛んでないのか、
割り込み処理ルーチンへ飛んでから(その問題となる関数が呼び出される以前に)何処かに行ってしまってるのか、
割り込み処理ルーチンの中で呼び出そうとしている(或いはその後の)関数で何処かに行ってしまうのか。

判断はできていたりするんでしょうか。(「どこか別の場所にジャンプしてしまう」ではなくて「ようです。」という表現になっているし)
書いている言語は?というのも関わってくるかも知れませんけどね。

「キーボードからの割り込みルーチンのコードを書いている」というところくらいしか判らないので聞いてみるわけでもありますけど、
「どこか別の場所にジャンプしてしまっているようだ」に対する「それは何処か」を知るというようなことの前段階のものとして、
「期待するその場所に来ているか」ということを確認できる仕組みは準備されているのでしょうか。

それは例えば文字を表示するルーチン。
それは大抵、その場で動作確認もできるでしょうから(というよりそのように作る)、
確実なものにしておけば、動作確認とかにも力を発揮する筈です。
例え文字を表示するような直接意思を示せるようなコードでも、正しく動くように作れていなければ何処かへ飛んでいってしまいます。
(例えばプロテクトモードではセグメントレジスタに入れられたセグメントセレクタが不正だったとかでも)

815 名前:ぴゅあ [2006/06/08(木) 12:17:31 ]
長いか。。。失礼

仮に割り込み処理ルーチンへ飛んできているのかどうかが判らないというのだとすると、
その頭で何かの文字を表示するルーチンを呼び出し、無限ループで止めてしまう。
そのときには、NMIも含めて止められる限り全ての割り込みを無効にするようにするとかいうのもやっておくべきでしょう。
例えばCとかで書いているとすれば、問題箇所を突き止めるのは少しめんどくさくもなるかも知れませんけどね。

「そこに到達している」ということが確認できたということは、
「"どこか別の場所にジャンプしてしまっているようだ"ではない」ということが確認できたということになると思いますけどね。

まぁ、原始的でしょ?
でも、やれデバッガだ、ICEだとか言わなくても十分に役立つものだと思いますけどね。
Win上とかでBochsとか?を使って動かしてみているんだとかいうことなら、恐らくそれの上で色々できるんでしょうから、
使いこなせればもっと簡単だったりするということにもなったりするんでしょう。
が、もしそうなら質問の仕方も違ってきてるのでしょうね。

816 名前:ぴゅあ [2006/06/08(木) 12:18:38 ]
続けて長いの3つもとは申し訳なくも思いますが。。。

> やはりコードを読んでいくしかないんですかね?
コードを読むというより、何をやろうとしているか/起こり得るのかということとかを理解し、意識してコードを書くことなんでしょう。
ただコードを読む(或いは眺めてる(?))のでは無駄に時間が掛かるだけだったりもするんでしょうね。
「そこに到達している」か?を確認するとかいう手間は、余計に時間が掛かる(ことが明白に見える)作業ですけど、
その余計な作業で費やされる時間は、期待通りの結果が得られなくて試行錯誤(というより格闘?)する(結果的な)時間に比べて短い時間になる場合の方が多いように思えたりです。
確実になったと確認できた部分はそれ以降頭から外しておけるでしょうし、
確実なものとしようとした分、シッカリとそのコードが把握できているでしょう。
それはサブルーチンといったような形だと更に有効となるでしょうね。
また文字を表示するルーチンは、メモリダンプの機能を持たせるとかして、
飛ぼうとするアドレスが正しいものか?といったようなことの事前確認にも役立つ筈です。

問題となる場所がちゃんと絞り込められれば(それは既にできているのかもですけど)、"コードを読む"とか言ってもその範囲はかなり限定される筈?

817 名前:Be名無しさん mailto:sage [2006/06/08(木) 12:55:53 ]
>>813
俺もよくやるな、ポインタ演算子やアドレス演算子をつけたり、つけなかったりするミス。

818 名前:ぴゅあ [2006/06/08(木) 13:48:34 ]
>>817
そりゃあ可愛いもんでないの?

コンパイル通らんからと、やたらと(闇雲に…の方が適切か?)キャストしまくって
コンパイル通った!…が、動きが変
とかいうのが、Cが解るのが居らんと言うのを多く聞くようになったプロの世界ですんごく増えてたりするのに比べても。。。(−−;

819 名前:Be名無しさん mailto:sage [2006/06/08(木) 13:58:19 ]
プログラムが書けない奴に説教されてもな。

820 名前:Be名無しさん mailto:sage [2006/06/08(木) 14:05:25 ]
アセンブラから入ると、Cの変数型チェックの厳格さは地獄だったりする。



821 名前:Be名無しさん mailto:sage [2006/06/08(木) 14:30:41 ]
Rubyから入っても、Cの変数型チェックの厳格さは地獄だったりする。

822 名前:Be名無しさん mailto:sage [2006/06/08(木) 14:40:58 ]
ここはインテルアーキテクチャに命を捧げた人たちの墓場ですか?

ポインタにfarがつくような言語仕様は逝ってよし

823 名前:Be名無しさん mailto:sage [2006/06/08(木) 15:29:41 ]
昔SUNの構想してたネットワークコンピューターが現実的になりつつある。
今YouTube見たいなFlashで配信してる動画サイトが流行ってるし、もうすぐGoogleがネットワーク上で動く表計算ソフトを公開するそうだ(Ajax?)

一般的な活用法のブラウジング+メール+ワープロ+表計算+動画音楽再生等は全部インターネット上で実現できるようになる、
つまりOSに依存しない新しい時代が確実にやってくる、未来ではOSは機能が減ってインターネットと個々の機械との橋渡しに過ぎないものになるかもしれない。

今インターネット上で動作するワープロとかその他ツールを作っておけばそのうちでかいビジネスになるかもしれない、
俺はやってみようと思う。





824 名前:Be名無しさん mailto:sage [2006/06/08(木) 15:32:05 ]
よく落ちるような2ちゃん鯖では絶対に提供して欲しくないサービスだな・・・

825 名前:Be名無しさん [2006/06/08(木) 17:15:21 ]
どんなにソースコードを読んでもコンパイラが変なバイナリ吐いてたら無意味。
コンパイラのbugが一番厄介だ。

>>809
VMwareを直接ハードにインストールできればいいわけだ。


826 名前:Be名無しさん mailto:sage [2006/06/08(木) 17:28:41 ]
>>825
それがVMware ESX Serverなわけだが。

827 名前:ぴゅあ [2006/06/08(木) 20:15:16 ]
>>820
型チェックは私はそんなに感じなかったですけどね。

私がポインタを理解できたのはX68Kにアセンブラの環境があってくれたお陰。
x86だったり本だけからだったりしたら到底理解できなかったと思うですよ。

>>821
Rubyだとそんなだったりするかも
(Rubyは使おうということにはならなかったのでPerlを想定してみての話ですけどね)

>>823
> もうすぐGoogleがネットワーク上で動く表計算ソフトを公開するそうだ
なんとも・・・という気が私はしたりですけど。。。

> 未来ではOSは機能が減って
"ブラウジング+メール+ワープロ+表計算+動画音楽再生等"として今のOSから削れそうな機能ある?


久しぶりに本屋に寄ってみたら>>783の書いてた「自作OS入門」なんだろう本を見掛けて、サラッと見てみましたけど、
「OS風アプリケーション」て感が。。。

その本を読んでのことかどうかは判らないですけど
その上で>>775の話が出てきたのだったりすると
なるほどね…でした。

828 名前:Be名無しさん mailto:sage [2006/06/08(木) 20:52:35 ]
>>827
あんたはその「OS風アプリケーション」どころか
VBでハリボテアプリを作る能力すらないんだから
しゃしゃり出てこられても迷惑なんだけど。

829 名前:Be名無しさん mailto:sage [2006/06/08(木) 21:05:09 ]
>827
>「OS風アプリケーション」て感が。。。
あの本の内容をこう感じるセンスはちょっとずれている気がする。
あれはOSとして単純すぎるとは思うけど、あれがOS風のアプリだとは思えない。

830 名前:Be名無しさん mailto:sage [2006/06/08(木) 22:08:27 ]
>>827の最後の3行は同意

Kがあんなむちゃくちゃな俺様定義を持ち出すから、バカが増えた。



831 名前:Be名無しさん mailto:sage [2006/06/09(金) 07:51:59 ]
狂信的原理主義者のほうがよほど有害。

832 名前:Be名無しさん mailto:sage [2006/06/10(土) 02:10:18 ]
ぴゅあについて少なくとも分かることがある。
それは、初心者に3レスに渡るような複雑な解答をすることは、
すくなくともそれ自体が問題だということが分からない程度に"視野が広くない"
ということだ。まあ確かに"3レスの複雑な解答"には他の解釈もあると思う。
しかしそれいずれもが、最終的に彼の賢さを証明するには至らないと思う。

833 名前:暇なんでチョーーーカキコ [2006/06/10(土) 12:14:38 ]

IBM 「お前BASIC以外にOSって作れねーの?」
ビル 「今すぐッスカ、時間いただければ何とか」
IBM 「今いるんだよ、何ならテメーの肛門にインストールしたろか」
ビル 「しゅいません、でもデジタルリサーチなんかどうよ。あそこのCP/MチョーCooooooool!!!!ッスヨ」
IBMデジタルリサーチ訪問。でもキルドールは、「あー? 仕事? かったりいよ」
つって飛行機遊び。
IBMぶち切れビルに電話「いねーよ、肛門にPC突っ込むから洗って待ってろよ」
ビル「そんな筆おろしの前に肛門何てかんべんしてくだせー」
ビル、シアトルコンピュータプロダクツにQD-DOSを買いに走る。
ビル 「ちょっとQD-DOSの権利欲売ってください
貞操には変えられないから金はいくらでも払います(IBMのことは隠す)」
泣きながらIBMにきたビルは
ビル 「どうっすかこれ。CP/Mなんかまるで問題にならないくらいチョーCooooooool!!!!」
(実はQD-DOSはCP/Mの劣化コピーだった)
辛うじて守られたビルの貞操
こんな感じ?

834 名前:Be名無しさん mailto:sage [2006/06/11(日) 18:38:39 ]
17 :名無しさん@毎日が日曜日 :2005/09/05(月) 03:08:38 ID:sFj1eKTQ
奇形児を見たことはありますか? これは北海道の網走市であった話です。
古塚美枝さん(当時23) は、いわゆる売春婦でしたが夫がいました。
しかしその夫は働こうとせず、酒に溺れる毎日、そして酔うと必ず美枝さんに
暴力を振るいました。83年の夏、美枝さんは体調を崩し病院へ行きました。
原因は妊娠によるつわりなどでした。売春婦であった美枝さんは、
まず誰の子なのか考えましたが夫の子である事を確信し、
早く報告しようと急いで帰りました。しかし夫は自分の子とは信じず、
中絶を命じました。 それから5ケ月。結局美枝さんは中絶を拒み、
生むことを決意しましたが、夫は従わなかった事を不満に思い、
さらに暴力を振っていました。 そしてその日夫は美枝さんの腹部に
膝蹴りをしました。する と、美枝さんの股間からは溢れる様に血が流れてきました。
そして美枝さんは崩れ落ち、声にもならない 様なうめき声で唸りながら
........流産でした。夫は慌てて家を飛び出して行きました。何故?
それは生まれてきた子供が余りにも醜かったからです。目はあべこべに付き、
片方の目は眉毛の上に付いていました。鼻はだらしなく直角に曲がり、
口なんぞは縦向きに、しかも耳のつけねから裂け目の 様に付いていました。
動きもせず、ただこちらを眺めていました。 それからどうなったかは分かりません。
ただ、この話を聞いた人は最低3日間気を付けてください。
うしろで何か気を感じても振り向いて いけません。
それはあの子があなたを眺めているから。 10分以内にこれを
掲示板の5箇所に貼らなければそのままあの子は離れて行きません。

835 名前:Be名無しさん [2006/06/11(日) 21:45:51 ]
CP/Mのコピーだから成功したんでオリジナリティ出してたら失敗してた。
コンシュマー、一般人がどれほど保守的であるかを直感的に分かってたのならゲイツはすごい。
無理矢理変える事ないしね。
windowsはmacを意識して無理矢理変えたのでひどいもんになってしまった。
vistaでようやくまともになる。

836 名前:Be名無しさん mailto:sage [2006/06/11(日) 21:54:13 ]
いや、そんなことはない。
3.1やMeで捨て去ったデザイン、IE搭載前の95のシンプルな安定性・・・
VistaもどうもMac風なデザインを追求した結果、本来搭載するはずだった機能を捨て去ったにもかかわらず、ハイスペックを要求するものになった。
VIENNAもどうなるかはわかんないね。

837 名前:Be名無しさん mailto:sage [2006/06/12(月) 12:38:19 ]
>>836
95は最初からコアレベルでIEを搭載してますから、

838 名前:Be名無しさん mailto:sage [2006/06/12(月) 13:06:06 ]
>>837
知ったか乙

839 名前:Be名無しさん [2006/06/12(月) 14:37:04 ]
>>836
macはquartz(openGL)-aqua
linuxはxgl(openGL)-kde/gnome
に対抗してaero(DirectX)-grass(他)にするんだよ。
いままでゲームでしかGPUを使ってなかったのを常時使うようにする。
CPUが描画していたのをGPUに描画させるようにするわけ。
windowsが一番遅れていた。
aero-lunaでも良かった。
今となっては2000/XPが一番低画質が劣っている。
linuxの方がずっと綺麗に描画してる現実がある。


840 名前:Be名無しさん mailto:sage [2006/06/12(月) 17:21:51 ]
コアに結びついたのはIE4になってからだな。



841 名前:Be名無しさん mailto:sage [2006/06/12(月) 18:49:09 ]
Win3.1のデザインは、WinXPに勝る


842 名前:Be名無しさん mailto:sage [2006/06/12(月) 19:45:30 ]
あのころはどんなソフト使っても楽しかった。
今は機能の追求でソフトの面白さが失われているような気がする。
単純に俺が年食っただけかorz

843 名前:Be名無しさん mailto:sage [2006/06/12(月) 19:56:02 ]
今楽しいのはアダルトサイトの入退会を繰り返して各地を転々とすること。
集めた動画は1TBを超えたがその1割もまともに見ていない。
誇大広告に釣られて初めてダウソした瞬間のドキドキがたまらない。

844 名前:Be名無しさん mailto:sage [2006/06/12(月) 20:24:25 ]
>>840
3からでつ。
まああのころはシェルに手を出していないので、
それほど強い結合じゃなかったが。


845 名前:Be名無しさん mailto:sage [2006/06/13(火) 14:53:11 ]
>>842
だって何かやりたい事をする為にソフトを使うんであってソフトを使う為にソフトを使うわけでは無いでしょ。
機能の追求は過去の類似ソフトの機能を吸収してより高める為には必要

846 名前:Be名無しさん mailto:sage [2006/06/13(火) 16:34:17 ]
あのころはやりたいことの為にソフトを使うというか
このソフトを使えばこんなことが出来る。っていう事でソフトを使ってた。
パソコンを使いたいためにソフトを使ってたような感じ。
あの頃はメモリやドライバの設定も自分でやらないとゲームもまともに動かなかった時代だったから
とにかくパソコンの色々な使い方を模索していたのかも知れない。
目的なんてなんにもなかったようなあの頃。

847 名前:Be名無しさん mailto:sage [2006/06/13(火) 16:36:14 ]
ちなみにあの頃ってのはWin3.1の頃

848 名前:Be名無しさん mailto:sage [2006/06/14(水) 14:35:37 ]
>>846
あったあった。今もそういう感覚が残ってない訳じゃないけど、
それだけじゃお腹一杯にならなくなったのかもね。
コンピュータ好きな人だけが使う世の中じゃないし。

849 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/19(月) 20:28:54 ]
うん

850 名前:Be名無しさん mailto:sage [2006/06/19(月) 21:37:23 ]
ぐはぁ!



851 名前:Be名無しさん mailto:sage [2006/06/26(月) 03:18:55 ]
ちょっと前までMonaのスレがあったと思うのですが
探したけど見つかりません。ここがそうですか?

852 名前:Be名無しさん mailto:sage [2006/06/26(月) 07:32:07 ]
>>851
荒らしが酷いので強制節穴板に移動させられた

OSを作ろうPart15Mona専用
etc3.2ch.net/test/read.cgi/siberia/1136088527/

853 名前:Be名無しさん mailto:sage [2006/06/26(月) 11:22:21 ]
>>852
有賀d

854 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/26(月) 21:49:32 ]
いいくにつくろう

855 名前:Be名無しさん mailto:sage [2006/06/27(火) 13:04:51 ]
>>854
文化大革命

856 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/28(水) 20:47:47 ]
今日も一日疲れました
まる。

857 名前:Be名無しさん mailto:sage [2006/06/28(水) 21:04:05 ]
>>854 >>856
ここチラシの裏じゃないんで、続きはこっちでやれや。

AireOS
pc8.2ch.net/test/read.cgi/os/1112667480/

858 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/28(水) 21:14:14 ]
うちそのスレ無関係だからー

859 名前:Be名無しさん mailto:sage [2006/06/28(水) 21:20:50 ]
>>858
その割には49回も発言してるようだけどw

860 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/28(水) 21:24:11 ]
まあ疲れたから寝るねー



861 名前:Be名無しさん mailto:sage [2006/06/28(水) 21:30:27 ]
(^ω^)ノおやすみなさーい

862 名前:Be名無しさん mailto:sage [2006/06/29(木) 18:52:21 ]
>>858
開発者本人だと思ってたが ??? 状況がよく分からん、
差し支えなければ経緯など語って下さらんか?

863 名前:Be名無しさん mailto:sage [2006/06/29(木) 21:35:34 ]
俺はさっきゅん=meg-osの中の人=AireOSとかおれんじぺことか≒L様だと思ってた

864 名前:Be名無しさん mailto:sage [2006/06/29(木) 21:45:15 ]
>>859
発言回数もそうだけど1が本人じゃん

>>863
L様は明らかに別人だけど後はそうだね

865 名前:Be名無しさん mailto:sage [2006/06/29(木) 21:46:14 ]
L様で思い出したけど昔はさっきゅんも崎本様って様付けで呼ばれてた

866 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/29(木) 22:55:29 ]
おはよー(゚◇゚)ノ
今日も一日
おやすみなさい

867 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/30(金) 12:32:37 ]
去年おれぺこPJから除名されて今はおれぺこに関する権限ありませんのでー

ていうのを今まで知らなかった人多いのかな?(;゚Д゚)

868 名前:Be名無しさん mailto:sage [2006/06/30(金) 12:35:26 ]
>>867
>>857はおれぺこスレじゃなくてAireOSスレ

おれぺこスレは湾岸専用だって認知されてる
pc8.2ch.net/test/read.cgi/os/1108576841/136
>ここ湾岸がOSを作るスレなんで、続きはこっちでやれや。

869 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/30(金) 12:45:51 ]
aireosもおれぺこも同じじゃん

もううちは権利ないの

870 名前:Be名無しさん mailto:sage [2006/06/30(金) 12:50:50 ]
>>869
kwsk



871 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/30(金) 13:02:44 ]
方針の対立でおれぺこfork

和解して再統合

崎本仕事してないじゃん

除名

月日は流れ ← いまココ

872 名前:Be名無しさん mailto:sage [2006/06/30(金) 13:14:08 ]
 ∧_∧
 (´・ω・`)  マターリとお茶でもドゾー
 ( つ旦O
 と_)_)  旦旦旦

873 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/30(金) 13:19:26 ]
>872
(´・ω・`)っ 旦 イタダキマス

forkしたままだと思ってた人結構多いのかなー?

874 名前:Be名無しさん mailto:sage [2006/06/30(金) 13:27:08 ]
>>873
なるほどー
誤解してた

方針の対立でおれぺこfork

湾岸仕事してないじゃん

崎本除名

AireOSライセンス騒動

MEG-OS復活 ← いまココ

だけどここをチラシの裏で使っていいという理屈にはならないので
建てた責任を取ってAireOSスレは使い切ってくれ

875 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/30(金) 13:34:23 ]
DAT落ちまで放置でインデネ?

876 名前:Be名無しさん mailto:sage [2006/06/30(金) 13:41:20 ]
>>875
ガベコレされるのは20以下(即死)か980以上だけなんで
今のまま1レスも付かなくても落ちるのに10年以上掛かりそうだが

いずれにせよここはFD起動IPLで四苦八苦する厨のスレなんで
MEGスレ建てるなりしてここから出て行くのが筋

877 名前:Be名無しさん mailto:sage [2006/06/30(金) 13:44:19 ]
>>876
崎本様が朝鮮製ばりに厨をサポートしてくれるなら
ここを私物化してもいいと思うニダ

878 名前:Be名無しさん mailto:sage [2006/06/30(金) 13:45:56 ]
>>877
戦後の混乱に乗じて土地を接収したのと同じ作戦ニッカ?

879 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/06/30(金) 13:50:50 ]
申し訳ありませんでした
2ch初心者なもので

880 名前:Be名無しさん mailto:sage [2006/06/30(金) 13:51:02 ]
なんでこんな過疎板にホロン部が来てんだよ



881 名前:Be名無しさん mailto:sage [2006/06/30(金) 13:53:20 ]
>>879
とんでもないっス
これからも楽しみにしてるっス

882 名前:Be名無しさん mailto:sage [2006/06/30(金) 13:56:09 ]
 ∧_∧
 (´・ω・`)  マターリと高麗人参ドリンクでもドゾー
 ( つ旦O
 と_)_)  旦旦旦

883 名前:Be名無しさん mailto:sage [2006/06/30(金) 13:57:47 ]
>>880
崎本様って反特亜の極右じゃなかったっけ?

884 名前:Be名無しさん [2006/06/30(金) 14:47:04 ]
さっきゅんがんがれ

885 名前:鳥取砂丘 ◆GXX0p3qNcg mailto:sage [2006/07/01(土) 14:28:13 ]
よーし

寝る!!!!!!!!

886 名前:Be名無しさん mailto:sage [2006/07/01(土) 15:42:46 ]
>>885
やらないか?

887 名前:Be名無しさん mailto:sage [2006/07/01(土) 16:28:34 ]
    シュボッ
       ., ∧_∧  
      []() (・ω・` )      l二ヽ
       □と    ) ̄⊃     ) )
      ⊂ (_(_つ   ̄⊃  / ̄ ̄ ̄ヽ
       ⊂_      ._⊃   | (\/) |
         ⊂__⊃.      |  > <  |
                     | (/\). |
                     ヽ___/


          ↑
  シコシコと開発したOSをすぐに放棄するさっきゅん

888 名前:鳥取砂丘 ◆7SKBJME/7U mailto:sage [2006/07/01(土) 19:21:09 ]
おまいら
おはよー!!!!!!!!!!!!!

889 名前:Be名無しさん mailto:sage [2006/07/01(土) 19:33:59 ]
>>888
ウホッ!

890 名前:Be名無しさん mailto:sage [2006/07/03(月) 01:01:54 ]
綱引きのときの掛け声ってえどうして
おーえす
おーえす

なんですか?
優しいお兄さんたち教えてください☆



891 名前:Be名無しさん mailto:sage [2006/07/03(月) 03:21:18 ]
>>890
春日歩乙

892 名前:Be名無しさん mailto:sage [2006/07/03(月) 10:25:11 ]
 |
 |  ('A`) OSツクルノ マンドクセ
/ ̄ノ( ヘヘ

893 名前:Be名無しさん mailto:sage [2006/07/03(月) 22:49:22 ]
OS自作入門買いますた
全部完成したあとに、マイGUIシステムを考えるのが楽しみ

894 名前:Be名無しさん mailto:sage [2006/07/03(月) 23:05:26 ]
>>893(やーさん)
ここさっきゅんに乗っ取られたんで、続きはこっちでやれや。

「30日でできる!OS自作入門」
pc8.2ch.net/test/read.cgi/os/1151897893/

895 名前:鳥取砂丘 ◆7SKBJME/7U mailto:sage [2006/07/03(月) 23:18:58 ]
このスレ乗っ取ったさっきゅんって悪い奴だな!

やーいばーかばーか

896 名前:Be名無しさん mailto:sage [2006/07/03(月) 23:26:00 ]
>>894
誘導サンクス
といっても、特に書くこともないけど・・

897 名前:鳥取砂丘 ◆GmgU93SCyE mailto:sage [2006/07/05(水) 18:18:18 ]
おまいらおはよう
ございます

898 名前:Be名無しさん mailto:sage [2006/07/05(水) 18:55:46 ]
アッー

899 名前:Be名無しさん mailto:sage [2006/07/06(木) 22:14:10 ]
>>880
朝鮮製というか超先生だな、その昔そんなスゴイ奴がいたんだな。
  合掌(-人-)

900 名前:Be名無しさん mailto:sage [2006/07/06(木) 22:21:00 ]

  /⌒ヽ     / ̄ ̄ ̄ ̄ ̄
 ( 人  )   /先生!
  .|   |  <   ぼくの核弾頭は
  .|   |    \     もう限界です><
  .|   |     \_____
  .|   |
  .|   |
  .|   |
  .|   |
  .|   |
  .|   |
  .|   |
  .|   |
  .|   |
  .|   |




901 名前:Be名無しさん mailto:sage [2006/07/06(木) 22:22:48 ]
マイOSでROMフォントのデータを使いたいのだが著作権上の問題はないだろうか

902 名前:Be名無しさん mailto:sage [2006/07/06(木) 22:23:24 ]
ありまくり

903 名前:Be名無しさん mailto:sage [2006/07/06(木) 22:25:47 ]
>>901
そんなときのためのM+

904 名前:鳥取砂丘 ◆TJ9qoWuqvA mailto:sage [2006/07/06(木) 22:51:40 ]
実行時に吸い出すなら問題ないんじゃ?
そうやって文字表示してるソフトはいくらでもあるし?

905 名前:Be名無しさん mailto:sage [2006/07/06(木) 22:56:31 ]
吸い出したもんを添付しなきゃおkかと

906 名前:Be名無しさん mailto:sage [2006/07/07(金) 06:54:00 ]
ROMフォントってどうやって吸い出すの?

907 名前:Be名無しさん mailto:sage [2006/07/07(金) 17:53:07 ]
そんなこと俺だったら、恥ずかしくてとても質問できない・・・

908 名前:Be名無しさん mailto:sage [2006/07/07(金) 17:53:57 ]
>>907
まあそう言わんで答えてや

909 名前:Be名無しさん mailto:sage [2006/07/07(金) 21:20:47 ]
>>906
> ROMフォントってどうやって吸い出すの?

つ INT 10h AX=1130h (AT互換機リアルモード)

チュウゥゥゥッ げっぷ


910 名前:Be名無しさん mailto:sage [2006/07/07(金) 23:42:06 ]
>>909
さんくすこ



911 名前:Be名無しさん [2006/07/10(月) 12:43:04 ]
コピーを何枚でも作り青いCDケースにいつもしまっているO型がそこにいる!KKK


912 名前:Be名無しさん [2006/07/10(月) 12:46:42 ]
911さんあたしそいつしってる!に!

913 名前:Be名無しさん mailto:sage [2006/07/10(月) 13:15:58 ]
911って飛行機がビルに突っ込んだ事件?

914 名前:鳥取砂丘 ◆v0E9F00Dj2 mailto:sage [2006/07/11(火) 13:13:42 ]
夏は暑いなぁ

915 名前: mailto:sage [2006/07/12(水) 02:30:08 ]
鳥取砂丘工業高校パソコン部部長

916 名前:タカさん [2006/07/12(水) 22:45:08 ]
雑誌で個人ぷろぐらまーが(オタク)昔、国産として使われた富士通のFMタウン用OSのタウンOS。このタウンOSを元に新しいOSを作っていると。

917 名前:Be名無しさん mailto:sage [2006/07/13(木) 23:21:11 ]
おい、さっきゅん!おまいこのスレ乗っ取ったんだから責任とってネタふり汁!












・・・「寝たふり」なんてボケかますなよ

918 名前:Be名無しさん mailto:sage [2006/07/13(木) 23:28:04 ]
さっきゅんなんて最初からいなかったんだよ・・・最初から・・・

919 名前:タカさん [2006/07/14(金) 13:01:39 ]
今日、友達に「30日でできるOS自作入門」の本をもらったから今日からOS作ります。皆さんもやってみては。

920 名前:Be名無しさん mailto:sage [2006/07/14(金) 13:51:32 ]
以前ポケコンで作ったことあるからいいや、x86アーキテクチャなんてアフォなものに嵌まらなければ楽勝。



921 名前:鳥取砂丘 ◆KYoNEe6GsI mailto:sage [2006/07/15(土) 16:35:45 ]
うん

922 名前:Be名無しさん mailto:sage [2006/07/15(土) 18:56:19 ]
MEG-OSのCOM64が気になった。exe2comとかelf2comってどこにあるの?

923 名前:鳥取砂丘 ◆KYoNEe6GsI mailto:sage [2006/07/15(土) 20:42:20 ]
現在正式版は公開してないですよ
ttp://meg-os.org/view.cgi/temp/mkcom/

924 名前:Be名無しさん mailto:sage [2006/07/16(日) 15:33:39 ]
>>923はブラクラ

925 名前:Be名無しさん mailto:sage [2006/07/16(日) 16:02:44 ]
>>924
喪前のレスでアクセスしてみる気になった・・・てか、ブラクラじゃないやん(´・ω・`)

926 名前:Be名無しさん mailto:sage [2006/07/16(日) 16:05:58 ]
なんか見るたびに変わってるね
今度はグロ画像になった

927 名前:Be名無しさん mailto:sage [2006/07/16(日) 19:02:24 ]
view.cgiで何か振り分けてるんじゃね?アクセスしてないけど

928 名前:Be名無しさん mailto:sage [2006/07/16(日) 19:10:52 ]
あの作者の事だからどんなスパイウェアが仕込まれてるやら...

929 名前:Be名無しさん mailto:sage [2006/07/16(日) 20:44:16 ]
この前はウイルス配ってたな

930 名前:Be名無しさん mailto:sage [2006/07/16(日) 21:43:03 ]
一応コンパイルするでつ



931 名前:Be名無しさん mailto:sage [2006/07/17(月) 10:13:34 ]
>>929
俺そのウイルスでパソがバグって弁償しろって泣き喚いてた友人知ってるわ

932 名前:Be名無しさん mailto:sage [2006/07/17(月) 16:40:09 ]
今OSを自作する意味は?
ttp://slashdot.jp/askslashdot/article.pl?sid=06/07/17/0652257&threshold=-1

933 名前:Be名無しさん mailto:sage [2006/07/17(月) 18:31:16 ]
さっきゅんって昔よそのOSパクって自慢げに64ビット作りましたとかほざいてたやつ?
客は馬鹿だから大きい数字出しときゃびびるとか内輪チャットで吠えてたらしいね(藁

934 名前:Be名無しさん mailto:sage [2006/07/17(月) 18:33:56 ]
あの当時のさっきゅんは輝いていた
湾岸が乱入してメチャクチャにするまでは・・・

935 名前:Be名無しさん mailto:sage [2006/07/17(月) 18:38:23 ]
>>933
その噂聞いた事あるぞ
64BITじゃないのに64BITって言い張ってた奴だろ?
本当の作者がブチ切れて訴訟問題になりそうになって名前変えて逃げたんだっけ

936 名前:Be名無しさん mailto:sage [2006/07/17(月) 18:41:19 ]
>>934
さっきゅん名無しで乙
無理やり美化しようとしても証拠は上がってるぞ(藁

937 名前:Be名無しさん mailto:sage [2006/07/17(月) 18:42:46 ]
>>936
証拠出せやカス

938 名前:Be名無しさん mailto:sage [2006/07/17(月) 18:44:05 ]
↑ディスプレイの前で真っ赤なさっきゅん

939 名前:Be名無しさん mailto:sage [2006/07/17(月) 18:45:00 ]
急に更新がたくさん入ったと思ってきてみたらさっきゅんネタか
ところでさっきゅんって誰?

940 名前: ◆Dream/3P/. mailto:sage [2006/07/17(月) 18:45:11 ]
>>938
別人だ



941 名前: ◆AEqcy/sQU6 mailto:sage [2006/07/17(月) 18:55:46 ]
>>939
このスレの支配者様よん♥

942 名前:Be名無しさん mailto:sage [2006/07/17(月) 18:57:12 ]
さっきゅんて湾岸さん達ががんばって作ったソフトを全部自分で作った事にしてたんだっけ
湾岸さんは最初我慢してたけど耐え切れなくなっておれぺこは崩壊
この件で何人も恨み買って今は別の名前で同じような事してる
どんどん敵を増やしてそれでもさっきゅん

943 名前:Be名無しさん [2006/07/17(月) 18:58:09 ]
>>941
なあ、1000取った奴がこのスレの支配者ってことにしない?

944 名前:Be名無しさん mailto:sage [2006/07/17(月) 18:59:35 ]
さっきゅんネタはこっちでやれや

ex16.2ch.net/news4vip/

945 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:04:26 ]
湾岸自体手のつけようがない厨房な件

946 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:05:12 ]
>>943は、注目されていなくて寂しいさっきゅんがスレッドの伸びを期待して書いたよう。
「支配者」という発想は、とても他の人が真似できないところだと思うんだよね。
ごめん。一つ浪費した。

947 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:06:56 ]
>>945
今はWeb 2.0の達人気取りでCatalystのセッションなんかやってるYO!

948 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:07:09 ]
 ̄ ̄ ̄ ̄ ̄ ̄ ̄○ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
           O 。
                 , ─ヽ
________    /,/\ヾ\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|__|__|__|_   __((´∀`\ )< というお話だったのサ
|_|__|__|__ /ノへゝ/'''  )ヽ  \_________
||__|        | | \´-`) / 丿/
|_|_| 从.从从  | \__ ̄ ̄⊂|丿/
|__|| 从人人从. | /\__/::::::|||
|_|_|///ヽヾ\  /   ::::::::::::ゝ/||
────────(~〜ヽ::::::::::::|/        =このスレ 完 =

949 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:08:19 ]
次スレ

「30日でできる!OS自作入門」
pc8.2ch.net/test/read.cgi/os/1151897893/l50

950 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:10:46 ]
>>946
「1000でこのスレの支配者」て、過去のネオ麦の台詞だろ。
発想がさっきゅん的じゃなく、さっきゅんみたいな精神疾患はありふれていて、
過去に問題を起こした人もなんか似てましたというそれだけの話。

なんというか思い込みで話を構築して根っこからガラガラ崩れるのって
極めてさっきゅん的だから、>>946は注意して生きたほうがいいな。
ああ、本人かも知らんけどw



951 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:11:48 ]
次スレ

「30日でできる!OS自作入門」
pc8.2ch.net/test/read.cgi/os/1151897893/l50

952 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:16:01 ]
次スレ
pc8.2ch.net/test/read.cgi/os/1151897893/l50

さっきゅん隔離スレ
pc8.2ch.net/test/read.cgi/os/1112667480/l50

953 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:31:50 ]
>>947
やっぱりどうしようもない厨房だな・・・

そんなことより、まともな次スレどこ?

954 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:35:48 ]
このまま埋めちまおうぜ

955 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:38:53 ]
>>953
このスレは厨房がFDブートIPLで挫折するのがメインテーマだったが
川合本が出て役目が終了したんで次スレは↓でいいんよ

「30日でできる!OS自作入門」
pc8.2ch.net/test/read.cgi/os/1151897893/l50

956 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:45:32 ]
作ろうスレ略歴

1. 太郎がOS板で作ろうスレを建てる
2. 太郎がム板で作ろうスレ2を建てる
3. 太郎がム板を追放されてOS板に逆戻り
4. 太郎が作ろうスレから追放されて分離
5. 作ろうスレが厨房の受け皿になる
6. 太郎がOS板から追放されてシベリアに流刑
7. 川合本が出て厨房の受け皿が移る
8. 作ろうスレがさっきゅんに乗っ取られる←今ここ

957 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:49:05 ]
72 名前:Be名無しさん[sage] 投稿日:2006/07/16(日) 23:21:01
実際は教えてるんじゃなくて、ただソース提示してこれコンパイルしたらできるよって言ってるだけ。


K本がこの程度なのに、勝手にテーマ設定されてもねえ。
どうせ>>955=あっちのスレの>>1なんだろ?


958 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:52:20 ]
>>957
厨房の相手はKに押し付けとけばいいんだよ
雑談がしたいなら総合雑談スレだってあるんだし
厨房の質問に責任持って答えてくれるんなら
このスレの支配者にでも何でも勝手に即位してくれたまえ

959 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:56:05 ]
しょせん>>958は主になった気分でいる厨房だろ

960 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:57:04 ]
>>959
主はスレをリセットしてるYO!

OSを作ろうpart12
pc8.2ch.net/test/read.cgi/os/1153133384/l50



961 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:58:02 ]
いや、このスレの支配者はさっきゅんだから。

962 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:58:41 ]
崎本様七誌で乙

963 名前:Be名無しさん mailto:sage [2006/07/17(月) 19:59:49 ]
なあ、1000取った奴がこのスレの支配者ってことにしない?

964 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:00:25 ]
ネオ麦茶七誌で乙

965 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:01:26 ]
次スレ
pc8.2ch.net/test/read.cgi/os/1153133384/l50

966 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:05:41 ]
次スレ

OSを作ろうpart13
ex16.2ch.net/test/read.cgi/news4vip/1153134310/

967 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:06:55 ]
支配者争いが激しいなw

968 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:15:46 ]
>>966
MonaスレがVIPに建てられて即落ちしたね
だから今はシベリア

夢タソがVIPでMonaの派生OS作ってたけどどうしてるかな
結局Monaに戻ってlibcとか作ってるみたいだけど

969 名前: ◆Dream/3P/. mailto:sage [2006/07/17(月) 20:18:13 ]
ソープで中出ししてきましたヨ!!
やっぱ生は最高!!!!
エイズになっても構わない!!
ナマは気持ちイイ!!!!!

970 名前: ◆AEqcy/sQU6 mailto:sage [2006/07/17(月) 20:18:46 ]
誤爆スマソ



971 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:28:47 ]
なあ、手取り足取り教えてもらってOSを作った奴がこのスレの支配者ってことにしない?

972 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:29:54 ]
ぬるぽ

973 名前:噂の崎本 ◆GG1SfzBGbU mailto:sage [2006/07/17(月) 20:31:49 ]
てす

974 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:32:40 ]
>>971
太郎様が支配者で決定ですね!!

975 名前:太郎様 mailto:sage [2006/07/17(月) 20:33:34 ]
今更こんなスレいらね( ゚д゚)、ペッ

976 名前:崎本まりあ ◆GG1SfzBGbU mailto:test test [2006/07/17(月) 20:34:28 ]
では我輩がもらおう

977 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:35:28 ]
ぬるぽ

978 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:35:47 ]
   ( ・∀・)   | | ガッ
  と    )    | |
    Y /ノ    人
     / )    <  >__Λ∩
   _/し' //. V`Д´)/
  (_フ彡        /  ←>>972

979 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:36:27 ]
   ( ・∀・)   | | ガッ
  と    )    | |
    Y /ノ    人
     / )    <  >__Λ∩
   _/し' //. V`Д´)/
  (_フ彡        /  ←>>977

980 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:39:36 ]
>>959
異議がなければ崎本様に即位していただきますが?



981 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:40:44 ]
ぬるぽ

982 名前:崎本まりあ ◆AEqcy/sQU6 mailto:sage [2006/07/17(月) 20:42:12 ]
>>980意義あり

983 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:42:15 ]
   ( ・∀・)   | | ガッ
  と    )    | |
    Y /ノ    人
     / )    <  >__Λ∩
   _/し' //. V`Д´)/
  (_フ彡        /  ←>>981

984 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:43:31 ]
ぬるぽ

985 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:43:50 ]
>>982
それでは二人の崎本様同士で決闘していただきましょう

          , -‐'"´ ̄ ̄ ̄ ``ヽ
        /爪  ヽ `ヽ、`ヽ、   \
       / / !lヽヽ  \  \ \  }、
.       / l l l ヽ ヽ、_弐_ --ヽ _ヽノノ!
      /! ll__l ヽ-‐' "┴/`  l/rヌ、ノ|
      !l/fri刀          >'〉} ノ!
         l ̄ 、 _      ,Lノノ |
            ',  ヽ'´ヽ    / | 「||l!,|  皇国の興廃この一戦にあり
            ヽ、  ー'    / .| | | |!|  各員一層奮励努力せよ!
           ``ー-ャァ' ´ _」、lLl l!|
             __ノ /==三三ヽL
           / }ム/==ニ三-ァ-─‐ヽ
            」ll /○/ ニ, -'´ /    , -'´!
           i´{、/ //   /  , -'´_  |
        / ̄  ̄ ー─‐'´   l  | ●| .|、
       /l  /`ヽ崎本まりあ様 ノ   ̄ ̄/」ヽ
       / l/   l     、   ヽ    / /'iヽヽ

986 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:44:06 ]
   ( ・∀・)   | | ぬるぽ
  と    )    | |
    Y /ノ    人
     / )    <  >__Λ∩
   _/し' //. V`Д´)/
  (_フ彡        /  ←>>983

987 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:45:21 ]
>>984
くそー今日はバグが多いな
能書き垂れてないで何とかしてくれよ>>959

   ( ・∀・)   | | ガッ
  と    )    | |
    Y /ノ    人
     / )    <  >__Λ∩
   _/し' //. V`Д´)/
  (_フ彡        /  ←>>984

988 名前:崎本まりあ ◆GG1SfzBGbU mailto:sage [2006/07/17(月) 20:46:03 ]
2chの使い方わすれたから寝るー(*^-^*)ノ

989 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:46:40 ]
   ( ・∀・)   | | ガッ
  と    )    | |
    Y /ノ    人
     / )    <  >__Λ∩
   _/し' //. V`Д´)/
  (_フ彡        /  ←>>987=ぬるぽ

990 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:47:38 ]
ぬふあうえおやゆよわほへー





991 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:48:45 ]
\/\/\/\/\/\/\/\/\/\/\/\/\/\/


こ こ か ら 超 濃 厚 な ホ モ ス レ に な り ま す。


           ご 期 待 く だ さ い ! !


/\/\/\/\/\/\/\/\/\/\/\/\/\/\

992 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:49:23 ]
  /⌒ ̄ ̄ ̄\ ρ 「う〜〜トイレトイレ」
  /川‖‖| ‖|  ゝ  今トイレを求めて全力疾走している僕は
 〈巛《〈〈 \巛 |    予備校に通うごく一般的な男の子
  │个 个 ヘ |    強いて違うところをあげるとすれば
  │┌−   )/     男に興味があるってとこかナー
   ヽヽ 丿//      名前は道下正樹
    ┼┬┼
 /┴┴┴┴┴ ̄\
 | │       ┤ \
 | │       │\ \
 | │       │ \ \
 | │      /│  │ │
 | │     / │  │ │
┌─ヽ       」   │ │
│ ├┴┴┴┴┤   田田
│ │  ‖   ヽ   / │
├-┤   /   /   LllLノ

993 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:49:57 ]
   ;ヾ、,.、,、.、rツ ッッシ、:':' r':' _,、-'゙_,  や 公 帰 そ
 ,、,、,ミッン、,._        _,、-'゙_,、-'゙.   っ 園. り ん
 、ィッ ,:、 ゙''ゞ=ミ、~.: _,、-'゙_,、-'゙  __,  て の 道 な
 }; ヾ ゙' {!li;:,. _,、-'゙_,、-'゙ _,、-'゙,::|_|  来  ト に わ
 ゞァ''゙ぐ _,、-'゙_,、-'゙ _,、-'゙,、-''" .|_   た イ  あ け
 ,ヘ:'_,、-'゙_,、-'゙..::「┴_,エ ┴  ''"_|_|  の. レ る で
  └i'゙-ニ,ニエ,.:|ニ「 _エ ┴  ''"_|_   だ に
    |エ | ニエ, |ニ「 _エ ┴  __.|_|_
    |エ | ニエ, |ニ「 _エ ┴ 「fj.||__|__| _|
    |エ | ニエ, |[8] _エ ┴ └‐_|_|__l__,|⊥ |__
    |エ | ニエ, |二 _.エ 二.._ |__|__| _|_|_
    |エ | ニエ, |┴ _.エ 二.._ |_|__l__,|⊥ |__|
    |エ | ニエ, |工 _.エ 二.._ |__|__| _|_|_
    |エ | ニエ, |工 _.エ 二.._ |_|__l__,|⊥ |__
  -,-=''┷━━|┬ニエ ┬--  .|__|__| _|_|_
   ''ーニ_''ー::、_ ゙┷ 工_二'‐-、,_|_|__l__,|⊥ |__
  二二二`''ーニ`_''ー-、_¨''━、L|__|__| _|_|_
  二二二二二二二`''ーニ_''ー 、_       |⊥ |__

994 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:50:22 ]
   〃∩      カタ...     ぽ
   ⊂⌒(゚д゚)       る
     `ヽ_っ_/ ̄ ̄ ̄/ ぬ
         \/___/ 旦

995 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:50:30 ]
                          ,.、、.,_         座  ベ  ふ
      _,,.、、、、、.,,_             ,ハ爪、,::゙ヽ.          っ  ン  と
    /.:::::::::::::::::::..`ヽ、            `l 'i 'i'`ln:}           て  チ 見
   / .:::::::::::::::::::::::::::::::. '、            l ゙ァ 人{        い に  る
   | :::::::::::::::::::::::::::::::::,ヘ{ツ          `コfェエlユュ         た 一  と
    | ::::::::::::::::::::::::,ィゥ ノ j           /;.;.ヽ   ヽ,        人
   |::::::::::::::::::::::( |.!  ;{           l;.;.;.;.;.|    i'、      の
   .|::::::::::::::::::rリ`l,〉   j}゙          '!;.;.;.;.;|     !;'!_       若
    }:::::::::::::::ノ゙  l  /            '!;.;.;.;.|    「 |||       い
   ,xァ''ー'゙'`    '、 /            ノ;.;.;.;..j     |,,|||      男
  / ー`¨`''''ー-- 、」゙'′_ ..,;:';;'. ;:;:;:;..  /;.;.;.;/ __三」 |||      が
 ''^ーァ 、_____  ̄ /       __/;.;.;/lニl-'┴┴厂
  `>'、,     '''"´ ̄ ̄_二ヽ、 ,';';'; /  >'′ | | l`'Y'))i
  /           /    ヽ   `ー' :;:;: ,|-' 'ー'ニノノ,.,:,:,:
 ,'        ,   /      ゙、""''''''-= :,,_ /| l: : :"''|'′,.,.,.,.
          l /  __      !       / :| l: : : :.|
          l, l  く,_  、   |        /_:::| l: : : :|
 ''''ー--_  、、,,,_リ    `ヽ、ヽ, ,!     /   ̄`''ー'、
       ̄`¨`'''|!    _,,..、二,,_,〉'_ー_/    , ,、   `ヽ,
          |!   'ー''"´  '! /     /ニ''''ー ---'-

996 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:50:54 ]
   ∧_∧    / ̄ ̄ ̄ ̄ ̄
    (ω・ )ゝ < ぬるぽ?
.  ノ/  /     \_____
  ノ ̄ゝ

997 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:51:25 ]
       /      ,. ===、、       ヽ
   ば   |             | l          ',     ど
 し か   |      _... -―‐-'∠.._       l    こ. い
 や に   !   ,. '´: : : : : : : : : : : :`ヽ       |   い. つ
 が    」 //: : : : : : : : : : : : : : : : ヽ    |   つ も
 っ    / /´/: ..l l  !   l   l  . ..',   /.   も
 て     ! ′l: l: :|: :.!: :|l: :!、:l',: :!: :.|: l: !:l:|  '´ ̄`ヽ、,.- 、,.ィ´
 !    |.   |: !: :!:`ト、l_V, N Llィ´!:///:.',__    ′
    ,. -、|.  _.Vヽハ:.( ヒソ´  `ヒソ )イ): : : :ヽ: : :├‐ - 、
-、/    ` ノ: : :.r ハ'' '' ''_''_''_'' '' '' /、rニl: : :ヽ-: 〉、: : :.|、
 ′    ,:'´|: : ,ィ7:/ ヽ、_{、......,}_,.ィ´ヽヽ┤`ヽ、-‐ヽ:_`_:l、:ヽ
     |: : l/: : :!:l   ! `T´_...-l-.、 !:|イ: : : : `!    l、_|、
      /ヽ_〈: : : :.N./ ̄_7,「|\_.. :.:.:.7'フ: : : : /7    |: : : :〉
      |,. ヘ.:ヽ: : : :ヽ:.:.':´/__o_ヽ:.:.:./7: : : : :/:./`丶、 `ト、/、
 _.. - '"  ヽ_|、: : :_|:\:.:/:/  |:.`:‐┘、ヽ-‐ '- '.._    `丶、: /
´    _..- '"l _.二<:.:.:.:.´:.|  |:.:.;. -‐イ ̄:`:丶、 `丶、   `丶
_.. - '" |: : : :l´: : : : :ヽヽ-┘  '´  /ヽ:、: : : : : |      ,丶、
     ``|: :l: _: -:'"ハー - ― ―/  ヘ:.`丶、/、  ー'-ァ´ ``
       >": : :/  ヽ、 _ _/     \: : : : :\
     /: : : :/                \: : : : : >
     `ヽ: :./                  \: : :|
      ∨                     ヽ/
        /               ',     /  /\
     / , '               ',   / / /、

998 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:51:26 ]
>>998
咥えた後どうしたって?

>>999
ゴックン?

>>1000
なに亀梨で抜いたって?

999 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:51:43 ]
崎本様のために取って置いてね!!!
(勝手に1000getした香具師はコロ助)
↓↓↓↓↓↓↓↓↓↓↓

1000 名前:Be名無しさん mailto:sage [2006/07/17(月) 20:51:57 ]
  ̄ ̄ ̄ ̄ ̄ ̄○ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
           O 。
                 , ─ヽ
________    /,/\ヾ\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|__|__|__|_   __((´∀`\ )< というお話だったのサ
|_|__|__|__ /ノへゝ/'''  )ヽ  \_________
||__|        | | \´-`) / 丿/
|_|_| 从.从从  | \__ ̄ ̄⊂|丿/
|__|| 从人人从. | /\__/::::::|||
|_|_|///ヽヾ\  /   ::::::::::::ゝ/||
────────(~〜ヽ::::::::::::|/        = 完 =



1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<276KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef