---------------------------------------------------------------- TSR Graphic Loader/Saver GRP version 0.41 機能一覧 Copyright (c) G-HAL 1991/03 - 1997/08 ---------------------------------------------------------------- ★★☆☆ 動作環境 ☆☆★★ NEC PC-9801,PC-9821,互換機(CPU が V30 以上である事) MS-DOS ver3.3 以降 メモリ 空きが 4.4K byte 以上 常駐時消費 1.7K byte EMS,EMB(XMS),UMB,HMA,VCPI,DPMI,BMS には 対応していません。 特殊な事 Mapped I/O / VEM486 /P 対応(?)、常駐パレット対応。 GRCG 不完全対応、EGC 非対応。 ★★☆☆ オプション ☆☆★★ ・オプションの区切りとして "/","-",Space を使うことが出来ます。 ・オプションは、大文字でも小文字でもかまいません。 ・数値に小数は使えません。 ・文字と数字の間は、符号を除き空けてはいけません。 【常駐モード】 /Z このオプションが有ると、常駐し、ホットキーが押されるまで 動作(load/save)しません。 このオプションが無いと、すぐに動作します。 【常駐解除】 /ZR 常駐を解除します。 【ファイル名】 /L=filename , /S=filename ロード,セーブするファイル名を指定します。 /L がロードするファイル名で /S がセーブするファイル名です。 拡張子は自動的に付くので、付けてはいけません。 パスの指定が無い時は、非常駐モードならばカレントに、 常駐モードの時はホットキーが押された時のカレントに、 ロード,セーブされます。 常駐モードの時は、ここで指定したファイル名の後に、 2桁の数字が付きます。よって、ファイル名が最大6文字しか 使えません。 【パレット取得方法】/LR(1|0) , /SR(2|1|0) ロード,セーブ時のパレットの取得方法を指定します。 /SR2 では、I/O累按 から直接読み込みます。 9821,98note の様に Mapped I/O になっているか、 VEM486 の様な、擬似 Mapped I/O になっていないと、 使用できません。 /(L|S)R1 では、常駐パレットから読み込みます。 /(L|S)R0 では、パレットは取得しません。 デフォルトでは、/LR1 /SR1 で、常駐パレットから取得します。 常駐パレットで「輝度0」とかなっている時に、 常駐モードでホットキーを押すと、当然、何もみえなくなります。 【プレーン選択】/LP(1|0) , /LP(1|0) ロード,セーブ時のプレーンの設定方法を指定します。 /(L|S)P0 では、描画中のプレーンから読み書きします。 /(L|S)P1 では、表示中のプレーンから読み書きします。 この指定は、Mapped I/O で無ければ、意味を持ちません。 デフォルトでは、/LP0 /SP0 で、描画中のプレーンから 読み書きします。 【GRCG初期化】/LG(1|0) , /SG(1|0) /(L|S)P0 では、GRCGは一切操作しません。 /(L|S)P1 では、ロード,セーブ時にGRCGを初期化します。 デフォルトでは、/LG0 /SG0 で、GRCGを一切操作しません。 【ホットキー指定】 /LK1(hex) , /LK2(hex) , /SK1(hex) , /SK2(hex) 常駐モードの時に、動作させるホットキーを指定します。 ホットキーは2グループ指定しなければなりません。 16進1ワードで書き、上位バイトがキーグループ、 下位バイトがキーデータです。 デフォルトでは、/LK10EF6 /LK201BF /SK10EF6 /SK2077F となっていて、 Shift+Grph+BS でロード,Shift+Grph+Help でセーブします。 【一時停止】 /0 【表示再開】 /1 【案内表示】 /? オプションの簡単な案内です。 ★★☆☆ 使用例 ☆☆★★ コマンドラインで、 > GRP /S=I:\TEST と入力すると、"I:\TEST.RGB","I:\TEST.B","I:\TEST.R","I:\TEST.G" "I:\TEST.I" の4つのファイルを作成し、画面をセーブします。 ロードも同様に、 > GRP /L=I:\TEST と入力すると、"I:\TEST.RGB","I:\TEST.B","I:\TEST.R","I:\TEST.G" "I:\TEST.I" の4つのファイルから、画面に読み込みます。 コマンドラインで、 > GRP /Z /S=I:\TEST と入力すると、常駐します。この状態でホットキー (デフォルトで Shift+Grph+Help)を押すと、 "I:\TEST00.RGB","I:\TEST00.B","I:\TEST00.R","I:\TEST00.G" "I:\TEST00.I" の4つのファイルを作成し、画面をセーブします。 但し、MS-DOS の処理中はセーブ出来ません。 また、もう一度押すと、"I:\TEST01.RGB"〜"I:\TEST01.I" となり、 順次、数字が大きくなって行きます。99 までいくと 00 に戻ります。 Mapped I/O が使える機種か、擬似 Mapped I/O にて、 常駐モードで使用する時は、 > GRP /Z /SR2 /S=I:\TEST と、いうふうに、/SR2 を指定すると、パレットを I/O ポートから 直接取得します。 ★★☆☆ 備考、注意 ☆☆★★ ☆厳守事項 このプログラム一式はフリーウェアです。 著作権は G-HAL が保有しているので、PDSと呼ぶ事を禁止します。 このプログラム一式を個人的な用途以外で許可無く改変しないで下さい。 ☆お願い 感想、要望、バグ、苦情、などありましたら作者へ知らせて下さい。 ドキュメントやプログラムの無断改変などの悪質ないたずらはやめましょう。 ☆転載について PDSなどと呼んでいる RBBS や BBS などへの転載は禁止します。 @FWD や @MO などの 転送系RBBS(BBS) への転載は禁止します。 ローカルな所へ転載した時、作者に連絡して下さるとうれしいです。 全国的な所へ転載、掲載などするときは必ず事前に許可を取って下さい。 転載、掲載する場合、アーカイブの内容を変更してはいけません。 また、ファイルを個別に転載、掲載しないで下さい。 営利目的の販売等は禁止します。 ☆動作に関して このプログラムによって何が起きても、私達は責任を取りません。 LH や lumb でUMBに常駐させることが出来ます。 常駐モードでホットキーが押された時に、INDOS耗五が立っていると、 INDOS耗五が降りるまで、動作しません。 常駐パレットで「輝度0」とかなっている時に、 常駐モードでホットキーを押すと、何もみえなくなります。 ☆専門的な注意 このプログラムは "INT 09h 薫涙按泛,"INT 0Ah CRTV(V-SYNC)" をフックしています。 このプログラムはかなり重いです(ファイルアクセスするから……)。 リエントラントにはなっていません、再入しようとすると拒否します。 スタックは自前で持っています。 オプションの指定によっては、グラフィック画面を書き換え、 パレットモードと色を変更しています。 MS-DOS の非公開ファンクションコールを使っています。 (34h Get INDOS flag address,52h Get First MCB,50h SetPSP,51h GetPSP) プロテクトモードでは動きません。リアル/仮想86モードにして下さい。 ★★☆☆ 終わりに ☆☆★★ ☆作者の戯れ言 開発環境 PC-9821Cs2s2 memory 20.6M bytes(protect) IDE 170MB + SCSI 1GB PC-9801VM0 memory 2048K bytes(I/O bank) FDD*4 PC-9801VX2 memory 3584K bytes(I/O bank) SASI 40MB これが私が2番目に作った、常駐型の assembly program です。 その後、たまに、不都合を見つけて、ちょくちょくいじっていました。 そしたら、こんな長期に渡ってしまったと言う……。 でも……、Mapped I/O が出来るのが、遅すぎたんじゃないかなぁ。 次回作? うーん、なんか当初の予定と別の物を作っています。 そもそも、これをいじる予定は無かったし……(^^;。 ★★☆☆ 参考資料 ☆☆★★ 『TSRプログラムのためのマクロ』 I/O 1990年10月号 通巻168号 Junji Hori 工学社 『PC-9801VF2/VM0/VM2 ユーザーズマニュアル』(1985) NEC 『PC-9801 解析マニュアル[第0巻]』 (1983/ 6/30) 川村清 秀和システムトレーディング 『応用MS−DOS 改訂新版』 (1986/ 7/31,1990/ 6/11) 村瀬康治 アスキー出版局 『特集 常駐型ソフト「TSR」プログラミング入門』 内藤昌治 CQ出版社 トラ技コンピュータ No.26 1992年7月号 『MS-DOS 5 アセンブラ・プログラミング』 (1992/10/21) 桜田 幸嗣 アスキー出版局 その他、いろいろ ★★☆☆ 連絡先 ☆☆★★ FENIX FEN025 G-HAL --- G-HAL --- /// 1997 Aug.03 Sun. ///