WinX68030について WinX68030について

WinX68030はX68030をエミュレートしたもので、けろぴー・WinX68k高速版を基にしてMPUコアを変更しています。MPUコアはAmigaエミュレータWinFellowのものを使用しています。


・MPU

68EC030をエミュレート。
一応MPUコア自体は68000〜68060をサポートしていますが、MMU・コプロ命令のすべてと、68040以降の新設命令の大部分は未サポート。
MPUコアが68010以降の新設命令でプリフェッチに未対応のため(68000の命令には対応)、プリフェッチは現在未サポート(将来的にはサポート予定)。よって68020からプリフェッチが3ワードになったことによってX68030では動かなくなったもの(例えばオーバーテイクのデモ)が動いてしまいます。
命令、データキャッシュは未サポート。
現在、各命令のクロック数は68000の5/8としているので、動作周波数はあくまで目安程度。



・HD・MO etc.

SCSI(MB89352)をエミュレート。ただし基本的な機能のみ。
SCSIのIDは0から7(通常本体は7)、論理ユニットは0から7までサポート。(標準SCSIドライバで認識可能な論理ユニットは0のみ)
取り扱い可能なSCSIイメージ(ベタイメージ・拡張子hds)の容量は1ブロックのバイト数にも依るが、1ブロック512バイトの場合2048Gバイトまで。
新規作成時の最大容量は4Gバイト、1ブロックのバイト数は256バイト〜32Kバイト(2の累乗)。
ただし、標準SCSIドライバで扱うことの出来る1ブロックのバイト数は256,512,1024バイトの3つ。
実機で使用しているSCSIドライブからイメージを吸い出す場合、GetDrive を使用してください。
SASIは廃止。



・ROM

最低限、X68030のIPL-ROM IPLROM30.DAT($FE0000〜$FFFFFF)が必要。
互換モードから起動(XF3〜XF5を押しながら起動)するにはさらにX68030のHuman68k version 2.15を含むROM ROM30.DAT($FC0000〜$FDFFFF)が必要。(このROMは無償公開されていないので実機から吸い出す必要あり)
IPLROMXV.DATはSASI廃止に伴ない必要なくなりました。



・拡張エリアセット

けろぴー、WinX68k高速版がエリアセットをサポートしていないので、WinX68030も拡張エリアセットをサポートしていません。


現在の開発状況

とりあえず、とんでもなく重いです。これはMPUコアが重いためで、快適に動かすには1GHzを遥かに超えるCPUが必要です。MPUコアは高速化する予定ですが、場合によってはMPUコアを変更するかもしれません。また、現状ではMPUコアが68020以降の命令のクロック数を出力できないので、MPUが68020以降の場合、表示される動作周波数は意味のないものになります。


動作環境

CPU  ・・・・・PentiumII/III/4/Celeron,MMX Pentium,Athlon/Duron, K6/K6-2/III,Crusoe,VIA C3などMMX命令をサポートしたCPU
OS   ・・・・・Windows95/98/Me/2000/XP
DirectX・・・・・Version6.0以上


更新履歴

2003.02.12 v0.11をリリース

・ Mode Senseコマンドで一部のページコード以外ではエラーを発生させるようにする(AskSCSI)
・ Read Capacityコマンドで返される論理ブロックアドレスの値が1大きかったのを修正


2003.02.10 v0.10をリリース

・ NBCD,NEGX,NOT,BFINS命令の不具合を修正
・ SCSIを実装
・ 命令自体に例外処理が含まれている命令(TRAP,TRAPV,CHK,CHK2,CMP2,TRAPcc)のトレース時の動作を修正
・ 高速版での追加機能・バグフィックスに対応
・ 10MHz時以外でMFPのGPIPの最上位ビット(H-SYNC)の変化タイミングがおかしくなるのを修正


2002.01.10 v0.02をリリース

・ メインメモリの奇数アドレスからのワード・ロングアクセスの不具合を修正


2002.01.06 v0.01をリリース