ClpPst.def DOSVAXJ3対応 10/10版です。
クリップボードへのコピー、ペーストに仮対応しました。
ClpPst.def v05e4 24-10-10 new!
・寅次氏作のクリップボードマクロの改造版。DOSVAXJ3に仮対応。あまりテストしてません。
・DOSVAXJ3は INT2F のFコール使用、それ以外は 従来どおりCLPPST.EXE 使用します。
・INT2F 使用時は、コピー64k以内、ペーストBL(8192)以内の制限があります。
・VZ1.6用 オリジナルVZでも動くと思います。
※ DOSVAXJ3以外で INT2F モードを試す時は、★印の行2か所をコメントにします。
#txt:ClpPst.def
INT2F 使用時は、コピー64k以内、ペーストBL(8192)以内の制限があります。
特にペーストは私の脳力不足でラインバッファ使用が精いっぱいでした。(;_;)
以下にペーストのソースを張りますのでどなたか64k対応とかお願いします。m(__)m
=== paste.def ===
*m
62 ^V "ペースト"
?.
; &02 ;------------------------------------- ;機種チェック #05e
; (c<2)?>A ;★ DOSVAXJ3以外なら >a
&s &04 #^ #< #b #_ #> ux[+, ;CLPPST.TMP open
:b #y (mb)?>b ux], d-, ;内容をクリア
ax$1701, &i($2F) ;Open Clipboard
ax$1704, dx+, &i($2F) ;GET Clipboard DATA SIZE
&m(" ax:%x dx:%x ",ax,dx)
(dx)?{ #C (s)? 'n' &m("%x:%d buf over!",dx,cx) .} ;65535 over!
cx=ax, &s
(cx>=bl)?{ #C (s)? 'n' &m("%d buf over!",cx) .} ;bl 8192 over!
&m(" ax:%x dx:%x ",ax,dx)
(ax>4096 && d==0)?{&s (4096){" "} #] &d #b #^ #k ax=ax-4096, d+, } ;4096埋める
&s
:d &m(" ax:%x ",ax)
(ax<0 && d>0)?{#p ax=ax-4096, >d } ;4096分スペースで埋める
(ax>4096 && d>0)?{#p ax=ax-4096, >d } ;4096分スペースで埋める
:e (ax)?{ &?(" ") ax--, >e } ;残り分スペースで埋める
&m(" ax:%x ",ax)
#^ #< #28 bx=cp,
ax$1705, dx+, si-, di=gz, ;8ec7 mov es,di ;Set Clipboard Data
&i("$(8E,C7,CD,2F,C3)") ;cd2f int 2fh ;Set Clipboard Data
ax$1708, &i($2F) ;c3 ret ;Close Clipboard
#] &d #^ #<
ps[=pa, #F &o(0) #m #c ps], (r)?>K ;ヌルがあれば検索
#b #_ #> ux[+, #y ux], ;ヌル以降削除
(mb)?#b
:K #_ #> #b #^ #< #k
#C (s)? 'y' ;クローズ
#i &d &m("INT2F: ClipBoard >> Text!")
.
02: c-, ;--- int2f frag check ---
ax=$1700, &i($2F) ;IDENTIFY WinOldAp VERSIO
( ax == $1700 )??c++, ; WinOldAp サポートなら c+1
ax=$7476,bx=$0000,cx=$6F64, ;VTDOS:0 MSP:1 DOSVAXJ3:7476
&i($2F) ;VTDOS check $7476なら DOSVAXJ3
( ax == $7476 )? c=c+2, ;DOSVAXJ3なら c+2
; &m("7476 ax:%x c:%d",ax,c) ;ax=7476 なら未サポート
04: a-, mx[+, sn[-, #O &?("%sCLPPST.TMP",pi) #m ;--- CLPPST.TMP ---
(s)?{ #[ #[ a+, } sn], mx],
(a)?{ &m("クリップボードがカラかテキスト以外です") &d . }
*
; a,b,c,d,f,p 使用
;8ec7 mov ES,BX
;cd2f int 2Fh
;c3 ret
追記
DOSVAXJ3は新版がまだ正式公開されていませんでした。
旧版用に ★★印の cx+, を活かしてあります。
メールでいただいたテスト版のURLを張り付けておきます。
> 1 バイト欠けですが、修正してみました。
> 下記よりテスト版をダウンロードしてください。64bit 版です。
> https://www.nanshiki.co.jp/test/dosboxj_test.zip