Diff for /np2/update.txt between versions 1.82 and 1.173

version 1.82, 2004/02/21 00:25:33 version 1.173, 2012/01/24 18:36:39
Line 19 Line 19
 #define siglongjmp(env, val)    longjmp(env, val)  #define siglongjmp(env, val)    longjmp(env, val)
 -------------------------------------------------------------------------------  -------------------------------------------------------------------------------
   
   
    CHARSET_OEMについて
     要は毎回Shift-JISに変換せずに OS依存の文字コードで処理しようとする…
     まだ機能しません。定義しないで下さい。
   
     OEMCHAR (現状char固定、将来として UCS2でUINT16、UCS4でUINT32)
     OEMTEXTの追加
     コンパイルが通るかご確認下さい。
   
     ステップ.1 (WinCE,X11)
      OEMコードと SJIS(EMBED/hostdrv)の変換調整
      (FONTMNGは SJISのままで EMBEDで変換)
   
      つか…X11版のDOSIO file_catname,file_cmpnameの入力が sjisになってる…
      (NP2はファイル名は OSLANGに従う…筈…
      と思ったら hostdrvで SJISのまま食わせてる?(汗
   
      EUCの2バイトコード判定が (((c - 0xa1) & 0xff) < 0x5d)で
      半角カナ(0x8e)の判定で狂う
      (c & 0x80)のほうが良い?
   
      現状の…
   
      ・codecnv.hのインクルードは compiler.hに移動
   
      ・#if defined(OSLANG_EUC)
        codecnv_sjis2euc(tmp, NELEMENTS(tmp), src, (UINT)-1);
        file_catname(path, tmp, NELEMENTS(path));
       #elif defined(OSLANG_UTF8)
        oemtext_sjis2oem(tmp, NELEMENTS(tmp), src, (UINT)-1);
        file_catname(path, tmp, NELEMENTS(path));
       #else
        file_catname(path, src, NELEMENTS(path));
       #endif
   
       を
   
       #define oemtext_sjis2oem codecnv_sjis2euc
       #define oemtext_oemsjis2 codecnv_euc2sjis
   
       としておいて
   
       #if defined(OSLANG_ANK) || defined(OSLANG_SJIS)
        file_catname(path, src, NELEMENTS(path));
       #else
        oemtext_sjis2oem(tmp, NELEMENTS(tmp), src, (UINT)-1);
        file_catname(path, tmp, NELEMENTS(path));
       #endif
   
       とする?
   
      メモ: http://euc.jp/i18n/charcode.ja.html
   
     ステップ.2 (WinNT,MacOSX)
      OEMCHARのUCS2対応
   
     ステップ.3 (MacOSX)
      ANSI PageCodeと Macintosh PageCodeの調整
      メモ: http://homepage1.nifty.com/nomenclator/unicode/normalization.htm
   
     ステップ.4 (WinNT,WinCE,MacOSX,X11)
      フォント関数回りを SJISからOEMコードに移行
   
   
   // ----
   
    ver0.83 → ver0.84
    ・i386c - rcl, rcr 命令の不具合を修正
    ・i386c - 命令実行中に例外が発生した際にスタックポインタがずれてしまう
         不具合を修正
    ・i386c - 割込みゲート、トラップゲートで不正なエラーコードが設定されてしまう
         不具合を修正
    ・i386c - セグメント有効範囲チェックの不具合を修正
    ・BIOS - 1F90h A20有効後に戻していない不具合を修正
    ・BIOS - 1Bh メモリアクセスを修正
   
    (Win32)
     ・NASM 2.09を使用するように修正
     ・UNICODE版(np2nt.exe) で hostdrv が利用できないバグを修正
   
    (X11)
     ・STATSAVE 用のメニューを作成
     ・レジューム/STATSAVE のファイル名を変更
      - レジューム: ${HOME}/.np2/sav/sav → ${HOME}/.np2/sav/np2.sav
      - STATSAVE  : ${HOME}/.np2/sav/s00 → ${HOME}/.np2/sav/np2.s00
     ・フォントパスに設定ファイル名が含まれてしまう不具合を修正
     ・エミュレーションウィンドウサイズ変更用のメニューを作成
     ・GLIB, GTK+ の deprecated なインタフェースを使用しない様に修正
     ・CPU 使用率を軽減する様に修正
     ・コンフィグ画面からサウンドドライバを変更出切る様に修正
     ・環境によってサウンドを有効にした場合にプログラムがクラッシュする
      不具合を修正
     ・GLIB, GTK+ の deprecated なインタフェースを無効化しない様に修正
     ・ビルド、インストールに Autotools(configure) を使用するように修正
     ・ファイル保存時に既に同名ファイルが存在した場合、上書き確認ダイアログを
      表示するように修正 (GTK+-2.8 以降のみ有効)
     ・F12 キー機能割り当てに Help キーを追加
     ・ファイルダイアログの floppy disk image Files にて拡張子が flp のファイル
      を表示する様に修正
     ・Screen Option の LCD のチェックを外しても外れない不具合を修正
     ・FDD シーク音が鳴らない不具合を修正
     ・色深度が 8bpp の場合に配列の範囲外にアクセスしていた不具合を修正
   
   
   // ----
   
    ver0.82 → ver0.83
   
    (X11)
     ・ファイルダイアログにて拡張子が大文字のディスク・イメージを認識する様に修正
     ・ファイルダイアログの IDE disk image Files にて拡張子が .hdi .tfd の
      ファイルを表示する様に修正
   
   
   // ----
   
    ver0.81a → ver0.82
    ・MPU-PC98II - モード切替時のMIDIリセットを修正
    ・VERMOUTH - ver1.15版に差し替え
   
    (Win9x)
     ・モジュール判定不具合修正
   
    (X11)
     ・PC9801-26K の I/O ポートが設定できなかった不具合を修正
     ・フルスクリーンモードサポート
     ・F11 キーに機能割り当て
      - フルスクリーンモードトグル
      - フルスクリーン時のメニュー表示トグル
   
   
   // ----
   
    ver0.81 → ver0.81a
    ・80286 (ARM版) - 割り込みハンドラを修正
    ・MOUSE - ボタンフラグの修正
    ・PIT - シリアルカウンタの修正
    ・HOSTDRV - 拡張子を消去する不都合を修正 (ver0.81エンバグ)
    ・BIOS - FDCスイッチ/シグナルの修正
   
   
   
    ver0.80 → ver0.81
    ・80286 (x86版) - rep ins, 2バイトmov8命令の不都合修正
    ・80286 (x86版) - クロック修正 (enter)
    ・80286 (C版) - クロック修正 (cmp, jcc, test, enter)
    ・80286 (ARM版) - pop ss命令の修正
    ・80286 (ARM版) - クロック修正 (cmp, jcc, test, enter)
    ・80286 (C版) - rep outsw命令を修正
    ・MPU-PC98II - conductor修正
    ・MPU-PC98II - Request PC/Tempo コマンドの追加
    ・DMA - セルフイニシャライズを追加
    ・GDC - ソフトリセット時のフラグ修正
    ・GRCG - ソフトリセット時のフラグ修正
    ・PIT - シリアルカウンタの修正
    ・MOUSE - 割り込み修正
    ・ATRIC - 時間巻き戻りバグ修正
    ・SOUND - アドレスバスの修正
    ・WSS - データ転送サイズの修正
    ・BIOS - 1842h スクリーンモードを破壊する不都合修正 (ver0.75エンバグ)
    ・BIOS - CRTBIOSフラグ修正 (PC-9821モード)
    ・BIOS - FDDアクセス時にstatsaveを行なうと復帰できなくなる不都合修正
    ・一部(というか大部分…)のキーボードのmake/break関係を修正
   
    ・メモリを修正(C版コア)
    ・16MB以上のメモリをサポート(IA32)
   
    ・内部変更
     たぶん
      #define OEMTEXT(string)    (string)
     を
      #define OEMTEXT(string)    string
     にする必要がある。
   
     CPUフォルダの DMA EGC等がほぼ同様のコードなので memフォルダへ移動し
     共通にしました。
   
     embedのShift-JISを ネイティブコードにしました。
     文字コードがEUCの環境では SUPPORT_SJISは不要になります。
     また、fontmng_getsize, fontmng_getdrawsizeの引き数の文字コードが
     SJISからEUCへ変更になっています。
   
     codecnvとucscnvを /codecnv へ移動しました。
   
     pccore.cとかにあるデバグコードがウザイので trapフォルダへ移動。
     ENABLE_TRAPが定義されてなければ見る必要はありません。
   
   
   // ----
   
    ver0.79 → ver0.80
    ・BIOS - スクロールコマンド修正
    ・BIOS - システムポートの修正(i286/V30ではほぼ無意味)
    ・GDC - ステップフラグの反映
    ・FDC - レディ信号を修正
    ・i286x - div命令 (i286モード側)
    ・i286c - div命令 (V30モード側)
   
   
    (X11)
     ・ジョイスティックサポート
      サウンドドライバに SDL を使用している時にのみ使用可
     ・screen depth == 24bpp の時にキーディスプレイ、ソフトウェアキーボードの
      描画がおかしい不具合を修正
     ・T98-Next(.NHD)形式、Anex(.HDI)形式ハードディスクイメージ作成サポート
   
   (MacOSX)
     ・日本語リソース追加
     ・ソフトウェアキーボードを有効にした
   
   
   // ----
   
    ver0.78 → ver0.79
    ・CGROM - JIS83罫線の不都合修正
    ・CGROM - 2バイト半角アクセス修正
    ・86PCM - バッファリングの不都合を修正
    ・BEEP - BEEP PCMの修正
    ・BIOS - 2Dタイプのシリンダ倍移動を修正
    ・BIOS - FDD割り込みフラグを修正
    ・AMD98 - レジスタリードの追加
    ・VRAM - スキップライン描画の修正
    ・BMPSave - スキップライン有効時のセーブ不都合を修正
   
    (Win9x)
     ・ソフトウェアキーボードを有効にした
   
    (MacOSX)
     ・カレンダーに対応
   
   
    ・内部変更
   
      char *file_getext(const char *path);
      char *file_getname(const char *path);
      (constが付きます)
   
      記念に gif保存に対応してみたり
       vram/scrnbmp.c の代わりに vram/scrnsave.c をリンクして
   
        SCRNSAVE ss = scrnsave_get();
        scrnsave_writegif(ss, "out.gif", SCRNSAVE_AUTO);
              scrnsave_trash(ss);
   
        bmpなら scrnsave_writebmp(ss, "out.bmp", SCRNSAVE_AUTO);
   
        np21のVGA時に 257色以上になるのに注意
        (ss->type == SCRNSAVE_24BITの時にgif保存出来ません)
   
   
   // ----
   
    ver0.77 → ver0.78
    ・PIC - スレーヴのマスクの修正
    ・CGROM - JIS83罫線の不都合修正
    ・TEXTRAM - JIS83罫線の不都合修正
    ・86PCM - 割り込みステータスの修正
    ・BIOS - ブート時にメモリを完全に消去するようにした
         ※ RanceII対策、他のホットスタートで不都合が出るかも
    ・BIOS - 直線描画のアルゴリズム修正
    ・BIOS - 円の半径が異常だった不都合の修正
    ・BIOS - JIS83罫線の不都合修正
    ・LIO - 内部塗り潰し指定付きBOX描画の対応
    ・LIO - 半角ひらがなの対応
    ・LIO - 円の仮サポート
   
    (X11)
     ・ソフトウェアキーボードサポート
   
    ・内部変更
   
      追加ファイル
       /lio/gcircle.c
   
   
   
   // ----
   
    ver0.76 → ver0.77
    ・BIOS - FDC BIOSの修正
    ・FDD - ディスクシーク音再生中にリセットを行なうと 以降ディスクアクセスが行なえなくなる不都合を修正。
   
    (X11)
     ・i386 アーキテクチャ以外でコンパイルできない不具合を修正
   
   
   
   // ----
   
    ver0.74 → ver0.76 (branch...)
    ・DMA - バンク・アドレスマスクの修正
    ・PIC - スペシャルマスクモードの対応
    ・PIT - マルチプルラッチコマンドのサポート(uPD71054)
    ・CGROM - 2バイト半角の処理を修正
    ・CGWINDOW - ワードアクセスの挙動修正 (MacOS9/MacOSX/x11/SDL)
    ・MOUSE - uPD8255のコマンドレジスタの修正
    ・86PCM - 停止時にもかかわらずバッファを進めてしまう不都合を修正
    ・CS4231 - PIOサポート
    ・BIOS - ベクタ08/1A/1Fの修正
    ・BIOS - リセット時の挙動の修正
   
    (Windows9x)
     ・ATマシンの場合に PageUp/PageDownを反転
   
   
    ・内部変更
      基本的にファイルが存在しなければプロジェクトから除外、
      リンクエラーが出たらgrepしてファイル追加
   
       追加ファイル
        /bios/bios1f.c
        /bios/biosfd80.res
        /cbus/ideio.h
        /cbus/ideio.c         (SUPPORT_IDEIO定義時)
        /cbus/atapicmd.h
        /cbus/atapicmd.c      (SUPPORT_IDEIO定義時)
        /cbus/idebios.res
        /io/pcidev.h
        /io/pcidev.c          (SUPPORT_PC9821定義時)
   
   
       削除ファイル
        /bios/bios02.c
        /bios/bios08.c
        /bios/biosboot.res
        /common/pf_key.tbl
        /sound/wavemix.h
        /sound/wavemix.c
        /sound/rhythmg.c
        /lio/gview.c
        /lio/gcolor1.c
        /lio/gcolor2.c
        /lio/gcls.c
   
   
      ROMIMAGEは MASMからNASMへ移行中でつ。
   
      SUPPORT_IDEIOは定義しないで下さい(まだマトモに動きません)
   
      IA32でもハードウェアEMSを有効にしてみるテスト。
   
   
   
 // ----  // ----
   
  ver0.74 → ver0.75   ver0.74 → ver0.75
   
  ・GDC - ベクタの初期化し忘れを修正   ・GDC - ベクタの初期化し忘れを修正
  ・GDC - パターンの修正   ・GDC - パターンの修正
  ・EGCの高速化   ・ITF/BIOS - リセット時の挙動の修正
    ・BIOS - 1842h モノクロフラグを修正
    ・EGCの高速化(?)
  ・リズムの修正(PCM 44khz 16bit monoralの制限を外した)   ・リズムの修正(PCM 44khz 16bit monoralの制限を外した)
  ・LIOの修正   ・LIOの修正
   
Line 33 Line 378
  (Windows)   (Windows)
   ・(I286X) EGCバイトアクセス修正    ・(I286X) EGCバイトアクセス修正
   ・(I286X) ストリング命令修正    ・(I286X) ストリング命令修正
     ・フロッピードライブ接続状態指定
   
    (MacOS9)
     ・フロッピードライブ接続状態指定
     ・MPU-PC98IIの設定ダイアログ
   
  (WinCE)   (WinCE)
   ・(I286A) メモリの修正    ・(I286A) メモリの修正
   ・GDC - GDCクロック 1.79MHzのサポート    ・GDC - GDCクロック 1.79MHzのサポート
   
    (X11)
     ・Configure Dialog にてアーキテクチャの指定を追加
   
    (MacOSX)
     ・フロッピードライブ接続状態指定(FDD1、FDD2のみ)
     ・設定ダイアログのディップスイッチ画像表示
     ・CoreMID経由のMIDI演奏に対応
     ・MPU-PC98IIの設定ダイアログ拡充
     ・Key Display対応(マウスクリックでFMとMIDIが切り替わります)
   
   
    ・200ラインモードについて (正式サポート / #define SUPPORT_CRT15KHZ)
     PC-9801シリーズ(FELLOW、PC-9821、ハイレゾ機を除く)に搭載されている
     200ラインモードは設定ファイルのDIPswtchにて設定可能となります。
   
      400ラインモード
       DIPswtch=3e ?? ??
   
      200ラインモード
       DIPswtch=3f ?? ??
   
     本機能は DIPSW1-1に相当する機能であり、PC-9801VM以降のマシンで
     一般に言われている200ラインモードとは異なる機能です。
   
     ※PC-98シリーズの一般的な200ラインモードは、640x200を縦に2倍拡大し
      400ラインモードで動作しています。
   
     本機能は DIPSW1-1の切り替え機能を削除した FELLOW、PC-9821、ハイレゾ機の
     BIOS.ROMを使用時には正常に動作致しません。
     これを理由に、本機能は NP2上で設定スイッチを設けません。
   
     また、レジューム動作時に DIPswtchの値を変更した場合、正常に
     スクリーンモードを変更できなくなります。
     (PC-98動作中にディップスイッチを変更した時と同じ状態になります。)
     必ずリセットして下さい。
   
   
   
    ・キー設定について
     bios.romとかと同じフォルダに key.txtというファイル名のテキストファイルを
     作成して、キー設定を記入して下さい。
   
     書式)
      [keyname] = [key1] (key2) (key3)
      [keyname] [TAB] [key1] (key2) (key3)
      userkey[1-2] = [key1] (key2) (key3) ... (key15)
       フルキー 0〜9 A〜Z - ^ \ @ [ ] ; : , . / _
                STOP COPY ESC TAB BS RET SPC XFER NFER
                    INS DEL RLUP RLDN HMCL HELP
       ファンク F1〜F10 VF1〜VF5
       テンキー [0]〜[9] [-] [/] [*] [+] [=] [,] [.]
       シフト   SHIFT CAPS KANA GRPH CTRL
   
      通常キーは3個、userkeyは15個の同時押し設定が可能です。
      [=] キーは = で区切られてしまうので TABで区切るか [EQU]として下さい。
   
      例:
       W = UP                 (ダイアモンドキーをカーソルにしてみたり…)
       S = LEFT
       D = RIGHT
       X = DOWN
       [7] = [4] [8]          (テンキー斜め同時押しにしてみたり…)
       [9] = [6] [8]
       [1] = [4] [2]
       [3] = [6] [2]
       userkey1 = CTRL XFER   (CTRL+XFER FEP切り替え)
       userkey2 = D O A Z     (D+O+A+Z 同時押し)
   
   
   
  ・内部変更   ・内部変更
    win9x/unasmをgenericへ移動(+P6,FPU命令をサポート)     win9x/unasmをgenericへ移動(+P6,FPU命令をサポート)
Line 55 Line 474
     ハードウェアで対応してる場合には 一応 SUPPORT_HWSEEKSNDと定義して      ハードウェアで対応してる場合には 一応 SUPPORT_HWSEEKSNDと定義して
     くれると嬉すぃ      くれると嬉すぃ
   
            ・keystat_initialize(keystat_reset)をコールして初期化すること…
   
 // ----  
   
   // ----
   
  ver0.73 → ver0.74   ver0.73 → ver0.74
   

Removed from v.1.82  
changed lines
  Added in v.1.173


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