http://retropc.net/x68000/software/hardware/neptune_x/etherL12/
の etherL12.sys を XM6 TypeG version.3.37 の68030モードで動くように改造したものです。
XM6 TypeG version.3.37のNereidエミュレーションには以下の不具合があるようです。
・機種をX68030モードにした状態で
・NereidのNeptune-Xが配置されているアドレス $ece300- に対して
・バイトアクセスでreadを行った場合
この条件が揃うと、16bitバスのエンディアンが上下反転してしまいます。
($ece300をアクセスすると$ece301の値が、$ece301をアクセスすると$ece300の値が読める)
ワードアクセスやwriteの場合にはこの現象は発生しません。
このドライバは、上記不具合を回避するためにバイトアクセスのレジスタreadのみ
アドレスをずらしてアクセスするようにetherL12.sysを改造したものです。
起動時にCPUタイプ判定ワークエリア($000cbc)を参照して、68000でなければ上記変更を行います
エミュレータかどうかの判定は行っていないため、実機のX68030だと逆に動かなくなるはずです。
by Yuichi Nakamura (@yunkya2)