ナチュログ管理画面 海釣り・ソルトウォーター 海釣り・ソルトウォーター 四国 アウトドア&フィッシングナチュラムアウトドア用品お買い得情報

2021年08月29日

PC-9801エミュレータの弊害

ここ愛媛でもコロナ蔓延でうかつに出歩けなくなった今日この頃、いかがお過ごしでしょうか?

えー、最近PC-9801エミュレータばっかし触ってて、エミュレータの中でのプログラムの編集にVZエディタをずっと使っとります。
他にしなきゃならないことは山積みなんだけど、これがなかなかオモロイんでついつい触っちゃうんですよね。
VZエディタとはなんぞや?と言う人のためにちょろっと説明しますと、1980年台後半から1990年台前半のMS-DOS時代終盤にかけて販売されていたテキストエディタです。
強力なマクロ言語(Cのサブサブセット版くらいの言語仕様)でエディタの機能をユーザーがどんどん拡張できるのが当時としては画期的な特徴で、ワタシもいろんなマクロを作って機能拡張してゴリゴリ使っておりました。
マクロ?と思われそうなのでワタシの作った小物マクロをコピペしてみますと

46 ^CX "Modify Sign"
mi[, mi-,
ax=$2A00, &i($21)
y=cx, m=dx>>8, d=dx&31, a=ax&7,
ax=$2C00, &i($21)
h=cx>>8, i=cx&63, j=dx>>8,
&?("/* -- Modified %04d/%02d/%02d-",y,m,d)
&?("%02d:%02d:%02d -- */",h,i,j)
mi],.

50 ^CG "Column Gauge"
mi[, mi-,
i=0,
(7){&?("....+....%d", i++)}
mi],.

こんなんです。
上の例では [CTRL]+[C]+[X]と押すとカーソル位置に

/* -- Modified 2021/08/20-21:15:59 -- */

とかの文字が入るし、[CTRL]+[C]+[G]と押すとカーソル位置に

....+....1....+....2....+....3... ~ ..+....7

という文字列が挿入されます。
const文字列中の位置を合わせたりバイト数を測ったりするのに使うヤツですね。
このマクロはパッと見記号の羅列ですが、言語仕様そのものは半分くらいがC言語のサブセットになっとります。
とはいえCと違う部分もちょこちょこあって、例えば i++ と書くとCの場合は i を評価した後に i をインクリメントするのに対し、VZマクロではインクリメントした後に i を評価します。
そしてインクリメント・デクリメント演算子の前置はサポートしておらず、後置のみ。
こんなクセのある言語仕様ですが慣れれば簡単で、上のようなマクロを沢山作って機能拡張をしていくわけです。
そしてベタベタと機能拡張していった自分のVZに一旦慣れてしまうと、VZエディタのない環境でプログラムをいじるのが苦痛なくらいになってしまいます。
プログラマは作業時間の大半をエディタでプログラムのソースコードを作成・編集するのに費やしているわけですが、このVZエディタはDOS時代のソフトの中でワタシが一番長時間使ったソフトかもしれません。

PC-9801エミュレータの弊害


しかしこのVZエディタ、世に出た時期が少々悪かった。
リリースされたのがDOS時代の終盤だったので、数年後には個人のPC環境がPC-9801からPC-AT互換機へと移行し始め、一般的に使われるOSも MS-DOS(98) → DOS/V(PC/AT) → Windows3.1 → Windows95 → Windows98、と変遷していくうちにワタシも段々と使わなくなってしまったんですが、最近知ったPC-9801エミュレータで結構リアルなPC-9801環境が作れるようになったので、ここ一週間くらいまた集中的に触っとります。

このVZエディタは8086のアセンブラで書かれたプログラムで、PC-98xx独自のハードウェアポートを直接叩いたりMS-DOSのシステムコールを使いまくってたりVRAMへの直アクセスをアセンブラでハードコーディングされたプログラムだったため、動作は極めて軽快でサイズも小さいという利点があったものの、アセンブラはターゲットマシンやOSによってソースコードがガラッと異なるので他のマシンやOSに対するポータビリティに乏しかったのでしょう。
結局VZエディタはWindowsに移植されることはありませんでした。
VZの販売元だったビレッジセンターから後継として発売されたWindowsで動くWZエディタというのがあったんですが、使ってみると確かにVZによく似てるんだけどなーんかしっくりこなくて、Windows98の頃まではDOS窓でVZエディタを使っていた記憶があります。
でもやはりDOS/V版のVZは機能限定されていたり、WindowsのLFNに対応してなかったり、DOS窓の中のFEPがWindows上のものとビミョーに違ってて効率が悪かったりでだんだんと使わなくなりました。
Windows上で動作するIDE以外の純粋なテキストエディタとしては秀丸というのがありますが、これもなんだか肌に合わず、VZの次は嫌々ながらもWZに移行して、現在はWindows上では主にサクラエディタを使っとります。


あ、話が飛んじゃったけど、変態的にカスタマイズしまくったワタシのVZエディタをPC-9801エミュレータの中で使うにつれて、昔のキーバインドを段々思い出して編集能率が格段に上がったのはいいんだけど、LinuxやWindowに戻った時に常用しているテキストエディタでもVZエディタの操作をしてしまう事がしばしばあって、ボーっとエディタを使っていると画面上でイキナリ編集ブロックが消えたりテキストの再読み込みになってしまって数十分の作業がパーになって途方に暮れてしまうことがボチボチ出てきました(笑)
あまりVZの操作を指が思い出してしまうと今の仕事に差し障りが出てきそうなのであんまり触らんほうがいいのかもしれないなぁ。
いまさらDOSのプログラム作ったってどうしようもないしな。
でもオモロイから多分やめられないんだよな~


Beast of Burden / Rolling Stones


8/24、ローリング・ストーンズのドラマー、チャーリー・ワッツが亡くなりました。
80歳でした。
RIP.




このブログの人気記事
ダイソージグの新作カラーを買った
ダイソージグの新作カラーを買った

月一の独身生活
月一の独身生活

ダイソーの500円メスティン
ダイソーの500円メスティン

久しぶりに会えた
久しぶりに会えた

バイブ(電動じゃない方)
バイブ(電動じゃない方)

同じカテゴリー(日常)の記事
 人生初の快挙 (2025-01-24 07:09)
 ポケットコンピュータ (2024-07-04 21:31)
 行きたくはなかったけれど (2024-01-14 17:17)
 今年二回目のブログ(笑) (2023-08-15 22:39)
 新しい趣味? (2022-05-29 23:55)
 たこやきmidnight (2022-03-27 21:09)
この記事へのコメント
う〜ん。さっぱり分からん。
35年くらい前にパーソナルエディターってのを触ってた記憶があるけど、何やってたんだろ❓
ミイラ探しに行って、ミイラになるんかなあ(笑)
Posted by 酒ちゃん酒ちゃん at 2021年08月29日 16:21
酒ちゃん

釣りの話題じゃないのに無理やりのコメントありがとうございます(笑)
それだぶんIBMの純正エディタですよね。
IBMの製品型番のPS/xxというのがパーソナルシステムの略だったと思います。
Posted by ROYROY at 2021年08月30日 10:33
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

削除
PC-9801エミュレータの弊害
    コメント(2)