更新日: 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)