| version 1.52, 2004/01/23 17:37:38 | version 1.85, 2004/03/14 23:45:43 | 
| Line 19 | Line 19 | 
 | #define siglongjmp(env, val)    longjmp(env, val) | #define siglongjmp(env, val)    longjmp(env, val) | 
 | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | 
 |  |  | 
 |  | // ---- | 
 |  |  | 
 |  | ver0.74 → ver0.76 (blanch...) | 
 |  | ・DMA - バンク・アドレスマスクの修正 | 
 |  | ・PIC - スペシャルマスクモードの対応 | 
 |  | ・PIT - マルチプルラッチコマンドのサポート(uPD71054) | 
 |  | ・MOUSE - uPD8255のコマンドレジスタの修正 | 
 |  | ・BIOS - ベクタ08/1A/1Fの修正 | 
 |  |  | 
 |  |  | 
 |  |  | 
 |  | ver0.74 → ver0.75 | 
 |  |  | 
 |  | ・GDC - ベクタの初期化し忘れを修正 | 
 |  | ・GDC - パターンの修正 | 
 |  | ・ITF/BIOS - リセット時の挙動の修正 | 
 |  | ・BIOS - 1842h モノクロフラグを修正 | 
 |  | ・EGCの高速化(?) | 
 |  | ・リズムの修正(PCM 44khz 16bit monoralの制限を外した) | 
 |  | ・LIOの修正 | 
 |  |  | 
 |  |  | 
 |  | (Windows) | 
 |  | ・(I286X) EGCバイトアクセス修正 | 
 |  | ・(I286X) ストリング命令修正 | 
 |  |  | 
 |  | (WinCE) | 
 |  | ・(I286A) メモリの修正 | 
 |  | ・GDC - GDCクロック 1.79MHzのサポート | 
 |  |  | 
 |  |  | 
 |  |  | 
 |  | ・キー設定について | 
 |  | 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 | ver0.73 → ver0.74 | 
 |  |  | 
| ・I/OレベルでのSASIに対応 | ・I/OレベルでのSASIに対応(INT3/DMA#0/BIOS:d0000-d0fff) | 
 | ・SCSI HDDに対応 | ・SCSI HDDに対応 | 
 | ・np2qn形式 HOSTDRVに対応 | ・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 - ブート時にディップスイッチで指定した画面モードを反映 | 
| ・VRAM - 標準ディスプレイ時にメモリを破壊するバグを修正 | ・BIOS - 1840h/1841h/1842h/1847hの結果をワークメモリへ反映するようにした | 
|  | ・BIOS - 1847h マスクを左右反転させていなかったのを修正 | 
|  | ・BIOS - 1848h/1849h/184ahをサポート | 
|  | ・ITF - PC-9801VM/PC-286時に BEEPが初期化されない不都合を修正 | 
 | ・ITF - SSP終了時にハードウェアリセットをかけるように修正 | ・ITF - SSP終了時にハードウェアリセットをかけるように修正 | 
| ・IDE - ディップスィッチ内容を反映するように修正 | ・IDE - ディップスイッチ内容(SW2-6)を反映するように修正 | 
| ・拡張メモリの修正 (80286) |  | 
 |  |  | 
 |  |  | 
 | (Windows) | (Windows) | 
 |  | ・(I286X) sidt命令の修正 | 
 |  | ・(I286X) テキストRAMアクセスの修正 | 
 |  | ・(I286X) 割り込みの修正 | 
 |  | ・(I286X) EGCシフタを修正 | 
 | ・Aboutダイアログの修正 | ・Aboutダイアログの修正 | 
 |  | ・ろみおとか… | 
 |  |  | 
 | (MacOS9) | (MacOS9) | 
 | ・テンキーの [+] [/] の修正 | ・テンキーの [+] [/] の修正 | 
| Line 44 | Line 151 | 
 | (MacOSX) | (MacOSX) | 
 | ・テンキーの [+] [/] の修正 | ・テンキーの [+] [/] の修正 | 
 | ・file_attr()で FILEATTR_READONLY を返すように… | ・file_attr()で FILEATTR_READONLY を返すように… | 
| ・ToolWindowとか | ・ツールウィンドウ修正 | 
|  | ・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をインクルード | pccore.h の中で statsave.hをインクルード | 
 | → #include "statsave.h" をトル | → #include "statsave.h" をトル | 
 |  |  | 
 |  | io/extmem を io/emsioに変更 | 
 |  | (IA32は emsioは要らないが、NEC EMSバンク形式で必要になるかも) | 
 |  |  | 
 | np2cfg.hddfile[2] -> np2cfg.sasihdd[2] | np2cfg.hddfile[2] -> np2cfg.sasihdd[2] | 
 |  |  | 
 | void diskdrv_sethdd(REG8 drv, const char *fname); | void diskdrv_sethdd(REG8 drv, const char *fname); | 
| Line 63 | Line 197 | 
 | cbus/scsiio.c cbus/scsicmd.c - SUPPORT_SCSIを定義した時にリンク | cbus/scsiio.c cbus/scsicmd.c - SUPPORT_SCSIを定義した時にリンク | 
 |  |  | 
 | IA32でハードウェアEMSを禁止しました。 | IA32でハードウェアEMSを禁止しました。 | 
| ※コア側のインタフェイスを調整後に… | → #define CPU_SETEXTSIZE() init_mem() に変更 (済) | 
| → init_mem() トル | → memory.cの EMM部分をトル (済) | 
| → cpumem, extmem_size, protectmem_sizeを | → cpumem extmem_size を CPU_EXTMEM, CPU_EXTMEMSIZEに変更(済) | 
| CPU_EXTMEM, CPU_EXTMEMSIZEに変更 | → protectmem_sizeをトル (済) | 
| → リアルアドレス C0000-CFFFFのメモリリードライト変更 |  | 
| むしろ メモリ確保はそれぞれの CPUルーチンに入れるべきか? | しかし emm386.exeが使えないから ハードウェアEMSを有効にした | 
|  | ほーがいいかな? 辻褄は合いそうだし。 | 
|  | 386以降に乗っかってる NEC EMSバンク方式だと あまりにアホだし。 | 
|  |  | 
|  | dosio.hの FTYPEを common.hへ移動。 | 
|  | こそーり fdiを読めるよーにしてみたり。 | 
|  |  | 
|  | フロッピードライブについて np2cfg.fddequipを見に行くようにしました | 
|  | デフォルトで2基 | 
|  | 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クリアされるのは何故? | 
 |  |  | 
 |  |  | 
 | // ---- | // ---- |