|
|
| version 1.4, 2003/11/28 08:01:32 | version 1.13, 2004/06/28 12:31:32 |
|---|---|
| Line 1 | Line 1 |
| // ---- 定義 | // ---- 定義 |
| 最適化の為のメモリ使用量の抑制 | 最適化の為のメモリ使用量の抑制 |
| MEMOPTIMIZE = 0〜2 | MEMOPTIMIZE = 0〜2 |
| CPUにより以下の数値をセットされることを期待している | CPUにより以下の数値をセットされることを期待している |
| MEMOPTIMIZE未定義 … Celeron333A以降のセカンドキャッシュ有効機 | MEMOPTIMIZE未定義 … Celeron333A以降のセカンドキャッシュ有効機 |
| MEMOPTIMIZE = 0 … x86 | MEMOPTIMIZE = 0 … x86 |
| MEMOPTIMIZE = 1 … PowerPC等のデスクトップ用RISC | MEMOPTIMIZE = 1 … PowerPC等のデスクトップ用RISC |
| MEMOPTIMIZE = 2 … StrongARM等の組み込み用RISC | MEMOPTIMIZE = 2 … StrongARM等の組み込み用RISC |
| OSの言語の選択 | コンパイラの引き数・戻り値の最適化 |
| OSLANG_SJIS … Shift-JISの漢字コードを解釈する | 引き数・戻り値でint型以外を指定した場合に、最適化が有効に働かない |
| OSLANG_EUC … EUCの漢字コードを解釈する | コンパイラ向けの定義です。 |
| 通常は common.h の物を使用します。 | |
| OSLINEBREAK_CR … MacOS "\r" | REG8 … UINT8型 / (sizeof(REG8) != 1)の場合 上位ビットを0fillする事 |
| OSLINEBREAK_LF … Unix "\n" | REG16 … UINT16型 / (sizeof(REG16) != 2)の場合 上位ビットを0fillする事 |
| OSLINEBREAK_CRLF … Windows "\r\n" | いずれも値をセットする側が0fillし、参照側は0fillしたものと見なします。 |
| (milstr.h選択用) | |
| SUPPORT_ANK … ANK文字列操作関数をリンクする | OSの言語の選択 |
| SUPPORT_SJIS … SJIS文字列操作関数をリンクする | OSLANG_SJIS … Shift-JISの漢字コードを解釈する |
| SUPPORT_EUC … EUC文字列操作関数をリンクする | OSLANG_EUC … EUCの漢字コードを解釈する |
| OSLINEBREAK_CR … MacOS "\r" | |
| OSLINEBREAK_LF … Unix "\n" | |
| 現状は以下のソースコード内で個別に設定しています。 | OSLINEBREAK_CRLF … Windows "\r\n" |
| (Windowsが APIによって \r\nの場合と\nの場合があるので…) | |
| ・common/_memory.c | ※現在は以下のソースコード内で個別に設定しています。 |
| ・debugsub.c | (Windowsが APIによって \r\nの場合と\nの場合があるので…) |
| ・statsave.c | ・common/_memory.c |
| ・debugsub.c | |
| ・statsave.c | |
| (milstr.h選択用) | |
| SUPPORT_ANK … ANK文字列操作関数をリンクする | |
| SUPPORT_SJIS … SJIS文字列操作関数をリンクする | |
| SUPPORT_EUC … EUC文字列操作関数をリンクする | |
| ※現在milstr.hですべて定義されたままになっています。 | |
| ver0.73でmilstr.hの定義を外し compiler.hで指定した物となります。 | |
| CPUCORE_IA32 | |
| IA32アーキテクチャを採用 | |
| i386cを使用する場合の注意点 | |
| ・CPU panic や警告表示時に msgbox() という API を使用します。 | |
| compiler.h あたりで適当に定義してください。 | |
| ・sigsetjmp(3), siglongjmp(3) が無いアーキテクチャは以下の define を | |
| compiler.h あたりに追加してください。 | |
| ---------------------------------------------------------------------- | |
| #define sigjmp_buf jmp_buf | |
| #define sigsetjmp(env, mask) setjmp(env) | |
| #define siglongjmp(env, val) longjmp(env, val) | |
| ---------------------------------------------------------------------- | |
| CPUSTRUC_MEMWAIT | |
| cpucore構造体にメモリウェイト値を移動する(vramop) | |
| CGWND_FONTPTR | |
| cgwindowにフォントポインタを持たせる | |
| 現状、あまり意味を持ちません | |
| SUPPORT_CRT15KHZ | |
| 水平走査15.98kHzをサポートする(DIPSW1-1) | |
| SUPPORT_CRT31KHZ | |
| 水平走査31.47kHzをサポートする | |
| Fellowタイプはこれ | |
| SUPPORT_PC9821 | |
| PC-9821拡張のサポート | |
| 当然ですが 386必須です。 | |
| また SUPPORT_CRT31KHZも必要です(ハイレゾBIOSを使用する為) | |
| SUPPORT_PC9861K | |
| PC-9861K(RS-232C拡張I/F)をサポート | |
| SUPPORT_IDEIO | |
| IDEの I/Oレベルでのサポート | |
| でも ATAのリード程度しかできない… | |
| SUPPORT_SASI | |
| SASI HDDをサポート | |
| 定義がなければ常時IDEとして作動します。 | |
| SUPPORT_SCSI | |
| SCSI HDDをサポート…全然動かない | |
| SUPPORT_S98 | |
| S98ログを取得 | |
| SUPPORT_WAVEREC | |
| Soundレベルで waveファイルの書き出し関数をサポート | |
| 但し書き出し中は サウンド出力が止まるので ほぼデバグ用 | |
| // ---- screen | // ---- screen |
| PC-9801シリーズの画面サイズは標準で 641x400。 | PC-9801シリーズの画面サイズは標準で 641x400。 |
| VGAでは収まらないので 強制的にVGAに収める為に 画面横サイズは width + extend | VGAでは収まらないので 強制的にVGAに収める為に 画面横サイズは width + extend |
| とする。 | とする。 |
| 8 < width < 640 | 8 < width < 640 |
| 8 < height < 480 | 8 < height < 480 |
| extend = 0 or 1 | extend = 0 or 1 |
| Line 53 typedef struct { | Line 116 typedef struct { |
| int extend; // 幅拡張 | int extend; // 幅拡張 |
| } SCRNSURF; | } SCRNSURF; |
| サーフェスサイズは (width + extern) x height。 | サーフェスサイズは (width + extern) x height。 |
| const SCRNSURF *scrnmng_surflock(void); | const SCRNSURF *scrnmng_surflock(void); |
| 画面描画開始 | 画面描画開始 |
| void scrnmng_surfunlock(const SCRNSURF *surf); | void scrnmng_surfunlock(const SCRNSURF *surf); |
| 画面描画終了(このタイミングで描画) | 画面描画終了(このタイミングで描画) |
| void scrnmng_setwidth(int posx, int width) | void scrnmng_setwidth(int posx, int width) |
| void scrnmng_setextend(int extend) | void scrnmng_setextend(int extend) |
| void scrnmng_setheight(int posy, int height) | void scrnmng_setheight(int posy, int height) |
| 描画サイズの変更 | 描画サイズの変更 |
| ウィンドウサイズの変更する | ウィンドウサイズの変更する |
| フルスクリーン中であれば 表示領域を変更。 | フルスクリーン中であれば 表示領域を変更。 |
| SCRNSURFではこの値を返すようにする | SCRNSURFではこの値を返すようにする |
| posx, widthは 8の倍数 | posx, widthは 8の倍数 |
| BOOL scrnmng_isfullscreen(void) | BOOL scrnmng_isfullscreen(void) … NP2コアでは未使用 |
| フルスクリーン状態の取得 | フルスクリーン状態の取得 |
| return: 非0でフルスクリーン | return: 非0でフルスクリーン |
| BOOL scrnmng_haveextend(void) | BOOL scrnmng_haveextend(void) |
| 横幅状態の取得 | 横幅状態の取得 |
| return: 非0で 横幅拡張サポート | return: 非0で 横幅拡張サポート |
| UINT scrnmng_getbpp(void) | UINT scrnmng_getbpp(void) |
| スクリーン色ビット数の取得 | スクリーン色ビット数の取得 |
| return: ビット数(8/16/24/32) | return: ビット数(8/16/24/32) |
| void scrnmng_palchanged(void) | void scrnmng_palchanged(void) |
| パレット更新の通知(8bitスクリーンサポート時のみ) | パレット更新の通知(8bitスクリーンサポート時のみ) |
| RGB16 scrnmng_makepal16(RGB32 pal32) | RGB16 scrnmng_makepal16(RGB32 pal32) |
| RGB32から 16bit色を作成する。(16bitスクリーンにサポート時のみ) | RGB32から 16bit色を作成する。(16bitスクリーンサポート時のみ) |
| Line 101 NP2のサウンドデータは sound.cの以下の関 | Line 164 NP2のサウンドデータは sound.cの以下の関 |
| SOUND_CRITICAL セマフォを入れる(see sndcsec.c) | SOUND_CRITICAL セマフォを入れる(see sndcsec.c) |
| SOUNDRESERVE 予約バッファのサイズ(ミリ秒) | SOUNDRESERVE 予約バッファのサイズ(ミリ秒) |
| サウンドを割り込み処理する場合の指定。 | サウンドを割り込み処理する場合の指定。 |
| 割り込みの最大延滞時間をSOUNDRESERVEで指定。 | 割り込みの最大延滞時間をSOUNDRESERVEで指定。 |
| (Win9xの場合、自前でリングバッファを見張るので 割り込み無し・指定時間通りに | (Win9xの場合、自前でリングバッファを見張るので 割り込み無し・指定時間通りに |
| サウンドライトが来るので、この処理は不要だった) | サウンドライトが来るので、この処理は不要だった) |
| UINT soundmng_create(UINT rate, UINT ms) | UINT soundmng_create(UINT rate, UINT ms) |
| サウンドストリームの確保 | サウンドストリームの確保 |
| input: rate サンプリングレート(11025/22050/44100) | input: rate サンプリングレート(11025/22050/44100) |
| ms サンプリングバッファサイズ(ミリ秒) | ms サンプリングバッファサイズ(ミリ秒) |
| return: 獲得したバッファのサンプリング数 | return: 獲得したバッファのサンプリング数 |
| msに従う必要はない(SDLとかバッファサイズが限定されるので) | msに従う必要はない(SDLとかバッファサイズが限定されるので) |
| NP2のサウンドバッファ操作は 返り値のみを利用しています。 | NP2のサウンドバッファ操作は 返り値のみを利用しています。 |
| void soundmng_destroy(void) | void soundmng_destroy(void) |
| サウンドストリームの終了 | サウンドストリームの終了 |
| void soundmng_reset(void) | void soundmng_reset(void) |
| サウンドストリームのリセット | サウンドストリームのリセット |
| void soundmng_play(void) | void soundmng_play(void) |
| サウンドストリームの再生 | サウンドストリームの再生 |
| void soundmng_stop(void) | void soundmng_stop(void) |
| サウンドストリームの停止 | サウンドストリームの停止 |
| void soundmng_sync(void) | void soundmng_sync(void) |
| サウンドストリームのコールバック | サウンドストリームのコールバック |
| void soundmng_setreverse(BOOL reverse) | void soundmng_setreverse(BOOL reverse) |
| サウンドストリームの出力反転設定 | サウンドストリームの出力反転設定 |
| input: reverse 非0で左右反転 | input: reverse 非0で左右反転 |
| BOOL soundmng_pcmplay(UINT num, BOOL loop) | BOOL soundmng_pcmplay(UINT num, BOOL loop) |
| PCM再生 | PCM再生 |
| input: num PCM番号 | input: num PCM番号 |
| loop 非0でループ | loop 非0でループ |
| void soundmng_pcmstop(UINT num) | void soundmng_pcmstop(UINT num) |
| PCM停止 | PCM停止 |
| input: num PCM番号 | input: num PCM番号 |
| Line 176 void commng_destroy(COMMNG hdl) | Line 239 void commng_destroy(COMMNG hdl) |
| // ---- joy stick | // ---- joy stick |
| BYTE joymng_getstat(void) | BYTE joymng_getstat(void) |
| ジョイスティックの状態取得 | ジョイスティックの状態取得 |
| return: bit0 上ボタンの状態 (0:押下) | return: bit0 上ボタンの状態 (0:押下) |
| bit1 下ボタンの状態 | bit1 下ボタンの状態 |
| bit2 左ボタンの状態 | bit2 左ボタンの状態 |
| bit3 右ボタンの状態 | bit3 右ボタンの状態 |
| Line 188 BYTE joymng_getstat(void) | Line 251 BYTE joymng_getstat(void) |
| bit7 ボタン2の状態 | bit7 ボタン2の状態 |
| // ---- | // ---- |
| void sysmng_update(UINT bitmap) | void sysmng_update(UINT bitmap) |
| 状態が変化した場合にコールされる。 | 状態が変化した場合にコールされる。 |
| void sysmng_cpureset(void) | void sysmng_cpureset(void) |
| リセット時にコールされる | リセット時にコールされる |
| void taskmng_exit(void) | void taskmng_exit(void) |
| システムを終了する。 | システムを終了する。 |