更新日: 2011 年 11 月 15 日
060prni.x の説明
説明
060prni.x の添付ドキュメントです。末尾に記載されている連絡先は無効です。
060prni.doc
────────────────────────────────────
060turbo + Mach-2 の環境で、プリンタ割り込みを使用する
プログラムが正常に動作しなくなる不都合を回避する
060prni.x v0.01 (1998.02.08) by M.Kamada
────────────────────────────────────
●このプログラムの機能
060turbo + Mach-2 の環境で、プリンタ割り込みを使用するプログラムが正常
に動作しなくなる不都合を回避します。
具体的には、IOCS _PRNINTST がプリンタ割り込みが使用中と判断する条件を
弱くしてあります。
●動作環境
060turbo の 68060 モードで動作します。
●使用法
デバイスドライバまたはコマンドラインで常駐します。
DEVICE = 060prni.x
または
> 060prni.x
機能停止状態で常駐させたいときは、パラメータに off を指定して組み込ん
で下さい。
DEVICE = 060prni.x off
または
> 060prni.x off
常駐後は、コマンドラインで機能の on/off が可能です。
> 060prni.x on
または
> 060prni.x off
解除するときは -r を指定して実行して下さい。
> 060prni.x -r
●プリンタ割り込みの不具合とその回避方法について
060turbo + Mach-2 の環境で、プリンタ割り込みを使用するプログラムが正常
に動作しなくなる不具合は、プリンタ割り込みの管理について Mach-2 の ROM
と 060turbo の ROM の相性が悪いことが原因です。どちらかと言うと無意味な
ベクタ変更を行う Mach-2 の方が悪いです。
Mach-2 側の問題点について説明します。Mach-2 の開発中に、本体の SCSI イ
ンタフェイスとデイジーチェインをした場合の不都合(ベクタ番号 $63 の割り
込みが発生する現象)を回避するために、ベクタ番号 $63(プリンタ割り込み)
を潰すという処理があったのですが、その名残が現在まで残っていました。しか
も Mach-2 は SCSI バスリセットや FORMAT.X を実行したときにも念入りにプリ
ンタ割り込みのベクタを持っていってしまいます。
060turbo の ROM の場合だけ影響が出る理由は、060turbo の ROM ではハイメ
モリ上に割り込みルーチンを配置できるように割り込みベクタが使用中かどうか
のチェックを行う部分に細工がされているためです。具体的には、従来はベクタ
の上位 8bit が 0 でなければ未使用と判断していたところを、未使用の場合に
入っているはずの値と 32bit 全体が一致していれば未使用と判断するように変
更されています(これはプリンタ割り込みに限りません)。このプログラムでは、
プリンタ割り込みの場合だけ、これを上位 8bit が $63 ならば未使用と判断す
るように変更することで、060turbo と Mach-2 の相性を改善します。
●お約束
正しく動作することを期待して作成しましたが、このプログラムの動作は無保
証です。
●連絡先
Mankai Special X680x0 user's Net: MKSX0109:かまだ
(EOF)