--- np2/update.txt 2004/01/05 14:16:34 1.40 +++ np2/update.txt 2004/01/23 16:29:14 1.51 @@ -5,6 +5,66 @@  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) +------------------------------------------------------------------------------- + + +// ---- + + ver0.73 → ver0.74 + + ・I/OレベルでのSASIに対応 + ・SCSI HDDに対応 + ・np2qn形式 HOSTDRVに対応 + ・BIOS - ブート時にディップスイッチで指定した画面モードを反映 + ・VRAM - 標準ディスプレイ時にメモリを破壊するバグを修正 + ・ITF - SSP終了時にハードウェアリセットをかけるように修正 + ・IDE - ディップスィッチ内容を反映するように修正 + ・拡張メモリの修正 (80286) + + + (Windows) +  ・Aboutダイアログの修正 + + (MacOS9) +  ・テンキーの [+] [/] の修正 +  ・file_attr()で FILEATTR_READONLY を返すように… + + + ・内部変更 +   pccore.h の中で statsave.hをインクルード +    → #include "statsave.h" をトル + +   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を禁止しました。 +   ※コア側のインタフェイスを調整後に… +       → init_mem() トル +       → cpumem, extmem_size, protectmem_sizeを +         CPU_EXTMEM, CPU_EXTMEMSIZEに変更 +       → リアルアドレス C0000-CFFFFのメモリリードライト変更 +    むしろ メモリ確保はそれぞれの CPUルーチンに入れるべきか? + // ---- @@ -12,29 +72,27 @@  ・主にRISC向けの最適化、その2  ・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) … グループ7とか… + ・CPU(I286C/I286X/I286A) … グループ7とか…  ・DMAC … インプットでアドレスとカウンタが逆なのを修正  ・PIT … ビープカウンタを修正  ・NP2SYSP … ポートを叩いた瞬間 フリーズするバグを修正 + ・CALENDAR … 時間をインクリメントしないバグの修正  ・ITF … 拡張メモリ使用時にエミュレーション内部のメモリを破壊するのを修正  ・CS4231 … 再生しなくなっていたのを修正  ・CS4231 … DMA,IRQを変更出来るようにしました + ・CS4231 … デフォルトのDMAチャネルを #1に変更  ・MIDI … STATSAVEの修正  ・SOUND … JAST SOUNDをサポート  ・Vermouth … Roland GSコマンドの一部に対応 - ・BIOS … DISK BIOSをサポート(但し 通常のBIOSコールは DISK BIOSを使用せずに BIOSレベルでシミュレートしています) - ・BIOS … SASI/SCSI BIOS ROMをサポート(BIOSアドレス d000:0000)  補足   ver0.73では EPSONモードの時 D000〜DFFFがRAM化されます。   ・SOUND BIOSは D000,D400に配置しないで下さい、もしくはUMB等で破壊されないようにして下さい。 -  ・SASI/SCSI BIOSについては 殆どの場合にはブート時にしか使っていないので RAM内容を破壊しても HDDアクセスは正常に行なわれます。 -   ※アプリケーションが SASI/SCSI BIOSを直視しない限りは大丈夫。 -    ver0.72までは SASI/SCSI BIOSがサポートされていない(=つまり使われていない) ver0.72までに動いていたソフトウェアはほぼ大丈夫と言えます。  (X11) @@ -55,11 +113,22 @@    パラレルなので 機種依存部の COMMNG.Cを修正して CMJASTCを呼ぶ    使用・未使用判定は OSごとに(np2oscfgで)設定すること +  ・wavemix sound/getsnd については ver0.73では不要ですが、 +   ver0.74あたりで使用する予定(Seeksnd?/OPNA/AMD-98の共用ルーチン化) +   今までのseeksndインタフェイスはどうするかね… +  更新履歴に書かなくていい変更点 -  ・i286c/i286xに簡易プロテクトモードを追加(保護・タスクなし) +  ・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... // ----