README
060turbo.sys v0.56 (2005-12-14) M.Kamada
------------------------------------------------------------------------
060turbo.sys v0.55 → v0.56 で修正された(かも知れない)箇所
-md, -ld
4MB 前後のサイズで初期化すると 1KB 無駄遣いしてしまう不具合を修正しま
した。
_EXEC
ITA lzx を展開するときはキャッシュを OFF にしないようにしました。
------------------------------------------------------------------------
060turbo.sys v0.54 → v0.55 で修正された(かも知れない)箇所
_DMAMOVE などの挙動
060dmam.x v0.02 を取り込みました。
_DMAMOVE、_DMAMOV_A、_DMAMOV_L の入力の d1.b のビット 7 が 1 のとき、
d1.b のビット 0〜1 とビット 2〜3 の解釈が逆になっていました。
-ad の判定
-ad を指定していないのに指定されたことになってしまう不具合を修正しまし
た。
-ad のフラグはバイトサイズなのにロングワードサイズでテストしていました。
_SYS_STAT の $4003 と $4004
_SYS_STAT の $4003 と $4004 が動作しませんでした。
ジャンプテーブルが間違っていました。
_S_MALLOC などのデバッグメッセージ
_S_MALLOC、_S_MALLOC2、_S_MFREE、_S_PROCESS のデバッグメッセージを除去
しました。
デバッグオプションがセットされたままになっていました。
_HIMEM の常駐フラグ
_HIMEM に TS16DRV.X の常駐フラグを設定しました。
060turbo.sys では TS16DRV.X と同等のサービスコールが利用可能であるにも
関わらず、TS16DRV.X の常駐フラグがなかったために TS16LIB.O がサービスコ
ールの存在を認識できませんでした。
TS16DRV.X としてのバージョンは $13 にしてあります。
_SETBLOCK2 のベクタ
_SETBLOCK2 のベクタを $FF91 だけでなく $FF61 にも設定するようにしまし
た。
lndrv.x などの一部のソフトウェアが Human68k v2 の $FF50〜$FF7F のベク
タを $FF80〜$FFAF へコピーするときに Human68k のバージョンの確認を怠って
いるために、$FF91 だけの設定ではベクタが破壊されてしまうことがありました。
ROM のソフトキーボードのバグのパッチ
-lr を指定したとき、ROM の内容をローカルメモリにコピーするついでに、
ROM のバージョンを確認して $15970529 だった場合はソフトキーボードが表示
されている状態でキーを押すとハングアップするバグを修正するようにしました。
コピー先は RAM なのでパッチをあてられます。パッチをあてた後にライトプ
ロテクトしています。
-lr を指定しないとパッチがあたらないので、なるべく指定するようにしてく
ださい。
Mach-2 と併用した場合の _PRNINTST の問題
_PRNINTST を変更して、プリンタレディー割り込みの使用状態をベクタの最上
位バイトが $63 かどうかで判別するように変更しました。さらに、_SCSIDRV 内
でプリンタレディー割り込みベクタを変更できないようにしました。
SCSI バスリセットや FORMAT.X を実行する度にプリンタレディー割り込みベ
クタを変更してしまう Mach-2 と、ハイメモリ領域に割り込みルーチンを配置で
きるように細工された 060turbo の ROM の相性が悪く、060turbo + Mach-2 の
環境でプリンタレディー割り込みを使用するプログラムが正常に動作しませんで
した。
_SCSIDRVの差し換え
上記のプリンタレディー割り込みの対策も含めて、_SCSIDRV を新しいものに
差し換えました。
Mach-2 対策のため、_S_INQUIRY、_S_READCAP、_S_MODESENSE、_S_MODESELECT、
_S_REQUEST、_S_READDMA、_S_REASSIGN にもソフト転送パッチをあてました。
------------------------------------------------------------------------
今後修正される(かも知れない)箇所
_EXEC の実行ファイル名のアドレスの最上位バイトの補完アルゴリズム
現在は実行ファイルのタイプが move で設定されたと仮定して PC の最上位バ
イトで補完していますが、add や or で設定されることもありますし、本来のア
ドレスの最上位バイトが PC の最上位バイトと一致しているとは限りません。
FEfunction
数値を文字列へ変換するコールがバグっています。引き続き -fe は指定せず
FLOAT4.X を使用して下さい。
------------------------------------------------------------------------
(EOF)