COPYキーを押してテキスト画面をグラフィック画面に「撮る」アプリケーション

TGNOW/TGNOWS Version 1.35

使用説明書 Copyright(C) 2021-23 まりも
※ TGNOW.COM は初代A-mateより後の機種で動作します。初代B-mateおよびそれ以前の機種では動作しません。

■ テキスト画面をグラフィック画面にコピーする

 PC-98エミュレータ全盛のいまでは、PC-98テキスト画面のスナップショットは簡単に撮れます。実機ではテキスト画面の映像を歪みや明暗ムラのない状態で保存しようとすると、98のビデオ信号をデジタル化してキャプチャするしかありませんが、そのような機材はそれなりに高価です。

 そこで、MS-DOSアプリケーションが動作している最中のテキスト画面のスナップショットをグラフィック画面に保存する、常駐型アプリケーションを開発することにしました。その際、MS-DOSでは通常なんにも役に立っていない[COPY]キーを使うことにしてました。すなわち[COPY]キーを押した瞬間のテキスト画面の状態をグラフィック画面に映し出すというものです。これだけでは両方表示されてしまって具合が悪いので、次のような機能を備えてあります。

■ 使い方

 アーカイブを解凍すると実行プログラムが2つあります。
  TGNOW.COM   初代A-mateやそれ以降の機種用
  TGNOWS.COM   初代B-mateやそれ以前の機種用

 補助的プログラムとして次のものがあります。
  SAVEBMP4.EXE  現在のグラフィック画面をBMP形式画像に保存する
  PALETTE8.EXE  パレットをテキスト画面と完全に同じに設定する

 MS-DOSアプリケーションですので、MS-DOSのコマンドプロンプト上で

 TGnow

 と打って実行します。実行が開始されると「常駐」して、上記のCOPYキーの機能が使用できます。常駐サイズは現在のバージョンでは1024バイト程度です。

 TGnow -r

というようにオプション -r を付けると、常駐の解除になります。

 TGnow -c

というようにオプション -c を付けると、実行時にグラフィック画面を消去します。常駐時、すでに常駐している時、常駐解除時のいずれでも機能します。グラフィック画面表示オン、パレット初期化、400ラインはオプションに関係なく行われます。

 TGnow -b のオプションを常駐時につけると、COPY押下時に鳴動しなくなります(後述)。

 TGnow -? とすると使用法説明が表示されるだけで、常駐はおこないません。

■ 常駐後の動作

 TGNOWとTGNOWSで少し反応が異なります。

 TGNOWでは単独で[COPY]を押すとスナップショットがグラフィック画面に撮られます。 このときBeepスピーカから一瞬音がします。もう一度押すと当然ちがう状態の画面が撮られ ますが、一回前に撮ったものはグラフィック画面の裏表切り替わりにより、残されて います。

  TGNOWSでは、いったんグラフィック背景が赤っぽくなり、テキスト画面が文字化け したかのようになったあと、クリック音が25回ほど鳴ります。その後グラフィック背景 とテキスト画面がもとに戻り、スピーカから一瞬音がして完了です。というように、 TGNOWSは実行に非常に時間がかかります。

 いずれのプログラムでも、[GRPH]+[COPY]を押すと、グラフィック画面表・裏ページをトグル切替し、一回前に撮ったものを見ることができます。

 テキスト画面が邪魔なときはクリアできます。[SHIFT]+[COPY]でテキスト画面をクリアしますが、どんなアプリケーションが実行中でもクリアしてしまうので、再描画してもらえない場合には困ることになります。基本的にはテキストエディタ動作中やDOSコマンドの状態で使ってください。

 [CTRL]+[COPY]を押すとグラフィック画面表示をon/off切替えます。テキスト画面と重なって具合が悪いときにはグラフィック画面をオフにしてください。なお単独で[COPY]を押したときにはスナップショットは撮られますが、画面表示オフの状態をオンにはしませんので、オンにするには[CTRL]+[COPY]を操作してください。

 グラフィック画面に撮った画像をファイルに保存するには、添付のsavebmp4 が使用できます。ほかの既存のアプリケーションでも使えるはずです。

 すでに常駐しているときに TGnow を実行しても、多重常駐にはなりません。なお[SHIFT]や[CTRL]や[GRPH]のキーを先に押した状態で[COPY]キーを押すように操作してください。逆ですと先に[COPY]キーが反応し、シフトロックキーが機能しません。

■ BMPファイル保存ツール

 Savebmp4は、コマンドラインオプションとして、保存するファイル名が必要です。

savebmp4 test.bmp

などとします。拡張子は自動では付きません。拡張子つきのフルpath名で与えてください。ファイル名をつけない場合はエラーとなりますが、コマンド引数に空白がなければ、VRAM4BIT.BMPという名前でカレントディレクトリに作られます。ファイルサイズは固定で、128118バイトです。4bit Windows BMP形式となります。なお裏表画面については、現在表示されている画面のほうが保存されます。

■ 注意事項

  ・TGNOWSは動作が非常に遅いですが基本的にGRCG搭載機から使えるはずです。TGNOWのほうは既に記載したとおりA-mate以降の機種専用です。高速で動作します。

 ・ハイレゾリューションモードでは使用できません。グラフィック画面に裏面がない機種や16色パレットが使えない機種でも使用できません。動作可能なMS-DOSバージョンは 3.30以上です。

 ・グラフィック画面に表示されたものは、あえて色合いを変えたりコントラストを落としてあります。これはテキスト画面と見間違うことがないようにするためです。8色パレットをテキスト画面相当に設定しなおせばそれなりに映ります。palette8.exe というプログラムがそれです。

 ・本プログラムでは16色は使っておらずテキストと同じ8色だけですが、「16色モード」(拡張グラフィックモード)で動作させています。システムセットアップメニューでグラフィックを何かの理由で「標準」に設定してあると、パレット関連が正常に動作しなくなる可能性があります。通常は「拡張」でなんの問題もありません。

 ・30行BIOSやautomateなど、物理25行を超えて表示している状態で適用しても、25行ぶんの内容しかグラフィック画面に転送できません。これはグラフィック画面の400ラインモードでは25行ぶんのデータしか格納できないことによる仕様です。9821グラフィックで480ライン画面モードを使えばきっちり30行表示できるはずですが、現時点では対応していません。

 ・テキスト属性のうち「色反転」「取消縦線」には対応しています。「下線」にも対応していますが、行間が空いている場合でもフォントフェイス内に下線が引かれます。「ブリンク」は対応不可能です。

 ・MS-DOS 常駐コマンドですので、IPLwareなどDOS起動前に動作するアプリケーションの画面を撮ることはできません。

 ・常駐後にCOPYキーを横取りする同様な別アプリケーションを実行させると、本プログラムは機能しなくなります。これはDOS常駐ソフト一般に共通する仕様です。

 ・グラフィックを扱うアプリケーションの実行中には描画モード(CPU直かGRCGか)が変更される場合があり、本プログラムでCOPYキー操作後にそれと整合しなくなる可能性があります。例えばそのあとでグラフィック画面が正しく消去/描画されないなどです。DOSでマウスカーソルを使う場合にもその可能性があります。本プログラムは、基本的にテキスト画面ベースのアプリケーションの記録を目的としていますので、グラフィック画面を主に使うアプリケーションではCOPYキーを押さないようにしてください。

 ・グラフィック画面を描画中のアプリケーションの上で[COPY]キーを高速連打しないでください。本プログラムではグラフィックBIOSを呼んでいるところがあり、それが再入となる(グラフBIOS実行中にまたグラフBIOSを実行する)可能性が全くないとは言い切れません。

 ・エミュレータ上での実行では、[COPY]キーを押したときのbeep音が正常に鳴らない可能性があります。また初代A-mateやそれより古い機種でもその可能性があります。その場合は -B オプションを使用して鳴動抑止してください。

■ その他

 ソースコードが付属しています。すべてアセンブラで書かれています。source.zipというファイルがそれです。基本的な技術しか使っていませんが、常駐プログラムの構造で若干わかりにくい点はあるかもしれません。常駐サイズを縮減するために、通常使わないところに変数やサブルーチンを置いているためです。ソースを改造して役立てる際にはそのあたりにご注意ください。このソースを利用して何かを作り、それを公開する場合はフリーソフトウェアとしてください。商用ソフトに組み込むことは禁止とします。

■ お約束

 このプログラムはフリーソフトウェアです。自由に使用してよい代わりにサポートのようなものはありません。直接・間接的に、このプログラムの運用の結果に何があっても、作者は一切責任をとることはないものとします。著作権は作者が保持しています。著作権侵害のないようにお使いください。他のサイトへの無断転載は認めません。連絡先メールアドレスは、トップページに記載されています。

      まりも(DOSsoft)

■ 改版履歴

2021-02-25  1.01 新規
2021-02-26  1.10 オプション -C と -Bの追加、画面初期化は必ず実行するように変更(-G 不要)
2021-02-28  1.20 オプション -G を廃止し、常にパレットは初期化、savebmp4追加
2022-01-20  1.21 int05h割り込みベクタ保存場所のバイト数が不足していたのを修正
2022-02-05  1.21S 初代B-mate以前の機種用 TGNOWS を追加
2023-02-04  1.23 Savebmp4のみ更新(パレット読み出し不可の機種対応)、その他は1.21
2023-02-15  1.30 一部の2バイト半角文字(PC-98独自)が表示できるようにした
2023-02-16  1.35 2バイト半角罫線(PC-98独自)も表示できるようにした
ここをクリックしてダウンロードする

[戻る]