DOSVAXJ3 が使いやすくなったので、複数の画面サイズを活かして、表示行数切替えマクロを作りました。
80 ^KL "表示行数切替え"
#if AXJ3 ; DOSVAXJ3
; (s==2 && oy==28)? { &00 .} ;コマンドラインでsxga24の29行→VGAの25行
(s==2 && oy==43)? { &00 .} ;コマンドラインでsxga24の29行→VGAの25行
(s==2 && oy<=24)?{ &01 .} ;コマンドラインでvgaの25行→VTの37行
(s==2 && oy==36)?{ &02 .} ;コマンドラインでVTの37行→VT2の44行
; (s==2 && vp.6==122)?{ &03 .} ;コマンドラインでVT2の44行→VT3の44行
; (s==2 && vp.6==154)?{ &04 .} ;コマンドラインでVT3の44行→VT4の29行
; (s==0 && oy==28)?{ #E &00 wd80,#[ we80,&d .} ;編集モードでsxga24の29行→vgaの25行
(s==0 && oy==43)?{ #E &00 wd80,#[ we80,&d .} ;編集モードでsxga24の29行→vgaの25行
(s==0 && oy<=24)?{#E &01 wd100,#[ we100,&d .} ;編集モードでvgaの25行→VTの37行
(s==0 && oy==36)?{#E &02 wd128,#[ we128,&d .} ;編集モードでVTの37行→VT2の44行
; (s==0 && vp.6==122)?{#E &03 wd160,#[ we160,&d .} ;編集モードでVT2の44行→VT3の44行
; (s==0 && vp.6==154)?{#E &04 wd106,#[ we106,&d .} ;編集モードでVT3の44行→VT4の29行
(oy==43)?{ #E &00 #[ wd80, .} ;sxga24の29行→Vvgaの25行
(oy==28)?{ #E &00 #[ wd80, .} ;sxga24の29行→Vvgaの25行
(oy<=24)?{#E &01 #[ wd100, .} ;vgaの25行→VTの37行
(oy==36)?{#E &02 #[ wd128, .} ;VTの37行→VT2の44行
; (vp.6==122)?{#E &03 #[ wd160, .} ;VT2の44行→VT3の44行
; (vp.6==154)?{#E &04 #[ wd106, .} ;VT3の44行→VT4の29行
.
00: &?("chev jp") #m oy24, ; vga 解像度 640× 480 文字 80×25
01: &?("chev vt") #m oy36, ; svga 解像度 800× 600 文字 100×37
02: &?("chev vt2") #m oy43, ; xga 解像度 1024× 768 文字 128×48(44)
;03: &?("chev vt3") #m oy43, ; sxga 解像度 1280×1024 文字 160×64(44)
;04: &?("chev vt4") #m oy28, ; sxga24 解像度 1280×1024 文字 106×42(29)
#endif
これで起動のたびに 80×25行と100×37行と128×44行をトグルします。
編集モードでは、WE の編集幅が変わらないので、コマンドラインで実行が良いです。
128×48行では、実画面を下にはみ出るので、KVZのオプション OY43 指定して、行数44行にしています。
KVZのオプション OY は、DOSのローメモリの行数を書き換えているだけなので、行数-1 を指定します。
DOSのローメモリの行数を書き換えるなら外部コマンドを作れば良さそうですが、ちょっと待って。
マクロのコメントに、VT3 とか VT4 がありますね、これは・・・
# これはシャー専用機専用で、ザクには使えないとかなんとか・・・
# そうしているうちに、下半身の無いジオングが完成したとかなんとか。
# (使わなない)足なんて飾りですよ。偉い人にはわからんのです。(謎)
ちなみに、DOSVAXJ3 の画面モードには
sxga 解像度 1280×1024 文字 160×64(44)
がありますが、試してみたら、VZの表示が異常になりました。(>_<)
これは過去ログ検索すると
#4761: Re: VZK07t (VTDOSに捧ぐ) 投稿者: shadow 2010/01/04(月) 20:34
> > ・V-TEXTでlf+の時ロングファイルネームを画面幅一杯に表示。
> > 縦は50行以上だと異常になりますね。
> あじゃさんに、50行越えは、オプション lc で最大行数を指定する必要があると教えていただきました。
> これを指定すると、最下行のFEPの予約ができないので、私は50行以下で使うことにしました。
そうでした、50行超えの時は、LC で指定する必要があるんでしたね、気を付けなくては。(^^;
DOSVAXJ3 のキー入力関連なのですが
VZマクロの起動キーとしてよく使う ^\ (Ctrl+\) が効きません。
どうも、^] (Ctrl+]) のコードで起動するようです。
BIOSコードを見てみました。
キーコード VTDOS DOSVAXJ3
------------------------------
^\ (|\) 7D1C -
^^ (^) 0D00 -
^@ (@) 1AFF 1A1B
^[ ([) 1B1B 1B1D
^] (]) 2B1D 2B1C (^\)
^_ (_\ろ) 731C -
^[F04〜12] 6100〜 -
@[F10〜12] 7100〜 -
このように、特定のコードが無かったり違っていたりしています。
dosboxj.conf の設定は
keyboardlayout = jp
yen = false
となっていて、
yen = true
としても変わらないようです。
Ctrl+[F01] でキーコードを変えられるかもしれないですが、まだ出来ていないです。
対応したキーマップがあればいいのかと思って他のDOSBOXから持ってきましたが変わらないようです。
システムの関係で出来ないのであれば諦めますが、駄目もとでメールしてみました。
そうしたらすぐにお返事が来ました。
> 調査してみますが、キー入力は使用している SDL というライブラリが
>日本語キーボードを考慮に入れてない関係で処理がややこしいことになっ
>ており、少々時間がかかると思います。
やはりDOSBOXは元が外国製なので出来なくてもしかたがないですね。
調べて頂けるだけでもありがたいです。
> なお、dosboxj.conf の yen は FONTX2 フォントファイルの文字コード
>0x5c のデータを 0x7f と入れ替えるというオプションで、キー入力とは関
>係ありません。
なるほど、そういうことですか。
別件ですが、画面の行数が可変に出来そうです。
行数を減らすのはすぐに出来たみたいですが、増やすのも出来るかもしれないです。
これが出来たらますます使いやすくなりますね。\(^^)/ ヤッタ-
# ジオングに足が生えるのか (^^;