13: 2008-11-27 (木) 17:45:32 |
現: 2024-01-08 (月) 12:58:41 k-tan |
- | * 「ぐいぐい01」のAPI(1) | + | TITLE:x |
| + | * 「ぐいぐい01」のAPI(1) [#y9335d3e] |
| -(by [[K]], 2008.11.03) | | -(by [[K]], 2008.11.03) |
- | *** 註 | + | *** 註 [#x6de1e58] |
| -一応API番号順です。 | | -一応API番号順です。 |
- | *** 通常API | + | -API関数名はかなり適当なので、各自#defineで関数名を付け直すといいかもしれません。 |
| + | *** 通常API [#r5a96744] |
| -[000000] なにもしない。NOP。 | | -[000000] なにもしない。NOP。 |
| -[000001] リマーク。skip。 | | -[000001] リマーク。skip。 |
| --g01_puts_c255("¥x0d", "hello, world¥n"); のように使う。 | | --g01_puts_c255("¥x0d", "hello, world¥n"); のように使う。 |
| | | |
- | *** ジャンクAPI すべて[ffffff]のサブファンクション | + | *** ジャンクAPI すべて[ffffff]のサブファンクション [#z2492927] |
| //*** ジャンクAPI すべて[3ffffff]のサブファンクション -- commented_out by K, 2008.11.19 | | //*** ジャンクAPI すべて[3ffffff]のサブファンクション -- commented_out by K, 2008.11.19 |
| -[000000] リザーブ。 | | -[000000] リザーブ。 |
| --そういう事情により、このAPIを呼んだ場合しばらくアプリに帰ってこられない場合もありうる。それが困る場合は、上記のjg01_malloc()を使用すること。 | | --そういう事情により、このAPIを呼んだ場合しばらくアプリに帰ってこられない場合もありうる。それが困る場合は、上記のjg01_malloc()を使用すること。 |
| --このファンクションでもらったメモリは原則としてデータ用で、ページに実行可能属性を付与されることは保証していない。 | | --このファンクションでもらったメモリは原則としてデータ用で、ページに実行可能属性を付与されることは保証していない。 |
- | -[000008] void jg01_malloc_e(int bytes, void **p) | + | //-[000008] void jg01_malloc_e(int bytes, void **p) |
- | --このファンクションでもらったメモリは読み書きのほかに実行もできる。それ以外はjg01_malloc()と同じ。ちなみに起動時に与えられる.dataセクションや.bssセクションやスタックには実行可能権限の付与が保証されていない。 | + | //--このファンクションでもらったメモリは読み書きのほかに実行もできる。それ以外はjg01_malloc()と同じ。ちなみに起動時に与えられる.dataセクションや.bssセクションやスタックには実行可能権限の付与が保証されていない。 |
- | -[000008] void jg01_malloc1_e(int bytes, void **p, int i) | + | //-[000008] void jg01_malloc1_e(int bytes, void **p, int i) |
- | --このファンクションでもらったメモリは読み書きのほかに実行もできる。それ以外はjg01_malloc1()と同じ。ちなみに起動時に与えられる.dataセクションや.bssセクションやスタックには実行可能権限の付与が保証されていない。 | + | //--このファンクションでもらったメモリは読み書きのほかに実行もできる。それ以外はjg01_malloc1()と同じ。ちなみに起動時に与えられる.dataセクションや.bssセクションやスタックには実行可能権限の付与が保証されていない。 |
| + | // ↑-- commented_out by K, 2008.11.28 |
| -[000009] void jg01_mfree(int bytes, void *p) | | -[000009] void jg01_mfree(int bytes, void *p) |
| --jg01_malloc()類でもらったメモリを返す。部分的に返すこともできるし、bssの一部などもらってないメモリを返すこともできる。pが-1だと何もしない。アプリの終了時にはメモリは勝手に返されるので、終了処理中にmfreeする必要はない。 | | --jg01_malloc()類でもらったメモリを返す。部分的に返すこともできるし、bssの一部などもらってないメモリを返すこともできる。pが-1だと何もしない。アプリの終了時にはメモリは勝手に返されるので、終了処理中にmfreeする必要はない。 |
| --ちなみにefg01のひどい手抜き実装だと、mfreeが何もしないということもありうる(苦笑)。 | | --ちなみにefg01のひどい手抜き実装だと、mfreeが何もしないということもありうる(苦笑)。 |
| + | -[00000a] void jg01_sleep1(unsigned int unit, unsigned int tim) |
| + | --指定した時間だけスリープする。待ち時間=tim*2^(unit-32)[sec]。 |
| + | -[00000b] int jg01_inkey2() |
| + | --標準コンソールからキーコードを取得。0の場合はキーバッファが空だった。キーコードはASCIIコードに変換される。Enterは0x0dになる。カーソルキー等は入力できない。 |
| + | -[00000b] int jg01_inkey3() |
| + | --上記とほぼ同じだが、こちらは入力があるまで帰ってこない。 |
| + | -[00000c] void jg01_consctrl4(int x, int y) |
| + | --コンソールの大きさを指定(これをやらずに以下の制御(1と3)はできない) |
| + | -[00000c] void jg01_consctrl3() |
| + | --コンソールをクリア |
| + | -[00000c] void jg01_consctrl1(int x, int y) |
| + | --カーソルの移動 |
| + | -[00000c] void jg01_consctrl2(int f, int b) |
| + | --キャラクタの色指定(XRGBによる16色:Xは拡張色ビット) |
| + | -[00000d] int jg01_randomseed() |
| + | --乱数用の種を得る |