Diff for /np2/readme.txt between versions 1.4 and 1.13

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)
  システムを終了する。    システムを終了する。
   

Removed from v.1.4  
changed lines
  Added in v.1.13


RetroPC.NET-CVS <cvs@retropc.net>