(11537)
11537:
ClpPst.def DOSVAXJ3対応 10/10版
投稿者:
konno
2024/10/10(木) 23:17
コメント数 2
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
- No.11537 -
このTreeへ
[リストへもどる]
pre
(11537)
11539:
ClpPst.def DOSVAXJ3対応 10/11版
投稿者:
konno
2024/10/11(金) 23:53
11537 番 konno さんへのコメント コメント数 1
ClpPst.def DOSVAXJ3対応 10/11版です。
ClpPst.def v05e5 24-10-11 new!
・寅次氏作のクリップボードマクロの改造版。DOSVAXJ3に仮対応。あまりテストしてません。
・DOSVAXJ3は INT2F のFコール使用、それ以外は 従来どおりCLPPST.EXE 使用します。
・INT2F 使用時は、コピー64k以内、ペーストBL(8192)以内の制限があります。
・若干のバグ修正と一時ファイルでペースト速度アップ
・VZ1.6用 オリジナルVZでも動くと思います。
※ DOSVAXJ3以外で INT2F モードを試す時は、★印の行2か所をコメントにします。
#txt:ClpPst.def
- No.11539 -
このTreeへ
コメント元:11537 へ
[リストへもどる]
soft
(11537)
11540:
Re: ClpPst.def DOSVAXJ3対応 10/11版
投稿者:
shadow
2024/10/15(火) 08:28
11539 番 konno さんへのコメント コメント数 1
コピーは問題ないですがペーストでclip.tmp、clppest.tmpを開いたところで止まります。
内容は空だったりスペースだったりテンポラリーファイルエラーだったりさまざまです。
- No.11540 -
このTreeへ
コメント元:11539 へ
[リストへもどる]
soft
(11537)
11541:
Re^2: ClpPst.def DOSVAXJ3対応 10/11版
投稿者:
konno
2024/10/15(火) 15:52
11540 番 shadow さんへのコメント コメント数 2
> コピーは問題ないですがペーストでclip.tmp、clppest.tmpを開いたところで止まります。
> 内容は空だったりスペースだったりテンポラリーファイルエラーだったりさまざまです。
うちの環境では問題なく動いているので、環境の違いでしょうか。
Sn+ 新規ファイルの確認かと思いましたが違うみたいですね。
環境変数 TMP は設定してますよね。 \user\TMP\ など長すぎると誤動作するかも。
うちは C:\TMP\ にしています。
OPT_LST.DEF の結果を教えてもらえますか。
ちなみにこの文章は DOSVAXJ3 でコピペして書いています。
- No.11541 -
このTreeへ
コメント元:11540 へ
[リストへもどる]
soft
(11537)
11542:
ClpPst.def DOSVAXJ3対応 10/15版
投稿者:
konno
2024/10/15(火) 17:27
11541 番 konno さんへのコメント コメント数 1
BLの半分ほどでも失敗する場合がありました。原因は不明です。
その場合ヌルが出力されないので buf err!! 3 で終了するようにしました。
; (r)?{#] &d #b ps], #W sn[+, #C (s)? 'n' &m("buf err!! 3") sn], .} ;err! ★★★
このコメント行を有効にすれば、TMPの内容を残して終了します。
これで確認してもらえるでしょうか。
#txt:ClpPst.def 2024/10/15版
- No.11542 -
このTreeへ
コメント元:11541 へ
[リストへもどる]
pre
(11537)
11544:
Re: ClpPst.def DOSVAXJ3対応 10/15版
投稿者:
shadow
2024/10/16(水) 08:23
11542 番 konno さんへのコメント コメント数 1
環境変数TMPはE:\TMP¥に設定してます
buf err!! 3で終了してます
- No.11544 -
このTreeへ
コメント元:11542 へ
[リストへもどる]
soft
(11537)
11545:
Re^2: ClpPst.def DOSVAXJ3対応 10/15版
投稿者:
konno
2024/10/16(水) 16:27
11544 番 shadow さんへのコメント
> buf err!! 3で終了してます
やはりこれが原因のようですね。ラインバッファ使用はBLの半分が限界かもしれません。
掲示板の記事のコピペ程度なら問題ないと思いますが、ちょっと大きなファイルは厳しいようです。
スタックを使えば良さそうですが私はその辺の知識が無いのです。
マクロは難しいのでアセンブラでやってみたら出来ました。
32k程度ですが一応動くようになったので動作チェックしてみます。
64kまで出来ると思ったのですが、どうもINT2Fでは半分しか使えないような感じですね。
- No.11545 -
このTreeへ
コメント元:11544 へ
[リストへもどる]
soft
(11537)
11543:
Re^3: ClpPst.def DOSVAXJ3対応 10/11版
投稿者:
shadow
2024/10/15(火) 19:08
11541 番 konno さんへのコメント
> OPT_LST.DEF の結果を教えてもらえますか。
いろいろ試して純正vzibmj.defに組み込んでも同じでした。
10/15版はこれから試します。
- No.11543 -
このTreeへ
コメント元:11541 へ
[リストへもどる]
soft
(11537)
11546:
ClpPst.def v05e7 24-10-17版
投稿者:
konno
2024/10/17(木) 20:09
11537 番 konno さんへのコメント コメント数 1
ClpPst.def v05e7 24-10-17版を VZマクロの部屋にUPしました。
paste.zip 24-10-17 new!
・寅次氏作のクリップボードマクロの改造版。DOSVAXJ3に仮対応。あまりテストしてません。
・DOSVAXJ3は INT2F のFコール使用、それ以外は 従来どおりCLPPST.EXE 使用します。
・INT2F 使用時は、コピー64k以内、ペースト32k以内の制限があります。v05e7
・若干のバグ修正と一時ファイルでペースト速度アップ
・VZ1.6用 オリジナルVZでも動くと思います。
・paste.com 使用で 32kまでペースト出来るようになりました。 v05e7
以下 同梱の paste.txt の内容です。
paste.com 2024-10-17版
paste.com はクリップボードから C:\TMP\PASTE.TMP に内容をペーストするプログラムです。
ペーストできる容量は32k程度までです。それ以上ではエラー終了します。
PASTE.TMP の内容はデータの最後にヌルがあり、その後ろはゴミがあります。
データがあふれるとヌルが無くなるのでそれでエラー判定します。
同梱の改造した ClpPst.def で必要なデータを取り出して ClpPst.tmp とテキストに書き出します。
■ 使い方
paste.com をパスの通ったフォルダに置きます。
あとは ClpPst.def のペーストモードで自動的に呼び出されます。
■ paste.com を単独で使う場合
paste.com >nul
このように NUL にリダイレクトさせないと コマンドラインにクリップボードの内容を吐き出してしまいます。
■ PASTE.TMP が生成されるフォルダは C:\TMP\ に固定されています。
ファルダを変更したい時は paste.com を VZで開いて 該当箇所を直接変更してください。
ファイルサイズが変わらないように、後ろのヌルを削除します。
#txt:paste.zip ここから落とせるかな?
少し前に一旦UPしましたが 19時40分マクロを差し替えたので、よろしくね。(^^;
- No.11546 -
このTreeへ
コメント元:11537 へ
[リストへもどる]
pre
(11537)
11547:
Re: ClpPst.def v05e7 24-10-17版
投稿者:
shadow
2024/10/18(金) 08:37
11546 番 konno さんへのコメント コメント数 1
コピー&ペーストをくり返してpaste.tmpのサイズが50306の時にペースト
できない時がありましたがそれ以外は問題なさそうです。
カットはクリップボードにコピーできますがカットできずに残ります。
今のところそれぐらいです。
- No.11547 -
このTreeへ
コメント元:11546 へ
[リストへもどる]
soft
(11537)
11548:
Re^2: ClpPst.def v05e7 24-10-17版
投稿者:
konno
2024/10/18(金) 14:24
11547 番 shadow さんへのコメント コメント数 1
> コピー&ペーストをくり返してpaste.tmpのサイズが50306の時にペースト
> できない時がありましたがそれ以外は問題なさそうです。
げげ、うちの環境では32kを超えると高確率で失敗します。(^^;
32kまでは問題無いと思います。
> カットはクリップボードにコピーできますがカットできずに残ります。
げげげ、カットは使ったことが無いので完全に失念していました。m(__)m
これから修正してみます。
- No.11548 -
このTreeへ
コメント元:11547 へ
[リストへもどる]
soft
(11537)
11550:
Re^3: ClpPst.def v05e7 24-10-17版
投稿者:
shadow
2024/10/18(金) 18:50
11548 番 konno さんへのコメント コメント数 2
> 32kまでは問題無いと思います。
了解です。環境の違いなんでしょう。
> げげげ、カットは使ったことが無いので完全に失念していました。m(__)m
私も使わないですがマクロにカットがあったからとりあえず使ってみました。
- No.11550 -
このTreeへ
コメント元:11548 へ
[リストへもどる]
soft
(11537)
11552:
Re^4: ClpPst.def v05e7 24-10-17版
投稿者:
konno
2024/10/18(金) 23:03
11550 番 shadow さんへのコメント
> > 32kまでは問題無いと思います。
> 了解です。環境の違いなんでしょう。
MS-DOS Player で paste.com を実行したら paste.tmp がゼロバイトになってしまいました。
うげげげ!
・・・うう、原因を調査しなくては・・・ (;_;)
> > げげげ、カットは使ったことが無いので完全に失念していました。m(__)m
> 私も使わないですがマクロにカットがあったからとりあえず使ってみました。
実はペーストでもカーソル位置に貼り付けようとしたら行頭に張り付いてしまいました。(>_<)
とりあえずペーストルーチンの最初を
; i=id, (wt)?{ #W b=id, } ;
#] i=id, (wt)?{ #W b=id, } ;
このように #] を挿入しました。
全然テストしてないのがバレバレですね。(^^;;
しばらく paste.com 使用で運用してみます。m(__)m
- No.11552 -
このTreeへ
コメント元:11550 へ
[リストへもどる]
pre
(11537)
11554:
Re^4: ClpPst.def v05e7 24-10-17版
投稿者:
shadow
2024/10/19(土) 11:07
11550 番 shadow さんへのコメント コメント数 1
paste.comを使ってもbuf err!! 3で止まるようになってしまった。
clclとCliborで履歴を見てたのですが一部表示されないものがあって
どこに保存されてるのかと思っていました。
win11のクリップボード設定を見直してクリップボードをクリアした
ところbuf err!! 3エラーは解消しました。
もしかして原因はこれなのか。
10/15版もコピー出来ました。
お手数をおかけしました。
- No.11554 -
このTreeへ
コメント元:11550 へ
[リストへもどる]
soft
(11537)
11557:
Re^5: ClpPst.def v05e7 24-10-17版
投稿者:
konno
2024/10/19(土) 16:18
11554 番 shadow さんへのコメント コメント数 1
> win11のクリップボード設定を見直してクリップボードをクリアした
> ところbuf err!! 3エラーは解消しました。
おお、こんな設定があったのですね。[Win]+^V で履歴が見られるわけですか。
> もしかして原因はこれなのか。
> 10/15版もコピー出来ました。
> お手数をおかけしました。
MS-DOS Player では相変わらず paste.com が動きませんのでバグバグかもです。
ところで、過去ログ#7772 に MS-DOS Player上でWin32のプログラムに対応する記事があるのを見つけました。
#7772: MS-DOS Player の更新 2017/7/27版 投稿者: konno 2017/07/27(木) 21:42
この記事を軟式さんにメールで送ったところ、テスト版を作ってくれました。
CLPPST.EXE が動くようになりました。\(^^)/ ヤッタ-
2M超のファイルのコピペも出来るので嬉しいです。
ということで私のバグバグで中途半端な物は無用の長物となるので対応も打ち止めですね。(^^;
- No.11557 -
このTreeへ
コメント元:11554 へ
[リストへもどる]
soft
(11537)
11560:
Re^6: ClpPst.def v05e7 24-10-17版
投稿者:
shadow
2024/10/19(土) 19:39
11557 番 konno さんへのコメント コメント数 1
> 2M超のファイルのコピペも出来るので嬉しいです。
> ということで私のバグバグで中途半端な物は無用の長物となるので対応も打ち止めですね。(^^;
対応して頂いたおかげでクリップボードの設定を知ることができたしDOSVAXJ3のアップデートにつながってるので感謝してます。
- No.11560 -
このTreeへ
コメント元:11557 へ
[リストへもどる]
soft
(11537)
11561:
Re^7: ClpPst.def v05e7 24-10-17版
投稿者:
konno
2024/10/21(月) 00:16
11560 番 shadow さんへのコメント
> 対応して頂いたおかげでクリップボードの設定を知ることができたしDOSVAXJ3のアップデートにつながってるので感謝してます。
考えてみると皆さんのVZ愛が各融合反応して新しい進化の道が開けてきたと感じます。
ここに集ってくれた皆さんに感謝です。
ところで、32ビットコマンドは、ZCPY32 も動いたのでコピー系は大丈夫そうですね。
GREP は表示しませんでした。MS-DOS Player も同じなので、ここはVTDOSに1日の長がありますね。
先陣を切ってVZ環境を高めてくれたVTDOSにも感謝です。
- No.11561 -
このTreeへ
コメント元:11560 へ
[リストへもどる]
soft