|
|
| version 1.35, 2003/12/26 20:52:30 | version 1.61, 2004/01/30 01:56:01 |
|---|---|
| Line 5 | Line 5 |
| mov SS直後に割り込みが発生するとか不都合があります。 | mov SS直後に割り込みが発生するとか不都合があります。 |
| これについては、直す気力があれば(286コードを追っかける時だけだし…) | これについては、直す気力があれば(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) | |
| ------------------------------------------------------------------------------- | |
| // ---- | |
| ver0.73 → ver0.74 | |
| ・I/OレベルでのSASIに対応(INT3/DMA#0/BIOS:d0000-d0fff) | |
| ・SCSI HDDに対応 | |
| ・np2qn形式 HOSTDRVに対応 | |
| ・BIOS - ブート時にディップスイッチで指定した画面モードを反映 | |
| ・VRAM - 標準ディスプレイ時にメモリを破壊するバグを修正 | |
| ・ITF - PC-9801VM/PC-286時に BEEPが初期化されない不都合を修正 | |
| ・ITF - SSP終了時にハードウェアリセットをかけるように修正 | |
| ・IDE - ディップスイッチ内容を反映するように修正 | |
| ・拡張メモリの修正 (80286) | |
| (Windows) | |
| ・(I286X) sidt命令の修正 | |
| ・(I286X) テキストラムアクセスの修正 | |
| ・(I286X) 割り込みの修正 | |
| ・Aboutダイアログの修正 | |
| (MacOS9) | |
| ・テンキーの [+] [/] の修正 | |
| ・file_attr()で FILEATTR_READONLY を返すように… | |
| (MacOSX) | |
| ・テンキーの [+] [/] の修正 | |
| ・file_attr()で FILEATTR_READONLY を返すように… | |
| ・ToolWindowとか | |
| ・内部変更 | |
| 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を見に行くようにしました | |
| デフォルトで2基 | |
| np2cfg.fddequip = 0x03 (ドライブ1 = ビット0 〜 ドライブ4 = ビット3) | |
| (実際に動作中の装備状態は fdc.equipで リセット時に更新されます) | |
| 必要によって main()で変える、cfgに書き出す等してください。 | |
| S98について SUPPORT_S98定義時のみリンクするようにしました。 | |
| (Win9x, MacOSX, x11(USE_GTK)) | |
| PC9861Kについて SUPPORT_PC9861K定義時のみリンクするようにしました。 | |
| (シリアル通信に対応していなければ無意味な機能です) | |
| // ---- | // ---- |
| ver0.72 → ver0.73 | ver0.72 → ver0.73 |
| ・主にRISC向けの最適化、その2 | ・主にRISC向けの最適化、その2 |
| ・アーキテクチャの選択 | ・EPSON PCシリーズのアーキテクチャをサポート |
| ・ARM版CPUコアのサポート | |
| ・CPU(I286C) … シングルステップ割り込みの修正 | ・CPU(I286C) … シングルステップ割り込みの修正 |
| ・CPU(I286C) … int3 / int imm8 / into クロック数を修正 | ・CPU(I286C) … int3 / int imm8 / into クロック数を修正 |
| ・CPU(I286C) … shl r/m8,cl / shr r/m8,cl の修正 | ・CPU(I286C) … shl r/m8,cl / shr r/m8,cl の修正 |
| ・CPU(I286C) … sar r/m (eVC3/eVC4コンパイラバグ回避) | ・CPU(I286C) … sar r/m (eVC3/eVC4コンパイラバグ回避) |
| ・CPU(I286C) … グループ7とか… | ・CPU(I286C/I286X/I286A) … グループ7とか… |
| ・DMAC … インプットでアドレスとカウンタが逆なのを修正 | ・DMAC … インプットでアドレスとカウンタが逆なのを修正 |
| ・PIT … ビープカウンタを修正 | ・PIT … ビープカウンタを修正 |
| ・NP2SYSP … ポートを叩いた瞬間 フリーズするバグを修正 | ・NP2SYSP … ポートを叩いた瞬間 フリーズするバグを修正 |
| ・CALENDAR … 時間をインクリメントしないバグの修正 | |
| ・ITF … 拡張メモリ使用時にエミュレーション内部のメモリを破壊するのを修正 | ・ITF … 拡張メモリ使用時にエミュレーション内部のメモリを破壊するのを修正 |
| ・CS4231 … 再生しなくなっていたのを修正 | |
| ・CS4231 … DMA,IRQを変更出来るようにしました | |
| ・CS4231 … デフォルトのDMAチャネルを #1に変更 | |
| ・MIDI … STATSAVEの修正 | ・MIDI … STATSAVEの修正 |
| ・SOUND … JAST SOUNDに仮対応 | ・SOUND … JAST SOUNDをサポート |
| ・Vermouth … Roland GSコマンドの一部に対応 | ・Vermouth … Roland GSコマンドの一部に対応 |
| 補足 | |
| ver0.73では EPSONモードの時 D000〜DFFFがRAM化されます。 | |
| ・SOUND BIOSは D000,D400に配置しないで下さい、もしくはUMB等で破壊されないようにして下さい。 | |
| (X11) | (X11) |
| ・Qt 2.x の実験的なサポート | ・Qt 2.x の実験的なサポート |
| ・SDL の実験的なサポート | ・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 | ver0.71 → ver0.72 |