MSDOS PlayerでVZが使えるようになると色々検証することになります。
高橋版VZでLFNファイラーが使えるかどうか、また、新VZのバグ出しの
ためにRfとLfを連動させるようにファイラーマクロを修正した。
vzFl.def の SFN → LFN 切り替えマクロ、修正前は
.:V (s-3)?{ r'W'-fg.51&4, >^ } ;walkmnu:fg+51 dw
&Sc(si=pa,pi,3) r++.0-,di=r,cx=ha-4, ;without si,di,cx ?
ax$71a0, &i($21) (ax-$7100)?{ ;H.Konno for XP etc.
#if tVZ
(fv&4)?fv1,?(lf!)??fv5, fv^=4,}
#V. ;5-->1-->LFN
#else
} #V. ;5-->1
#endif
これを、下記のように修正
.:V (s-3)?{ r'W'-fg.51&4, >^ } ;walkmnu:fg+51 dw
&Sc(si=pa,pi,3) r++.0-,di=r,cx=ha-4, ;without si,di,cx ?
ax$71a0, &i($21) (ax-$7100)?{ ;H.Konno for XP etc.
#if (rf<2) ; Rf 対応VZ
(fv&4)?fv1,?(lf!)??fv5, fv^=4,}
; #V. ;5-->1-->LFN
rf=lf,#V. ;5-->1-->LFN ; Rf を Lf と連動(仮)
#elseif (Lf<2) ; Lf 対応VZ
(fv&4)?fv1,?(lf!)??fv5, fv^=4,}
#V. ;5-->1-->LFN
#else
} #V. ;5-->1
#endif
ここからが本題です。
#if (rf<2) ; Rf 対応VZ
#elseif (Lf<2) ; Lf 対応VZ
ここで、Rf や Lf に対応したVZ だけ通り、それ以前のVZは、スルーします。
どちらもフラグなので、この式で0でも1でも真になります。
こういう形式にすることで、オリジナルのVZでも未定義のIDとしてスルーし、
エラーにならず、全てのVZで共通のマクロが動作します。
この形式は高橋版で拡張された機能ですが、説明はFGALDCの会議室のログ
にしか存在しないので、知らない人もいるのではないでしょうか。
stkhlp.def の VZMACRO.SHD にもありませんでした。
ということで、stkhlp.def と VZMACRO.SHD にまで手を付ける羽目に。
# 海賊VZの船長は積み残したお宝を乗せるためにVZの載る船を作ってくれる
船大工を仲間に引き入れた。
いつでもどこでもVZしたい、が当初からのテーマ、船は多い方がいい。
(VZを)産めよ増やせよ地に満てよ
いよいよマクロの4高の一角に手を出す展開に。
さあ、次はどんな冒険が待っているんだ。