問題を起こしたCloverさんの書き込み保存先(hrb:A編)
保存内容
おすすめリンク達
警告(対処関係 0県 重要 1件 警告 0件 最新 0件 合計 1件)
- 僕のOSサンプル集の「ディスク名、ディスクフォーマットタイプ」のところで「変数名 = ~~~」を「変数名 = head = ~~~」と勝手に編集した方がいるそうです。4 (2006-06-17 (土) 13:26:37) の記載最初のバックアップでも、このような編集が適応されているため、復元はできませんが、僕は編集したようなことはしていませんので復元します。犯人はあいつだ。とかいいませんので、今後はしないようにお願い申し上げます。どうしても、これじゃいやだ。変えてよ。っていいたいなら、ご自分で編集しないで、コメント欄に書いて僕の報告してください。僕が判断し編集します。最近、ネットの状況が悪くなっているので、更新がしにくいので気長にお待ちください。
- by 2006/6/28 AM07:17
Aの個人ページ
- 名前の”A”は僕の苗字の一文字目です。
- 上のバーには役立つページ(このWiki内での)リンクを張っております。
”A”の個人ページ目次
- ”A”についての自己紹介
- ”A”が作っているOS"TextAOS”についての紹介
- ”A”のOSサンプル集
- ”A”なりの「30日でできる。OS自作入門」の感想
- ”A”へのいいたいことをいえるコメント欄
- おすすめリンク
- 僕なりのあらゆるOS比べ
”A”について
名前 | A | 性別 | 男 | 使用OS | Windows2000・WindowsVista Bata2 | 使用プログラミング言語 | アセンブラ、C言語、VisualBasic | 一言 | いろいろとお世話になるはずですが、よろしくお願いします。 |
”A”が作っているOS”TextAOS”
- 名前は、”TextAOS”といいます。テキストモードの画面で動作するので”Text”が、僕の名前からつけたので”TextAOS”となりました。
- 機能はぼろぼろです。dirとmemとclsとhelpしかできません。スクロールはできます。容量は5298Byteです。
- 今のところオープンソースで公開する予定です。このOSはもちろん。Kさん作の”HariboteOS”を手本に作っています。アセンブラで書いているので、ちょっと違うかもしれませんが。
- ファイル操作は、ファイル内容確認しかできません。システムはメモリーを読んだり、文字を取得して表示したりと基本しかできません。
- ここで”TextAOS”のメインシステム”ASystem”についての説明を書いておきます。
このシステムは文字を表示したり、キーボード入力を取得し、操作ができるコマンドライクのOSです。そのほかにはmemコマンドでメモリーの状況(で全体容量、空き容量、合計容量の3つ)が取得できます。他にも、clsコマンドで画面をきれいにやり直せたり、dirコマンドでディレクトリー構成(でファイル名、容量)が取得できます。困ったときはhelpコマンドを見てください。って感じです。 |
- 小さいですが、勉強OSとしては、使えるかもしれません。
- 僕もOSやってみたいって方はこのOSソースで勉強できるかも知れません。だけど、アセンブラの書き方が分かる人じゃないと無理です。
OSサンプル集
- グラフィックス関係
下敷きを使わずにコンソールをスクロールさせるぞ | えっ?これって。って思うはずです。しかし、下敷きって難しいよね。一から作った自分のOSに搭載するのは面倒だと思う。でも、この方法なら、楽チン。まず、vramにかかれているのはご存知なはずなので、vramデーターを=で結んでデーターを移動させればいいこと。なお、動かしても、文字は残らないらしい。 |
- ファイル関係
ディスク操作、ファイル書き込み | advance参照。 | ディスク名の取得 | ディスク名は0x0010002bあたりからかかれていて、そこから11文字分を適当なchar型変数に入れればよい。 | ディスクフォーマットタイプの取得 | フォーマットタイプは、ディスク名のその後にあるから。ディスク名のときのようにやればいい。ディスクフォーマットタイプは、0x00100036あたりから書かれていて、そこから8文字分を適当なchar型変数に入れればよい。 |
- ディスク名のサンプル
char dname[11], *dadd;
int i, j;
for (i = 0, j = ADR_DISKIMG + 0x00002b;i < 11;i++, j++) {
dname[i] = dadd[j];
}
...
- あとは表示すればいい。
- ディスクフォーマットタイプのサンプル
char dftype[11], *dadd;
int i, j;
for (i = 0, j = ADR_DISKIMG + 0x000036;i < 11;i++, j++) {
dftype[i] = dadd[j];
}
...
- あとは表示すればいい。
- コマンド関係
searchコマンド | これは、サンプルを作らなくてもみなさんなら、できるかも。finfoの構造体を、filesearch関数で処理すれば簡単でしょ?。30日達成のみなさんならできるかもしれません。でも、これは作って置いた方が使用者にとってはいいとおもいますね。 | helpコマンド | これは、公開するなら作っておいたほうがいいと思います。いや、textファイルとかで説明するなら別だけど。 |
- おまけ
2進数数字を16進数数字へ変換しよう | まず、変換元のデーターが収納されているやつを、4ケタずつに区切って処理する関数を作ることにしましょう。以下のように4ケタ目が1だと8みたいに関係しています。Fになるまでの関係表をおまけとして書いておきます。一番わかりやすいのは、その4ケタを1になるか比較して1だったらその桁数の足す数をその変数に足しちゃえばいいってことです。 |
- 2進数数字を16進数数字へ変換しようのサンプル
int 2_16(int a, int b);
void binery()
{
int *b/* 2進数の略 */, *hd/* 16進数の略 */;
b = 11111111; /* ちなみにFFです。 */
hd = 2_16(b, hd);
...
}
int 2_16(int *a, int *1b);
{
int i, j;
for (i = 0, j = 0; a[i] != 0x00; i += 4, j++) {
if (a[i] == 1) {
b[j] += 8; /* 4ケタ目が1だと8になるから */
} else if (a[i + 1] == 1) {
b[j] += 4; /* 3ケタ目が1だと4になるから */
} else if (a[i + 2] == 1) {
b[j] += 2; /* 2ケタ目が1だと2になるから */
} else if (a[i + 3] == 1) {
b[j] += 1; /* 1ケタ目が1だと1になるから */
}
}
return b;
}
- 2進数と16進数の互換表
2進数 | 16進数 | 0 | 0x0 | 1 | 0x1 | 10 | 0x2 | 11 | 0x3 | 100 | 0x4 | 101 | 0x5 | 110 | 0x6 | 111 | 0x7 | 1000 | 0x8 | 1001 | 0x9 | 1010 | 0xA | 1011 | 0xB | 1100 | 0xC | 1101 | 0xD | 1110 | 0xE | 1111 | 0xF |
あらゆるOS比べ
OSASK | 川合秀実氏が作っている団体OS。他のOSから取り入れているため、機能が豊富である。開発環境が動いたり、絵がかけたりと。80KBという驚異のサイズでココまでできるとは、アセンブラのおかげかもね。V5からは、書き直しらしいけど、大丈夫なのかな。(とにかく、頑張れ、がんばれ、ガンバレ、GANBARE) | WindowsVista | こりゃすごいってらしいけど、僕は認めない(12歳が認めないって・・・)一から作り直しているらしいけど、新しくなったのデザインとセキュリティーぐらいじゃん。デザインは、2000よりきれいになった。だけど、Aero抜いたやつもある。それを考えるとね。セキュリティーってあったり前ジャン。まあ、Vistaなりの理由はあるからいいけど。まあ、僕はこのOS比べの中で一番いいOSはこれかな?使ってみています。結構いいかも。でも、重いよ。 | Linux | OOO氏が(忘れた。)作ったLinuxカーネルのおかげで成長している。いろいろなパーツ(xwindowとか)をあわせて作っているやつが多い。その割には、結構できてないOSとできているOSの区切りがあるけど。 |
”A”なりの「30日でできる。OS自作入門」の感想
購入当時 | 「これって、どんなレベル?」と思いながら開けてみるとなんと、バイナリ!!こりゃびっくりしたわな。あとのほうをぱらぱらってみると、段階を踏んでレベルアップしているから、進みやすそうだった。あっというまに購入(がちゃん!!) | 1週間目 | アセンブラとC言語が混ざっている時期。割り込みって?32Bitって?って思いながら読み進んでいくと意外と理解可能。この時期を苦労すれば来週時期には楽になりそうだ。 | 2週間目 | やっとマウスカーソルが動いたり、ウィンドウを出せたり、タイマーを設定したり、メモリー管理ができた。意外と速かった。あっそうそう。キー入力や高解像度にも対応しました。(OSらしいぞ) | 3週間目 | マルチタスクだい!!。やっていくうちに計測結果が良くなって行くぞ。おおお。コンソールだ。dirが、memが、clsが・・・すごい!!完ぺきではないか。完ぺきだ。これで大満足。おおおおアプリもか。HLTしたぞ・・・すげーーーー | 4週間目 | APIをバンバンついか。OSを守ったりアプリも守れてこのOSは、正義のOSだ。悪いアプリは、説教だーーーー。結構いいね。OSらしいぞ。 | 5週間目 | 日本語表示にファイル関係に計算機にいっぱいできた。す、すごい。天才的だ。高速化で、画像も見れて、音楽聴けて・・・・。最高だ。でも、なんか足りないような・・ | 終わって | はああーー。終わった。最高なOSだったな。最後の音楽を追加して流しながら聞こう。川合様に感謝しながらページを読み終えた。あーーー楽しかった一週間だったな・・・・・。 | 総合感想 | この本で学んだことは、基本通りのこと。この本をベースにして書き込みをつけたり、もっと多機能にしたりして見たい。今advanceで、読了読者向けのページを付けている。そのページを参考にし、楽しいOSを作ってほしい。この皆さんには自分で楽しみながらちょくちょくOSを作ってほしい。たまには自分で学んで作ってみるのもいいだろう。 |
コメント欄
- 何か”A”へ言いたいことがある方はここのコメント欄にてお書きください。的確に返事をいたします。
- 私もOSを作ろうと思っています。 -- M59 2006-06-17 (土) 12:54:04
- 始めまして。M59さん。同感ですね!!M59さんってあのOSASKの開発者の一員の方ですか? -- A 2006-06-17 (土) 13:26:37
- 初めまして。ちょっと気になったのですが、Aさんの『「30日でできる。OS自作入門」の感想』の部分がCloverさんのそれと、ほぼ同じ文章になっています。もし無断でコピーしたのなら、それは著作権違反になるかもしれないので、やめましょう。また、もしAさんとCloverさんが同一人物だとしたら、個人で複数ページを持つことはルール違反なので、それもやめましょう。(もちろん、だからといって黙ってすぐにページを削除するのはいけませんよ。FrontPageを良く読んで下さいね。) -- かの 2006-06-19 (月) 22:21:49
- Cloverには直接コピーを取っていいと確認を取っておりますから -- a 2006-06-20 (火) 07:02:45
- 質問:「Cloverさんの感想」をコピーしたということは「Aさんの感想」ではないのですか? -- M59 2006-06-20 (火) 14:50:54
- あっそういうことになってしまいますね。書き直します。 -- A 2006-06-21 (水) 06:09:29
- 目次の感想の削除を忘れているようです。(この書込みは唯の削除ミス指摘なので、Aさんが削除してよいです。) -- M59 2006-06-24 (土) 12:10:13
- すいません。急いでたもので・・・。ご指摘ありがとうございます。修正させていただきます。 -- A 2006-06-24 (土) 12:54:39
- えーーと、今回いろいろと警告を出しましたが、関係ない方は気にしないで結構です。上に書いた理由は、みなさんに目を通してほしいってわけなんですが、一回見た方は、見なくてもよろしいです。 -- A 2006-06-28 (水) 07:18:50
- 最近のつぶやき:表などでわかりやすく表現する練習。(小学生でーーす。)進数変換を授業中に考えてとなりのやつに不思議そうに思われた。なぜなら、ノートに表を書いてしまった。(秘密ですよここに来た人だけの・・・) -- A 2006-06-30 (金) 19:21:40
- Aさんは、2進数数字を16進数数字へ変換しようのサンプルを掲載する前に、実際にうまく実行できるのか確かめられましたか? -- 名無しさん 2006-07-05 (水) 01:11:18
- 確かめてないんじゃないかなぁ。だってコンパイル出来ないはずだもん。 -- uchan 2006-07-05 (水) 07:42:25
- 対処関係 0県となっておりますが... -- 名無しさん 2006-08-03 (木) 13:06:39
|