mgxlib
mgxlib
mgxlibってなによ。
「mgxlib」というのは、MOGESYSTEMの「はりぼてOS 向けの ライブラリ」のプロジェクトです。
まあ、OS実装に役立つライブラリを作ろうと思います。
投稿する。
mgxlibはKL-01ライセンスです。
ですが、moge32一人で寂しくやるのもどうかな…と思ったので、
投稿形式をとることにしました。
ですので、必要事項とルールを守って強力なライブラリをみなさんで作っていきましょう!
約束事
ではルール・必要事項を説明します。
まずはルールです。
ルール
1. 他人のコードを編集しない。
2. 関数名のはじめは「mgxlib_」ではじめる。
ちなみに、moge32がライブラリ化する際に、ソースを編集したり、採用しない場合があります。
ご了承ください。
次に必要事項です。
必要事項
1. 作者(必ず書いてください!)
2. 言語・コンパイラ(C言語かNASK、NASMでコンパイル・アセンブルできるものがいいです。)
3. プログラムの分類(自分で勝手に項目を作ってもらって構いません。)
4. コメント(ノーコメントでもいいですが書いていただけるといいですね。)
5. ソースコード or ソースの掲載ページへのリンク。
作者名はなるべく書いてください。
作者名を書けば、採用された場合なんとreadmeの作者一覧に!!
(採用されなくても、スペシャルサンクスのところに入れておきますのでご安心を。)
書かなかった場合はソースコード中のコメントでは「noname」としておきます。
投稿しようぜ!のコーナー。
投稿例。
作者 | moge32 |
言語 | C |
分類 | 電源管理 |
コメント | リセットします。 |
ソース | 下記。 |
void mgxlib_reset() { unsigned char io = 0x02; io_cli(); // 割り込み禁止 while ((io & 0x02) != 0) { io = io_in8(0x64); } io_out8(0x64, 0xfe); while(1) io_hlt(); // 寝る。 }
投稿しよう!
作者 | hikarupsp |
言語 | NASK |
分類 | PIT_Beep |
コメント | hrb-wikiから来ました。ビープ音の単純制御。 |
ソース | 下記。CHNOSProjectで使用。 |
#C言語側での関数宣言
#void PIT_Beep_On(void); //ビープ音を開始する。
#void PIT_Beep_Off(void); //ビープ音を停止する。
#void PIT_Beep_Set(unsigned int fq); //ビープ音の周波数を、fqHzに変更する。
# //fqの値
# //C:262 C#:277 D:294 D#:311 E:330 F:349 F#:370
# //G:392 G#:415 A:440 A#:466 B:494 C:523
_PIT_Beep_On:
in al,0x61 or al,0x03 and al,0x0f out 0x61,al ret
_PIT_Beep_Off:
in al,0x61 and al,0xd out 0x61,al ret
_PIT_Beep_Set:
mov eax,1193180 mov edx,0x00000000 mov ecx,[esp+4] div ecx mov edx,eax mov al,0xb6 out 0x43,al mov eax,edx out 0x42,al shr eax,8 out 0x42,al ret
作者 | moge32 |
言語 | C |
分類 | グラフィックス |
コメント | 「0xff00c6」のようなカラーコードを8bitカラーにします。 |
ソース | 下記。 |
int color_hex2code(int col) { int r, g, b; r = col & 0xff0000; g = col & 0x00ff00; b = col & 0x0000ff; if (r != 0) r /= 43; if (g != 0) g /= 43; if (b != 0) b /= 43; return 16 + r + g * 6 + b * 36; }
- 最終更新:2011-08-25 10:55:48