
// ---- info

　TRACE版(i286_step())で シングルステップ割り込みが割り込み続けるとか
　mov SS直後に割り込みが発生するとか不都合があります。
　これについては、直す気力があれば(286コードを追っかける時だけだし…)

// ---- IA-32 info

  ・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)
-------------------------------------------------------------------------------


　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の２バイトコード判定が (((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

　(X11)
　　・STATSAVE 用のメニューを作成
　　・レジューム/STATSAVE のファイル名を変更
      - レジューム: ${HOME}/.np2/sav/sav → ${HOME}/.np2/sav/np2.sav
      - STATSAVE  : ${HOME}/.np2/sav/s00 → ${HOME}/.np2/sav/np2.s00


// ----

　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, ２バイト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 - ２バイト半角アクセス修正
　・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 - ２バイト半角の処理を修正
　・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

　・GDC - ベクタの初期化し忘れを修正
　・GDC - パターンの修正
　・ITF/BIOS - リセット時の挙動の修正
　・BIOS - 1842h モノクロフラグを修正
　・EGCの高速化(?)
　・リズムの修正(PCM 44khz 16bit monoralの制限を外した)
　・LIOの修正


　(Windows)
　　・(I286X) EGCバイトアクセス修正
　　・(I286X) ストリング命令修正
　　・フロッピードライブ接続状態指定

　(MacOS9)
　　・フロッピードライブ接続状態指定
　　・MPU-PC98IIの設定ダイアログ

　(WinCE)
　　・(I286A) メモリの修正
　　・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を縦に２倍拡大し
　　　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命令をサポート)

　　　np2infoをgenericへ移動
　　　　エスケープ文字を !KEY から %KEY%へ変更
　　　　ex == NULLで OS指定の改行コードになる筈
　　　　(MacOSXは np2info.cppがそのまんま移動になるかと思われ

　　　io/serial.*に存在した keystat系を /keystat.* へ移動
　　　　keystat.cをリンク、 keystat.hをインクルード

　　　SUPPORT_WAVEMIX廃止
　　　　→ SUPPORT_SWSEEKSNDに変更
　　　　ハードウェアで対応してる場合には 一応 SUPPORT_HWSEEKSNDと定義して
　　　　くれると嬉すぃ

	　・keystat_initialize(keystat_reset)をコールして初期化すること…


// ----

　ver0.73 → ver0.74

　・I/OレベルでのSASIに対応(INT3/DMA#0/BIOS:d0000-d0fff)
　・SCSI HDDに対応
　・np2qn形式 HOSTDRVに対応
　・拡張メモリの修正 (80286)
　・VRAM - 通常ディスプレイ時にメモリを破壊するバグを修正
　・GDC - GDCクロック 1.79MHzのサポート
　・GDC - 走査周波数を可変にした
　・GDC - マスクが左右反転していたのを修正
　・GDC - テキスト処理を修正(uPD7220A? cmd:05)
　・GDC - VECTEコマンド(R)を修正 (undocumented Tを追加)
　・GDC - TEXTEコマンド(SL/T)を修正 (undocumented L/C/Rを追加)
　・GDC - GRCG/EGC動作中の挙動を修正
　・EGC - マスクフラグを修正
　・FDC - DMAとステータスを修正
　・SERIAL - キーボードステータスの修正
　・uPD4990 - ホールド時の出力が不定になっていたのを修正
　・RHYTHM - レジュームが反映されなかった不都合を修正
　・ADPCM - サンプルリードがMSB/LSB逆転していたのを修正
　・BIOS - ブート時にディップスイッチで指定した画面モードを反映
　・BIOS - 1840h/1841h/1842h/1847hの結果をワークメモリへ反映するようにした
　・BIOS - 1847h マスクを左右反転させていなかったのを修正
　・BIOS - 1848h/1849h/184ahをサポート
　・ITF - PC-9801VM/PC-286時に BEEPが初期化されない不都合を修正
　・ITF - SSP終了時にハードウェアリセットをかけるように修正
　・IDE - ディップスイッチ内容(SW2-6)を反映するように修正


　(Windows)
　　・(I286X) sidt命令の修正
　　・(I286X) テキストRAMアクセスの修正
　　・(I286X) 割り込みの修正
　　・(I286X) EGCシフタを修正
　　・Aboutダイアログの修正
　　・ろみおとか…

　(MacOS9)
　　・テンキーの [+] [/] の修正
　　・file_attr()で FILEATTR_READONLY を返すように…

　(MacOSX)
　　・テンキーの [+] [/] の修正
　　・file_attr()で FILEATTR_READONLY を返すように…
　　・ツールウィンドウ修正
　　・FDIイメージ対応（仕事早いよー＞ゆいさん）
　　・フルスクリーン修正（たぶん・・）
　　・マウスドラッグに対応（タコミス・汗）


　・Userkeyについて
　　userkey1, userkey2は、cfgを書換えることによりキーを自由に変更することが
　　出来ます。
　　書式)
　　　userkey1 = [key1] (key2) (key3)...
　　　　フルキー 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

　　　例:
　　　　userkey1 = CTRL XFER   (CTRL+XFER FEP切り替え用)
　　　　userkey2 = D O A Z     (D+O+A+Z 同時押し)

　　本機能は 簡易的な実装であり ver0.75で変更されます。
　　また、ver0.74ではシフト系は不整合が発生する可能性があります。



　・内部変更
　　　pccore.h の中で statsave.hをインクルード
　　　　→ #include "statsave.h" をトル

　　　io/extmem を io/emsioに変更
　　　(IA32は emsioは要らないが、NEC EMSバンク形式で必要になるかも)

　　　np2cfg.hddfile[2] -> np2cfg.sasihdd[2]

　　　void diskdrv_sethdd(REG8 drv, const char *fname);
　　　　drv = BIOSのデバイス番号
　　　　　0x00〜0x01  SASI #0-1
　　　　　0x20〜0x23  SCSI #0-3  (SUPPORT_SCSIを定義した時のみ)

　　　bios/sxsibios.c はリンク必須
　　　cbus/sasiio.c - SUPPORT_SCSIを定義した時にリンク
　　　cbus/scsiio.c cbus/scsicmd.c - SUPPORT_SCSIを定義した時にリンク

　　　IA32でハードウェアEMSを禁止しました。
　　　　　→ #define CPU_SETEXTSIZE() init_mem() に変更 (済)
　　　　　→ memory.cの EMM部分をトル (済)
　　　　　→ cpumem extmem_size を CPU_EXTMEM, CPU_EXTMEMSIZEに変更(済)
　　　　　→ protectmem_sizeをトル (済)

　　　しかし emm386.exeが使えないから ハードウェアEMSを有効にした
　　　ほーがいいかな？　辻褄は合いそうだし。
　　　386以降に乗っかってる NEC EMSバンク方式だと あまりにアホだし。

　　　dosio.hの FTYPEを common.hへ移動。
　　　こそーり fdiを読めるよーにしてみたり。

　　　フロッピードライブについて np2cfg.fddequipを見に行くようにしました
　　　デフォルトで２基
　　　np2cfg.fddequip = 0x03 (ドライブ1 = ビット0 〜 ドライブ4 = ビット3)
　　　(実際に動作中の装備状態は fdc.equipで リセット時に更新されます)
　　　必要によって main()で変える、cfgに書き出す等してください。

　　　S98について SUPPORT_S98定義時のみリンクするようにしました。
　　　(Win9x, MacOSX, x11(USE_GTK))

　　　PC9861Kについて SUPPORT_PC9861K定義時のみリンクするようにしました。
　　　(シリアル通信に対応していなければ無意味な機能です)

　　　userkey
　　　　ini.cで profile_setkeys, profile_getkeysで np2cfg.userkeyを更新
　　　　キーボードのどこかにキーに キーコード 0x76,0x77を追加


　メモ
　　実機で FDでVRAMクリアされるのは何故？


// ----

　ver0.72 → ver0.73

　・主にRISC向けの最適化、その２
　・EPSON PCシリーズのアーキテクチャをサポート
　・ARM版CPUコアのサポート
　・CPU(I286C) … シングルステップ割り込みの修正
　・CPU(I286C) … int3 / int imm8 / into クロック数を修正
　・CPU(I286C) … shl r/m8,cl / shr r/m8,cl の修正
　・CPU(I286C) … sar r/m (eVC3/eVC4コンパイラバグ回避)
　・CPU(I286C/I286X/I286A) … グループ７とか…
　・DMAC … インプットでアドレスとカウンタが逆なのを修正
　・PIT … ビープカウンタを修正
　・NP2SYSP … ポートを叩いた瞬間 フリーズするバグを修正
　・CALENDAR … 時間をインクリメントしないバグの修正
　・ITF … 拡張メモリ使用時にエミュレーション内部のメモリを破壊するのを修正
　・CS4231 … 再生しなくなっていたのを修正
　・CS4231 … DMA,IRQを変更出来るようにしました
　・CS4231 … デフォルトのDMAチャネルを #1に変更
　・MIDI … STATSAVEの修正
　・SOUND … JAST SOUNDをサポート
　・Vermouth … Roland GSコマンドの一部に対応

　補足
　　ver0.73では EPSONモードの時 D000〜DFFFがRAM化されます。
　　・SOUND BIOSは D000,D400に配置しないで下さい、もしくはUMB等で破壊されないようにして下さい。


　(X11)
　　・Qt 2.x の実験的なサポート
　　・SDL の実験的なサポート
　　・ビープ音量が設定ファイルに保存されないのを修正


　ver0.73向け
　　・io/necio.c io/epsonio.c をリンクして下さい
　　・io/itf.cをリンクよりはずして下さい

　　・configのモデル選択 http://retropc.net/yui/cvs/config.gif
　　　np2cfg.model に それぞれ "VM" "VX" "EPSON"の文字列を設定する。
　　　(それぞれ common/strresにstr_VM, str_VX, str_EPSONが用意されています)

　　・JAST SOUNDの選択 http://retropc.net/yui/cvs/jastsnd.gif
　　　パラレルなので 機種依存部の COMMNG.Cを修正して CMJASTCを呼ぶ
　　　使用・未使用判定は OSごとに(np2oscfgで)設定すること

　　・wavemix sound/getsnd については ver0.73では不要ですが、
　　　ver0.74あたりで使用する予定(Seeksnd?/OPNA/AMD-98の共用ルーチン化)
　　　今までのseeksndインタフェイスはどうするかね…


　更新履歴に書かなくていい変更点
　　・i286a/i286c/i286xに簡易プロテクトモードを追加(保護・タスクなし)
　　・DMACを再配置できるように修正
　　・CPU/EGCのストラクチャの調整
　　・BIOS … DISK BIOSをサポート(但し 通常のBIOSコールは DISK BIOSを使用せずに BIOSレベルでシミュレートしています)
　　・BIOS … SASI/SCSI BIOS ROMをサポート(BIOSアドレス d000:0000)
　　　補足→ (ver0.74に回す)
　　　　SASI/SCSI BIOSは 殆どの場合にはブート時にしか使っていないので RAM内容を破壊しても HDDアクセスは正常に行なわれます。
　　　　※アプリケーションが SASI/SCSI BIOSを直視しない限りは大丈夫。
　　　　　ver0.72までは SASI/SCSI BIOSがサポートされていない(＝つまり使われていない) ver0.72までに動いていたソフトウェアはほぼ大丈夫と言えます。
　　・hostdrv...


// ----

　ver0.71 → ver0.72

　・主にRISC向けの最適化(CPU, BEEP counter, BIOS etc...)
　・CPU … aaa命令の修正
　・PIT … インターバルタイマの割り込みを修正、リカバリ修正
　・VRAM … SLとLRの関係をミスってた。
　・PC-9801-26K … ステータスを修正
　・PSG … サウンド作成タイミングの修正(ヴォリューム変更時)
　・マウス … 負方向の演算の不都合を修正
　・一部の設定だけを変更しても cfgに保存されないのを修正
　・vermouth … Win9x,MacOS,X11でバンク切替えを有効にした
            (済: MacOSX→cmverを使って下さい)
            (済: x11→midimod_loadprogram/rhythmの代わりに midimod_loadallを)
　・ini/cfg … biospathの追加 (nullstringでdosioカレント)

　(MacOSX)
　　・Open/Saveダイアログ修正
　　・ドラッグ＆ドロップ修正
　　・vermouthをcmverを使うように変更
　　・XFERとNFERをそれぞれカナキーと英数キーに割り当てた。
　　・ウィンドウの位置をnp2.cfgに記録するようになった。
　　・これまでF12に割り当てていたキーをF11とF12で分担するように変更（要再設定）。
　　・割り当て可能なキーにNFERとXFER（とカナ）を追加。
　　・コマンド+クリックを右クリックに割り当てるように変更。

　(Win9x)
　　・標準ディスプレイ→プラズマディスプレイ移行時にゴミがのこるのを修正

　(WinCE)
　　・ソフトウェアキーボードのサポート

　(X11)
　　・Qt の実験的なサポート
　　・MIT Shared-Memory Extention shared Pixmap サポート
　　・画面描画時の無駄を減らした
　　・Key Display のサポート


　でぶねこ補足
　　・必須
　　　　compiler.h に 以下のうち必要な定義を入れること
　　　　　　OSLANG_SJIS, OSLANG_EUC
　　　　　　OSLINEBREAK_CR, OSLINEBREAK_LF, OSLINEBREAK_CRLF
　　　　　　SUPPORT_ANK, SUPPORT_SJIS, SUPPORT_EUC

　　・変更
　　　　(target)/keydisp -> (generic)/keydisp
　　　　(target)/cmmidi -> (target)/cmver  (vermouthのみ使用の場合)

　　基本的には WinCE版とSDL版用のファイルで追加されたファイルで
　　リンクエラーが発生しない限りは必要はないと思われ。


// ----

　ver0.70 → ver0.71

　・CPU … enter命令(level>=2)の修正(C版のみ)
　・メモリスイッチ … 初期値を修正(コプロセッサフラグ)
　・FDC … Read IDの対応
　・FDD … Write ID時にキャッシュがフラッシュされていなかったバグの修正
　・np2sysp … ポート指定ミスを修正
　・PSG … ステレオ出力の対応
　・PC-9801-14 … DIPSWポートの修正、PITのクロックを変更
　・AMD-98 … クロックを修正、レジュームの対応


　(Win9x)
　　・keydisp PSG修正
　　・マウス修正

　(MacOS9)
　　・マウス対応(Classicのみ)
　　・キーボード修正
　　　　バックグラウンド処理中にキー入力を抑制
         Classic - 旧Classicルーチンを使用するようにした
         Carbon - キーリピートに対応
　　・メニュー修正
　　・エミュレーションウィンドウを可変サイズに

　(MacOSX)
　　・マウス修正
　　・New Disk修正
　　・ヘルプ対応
　　・IIx専用ロゴ追加
　　・書類アイコン追加/変更
　　・About表示変更
　　・AMD-98対応
　　・画面回転対応
　　・エミュレーションキー追加
　　・シークサウンドをリソースに追加（外部ファイルは不要です）
　　・その他にも細かな修正あり
