10177/10177 BQO00549 konno VTDOSで[ESC]I "カーソル位置へ挿入"不具合
( 1) 22/02/21 22:10 コメント数:4
めざらさんの掲示板 野ざらし言#4609 で今話題になっていますが
VZの [ESC]I "カーソル位置へ挿入"マクロで不具合の事例があるようです。
私も手持ちの生ログで実験してみましたが、VTDOS環境で不具合が再現しました。
以下、野ざらし言の書き込みを再掲します。
--------------------------------------------
> > VZ(184B) 184B:149A 'REPNE SCASB 命令ラップアラウンド'
> > アプリケーションでエラーが発生しました。VTDOS を復帰します
> VTDOSでこれが出ると VZは強制終了になっています。
> 特定のマクロなどでたまに出るんですが、MSDOS Pleyer では動いたりするんですよね。
> 私も今回の実験で一度出ていました。
これ、VTDOS.CFG を見たら
SCASB_MODE=0 になっていました。
SCASB_MODE=1 にしたら、エラーは出なくなりましたが、動作に異常があります。
挿入ファイルが途中までしか入っていません。改行で区切られてはいますが。
381081byteのファイルに380844byteのファイルを挿入して、761925byte になるはずが
759882byte になっています。2043byte が失われました。
VTDOSでは、試した全てのVZで同じ状態になりました。
MSDOS Player や DOSVAXJ3 は問題ないです。
&t でトレースしてみたら、ブロック移動ループの途中で挿入ブロックが切れてきました。
つまり、ファイル末までブロックがかからなくなってきたということです。
そして、何回目かの #y の行削除でVTDOSが落ちました。
SCASB_MODE=1 にしても、同じ個所までしかファイル挿入されずに終了しています。
その直前の行が、1行で 4551byte ありました。
試しに、EMS無しで、XMSだけでVZ起動してやってみたら正常に終了しました。
試した全てのVZでこのマクロが正常に動作したのです。
これは、VTDOSの EMS とVZの間に問題があるということでしょうか。
この問題は、これ以降は私の掲示板で続けます。
としきさんの場合も何か参考になれば幸いです。
--------------------------------------------
わかりにくいかと思うので、もう一度現時点での結論を書くと
> VTDOSの EMS とVZの間で問題が出ることがある
と思われるということです。
これから色々検証してみたいと思います。
10178/10177 BQO00549 konno VTDOSとXP(NTVDM)の共通点?
( 1) 22/02/26 19:34 10177:konnoさんへのコメント コメント数:1
探してみたら、こんなものがありました。
> 05665/05668 xxxxxxxx Emmett VZBUG(2) サイレントモード関連のバグ
> (15) 97/04/15 10:58
> ■ VZバグ大全(2):サイレントモード関連のバグ
> (A)サイレントモードでの #k または #y の反復
> サイレントモードで、非ブロックモードでの行記憶またはカット(#k、#y)を連
> 続して実行すると、ある特定の点までくると、テキストスタックに格納される文
> 字列の最後が化けることがあります。
これは非ブロックモードの話なので、今回は違うかもしれませんが
> (B)サイレントモードでの #_
> どうやらサイレントで実行された #_ は、特定の条件下でカーソル位置ポインタを
> 算出しまちがえるらしい。
> このトラブルは、 #_ 直後に #? などで最終行を一度表示してやれば回避するこ
> とができます。これは #_ 直後でなければ駄目で、#38 のあとでは遅すぎます。
> ・サイレントでの #_ のあとには #? &s
> と習慣づけておくといいでしょう。
どうやらこれが関係ありそうです。
高橋版でもこのバグは潰しきれなかったような気がします。
[ESC]I @I "I カーソル位置へ挿入" のマクロを
; #b #_ (ct)?{ #> #m #x }
#b #_ #? &s (ct)?{ #> #m #x }
このようにするか、&s を取ってしまうと、改善がみられました。
前回と同じ条件で実行して、ファイルサイズが一致するようになりました。
ただし、中身はおかしくなっているようです。
これはおそらく VTDOS の EMS がらみの不具合と思われます。
この実験で、榊原版VZだけは、ファイルサイズが小さくなりました。
ファイル挿入が途中で終わっているのか、それとも?
今まで実験に使用した生ログファイルは
280,386 wf_log.cgi
380,844 wf_log130407.cgi
381,081 wf_log130408.cgi
このうちの 381k のファイルの途中に 380k のファイルを挿入していました。
挿入する 380k のファイルに問題があるのか確認のため、今度は
280k のファイルの途中に 380k のファイルを挿入する実験をしました。
そうしたら、榊原版以外の VZ は正常に終了しました。
榊原版VZだけは、ファイルサイズが2バイト大きくなりました。
改行が1つよけいに入っていました。
この現象について、野ざらし言#4651 で、めざらさんの発言
> テキストスタックに複写する際に,テキストバッファサイズの境界付近に
> たまたまラインバッファサイズを超える長い行が存在した場合の振る舞い
> (結構レア?)に係ることかもしれないですね。「新発見」かも。
これが関係しているかもしれないと私も思いました。
ただ、MSDOS Player と DOSVAXJ3 では正常に動作しているのが謎なのです。
プラットフォームのメモリ管理とVZの相性で不具合が出ているのではないかと感じるのです。
VTDOSとXP(NTVDM)の共通点は、32ビットのメモリ管理で16ビットのVZを動かしているところ?
10179/10177 BQO00549 konno もしかして ia32 の問題絡み?
( 1) 22/02/27 15:23 10178:konnoさんへのコメント コメント数:1
前回の書き込みで
> ただ、MSDOS Player と DOSVAXJ3 では正常に動作しているのが謎なのです。
> プラットフォームのメモリ管理とVZの相性で不具合が出ているのではないかと感じるのです。
> VTDOSとXP(NTVDM)の共通点は、32ビットのメモリ管理で16ビットのVZを動かしているところ?
このように書きましたが、32ビットのメモリ管理で、ふと思ったことがあります。
ちょっと前の記事ですが
#10145:MS-DOS Player 12/30版 投稿者:konno 2021/12/31(金)
> さっそく使ってみましたが、ia32版では、自作のアプリでエラーが出ます。
> 自作アプリとは、turbo basic の古いプログラムで、VGAでないと動きません。
>
> 実は、今までの MS-DOS Player では、エラーが出て使えませんでした。
> 軟式さんの DOSVAXJ3 では使えていました。
>
> ia32_x86 数字4桁の入力で、OE+2?? (??は数字によって変わる)エラーで止まる
> ia32_x64 数字4桁の入力で、OE+2?? (??は数字によって変わる)エラーで止まる
MS-DOS Player でも ia32版では16ビットのアプリでエラーが出ます。
なので、今は ia32版は使っていません。
VTDOS も、ia32 を使っているとしたら、ここに共通の問題があるのではないかと感じました。
#10157:turbo basic は VTDOSで動かない 投稿者:konno 2022/01/15
> このプログラムを、VTDOS で動かしてみましたが、動きませんでした。
> エラーログを見てみると、ログが残っていました。
>
> 2022-01-15 16:28:00 AISYO(17BA) 17CA:0EC8 'Out Byte 0043 34'
>
> AX=2534 BX=0006 CX=0004 DX=1F10 SI=703A DI=7070 BP=17BA DS=17CA ES=0040 FLAGS=0046
>
> CS:IP=17CA:0EC8
> 17CA:0EB8 2E F6 06 6E 34 40 75 13 50 E8 6D 27 B0 34 E6 43
> 17CA:0EC8 EB 00 32 C0 E6 40 EB 00 E6 40 58 CF 50 FB 32 C0
>
> SS:SP=17CA:0072
> 17CA:0062 00 00 00 00 40 36 CA 17 46 00 CA 17 10 1F C4 0E
> 17CA:0072 00 01 7B 03 CA 17 06 02 F6 01 CB 01 00 00 00 00
>
> 2022-01-15 16:28:00 AISYO(17BA) 17CA:0EDA 'Out Byte 0043 00'
>
> AX=0100 BX=0006 CX=0004 DX=1F10 SI=703A DI=7070 BP=17BA DS=17CA ES=0040 FLAGS=0246
>
> CS:IP=17CA:0EDA
> 17CA:0ECA 32 C0 E6 40 EB 00 E6 40 58 CF 50 FB 32 C0 E6 43
> 17CA:0EDA FA EB 00 E4 40 8A E0 EB 00 E4 40 86 C4 F7 D8 40
>
> SS:SP=17CA:0072
> 17CA:0062 00 00 00 00 40 36 CA 17 46 00 CA 17 CA 17 BA 17
> 17CA:0072 00 01 7E 03 CA 17 06 02 F6 01 CB 01 00 00 00 00
>
> 'Out Byte 0043 34' と、'Out Byte 0043 00' の2つのエラーがあるみたいです。
このエラーが16ビットメモリ操作の裏技に由来するとしたら?
VZはメモリの裏技をバンバン使っているようですし。
ia32 のメモリ管理は16ビットアプリの使用には問題があるとか?
メモリの自己書き換えなどを許さない仕様とか?
VTDOS では ia32 は使っていないというのであれば私の思い違いということで。m(__)m
10180/10177 BQO00549 konno 製品版 [ESC]I マクロのバグは、#B だった
( 1) 22/02/28 18:06 10177:konnoさんへのコメント
野ざらし言#4654 に書きましたが、ここにも再掲します。
insfile.def を見てみると、ループ中に #B を使っていません。
としきさんが、#B が怪しいとにらんでいるのは正解かもと思い
製品版の [ESC]I マクロを修正してみました。
= esci.def =
製品版の [ESC]I マクロのバグ回避は、#B を使わないこと
*m
8 [ESC]I @I "I カーソル位置へ挿入"
?. (mr==$80)?{ &m(36) . }
&m("カーソル位置へファイルを読み込みます")
n=wn, c=wc,
; #R
#R #m ;★ 直接ファイラーへ
:A (s)?{ &c >A }
(wc==c)? >Z
mr=-1,
&s
#W &#T(n)
:B #W &#T(c+1)
#b #_ (ct)?{ #> #m #x }
; #b #_ (ct|lh)?{ #> #m } ; #x は不要 T.Tanomura 94/01/05 15:48
:C
; #y (mb)?{ #W #< #i (ek)?? #B #W >C }
#y (mb)??>D ;★ ブロックでなければループを抜ける
#W #< ek[+, #i ek], #W >C ;★ #B を使わない
:D #C &#T(n)
#< #i (ek)?? #B
(wc>c)? >B
&d
:Z &m("")
*
これで、今まで VTDOS153 で異常が出ていたファイルも正常に処理出来ました。
サイレントのままでも、試した全てのVZで問題なく動作しました。
結論として、#B にはバグがあるということですね。
そのバグは、VTDOS や NTVDM で出やすいようだというのが今の状況です。
10187/10177 BQO00549 konno VTDOSでTPAEXT=1 は危険かも
( 1) 22/05/28 00:36 10179:konnoさんへのコメント
先日5月11日の野ざらし言#4714 の発言でVTDOS関連の情報を書きました。
こちらにも転載します。
-----------------------------------------
"> WinXP(32),VTDOS1.22(ckwvなし)"
"> 以下略。"
"> cmd+command.comのところをVTDOSに変えただけですが、結果、VZの挙動は全く変わらず。"
ええっ、VTDOS1.22 では、OK になるんですか!
私の所では、VTDOSは今まで NG だったんですよ。
それで、VTDOS1.22 を引っ張り出して、何度か試行錯誤していたら出来ました。
VTDOS122 恐らく全てのVZ共通
Bl1024*4 OK
Bl1024*5 OK
Bl がこの範囲以外では NG になります。
としきさんの場合はこれ以外でも OK ということですか。
あと、VTDOS1.53 では、エラーで落ちてしまいました。
VTDOS1.22 と何かが違うのでしょうか。
取り敢えず、メモリ関連オプションを全部コメントにしてみたら
Bl1024*4 OK
Bl1024*5 OK
OK になりました! \(^^)/ ヤッタ-
なので、今度はメモリ関連オプションを一つづつコメント外してみたら
TPAEXT=1 NG
このオプションが駄目だったようです。なので
TPALOW=1
は問題なさそうなので設定しました。
-----------------------------------------
これで大分安定しましたが、まだ何かあるかもしれません。
10195/10195 BQO00549 konno 掲示板のメンテナンス 2022
( 1) 22/07/30 23:32 コメント数:2
スパム掃除のついでに掲示板のメンテナンスをしました。
クロム系のブラウザで、記事本文が小さく表示されるのを改善しました。
ヘッダーで、
# 本文の文字サイズ
#$b_size = '17px'; オリジナル
#$b_size = '100%'; 今までこれだった。
$b_size = '120%'; 少し大きくした。
こうしたら記事本文の文字が大きくなりました。
今後も気づいたところから直していきます。
10196/10195 DGF01024 めざら Re: 掲示板のメンテナンス 2022
( 1) 22/07/31 08:37 10195:konnoさんへのコメント コメント数:2
参照先:http://mezala.la.coocan.jp/
個人の感想(一般的なウェブアクセシビリティの観点から大きく外れていないと思いますが)を述べさせていただきますと,
特定のWWWブラウザの見え方に依存する変更は「改善」とは言わないと思います。
クロム以外のブラウザでは,とんでもなく(…という程でもないですが)大きな文字で表示されるようになりますよね。
つまり,クロム以外のユーザは排除する方向(…という程でもないですが)と言うか,少なくとも従来の感覚に変更を強いるものですね。
取り敢えず試していただきたいのが,クロムの設定→デザイン→フォントサイズを確認してみることです。
フォントサイズが「中(推奨)」となっているのが普通かと思いますが,ここを調整して手元の環境に合わせるとよいと思います。
もう十年以上経つかと思いますが,その頃から小さなフォントで表示するのが「クール」とされる時代が始まり,
年配者の反感を大いに買ったと思われるわけですが,近年,ディスプレイの解像度が高く(細かく)なり,
逆に文字が小さすぎて若者ですら読みにくいという現象も一部の環境で見られるようです。
10197/10195 BQO00549 konno Re^2: 掲示板のメンテナンス 2022
( 1) 22/07/31 22:03 10196:めざらさんへのコメント
> クロム以外のブラウザでは,とんでもなく(…という程でもないですが)大きな文字で表示されるようになりますよね。つまり,クロム以外のユーザは排除する方向(…という程でもないですが)と言うか,少なくとも従来の感覚に変更を強いるものですね。
えっ、そんなに違って見えますか・・・
クロム系とファイヤーフォックスで確認してますが、他にチェックすべきブラウザはありますか。
> 取り敢えず試していただきたいのが,クロムの設定→デザイン→フォントサイズを確認してみることです。フォントサイズが「中(推奨)」となっているのが普通かと思いますが,ここを調整して手元の環境に合わせるとよいと思います。
なるほど、「中(推奨)」だと小さく見えるんですね。
「特大」だと大きすぎるので、「大」にしました。
$b_size = '125%'; にしていたので、110% に変えてみました。
> もう十年以上経つかと思いますが,その頃から小さなフォントで表示するのが「クール」とされる時代が始まり,年配者の反感を大いに買ったと思われるわけですが,近年,ディスプレイの解像度が高く(細かく)なり,逆に文字が小さすぎて若者ですら読みにくいという現象も一部の環境で見られるようです。
最近文字が見えにくくなって、拡大表示することが増えました。
テレビもパソコンもLEDバックライトで眩しくなったのも一因かと(いや観すぎだろ)。
10198/10195 CXB00940 としき Re^2: 掲示板のメンテナンス 2022
( 1) 22/08/01 01:06 10196:めざらさんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/
会社のいつも使っている端末の、いつものFirefoxのいつもの常用環境でここを
開いたら、なんかいきなり文字が大きくてちょっとびっくり。
[CTRL]を押しながらマウスのぐりぐりを前後させて縮尺を80%にしたらちょうど
いい感じ。それから#10195を読んで、あぁなるほど、そういうことか、と。
それなら、Chromeならどうなるんだろうと、普段はあまり使っていないChromeで
ここの掲示板を見たら、確かにいい感じの大きさ。なるほど。
だけど、同じく職場にあって、普段は別の人が使っている、解像度は同じだけど
インチが小さいディスプレイに私の端末をつないで表示させてみたら、Chrome
でもやっぱりちょっと小さい。むしろ、Firefoxだと、元の設定に戻してちょうど
いいくらいの大きさ。
自宅に戻って、Firefoxからここを開いたら、職場ほど極端に大きくない。
むしろ、一回り大きくなっただけで、目の弱ってきた私にはいい感じ。
あれっ、と思ったら、#10197なのね。
ということで、
> 特定のWWWブラウザの見え方に依存する変更は「改善」とは言わないと思います。
めざらさんのこのご意見には、私もおおむね同意です。
ま、あれだ、フォントサイズを絶対指定にしてブラウザ側で表示サイズを変えられ
ないような極悪なシステムも散見される世の中にあって、サーバ側で指定する値を
どうするか、というのはある意味悩ましいものもあります。
そういう意味では、めざらさんのところの掲示板のフォント指定というかCSSでの
指定方法は、なかなかいいのではないか、と思う今日この頃。
さておき、クライアント側の設定は無限にあるわけでして、サーバ側はそんなもの
にいちいち関与することはできない、と割り切るのも一案。
この場合、本文に対するフォントサイズ設定は一切やめる。
そして、その他の文字サイズ指定は基本的に相対指定。つまり、-1とか-2を使う。
こうすれば、おおよそ万人というか閲覧者側に全ての責任を押し付けられる上に、
HTML側でfontタグを大幅に削減できるため掲示板スクリプトのメンテナンスが楽
になるし、副作用というか、HTMLの転送時間ならびにブラウザでのレンダリング
時間の縮減も図れるという副作用もあって、サーバ側もブラウザ側もみんな幸せ、
というのがちょっと前の世の中のトレンドでした。
今はどうなのかわかりませんが。
ところで、掲示板正面玄関というか、タイトル文字右側にある[-]とか[+]で文字
サイズが変えられるようになっているわけですが、それを倍率を換えるように変更
していただけないでしょうか。現状では、なかなか浮かばれないというか、扱いが
かわいそうな気がする。
もちろん、ガッツリ削除、というのが私のお勧め。
めざらさんはまた違ったご意見があるかもしれないけど。
10199/10195 BQO00549 konno Re^3: 掲示板のメンテナンス 2022
( 1) 22/08/03 00:58 10198:としきさんへのコメント コメント数:1
> > 特定のWWWブラウザの見え方に依存する変更は「改善」とは言わないと思います。
> めざらさんのこのご意見には、私もおおむね同意です。
どうやらとしきさんにも不評のようですね。(^^;
> この場合、本文に対するフォントサイズ設定は一切やめる。
> そして、その他の文字サイズ指定は基本的に相対指定。つまり、-1とか-2を使う。
> こうすれば、おおよそ万人というか閲覧者側に全ての責任を押し付けられる上に、
> HTML側でfontタグを大幅に削減できるため掲示板スクリプトのメンテナンスが楽
そうしたかったんですが、ソースを表示するための等幅フォントがネックだったのです。
<pre>や<tt>を指定すると、既定のフォントとは違うフォントに切り替わるのです。
うちの掲示板は記事本文に<pre>や<tt>を使用しているので、記事本文だけ文字が小さく見えます。
そのフォントが小さいうえに読みづらいフォントだなと感じていたのでした。
それで、バランスを取るために記事本文のフォントサイズを変えたのです。
CSS を使えば全部解決できるかもですが、私は勉強不足なもので。
> ところで、掲示板正面玄関というか、タイトル文字右側にある[-]とか[+]で文字
> サイズが変えられるようになっているわけですが、それを倍率を換えるように変更
> していただけないでしょうか。現状では、なかなか浮かばれないというか、扱いが
> かわいそうな気がする。
現状ではリストのツリー表示だけ拡大縮小になってますね。
これはこれで面白そうですが。(^^;
色々バグもあるので、時間が取れたら直してみたいと思います。
10200/10195 DGF01024 めざら Re^4: 掲示板のメンテナンス 2022
( 1) 22/08/03 10:36 10199:konnoさんへのコメント コメント数:2
参照先:http://mezala.la.coocan.jp/
「不評」と言いますか,突然変わると先ず手元の環境を疑うところから始めるので,
その確認が正直めんどくさいというだけの話なので,管理者の自由ではあるのですが,
「改善」という意識にちょっとだけ引っかかっただけです。(^-^)
> <pre>や<tt>を指定すると、既定のフォントとは違うフォントに切り替わるのです。
あくまでもソースなどの「みやすさ」のために,ブラウザが monospace フォントに変えますね。
一般的な印刷物でも明示的に consolas とか courier にしていると思います。
インデントの位置がずれると格好悪いですからね。ウェブでも同じです。サイズも本文より少し小さく。
> それで、バランスを取るために記事本文のフォントサイズを変えたのです。
全体のフォントサイズを変えても,preも連動するように本文に対して相対的に小さいままです。
なので,たぶんお望みのようにはなっていない可能性が高いですね。
> CSS を使えば全部解決できるかもですが、私は勉強不足なもので。
全部とはいかないかもしれませんが,取り敢えず試していただきたいのが wf_init.cgi の出力指定です。
掲示板を表示している状態で,Ctrl+U などでHTMLのソースを表示してみてください。
現状のソースの9行目に STYLE 指定がありますよね。閉じるまでが CSS の指定です。
この部分に,例えば【pre,tt { font-size:100%; }】のように出力できればよいわけです。
CGIのバージョンが違いますが,「HTMLヘッダ」という見出しを探してみてください。
「<style type="text/css">」という行を探してもよいです。ここに
pre,tt { font-size: 100%; } とか,
pre,tt { font-size: medium; } とか,
pre,tt { font-size: 1em; } とか指定すれば,pre指定時も本文とほぼ同じサイズになります。
なぜ「ほぼ」かというと,preに対して使われるフォントが異なるからです。
(本文は MS UI Gothic が優先表示で,pre に使われると思われる MS ゴシックと字形も違う。)
いずれにしても,掲示板の管理者たる konnno さんの指定次第です。
ただ,#10197 で 110% にしたと仰るが,HTMLソースでは 100% と表示されているので,
どこか別のところで何か変な指定をしている可能性も疑われます。
こういうのは,ご自身で解決していただくしかないと思われます。
10202/10195 DGF01024 めざら Re^3: 掲示板のメンテナンス 2022
( 1) 22/08/03 17:48 10198:としきさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
> この場合、本文に対するフォントサイズ設定は一切やめる。
自分のところでは,フォントサイズの絶対指定は一切排除しているわけなのです。ところが……
自分のサイトの他のページは,ブラウザごとに大きく表示が異なるということはないのに,
何故か掲示板だけ明らかに Chrome と Firefox とでフォントサイズが異なっているわけです。
一応,Edge なんかで表示しても少し違う。サイズは Chrome に近いけれど違うところもある。
ここが謎なんですね。
なので,Konno さんのお悩みの点は,本来自分(たち)の問題でもあったわけなのですよ。
…と言っても,フォントサイズの絶対指定はしていないし,本来変わらないはず。
Chrome と言えば,あるバージョンでデフォルトのフォントをメイリオにした関係で,
色々表示上のメンテナンスを各サイト管理者に強いたということはあったけれど,
ごく普通のサイトは特段の影響はなかったのではないかと思われるわけなので,
それが関係するとは思えない。
唯一思いつくのは,MS系のレガシーなフォントを優先表示フォントとして設定している場合。
Chrome でフォントごとにサイズの指定を無視するというのは考えにくいですが,
多少の調整をするという可能性はもしかするとあるのかもしれない。
CSS も万能じゃなくて,ブラウザごとに対応状況が異なっていますからね。
少しずつ実験してみたいと思います。
これが konnno さんのお悩み解決につながればよいのですけど。
ところで,BBS新着情報のページなのですが,かなり小さなフォントで行間もないので,
だいぶぎゅぎゅっと表示されているのですけど,少し大きくしていただけないでしょうか。
フォントサイズ 80% になっていて,Chromeだといよいよ縮小表示されて見えます。
あー,そうするとまた Fx でデカく表示されてしまうのか……悩ましいなぁ……
動的ページだけなのか……何だろう(?_?)
10203/10195 DGF01024 めざら Re^5: 掲示板のメンテナンス 2022
( 1) 22/08/03 21:44 10200:めざらさんへのコメント
参照先:http://mezala.la.coocan.jp/
10204/10195 BQO00549 konno CSSで pre,tt の指定
( 1) 22/08/03 22:41 10200:めざらさんへのコメント コメント数:1
> あくまでもソースなどの「みやすさ」のために,ブラウザが monospace フォントに変えますね。
> 一般的な印刷物でも明示的に consolas とか courier にしていると思います。
> インデントの位置がずれると格好悪いですからね。ウェブでも同じです。サイズも本文より少し小さく。
なるほどそうなんですか、等倍にすると横幅が伸びる分フォントが少し小さくなるのだと思っていました。
> 現状のソースの9行目に STYLE 指定がありますよね。閉じるまでが CSS の指定です。
> この部分に,例えば【pre,tt { font-size:100%; }】のように出力できればよいわけです。
>
> CGIのバージョンが違いますが,「HTMLヘッダ」という見出しを探してみてください。
> 「<style type="text/css">」という行を探してもよいです。ここに
> pre,tt { font-size: 100%; } とか,
> pre,tt { font-size: medium; } とか,
> pre,tt { font-size: 1em; } とか指定すれば,pre指定時も本文とほぼ同じサイズになります。
これは勉強になります、試してみます。
10205/10195 BQO00549 konno Re^4: 掲示板のメンテナンス 2022
( 1) 22/08/03 22:49 10202:めざらさんへのコメント
> ところで,BBS新着情報のページなのですが,かなり小さなフォントで行間もないので,
> だいぶぎゅぎゅっと表示されているのですけど,少し大きくしていただけないでしょうか。
> フォントサイズ 80% になっていて,Chromeだといよいよ縮小表示されて見えます。
ちょっと見栄えを変えてみたんですが、フォントが小さすぎましたか。(^^;
Fx で確認していませんでした。(^^;;
調整します。m(__)m
> あー,そうするとまた Fx でデカく表示されてしまうのか……悩ましいなぁ……
あれ? うちでは、クロムの方が大きくなる・・・ 設定変えたせいか。
とりあえず大きくしてみました。
10206/10195 BQO00549 konno BBS新着情報のページを更新 Ver0.82
( 1) 22/08/03 23:10 10195:konnoさんへのコメント コメント数:2
BBS新着情報のページを見栄えなど更新しました。
今回は、クロムのフォントサイズを大きくしたらBBS新着情報が大きすぎる気がしたもので
フォントを小さめにして行間も詰めてみましたが、小さすぎるとのご指摘で再調整しました。
備忘録として
・全体を <tt> </tt> で囲うとテーブル枠内の文字も一緒に少し小さくなります。
・テーブル枠内の文字サイズなどを調整するには
<table border=1 ><tbody style='font-size:$tbsize'><tr><th>
このような指定で出来ました。
10207/10195 DGF01024 めざら Chrome の monospace フォントに関する指定(確定版)
( 1) 22/08/05 13:25 10204:konnoさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
Chrome の monospace フォントに関するバグを回避する方法を,下記のサイト様で学びまして,
https://silight.hatenablog.jp/entry/2015/07/02/214601
うちの掲示板で試してみていたのですが,ようやく反映を確認できました。
monospaceフォントが使われることの多い要素に以下のような指定をすると,反映されます。
tt, code, kbd, samp, pre, xmp, plaintext, listing {
font-family: monospace, serif;
}
うちの掲示板では,念のため以下のように明示的なサイズ指定も加えました。
tt, code, kbd, samp, pre, xmp, plaintext, listing {
font-family: monospace, serif;
font-size: medium;
} /* Chromeはmonospaceのみの指定だとサイズが小さくなる */
うちの掲示板では,preを指定したアーティクルの背景色(薄墨)をつけているので,
Chromeで見比べてみてください。
これにより,個々の掲示板のソースでいちいちサイズ指定する必要はなくなります。
としきさんの仰るように,固定サイズ指定をバッサリ削ると自然な表示になると思います。
副作用のない指定方法を公開している,しらいと様に感謝。
なお,過去のブラウザの初期設定では,pre 要素などで小さなフォントが使われるのがふつうで,
これまでは特に疑問を感じていなかったのですが,konno さんのおかげで〈きっかけ〉ができ,
ブラウザ間の違いを改善することができました。
以前から,code や kbd などを指定した要素の表示がよろしくなくて気にはなってましたが,
おいおい解決していきたいと思います。
ありがとうございました。
10208/10195 BQO00549 konno Re: Chrome の monospace フォントに関する指定(確定版)
( 1) 22/08/06 02:14 10207:めざらさんへのコメント コメント数:2
> Chrome の monospace フォントに関するバグを回避する方法を,下記のサイト様で学びまして,
> https://silight.hatenablog.jp/entry/2015/07/02/214601
> うちの掲示板で試してみていたのですが,ようやく反映を確認できました。
このサイトを覗いてみたら理屈が判りました。
-------------------------------------------------
等幅フォントも可変幅フォントと同じサイズで表示したい時は次のように指定します。
font-family: monospace, serif;
これはmonospaceフォントで表示できない文字はserifフォントで表示するという意味ですが、そうなることは稀です。そして、このように等幅フォントと可変幅フォントを混在させた場合、可変幅フォントのデフォルトサイズが優先されます。(つまり可変幅フォントならserif以外でも良いです。単純に一番短いserifを選んだだけなので。)
-------------------------------------------------
なるほど納得です。
> うちの掲示板では,念のため以下のように明示的なサイズ指定も加えました。
> tt, code, kbd, samp, pre, xmp, plaintext, listing {
> font-family: monospace, serif;
> font-size: medium;
> } /* Chromeはmonospaceのみの指定だとサイズが小さくなる */
これを入れてみたら丁度良い見栄えになりました。
> これにより,個々の掲示板のソースでいちいちサイズ指定する必要はなくなります。
> としきさんの仰るように,固定サイズ指定をバッサリ削ると自然な表示になると思います。
>
> 副作用のない指定方法を公開している,しらいと様に感謝。
掲示板の全面改修は直ぐにはできませんが、本当に感謝ですね。
> なお,過去のブラウザの初期設定では,pre 要素などで小さなフォントが使われるのがふつうで,
> これまでは特に疑問を感じていなかったのですが,konno さんのおかげで〈きっかけ〉ができ,
> ブラウザ間の違いを改善することができました。
ブラウザ間の違いをほぼ無くせるとはまるで魔法のようですね。
私が気になっていたのは、等幅フォントのMSゴシックが線が細くて見えにくい
文字が読みにくいと感じたからです。そうとう目が悪くなったようです。
なので、等幅フォントはメイリオに変えました。
10209/10195 DGF01024 めざら Re^2: Chrome の monospace フォントに関する指定(確定版)
( 1) 22/08/06 08:38 10208:konnoさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
もう黙っていようかと思ったのですが,自分の精神衛生上よろしくないので……
メイリオを指定しても所期の表示にはならないと思います。
なぜなら,メイリオはプロポーショナルフォントだから。
むりやり等幅にした Meiryo_KE とか有るようですが,
表示する人の環境になければ意味がないですし。
monospace 用に具体的なフォント名を指定するのはナンセンスかもです。
もしかすると MSゴシックも使われていないかもしれません。
調べてないからわかんないけど。(^^;
10210/10195 BQO00549 konno Re^3: Chrome の monospace フォントに関する指定(確定版)
( 1) 22/08/07 00:58 10209:めざらさんへのコメント
> もう黙っていようかと思ったのですが,自分の精神衛生上よろしくないので……
> メイリオを指定しても所期の表示にはならないと思います。
> なぜなら,メイリオはプロポーショナルフォントだから。
言葉足らずでした。
メイリオを指定したのはブラウザのフォント設定です。
答倍フォントの設定で、一覧にゴシック系のフォントが並んでいるので色々試してみました。
見栄えが変わるので一応効いているのかと思いました。
その中で MSゴシックよりも見やすく思えたのがメイリオだったのです。
私が良く使う顔文字の記号 (^^; の「^」だけは違和感がありますが。(^^;
> 表示する人の環境になければ意味がないですし。
ブラウザの設定なので、自己満足でいいのではないかと思っています。
実際に変わっているかはわかりません。(^^;
10211/10195 CXB00940 としき Re^2: 各ブラウザでの見栄え
( 1) 22/08/13 17:37 10208:konnoさんへのコメント コメント数:3
参照先:http://toshiki.la.coocan.jp/
> > ブラウザ間の違いを改善することができました。
> ブラウザ間の違いをほぼ無くせるとはまるで魔法のようですね。
あ〜、そういえば私、最近はブラウザ間の違いをチェックしていないなぁ。
うちのサイトや掲示板、昔はネットスケープとIE、Firefoxできちんとチェック
していたんですけどね。
当時の環境で、ほぼブラウザ間の差異がないことを確認してそれっきり。
その後、ネットスケープとIEはなくなり、Operaはメジャーではないとしても、
新たにChromeだのEdgeだの出てきたわけだし。あいにく、Safariにいたっては
触ったことすらないし環境もない。
Edgeだけは出てきた当初に、うちのサイトをちょっとだけチェックしたような。
そのうちきちんと、せめてChromeでの見栄えチェックをやっておかねば。
ところで、掲示板メンテナンスという関連で、いくつかリクエスト。
一つは、前にも話を出したところですが、「返信フォーム」の上に表示されている
「関連一覧ツリー」のツリー表示が乱れる件。
もうひとつは、同じところですが、「関連一覧ツリー」のトップというかルートと
いうか、下三角が表示されている隣の発言。
他の発言と違い、ここだけなぜか発言番号が表示されていない。
mode=allreadのほうではツリー表示はきちんとしている一方、発言番号は各発言の
行末に表示されるようになっているので、#10116にあるように、それぞれのツリー
表示ルーチンを比較すれば、いずれも容易に解決できるような気がします。
ただ、konnoさん、ときどきバージョン管理を失敗して、古い版を参照していたり
することがあるので、そこは注意していただきたい気がする。
あるいは、マジでソースをさらしていただきたい。心からのお願い。
最後、これも5ヶ所ほど書き換えるところがあるかな。一括置換でいけるかなぁ。
なにかというと、引用部分の表示について。
これは、#10174を見てもらうのがいいかな。引用部分にリンクがあると、その後ろ
のフォント指定がキャンセルされてしまっています。
野ざらし言や板塀では、この事象は起きていません。
例えば、野ざらし言#4717とか板塀#3467とか。
ざっくり見たところ、野ざらし言や板塀では、引用部分では引用であることを意味
する q タグが使われています。でも、この掲示板では、明示的に引用を意味する
タグを使わず、fontタグで見栄えだけそれっぽくしているだけ。
まさにこれはあれだ、アクセシビリティなんかに興味・関心のないkonnoさんらしい
といえばらしいかもしれないけど、現実的に美しくないわけですから、何とかして
いただきたいというのが偽らざる本心。
ということで、なにとぞよしなに。
10212/10195 DGF01024 めざら Re^3: 各ブラウザでの見栄え
( 1) 22/08/13 22:23 10211:としきさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
勝手に補足させていただきます。
> 引用部分にリンクがあると、その後ろのフォント指定がキャンセルされ
としき兄がここで仰る「フォント指定」とは「フォントの属性指定=文字色」のことと思われます。
> 引用部分では引用であることを意味する q タグが使われています。
まぁ,普通そうだと思うわけなのですが,そもそも WebForum の原作者がまるで気にしていないので,
面倒っちゃ面倒ですよね。
ただ,Q 要素で括ると,属性を変えるなんて CSS で手間なしですから,
ちょっとだけ手を加えるのをおすすめします。ホント,すごい楽になりますよ。
フォント要素なんかの属性をいちいち加えるのって凄く面倒なわけですが,
<font color=\"#993300\">なんたらかんたら</font>
↓
<q>なんたらかんたら</q>
ほらね,これだけログも軽くなります。
CSS で q { font-color: #993300; } これだけ。
10213/10195 CXB00940 としき Re^4: 各ブラウザでの見栄え
( 1) 22/08/14 00:51 10212:めざらさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 勝手に補足させていただきます。
補足ありがとうございます。
余談ですが、先の私のコメントの後、一体いくつぐらい引用部分があるのかと板塀
のスクリプトのフォルダを検索したのですがね。
そこで発覚したのが、板塀でも q タグに変更するのをもらしている部分がある、と
いうこと。具体的にいうとwf_regi.cgiの中です。
発言を受け付けた表示の部分です。
こんなところまでチェックするのはある意味変質狂かもしれませんが、私の場合、
とりあえず統一性ということで、fontタグを q タグに変更しました。
ちなみに、めざらさんのところがどうなっているか、いささか不安もあります。
だって、私が手を加えているから。
ただ、めざらさんのことだから、既に修正済みかも。
もし未修正なようなら、ご自身での修正、よろしくお願いいたします。
> CSS で q { font-color: #993300; } これだけ。
色だけならこうなんですけど。
そのほかに、デフォルトのwforumに合わせるという意味で
q:before { content: no-open-quote; }
q:after { content: no-close-quote; }
この2行もあったほうがいいかも。
ちなみに私、
> ただ,Q 要素で括ると,属性を変えるなんて CSS で手間なしですから,
> ちょっとだけ手を加えるのをおすすめします。ホント,すごい楽になりますよ。
> フォント要素なんかの属性をいちいち加えるのって凄く面倒なわけですが,
この考え方には大いに賛同した上で、ではどうやっているかというと
<font color=\"#993300\">なんたらかんたら</font>
↓
<q style=\"color: $refcol;\">なんたらかんたら</q>
なんてことをやっている。
いや、だって、wf_init.cgiのデフォルトで$refcolという変数を設定しているわけ
で、なるべくこの設定を生かしたかったから。
でも、めざらさんのおっしゃることには強く同意するものですから、もし次の機会
というかwf_init.cgi *にも* 手を入れるようなときには、この辺も直すかも。
10214/10195 CXB00940 としき Re^3: 各ブラウザでの見栄え
( 1) 22/08/14 13:08 10211:としきさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> ざっくり見たところ、
ざっくりしすぎていました。
しっかり見たところ、どうやらそんな簡単な話ではなさそうな感じ。
板塀や野ざらし言でどうなっているかというと
単純な引用部
<q>> ほげほげ </q>
リンクを包含する引用部
<q>> ほげほげ <a href="xxx">#xxx</a>ふがふが</q>
という感じ。
でも、ここの掲示板では
単純な引用部
<font color="#804000">> ほげほげ</font><br>
リンクを包含する引用部
<font color="#804000">> ほげほげ</font><a href='xxx'>#xxx</a>ふがふが<br>
となっている。
これは一体なんだろう。
一瞬、リンクを作るルーチンのほうで余計なfontの閉じタグをつけてしまっている
のかとも思いましたが、もしそうなら<br>直前のfontの閉じタグが消えてしまって
いることの説明がつかない。
あ、わかった。
そしてこのバグ、板塀や野ざらし言にも一部残っている。
何が悪いかというと、引用処理と自動リンク処理の順番。
おそらく、ここの掲示板では以下のような処理が行われているのでしょう。
if ($autolink) { (略) } #自動リンク処理
if ($refcol) { #引用処理
(略)
}
でも、板塀では、引用処理と自動リンク処理の順番が逆になっています。
つまり、引用処理が先、自動リンク処理があと。
で、まぁ、人のフリ見て、ではありませんが、板塀でそうなっているところは
ないよね、ということで確認したところ、残っているではありませんか、見事に。
どこかというと、検索処理のところと、ログ内全記事表示のところ。
特に検索処理のところは、野ざらしも板塀と同じでしょう。
ここはめざらさんにもチェックしていただいたほうがよろしいかと。
ということで、fontタグを q タグに変える、というのはやっていただいたほうが
ベターではありますが、konnoさん的にはもしかしたらアレかも。
でも、引用処理と自動リンク処理の順番を変えるのは、そんなに手間がかからない
上に絶大な効果をもたらしますから、ぜひともよろしく、ということで。
10215/10195 DGF01024 めざら Re^4: 各ブラウザでの見栄え
( 1) 22/08/14 16:44 10214:としきさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
単純に,自動リンク処理と引用処理の前後を入れ替えるだけだと効かなかった。
当然のことながら全然覚えていないわけですが,$msg と #v_msg の違いとかあり,
大元の版が見当たらないので,何の違いかわからなくなってて,面倒。忘れよう。(^^;
そもそも検索結果のページって,CSSの効きも他と違うし,変だなぁ……
……cgiソースをつらつら眺めること数十分……
あ,もう一箇所あったのか。おー,でけたでけた。
この処理って,3箇所あったのですね。見落としてた。
10216/10195 CXB00940 としき Re^5: 各ブラウザでの見栄え
( 1) 22/08/14 18:03 10215:めざらさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 単純に,自動リンク処理と引用処理の前後を入れ替えるだけだと効かなかったです。
おや、まぁ。
うちの板塀は、単純に入れ替えただけで効果があったんですけどねぇ。
ということは逆に、板塀のほうで、未知のバグを仕込んでしまっていたりして。
> そもそも検索結果のページって,CSSの効きも他と違うし,変だなぁ……
例によって、ざっくり見させていただいただけですが。
検索結果のページって、lrmrgnのdivisionが、作者の意図とは異なるところで閉じて
しまっているような気がします。もしくは、閉じたあとに再び開かなくてはいけない
のに開き忘れている、とか。
もちろん、例によって私のざっくりなので正しくないかもしれませんが、めざらさん
なら、これだけの手がかりがあれば、私の推測が正しいか誤っているかの判別は可能
だと思います。
10217/10195 DGF01024 めざら Re^6: 各ブラウザでの見栄え
( 1) 22/08/14 18:13 10216:としきさんへのコメント コメント数:2
参照先:http://mezala.la.coocan.jp/
あー,ごめんなさい。
眺めているうちに,該当箇所の見落としに気づいて,出来ましたが,
#10215の方はとしきさんのコメント前後で結論を修正してしまっています。(^^;
あ,CSS の話。lrmrgn ってよくわかりましたね。
え?すぐ閉じてましたか……こちらも見落としですね。
中心性網脈絡膜症に加え,老眼の進みすぎ,霞目,眼鏡が古すぎ等等…
視力が崩壊してしまっているので,ソース読むなんての限界かも。
…ということで再度確認すると……
検索結果の方には,各アーティクルの id を埋め込んだ div(開始)がないことに気づきました。
それで,その前にあった lrmrgn を指定する div が閉じているんです。
こりゃーダメだ!(長介風)
10218/10195 BQO00549 konno Re^5: <q>タグと<blockquote>
( 1) 22/08/14 19:09 10213:としきさんへのコメント コメント数:1
としきさん、めざらさん、色々ご教授いただきありがとうございます。
q タグは知りませんでした。ネットで調べると
> 「Q」とは、「quotation」の略で、<q>〜</q>で囲まれたテキストが引用・転載文であることを示すタグです。
> 改行がない、比較的短いテキストを引用する際に使用されます。
> 長いテキストを段落ごと引用・転載する場合は<blockquote>タグを使用します。
とありますが、実際には
> これは、#10174を見てもらうのがいいかな。引用部分にリンクがあると、その後ろ
> のフォント指定がキャンセルされてしまっています。
<blockquote>タグではこんな問題があったんですね。
出来るところから直していきたいと思います。
10219/10195 BQO00549 konno Re^7: 各ブラウザでの見栄え
( 1) 22/08/14 19:25 10217:めざらさんへのコメント
うう、書き込んでいる間にどんどん修正箇所が増えていくぅ、(>_<);
まるで芋づる式ですね。(^^;
私のサツマイモは葉っぱが虫食いだらけなのが性格を表わしているような。(^^;;
果たして無事に収穫もとい修正できるのか・・・
10220/10195 DGF01024 めざら Re^6: <q>タグと<blockquote>
( 1) 22/08/14 21:37 10218:konnoさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
> <blockquote>タグではこんな問題があったんですね。
いや,blockquote は使ってないですよね。関係はないです。
余談です。
昔の話ですが,多くのWebブラウザで blockquote 領域の表現として,
字下げを用いていたんですね。そのような経緯から,blockquote が
「字下げのためのタグ」なんて勝手な解釈が長く行われてきました。
流石に近ごろはそんな解説は見かけなくなりましたけど。
10221/10195 BQO00549 konno Re^7: <q>タグ出来ました!
( 1) 22/08/15 14:41 10220:めざらさんへのコメント
> いや,blockquote は使ってないですよね。関係はないです。
そうでした、掲示板では「>」を使う慣習があるせいですかね。
おかげでニフティの会議室的な雰囲気が出せるのですが。
ところで、やっと修正が出来ました。\(^^)/ ヤッタ-
q { font-color:$refcol; }
うちの環境ではこれだとうまくいかず、色々試行錯誤した結果
q { color:$refcol; }
q:before { content: no-open-quote; }
q:after { content: no-close-quote; }
これでうまくいきました。
下の2行が無いと、「」で囲われてしまいますね。(^^;
ありがとうございました。
10222/10222 BQO00549 konno MS-DOS Player 22年8月15日版
( 1) 22/08/15 21:40 コメント数:3
MS-DOS Player が更新されていました。8月15日の版です。
http://takeda-toshiya.my.coocan.jp/msdos/index.html
更新内容を張り付けます。
-----------------------------------------
2022/8/15
BEEP音を連続して発声したとき、再生が止まらないように修正しました。
waveOut系APIでダブルバッファで再生するようにしています。
ウインドウプロシージャでなく、関数指定でコールバックを受け取れたんですね(苦笑)
NP21/WのI386コアについて、FPUタイプをSOFTFLOATからDOSBOX2に変更しました。
またDOSBOXのFPU_ST80()について、NaN/INFのケースを考慮して修正しました。
-----------------------------------------
実は以前の版の ia32版では、自作のアプリでエラーが出て使えませんでした。
今回 ia32版を試してみたら、問題なく動作しました
前々回の版(21-12-30)は
ia32_x86 数字4桁の入力で、OE+2?? (??は数字によって変わる)エラーで止まる
ia32_x64 数字4桁の入力で、OE+2?? (??は数字によって変わる)エラーで止まる
今回の版(22-8-15)は
ia32_x86 問題なし
ia32_x64 問題なし
この問題は過去記事のツリー
#10145:MS-DOS Player 12/30版 投稿者:konno 2021/12/31
に書いていますが、作者の武田さんにメールでご報告していました。
直してくださったんですね、ありがとうございます。
DOSBOXは古いPCゲームを動作させるところから始まったように思います。
古いコンパイラの癖のあるコードにも対応していそうですね。
武田様、ありがとうございました。
10223/10222 BQO00549 konno Re: MS-DOS Player 22年8月15日版
( 1) 22/08/16 12:55 10222:konnoさんへのコメント
メールチェックをさぼっていたのでチェックしたら武田さんからメールが来ていました。
内容を引用します。
-------------------------------------------------
本日の更新で、ia32版でも問題なく動作するようになったかと思います。
IA32版だけFPUを内蔵しており、BASICがそれを使用した結果、
FPUのエミュレーションの問題に引っかかってしまったようです。
FPUをSoftFloat版からDOSBox版に切り替えたところ、問題が発生しなくなりました。
IA32版以外はFPUを内蔵していないので、浮動小数点演算をx86のコードで
実行していたため、問題が発生しなかったものと思われます。
-------------------------------------------------
今回の更新は、まさに私の個人的な要望に対応してくださったのですね。
本当に嬉しいです。
ありがとうございました。
そして、メール返信遅れてすみませんでした。
10224/10195 DGF01024 めざら Re: BBS新着情報のページを更新 Ver0.82
( 1) 22/08/16 22:05 10206:konnoさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
おやおや?
新着情報はまた更に小さな字にされたのですか?
konnoさんのブラウザって,フォントサイズ特大ですか?
70%でちょうどよく見えるってことは 1.4em がデフォルトかなぁ……
10225/10195 BQO00549 konno BBS新着情報のページ更新 Ver0.83
( 1) 22/08/17 02:01 10224:めざらさんへのコメント
> おやおや?
> 新着情報はまた更に小さな字にされたのですか?
ああ、すみません、また並びなど弄ったもので。
また調整してみました。
> konnoさんのブラウザって,フォントサイズ特大ですか?
> 70%でちょうどよく見えるってことは 1.4em がデフォルトかなぁ……
Fx、クロムは18PT、エッジは大20PTにしました。
それでも新着情報はFxでは大きくてはみ出てしまいます。
70% というのは
body,tr,td,th,div { font-size:70%; font-family:MS Gothic ; margin:0; }
ここの指定ですよね。
この指定は試したブラウザでは効いていないようです。
<FONT SIZE='3'>
<FONT SIZE='-1'>
などが効いているようです。
10226/10195 CXB00940 としき Re^7: 各ブラウザでの見栄え
( 1) 22/08/17 02:05 10217:めざらさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> あ,CSS の話。lrmrgn ってよくわかりましたね。
最近のブラウザには、開発者ツールというのがデフォルトで搭載されていまして。
ChromeにもEdgeにもありますが、私は長いこと触ってきたFirefoxに慣れてしまって
いるので、他のブラウザにはどうしてもなじめない。
で、これを使うと、CSSのいろいろな分析ができるのですが、当然ながら、私に
そんな深い分析ができるわけもなく。ざっくりですよ、ざっくり。
ところで、他のブラウザはどうか知りませんが、Firefoxはサイトで複数のスタイル
シートを設定してあると、それを切り替えるという機能があります。
実験的に、うちの板塀の検索ページに、この機能を仕込んで見ました。
具体的にどうするかというと、Firefoxからうちの板塀の検索ページを開き、そこで
Firefoxのメニューから、表示→スタイルシートと選択します。すると、そのメニュー
のなかで、スタイルシートを使用しない、標準のスタイルシート、というのと並んで
testというのが選択できるようになっています。
これを選択すると、わざと違いがわかりやすくなるような、すなわち見栄えを全く
考えていないようなスタイルが適用されます。
これ、期間限定。
数日後にはこの機能は撤去されます。予定です。
こういうのを使えば、誰も使わないナイトモードをこっそり仕込む、などという
お遊びができたりするわけですよ。
もちろん、まじめに考えればユーザビリティの向上になるんでしょうけどねぇ。
10227/10195 DGF01024 めざら Re^8: 各ブラウザでの見栄え
( 1) 22/08/17 13:02 10226:としきさんへのコメント
参照先:http://mezala.la.coocan.jp/
作成者はクラス名を見れば何を制御するのか分かるので,適用範囲も分かりますが……
……まぁ大体想像はつくのかな。hrまでに閉じるのは想像にかたくないですしね。
そもそも,3個くらいのdivが閉じてなかった(笑)ので,酷い話です。お恥ずかしい。
開発者ツールって,ページのスクリーンショット(カメラ)くらいしか使ってないです。
だって,開発者じゃないもん。
10228/10195 BQO00549 konno BBS新着情報の更新 Ver0.84
( 1) 22/08/17 21:38 10206:konnoさんへのコメント
10258/10258 BQO00549 konno TRA_TAG.DEF k06 タグジャンプマクロ更新
( 1) 22/08/24 01:23 コメント数:2
TRA_TAG.DEF k06 を更新しました。
寅次氏の多機能タグジャンプマクロ Tra_TAG.def v16 をちょっと改造した物です。
改変内容
・2022-08-24 k06 バッファ溢れ対策とタグジャンプ失敗の要因を改善
・2018-12-24 k05 cd を ct に変更、各種改行に対応<br>
・2018-12-04 k04 バッファ溢れ不具合対策 コンソールのみ<br>
・2018-10-04 k03 ディレクトリ&LFN不具合対応 <br>
今回の改変は、一つはバッファ溢れ対策です。
マクロ冒頭での処理
(wn==0)??>l ;コンソールの時バッファ溢れ対策
(wa..19-wa..18 <500)?>l ;行の長さ500以内ならスルー
&s #< i0,
:x #x i=i+we,(i < 500)?>x ;カーソルを500超えるまで進める
#e #d #m #e &d #< ;500以内で改行挿入
:l
注目はここです。
(wa..19-wa..18 <500)?>l ;行の長さ500以内ならスルー
1行の長さが、wa..19-wa..18 でわかるんですね。
これは色々応用できそうです。
STKHLP で知りました。先人の方々に感謝。m(__)m
もう一つは、タグジャンプ失敗の要因の改善です。
179行目
(r==2)?{ ;open
; >O ;★★k06 タグジャンプ失敗はここ?
#O &?("%s ->%s",f,pa+1) #m . ;★★k06 これに差し替えたらOKに
これは私の環境だけかもしれませんが、これに変更したら失敗がほぼ無くなりました。
Vzマクロの部屋にあります。
http://tamaneko.world.coocan.jp/vzmac.htm
10259/10258 CRG00666 文太 Re: TRA_TAG.DEF k06 タグジャンプマクロ更新
( 1) 22/08/24 10:08 10258:konnoさんへのコメント コメント数:1
konnoさん
さくっと入れ替えさせていただきました。
=== Tra_TAG.def v16 ===
; V16k06 konno改 2022-08-24
僕のvzdefディレクトリには、Tra_TAG2.def というのがあって、vz.defには
それが登録されていました。
=== Tra_TAG.def v16 ===
; V16k02 2018-10-04 konno
miyata.shd ですね! 知らなかった。
タグジャンプ失敗は、どうだろう? あったような気もしますが、原因が
他にもあったように思い、とらじマクロが原因だとは思わなかったですね。
もちろん、真の原因はいまとなっては知りようもありませんが。
10260/10260 CRG00666 文太 マクロキーの増設
( 1) 22/08/24 16:03 コメント数:2
怠惰など色々ありますが、深い意味はありません。が、僕の使っている版は、
1.60t03k k07t01
です。いろんなマシンで違う版のvz.comを使うのは厄介なので。
問題の出ていないところは弄らない主義。
昨晩申し上げましたとおり、DANNY版でなされたように見えるマクロキーの増設
ですが、現在使用中の上の版でも効きました。やりい!
ただ、[ALT] + @ だけ効かないようです。はっきり分かっていれば(僕はすぐ
忘れるだろうけど)、別にどうしても、というわけではないです。
万が一、それも効くようにしてやる、ということでしたら、お願いいたします。
[ALT] + 3/4/5 とか、[ALT] + [/]とかは、ナイスですね。^ _ って、微妙な
キーですね。^^ とか ^K^ とかは、むちゃんこよく使うキーなのに。
_は、キーボードマクロの書き出しできたっけ? ほぼ使ってないですね。
「半/全」を [F00] は、ちょっとやりすぎかなぁ、という感想を持ちました。
ちょっと、くらっとします。
&jについては、うーん、良く分からない。調子よくないときはあります。
それより、ckwv自身ではなかろうか、というIMEの奇妙な振る舞い。しかし、
もう慣れてしまいました。なんかのキーに触れると(おそらく)、IMEの
モードが変わったり、キャプロックが入ったり……。
=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト
* M
50 ^^ "Macrotmp"
50 [F11] "" ;本来のと被ります。問題ではありません。
&m("[ALT]+1") .
51 [F12] "" ;本来のと被ります。問題ではありません。
&m("[ALT]+2") .
52 [F13] ""
&m("[ALT]+3") .
53 [F14] ""
&m("[ALT]+4") .
54 [F15] ""
&m("[ALT]+5") .
; ====================
; Vzk08Q9 07-06-19
; DOS/V版のマクロ起動キーをちょっとだけ拡張
55 @[ "" ;効きます!
&m("@[") .
56 @@ "" ;【これだけ効きませんが?】
&m("@@") .
57 @] "" ;効きます!
&m("@]") .
58 @_ "" ;効きます!
&m("@_") .
59 @^ "" ;効きます!
&m("@^") .
*
10261/10258 BQO00549 konno Re^2: TRA_TAG.DEF k06 タグジャンプマクロ更新
( 1) 22/08/24 19:45 10259:文太さんへのコメント
> 僕のvzdefディレクトリには、Tra_TAG2.def というのがあって、vz.defには
> それが登録されていました。
> === Tra_TAG.def v16 ===
> ; V16k02 2018-10-04 konno
うげ、履歴を見ると既に載っていませんね。
;2018-12-24 k05 cd を ct に変更、各種改行に対応
;2018-12-04 k04 バッファ溢れ不具合対策 コンソールのみ
;2018-10-04 k03 ディレクトリ&LFN不具合対応
同じ日に、k03 を揚げているし。(^^;
#8207:TRA_TAG 改 V02 投稿者:konno 2018/10/05(金) を読むと
> ということで、V02 を、#test66 にUPしました。
> ・ロング行番号対応
> ・ディレクトリ対応
> ・LFN対応
> ・LZH非対応 (^^;
どうやら k03 は v02 としてテスト板#test66 にUPしてあるみたいですね。(^^;
ということで履歴は修正しました。
> miyata.shd ですね! 知らなかった。
そうです。これも偶然の産物でした。
実は冒頭のバッファ溢れ不具合対策はその後外していて、そのままUPのはずだったのです。
最近グレップ&タグジャンプの後に不具合が多発していて
23日にUP準備中に冒頭のコメントを見て、やっぱり入れとくかと思い直したのです。
その時に、その下の行
#] #? (r)?. wa..19.2-, ;行を lfb に取り込む
これが目に入って、wa..19.2-, ってなんじゃらほい、とSTKHLPを見たら
> wa..19,wb..19 ラインバッファ末尾
> ・ラインバッファ終端ポインタ。
> ※wa..19: 行がラインバッファにある時の行末のアドレス。
> これに改行コードがつく。
> wa..19.2-: 行末の改行コード(0D0Ah)の直後をヌルに。
> (PK/14/10497 / DC/15/06167/m.gann)
> ※wa..19-wa..18 で改行を含まない行の長さを求められる。
> (PK/14/10520 / DC/15/03593/wanama)
wa..19-wa..18 は 和生さんの情報だったんですね、本当に先人の方々に感謝です。
行の長さを求めるのは大変なので、もっと宣伝してほしかったですね。(^^;
最近野ざらし言で、行の長さを求めるsyoさんのマクロが話題になっていましたが
これを知っていればもっと簡単にできたのになぁ、と思いました。
例えば、としきさんのログデータ 0007.cg の1行目で
インスタント窓に wa..19-wa..18 を入れてエンターすると 3970 と出ます。
1行の長さが 3970bytesあるのが簡単にわかります。
カーソルは行内のどこにあってもいいようです。
このバッファ溢れ対策を入れたらVZの動作不具合は出なくなったようです。(^^;
根本的にはバッファを取り込む部分を直すべきなんですが。(^^;;
この対策無しでとしきさんのログデータ 0007.cg の1行目後方の文字列を
検索&タグジャンプすると、私の環境では一発でVTDOSが落ちます。
> タグジャンプ失敗は、どうだろう? あったような気もしますが、原因が
> 他にもあったように思い、とらじマクロが原因だとは思わなかったですね。
> もちろん、真の原因はいまとなっては知りようもありませんが。
今問題が無いならいいんですが、私の改造物はバグだらけなので、少しづつ直していきます。
m(__)m
10262/10260 CRG00666 文太 復習をしています。
( 1) 22/08/24 21:04 10260:文太さんへのコメント コメント数:1
======== vz.def ========
* C コマンドキー
00 ^Q ^K [ESC] ^O ^I ^N ;2ストロークキー(最大6個)
01 ^[ ;redo cmd
02 ^_ ;KBM; (^- @dosv)
======== vz.def ========
いやあ、キーボードマクロ、最近使わないから……。でも「^-」って、
vz.defで見たことあるぞ、とか思いまして。
そうか、^- でも ^_ でも、効くんですね。@Vz 1.60t03k k07t01.
でも、@_ はOKで、@- はNG。両方OKなほうが……。同じキーね、という
ことで。ムリならムリで。僕は、そこまで強欲ではありません。
テスト完全版(半ば再掲)
=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト
* M
30 ^Q_ "" (ks&1)? { &m("^Q\_").} ? { &m("^Q_"). } ;OK
30 ^K_ "" (ks&1)? { &m("^K\_").} ? { &m("^K_"). } ;OK
30 [ESC]_ "" (ks&1)? { &m("[ESC]\_").} ? { &m("[ESC]_"). } ;OK
30 ^O_ "" (ks&1)? { &m("^O\_").} ? { &m("^O_"). } ;OK
30 ^I_ "" (ks&1)? { &m("^I\_").} ? { &m("^I_"). } ;OK
30 ^N_ "" (ks&1)? { &m("^N\_").} ? { &m("^N_"). } ;alt + shift + 5 と同じ?
;バグっているのか暴走してるのか仕様なのか。同じキーコード? あるいはマクロバッファに
;いたから偶然???
;別に大した問題ではありません。めざらさんが詳細に書かれていたとおり、
;2ストロークの最後の字はいろいろあるんですよね。
;ただ、ドックにきっちり書いたほうが良いように思います。昨日の自分は今日の他人なので。
50 [F13] "" ;type in [ALT]+3
&m("[ALT]+3") .
51 \[F13] ""
&m("shift+[ALT]+3") . ;OK
52 [F14] ""
&m("[ALT]+4") .
53 \[F14] ""
&m("shift+[ALT]+4") . ;OK
54 [F15] ""
&m("[ALT]+5") .
55 \[F15] ""
&m("shift+[ALT]+5") . ;OK
; ====================
; Vzk08Q9 07-06-19
; DOS/V版のマクロ起動キーをちょっとだけ拡張
56 @[ ""
(ks&1)? >> ? { &m("@[") . } ;shift OK!
00: &m("shift+@[") .
;56 @@ "" ;【これだけ効きません?】
; &m("@@") .
57 @] ""
(ks&1)? >> ? { &m("@]") . } ;shift OK!
00: &m("shift+@]") .
58 @_ "" ;効きます!
(ks&1)? >> ? { &m("@_") . } ;shift OK!
00: &m("shift+@_]") .
59 @^ ""
(ks&1)? >> ? { &m("@^") . } ;shift OK!
00: &m("shift+@^]") .
*
; 下はカスタマイズエラー。
63 @- ""
(ks&1)? >> ? { &m("@-") . } ;shift OK?
00: &m("shift+@-") .
これは両方効くのにね。
02 ^_ ;KBM; (^- @dosv)
10263/10260 CRG00666 文太 まとめと追加
( 1) 22/08/25 16:05 10262:文太さんへのコメント コメント数:1
konnoさん
どうぞごゆっくりでどうぞ。別にまったく何も急いでいるわけではないし、
現状でも、おお、これだけキーが増えた(増えているのを知らなかっただけですが)
と喜んでおりますので。
ちょっと僕もよく分からなくなった点があるので、簡単にまとめを試みてみますね。
◆【ファンクションキー】--- [F11][F12]を除く
ALT + 3,4,5 で、[F13][F14][F15]が機能する。シフトも効く。
6個増設
◆【2字目のキー】--- [, ], ^, _, @ with [ALT] & [SHIFT] など
完全: @[, @], @^ シフトも効く。
6個増設
◆だいたいOK: _
だいたい普通のキーのように振舞う。
^Q, ^K, [ESC] + other 2 (2ストークキー)のあと、シフトも効く。
ただし、6つ目の2ストロークキーの後だと不可。
5x2 = 10個増設
@_, ^_ も効く。シフトもOK.
4個増設
ただし、
KBM 登録 の ^_ (vz.def内表記) は ^-, ^_ の両方のキーインで可。
KBM PRINT の ^K_ (vz.def内表記。操作は^K + SHIFT _) は、
^K_ と ^K\_ の両方のキーインで可(@うちのvz.defで)
^K- とか ^K\- とか、効かない。
※たぶん(汗)、 ^- というキーインがそもそも不気味だったのだ、ろ、う。
キーボードマクロの使い方を思い出すのに苦労しました。
マクロのキーとして(コマンドのキーとして)、「-」っていうのを忘れて
しまう、というのが実際的なのかもしれませんね。
たぶん、26個ぐらい(?)、キーが増設されたのかな?
--- vz.def ---
01 ^[ ;redo cmd
50 ^] "Pair" &88
--------------
そう設定していたのか。忘れていた。redo、しないなぁ。違うマクロが走って
びっくりしました。
--- vz.def ---
50 ^N] "BSYMBO" &88
50 ^N[ "BSYMBO2" &88
50 ^N@ "ML_LIST" &88
--------------
しょっちゅう使うのも、ぜんぜんそうでないのもありますねぇ。
◆完全にダメ:[ALT] + @
別にこだわりませんが。
あまり「まとめ」になってないような……。
10264/10260 CRG00666 文太 2字目の @
( 1) 22/08/25 16:25 10263:文太さんへのコメント コメント数:1
=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト
* M
30 ^@ "" (ks&1)? { &m("^\@").} ? { &m("^@"). } ;OK
30 @@ "" (ks&1)? { &m("@\@").} ? { &m("@@"). } ; shift のみ効く
30 ^Q@ "" (ks&1)? { &m("^Q\@").} ? { &m("^Q@"). } ; shift が効かない
30 ^K@ "" (ks&1)? { &m("^K\@").} ? { &m("^K@"). } ; shift が効かない
30 [ESC]@ "" (ks&1)? { &m("[ESC]\@").} ? { &m("[ESC]@"). } ; shift が効かない
30 ^I@ "" (ks&1)? { &m("^I\@").} ? { &m("^I@"). } ; shift が効かない
30 ^O@ "" (ks&1)? { &m("^O\@").} ? { &m("^O@"). } ; shift が効かない
30 ^N@ "" (ks&1)? { &m("^N\@").} ? { &m("^N@"). } ; shift が効かない
*
「@」を自分が自作マクロのキーにアサインしていた(ほとんど使ってない)
というのに驚き、それってマクロキーとして有効なの? と思って上の実験をしました。
c.mos オリジナルでも、こうなるんでしたっけ?
めざらさんのあの力作をもう一度(何回読んだのだろう? そして何回理解に失敗
したのか?)読んできます。
10265/10260 CRG00666 文太 ascii 並び順とc.mos original
( 1) 22/08/25 16:50 10264:文太さんへのコメント コメント数:1
(以下、修正しています)
さくっと調べてきました。めざらさんの美しいまとめと考察を読み、asciiの並び順を
みて、c.mos オリジナル、vz.com + vzibmj.com で実験。
http://mezala.la.coocan.jp/vz/extcmd/cmd00.html
より
上\下 +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
40h: @ A B C D E F G H I J K L M N O
50h: P Q R S T U V W X Y Z [ \ ] ^ _
@ が普通に使えてよさそうに思えますよね、確かに。素人の甘い空想かな?
NEC98も絡んでいたのかな? IBMでは使えますが、NECではダメです、みたいなの
がそこらじゅうにあるのは、作者もユーザも大変だし(妄想)。
=== Macrotmp by B ===; c.mos オリジナルでのテスト
* M
30 ^@ "" (ks&1)? { &m("^\@").} ? { &m("^@"). } ;^2, OK
30 @@ "" (ks&1)? { &m("@\@").} ? { &m("@@"). } ;NG
30 ^Q@ "" (ks&1)? { &m("^Q\@").} ? { &m("^Q@"). } ; shift が効かない
30 ^K@ "" (ks&1)? { &m("^K\@").} ? { &m("^K@"). } ; shift が効かない
30 [ESC]@ "" (ks&1)? { &m("[ESC]\@").} ? { &m("[ESC]@"). } ; shift が効かない
30 ^I@ "" (ks&1)? { &m("^I\@").} ? { &m("^I@"). } ;プレフィクスキー
30 ^O@ "" (ks&1)? { &m("^O\@").} ? { &m("^O@"). } ;を増やしてないので。
30 ^N@ "" (ks&1)? { &m("^N\@").} ? { &m("^N@"). } ;結果は同じと予想される
;^N で暴走するのかな?
*
どうですかねぇ? 今のままでも、僕はいいかなぁ。何か制約があって「@」が
マクロキーになると上のようなことが起こるのでしょう。起こらないなら、c.mosさんが
そのままにしたとは思えないし。
「@」は、あんまりマクロキーとして使わないほうがいいよ、使うなら上の制約をちゃんと
覚えておくんだよ、とか。
10266/10260 CRG00666 文太 ¥も@に同じ(postfix key)
( 1) 22/08/25 18:04 10265:文太さんへのコメント コメント数:1
=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト
* M
30 ^\ "" (ks&1)? { &m("^\\").} ? { &m("^\"). } ;OK
30 @\ "" (ks&1)? { &m("@\\").} ? { &m("@\"). } ;NG
30 ^Q\ "" (ks&1)? { &m("^Q\\").} ? { &m("^Q\"). } ; shift 効かない
30 ^K\ "" (ks&1)? { &m("^K\\").} ? { &m("^K\"). } ; shift 効かない
30 [ESC]\ "" (ks&1)? { &m("[ESC]\\").} ? { &m("[ESC]\"). } ; shift 効かない
30 ^I\ "" (ks&1)? { &m("^I\\").} ? { &m("^I\"). } ; shift 効かない
30 ^O\ "" (ks&1)? { &m("^O\\").} ? { &m("^O\"). } ; shift 効かない
30 ^N\ "" (ks&1)? { &m("^N\\").} ? { &m("^N\"). } ; shift 効かない
*
しつこいですが。気になったら……。僕はもっぱら「^^」ですが、「^¥」も
お試しマクロのキーとしてポピュラーですよね。
@も¥も同じ、というのは、分かりやすくていいですね。¥はちょっと遠いけど。
こうなると、@も¥も、シフトは効かないけど、postfix key として、
使えるキーのような気がしてくる。
追記:これ、ぜったい過去ログにあるネタでしょうね。調べないけど。
10267/10260 CRG00666 文太 @ 〔 ¥ 〕 ^ _
( 1) 22/08/25 18:50 10266:文太さんへのコメント コメント数:1
@ 〔 ¥ 〕 ^ _
これらのキーを、2ストロークキーのあと部分の postfix key として使うとき、
シフト分岐はできない。^Q@ のような場合。
2ストロークではない、^@ ( = [CTRL]+@ )のように使うときのみ、シフト分岐
ができる。
これ、最初っからの仕様ですね。
使ってるのもあるのにねぇ……。
昔、自分で調べたことがあるのかもしれない、という気がしてきました。
_ については、konnoさんが、ごにょごにょしていますね。
10268/10260 CRG00666 文太 ALT 拡張について
( 1) 22/08/25 21:13 10267:文太さんへのコメント コメント数:1
出発点に戻ります。
僕は、現状で、まったく困っていませんし、現状のままでまったく構いませんからね。
--- konnoさん wrote: ---
ALT + [
ALT + @
ALT + ]
ALT + _ (入力キーは ALT + - )<--- ◆ ALT + _ もOK
ALT + ^
=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト
* M
30 @[ "" (ks&1)? { &m("@\[").} ? { &m("@["). } ; shift, OK, too
30 @@ "" (ks&1)? { &m("@\@").} ? { &m("@@"). } ; IME ON/OFF トグル★
30 @] "" (ks&1)? { &m("@\]").} ? { &m("@]"). } ; shift, OK, too
30 @_ "" (ks&1)? { &m("@\_").} ? { &m("@_"). } ; shift, OK, too ★★
30 @^ "" (ks&1)? { &m("@\^").} ? { &m("@^"). } ; shift, OK, too
*
★MS-IMEの設定は、「個人設定」で、だいたいATOK的になってるはずですが、設定欄に
ALT + @
で、IME ON/OFF のような設定はないようです。
★★ただし、@-, @_ の両方OK
10269/10260 CRG00666 文太 追記
( 1) 22/08/25 21:15 10268:文太さんへのコメント コメント数:1
今日は、これでお終い、だぞ。
さっと振り返ってみて、あれ、ここ、話の辻褄が合ってない、と修正しました。
結局のところ、本質的ではありませんでしたが。
^@ は、c.mosオリジナルでは通じません。榊原さんか高橋さんかkonnoさんか
分かりませんが、どっかで誰かが使えるようにしてくれたはずです。
(これは間違いです。^2 と黒本にもありました)
[ALT] + 1,2,3,4,5 -> ファンクションキー 11-15
[ALT] + 記号 @ [ ] ^ _
と、2字目としての、「_」
が konnoさんによる今回の(おいっ。07-06-19です)追加です。
欲張るつもりはまったくありませんが、「_」がシフト分岐可なのだとすれば、
他の記号もできてもいいような気がするなぁ、と勝手なことを思いました。
10270/10260 BQO00549 konno Re: マクロキーの増設
( 1) 22/08/26 00:40 10260:文太さんへのコメント コメント数:1
文太さん、とりあえずここにレスしますね。
> ただ、[ALT] + @ だけ効かないようです。はっきり分かっていれば(僕はすぐ
> 忘れるだろうけど)、別にどうしても、というわけではないです。
> 万が一、それも効くようにしてやる、ということでしたら、お願いいたします。
これ、多分問題があって止めたのではないかと思います。もう忘却の彼方です。
#3467 2008/11/27 に関連の話題がありますね。
> Vzk08Q9
> ● DOS/V版のマクロ起動キーをちょっとだけ拡張
> ALT + [
> ALT + @
> ALT + ]
> ALT + _ (入力キーは ALT + - )
> ALT + ^
> これらがちゃんと使えるようになった(はず)
でもその後何かの不具合があったのか、@@ だけ止めたのかなぁ。
もう完全に忘れています。(^^;
10271/10260 CRG00666 文太 Re^2: マクロキーの増設
( 1) 22/08/26 01:25 10270:konnoさんへのコメント
konnoさん
>文太さん、とりあえずここにレスしますね。
色々と錯綜させてしまい、すいませんね。僕も怒涛したくはないのですけれど……。
>これ、多分問題があって止めたのではないかと思います。もう忘却の彼方です。
>#3467 2008/11/27 に関連の話題がありますね。
おお、俺ってマメだなぁ。DANNY版ベースもちゃんとフォローしてたんだぁ。
大丈夫です、僕も完全に忘却してますから。オー・マイ・フレンド。
>でもその後何かの不具合があったのか、@@ だけ止めたのかなぁ。
>もう完全に忘れています。(^^;
もうfixするつもりはないと。それはそれで構いません。
が、#10268 に書きましたとおり、[ALT]+@ は、CKWVだかMS-IMEだかに取られている
ようです。@@(= ALT+@ )をVz側で止める、というのは悪くないと思います。
現在、止まっているなら、ですけど。
ま、止まってなくても、実害ないですね。
今日覚えているこの事実を忘れさえしなければ、ですけどね。
忘れるんだろうなぁ。
おお、新しい事実判明。秀丸で、@@したら、MS-IME ON/OFF してます。CKWVは
無実。IMEかぁ?
10272/10260 CRG00666 文太 「_」と@@について
( 1) 22/08/26 12:52 10269:文太さんへのコメント コメント数:1
以下は、DOS/V版 vz.com の話です。NEC98は、一部該当しません。
「_」が普通のマクロキーになったこと。有効です。もともとc.mos オリジナル
vz.comでも有効でしたが、シフトを一緒に押さないといけなかったので、ちょっと
使えないキーでした。konno Vzでは、シフト不要。
前提:僕はプレフィクスキーを6つ指定しています。最後が^N。[NFER]は
使っていません。
結論をいえば、^K以外、最後のプレフィクス以外、つまりこの2つを除く
4つのプレフィクスで、ふつうに使える。シフト併用可です。8つのマクロ
キーの増強と言ってよいか。
ただ、オリジナルのキーアサイン、^_, ^-, ^K_ (キーボードマクロ関係)に
こだわると少々、話が面倒になります。またしても、結論:キーボードマクロは
ふつうに守れ。よって、上の3つ(^_, ^-, ^K_)はママのこと。
8つのキー追加です。
(僕の場合、^Q_, ^I_, ^O_, [ESC]_ の4つx2)
--- 元々シフト併用(のみ)で使えたのだから、の引き算はなし。そういう
使い方をしていなかったので。
なお、@@について純DOS、konno版で試しました。OKです。ただ、
いろいろごちゃごちゃするので、[ALT]+@ は使わなくてよいよ、という判断でした。
=== Macrotmp by B ===;
* M
; --- @@ on DOS (not Win or VTDOS, perhaps without MS-IME)
50 @@ ""
(ks&1) ? { &m("@\@") .} ? { &m("@@") .} ;DOS OK
; 無理して使うことはない
; --- how about '_' ?
50 @_ "" (ks&1) ? { &m("") .} ? { &m("") .} ;NG
50 ^_ "" (ks&1) ? { &m("") .} ? { &m("") .} ;NG (1) Don't use. ^- (KBM)
; 無理して使うことはない
50 ^Q_ "" (ks&1) ? { &m("^Q\_") .} ? { &m("^Q_") .} ;shift OK (2)
50 ^K_ "" (ks&1) ? { &m("^K\_") .} ? { &m("^K_") .} ;shift OK (3)
; 無理して使うことはない
50 ^I_ "" (ks&1) ? { &m("^I\_") .} ? { &m("^I_") .} ;shift OK
50 ^O_ "" (ks&1) ? { &m("^O\_") .} ? { &m("^O_") .} ;shift OK
50 ^N_ "" (ks&1) ? { &m("^N\_") .} ? { &m("^N_") .} ;NG (6th prefix)
50 [ESC]_ "" (ks&1) ? { &m("[ESC]\_") .} ? { &m("[ESC]_") .} ;shift OK
*
(00) In the original vz.com by c.mos, '_' is usable as a macro key, but keying
in of shift was necessary. So the shift branch was impossible.
(0) '_' is not equal to '-' . '-' is NOT usable as a Vz macro key (in def
files) as above with an exception, notably for KBM (^- = typing in).
(1) So do NOT use this '^_' in your macro.
(2) shift OK means "non-shift & shift," both OK.
(3) ^K_ is for PRINT KBM. On konno Vz, shift for _ is not necessary.
(4) For registering KBM, '^-' & '^_' are both applicable.
10273/10260 CRG00666 文太 用語(NG: postfix)
( 1) 22/08/26 18:03 10272:文太さんへのコメント コメント数:2
ったく、まったく。
^A これのプレフィクスキーは、^
^QA これのプレフィクスキーは、^Q
では、Aは何と呼ぶ? ポストフィクスはおかしい。Aという基本キーの前に(プレ)
置かれる(フィクス)キーが、プレフィクスキーなので。Aがポストフィクスだと「それ」
の前、「それ」の後の、「それ」自体がなくなってしまう。
Aは
基本キー か
起動キー か
マクロキー か
ベースキー か
本物キー か
かな。文脈で伝わればいいのだけど、「2字目」と呼んだり「postfix」と呼んだりした
ので、頭の整理をしました。
このような機会がまたあったならば、「起動キー」「起動本物キー」「基本キー」ぐらいで
(忘れなければ)行きたいと思います。
10274/10260 CRG00666 文太 まとめ(個人的)
( 1) 22/08/26 18:04 10273:文太さんへのコメント コメント数:3
(^@ = ^2, 修正しました)
理論的(?)厳密さを求めておらず、僕個人にとっての「まだこれらは使えるぞ」
という覚書なので、参考程度にしておいてください。
何か間違っていたら、教えてちょ。
--- my vz.def -----------------------------------------
00 ^Q ^K [ESC] ^O ^I ^N ;2ストロークキー(最大6個)
-------------------------------------------------------
◆ファンクションキー [ALT] + 3,4,5 (konnoさんによる拡張)
@[F13], @\[F13], @[F14], @\[F14], @[F15], @\[F15]
◆[ALT]+記号系拡張、シフト可能 (konnoさんによる拡張)
@[, @\[, @], @\], @^, @\^, @_, @\_ ;(ks&1)による分岐必要
;@ means [ALT], @@ NG on VTDOS(Win7), but on DOS/WinME, OK
◆シフト併用可能の記号キー系(1ストローク)--- 増減なし
^@ ;OK, type in '^2'
^[ ;#01, redo cmd
^\ ;for temp macro
^] ;pair.def
^^ ;for temp macro
^_ ;= ^- =regist KBM
◆シフト併用不可の記号キー系(2ストローク)
(なかなか使えないキーたちではあります)
^Q@, ^K@, ^I@, ^O@, ^N@, [ESC]@ ;^N@ used by bunta
^K[, ^I[, ^O[, ^N[ ;^Q[ used, [ESC][ = [ESC][ESC]
^Q\, ^K\, ^I\, ^O\, ^N\, [ESC]\
^K], ^I], ^O], ^N], [ESC]] ;^Q] used
^Q^, ^I^, ^O^, ^N^, [ESC]^ ;^K^ (#41 recustomize)
◆シフト併用可の記号キー系(2ストローク)(「_」の普通キー可は konnoさん拡張)
^Q_, ^I_, ^O_, [ESC]_<-(*) ; ^K_ (print KBM), ^N_ (NG, 6th prefix)
; (*) _ のみ shift 可
10275/10260 CRG00666 文太 ^2, ^6, ^-
( 1) 22/08/26 18:33 10274:文太さんへのコメント コメント数:1
ちらと「めざら資源」
http://mezala.la.coocan.jp/vz/extcmd/cmd00.html
をまた見てしまいまして。
^@ は使えます。シフトも可です。(修正しました。マクロが間違ってました)
=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト
* M
;押すキー
30 ^@ "" (ks&1)? { &m("^\@").} ? { &m("^@"). } ;^2
30 ^^ "" (ks&1)? { &m("^\^").} ? { &m("^^"). } ;^6
30 ^_ "" (ks&1)? { &m("^\_").} ? { &m("^_"). } ;^-
*
^2ぐらい覚えなさい。老化予防です。シフトも使えんだよ。
めざら資源、怖いです。
10276/10258 BQO00549 konno TRA_TAG.DEF k06 タグジャンプマクロ 差し替え
( 1) 22/08/26 21:55 10258:konnoさんへのコメント
このマクロ関連か原因は特定できてないんですが、不具合現象がありまして。
[F07] の置き換えの動作がおかしいときがあったのです。
それで
> (wn==0)??>l ;コンソールの時バッファ溢れ対策
> (wa..19-wa..18 <500)?>l ;行の長さ500以内ならスルー
> &s #< i0,
> :x #x i=i+we,(i < 500)?>x ;カーソルを500超えるまで進める
> #e #d #m #e &d #< ;500以内で改行挿入
この 500 を 330 にしてみました。
(wa..19-wa..18 <330)?>l ;行の長さ330以内ならスルー
&s #< i0,
:x #x i=i+we,(i < 330)?>x ;カーソルを330超えるまで進める
#e #d #m #e &d #< ;330以内で改行挿入
UPマクロは差し替えました。
落とされた方はこれに差し替えてください。m(__)m
10277/10260 CXB00940 としき Re: 用語(NG: postfix)
( 1) 22/08/26 22:12 10273:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/
夏休み第2弾を満喫しています。
例年だと、8月最初の週末前後と8月最後の週末前後に夏休みをとっているんですが、
今年は諸般の事情で、お盆明け直後が夏休み第1弾。第1弾と第2弾の間が短いので、
つなげてしまえという声もありましたが、そこは無視。
ということで、現在、アルコール汚染真っ只中。
さて。
> ^A これのプレフィクスキーは、^
これにはいささかの違和感あり。
なぜというに、プレフィクスキーを押したのち、キーボードから完全に手を離して
から次のキーを押したときに機能するかという点において
> ^QA これのプレフィクスキーは、^Q
こちらの場合と違いがあるような気がする。
あ、いや、この辺、もしかして環境によって違うのかも。
なんか、OSのユーザー補助だか何だかで違いがあるような気もするし。
10278/10195 CXB00940 としき Re^3: 各ブラウザでの見栄え
( 1) 22/08/26 22:19 10211:としきさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
しばらくぶりにこちらの掲示板を見てみたところ。
> 一つは、前にも話を出したところですが、「返信フォーム」の上に表示されている
> 「関連一覧ツリー」のツリー表示が乱れる件。
こちらはあまり改善されていないようですね。
もしかしたら悪化していたりして。
> もうひとつは、同じところですが、「関連一覧ツリー」のトップというかルートと
> いうか、下三角が表示されている隣の発言。
> 他の発言と違い、ここだけなぜか発言番号が表示されていない。
こちらはきちっと直っていますね。
めでたい。というか、ありがたい。
10279/10260 CRG00666 文太 Re^2: 用語(NG: postfix)
( 1) 22/08/26 23:19 10277:としきさんへのコメント
>> ^A これのプレフィクスキーは、^
>これにはいささかの違和感あり。
ま、発想は分かります。整理を試みただけです。公式に決まっているのなら、教えて
くださると嬉しいです。
^@ と ^Q@ の @に注目するとき、それを何て呼べばいいの?
という疑問です。
10280/10260 CRG00666 文太 Re^2: 用語(NG: postfix)
( 1) 22/08/27 01:45 10277:としきさんへのコメント
としきさん
別に誰が何と呼ぼうと、ではあるのですが。
◆シフト併用不可の記号キー系(2ストローク)
(なかなか使えないキーたちではあります)
^Q@, ^K@, ^I@, ^O@, ^N@, [ESC]@ ;^N@ used by bunta
なんてのを眺めていたら、そうキーアサインを決めるとき、プレフィクスは
システムの制限で、その後の本当の文字、命名法で悩んだりするんだよな、と
思いました。
上のキーが、たとえば、「なかなか使えないキー」なのは、@ってのが、
何も連想されない、連想させないからです。記号キー一般がそう。
シリーズで使うしか、ないのかなぁ?
そういう意味では、^Q[, ^Q] (c.mos original)って、すげえ、とか
思ってしまいました。ほとんど使わないのだけど。
で、本物(本体)キー、なんて呼びましょうか。欲しいのは結論、つまり、
名前です。
10281/10260 CRG00666 文太 エスカルゴだ!
( 1) 22/08/27 11:44 10274:文太さんへのコメント
独り言です。
[ESC]@、これを見ていたら、あれ、これ、「エスカルゴ」じゃなかったっけ?
でも、エスカルゴって何? 見た目どおりのネーミングだけど。
で、僕のvzdefディクレトリを
>ygrep -r0 -% "[ESC]@" *.def ;再帰なし、正規表現 OFF
したけどヒットしない。過去ログ経由で、vzmacro.shdへ。^@ = ^2 も
使ってんじゃん。(*)僕は、@P のキーアサ = インスタント。P って、
色々微妙ですよね、詳細は覚えてないのだけど。
不思議とこれ、忘れないな。
(*)きっと違います。NEC98では、きっとそのまま通ったのです。
@ というのもアルファベットの前で(こういうのが当たり前に頭に入っている
人たちなんだよなぁ)、特殊ですね。学びました。
------------------------------------------------------
@&11 @マクロ文の実行"
標準組込マクロ
&11 [ESC]@ \[F12] マクロ文の実行 ◆
(略)
FGALPK MES 14 #6103 の m.gann 氏の拡張版
#11 [ESC]@ ^@ "" ;Instant (237) by m.gann ◆
# (s%3)?. r[,
# &g("Instant:",20)
# (s%3)?#[ (r+1)?{ r][, &e(pw)
# p[32+pr, (i[16){ p.i--=49-(r&1<<(15-i))!, } ;eggchi
# &m("%s: %d %u %xh %16s '%c' $"%16s$"",pw,r,r,r,p,r,r[)
# (ks&1>s&&mr-$80)?{ &s #< &?("%s",pu+bu) #m } r],i],p],
# (ks&17-16)?&d } (pw.0-',')?r], ?sp+=2, ;(0])
# (r)
------------------------------------------------------
◆c.mosさんのアサインとm.gannさんのアサイン。通じてる。
m.gannさんって、(c.mosさんもだけど)、1文字1文字に意味あるんです
よね。
10282/10195 BQO00549 konno Re^4: 各ブラウザでの見栄え
( 1) 22/08/27 21:27 10278:としきさんへのコメント
> > 一つは、前にも話を出したところですが、「返信フォーム」の上に表示されている
> > 「関連一覧ツリー」のツリー表示が乱れる件。
> こちらはあまり改善されていないようですね。
これは積年の課題になっていますね。
また解決に向けてチャレンジしてみます。
> > もうひとつは、同じところですが、「関連一覧ツリー」のトップというかルートと
> > いうか、下三角が表示されている隣の発言。
> > 他の発言と違い、ここだけなぜか発言番号が表示されていない。
> こちらはきちっと直っていますね。
これは気が付かなかったので指摘をいただいてありがたかったです。
もう一つのご指摘もとしきさんとめざらさんのご教示で解決できましたし
勉強になりました。
10283/10283 BQO00549 konno Instant.def を改造2
( 1) 22/08/27 22:20
m.gann さんの Instant.def を改造しました。軟体にあるものです。
前回、#8472 2018/10/31(水) で揚げた改造の第2版です。
きっかけは、kVZの公開版のチェック中にインスタントマクロで
パスのポインタ表示が出ないことがあったからです。げげ!
使用中の私家版やその他のVZではキチンと表示出来たので、バグかと焦りました。
wa+146 フルパスのファイル名
nm ★編集テキストの相対パス名
これらが表示されないので、ポインタズレが起きているのかと焦りました。
よく見ると、ポインタの下位バイトが $0a などの時に表示されないようです。
&m("%s: %d %u %xh %16s '%c' $"%16s$"",pw,w=r,r,r,p,r,r)
原因は、'%c' で 下位バイトが $0a だとその後を表示しないためでした。
そこで、今回はこの表示順を入れ替えました。
kVZの公開版は、私の環境ではちょうど $0a になるんですよね。(^^;
ついでに、コメント3か所を取ると、$20以下の時だけ入れ替えます。
そういえばちょうど、#10281 でエスカルゴの話題が出ていますね。(^^;
======= Instant.def ======= by m.gann
・[ESC]@、いわゆるエスカルゴの拡張版です。
・全モード(s=0-3)で実行可能です。(DOS/Vの編集
モード以外で実行するにはキー ^@ の変更が必要)
・2進数表示も行います。
・[CTRL]+M で入力した場合は &d を実行しません。
・編集モードかつ [CTRL]+[SHIFT]+M で入力した場合は
結果をテキストへも出力します。
・"文字列" 混じりのマクロ文も実行可能です。
・メッセージを伴う場合は1秒間程度待機します。
・全ての変数は保存されます。
・変数 r の変更はできません。
; konno改造履歴
; 2022/08/27 k02 パスなどの文字列表示を改善
; 2018/10/31 k01 スタックの数値をメニュータイトルに表示
* Macro
11 [ESC]@ ^[F01] "" ;Instant (326)
r[, ss-, mx+,
r=sp-pu, ;★スタックの数値の変化を
&g("Instant: $r ",32) ;★メニュータイトルで表示
mx-, (s&&s<3)?{ #< #x } (r+1)?{
&v(pn.-15=pa.0-) &Sh(pa,pw) r=pa-1,
:R (2){ &SF(r+1,'"') (r)?,?{} } ?{ r.0-, >R }
r][, &e(pa) :p (s>3)?{ &c >p } (pn.-15)?&w(120) ;60)★2秒表示
p[32+pa, (i[16){ p.i--=49-(r&1<<(15-i))!, } ;eggchi
; i=r,i=i<<8,i=i>>8,(i<$20)?>b ;rの下位バイトが$20以下?
&m("%s: %d %u %xh %16s $"%24s$" '%c'",pw,w=r,r,r,p,r,r)
; >e ;文字列を優先表示
;:b &m("%s: %d %u %xh %16s '%c' $"%16s$"",pw,w=r,r,r,p,r,r) ;通常表示
:e (ks&1>s&&mr-$80)?{ &s #< &?("%s",pu+bu) #m } i], p],
#if 98
(ks&17-16)?&d
#else
; (ks&5-4)?&d
#endif
} (r])
*
======= end of instant.def =========
10284/10260 DGF01024 めざら Re: ^2, ^6, ^-
( 1) 22/08/27 23:39 10275:文太さんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
> めざら資源、怖いです。
え? えっ?! なに なに?
10285/10260 CRG00666 文太 Re^2: ^2, ^6, ^-
( 1) 22/08/28 01:13 10284:めざらさんへのコメント
#10260 からです。大した量ではありません。
内容が既知のとき、流し読みができますし。
尊敬です。
10286/10260 CRG00666 文太 @@
( 1) 22/09/01 01:10 10274:文太さんへのコメント コメント数:1
すいません、自慢になってしまうかもしれませんが、konnoさんへの
感謝をこめて。
[ALT]@
これは、少なくとも、k07t01 においては有効です。ただし、網羅的な
試験はしていませんが、僕の vtdos@win7 ではダメでした。
純DOS および WinME では通ります。
想像するに、konnoさんは、やるべきことはやって下さっていたのだと
思います。
ありがとうございました。konnoさん!
このスレッドの記事、なるたけ修正をして、発言に間違いないように
しました。ミスを全部撲滅したとは思えませんが。過去ログに入る前に。
10287/10260 BQO00549 konno Re: @@
( 1) 22/09/01 17:55 10286:文太さんへのコメント コメント数:1
> [ALT]@
> これは、少なくとも、k07t01 においては有効です。ただし、網羅的な
> 試験はしていませんが、僕の vtdos@win7 ではダメでした。
> 純DOS および WinME では通ります。
なんと! 使えていたんですか(@.@)
結局私は拡張キーを止めてなかったんですね。
ソースを確認していませんでした。(^^;;
VTDOS では、[ALT]@ が使えないのか、試験してみました。
#10275 のマクロ
30 ^@ "" (ks&1)? { &m("^\@").} ? { &m("^@"). } ;^2
これをちょっと変えて
↓
30 @@ "" f=ks&15, (f)?{ &m("@\@ %d",f).} ? { &m("@@ %d",f). }
これを実行すると、確かに [ALT]@ は、IMEのON/OFF になりますね。
CMD窓で、[ALT]@ を押しても IMEのON/OFF になりました。
[ALT]@ は、システムで IME の起動キーとして取られているようです。
ところが、[Shift]+[ALT]@ だと、マクロが起動して
@\@ 11
と表示されました。
Ks の数値は、IBM版 は
+1 :R[Shift]
+3 :L[Shift]
+4 : [Ctrl]
+8 : [Alt]
こうなっているので、[Shift]+[ALT] が押されていると認識しているようです。
11 という数値は、右[Shift]でも左[Shift]でも同じでした。
また、[Ctrl]+[ALT]@ でも、マクロが起動して
@@ 12
と表示されました。
これは、[Ctrl]+[ALT] が押されていると認識していると思われます。
いずれにしても、[ALT]@ の起動キーがWin7 以降は使えないようなので
実用としては使えないですね。
10288/10260 CRG00666 文太 Re^2: @@
( 1) 22/09/01 18:46 10287:konnoさんへのコメント
konnoさん
たしかに、下をうちでも確認しました。
[ALT]@ ;NG on VTDOS (Win7)
[Shift]+[ALT]@ ;OK
[Ctrl]+[ALT]@ ;OK
とはいえ、仰るとおり、[ALT]@が駄目なとき、下の2つを使えと言われても
かなり大変そうですね。純DOS、WinMEでも、うーん、だけど。
いちおうメモって、空きキーリストに入れておきます。
10289/10222 BQO00549 konno MS-DOS Player がおかしくなった?
( 1) 22/09/10 22:59 10222:konnoさんへのコメント コメント数:1
最近、野ざらし言#5017 で話題にしたのですが
> FO.COM やってみました。
> MS-DOS Player は、実行後、1分ぐらいフリーズしてからプロンプトが戻りました。
> やばい! 何かループのコードを実行してるみたい!!
この FO.COM はソースも公開されているのですが、BX を初期化しないまま使っているのです。
そのせいで MS-DOS Player の挙動がおかしくなったのかと始めは思っていたのですが。
野ざらし言#5048 から引用すると
---------------------------------------------
MS-DOS Player は、いつの間にかおかしくなっていました。
VMAP でも実行後、1分ぐらいフリーズしてからプロンプトが戻りました。
前の版に差し替えたり、PIF を作り直したり色々やってみましたが変わりません。
もしかしたら Windowsの更新でおかしくなったのかなぁ。
原因がわからないので、一人で悩んでいましたが、やっと原因がわかりました。
SET で見ると、
COMSPEC=c:\COMMAND.COM
と出ます。
# そこに私はいません♪
実際には、バッチにもアイコンのプロパティのリンクにも
COMSPEC=C:\UT\P\COMMAND.COM
と書いていて、今まではそれで動いていたのです。
やっぱり Windowsの更新でおかしくなったように思います。
VZのコピーでは C:\ にコピー出来ないので、エクスプローラーでコピーしたら
正常に動作するようになったようです。
FO.COM も、正常に実行できました。
これもうちの掲示板で一応告知した方がいいかな。
---------------------------------------------
ということで、Windowsの更新でおかしくなったという人はいませんか。
確認お願いします。
10290/10177 BQO00549 konno VTDOS だけ実行出来ないコマンドがある?
( 1) 22/09/10 23:24 10177:konnoさんへのコメント
最近、野ざらし言#5004 からのツリーで話題にしたのですが
FO.COM という古い公開プログラムがあって、VTDOS だけ実行できないのです。
この FO.COM はソースも公開されているのですが、BX を初期化しないまま使っていました。
野ざらし言#5045 から引用すると
---------------------------------------------
先の実験で、純DOSの MSDOS6.2 では BX を 初期化していると思われます。
同じ fo.com を使っているので、fo.com もシロだと思います。
そして、command.com も、コマンドの一つだということ。
コマンドやプログラムをメモリにロードして実行させているのは、DOS システムだということになります。
ということは、BX を汚しているのは、VTDOS だということになります。
レジスタを初期化しないまま使うプログラムは手抜きか行儀が悪いか、うっかりか。
それでも純DOSの時代は問題なかったから、わざと手抜きしていた可能性もありますね。
でもエミュレータを作る時は、基本のルールに則って作るので、ルール違反は想定外だった。
という可能性がありますね。
この事例は私の掲示板でも告知して注意喚起したほうがよさそうです。
---------------------------------------------
ということで
> プログラムを作成するということは、ルールに則って作成するべきです。
> 手抜きプログラムは自分一人だけで使うならいいですが、公開するのは問題がありますね。
これが基本だとは思いますが、レジスタを初期化しないまま使うプログラムも有りうるということで
純DOSでは コマンド実行時にレジスタを初期化しているのだと思われます。
VTDOS はどうも初期化していないのかもしれないので、ご注意願います。
10# さん、この件、確認していただくとありがたいです。
10291/10291 BQO00549 konno VZ1.6のバグが直った?
( 1) 22/09/14 01:09 コメント数:4
野ざらし言#5053 に書いた記事ですが転載します。
[ESC]I のバグがVZ1.57a で出ないので、ソースを見比べていました。
そうしたら、気になる箇所があったので、Vn のマーカーを入れてみました。
text.asm 1.57a 1484行目
seekb_x:
pushf
add ax,[bp].ttop ; ##1.5
popf
call qclose
text.asm 1.6k07t01 1884行目
seekb_x:
pushf
add ax,[bp].ttop ; ##1.5
cmp ax,[bp].tend
_if ae
mov ax,[bp].tend
dec ax
mov byte ptr [bp].atrtxt1,1 ;★; Vnマーカー追加
_endif
popf
call qclose
VTDOSの結果は、Bl2048 では NG で、Vn0 反応なし
念のため、Bl8192 を試したら NG で、Vn1 反応あり
おお、と思ってここのルーチンを 1.5 と同じにしてみたら
なんと、VZ1.6では Bl8192 は全て NG だったのが OK になりました!!
MS-DOS Player や DOSVAXJ3 では、Bl1024〜Bl8192 OK
VTDOS では、Bl4096〜Bl8192 OK
ただし、Bl1024*3 だけは、1.57a を含む全てのVZ、環境で誤動作します。
正常時に比べてファイルサイズが大きくなるし、VZが壊れる可能性も。
VTDOS では 'REP MOVSW 命令ラップアラウンド' エラーでVZが落ちます。
これは別のバグ発見か?
現在色々検証中です。
# シン・ゴジラのエネルギー源を突き止めたくらいに興奮しました!!
10292/10291 BQO00549 konno Re: VZ1.6のバグが直った?
( 1) 22/09/16 00:50 10291:konnoさんへのコメント コメント数:2
VZの標準マクロ、[ESC]I ファイルの挿入で発覚したバグについて
今回の修正と新たなバグ? について色々検証した結果、どうも今回の修正は
たまたま一部のエリアで正常になっただけのような気がしてきました。
まず、VTDOS MS-DOS Player DOSVAXJ3 での全てのVZで共通するのは
EK- でも EK+ でも
BL1024*3 の時 NG になり、ファイルが大きくなるということです。
今まで EK+ ならバグは出ないと思っていましたが、どうもこのエリアに地雷があるようです。
それでも今回の修正で BL8192 の常用環境で改善されたのなら少し前進できたのかも。
VTDOS では、XM1 EM12 くらいにすれば一番安定して使えると思います。
参考までに、PC98エミュの NP21 の結果も載せます。NP2 は文字化けあり、NP2のバグ?
EK- VZk07t01 VZo VZk07v(今回の修正したもの)
BL1024*1〜BL1024*3 OK
BL1024*4〜BL1024*6 NG ファイルが小さくなる
BL1024*7〜BL1024*8 OK
EK+
BL1024*1〜BL1024*3 OK
BL1024*4〜BL1024*6 NG ファイルが大きくなる (VZk07vのみファイルが小さくなる)
BL1024*7〜BL1024*8 OK
VZ1.57a
EK- でも EK+ でも
BL1024*3 の時のみ NG ファイルが大きくなる
DOSV版と異常の出る範囲が違うのは、ファイルやバッファのサイズが関係しているのか?
PC98版をもし使う機会があるなら、BL1024*4〜BL1024*6 は避けた方がよさそうです。
1.57 を使う人はもういないと思いますが。(^^;
10293/10291 BQO00549 konno Libretto を復活させ検証してみた
( 1) 22/09/17 01:56 10292:konnoさんへのコメント
検証用にWinMEノートが使えないか、腐海をあさって見ました。
ほとんどのノートPCは液晶が駄目になっていましたが Libretto が起動できました。
仕様は下記のサイトから
https://dynabook.com/pc/catalog/libretto/010507l1/spec.htm
> Libretto L1/060TNCMモデル
> Transmeta Crusoe プロセッサ TM5600 600MHz
> メモリ 標準/最大 128MB/256MB(PC100対応、SDRAMうち16MBはシステムで使用)
> 内部ディスプレイ 10型FLサイドライト付き低温ポリシリコンワイドTFT液晶(※1)1,280×600ドット:1,677万色
> ハードディスク 10GB(Ultra ATA対応 全領域がFAT32で設定(Cドライブ1パーティションで設定)。
> 外形寸法(突起部含まず) 268mm(幅)×167.2mm(奥行)×20.5(最薄部)/29.3mm(高さ)
> 質量 約1.1Kg(バッテリパック装着時)
さらに、Wikipediaから
> Libretto L1
> 2001年5月18日発売。技術の粋を集めた旧シリーズとは異なり「実用的で低価格なモバイルノート」を標榜。
> 当時としては珍しい「ワイドSXGA」横1280ドット×縦600ドットの10インチ低温ポリシリコンTFT液晶を採用。
> Windows XPの発売を控えていた事もありWindows Meをプリインストールした。
IBMのWin2000ノートが液晶の四隅が滲んでいるのに、Libretto は綺麗なままです。
最初はハードディスクが回らなかったので、叩いたら回るようになりました。
ファンの音が煩くて使わなくなっていたんですが、まだまだ使えそうです。
さて、本題ですが、検証の結果は、MS-DOS PlayerやDOSVAXJ3 と同じでした。
以上。(^^;
10294/10294 BQO00549 konno CODEX.DEF が動かない?
( 1) 22/09/19 00:59
最近 CODEX.DEF を使おうと起動したら、メインメニューは出るが
検索抽出のメニューで終了してしまいます。
え、なんで〜 (;_;)
最近の改造VZが原因かと、VZT でやっても駄目でした。
CODEX のマニュアルが見当たらなくてめざら資源の軟体のお世話に。(^^;
CODEX.DEF v3.0 ユーザーズ・マニュアル によると
> (B) Bu の値は 256
そういえば最近 VZ.DEF のオプションを変えて、Bu64 にしていました。
忘れないようにオプションの所にコメント入れて、これで安心と思ったら
変わりません。(;_;)
変更前の VZ.DEF と比較したら、Bm も 13000 から 12000 にしていて
これが怪しいと思って戻したら、動くようになりました。
最近は vrensave.def でまめにバックアップしていたので助かった〜
子メニューでコケるのは、マクロバッファが足りないからなんですね。
結構ギリギリでやってたんだなぁ。
私にとって必須のマクロは沢山あって、日々お世話になっています。
これらのマクロが動かなくなったら途方に暮れるしかないのです。
マクロ作者の皆様には、日々感謝です。m(__)m
10295/10222 BQO00549 konno MS-DOS Playerで VZは常駐使用できる?
( 1) 22/09/19 22:15 10289:konnoさんへのコメント コメント数:1
まずは前回の記事の件から
> MS-DOS Player は、いつの間にかおかしくなっていました。
> 原因がわからないので、一人で悩んでいましたが、やっと原因がわかりました。
> SET で見ると、
> COMSPEC=c:\COMMAND.COM
> と出ます。
> # そこに私はいません♪
最近再確認してみたら、これはどうも効いていないようです。
他の command.com を試そうと、C:\ に置いても変わらないのです。
> 実際には、バッチにもアイコンのプロパティのリンクにも
> COMSPEC=C:\UT\P\COMMAND.COM
> と書いていて、今まではそれで動いていたのです。
これは間違いで、バッチのPATH でした。で、このPATH も効いていません。
アイコンのプロパティのリンクは
COMSPEC=C:\UT\MP\COMMAND.COM
になっていて、ここのPATHが効いているようです。
> やっぱり Windowsの更新でおかしくなったように思います。
最近またWindowsの更新があったので、それで元に戻ったのかもしれません。
やれやれです。
で、本題なのですが、MS-DOS Playerで VZは常駐使用できるのか?
今まで私の環境では MS-DOS Player で VZ は常駐で使用出来ていませんでした。
他はどうかわかりませんが、私の環境では全てのVZで駄目だったんですね。
それが、10#さんが調整された FreeDOS の command.com では常駐使用出来たんです。
http://vtdos.web.fc2.com/
DOWNLOAD FREECOMV.ZIP UPDATED 130314
FreeCOMJ 0.82 PL3 VTDOS 対応パッチ
2013/03/14 00:12 89,244 command.com
Turbo C のソースなんですかね。
色々な command.com で試したのですが、他は全部駄目だったようです。
何が違うんでしょうかね。
ちなみに、アイコンのプロパティのリンクは
C:\UT\msdos.exe -e -x -v6.20 c:\ut\mp\command.com
としていますが、-v オプションを command.com の Ver に合わせる必要があります。
これが違うと MS-DOS Player が終了してしまうようです。
10#さん調整の FreeDOS の command.com だけはこのオプション関係なく起動します。
10296/10222 BQO00549 konno 10#さん調整の FreeDOS の command.com の追試
( 1) 22/09/20 21:27 10295:konnoさんへのコメント
10#さん調整の FreeDOS の command.com の追試をしました。
MS-DOS Player を起動後、SET を見ると
COMSPEC=C:\COMMAND.COM
と表示されています。PATH はWindows の長いPATH になっています。
その後 DOS環境設定の BAT を実行すると PATH は DOS のPATH になります。
COMSPEC だけは
COMSPEC=C:\UT\MP\COMMAND.COM
と、アイコンのプロパティのリンクのPATH が表示されます。
実際に効いているのはこのPATH です。
その他の command.com は
COMSPEC=C:\COMMAND.COM
のままで、command.com を C:\ に置いても 常駐VZ は起動しないです。
他の環境変数も表示がおかしいところがあります。
問題は、環境変数領域の設定にあるのではないかと感じています。
10297/10291 BQO00549 konno BL1024*3 は危険、使用禁止に
( 1) 22/09/20 22:44 10292:konnoさんへのコメント コメント数:1
> まず、VTDOS MS-DOS Player DOSVAXJ3 での全てのVZで共通するのは
> EK- でも EK+ でも
> BL1024*3 の時 NG になり、ファイルが大きくなるということです。
> 今まで EK+ ならバグは出ないと思っていましたが、どうもこのエリアに地雷があるようです。
これをトレースすると、最初の #i ブロック挿入 でおかしくなっています。
ファイルオープン直後 ^QC ^QR をやっておけば、一見正常処理できたように見えます。
ところが、ファイルの比較で常に同じ所で文字化けします。全てのVZで同じ現象です。
0007.cgi ログNO.2418の行で 3781bytes ありますが
後半の「横流ししてもらえないかな」の途中で文字化けします。
3700bytes目の「ら」が
横流ししても82
えないかな
このように、$82 と $0a の改行になってしまうのです。
BL1024*3 は、3072 なので、この値が関係ありそうな気もします。
VZ1.57a も含むおそらく全てのVZで同じ現象になります。
さらに驚くことに、BL1024*3 にして、0007.cgi をオープンして
ログNO.2418の行を検索すると、上と同じように文字化けしていました。
VZ1.57a も含むおそらく全てのVZで同じ現象になります。
汚れていたのは、BL1024*3 だったのです。
BL1024*3 は使用禁止にするしかないですね。
これで使っている人はいないと思いますが。
ちなみに、PC98エミュでは同じ現象にはならないのですが、以下略。(^^;
10298/10291 CXB00940 としき Re: BL1024*3 は危険、使用禁止に
( 1) 22/09/20 23:28 10297:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
また新しい事実が見つかった感じ。
> BL1024*3 は使用禁止にするしかないですね。
ここで気になるのは、Bl2048のとき。
2048バイトを超える行において、2048バイト目が文字化けするのか否か。
10299/10291 BQO00549 konno Re^2: BL1024*3 は危険、使用禁止に
( 1) 22/09/21 02:33 10298:としきさんへのコメント
> ここで気になるのは、Bl2048のとき。
> 2048バイトを超える行において、2048バイト目が文字化けするのか否か。
BL1024*1 でも BL1024*2 でも問題は出ていないので、文字化けもないと思われます。
文字化け位置までのファイルサイズは 135114bytes
1024*16=16384 EMS 1ページ
16384*8=131072
135114-131072=4042
うーむ、関連は無いか。
恐らく何かの境界になっているのでしょうが、わからないですね。
10300/10222 BQO00549 konno MS-DOS Player 2022/9/20 の更新
( 1) 22/09/21 19:32 10222:konnoさんへのコメント
MS-DOS Player が 2022/9/20 に更新されていました。
実は今回の件で、作者の武田さんに同じ内容で質問メールしていたのです。
更新とともに返信メールも来ていました。
それで、今回更新された実行ファイルを試してみたんですが、変わらないようでした。
以下、メールの内容ともかぶりますが顛末を
> 2015/12/28の記事にある通り、
> 仮想マシンの起動時は、COMSPECの値はC:\COMMAND.COMになっています。
> 仮想マシン上のアプリがCOMMAND.COMにアクセスしようとすると、
> ホストマシン上の実際のCOMMAND.COMのパスにリダイレクトされます。
> 実際のCOMMAD.COMのパスは、ホスト環境の環境変数MSDOS_COMSPECで指定します。
> MSDOS_COMSPECが存在しない場合は、COMMAND.COMを、
> - 実行対象のアプリのあるディレクトリ
> - MS-DOS Playerの実行ファイルのあるディレクトリ
> - パスの通っているディレクトリ
> の順に検索して、最初に見つかったパスにリダイレクトされます。
この情報は今回見ていませんでした。
ちゃんと調べないまま質問してすみませんでした。
> ここまでは従来仕様ですが、仮想マシン上でCOMSPECの値が変更された場合、
> 上記のパスでなく、COMSPECで指定したパスにリダイレクトするようにしました。
> これで解決していないかご確認お願いいたします。
試してみましたが変わっていないように見えます。
今回環境変数MSDOS_COMSPECも指定してみましたが、あまりかわらないようです。
MSDOS.EXE と同じところに置いて指定して見ましたが VZ常駐起動はしないようです。
この辺の仕組が私はわかってないので FreeCOM との違いを調べて勉強してみます。
対応いただきありがとうございました。
ところで別件ですが、MS-DOS Player では Turbo Link でエラーが出るようです。
Turbo Link Version 2.0 Copyright (c) 1987, 1988 Borland International
msdos error, ax= 0006h
VTDOSやDOSVAXJ3 では動いているようです。
私にはなにもわからないですが、もしかして Ver が古いせいですかね。
何かの参考になれば幸いです。
10301/10177 BQO00549 konno VTDOSで command /c 実行出来ない?
( 1) 22/09/25 18:00 10177:konnoさんへのコメント コメント数:1
最近 VZ1.57 のアセンブルをする機会があり、VTDOS で MK.BAT を実行したら
VTDOS1.53
C:\VZ\VZ16\VZ157\SRC>mk ibmj
ロケーションテーブルが不良です. ドライブ 5D58:
File allocation taGラーです.
Memory allocation error\
COMMAND を読み込めません. システムは停止しました.
Cannot load COMMAND, system halted
こんなメッセージが出て VTDOSが停止してしまいました。
VTDOS1.22 でも試してみましたが、同じメッセージで止まります。
VTDOS1.21 では
Cannot load COMMAND, system halted
8(0002) 9B7D:48DF '無効命令 00'
8(0002) 9B7D:48DF '致命的エラー: アクセス違反 0x02380000 0x004140D5'
VTDOSを終了します。
こんなメッセージだったかな。
最近 MSDOS player を更新して システムの環境変数に
MSDOS_COMSPEC=C:\UT\COMMAND.COM
これを追加しましたが、関係ないですよね。
調べてみると、MK.BAT の中の
command /c ac %1
ここで落ちているようです。コマンドラインで、
command /c VMAP
などとやっても同じメッセージが出て落ちました。
VTDOS で MK.BAT を実行しても落ちない時もあったようなのでわけわかです。
うーん、Windows の他のタスクが干渉しているのかなぁ。
もう少し調べてみます。
10302/10177 BQO00549 konno command.comは実行ファイルのPATHに置いたら駄目
( 1) 22/09/25 20:54 10301:konnoさんへのコメント
そういえば、非常駐VZ のコマンドラインで [Enter] で COMMAND.COM を呼び出せたよなぁ
と思ってやってみたら
Microsoft(R) MS-DOS(R) Version 6.20
(C)Copyright Microsoft Corp 1981-1993.
こういう表示が出ます。VZは正常に動いているようです。
ここで、さらに command.com を呼び出してみようとしました。
VTDOS|C:\VZ>command vmap
COMMAND.COMのパスは絶対パスで与えられなければなりません.
つまり, ドライブ文字とそれに続く \ から始める必要があります.
例: C:\FDOS
COMMAND.COMは現在以下のパスを想定しています.
C:\VZ\VMAP
ファイル 'C:\VZ\VMAP' を開くことができません.
FreeCom version 0.82 pl 3 [Mar 13 2013 16:40:42]
こうなりました。あれれれ?
このメッセージは、FreeCom の command.com が出しているんですよね?
そういえば MS-DOS Player の更新時に、実行ファイルのPATHに変更していました。
#10300 で書きましたが
> MSDOS.EXE と同じところに置いて指定して見ましたが VZ常駐起動はしないようです。
よく考えたら、command.com も実行ファイルの一つでしたね。
私は command.com を色々切り替えてテストすることが多いので、実行ファイルのPATHに置いたら駄目ですね。
今回の現象は、私のポカミスが原因だったようです。
お騒がせして申し訳ありませんでした。m(__)m
10303/10291 BQO00549 konno VZ1.6のバグ修正版検証中
( 1) 22/09/28 21:26 10291:konnoさんへのコメント
c.mosさんが1.6でルーチンを追加したからには何か意味があるはずです。
結果的にバグが出たのはルーチンが不完全だったのかも。
私にはまったくわからないですが、ADD 命令でオーバーフローの可能性は考えられます。
その対策の追加ルーチンだとしたら、違和感を感じますね。
普通は ADC とか、JC で分岐させるのにそれをしない理由はわかりませんが
とりあえず JNC 追加で1.6のルーチンを復活させてみました。
Vn のマーカーも入れましたが、NGファイルのテストでも Vn に引っ掛かりません。
なので、オーバーフローしたらマクロトレース状態で止まるルーチンも追加しました。
seekb_x:
pushf
add ax,[bp].ttop ; ##1.57
jnc seekb_9 ;##k 220923 Bl8192対策?
add byte ptr [bp].atrtxt1,1 ;★;; オーバーフローなら Vn1+
cmp ax,[bp].tend ;##1.6 ttopとtendアドレスを比較
_if ae ; ttopが上だったら
mov ax,[bp].tend ; ax(ttop)にtendを代入
dec ax ; アドレスを一つずらす
add byte ptr [bp].atrtxt1,10 ;★;; 1.6の修正ルーチン実行で Vn10+
_endif ;
push ax ;★トレースONルーチン
mov al,1 ;
xchg cs:stopf,al ;トレースモードに
pop ax ;
seekb_9: ;
popf
call qclose
popm <di,si,cx,bx>
ret
seektext endp
この状態でVZを普通に使ってみて様子をみています。
今のところ引っ掛かりませんがね。
ちなみに、このルーチンを公開版 VZk07t01 に追加すると常駐で動かないの。(;_;)
私の私家版常用環境では動くのに。(^^;
やれやれ、どうしたものか。
10304/10304 CRG00666 文太 おめでとうございます
( 1) 22/09/29 13:05 コメント数:1
ご存知のとおり、僕はDOSエミュレータ系とは遠いところに、主に生存して
おります。
それでも、各種プラットフォームへのVz適応のために konnoさんがご尽力
くださっているのには、日々感謝しております。
いちおう真面目なつもりなので、堅苦しい言葉にての感謝のしるしでした。m(__)m
さて。
こんな会話があったんですよ。
-------------------------------------------------------------------------
08/10/05 00:50 Siさん掲示板 #00111 「LOGSORTW ver1.25.3」
Siさん wrote:
>10年先に Windows があるかどうか ^^;
08/10/06 01:17 Siさん掲示板 #00116 「Re:LOGSORTW ver1.25.3」
konnoさん wrote:
>計算上は10年後に12000件という話もあるようですが、私の予想では5年後には
>VZの話題がほぼ無くなると思ってますので、掲示板が残っていたとしても、
>10000件はいかないだろうと。
>OSは変わる可能性大ですが、一応10年先まではサイトを維持したいですね。
-------------------------------------------------------------------------
このときから14年の時間が流れ……。
「10年後に12000件」には行かなかったのかな、とは思いますが、
2022年9月29日。10300以上の発言(投稿)があり、いちおう、VzもVzの
話題も、まだ生きているようです。ありがとうございます。
サイト、維持してくださいね!
OSは、たしかに、ガンガン、変わり続けてますね。ITのまともな進化
なのかなぁ? 資本主義に振り回されているだけみたいな気がする……。
「それが進歩ということなのだよ」
「はいぃぃぃm(__)m」
個人的には、Win7あたりから気にしなくなってしまいました。必要があって
新しいマシンを買ったら(ZoomとかWeb cameraとか)、新しいOSになっていた、
あぁ、やだやだ、なだけですね。「コントロールパネル」とか「設定」とか
「マイコンピュータ」とか「PC」とか、いちいち変えるの止めてくれない?
10305/10304 BQO00549 konno Re: おめでとうございます
( 1) 22/09/30 02:44 10304:文太さんへのコメント コメント数:1
えーと、タイトルの意味がよくわからないですが、一万件突破記念ということでいいですか。(^^;
VZ1.6の修正版のほうは苦戦しています。(>_<)
トレースを咬ませると直ぐにおかしくなるみたいで、路線変更中です。(^^;;
> 08/10/06 01:17 Siさん掲示板 #00116 「Re:LOGSORTW ver1.25.3」
> konnoさん wrote:
>
> >計算上は10年後に12000件という話もあるようですが、私の予想では5年後には
> >VZの話題がほぼ無くなると思ってますので、掲示板が残っていたとしても、
> >10000件はいかないだろうと。
> >OSは変わる可能性大ですが、一応10年先まではサイトを維持したいですね。
あう、Siさんのところでこんなことを言っていたのですね。
すっかり忘れていましたが、懐かしくてつい読んでしまいました。(^^;
> このときから14年の時間が流れ……。
> 「10年後に12000件」には行かなかったのかな、とは思いますが、
> 2022年9月29日。10300以上の発言(投稿)があり、いちおう、VzもVzの
> 話題も、まだ生きているようです。ありがとうございます。
LOGSORTWの件で要望を書き込んでいたのですが
> 3千発言で役3メガほどになるので、ファイルサイズにも限界があるかと
> 思いますが、どうせなら1万発言程度までできたらうれしいです。
> うちの掲示板があと10年続いたとしてもそこまではいかないと思います
> ので。(^^;
こんな要望を叶えてもらったんでしたね。
そして、遂に1万件を突破してしまったと。(^^;
なんだか誘導されているような気もしますが気のせいか。
> サイト、維持してくださいね!
今の調子ならあと5年は行けそうですね。
その先はどうなるかわかりませんが。(^^;
> あぁ、やだやだ、なだけですね。「コントロールパネル」とか「設定」とか
> 「マイコンピュータ」とか「PC」とか、いちいち変えるの止めてくれない?
そういえば、「コントロールパネル」が「設定」に変わりましたが
「コントロールパネル」はまだありますね。
スタートメニューのアプリの一覧の「Windows システムツール」タブに有りますが
私はスタートメニューのアイコンに入れています。CMD.EXE もね。
10306/10304 CRG00666 文太 Re^2: おめでとうございます
( 1) 22/10/01 01:25 10305:konnoさんへのコメント コメント数:1
konnoさん
>えーと、タイトルの意味がよくわからないですが、一万件突破記念ということで
>いいですか。(^^;
はい、それでいいです。わりと何となくそういう方向に話がいっただけでなんです、
ごめんなさい。
かいつまんで経緯を。
何かの偶然で、ローカルにあったSiさん掲示板のログをみたのです。うーん、
テキスト処理系で、その場で気になったことを自分で調べて結果を報告するという
スタイルなので、Siさんのところにあれを書いたかなぁ、みたく。
そうしたら、konnoさんが、あのようなことを書かれていて。
でも(大昔のkonnoさんに向かって、ほぼタイムマシン)、将来の我々、ちゃんと
Vzしてるみたいですよ、とか伝えたくなった、というわけです。
で、ふと調べたら、偶然、おお、1万件突破してるじゃないですか! となっていた。
いつもいつもお世話になっています。そして、konnoさんのちゃらんぽらんとも言える
姿勢が、僕にゆとりと余裕を、いつも感じさせてくれています。
ほんと、いいですよ、これ、konnoさん。失礼、ごめんなさい。
あと(最低)5年は、がんばりましょう!
10307/10304 BQO00549 konno Re^3: おめでとうございます
( 1) 22/10/01 22:02 10306:文太さんへのコメント コメント数:1
> そして、konnoさんのちゃらんぽらんとも言える
> 姿勢が、僕にゆとりと余裕を、いつも感じさせてくれています。
うう、(^^;;
#「認めたくないものだな、自分自身のばかさゆえの過ちというものを」
通常の3倍のスピードで書きこんでやるう!
10308/10304 CRG00666 文太 Re^4: おめでとうございます
( 1) 22/10/02 00:45 10307:konnoさんへのコメント コメント数:1
konnoさん
>うう、(^^;;
あはははは。
僕は掲示板の裏の.cgiのこととか(スタイルシート?)は、ユーザとして気になった
ことがありません。(「引用なし」は、いまでも、ものすごく好きです!)
でも、1点だけ。別に要望ではないですが。
konnoさんのVz改良の歴史、もうちょっと見やすくまとめられると思います。
ほら、前回、僕は、マクロキーの拡張で整理したじゃないですか。もちろん、整理は
完全に自分のためだったのですが。
でも、自分の使っている版にその拡張が反映されているのか、そうではないのかは
試してみるまで分からなかった。ベースがDanny版か高橋版かを分けるのは流れからいって必要
だったのだろうと思います。でも、ユーザからしたら、そのルーチン(拡張)、こっちには
入っているのですか? となります。
僭越ですが、konnoさんは、ちゃんと全部、把握してますか? Danny版のマクロ・ライブラリー
支援が途中で(サイズが理由で)落とされたのは、記憶されているでしょうが、それ以外のもっと
小さな点は?
VTDOS対応版とかねぇ。一本化して(なってるんでしょうけど)、過去をひっくるめて、
この最新版では、これだけのものが全部入ってる、とドキュメント化するか、サイトのところで
きっちり書くか。
文句でも不満でもないです。このご時世ですから、自分で調べろ、です。
でも、konnoさん自身のため、身の回りの整理は(とりわけ他者から見られてしまう部分は)
もうちょっとできるんじゃないかなぁ、とか思いました。
ごめんなさいね、ユーザが作者さまに、もうえらそーに。
でも分かりますよ、過去の整理より、楽しい未来。こっちで遊びたいですからね。
ま、スルーしてください。
>#「認めたくないものだな、自分自身のばかさゆえの過ちというものを」
これは何からの引用でしょうか? 悪くないですね、はい、そんなものでしょう。
追伸:shadowさん、本当によかったですね! ドンピシャ。
でも、僕は、1.5にとりわけ熱くなってはいません。偶然です。m(__)m
1.6は、ほんとすげえな、なんて今頃、感動しているので。
konnoさんのような研究レベルになれるのは、いつのことやら……。
追伸2:ちょっと過去ログをグレップしたら、モバギの京kyoさんが、高橋・えむしモバ
対応パッチの文脈で、「え!? Vzにまだバグが残っているんですか!」と驚かれていました。
あはははは。あるんです。
さすがの高橋さんだって、バグを見つけることは容易ではなかった。その場面(その条件)に
会わなかったら、分からないですからね。
10309/10304 BQO00549 konno Re^5: おめでとうございます
( 1) 22/10/02 01:55 10308:文太さんへのコメント コメント数:2
> konnoさんのVz改良の歴史、もうちょっと見やすくまとめられると思います。
> ほら、前回、僕は、マクロキーの拡張で整理したじゃないですか。もちろん、整理は
> 完全に自分のためだったのですが。
> でも、自分の使っている版にその拡張が反映されているのか、そうではないのかは
> 試してみるまで分からなかった。ベースがDanny版か高橋版かを分けるのは流れからいって必要
> だったのだろうと思います。でも、ユーザからしたら、そのルーチン(拡張)、こっちには
> 入っているのですか? となります。
すみません、ドキュメントは真っ先にやるべきことでしたね。
はっきり言うと過去の私が何をやっていたのかもう覚えていなかったりで。
気が付いたらめざらさんが詳細にまとめられていたりして。m(__)m
申し訳ないです。m(__)m
> でも、konnoさん自身のため、身の回りの整理は(とりわけ他者から見られてしまう部分は)
> もうちょっとできるんじゃないかなぁ、とか思いました。
そうですね、ある程度身辺整理はしておかないとですね。
> でも分かりますよ、過去の整理より、楽しい未来。こっちで遊びたいですからね。
足りないところ、至らないところは少しづつでも直していこうと思っています。
> >#「認めたくないものだな、自分自身のばかさゆえの過ちというものを」
> これは何からの引用でしょうか? 悪くないですね、はい、そんなものでしょう。
文太さんはアニメ見ないんでしたね。赤い彗星のシャー、というアニメキャラの名セリフなのです。
としきさんには通じていると思いますが。(^^;
> 追伸:shadowさん、本当によかったですね! ドンピシャ。
shadowさんにはいつも助けられています。まるで影の守護神?
とにかく皆様に感謝です。
10310/10304 CRG00666 文太 Re^6: おめでとうございます
( 1) 22/10/03 16:56 10309:konnoさんへのコメント コメント数:1
>>でも、konnoさん自身のため、身の回りの整理は(とりわけ他者から見られてしまう部分は)
>>もうちょっとできるんじゃないかなぁ、とか思いました。
>そうですね、ある程度身辺整理はしておかないとですね。
どうか、頑張られてくださいね。
しつこいかもしれないけれど。
誰かのためというより、ほんとkonnoさん自身のためだと思う。あれらの作品群と歴史、誰に
とって一番大きな財産かといったら、konnoさんの生き様そのものなわけですから、konnoさんの
財産です。
ほんとにそう思う。いただくべきものは、もうちゃっかり頂いちゃってるから、というのも
ありますが。
いえ、頂くべきものは、"next one"(次作)でしょう!
バグ取りって、超地味ですが。
久しぶりに、SVC(Stationでしたね、たしか)のログを読んだら、相変わらずワクドキ
しちゃった。やっぱり、m.gannさんとか榊原さんとかAiming Offさんとか、レベルが高い!
10311/10304 BQO00549 konno Re^7: おめでとうございます
( 1) 22/10/04 02:08 10310:文太さんへのコメント
> いえ、頂くべきものは、"next one"(次作)でしょう!
次作はあるかどうか・・・・ 私にバグ取りのスキルは無いし、
もう完全に趣味と老化防止のためにやっているようなものなので。(^^;
10312/10312 BQO00549 konno VZ1.57 → VZ1.57a の差分の実行はややこしい
( 1) 22/10/04 02:10 コメント数:2
私の VZ1.5 は、1.57a だと思っていたら、1.57 でした。なんてこったい。(;_;)
それで、野ざらし言#5071 で VZ1.57 → VZ1.57a の差分が欲しいと言ってみたら
shadowさんから VZ1.57 → VZ1.57a の差分を頂いたので実行してみました。
結果的には 1.57a に出来たのですが、色々紆余曲折がありました。
VTDOS や MSDOS player や DOSVAXJ3 で実行すると 日付が今の時間になってしまいます。
これらのエミュレータではシステムの制限なのか、DOSの日付操作が効かないようです。
そこで、WinMEのDOS窓でやり直したら、キチンと日付が設定されました。
差分実行手順も複雑なので、Win10(32ビット版)のDOS窓でもう一度やり直してみました。
どうやら DOS窓では日付設定は効いているようです。
それでは手順を追ってみます。
頂いた VZ157A.LZH の中身は
VZ157A DOC 3007 02-20-92 1:57a
VZAX BDF 6641 02-20-92 1:57a
VZDOSV BDF 13824 02-20-92 1:57a
VZJ31 BDF 13233 02-20-92 1:57a
VZSRC BDF 13578 02-20-92 1:57a
VZUS BDF 6478 02-20-92 1:57a
↑
(Win10 のDos窓非常駐VZ で DIR すると上の所が a/p になります。am/pm か)
まず AX という新規フォルダを作って VZIBM のフォルダの内容をコピーします。
上の 差分ファイルもコピーします。VZ実行ファイルは
VZIBM COM 46226 01-08-92 1:57a
この日付とサイズであることを確認しておきます。
同様に DOSV フォルダを作って AX フォルダと同じようにコピーします。
ファイラーで AX フォルダをカレントにして VZAX.BDF を Enter すると、
設定されていれば bupdate -v VZAX.BDF を実行します。-v は 展開予定の表示です。
bupdate -v VZAX.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
File Name Date Time Source Size Revision Size of BDF
-------------- -------- -------- -------------- -------- -----------
vzibm.com 92/01/08 01:57:04 46226bytes --------
-> 92/02/20 01:57:06 46262bytes -------- 6641bytes
実行前の日付とサイズが合っていることを確認したら -o オプションにして実行します。
bupdate -o VZAX.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
vzibm.com -> new vzibm.com
100% done
new vzibm.com created
これで、VZAX.COMが出来ました。
VZIBM COM 46226 01-08-92 1:57a
↓
VZIBM COM 46262 02-20-92 1:57a
次に DOSV フォルダをカレントにして AX フォルダと同じように VZDOSV.BDF を Enter します。
bupdate -v VZDOSV.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
File Name Date Time Source Size Revision Size of BDF
-------------- -------- -------- -------------- -------- -----------
vzibm.com 92/01/08 01:57:04 47012bytes --------
-> 92/02/20 01:57:06 47062bytes -------- 6900bytes
vzibmj.com 92/01/08 01:57:04 47276bytes --------
-> 92/02/20 01:57:06 47326bytes -------- 6924bytes
あれえ? 実行前のファイルの日付とサイズが合っていない!
ソースの更新は、VZSRC.BDF で出来たので、アセンブルして同じサイズの実行ファイルは出来ました。
だけど、製品版と全く同じではないので、何とかならないかと思ったら
VZ1.57 のフォルダの中に、こんなものがありました。
UPDATEV BAT 472 07-09-08 11:12a
UPDATEV DOC 1807 05-07-92 1:57a
VZIBM BDF 10950 05-07-92 1:57a
VZIBMDEF BDF 4082 05-07-92 1:57a
VZIBMJ BDF 7385 05-07-92 1:57a
これは一度試してうまくいかないと思って放置していたものです。
UPDATEV.DOC を見てみると
-----------------------------------------------
この圧縮ファイルには、VZエディタ Ver1.57a(92-2-20:AX版)からDOS/V版
を作成するための差分ファイルが含まれています。
※ DOS/V版のみお持ちの方は、アップデートできません。
※ DOS/V製品版に含まれるPS/55版、US版は、アップデートできません。
■ アップデートの方法
圧縮ファイルを解凍したカレントディレクトリへ、Ver1.57aの「IBM」ディレクトリ
の全ファイルをコピーしてください。
「updatev<リターン>」で、カレントディレクトリに以下のDOS/V版を作成します。
VZ BAT 691 91-12-16 1:57
DOSV DOC 24809 92-02-20 1:57
VZIBM COM 47062 92-02-20 1:57
VZIBM DEF 11950 92-01-08 1:57
VZIBMJ COM 47326 92-02-20 1:57
VZIBMJ DEF 13663 92-01-08 1:57
VZSEL COM 210 92-01-08 1:57
PALET DEF 621 91-06-01 1:56
※ DOSV.DOCは、DOS/V製品版に含まれるREADE.DOCファイルです。
-----------------------------------------------
こ、これは・・・
もしかして、差分を当てた VZAX版 を対象にした差分なのか?
bupdate -v VZIBM.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
File Name Date Time Source Size Revision Size of BDF
-------------- -------- -------- -------------- -------- -----------
vzibm.com 92/02/20 01:57:06 46262bytes --------
-> 92/02/20 01:57:06 47062bytes -------- 10950bytes
おお、さっき作った VZAX版で合っていそう。
VZIBM COM 46262 02-20-92 1:57a
さらに
bupdate -v VZIBMJ.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
File Name Date Time Source Size Revision Size of BDF
-------------- -------- -------- -------------- -------- -----------
vzibmj.com 92/02/20 01:57:06 47062bytes --------
-> 92/02/20 01:57:06 47326bytes -------- 7385bytes
おお、これは BAT で一連の実行ファイルを作成できそうです。
ついでに
bupdate -v VZIBMDEF.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
File Name Date Time Source Size Revision Size of BDF
-------------- -------- -------- -------------- -------- -----------
vzibm.def 92/01/08 01:57:04 11764bytes --------
-> 92/01/08 01:57:04 11950bytes -------- 2248bytes
vzibmj.def 92/02/20 01:57:06 13675bytes --------
-> 92/01/08 01:57:04 13663bytes -------- 1834bytes
これで作れると確信して、UPDATEV.BAT を実行
VZAX DEF 13675 01-08-92 1:57a
VZIBM COM 46262 02-20-92 1:57a
VZIBM DEF 11764 01-08-92 1:57a
VZIBM COM 47062 02-20-92 1:57a
VZIBM DEF 11950 01-08-92 1:57a
VZIBMJ COM 47326 02-20-92 1:57a
VZIBMJ DEF 13675 01-08-92 1:57a
これらのファイルが無事出来ました。
やれやれ。
10313/10312 CRG00666 文太 Re: VZ1.57 → VZ1.57a の差分の実行はややこしい
( 1) 22/10/04 08:42 10312:konnoさんへのコメント コメント数:1
konnoさん
>VTDOS や MSDOS player や DOSVAXJ3 で実行すると 日付が今の時間になってしまいます。
>これらのエミュレータではシステムの制限なのか、DOSの日付操作が効かないようです。
>そこで、WinMEのDOS窓でやり直したら、キチンと日付が設定されました。
お疲れ様です。けっこう大変そうですね。
上の件ですが、大いに参考になりました。あれ? なんで? と思ったことが何度か
あって、そういうものだっけ? 違和感あるけどなぁ、とおぼろげに思っていました。
うん、やっぱりそうか。何の作業でそう感じたのかは思い出せませんが(何度かあった)、
わざわざ別の環境で試してみることをしようとは思わなかったので(疑いが弱い)、
なるほど、と納得しました。多謝です。
10314/10312 BQO00549 konno エミュレータでは DOSの日付操作が効かない?
( 1) 22/10/04 21:09 10313:文太さんへのコメント コメント数:2
> >VTDOS や MSDOS player や DOSVAXJ3 で実行すると 日付が今の時間になってしまいます。
> >これらのエミュレータではシステムの制限なのか、DOSの日付操作が効かないようです。
和生さんのファイラーマクロ touch_w.def でも駄目なようです。
関連のシステムコールが対応していない、実装していない可能性もありますね。
としたら、手立てはあるのかどうか。
NP2、NP21、NP2NT で TOUCH.EXE を試したらキチンと動作しました。
実装の問題なのでしょうか? 何が違うのでしょうね。
10315/10312 CRG00666 文太 Re: エミュレータでは DOSの日付操作が効かない?
( 1) 22/10/04 23:09 10314:konnoさんへのコメント
konnoさん、ありがとうございます。
わざわざ書いてくださって。
>VTDOS や MSDOS player や DOSVAXJ3
>和生さんのファイラーマクロ touch_w.def でも駄目なようです。
はあ? ダメなんですか、代表的なエミュレータが。うーん、ちょっと誰かには
エミュレータを進化させて欲しいと少し思う。
でも、エミュレータの下のWin APIみたいなのが邪魔してるのかなぁ、とか空想。
だって3つもだもの。
>関連のシステムコールが対応していない、実装していない可能性もありますね。
>としたら、手立てはあるのかどうか。
タイムスタンプだから、それほどシステムの根っこの根っこでもないのじゃないの?
とか思ってしまう。もちろん、クロックというか時間管理がPCの基本なのは想像
できますが。ファイルのタイムスタンプの管理だよ〜ん。
>NP2、NP21、NP2NT で TOUCH.EXE を試したらキチンと動作しました。
>実装の問題なのでしょうか? 何が違うのでしょうね。
逃げる手はあると。でも、これら、NEC98エミュレータですよね。PC, AX用Vzの
アップデートもこちらでできるわけですか?
うん、これは僕の想像をこえている。NEC98で、DOS/V用Vzをアップデートする……。
あ、でも、できますね、僕はNEC98で、高橋版にアップデートしていたもの。DOS/V
用Vz。当時は両方使っていました。DOS 6.2V(純DOS)マシンがありました。Win95
を走らせたら、腹が立った。起動に何分かかってんだよ、と。失敗してDOS機に戻し
ました。
10316/10312 BQO00549 konno VZ天国のFDと差分ファイル発見
( 1) 22/10/05 00:19 10312:konnoさんへのコメント コメント数:1
野ざらし言#5085 での発言ですが
> MIXかNIFの過去ログを検索したら「VZ天国」に差分が付いていたそうです。
> 腐海の入り口近くに「VZ天国」を見つけました。
> 5インチフロッピーは当時使えていたのでそこから差分を当てたと思います。
> でもその当時のものは引っ越しなどで大半失われているんですよね。
> コピーした3.5FDがもしあったとしても読めなくなっているだろうなぁ。
VZ天国の巻末を読むと、3.5FD が2枚付いていると書かれていました。
もしかしたらその時のFDが残っているかも! と思い急遽第参事難局探検隊結成!
腐海にダイブして探すこと数分、VZ天国の FD2 を発見しました!!
この日のために USBFDD を3台(計648\)買ってあるもんね。(^^;
もう30年経つのに、ちゃんと読めました。
さて、VZ というフォルダにVZ1.57aの差分ファイルがありました。
中身は以下の通り
PRINTF .ASM 706 91-12-16 1:57
VMAP .ASM 21552 91-12-16 2:01
VZSEL .ASM 1697 92-01-08 1:57
UPDATE .BAT 1479 92-05-07 1:57
UPDATEA .BAT 801 92-05-07 1:57
VZ .BDF 23862 92-05-07 1:57
VZAX .BDF 9751 92-05-07 1:57
VZAXA .BDF 8412 92-05-07 1:57
VZAXDEF .BDF 10884 92-05-07 1:57
VZDEF .BDF 18660 92-05-07 1:57
VZJ31 .BDF 10613 92-05-07 1:57
VZJ31A .BDF 13233 92-05-07 1:57
VZJ31DEF.BDF 5276 92-05-07 1:57
VZJ31L .BDF 10193 92-05-07 1:57
VZL .BDF 10323 92-05-07 1:57
VZSRC .BDF 110520 92-05-07 1:57
VZSRCA .BDF 13578 92-05-07 1:57
FROLL .COM 1429 92-01-08 1:01
VZSEL .COM 210 92-01-08 1:57
MOREMAC .DEF 842 92-01-08 1:57
MOREMAC .DOC 3393 92-01-08 1:57
UPDATE .DOC 7087 92-05-07 1:57
VZ157 .DOC 15588 92-05-07 1:57
BLOCK .INC 1460 91-12-16 1:57
SPRINTF .INC 4127 91-12-16 1:57
手持ちの BDF ファイルはここから持ってきていたようです。
update.doc を見ると
> この圧縮ファイルには、VZエディタ Ver1.56 または Ver1.57 のマスターディスク
> を、Ver1.57a にアップデートするためのファイルが含まれています。
こう書かれています。
つまり、これらの BDF があれば、1.56以上から 1.57a にVerUP出来るということです。
VZのパワーユーザならVZ天国を持っているでしょうが、希望があればメールで送りますよ。
最初 VZの部屋にUPしようかと思いましたが、さすがに公開は不味いかと思い直しました。
FD2 は見つけたけど FD1 は見つからない。(;_;)
10317/10312 CXB00940 としき Re: エミュレータでは DOSの日付操作が効かない?
( 1) 22/10/05 16:49 10314:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> NP2、NP21、NP2NT で TOUCH.EXE を試したらキチンと動作しました。
> 実装の問題なのでしょうか? 何が違うのでしょうね。
ソーサーとかあれば使っているファンクションコールが違うとかわかるかも。
あるいは、ファンクションコールは同じでも、設定とかクリアとかしておく必要
のあるレジスタの問題がある、とか。
10318/10312 BQO00549 konno Re^2: エミュレータでは DOSの日付操作が効かない?
( 1) 22/10/05 23:54 10317:としきさんへのコメント
> ソーサーとかあれば使っているファンクションコールが違うとかわかるかも。
なるほど、ファンクションコールなら、マクロで調べられそうですね。
今ログよ^H 色々立て込んでいるので、直ぐには調べられないですが、やってみます。
> あるいは、ファンクションコールは同じでも、設定とかクリアとかしておく必要
> のあるレジスタの問題がある、とか。
もしかしたら、Windows64の更新でおかしくなってしまったとかの可能性も。
まずはマクロで調べてみます。
10319/10312 CRG00666 文太 Re: VZ天国のFDと差分ファイル発見
( 1) 22/10/06 00:59 10316:konnoさんへのコメント コメント数:1
konnoさん
その差分ファイルたちをお送りいただけますでしょうか。
あるはずなのですが、腐海2の「オリジナルFD」箱がどこにあるのか分かる
のに1か月とかかかりそうで、見つかっても、中が生きている保証がありません。
『天国』『続天国』は、わりとすぐに見つかったのですが、FDは別の場所の
ようです。
僕のメアド、分かりますか?
10320/10312 BQO00549 konno Re^2: VZ天国のFDと差分ファイル発見
( 1) 22/10/06 01:54 10319:文太さんへのコメント コメント数:2
文太さん
> その差分ファイルたちをお送りいただけますでしょうか。
VZ1.57aとDOSV版の差分をメールで送りました。
DOSV版は別で最後に当てる必要がありそうです。
> あるはずなのですが、腐海2の「オリジナルFD」箱がどこにあるのか分かる
> のに1か月とかかかりそうで、見つかっても、中が生きている保証がありません。
30年物のFDは読めたらラッキーですものね。
> 僕のメアド、分かりますか?
もし届いていなかったらメールください。
10321/10312 CRG00666 文太 Re^3: VZ天国のFDと差分ファイル発見
( 1) 22/10/06 15:07 10320:konnoさんへのコメント
konnoさん
ありがとうございます!
届いています。vzdosv.lzh, vz157.lzh。
差分を当てるのは、純DOS機でやりましょう。
タイムスタンプが変わらない(正しく変わる)のを確認します。できたら、今晩。
へろへろのパーの文太でした。
10322/10291 BQO00549 konno Bl3072 の大穴が塞がったかも
( 1) 22/10/11 21:59 10291:konnoさんへのコメント コメント数:1
Bl3072 では 3700bytes を超えるところで改行が入っていました。
ソースに改行を挿入するところがあるはずだと当たりをつけて
「,LF」で検索すると、それらしいところが TEXT.ASM にありました。
fread proc
中略 410行目
cmp si,di
jne read3
mov byte ptr [si-1],LF
_break
read3: cmp byte ptr [si-1],LF
_until e
clz
ret
read9: stz
read_x: ret
ここの
mov byte ptr [si-1],LF
があやしいと思い、色々試したところ
cmp si,di
jne read3
stc ;★##k 221011 キャリーをセット
jmps read9x ;★ ゼロフラグをクリアしてリターン
; mov byte ptr [si-1],LF ;★ Bl3072 の時 3700bytesで強制改行(実行しない)
_break
read3: cmp byte ptr [si-1],LF
_until e
read9x: clz ;★ ゼロフラグをクリアしてリターン
ret
read9: stz
read_x: ret
このように変更したら、Bl3072 で改行文字化けが無くなりました。
大穴と思っていたところが塞がったのです。
もちろんこの変更で他の所に穴が開いた可能性もあります。
しばらく Bl3072 で運用してみようと思います。
あと、CORE.ASM の 276行目
endlin proc
pushm <cx,di,es>
movseg es,ds
mov di,si
; mov cx,-1 ;★ VTDOS でラップアラウンドエラーの原因?
mov cx,3000h ;★##k 221009 ラインバッファ+アルファ
mov al,LF
repne scasb
このようにしたら、Bl3072 で起きていた VTDOS でのラップアラウンドエラーが無くなりました。
ここが原因だったのでしょうか?
これで Bl8192 と Bl3072 の蟲の居所がわかりましたが
まだ他にもポインタズレという蟲が残っているようです。
0007.CGI (170335bytes) を後ろから削っていって
66882bytes にしたテストファイル
66882.CGI (66882bytes) に
0007.CG (132553bytes) を挿入するテストでは
ポインタズレによる行の入れ替えが起こっています。
今回の修正で、他のVZよりは改善したようですが。
# 深淵の大穴は無限に続くのか?
10323/10291 BQO00549 konno Re: Bl3072 の大穴が塞がったかも
( 1) 22/10/12 22:17 10322:konnoさんへのコメント コメント数:1
間違った情報を揚げてしまいました。m(__)m
> これで Bl8192 と Bl3072 の蟲の居所がわかりましたが
> まだ他にもポインタズレという蟲が残っているようです。
>
> 0007.CGI (170335bytes) を後ろから削っていって
> 66882bytes にしたテストファイル
> 66882.CGI (66882bytes) に
> 0007.CG (132553bytes) を挿入するテストでは
> ポインタズレによる行の入れ替えが起こっています。
このテストファイル、作成時点で間違えて行が入れ替わっていました。(>_<)
ズレて蟲が湧いていたのは私の頭でした。(;_;)
このテストファイルのことは忘れてください。m(__)m
結論を言うと、ポインタズレも無くなっていました。
[ESC]i 関連のバグは全て無くなったように見えます。
> あと、CORE.ASM の 276行目
>
> endlin proc
> pushm <cx,di,es>
> movseg es,ds
> mov di,si
> ; mov cx,-1 ;★ VTDOS でラップアラウンドエラーの原因?
> mov cx,3000h ;★##k 221009 ラインバッファ+アルファ
> mov al,LF
> repne scasb
>
> このようにしたら、Bl3072 で起きていた VTDOS でのラップアラウンドエラーが無くなりました。
このルーチンも元に戻しても問題無くなりました。
バグのせいでエラーになっていたようです。(VTDOSのチェック凄い!)
他の環境ではたまたま問題が顕在化しなかったのかもしれませんね。
このルーチンは他からも呼ばれているので、3000h とかは危ないかもしれません。
ということで、あとは運用試験で問題が出ないか様子を見るだけとなりました。
# このまま問題が出ませんように(祈)
10324/10291 CXB00940 としき Re^2: Bl3072 の大穴が塞がったかも
( 1) 22/10/13 13:25 10323:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> [ESC]i 関連のバグは全て無くなったように見えます。
これは期待できます。
次はテストバージョンのリリースですね。高橋さんやDANNYさんのように。
ところで、今回の書き換えで、実行ファイルのサイズは増えるんですよね?
いや、もしファイルサイズが変わらないとか減るとかいうのであれば、それこそ
バイナリエディタなりを使って、製品版Vzに手作業でパッチを当てることもできる
な、と妄想したもので。
10325/10304 CRG00666 文太 シャーとか
( 1) 22/10/13 13:51 10309:konnoさんへのコメント コメント数:2
----- wiki からの引用です -----
『機動戦士ガンダム』(宇宙世紀)シリーズ
宇宙世紀(Universal Century, 略はU.C.)を舞台にした作品。
1970年代
機動戦士ガンダム
テレビシリーズ 富野喜幸 【全43話】 1979年?1980年
映画 「機動戦士ガンダム」 富野喜幸 1981年
(以下、永遠に続く。スクロールが終わらない……)
-------------------------------
まいりました。『ガンダム』って、日本のアニメ(?)史に残る超有名、
超長大作品だったんですね。
バンダイは(角川も?)、これで食ってきたのか。『地球少女 アルジュナ』
ってのを「環境」の時間に見せました。「いやぁ、バンダイの番組で、これ、
ほんとにTV放送されたんだよ。こんな内容、小学生、中学生に分かるわけないよねぇ。
『マクロス』とかゆうのが売れて、河森さんは好き勝手をやらせてもらえたらしいよ、
ぜんぜん知らないんだけどさ」云々。
たいへん遅くなりました。上は5日前ぐらいに書いたと思う……。
差分あて、まだ、やってません!
疲労の絶頂は昨日ぐらいだったもようです。10時間寝た!
でも、まだだるい……。
10326/10304 CXB00940 としき Re: シャーとか
( 1) 22/10/13 18:43 10325:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> まいりました。『ガンダム』って、日本のアニメ(?)史に残る超有名、
俗にファーストガンダムと呼ばれる最初のシリーズ、それだけ押さえておけば十分
でしょう。あとは、ガンダムという名前だけを使った、初代とは世界観も内容も
全く関係ない作品も多数。
一応、日本のテレビアニメ史では、その他の日本文化に影響を与えたという面で
・鉄腕アトム
・宇宙戦艦ヤマト
・機動戦士ガンダム
・美少女戦士セーラームーン
・サザエさん
・ドラえもん
・新世紀エヴァンゲリオン
最低限、このくらいは押さえておきたいところ。
そろそろちびまる子ちゃんもこの範疇に入るかな。
その他、漫画原作の場合、漫画とアニメのどちらが重要性が高いかわからないもの
も多い。また、テレビアニメ以外、劇場作品にもアニメの名作は多い。
> 『マクロス』とかゆうのが売れて、河森さんは好き勝手をやらせてもらえたらしい
「超時空」シリーズも、マクロス以外の後継作はイマイチだったような。
私としては、マクロスがよかったのは、富田さんの脚本と板野さんの作画のせいだと
思っていますが、この辺はあくまでも個人の主観。異論は多々あるかと。
10327/10291 BQO00549 konno Re^3: Bl3072 の大穴が塞がったかも
( 1) 22/10/13 20:47 10324:としきさんへのコメント コメント数:1
> ところで、今回の書き換えで、実行ファイルのサイズは増えるんですよね?
> いや、もしファイルサイズが変わらないとか減るとかいうのであれば、それこそ
> バイナリエディタなりを使って、製品版Vzに手作業でパッチを当てることもできる
> な、と妄想したもので。
ファイルサイズは増えると思うのでバイナリパッチは無理でしょうね。
でも、Bl3072 の修正箇所だけならもしかしたら・・・・
そうだ! 公開版にそこだけの修正でどうなるか試してみようかな。
良いヒントをありがとうございます。
10328/10304 BQO00549 konno Re: シャーとか
( 1) 22/10/13 21:04 10325:文太さんへのコメント コメント数:1
> まいりました。『ガンダム』って、日本のアニメ(?)史に残る超有名、
> 超長大作品だったんですね。
わざわざWikiで調べてくれたのですね、全然知らないとは思いませんでした。(^^;
私はこれと宙戦艦ヤマトの再放送を見て、地球を守る宇宙戦士に目覚めたのです。(大嘘)
> バンダイは(角川も?)、これで食ってきたのか。『地球少女 アルジュナ』
> ってのを「環境」の時間に見せました。「いやぁ、バンダイの番組で、これ、
> ほんとにTV放送されたんだよ。こんな内容、小学生、中学生に分かるわけないよねぇ。
『地球少女 アルジュナ』は記憶にないですね。
学校の映画教室ではクレイジーキャッツの映画とか見たような気が。(^^; フルイ
アニメで印象に残ったのは、ガリバーの宇宙旅行みたいなやつ、色が綺麗だったなぁ。
> 差分あて、まだ、やってません!
> 疲労の絶頂は昨日ぐらいだったもようです。10時間寝た!
> でも、まだだるい……。
1.57は需要もないし急ぐ必要はないですね、ゆっくりやりましょう。
私も寝不足で超だるいです。もう無理が効かないですねぇ。
10329/10304 BQO00549 konno Re^2: シャーとか
( 1) 22/10/13 21:27 10326:としきさんへのコメント コメント数:1
さすがとしきさん、完璧な解説です。m(__)m
> この辺はあくまでも個人の主観。異論は多々あるかと。
全く同感で異論はございません。
個人的には「装甲騎兵ボトムズ」も好きでしたね、メカのリアル感がいいです。
うう、こういうことを言い出すと、イデオンとかその他いっぱい出て切りがない。(^^;
やっぱり私はアニメ好きみたいです。
10330/10304 CXB00940 としき Re^3: シャーとか
( 1) 22/10/13 23:49 10329:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> うう、こういうことを言い出すと、イデオンとかその他いっぱい出て切りがない。(^^;
まぁそうなんですけどね。
私のあのリストも、あくまでも日本の文化史という点で見たもの。
もし日本の文化史ではなく日本のアニメ史という切り口なら、ほかにも候補は多数
ある。例えば、鉄人28号やジャングル大帝をリスト入りさせたい。場合によっては
マジンガーZを入れてもいい。一応、それぞれ、私なりの根拠もあるけど、以下略。
だけど、人気があったがゆえに歴史に残るアニメ、という観点からだとマクロスや
イデオンもリストに入りますが、アニメ史の転換点とか画期的とかいう点では、
両方とも私はリスト入りさせない。そして、レモンエンジェルを入れる。
> やっぱり私はアニメ好きみたいです。
同じく。
10331/10304 CRG00666 文太 Re^4: シャーとか
( 1) 22/10/14 20:32 10330:としきさんへのコメント コメント数:1
『あしたのジョー』
『巨人の星』
『タイガーマスク』
『侍ジャイアンツ』
『スラムダンク』
スポ根系がかなり落ちているのが、おかしい。くすっ。
僕は、実写系だったかなぁ。
『ウルトラマン』
『ウルトラセブン』
『仮面ライダー』
に燃えたのかなぁ。上2つの怪獣名でカタカタを覚えたのは事実です。
やっぱり宮崎駿と新海誠がいいかな。『エヴァ』のTV最終回あたりは
いいです。やり直しの超臭いのもいいです。庵野さんのすねっぷりが
かわいい。
とにかくパチンコになるは、ジャンルを越えていろんな商品になるは、
文化史だ。
シャー。ガソリンスタンドの広告で見たような気がする。
でも、いまはVz一筋。Vzのためにパスカルの勉強をしている?!
Borland倒産(?)で、Turbo Pascal本は大暴落しております。教科書も
いっぱいあったのに。
10332/10304 CRG00666 文太 Re^2: シャーとか
( 1) 22/10/14 20:35 10328:konnoさんへのコメント コメント数:1
>アニメで印象に残ったのは、ガリバーの宇宙旅行みたいなやつ、色が綺麗だったなぁ。
こういう印象が残ってるんだ?! まずその種の感受性は持ち合わせていないよう
です。新海誠の絵がテクノロジーの進歩もあって、違う映像・アニメーションに
なっているのは、気づきましたが。
でも、絵ではなく物語に惹かれただけですね。
10333/10304 CXB00940 としき Re^5: シャーとか
( 1) 22/10/14 23:54 10331:文太さんへのコメント
参照先:http://toshiki.la.coocan.jp/
> スポ根系がかなり落ちているのが、おかしい。くすっ。
この辺が、私が軽く言及した、漫画原作とアニメのどちらが影響が大きかったか
判断に迷ったあたり。ただ私、侍ジャイアンツだけは、文化的にあまり大きな影響
がなかったと思ってます。もしこれを入れるのなら、石ノ森章太郎原作の童夢くん
を入れたっていいのではないか、というくらい。
童夢くんがスポ根かどうかは知りませんが。
あ、思い出した。
大学2年か3年のとき、Pascalの授業があって、大型コンピュータでソースを書いて
いたんですがね。そのときなぜか、インデントを6桁にした記憶がある。
先生からそうしろという指示があったわけでもない。
なので、なぜその桁数を選んだのか、自分でもわからない。
当時は、自分の持っているパソコンはまだ8ビット。
大文字しか使えないBASICで、雑誌に掲載されているソースリストもほとんど
インデントなんて使っていなかった時代でしたが、なぜか私は、ちょっと気取って
4桁インデントでBASICのコードを書いていた。
やだねぇ、気障なヤツって。
10334/10291 BQO00549 konno 公開版VZの修正ができました。
( 1) 22/10/15 02:03 10291:konnoさんへのコメント コメント数:1
#10303 で
> ちなみに、このルーチンを公開版 VZk07t01 に追加すると常駐で動かないの。(;_;)
> 私の私家版常用環境では動くのに。(^^;
と書いていましたが、弄りすぎて原型がわからなくなっていたので
元に戻そうとしましたが戻せない。(>_<)
バイナリの比較で一致するまで散々苦労しました。
やっぱり公開版のフォルダは保存しておかないとなぁ、と。(何回目だ)
やっと元に戻ったので、Bl3072対応の修正だけしてみましたが効果なし。
Bl8192対応の修正もして、こちらは直ったのですが、Bl3072 は駄目です。
ラップアラウンドエラーが、MEMO.asm の memmove のルーチンの934行目
rep movsw ;VTDOS ERR
で出ているので、そこを読んでいる所を片っ端から調べました。
そうしたら、やっとわかりました。
OPEN.ASM 2139行目の
add_logtbl proc
中略 2177行目
sub cx,si
jc addlog9 ;★ ##k 221014 Bl3072 対策2
call memmove ;※ ここの rep movsw でエラーになる
add di,cx
lea si,[bp].path
_endif
call strcpy
inc di
mov si,di
mov ax,[bp].lnumb
call set_logtbl
clr al
stosb
addlog9: popm <es,ds>
ret
add_logtbl endp
このように、memmove の直前に キャリー分岐を入れたら直りました。\(^^)/ ヤッタ-
常用している私家版では先の2か所の修正だけで直ったので、謎が残りますが。
色々試してみて問題ないようならテスト版としてアップしようと思います。
10335/10304 DGF01024 めざら 赤い彗星の シャア
( 1) 22/10/15 16:07 10332:文太さんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
最後に付けますが,「シャー」じゃなくて「シャア」でないと分からないです。
「シャー」と言ったら,「銀魂」の「カーテンのシャー」になります。
10336/10304 CRG00666 文太 Re: 赤い彗星の シャア
( 1) 22/10/15 18:07 10335:めざらさんへのコメント コメント数:2
ご訂正、ありがとうございました、かえる様(爆)
としきさんの家の近くに「かえる公園」というのがあるはずです。30年くらい行ってみたい
行ってみたいと思いながら、願いを果たせないまま今日になっています。
意味なく近くのハードオフには何度も行っているのですが。
いい奴ですよ、かえるさん。もう庭に池がなくなって10年になるのに、まだ生存してます、
あのでかいヒキガエル。
バケツ稲、本日、刈り取り。乾すため軒下を整理したら、まだタマネギが50個くらいある。
ゴーヤ、最後の5本収穫&撤去。夫婦二人で50本をひと夏で食べたと思う。明日は、絹サヤを
まく予定。
ダイコンもタマネギ苗もやばそ。夏が暑すぎた。あと10日でサツマイモかなぁ。
さて、
#10309
>文太さんはアニメ見ないんでしたね。赤い彗星のシャー、というアニメキャラの名セリフなのです。
最初に間違えたのは僕ではありません。
でも、3人とも通じてるんだ、konnoさんととしきさんは、そうなんだろうな、と
思っていたけど。
僕だけが「そんなことも知らない無知な大人」なんですね?
まいりました。
シャアさんに会ったことがほぼないので、wikiもあの長さだし、しょうがないのです。
ま、とにかく「赤い彗星のシャア」です。
「認めたくないものだな、自分自身のばかさゆえの過ちというものを」という台詞で日本国民
みなに知られている有名人物です。
>「銀魂」の「カーテンのシャー」になります。
深すぎ。マージャン漫画?
10337/10304 BQO00549 konno Re^2: 赤い彗星の シャア
( 1) 22/10/16 00:38 10336:文太さんへのコメント コメント数:1
> ダイコンもタマネギ苗もやばそ。夏が暑すぎた。あと10日でサツマイモかなぁ。
お、そろそろサツマイモの収穫時期ですか。
うちの芋も出来ているかわかりませんがもう掘ってもいいんですかね。
> >文太さんはアニメ見ないんでしたね。赤い彗星のシャー、というアニメキャラの名セリフなのです。
>
> 最初に間違えたのは僕ではありません。
ああ、すみません、シャアでしたね、バカさゆえです。(^^;
> 「認めたくないものだな、自分自身のばかさゆえの過ちというものを」という台詞で日本国民
> みなに知られている有名人物です。
ごめんなさい、オリジナルは「若さゆえの過ち」で、パロッたつもりだったのです。(^^;
> >「銀魂」の「カーテンのシャー」になります。
> 深すぎ。マージャン漫画?
まとレスになりますが、「銀魂」の「カーテンのシャー」は覚えていません。検索すると
銀魂 第221話『寿限無』 東城『今じゃ私の居場所は、呂太のカーテンのシャーのやつのコーナーしかないぃぃ!!!
これですか? 見てみたらサルの〇〇投げの話でした。なんか見たことがあるような。
さらに見てみると
銀魂 第88話「合コンは始まるまでが一番楽しい」
これが初出のようでした。これは見た覚えがないですね。面白かったです。
私のレベルはまだまだですね。(何のレベルだ)
ちなみに私が銀魂で思い出すワードは、「前立腺ブレーキ」です。
銀魂は見だすときりがないのでこのくらいにします。
10338/10304 CRG00666 文太 Re^3: 赤い彗星の シャア
( 1) 22/10/16 01:01 10337:konnoさんへのコメント
>お、そろそろサツマイモの収穫時期ですか。
konnoさんのところはプランタですよね。掘りたければどうぞ。ただ、もし葉っぱの
緑が青々(緑々)していたら、もうしばらく様子をみてやってください。ネズミに
食われるはずもないので、生命をまっとうさせる、というのが彼女にとっても我々に
とっても幸せなはずです。
僕らが食べる部分は、次世代のために、いわばお母さんがエネルギーを貯めこんで
いるいるところなので、そこそこ死ぬまで待っても、失敗は少ないと思います。
僕の経験では、待ちすぎ? なばあい、芋が割れてそこが硬化していましたが、見栄え
は悪いけど、食べるのに遜色なしでした。
1か月保存。糖化が促進してうまいです。真冬の焼き芋は、うまいです。
アルミホイルにつつんで、オーブンみたいなので最小の火で1時間。
フライパンとかなら、奥様と相談しつつ実験。アルミホイル必要。
弱い火で長い時間。これがポイントのはずです。
石焼き芋って、石の余熱でじっくり焼くからおいしいのです。
>うちの芋も出来ているかわかりませんがもう掘ってもいいんですかね。
後作がないのなら、まだです。
>ああ、すみません、シャアでしたね、バカさゆえです。(^^;
そんなに簡単に自分にも他人にも、バカとか言うのはいけません。
以下については、じぇんじぇん分かりませんでした。
バカですから。
10339/10304 CXB00940 としき Re^2: 赤い彗星の シャア
( 1) 22/10/16 03:23 10336:文太さんへのコメント
参照先:http://toshiki.la.coocan.jp/
> ダイコンもタマネギ苗もやばそ。夏が暑すぎた。あと10日でサツマイモかなぁ。
うちは、サツマイモの収穫はまだまだの予定。
ケリをつけたい、という無意味な理由で、少なくともあと1回は潅水したい。
潅水するためには、2〜3日は晴天が続いてほしい。
そして、そこから給水停止。
私は基本的に、地下にできる作物は、土が乾いたときに収穫したい。
だって、どろどろになるのはイヤだもん。
そして、路地ではなく容器栽培の場合は特に、容易に土を乾かすことが可能。
軒下でも玄関の中でも、雨にぬれないところに移動できますからね。
もし地上部が長いのなら、地上10センチのところで切断すればよろし。
お子様向けの芋ほり農園なんか、路地でもそういう風になっているところに
お客様を迎えているわけだし。
あと、例によって私、来年用の芋蔓を2本、確保予定。
そうだ、konnoさん、サツマイモ栽培の経験が少なそうなんで、どうでもいい
小ネタを2つばかり。
サツマイモの蔓を切ると出てくる樹液というか汁、結構べとべとします。
うちの母親はあれを「灰汁」と言っていますが、アルカリ性ではないと思う。
もうひとつ、サツマイモの蔓は食べられます。
といっても私自身、もう何十年も食べていませんがね。
最後に食べたときのうろ覚えの記憶だと、ちょっとスジっぽかったかな。
でも、煮付けて食べたらおいしかった記憶がある。
おふくろの味、というヤツ。
> 僕だけが「そんなことも知らない無知な大人」なんですね?
この辺は、単に専門外というだけの話でしょう。
私なんかも、芸能界が門外漢。
英語の次にわからない、といってもいいかも。数学のほうがまだわかる。
さすがに、ニュースには目を通していますから、芸能人の名前だけは一通り
知っていますがね。顔とか出演作とか持ち歌は全くわからん。
うちの親に言わせると、お前の無知さ加減は日常会話に差し支えるほど、なのだ
とか。
そういえばかつて、どこぞのフォーラムには芸能担当とか言うのがいたそうで。
> ま、とにかく「赤い彗星のシャア」です。
赤くてツノがあって3倍速い方です。
「私の手向けだ」とかいって引き金を引く方です。
> >「銀魂」の「カーテンのシャー」になります。
> 深すぎ。マージャン漫画?
「銀魂」は、たぶんマージャン漫画ではないと思う。
一応、SFギャグ漫画になるのかなぁ。
そもそもマージャンシーンがあるかどうかも知らない。
私は、キャラクターが合わないので読んでいないんですよ。
でも、この漫画、アニメ化も実写映画化もされたはず。
つまり、それなりに人気があったということ。
また、私、キャラは合わなかったけど、あの手の設定は好きだな。
マージャン漫画だと、「自己中」はもう30年以上前か。
最近だと、「咲」とか「ムダヅモ無き改革」あたりが有名どころだと思う。
10340/10291 CXB00940 としき Re^4: Bl3072 の大穴が塞がったかも
( 1) 22/10/16 14:27 10327:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> そうだ! 公開版にそこだけの修正でどうなるか試してみようかな。
もし、1.60に、そこだけの修正を当てるパッチというのが作れるのであれば、それ、
私も欲しい。うちで試してみて、状況がどう変わるか見てみたいです。
10341/10291 BQO00549 konno Re^5: Bl3072 の大穴が塞がったかも
( 1) 22/10/16 22:46 10340:としきさんへのコメント
> もし、1.60に、そこだけの修正を当てるパッチというのが作れるのであれば、それ、
> 私も欲しい。うちで試してみて、状況がどう変わるか見てみたいです。
先日試したときは正常だったはずなんですが、Windowsの更新後は異常になってしまいました。
Windowsの更新が影響しているのでしょうか、メモリ管理とかディスク管理とか環境変数とか。
ということで、現在は常用している私家版のみ正常動作しているように見える状況です。
どこが違うのかさっぱりわかりません。(>_<)
なので、パッチは無理そうです。
メモリのキャッシュとかが影響していたりして・・・
10342/10312 CRG00666 文太 win7 bupdate
( 1) 22/10/17 21:32 10320:konnoさんへのコメント コメント数:2
すいません、超簡単に。
vz.inc 12,992 1992-02-20 01:57 ;Dos6
vz.inc 12,991 2022-10-17 21:24 ;win7
なぜ1バイト違うのかは謎ですが、たしかにvtdos @ win7では、
タイムスタンプがver up時刻になりますね。
なお解凍時、DOSでもフォルダは解凍日・時間にタイムスタンプ
は変更されてしまうようでした。個々のファイルのタイムスタンプは
もちろん保持される。Winでもフォルダ日時時刻は更新。
10343/10312 BQO00549 konno Re: win7 bupdate
( 1) 22/10/18 01:22 10342:文太さんへのコメント
> vz.inc 12,992 1992-02-20 01:57 ;Dos6
> vz.inc 12,991 2022-10-17 21:24 ;win7
>
> なぜ1バイト違うのかは謎ですが、たしかにvtdos @ win7では、
> タイムスタンプがver up時刻になりますね。
もしかして、EOFコードを削除しているとか、それならファイルが現在時刻となりますね。
でも、touch が使えなくなったのは別の理由でしょう。
わざと使えないようにしてしまったとか、まさかね。
# MSの中にバイトテロがいたりして、1バイトの攻防とか
10344/10312 CRG00666 文太 Re: win7 bupdate
( 1) 22/10/18 12:59 10342:文太さんへのコメント コメント数:2
konnoさん
>>なぜ1バイト違うのかは謎ですが、
これはおいておきましょう。今となっては知りようもないし。
それより、以下でkonnoさんが考えていることがよく分からないので、
整理させてください。
>でも、touch が使えなくなったのは別の理由でしょう。
これが、?
僕が2つの比較で示したかったのは、DOSではタイムスタンプが
きちんと保存される=touchが効く(作者がversion情報を入れてたりする
ので変えられたら、困る)、しかし、vtdos及びその他のdosエミュレータでは
タイムスタンプが更新されてしまう、ということです。
なんかtouch関連のファンクションが止められてる、それもエミュレータ
によってというよりOSによって、というように見える。こう考えて
いるのですが(真実は知りようがないけど)、違いますかね?
混線しそうですが、いちおう書いておくと、アーカイバによる
解凍(展開)でも、DOSでさえ、フォルダのタイムスタンプは
更新されてしまってました。@pkunzip.exe。
># MSの中にバイトテロがいたりして、1バイトの攻防とか
これはおいておきます。
bupdateの話はアーカイバの作りの話とは、いちおう別ですよね。
10345/10312 CRG00666 文太 サツマイモ
( 1) 22/10/18 21:10 10344:文太さんへのコメント コメント数:2
どこ行ったか分からないので、すいません、ここで。
気温(地温)が10度以下になると腐敗が始まる可能性が高まるそうです。
この辺は見極めてくださいね。
10346/10312 BQO00549 konno MSDOS player は日時キープできました
( 1) 22/10/19 00:06 10312:konnoさんへのコメント
> VTDOS や MSDOS player や DOSVAXJ3 で実行すると 日付が今の時間になってしまいます。
> これらのエミュレータではシステムの制限なのか、DOSの日付操作が効かないようです。
ファイルの日付の問題はここから始まっていますが、今一度色々な環境で確認してみました。
WinZIP Win7以降? 展開ファイルは現在日時になる
7.ZIP Windows 展開ファイルは日時キープされる
解凍レンジ Windows 展開ファイルは日時キープされる
LHA.EXE 全てのDOS環境で展開ファイルは日時キープされる
touch と BUPDATE は同じ環境に依存していると仮定して
純DOS 日時キープされる
WinDOS窓 日時キープされる
MSDOS player 日時キープされる
VTDOS 現在日時になる
DOSVAXJ3 現在日時になる
こういう結果になりました。
以前に MSDOS player も現在日時になる、と書きましたが
今確認したら日時キープされていました。
あれえ? おかしいな・・・ この間でWindowsの更新があったようですが
command.com のゴタゴタも最近やらかしているので、そのせいかもしれません。
お騒がせしました。m(__)m
# これで今の環境でも MSDOS player で BUPDATE 出来る。\(^^)/ ヤッタ-
10347/10312 BQO00549 konno Re^2: win7 bupdate
( 1) 22/10/19 00:21 10344:文太さんへのコメント
> >>なぜ1バイト違うのかは謎ですが、
> これはおいておきましょう。今となっては知りようもないし。
FC や比較マクロで一致すれば、EOF があるかないかの差だと思います。
> >でも、touch が使えなくなったのは別の理由でしょう。
> これが、?
文太さん、私のせいで混乱させてしまい申し訳ないです。
#10346 で再確認した結果、MSDOS player は問題ありませんでした。m(__)m
> なんかtouch関連のファンクションが止められてる、それもエミュレータ
> によってというよりOSによって、というように見える。こう考えて
> いるのですが(真実は知りようがないけど)、違いますかね?
再確認の結果では、エミュレータによって違うという結論になりました。
あくまで確認した範囲でですが。
> 混線しそうですが、いちおう書いておくと、アーカイバによる
> 解凍(展開)でも、DOSでさえ、フォルダのタイムスタンプは
> 更新されてしまってました。@pkunzip.exe。
フォルダが更新されるのは、やっぱり作り方によるようですね。
> bupdateの話はアーカイバの作りの話とは、いちおう別ですよね。
やっていることは同じようなものだと思うんですが、作り方次第みたいですね。
10348/10312 BQO00549 konno Re: サツマイモ
( 1) 22/10/19 00:35 10345:文太さんへのコメント
> 気温(地温)が10度以下になると腐敗が始まる可能性が高まるそうです。
> この辺は見極めてくださいね。
おお、貴重な情報、ありがたいです。
もうすぐ収穫時期ということですね。
10349/10312 CXB00940 としき Re: サツマイモ
( 1) 22/10/19 01:01 10345:文太さんへのコメント
参照先:http://toshiki.la.coocan.jp/
> 気温(地温)が10度以下になると腐敗が始まる可能性が高まるそうです。
そういえば、サツマイモは冷蔵庫で保存しないほうがいいと聞いたことたある。
この関係なのかもしれない。
10350/10350 CRG00666 文太 たしかにラインバッファは怖い
( 1) 22/11/02 15:23 コメント数:1
めざらさんの掲示板に嫌われているようなので、あれに繋がる経験談を
こちらで。
単発発言です。まだまだ、疲れがぬけません。歳だぁ。嫌だぁ。
とにかく。
ラインバッファが壊れるとファイルが壊れます。僕も経験しました。
EMSとかテンポラリーファイルとかも絡んでいるだろうファイルの壊れ方でした。
詳細は意味がないので省略しますが、行の連結をして1行を長くしていたのですね。
filter.def + xtr.exeで。そうしたら、、、
>cgrep "End of"
---------------------[End of Page 64]--------------------
save
---------------------[End of Page 77]--------------------
---------------------[End of Page 78]--------------------
---------------------[End of Page 79]--------------------
---------------------[End of Page 80]--------------------
---------------------[End of Page 81]--------------------
---------------------[End of Page 82]--------------------
cut
---------------------[End of Page 126]--------------------
---------------------[End of Page 127]--------------------
---------------------[End of Page 128]--------------------
cut
---------------------[End of Page 62]--------------------
---------------------[End of Page 63]--------------------
こんな具合。
作業前に、この作業はすんだと確認してから作業を再スタート。
で、あれ、何かいま?! そういえばさっき?! と思って調べて
みると、上の状態。
上は兆候。そんなに都合よくページ単位で壊れたのでは、もちろん
ないです。
うん、etextをジャスティフィケーションが嫌だから、画面がもったい
ないからと、パラグラフ単位で行連結するのは止めることにしました。
前回、こんなこと起こらなかったもの。
なお、etextを作った、作ろうとしているのは、以下。
いい本ですよ。
jeff.txt 808,019 2022-09-30 22:09
Jeff Duntemann, _Assembly Language: Step-by-Step_. 1992.
insidepc.txt 617,730 2022-11-02 10:36
Peter Norton, _Inside the IBM PC_. 1983.
もういちいち謝りませんが、すいません、英語の本です。
etext作りが楽です。
壊れたの、どうしよう?
10351/10351 CRG00666 文太 「問題解決」(problem solving)
( 1) 22/11/02 16:10 コメント数:1
としきさんに刺激を受けたので(大昔)、あっちのほうがいいのかもしれませんが、
ちょっとメモ的に。
パスカルの本を眺めています。古い人たちは、Cでなくパスカルをやるものだ
ったみたいだからです。ジェフさんもそう、ノートンさんもそう。お二方の本、
両方、サンプルにアセンブラだけでなく、Basic と Pascal のコードが載っている。
(Undocumented DOS -- Cも入る --, MS-DOS Encyclopedia -- C多数になる --。)
で、ノートンさんが、もうちょっとアセンブラをきちんとやりたいなら
(つまりCPUを知りたければ)、この本だよ、と薦めていた本があり、それを開いて
みました。
Stephen P. Morse, _The 8086/8088 Primer_, 2nd ed., 1982.
これ、 初版は 1980 で、初代IBMマシンが 1981 のはずですから(つまり
MS-DOS 以前)、8086 っぽいのが登場してすぐ書かれた名著(とされている)。
古典。
で、その2版では、パスカルを扱う章が追加されている。
パスカルのソースが出てきて、ほとんど英語だよね、眺めれば何をどうやって
るのか分かるよね、で、マシン語はどう? 読めないよね、とか書いてあります。
そこで、お題。
問題が解決されるべきレベルで書かれる「高級言語」=パスカル
(真の意味で)問題が解決される、CPUのレベルで書かれる「低級言語」=アセンブラ
「CPUの動きに集中するより(アセンブラ)、問題解決の方法に(パスカル)
注意を払ったほうが有利な場合も多い」などなど。
パスカルの教科書の多くに、「問題解決」という表現がいっぱい出てきます。
へぇ、そういう分類があるんだ、と。
今でもそうなんでしょうか? Windows プログラミングには、とうぶん関心を
向けないと思うけど。Delphi 7.0 for Win98 or laterは手に入れましたよ >としきさん
テキスト処理なんて、問題解決そのもじゃないか、とか思いました。
c:\c>dir | sort
2022/10/19 01:26 363 delspc.def
2022/10/20 11:49 333 keyw_cpy.def
2022/10/21 21:37 743 addzspc.def
2022/10/22 13:18 379 vwx_strl.def
2022/10/22 20:24 683 2strsrch.def
2022/10/22 20:26 142 999.def
2022/10/22 20:28 142 ln_fin.def
2022/10/22 20:28 1,980 catg_fix.def
2022/10/22 20:29 3,413 altkey_t.def
2022/10/22 20:35 1,208 repl.def
2022/10/22 20:39 955 ren_repl.def
2022/10/22 22:27 1,138 keyp.def
2022/10/28 15:00 105 delallcr.def
2022/10/28 17:20 153 tabs.def
2022/10/28 18:23 370 tabs2.def
2022/10/28 23:24 342 etxtrf.def
2022/10/29 01:43 764 alpha.def
2022/10/29 01:57 739 ren_srch.org
2022/10/29 10:46 200 srch_do.def
2022/10/29 10:59 266 2repl.def
2022/10/29 11:23 220 srch_do2.def
2022/10/29 11:48 193 cnd_sch1.def
2022/10/29 13:40 704 ren_srch.def
2022/10/29 13:42 785 rn_schid.def
2022/10/31 01:04 159 delln_d.def
2022/10/31 21:43 283 2repl2.def
2022/10/31 22:44 199 srch_do3.def
2022/10/31 23:05 811 array2.def
2022/10/31 23:06 209 srch_do4.def
2022/10/31 23:33 2,860 g_story.txt
2022/10/31 23:36 636 array3.def
2022/10/31 23:40 665 arr_srch.def
2022/11/01 01:59 199 srch_do5.def
2022/11/01 02:13 131 srch_do6.def
2022/11/01 12:52 232 hyphn1.def
2022/11/01 14:16 147 hyphn0.def
問題解決用Vzマクロ一覧(すべて使い捨て)。
同じ日に何本もマクロを書いている。ストレスの絶頂で現実逃避をしています。
10352/10351 CXB00940 としき Re: 「問題解決」(problem solving)
( 1) 22/11/03 13:37 10351:文太さんへのコメント コメント数:4
参照先:http://toshiki.la.coocan.jp/
> 問題が解決されるべきレベルで書かれる「高級言語」=パスカル
> (真の意味で)問題が解決される、CPUのレベルで書かれる「低級言語」=アセンブラ
これには、さらに上位があるんですよ。
つまり、何が問題であるのか、ということ。
そしてそれは多くの場合、高級言語よりもさらに抽象度の高い言語で記述されます。
いわゆる「自然言語」というやつです。
そして、それを徐々に、え〜と、なんていうんだろう、スケールダウン?
私らの世代では、段階的詳細化、なんて言い方をしました。
今でもこの言葉で検索すればいっぱい引っかかると思う。
つまり、最初は紙とペンと自然言語。次に、図でわかりやすく。
この図形化の部分が、おそらく、ここ数十年で一番進歩した部分だと思う。かつて
はフローチャート一択でしたが、今では何とかチャートというヤツが百花繚乱。
そして、これもコンピュータで容易に作画できるようになりました。
その次がコンピュータ言語っぽいところなんですが、ここはまだ抽象言語っぽい
もので十分。私はBASICっぽい、でも純粋BASICではない言語で考えることが多い。
ただ、ここの部分は、この発言冒頭で引用している文太さんの発言にあるように、
Pascalで考える人も多いようです。というか、その辺を考えやすいように設計
された言語がPascal、というのが設計思想でもあります。
で、Pascalで考えたのならそのままPascalのコンパイラにかけてもいいし、さらに
ほかの言語に移植するのも容易でしょう。
私もこの辺は、わりと基本に忠実なプログラミングをしていましたね。
昔、大学生のころ、8ビットアセンブラをハンドアセンブルしていた時代。BASIC
でロジックを組んで、それをアセンブラに落とす、ということをしていました。
> パスカルの教科書の多くに、「問題解決」という表現がいっぱい出てきます。
最近の業界事情は知りませんが。
かつての情報処理業界では、問題解決をするのがプログラマーだ、という認識が
ありました。
ただ、解決するためには問題を認識しなければならない。
そして、当時は、問題を認識するのがSEとか、理想と現実の落差が問題である
わけだから、その理想を提示するのがコンサル、なんて分類がありました。
これらのうち、問題認識の部分については、かつて、#7387あたりで話題になった
『ライト、ついてますか』が話題の中心としている部分だったりしています。
あ、今日はそろそろ時間切れ。
野ざらしのほうにもいっぱい書きたいことがあるけど、明日以降になるなぁ。
10353/10351 DGF01024 めざら Re^2: 「問題解決」(problem solving)
( 1) 22/11/03 16:34 10352:としきさんへのコメント
参照先:http://mezala.la.coocan.jp/
> 野ざらしのほうにもいっぱい書きたいことがあるけど、明日以降になるなぁ。
えへへ.お待ちしておりますよ.
10354/10351 CRG00666 文太 Re^2: 「問題解決」(problem solving)
( 1) 22/11/03 18:16 10352:としきさんへのコメント コメント数:1
「問題解決」の話題からそれますが。
>昔、大学生のころ、8ビットアセンブラをハンドアセンブルしていた時代。BASIC
>でロジックを組んで、それをアセンブラに落とす、ということをしていました。
ちょっと前にBASMとかいう、(Power) BASIC -> Machine Lauguage への
翻訳機をみました。有名ですか? でしたか? ですかね。
笑っちゃった。5行のソースが100行になっていた。高級言語が好きだな、
やっぱり。マシンパワーでいくらでもおぎなってください、ただしコマンドラインで
あること。
Vzマクロ最高、sedも最高。
もぐらさんのソースは……。でもいっぱい勉強になってます。
なんで、もぐらさんがプロシージャを使わずマクロだけで攻めてるのか、などなど。
c.mosさんのソースは美しいなぁ、やっぱり。Cライクだもの。アセンブラのマクロ
で、あんなことができるなんて。if ... else, while ... repeatも、しかし、開けて
みればラベルジャンプだった!
戻る。
僕が「問題解決」という表現で考えている(空想している)のは、時代の流れも
(流行)もあるのかな、ということ。
つまりPC(Personal computer = microcomputer)の時代に入った。最初はBASIC
しかなかった。あとはマシン語。もうちょっと途中の位置でプログラミングできる言語、
そこそこシステムにアプローチできて、人間寄り(自然言語寄り)の言語が登場した
(移植された。Cはまだ)。
で、その界隈の人は、アセンブラの原理的アプローチとの違いを示すために「問題
解決」という言葉を多用した、と。
問題は何かをまず分析せよ。
テキスト処理で、いっぱいいっぱいやってまーす。ファイルを壊しちゃったけど。
しょうがないから、タマネギ苗の植え付けをしてるあいだ、2時間ばかり、OCR
ソフトにふたたび走ってもらうことにしました。「全自動」モードとかあるんです。
_Inside the IBM PC, Revised and Enlarged_. (1986) は、全387ページでした。
また、ちまちま、やっかぁ。長い行はダメです。
でも今でも、そんなに使いますか? 「問題解決」という言い方。
どのパスカル本にも出てくるのです。もちろん主に80年代から90年代前半の本。
10355/10351 BQO00549 konno 「問題解決法」(problem solving)(^^;
( 1) 22/11/03 20:08 10352:としきさんへのコメント コメント数:1
「問題解決」というタイトルで、問題が解決したよ、という話かと思ったのですが
としきさんの書き込みで意味がわかった感じです。英語的表現なのかな。
日本語なら「問題解決法」かなと思ったら、英語にすると同じ「problem solving」なんですね。
ということでタイトルを改ざんしてみました。(^^;
> 昔、大学生のころ、8ビットアセンブラをハンドアセンブルしていた時代。BASIC
> でロジックを組んで、それをアセンブラに落とす、ということをしていました。
これ、VZマクロをアセンブラに変換する感覚だなと、最近は思います。
昔の話をすると、仕事でBASICのプログラムでデータを装置にシリアル伝送した後に印刷する作業がありました。
昔の通信速度は300ボーとか超遅かったので、印刷が終わるまでかなり時間がかかっていました。
この二つを同時に出来ないかと調べたら、8ビットアセンブラのプリンタバッファのソースを雑誌で見つけ
16ビットのアセンブラに自力で翻訳したら動いたので、仕事で使っていました。
8086CPU、ドットプリンタの時代でした。
> これらのうち、問題認識の部分については、かつて、#7387あたりで話題になった
> 『ライト、ついてますか』が話題の中心としている部分だったりしています。
なるほど、文太さんの話はここから繋がっているのですかね。
10356/10351 CRG00666 文太 Re: 「問題解決法」(problem solving)(^^;
( 1) 22/11/03 21:20 10355:konnoさんへのコメント コメント数:1
konnoさん
ありがとうございます。konno さんがどんな風に感じるか考えるか、興味が
あったんですよね。
「問題解決」は、ある業界での術語です。としきさんがリンクを示してくれた
とおり、(たぶん)アカデミックな分野での言葉遣い。
たとえば、「問題解決思考」みたく。
(注)僕が眺めているパスカル本は、アメリカの大学で、授業で使われること
を想定した教科書です。 なんか言葉遣い("problem solving")や概念を、先生が
一生懸命教えようとしてる感じがする書き方で、ある意味、不自然な感じがしました。
先生本人(著者本人)も自然に沸いてきた言葉を使ってないと自覚している感じ。
で、CPU本でも、パスカルにふれたとたん、その単語が出てきた。
うん、konno さんは、あまり馴染みがないと。ある意味、想像のとおり。一部
の流行語だったんだろうと推測。
>8086CPU、ドットプリンタの時代でした。
おお、すごいじゃないですか。16ビットです。もう MS-DOS がそのチップの
性能を引き出し始めます(始めてた、かもしれない)。 初代IBM機は、8088
のバス8ビットだったはずです。
パンピア、いろんなところでお目にかかってます。へぇ、という感じ。
このあたりの展開、c.mos さん、知ってたと思うんですよね。日立に入社して、
まずエディタ作ってたりしてたし。日立は、すぐPCから撤退したみたいなのだ
けど。日本最大の(家電)メーカーなのに。ちなみに、日本の原発の半分を作り
ました。規定で50%のシェアです。日本最大メーカー。もちろん戦前から続く
財閥系。ぜったい潰れない。
当時の歴史ものを読むと、日本のメーカーが出てくる、出てくる。半導体電子立国
だった、ああ、ジャパン。
インテルはまだ小さな会社で、嶋先生が活躍し……。
10357/10350 CRG00666 文太 Re: たしかにラインバッファは怖い
( 1) 22/11/03 22:13 10350:文太さんへのコメント
#test.awk
{ if (maxlen < length)
maxlen=length
}
END { print maxlen }
C:\>jgawk -f test.awk c:\0etxt\insidepc.txt
1572
ラインバッファ絡みではなかったのかなぁ?
でも、無理に行を長くはいたしません。
10358/10351 CRG00666 文太 Re^2: 「問題解決法」(problem solving)(^^;
( 1) 22/11/03 22:16 10356:文太さんへのコメント
もうちょっとだけ付けたし。
皆さんがそれほど興味を持つ話ではないと思うけど。
曖昧な記憶ですが、僕は3週間くらい前に近所の図書館でパスカル邦書を4冊
借りました。そこでも、けっこうこの言葉「問題解決」が出てきていました。
貸し出し後2週間で延長し、1か月は借りる予定なのに、ろくすっぽ
読めてませんけれど。
NEC98べったりなのは、気にしてません。NECとIBMの違いが問題に
なる領域に行く予定はないからです。
ただDOS派としては、日本におけるパスカルは不幸だったなぁ、とは思います。
前にも書いたかもしれませんが、MS(PC)-DOSV/J 用 Pascal 日本語化パッチは
ベクターにありました。パッチ当て、まだできていません。
(とらじさんは、どっかで、これを自分でやらなきゃ、と言ってました)
パスカル? DOS用、Win用が、ネットに落ちています。倒産(?)、売却されて
しまったので、合法/非合法のラインは、かなり曖昧だと思いますが。どのヴァージョンまで?
的に。
最新版Delphiは(Win7 32bitには入らなかったけど)、ちゃんと商品でした。
コンパイルできる高級言語で、あそこまで分かりやすい(単語レベルだけど)のって、
僕は、ありがたいと思ってます。
まだ勉強をし始めてさえいませんし、何やりたいの? も不明なままですが。
DOSが分かりたい。これは間違いありません。
もちろん、Cまで、行きます。
余技でVisual Basicもやります。これは世間との付き合いがあれば、ですが。
もちろん、最後は、c.mos語です。VzはDOSそのものだと思ってます。
高橋さんのdump.defを使ってやるのじゃ。List of Listです。
いま一番たのしいのは(永遠に)、テキスト弄りですね。つまり切った貼ったの
Vzマクロ。
10359/10359 CRG00666 文太 Vzの検索
( 1) 22/11/04 00:09
ふつうに当たり前のことです。
etext処理のおいて。
INSIDE THE IBM PC
というページごとにつく「ページヘッダ」が邪魔なので一括削除しました。
160個ぐらいかな。
が、いつものことなのですが、こんな異型もありました。etextの宿命。
INSIDE THE
IBM PC
いくつもあるのか? も、もしかして、Vzで「INSIDE THE\nIBM PC」で
ヒットする?
ヒットしました!
ほぼやったことなかったと思う。20年くらい前、正規表現にまだまだ不慣れ
だったころ、やったかもしれなかったけど。
sedならこうなる。
/^INSIDE/{
N # sedするなら使えなくちゃ損なNコマンド(input Next line)
d
# s/INSIDE THE\nIBM PC/INSIDE THE IBM PC/ #1行にして残す場合
}
# 実は甘々
cgrep, ygrep, wgrepで、改行ばさみパターンの検索はあるのですが、それぞれに
クセがあります。sedが逆に楽
もっと初歩として、
>cgrep -A1 "^INSIDE" ;A = after
で調べられます。
#ここまでVzやDOSツールにはまった人は、一生そこから出られません。
#でも、今でも、シアワセです。
あ、関係ないことも書いてしまいますが、#Gでページングモードが変わるって
知ってました? 先日、発見して、驚きました。当たり前すぎるのでしょうけど、
miyata.shdにもありませんでした。
#G #F #e #m #c
とかしてました。
#G #c
で十分だったのです。
さあ、中間テストだ!
10360/10360 CRG00666 文太 shadowさーん!
( 1) 22/11/04 01:34 コメント数:1
konnoさん、公共の(完全私設の)場所の無断使用、ご容赦ください。
shadowさん、
メアドがわからなくなってます。niftyメアド、終わってますよね。
連絡手段がありません。
もし宜しければ、朝日ネットの30年かわっていない
文太のメアドに、メールいただけないでしょうか。
けっしてとても重要な事柄ではないのですが。
最後にやるだけやっておきたいと。
10361/10360 BNY00646 shadow Re: shadowさーん!
( 1) 22/11/04 09:12 10360:文太さんへのコメント
文太さん
メール送信しました。
10362/10351 CXB00940 としき Re^3: 「問題解決」(problem solving)
( 1) 22/11/04 19:31 10354:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> ちょっと前にBASMとかいう、(Power) BASIC -> Machine Lauguage への
> 翻訳機をみました。有名ですか? でしたか? ですかね。
これ、私は全然知らない。
ちょっと検索してみた範囲では、引っかかってくるのは英語のサイトばかり。
どうやら、日本では流行らなかったのではないかなぁ。
> でも今でも、そんなに使いますか? 「問題解決」という言い方。
> どのパスカル本にも出てくるのです。もちろん主に80年代から90年代前半の本。
私はあまり聞いたことがありません。今でも、そしてその当時も。
もっとも、聞いても忘れている、という可能性も高い。
解法、という言葉はよく聞きましたが、でもこれはアルゴリズムのことだと思う。
ということで、大学時代の教科書を引っ張り出してきました。邦書です。
川合 慧著 PASCAL入門
共立出版 ISBN4-320-02150-9 1981年初版発行
この本では、目次や索引には「問題解決」という語は見当たりません。
が、よく読むと、冒頭、第1章の最初のページの5行目辺りから、それっぽい表現が
出てくる。以下、引用。
(前略)
> 人間にとっては、問題を解決することが主目的であり、細かな解法は二の次となる
> べきである。
(中略)
> 本書では、一般的な問題の解決に必要な仕事に対して、‘計算’という言葉を使う。
もしかしたら私は「問題解決」という用語が普及するよりも古い世代なのかも。
ということで、手元にある、もっと古い本を覗いてみた。
父の遺産です。中で扱っている言語もPASCALではなくFORTRANです。
竹内 均著 やさしいコンピューター プログラムしよう
日本放送出版協会 昭和44年発行 ISBNなし
今でいうところのエンドユーザーコンピューティングのはしりの方ですな。
自分が必要とするプログラムを自分で書いていた、という意味で。
なにせ、冒頭の「はしがき」でも、計算機(タイガー?)を回しまくっていたことに
触れているくらい。
余談ですが、この先生の眼鏡の趣味だけは私と合いません。
それはさておき。
この本でもやっぱり、目次や索引には「問題解決」という語は見当たりません。
なお、この本の第1章§3冒頭は以下のとおり。
> わたしたちは、まず問題を分析して、問題を解くためのある手順をつくり、
> これを論理や数学の言葉で書き下さなければならない。
おぉ、ありがたいお言葉。思わず拝んでしまいそう。
でも、あまり参考にならない事例ばかり引っ張ってきているだけかも。
ということで、私にはなじみがありません、ということでした。
10363/10351 CRG00666 文太 Re^4: 「問題解決」(problem solving)
( 1) 22/11/04 20:52 10362:としきさんへのコメント コメント数:1
>ということで、私にはなじみがありません、ということでした。
僕はもう確信しました。パスカルあたり(周辺で)この表現は流行り始めた。
ま、コンピュータの原理とも言えるのでしょうけど、まさしく、
>>Pascalで考える人も多いようです。というか、その辺を考えやすいように設計
>>された言語がPascal、というのが設計思想でもあります。
って、ことなのでしょう。
以下、ほぼ余談。
>> ちょっと前にBASMとかいう、(Power) BASIC -> Machine Lauguage への"
>ちょっと検索してみた範囲では、引っかかってくるのは英語のサイトばかり。
>どうやら、日本では流行らなかったのではないかなぁ。
あ、なるほど。失礼しました。日本語の壁もあったのかな?
でも、Rom-BASICで最初、日本語なんて通らなかったんですよねぇ?
あのサイトの感じからして、大昔からある、というものでもない感じだったかな。
>川合 慧著 PASCAL入門
>共立出版 ISBN4-320-02150-9 1981年初版発行
(前略)
> 人間にとっては、問題を解決することが主目的であり、細かな解法は二の次となる"
> べきである。"
(中略)
> 本書では、一般的な問題の解決に必要な仕事に対して、‘計算’という言葉を使う。"
それっぽい。1981年。PC以前の時代ですね。
>もしかしたら私は「問題解決」という用語が普及するよりも古い世代なのかも。
そんなこともないでしょう。
>父の遺産です。中で扱っている言語もPASCALではなくFORTRANです。
わお! お父様もその筋のお方だったのですか。
例のCPU本には、COBOLとPL/Mも言及される。後者は1章あてて。お父様
よりとしきさんの時代?
>竹内 均著 やさしいコンピューター プログラムしよう
>日本放送出版協会 昭和44年発行 =★1969年! ISBNなし
>> わたしたちは、まず問題を分析して、問題を解くためのある手順をつくり、"
>> これを論理や数学の言葉で書き下さなければならない。"
>おぉ、ありがたいお言葉。思わず拝んでしまいそう。
としきさんの気持ちはよく想像できますよ。いやぁ、問題は回避して目をつぶる
ためにある、つまり、ないことにするのが一番ではないかと思う。そんなもの
要らないよ。でも拝もう。
自然農の教え:探せば問題は永遠に見つかる。どうせあるのだから、どうせない。
目をつぶりなさい。過去と未来を含む「ほんとうの今」を生きなさい。
宗教だなぁ。
僕があってもいいよ、と思うのは、問題でなくタスクだな。ごめんなさい。絡んでる
感じだ。
10364/10351 CRG00666 文太 Re^2: 「問題解決」(problem solving)
( 1) 22/11/04 21:20 10352:としきさんへのコメント
>私もこの辺は、わりと基本に忠実なプログラミングをしていましたね。
>昔、大学生のころ、8ビットアセンブラをハンドアセンブルしていた時代。BASIC
>でロジックを組んで、それをアセンブラに落とす、ということをしていました。
ここ、構造化ってことを言ってますよね。たぶん、おそらく。
パスカルが偉かったのは、「構造化」を可能にしたってことですよね。
僕にとって、現在、「基本に忠実なプログラミング」って、ラインエディタです。
edlinとか、使ったことないのだけど。
……
(ln==655)?.
これも割と最近の発見でした。
……
655q # sed version
プログラミングっぽくないでしょうか?
結果がでれば問題は解決されるのです。
----- たとえばこんなの -----
目次のページ情報の桁をそろえる。
;Introduction viii
; A Maze to Think About x
:a
(ln==158)? .
#> #a
&#V(65) ;エライ!
#> #d
>a
----------------------------
10365/10351 CXB00940 としき Re^5: 「問題解決」(problem solving)
( 1) 22/11/04 22:45 10363:文太さんへのコメント コメント数:3
参照先:http://toshiki.la.coocan.jp/
> でも、Rom-BASICで最初、日本語なんて通らなかったんですよねぇ?
PC-8001って、1978年くらいでしたっけ。
こいつでBASICでは半角カナだけだったと思う。
私はPC-8801を1982年ごろに買ったけど、これはオプションで定価4万円の漢字ROM
を買ってくるとDISK-BASICでとりあえず日本語表示はできた。ROM-BASICでも可能
だったかどうかは覚えていない。
PC-9801だとDISK-BASICもROM-BASICもあまり差はないのではないかなぁ。
> それっぽい。1981年。PC以前の時代ですね。
いや、もう8ビットマシン全盛時代ですよ。
当時のベーマガを見ても、20機種とか載っていたと思う。
> わお! お父様もその筋のお方だったのですか。
その筋の仕事をさせられた、といった感じでしょうか。
もともとは中卒で電電公社に入って電信技手をやっていたんですよ。
エジソンと同業。モールス符号を打つ人ね。
でも、電報機械化というヤツで配置転換。行った先がテレビの中継関係の仕事。
ところが、ここも合理化の嵐というやつで、テレビ中継の自動化という話になった。
そのシステムのプログラム作成に携わったのです。
そして、その仕事をきちんとやり遂げて。
数年後、電電公社の職員教育用のコンピュータの教科書の執筆にも携わりました。
いや、一人で1冊書いたわけではありませんよ。6人で8章ぐらいの本だから、
うちの父は1章か2章分ぐらいしか書いていないはず。
なので、私の保育園時代の会社からのお土産は、使用済みの紙テープ。本物の
紙テープを使ってウルトラマンごっこができるなんて、考えてみれば贅沢な話。
> 例のCPU本には、COBOLとPL/Mも言及される。後者は1章あてて。
PL/Mって、実はあんまり知らない。コードを書いたことも読んだこともない。
一応、PL/Iのサブセット、ですよね。
私が若かったころのコンピュータの古典的名著といわれている「プログラム書法」
という本では、中のサンプルコードはPL/Iで書かれていました。この本は大学の
図書館で借りて読んだので、一応、建前上は、PL/Iのコードを読んだことがある、
といっていいのかなぁ。
COBOLも、たしなみとしてマスターしたかったけど、触れる機会がなかったなぁ。
> としきさんの気持ちはよく想像できますよ。いやぁ、問題は回避して目をつぶる
> ためにある、つまり、ないことにするのが一番ではないかと思う。そんなもの
> 要らないよ。でも拝もう。
問題に目をつぶって回避してしまうというのはねぇ。
とりあえず、目の前に転がっている問題は、サツマイモの収穫。
収穫せずにそのまま放置してしまえ、というのは、自然農の方ならできるのかも
しれませんが、私にはそんなこと、とてもできません。
あるいは、空腹である、という問題。
そんな問題はなかったことにして、食事を取らない。
うむ、実はこれって最終的な解決かも。
10366/10351 CRG00666 文太 そこまでジャパンはすごかったのか!
( 1) 22/11/05 12:18 10365:としきさんへのコメント コメント数:1
NEC PC-8000 シリーズ
1979年5月09日 発表
1979年9月20日 出荷
希望小売価格 168,000円(周辺機器を含めないと実際のところは分からないなぁ)
9月28日がパソコン記念日/パソコンの日
1980年 日本人サラリーマンの平均年収(注)
300万円
つまり、平均月収25万円の時代(けっこう余裕で買えそう)
(あまり今と変わらない?−−非正規を除外すれば、年:473万円〔2012〕らしいが)
(『年収200万円で生きる方法』がヒットしたのが15年前? 今も同じかさらに
酷いと思うけど。)
https://nenji-toukei.com/n/kiji/10022
https://ja.wikipedia.org/wiki/PC-8000%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA
https://ja.wikipedia.org/wiki/%E7%9F%B3%E7%94%B0%E6%99%B4%E4%B9%85
おもしろい!
>> でも、Rom-BASICで最初、日本語なんて通らなかったんですよねぇ?
>PC-8001って、1978年くらいでしたっけ。
>こいつでBASICでは半角カナだけだったと思う。
>私はPC-8801を1982年ごろに買ったけど、これはオプションで定価4万円の漢字ROM
>を買ってくるとDISK-BASICでとりあえず日本語表示はできた。ROM-BASICでも可能
>だったかどうかは覚えていない。
>PC-9801だとDISK-BASICもROM-BASICもあまり差はないのではないかなぁ。
>> それっぽい。1981年。PC以前の時代ですね。"
>いや、もう8ビットマシン全盛時代ですよ。
いやぁ、ノートン先生の「8086 family tree」(PC, XT, PCjr, AT; Compaq,
Compaq Plus, Compaq DeskPro .... --- 1985視点)なんてのを読んだところで、
僕の日本無知を知らしめてくれました。(注)
当時の日本はすごかった! アメリカサイドから見るとNEC製FDDというのが
定番的に言及されてはいたのですが。
市場を含めて考えると、ちょっと先を行っていたのかも。
NEC98があそこまで(Win95までだっけ?)引っぱれたわけも理解できました。
しかしBASMが日本で受けなかった理由は分からないなぁ。
ソフトは書くものでなく買うものの時代に、すぐになったのかなぁ?
Pascal, C のブームがすぐ来た? Vzの時代かも。
続きは、明日以降です。
だるいの。
(注)僕は、すぐさま当時の16万円っていくらのこと? とか発想してしまった。
ところが、ノートン先生の記述には、いっさいPCの市場価値(それとの相関)への言及
がない。ノートン先生、紳士ですねぇ。
10367/10351 CXB00940 としき Re: そこまでジャパンはすごかったのか!
( 1) 22/11/05 12:58 10366:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> つまり、平均月収25万円の時代(けっこう余裕で買えそう)
ボーナスというものもありますからね。
税金その他を考えると、月給の1か月分、というのが相当かと。
でも、普及の最初期、ということを考えると、かなり安いような気がする。
例えば、昭和30年代のテレビとか、いわゆるモータリゼーションといわれた、
同じく昭和30年代の自動車の月給に対する比率との比較ですが。
> 当時の日本はすごかった! アメリカサイドから見るとNEC製FDDというのが
> 定番的に言及されてはいたのですが。
パソコン用のFDDについは、少なくとも20世紀末、または21世紀初頭までは、
NEC製がかなり強かったはず。新品のシェアなんて知りませんが、21世紀のはじめ
ごろ、ジャンク屋で見かけるFDDはNEC製かミツミ製ばかり。
東芝のHDDと同じような感じかなぁ。
> しかしBASMが日本で受けなかった理由は分からないなぁ。
> ソフトは書くものでなく買うものの時代に、すぐになったのかなぁ?
> Pascal, C のブームがすぐ来た? Vzの時代かも。
BASMって、そもそもいつごろ発表されたものなんでしょうか。
BASICのコンパイラなら、ほかにいくつか知っています。
「信長の野望」で有名な光栄も出していました。
CP/Mだったか、コマンドラインに「BASICC」というコマンドをうつコンパイラと
いうものも使った記憶があるけど、私のニーズにはあわなかった。DOSの時代に
なってからだったかなぁ。もはや覚えていない。
あと「BC」で起動するコンパイラもあったような、あぁ、忘却のかなた。
前にも書いたけど、私、BASICをアセンブラにする、というニーズはありました。
何をやりたかったかというと、浮動小数点演算。でも、当時の8ビットマシンの
時代に入手可能なBASICコンパイラって、ほとんど整数型のみ。雑誌に掲載されて
いたものもありましたが、そういったものしかなかったはず。
それこそ、自分でBASICコンパイラを作りたかったくらい。
だけど、大学でコンパイラの授業もとったけど、さっぱり理解できなかった。
もしかしたら、単位を落としたかも。一応、教科書は残っている。
なお、8ビット当時、BASIC以外の言語も、あることはありました。
クリーンコンピュータで有名なMZ-80シリーズに、少なくともPascalはあった。
たぶん、FORTRANもあったのではないかなぁ。
CP/M上では、FORTRAN、Pascal、C、COBL、PL/Mと、一通りありました。
またパソコン雑誌には、BASICコンパイラ以外に、独自言語もいろいろと発表されて
いました。microPASCALとか、TL/1とかGAMEとか。どれも大体ゲーム開発用の機能は
一通り備えていました。というか、当時の世間での最大のニーズはゲームでしたから。
だからといって、言語名がGAMEというのはすごいな。そして、TL/1もGAMEも、私の
記憶が確かなら、いずれもALGOL系というか、Pascalっぽい言語仕様だったような。
違ったかなぁ。
10368/10351 CXB00940 としき 補遺とか訂正とか
( 1) 22/11/05 15:29 10365:としきさんへのコメント コメント数:3
参照先:http://toshiki.la.coocan.jp/
自室で横着して記憶に頼らず、きちんと現物を確認してみました。
とはいえ、PC-8801のマニュアルとかは実家に戻らないと見れません。
とりあえず、自宅にあるもの、というところで。
> > でも、Rom-BASICで最初、日本語なんて通らなかったんですよねぇ?
> PC-9801だとDISK-BASICもROM-BASICもあまり差はないのではないかなぁ。
手元にあった「N88-日本語BASIC(86)ユーザーズマニュアル」第1章の冒頭の記述
から引用。
> PC-9800シリーズの各機種の本体にはN88-BASIC(86)インタプリタのROM(96KB)が内蔵
> されています。このROMにはN88-BASIC(86)の基本機能が組み込まれており、電源を入れた
> だけでBASICを使うことができます。このBASICをROMモードBASICと呼びます。
> また、N88-日本語BASIC(86)のシステムディスクをフロッピィディスク装置にセットして
> BASICを起動させると、BASICの機能が拡張し、フロッピィディスク装置の使用、日本語の使
> 用などさまざまな機能が使えるようになります。このBASICをDISKモードBASICと呼びます。
そうなんだ、知らなかった。
文太さんの記憶のほうが正解でしたね。
> > それっぽい。1981年。PC以前の時代ですね。
> いや、もう8ビットマシン全盛時代ですよ。
> 当時のベーマガを見ても、20機種とか載っていたと思う。
81年は、8ビットマシン全盛の、ちょっと手前でしたね。
82年のベーマガで、ポケコン含めて20機種ぐらいの掲載でした。
> > わお! お父様もその筋のお方だったのですか。
> その筋の仕事をさせられた、といった感じでしょうか。
思い出話を一つ。
うちの父がコンピュータに携わっていた時代って、まだキーボードのJISが制定される
以前だったようです。なので、私が買ったPC-8801で数年ぶりにキーボードに触れた
ときに、記号とかカナの刻印の並びが昔と違う、なんてことを言っていました。
> 数年後、電電公社の職員教育用のコンピュータの教科書の執筆にも携わりました。
> いや、一人で1冊書いたわけではありませんよ。6人で8章ぐらいの本だから、
> うちの父は1章か2章分ぐらいしか書いていないはず。
書棚で現物を確認したら、5章の本を4人で執筆、でした。
うちの父が書いた分量に変わりはないと思うけど。
そして、その電電公社の教科書と並んで、私の全く読んだこともない本が数冊。
引越しの際に実家から持ってきたものだけど、何でこんなものを持ってきたんだろう。
その中にあったのが「別冊 ソフトウェア科学」。
産報という会社のだしていた「ソフトウェア科学」という雑誌の別冊、という体裁な
わけですが、そんな会社も雑誌も聞いたことがない。
後ろのほうのページの広告によると、別冊ではなく本体のほうの「ソフトウェア科学」
のキャッチフレーズは「ユーザーのためのコンピュータ専門誌」だそうな。
ユーザーのほうは音引きがあるのにコンピュータのほうにはないというのは興味深い。
それはさておき、この別冊というのが2冊あり、そのうちの1冊、1970年5月に
発行されたNo.1は「図解COBOL」。
ぅぉぉ、なんてこった。これで勉強していればよかったんだ。そうすれば
> COBOLも、たしなみとしてマスターしたかったけど、触れる機会がなかったなぁ。
たしなみ程度にはマスターできたかもしれない。
触れる機会がなかった、なんて、認識が甘いにもほどがある。
当然、私の学生時代にも、この本はすぐ手の届くところにあったはずなんだから。
ちなみに、もう1冊の別冊は1970年12月のNo.4「図解フローチャート」。
ところで、これらの本と並んで発掘されたのが、I/O誌1981年4月号。
この当時はパソコン誌は買っていませんから、あとから古本屋で入手したのでしょう。
そして、これの特集が「BASICコンパイラ」。うむ、なるほど、欲しくなったときに
たまたま見かけて購入したといった感じ。
ただ、特集といいつつ、中を覗くと、PC-8001用のBASICコンパイラの記事が一つだけ。
他の記事は、MZ-80用のアセンブラと、KUMAJIRIなる独自言語のベーシックマスターへの
移植。なんだこりゃ。
だけど、広告ページをピンポイントで覗いていくと、かなり興味深いものもある。
例えば、ハドソンがMZ用にBASIC COMPILERとかTini FORTRAN、Tiny ALGOLといったものを
出していたり、とか。シャープがMZ用にPASCALインタプリタを出していたり、とか。
ところで、PASCALといえば、先に触れたmicro PASCAL。
これについて記載しているのはASCIIの出した「プログラムライブラリ」という本です。
これはASCII本誌に掲載された記事をまとめたものだと思います。
この記事の冒頭には、以下のように記載されています。
> はじめに:
> 80年1月に丸山氏によって発表されたmicro PASCALは、その後TRS、MZに相次いで
> 移植され、早くもGAMEに続く80系マシンの標準言語になろうとしています。私も
> 発表後すぐにPC-8001に移植してみましたが、その高速性に驚き(後略)
なかなか、当時のマシンや言語環境を彷彿とさせてくれる文章だと思います。
10369/10351 CRG00666 文太 Re: 補遺とか訂正とか
( 1) 22/11/06 12:20 10368:としきさんへのコメント
ちょびっとだけサクっと。
>> PC-9800シリーズの各機種の本体にはN88-BASIC(86)インタプリタのROM(96KB)が内蔵
>> されています。このROMにはN88-BASIC(86)の基本機能が組み込まれており、電源を入れた
>> だけでBASICを使うことができます。このBASICをROMモードBASICと呼びます。
>> また、N88-日本語BASIC(86)のシステムディスクをフロッピィディスク装置にセットして
>> BASICを起動させると、BASICの機能が拡張し、フロッピィディスク装置の使用、日本語の使
>> 用などさまざまな機能が使えるようになります。このBASICをDISKモードBASICと呼びます。
貴重な引用をありがとうございました。
>そうなんだ、知らなかった。
>文太さんの記憶のほうが正解でしたね。
いえいえ、僕にその手の記憶があるはずがありません。Basicに触れたのは
1か月前が生まれて初めてですから。『ざべ』とか『べーまが』という過去ログで
頻出する単語の意味がわかるのにniftyに入ってから10年くらいかかったと思しいです。
ですから、Rom-Basicの話は、想像と推測です。外れることの多い文太の得意技。
別の言い方をすると、僕は想像を絶する変人だ、ということです。
ただ、その後、Win9xには、olddosなるフォルダがシステム近辺にあり、そこに、
qbasic.exeが入っていることを知り、試してみた(のだっけ?)ら、やはり想像どおり、
日本語は通じず、us モードでないと機能しないことを発見しました。
日本語の壁、NEC-98アーキテクチャーの壁、いろいろあったんですね。
悪口ではないですが、ガラパゴスしちゃうよなぁ、と。
ちょっと賢そうなふりをしてつけ加えると、何しろ1.3億人の独自言語をもった
人々の市場です。いったん方向がずれると、軌道修正はなかなかできなかったのでしょう。
巨大タンカーの針路変更のごとく。
もっとどうでもいいことを少し。
Peter Norton's Inside the (IBM) PCという本(シリーズ)は、たいへん長寿で、
僕の手元には2002年版もあります。わりと大幅改訂しながら長寿を保った模様。
2002年版ではさすがにBasicのプログラム・リスティングは載っていない。過去のものとして
歴史記述されるのみ。しかし、1997年の7版では、初版、2版(1983, 1986. これらも
けっこう大きく違う)のものとは違うBasicプログラムが掲載されていました。
このシリーズに関して「残念」(?)なのは、一般大衆向けにやや専門的にPCの原理
を解説する本だから、PC世界が複雑化するについてどんどんプログラミングから離れて
いってしまったこと。初版や2版では、マシン語、Basic、Pascalのプログラム・リストから
debugの使い方、アセンブラの使い方、まで記述されていたのに、インターネットだ、XPだ、
NTVDMだ、スキャナーだ、pdf、タッチパネルだという後年版になってくると、もう
プログラムを「書く」、それを教える、みたいなところがなくなっちゃったのですね。
その他のお父様のお話など、とてもとても興味深く読んでいます。
ありがとうございます。
楽しい! 面白い! です。
>なかなか、当時のマシンや言語環境を彷彿とさせてくれる文章だと思います。
なんか熱いですねぇ。ワクドキが伝わってくる。
色々書きたいのだけど、だるいの。そして、今日20本のレポートを読みコメントを
入れ、4種のテストを作り、授業用に映画を1本みなくてはいけない。
to do リストを作ったら、もう、うんざりしてきた。
とにかく1ミリでも前に進まなくては……。山をくずせ、アリのように。
ちょっとずつレスを返していきます。
10370/10351 CXB00940 としき Re: 補遺とか訂正とか
( 1) 22/11/07 19:16 10368:としきさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
かなりどうでもいいことです。
> 産報という会社のだしていた「ソフトウェア科学」という雑誌の別冊、という体裁な
この会社と雑誌が気になったので、調べて見ました。
きちんと調べるのなら国会図書館ですが、ネットでざっくり、で十分。
結果。
産報出版という、後継の会社が存在していました。
現在は、溶接関係の本や雑誌を出しているようです。
会社概要のページ(ttps://www.sanpo-pub.co.jp/about/)によると
1948年11月 「溶接ニュース」(週刊)を創刊。これをもって創業とする。
なお、発行は社団法人溶接学会から行われた。
1962年04月 株式会社産報と改称。
1985年05月 旧産報の事業整備のため溶接出版部門が分離独立し産報出版株式会社を
設立、現在に至る。
だそうで。
なるほど、祖業回帰に当たって、現在はコンピュータ関係は扱っていない、と。
ん〜、そちらのほうは一体どうなったんだろう。ちょっと気になる。
さらに検索を重ねると、引っかかってきたのがツイッター。
ttps://twitter.com/akakit/status/1111251040370716673
おや、こちらだと雑誌名は「ソフトウェア」となっている。でも
> 後ろのほうのページの広告によると、別冊ではなく本体のほうの「ソフトウェア科学」
> のキャッチフレーズは「ユーザーのためのコンピュータ専門誌」だそうな。
キャッチフレーズは同じ。
どうやら、雑誌名が「ソフトウェア」から「ソフトウェア科学」に変わったらしい。
さらに追いかけてみたら ttps://acaddb.com/books/articles/5651069 より
> 巻次・年月次
> 2巻5号 (1970.5)-6巻8号 (1974.8) = 通巻9号 (1970.5)-通巻68号 (1974.8)
> 雑誌変遷 ID 00151400
> ソフトウェア = Software ID AN00285688
> 産報 [編] 産報
> 通号表示併記: <1巻2号 (1969.11)>-2巻4号 (1970.4) = <通巻2号 (1969.11)>-通巻8号 (1970.4)
> 産報 1969-1970
なるほど、最初の8冊だけ「科学」がなかったのね。
ところで、上記「別冊」の後ろページに掲載されている本体の広告は1970年6月号。
ほほう、改題されて2号目、なのか。
また、廃刊はオイルショックのころ。あまり売れなかったということなんでしょう。
大型コンピュータのユーザ向けの雑誌のようですし。
ついでなので、1980年前後、いわゆるマイコンブームを牽引した大手誌の創刊を調べて
みたところ
工学社 I/O 1976年10月創刊
アスキー 月刊アスキー 1977年6月創刊
電波新聞社 月刊マイコン 1977年8月創刊
廣済堂 RAM 1978年2月創刊
ということでした。「ソフトウェア科学」も、あと数年がんばって、さらに路線変更
していたら、という気もしなくもない。
さて、産報。
こちらのほうも、もうちょっと検索をしていたら見つけたのが以下。
ttps://daihanrei.com/l/%E6%9D%B1%E4%BA%AC%E5%9C%B0%E6%96%B9%E8%A3%81%E5%88%A4%E6%89%80%20%E6%98%AD%E5%92%8C%EF%BC%95%EF%BC%94%E5%B9%B4%EF%BC%88%E3%83%AF%EF%BC%89%EF%BC%96%EF%BC%96%EF%BC%96%EF%BC%92%E5%8F%B7%20%E5%88%A4%E6%B1%BA
なんか、有名漫画家の本名が原告の中にある。
原告筆頭の方の名前は知らなかったけど、別の有名漫画家のお兄さんということで、
Wikipediaにも名前が載るくらいの大物。
これが確定判決かどうかはわからないけど、この判決が昭和54年、つまり1979年。
ということは、裁判の期間を考えると、1975年前後から、この産報という会社、いろいろと
手を出していた模様。多角化経営というヤツでしょう。でも、それがうまく行かなくて
1985年に事業整備ということになったのではないか、と推測できてしまいます。
大ハズレかもしれませんけどね。
あぁ、一体私は何を調べているのやら。
時間のムダとはいわないけど、ちょっと好奇心の方向がアレすぎるような気がする。
10371/10351 CRG00666 文太 Pascal & Basic
( 1) 22/11/07 23:03 10367:としきさんへのコメント コメント数:2
英語のまんまで、ごめんなさい、読んでくだされ。がんばれ!
Personal Computer Computer Language Series
Pascal Compiler
Copyright International Business Machines Corporation 1981
First Edition (August 1981)
from the above, below
Pascal, a relatively modern language, has benefited
from many earlier languages (such as ALGOL)
and is forming the basis of several new ones.
IBM has added several goals to this list:
IBM Personal Computer Pascal is designed to be
a systems implementation language, especially
suitable for writing compilers, interpreters,
operating systems, and so on.
2点ほど、接点があったので。
IBM 初号機(1981)には、Pascalが付いてきたみたいで、ALGOLが先祖、
そしてコンパイラが作れるようにと IBMは、オリジナル・パスカルからいくらか
拡張をした、とありますね。
この拡張というのが何なのか分からなかったのですが。
ただ、僕が何となく思っているのは、basicコンパイラ(BCってたしか
MSの製品でなかったかなぁ?)と、Basic -> Asmに翻訳して、アセンブル
するのとは、ちょっと違うのじゃないかな、ということ。
何となくアセンブルすると、すごく速くなりそう。ここが、ぼくが
BASMを面白いかな、と思った点。
>BASM! The BASIC to 286 Assembly Language Translator (c) 1998
というように、Basicが流行っていたときのものではないですね。
Power Basicって何なのか(商品っぽい)調べておきます。
Basicが方言まみれで収拾つかなくなってしまった、という話は聞いて
います。方言だらけなんでしょうね。
でも僕が面白がる部分は……。所詮、テキスト処理ツール部分と
あとメモリとちょっとシステム寄りな部分だけでしょうから。
親父さんは、COBOLも勉強したんだぁ。昔の人は偉いですよねぇ。
Miyataさんが、「仕事はCOBOL、つまんない」とか言ってませんでしたっけ?
ここから僕が思うのは、やっぱエディタはエディタで、「言語」で
プログラムする前に、いろんな工夫があるんだろうな、ということ。
僕は、残りの人生をかけて、基本的に、これをやりたい。
1 Vzを極める。
2 Vzの存在意義を実証する=プログラミングする。道具は使って
なんぼよ。
まだまだ疲れてるけど、イエイ!
10372/10351 CRG00666 文太 cplate.def (v1.00) 再掲
( 1) 22/11/07 23:10 10371:文太さんへのコメント
ふとこんなののことを思い出しました。
コメントもオリジナルです。「$」の使い方が教育的ですね。
FGALAPだと思います。
======== cplate.def (v1.00) ========
;127/376 NBH01153 BANT-iT c.mos氏のC言語テンプレート・マクロ
;(12) 91/04/18 01:23
* M マクロ
50 [CR] "{..}"
?.
; (fe<4||fe>5)?. ; 拡張子の判定
#s (cd!='{') #d ?{ #m . }
#m '}' #n #21
51 \[TAB] "Cテンプレート"
?.
; (fe<4||fe>5)?.
#s c=cd, #d
&f(c,"iewfscrd") (r<0)? .
p=$, p.8=c, >i ; こういう手もあるわけやね
:i "f ()" #s .
:e "lse" .
:w "hile ()" #s .
:f "or ()" #s .
:s "witch ()" #s .
:c "ase:" .
:r "eturn" .
:d "o {" #m "} while();" #n #21 .
*
======== End of cplate.def ========
10373/10351 CRG00666 文太 Re^2: 補遺とか訂正とか
( 1) 22/11/08 15:20 10370:としきさんへのコメント
確かに好奇心の方向はアレですが、だいたい話は追えました。
溶接会社がソフトウェア関連の雑誌をねぇ。
それぐらいのフットワークの軽さがないと「成功」できないのかも。
ま、この手の世の中と時流にそった生き方話というのも、たまには
好奇心を引きはします。
漫画描いてもらったのに、原稿料が払えなかった、とか?
でも、僕は1980年代のMS-DOS関連を一生いきるらしく……。
こっちのほうが余程ビョーキ度は高いか重いか、という気がしました。
正気を失ってはいない、、、と、思う。
市場規模が違う、というのが大きいのでしょうが、アメリカの雑誌って
pdfがけっこう落ちています。PC (Tech|Disk) Journal, Byte etc etc ....
日本語のになると、スキャナ(OCR)にかけられない、NEC98
の絶対的時代境界線がある、などの理由で、あまり探す気にならないのです
よねぇ。
こっちも絶対に最終ラインはあるでしょうが、図書館で本(古い本)
を借りるほうが、僕にはまだ現実的だったりします。
やがて廃棄処分になってしまうのだろうけど。
10374/10374 BQO00549 konno ノートPCの更新
( 1) 22/11/08 22:23 コメント数:1
今年の春の書き込みでノートPCが壊れた話をしました。
#10182:ノートPCが壊れた 投稿者:konno 2022/03/31(木)
それから2ヶ月間古いノートで頑張っていたのですが、うちの奥様が
「もう新しい(新品)パソコンを買ったら」というので、ケチな私は
まーぶるPCで中古のノートPCを買いました。予算は5万で。(^^;
> 新品SSD512GB搭載サクサク中古ノートPC メモリ16GB コアi5(第6世代以上) 【中古】 メーカー選んで任せて特選ノートパソコン 東芝/NEC/富士通/海外(HP/Lenovo/Dell等) Windows10 WPS Office搭載 DVD-ROM WEBカメラ(数量限定) 無線LAN付き 15.6型 中古パソコン(saku2note1-FUJITSU)
これを見て、東芝は懲りていたので憧れの富士通にしました。(^^;
商品は6/21(火)に届きました。
仕様は
メーカー:富士通 FMV
型番:FMVA16001
モデル名:LIFEBOOK A576/P
CPU:Core i5-6300U
OS:Windows10 Pro 64bit
ディスプレイ:15.6インチ
解像度:1366*768 FWXGA(HD)
ストレージ:500GB(SSD)
メモリ:16GB
クロック:2.4GHz
オフィスソフト:WPS
ODD:DVD-ROM
無線LAN:IEEE 802b/g/n 準拠*無線LAN子機同梱
有線LAN:1000BASE-T/100BASE-TX/10BASE-T準拠
オリジナルはストレージ:500GB(HDD)、メモリ:2GB なので
これで¥49999なら必要充分です。テンキーも付いていますし。
キーボードの感触は東芝のより良いです。
ただマウスパッドの面が周りと完全にフラットでかえって誤操作の原因になっています。(^^;
ところが使い始めて早々、ブルースクリーンが頻発するトラブルに見舞われました。
その間色々あって今まで新ノートPCのことは書かなかったのですが、そろそろ書くことにしました。
この話は少しづつ書いたり書かなかったりすると思います。(^^;
10375/10374 BQO00549 konno ハイブリッドスリープとSSDの寿命
( 1) 22/11/08 22:45 10374:konnoさんへのコメント
新しいPCを使っていて気になったことがあります。
スリープモードになるたびにHDD(SSD)ランプがしばらく点滅するのです。
もしかしてメモリの内容を毎回スリープのたびにSSDに書き込んでいる?
ノートPCゆえ毎日数十回スリープしているので、もしもメモリに書き込んでいたら
SSDの寿命が数年で尽きてしまうかもしれません。
前のPCのSSDが2年で駄目になったのも、もしかしたらこのせい?
SSDが中古だった可能性も疑ってしまいましたが今回のは新しいようです。
とりあえずこわいので設定を変更しました。
設定>電源とスリープ>電源の追加設定>コンピュータがスリープ状態になる時間を変更
>詳細な電源設定の変更
スリープタブを展開
ハイブリッドスリープを許可する の項目を全て オフ にする
これでハイブリッドスリープは普通のスリープになりました。
ちなみに休止もメモリをHDD(SSD)に書き込んで電源をオフにします。
気になる方は設定を変えましょう。
10376/10351 CXB00940 としき Re: Pascal & Basic
( 1) 22/11/09 13:00 10371:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 英語のまんまで、ごめんなさい、読んでくだされ。がんばれ!
機械翻訳を使わず、辞書だけでがんばった。
> IBM Personal Computer Pascal is designed to be
> a systems implementation language, especially
> suitable for writing compilers, interpreters,
> operating systems, and so on.
Wikipediaにもありますが、もともとPascalでPascalコンパイラというのは書ける
わけで、これはほかの言語のコンパイラを書くことができるようにしたい、という
意味なのかなぁ。
> この拡張というのが何なのか分からなかったのですが。
先に書いたmicroPASCALですが、PC-8001への移植に当たっては、グラフィックの
関係のライブラリを追加した、というような話がありました。同様な事例として、
PascalにWindows対応のライブラリをくっつけたらDelphi、なんていう話もある
ようで、この比喩が的確かはわかりませんが、もしかしたらそういうことなのかも
しれません。
> ただ、僕が何となく思っているのは、basicコンパイラ(BCってたしか
> MSの製品でなかったかなぁ?)と、Basic -> Asmに翻訳して、アセンブル
> するのとは、ちょっと違うのじゃないかな、ということ。
言葉のニュアンスが違う、というのはわかります。
でも、コンパイラというのは多くの場合、マシン語を直接出力します。
一方、アセンブラというのは、原義としては、マシン語と1対1の変換機。
なので、「Basic -> Asmに翻訳」というのがマクロ構文をビシバシ使っている
ものに対する翻訳であれば高級なプリプロセッサだと思いますが、単にマシン語
に翻訳するだけであれば、それはコンパイラに他ならない。
あとは、BASMという言語そのものがどういったものか、という点も知りたい。
つまり、世間一般で流通しているBASICとの言語仕様の差異とか制限とか。
極端なことを言うと、アセンブラのレジスタの数しか変数が使えない、なんて仕様
のBASICなら機械語に変換するのもたやすいかもしれない、みたいな感じで。
10377/10351 CRG00666 文太 Re^2: Pascal & Basic
( 1) 22/11/09 23:06 10376:としきさんへのコメント コメント数:2
>機械翻訳を使わず、辞書だけでがんばった。
がんばりました〜!!! (^^)/~~~~
>Wikipediaにもありますが、もともとPascalでPascalコンパイラというのは書ける
>わけで、これはほかの言語のコンパイラを書くことができるようにしたい、という
>意味なのかなぁ。
そういう意味なのではないですかねぇ。
> この拡張というのが何なのか分からなかったのですが。
APPENDIX E. PASCAL STANDARD AND IBM FEATURES
Summary of IBM Pascal Features
This list summarizes the extensions added to Standard Pascal.
Syntactic and Pragmatic
Metalanguage
Metacommands: ;これらはコンパイラへの擬似命令。
$BRAVE
$DEBUG
$ENTRY
どどどどど。5ページくらい。読む気にならない。
読んでも大半わからないだろう。
>言葉のニュアンスが違う、というのはわかります。
>でも、コンパイラというのは多くの場合、マシン語を直接出力します。
>一方、アセンブラというのは、原義としては、マシン語と1対1の変換機。
>なので、「Basic -> Asmに翻訳」というのがマクロ構文をビシバシ使っている
>ものに対する翻訳であれば高級なプリプロセッサだと思いますが、単にマシン語
>に翻訳するだけであれば、それはコンパイラに他ならない。
ふーん。コンパイラよりアセンブラのほうがもっとマシンよりなのかと思って
ましたけど、そうとも限らない、と。ふーん、です。
>あとは、BASMという言語そのものがどういったものか、という点も知りたい。
どうしても本気で知りたいなら、basm最終版を落としてもらって、basm.txtを
読んでもらうしかないですが、僕がなんとなく理解できたのは、
・配列に制限がある
・複文(?)=関数の返り値が関数の入力になるようなのはダメ=単文2つに分けよ。
・.comモデル用ソース生成で、relocatableなのは作れない。コンパイル時にメモリ
配置が固まるものに限る。
ぐらいでしょうか。
いっぱい足りないものがあるのかもしれませんが、概略としてはこんな感じ
みたいです。↓
"BASM supports the following statements and functions:"
Say 07,07,"DIR$ HEX$ OPEN CLS REPLACE"
Say 07,08,"SHELL ASC CLOSE PRINT SWAP"
Say 07,09,"TIME$ ABS KILL INPUT DELAY"
Say 07,10,"DATE$ BIN2DEC CHDIR POS ASM"
Say 07,11,"COMMAND$ GETKEY MKDIR CSRLIN BEEP"
Say 07,12,"CURDIR$ INSTR RMDIR LOCATE DIM"
Say 07,13,"UCASE$ VAL NAME COLOR ARRAY SORT"
Say 07,14,"LCASE$ LEN PRINT# FRAME ARRAY INSERT"
Say 07,15,"MID$ SGN INPUT# GETSCREEN ARRAY DELETE"
Say 07,16,"TRIM$ EOF LINE INPUT# PUTSCREEN SCAN"
Say 07,17,"LTRIM$ ERR EOF CHANGEATTR MOD"
Say 07,18,"RTRIM$ AND DIR$ VIDEOCARD INCR"
Say 07,19,"EXTRACT$ OR CURDIR$ DEF SEG DECR"
Say 07,20,"REMOVE$ XOR GET$ PEEK SHL"
Say 07,21,"REPEAT$ NOT PUT$ POKE SHR"
Say 07,22,"SPACE$ TICKS LEFT$ RIGHT$"
END SUB
SUB Display3
ReFrame
Say 13,05,"BASM supports a rich set of control and loop constructs
Say 07,07,"DO - EXIT LOOP - LOOP
Say 07,08,"FOR - NEXT - STEP - EXIT FOR
Say 07,09,"IF - THEN - ELSE - END IF
Say 07,10,"SUB - EXIT SUB - END SUB
Say 07,11,"GOTO labelname
Say 07,12,"GOSUB labelname
Say 07,13,"RETURN
Say 07,14,"FUNCTION - EXIT FUNCTION - END FUNCTION
Say 07,15,"CALL subname [parameters] { CALL is optional }
Say 07,16,"SELECT - CASE - END SELECT
Say 07,17,"WHILE -EXIT WHILE- WEND
Say 07,18,"END [optional DOS Errorlevel value]
END SUB
じゅうぶん立派な気がする。GOTO、悪くないと思うけどなぁ。
>極端なことを言うと、アセンブラのレジスタの数しか変数が使えない、なんて仕様
>のBASICなら機械語に変換するのもたやすいかもしれない、みたいな感じで。
なかなか受けましたが、そのようなことは書いてなかったと思う。
keep instructions short,
use the registers,
use string instructions,
というのが、速いコードを書く鉄則だそうです。気にしないけど。変数、大好き。
当たり前のことがさらりと書いてあっただけなのですが、引用元は、Zen of Asm Lang
です。知ってる? 怖いよ、タイトルからして。同じ著者の別の本のタイトルは、
Black Bookです。こ、怖いです。5年先にすら読もうとする可能性はかなり低い。
もちろん、アサム本です。
10378/10351 BQO00549 konno Re^6: 「問題解決」(problem solving)
( 1) 22/11/09 23:55 10365:としきさんへのコメント コメント数:1
としきさん
> ところが、ここも合理化の嵐というやつで、テレビ中継の自動化という話になった。
> そのシステムのプログラム作成に携わったのです。
> そして、その仕事をきちんとやり遂げて。
> 数年後、電電公社の職員教育用のコンピュータの教科書の執筆にも携わりました。
お父様は凄い人だったのですね。
最近のNHKのプロジェクトXで富士通VSIBMを見たんですがその時代の人ですよね。
オフィスコンピュータでCOBOLというところなんでしょうか。
現場の人がプログラム作成って、相当のスキルがないと無理だと思います。
今は絶滅しましたが、私もその時代の生き残りだと自負しています。
もっとも私は勝手にやり始めたアムロみたいなもので黙認してもらっていた口ですが。
でも実績こそ力、と思ってやり通しました。
# 絶滅したと思われていたのが地下で千年もROMってたとか・・・以下略
10379/10291 BQO00549 konno Re: 公開版VZの修正ができました。
( 1) 22/11/10 00:44 10334:konnoさんへのコメント コメント数:1
VTDOS のエラーは #i のルーチンで起こっているように見えます。
今回はその中からエラー回避でき、テストデータで問題が出ない箇所を見つけました。
MEMO.ASM 855行目あたり
txtmov1 proc
push es
movseg es,ds
mov cx,[bp].tend
sub cx,si
jc txtm19 ;★##k 221108 VTDOSエラー回避
call memmove ;VTDOS err?
add cx,di
mov [bp].tend,cx ; update tend
txtm19: pop es ;
ret
txtmov1 endp
この★印を追加することで Bl1024*3 でもエラーで落ちなくなりました。
Bl1024*3 の時は内容が壊れますが、この追加があれば他の修正がいらないようです。
非常駐だと Bl1024*3 でも正常処理されます。謎です。違いは何なのだろう。
完全ではありませんがこれと Bl8192 の修正をしたテスト版VZを揚げてみようと思います。
10380/10351 CRG00666 文太 Zen of Assembly Language
( 1) 22/11/10 01:00 10377:文太さんへのコメント
DeepL にかけてください。
A case in point: a few years back, I came across an article about 8088
assembly language called "Optimizing for Speed." Now, "optimize" is not
a word to be used lightly; Webster's Ninth New Collegiate Dictionary
defines optimize as "to make as perfect, effective, or functional as
possible," which certainly leaves little room for error. The author had,
however, chosen a small, well-defined 8088 assembly-language routine to
refine, consisting of about 30 instructions that did nothing more than
expand 8 bits to 16 bits by duplicating each bit. (We'll discuss this
code and various optimizations to it at length in Chapter 7.)
The author of "Optimizing" had clearly fine-tuned the code with care, examining
alternative instruction sequences and adding up cycles until he arrived at
an implementation he calculated to be nearly 50% faster than the original routine.
In short, he had used all the information at his disposal to improve his code,
and had, as a result, saved cycles by the bushel. There was, in fact, only
one slight problem with the optimized version of the routine... It ran slower
than the original version.
き、厳しすぎる。
著者の名は、Michael Abrash.
10381/10291 CRG00666 文太 Re^2: 公開版VZの修正ができました。
( 1) 22/11/10 01:08 10379:konnoさんへのコメント コメント数:1
konnoさま(さま付けかよ)
お疲れ様です。
>完全ではありませんがこれと Bl8192 の修正をしたテスト版VZを揚げてみようと思います。
テスト版を是非。ただ、ベースになった版も明記ください。じゃないと長期にわたって
使用し、バグ、出る? 出ない? とはできないからです。
もっとも安定したヴァージョンをベースにしてくれると嬉しいです。それは、どの版?
--- my vz.def ---
Bl8192 ;line buf (256..(Bt*1024/8))
-----------------
これは、日本語を使う身としては、さすがに譲れませんから。日常業務において。
テストだけしてみて欲しいというのであれば、曖昧でもいいですから、こういう場合はどう?
と指示してくださると嬉しいです。しばらくテスターになる気持ち(ほい?)はありますよ。
10382/10291 BQO00549 konno Re^3: 公開版VZの修正ができました。
( 1) 22/11/10 19:52 10381:文太さんへのコメント
> テスト版を是非。ただ、ベースになった版も明記ください。じゃないと長期にわたって
> 使用し、バグ、出る? 出ない? とはできないからです。
> もっとも安定したヴァージョンをベースにしてくれると嬉しいです。それは、どの版?
ベースは VZK07T01 です。過去記事で
#10257:Re^2: すれ違いと待ち伏せ 投稿者:文太 2022/08/24(水)
> 僕は、Vzk k07t01 という版を使っているようです。うーん、このキー増強とか
> だけ、k07t01 に入れたいな、とか思っています。
こう書かれていたので、VZK07T01 が良いのかなと思いました。
それで確認のためにVZの部屋を見てみたら、げげ、VZK07T01.LZH が公開停止になっている!!
検索してみると
#8590: VZk07t01 公開停止 & VZk07t 公開版の差し替え 投稿者: konno 2018/11/16(金)
> #8369 で公開したVZk07T1 (2018/10/17) は、バグが有ったので、公開停止しました。
> 使用されている人はすぐに使用中止願います。
> 代わりに、VZk07t 公開版の pc ズレ修正・差し替え版をアップしました。
> こちらは問題ないと思います。
こう書いていました。その理由は #8591 で
> DOSモバでSORT.DEF(高橋版)を試してみました。
> VZO、VZT、は問題なく動作しました。が
> VZK07t1 は、起動BATで常駐した時は、異常になります。
>
> 調べてみたら、アセンブルでポカミスしていました。
> この版はすぐに公開停止しましたが、使用している人はすぐ使用中止願います。
> ご迷惑おかけして申し訳ありません。
ということなんですが、どうも文太さんとshadowさんは、K07T01 をお使いのようで。
#08611 の文太さんの書き込みでは
> 2018/10/17 19:11 62,184 vz.com (k07t01) ;最新−1(前の版)
この日付とサイズの版が良いということですよね。
私はこのころ話がすれ違っているのに気が付いていなかったようです。
こちらの方が問題ないということであれば、再公開しようと思います。
ソースも公開すれば違いとか確認できますね。
> テストだけしてみて欲しいというのであれば、曖昧でもいいですから、こういう場合はどう?
> と指示してくださると嬉しいです。しばらくテスターになる気持ち(ほい?)はありますよ。
ファイルが壊れる可能性はありますが、テストしていただいて問題点がわかればうれしいです。
よろしくお願いいたします。
10383/10351 CRG00666 文太 DOSとBasic
( 1) 22/11/11 01:14 10368:としきさんへのコメント
歩いていたら、たまたま目に入って、うーん、そういうことだったんだなぁ、と。
MSの歴史の中でのOSとBasicの関係。stand-alone Basic と MS-DOSの
ディスク管理という接点。
Microsoft and BASIC
On the surface, BASIC and MS-DOS might seem to have little in common, but in terms of file management,
MS-DOS is a direct descendant of a Microsoft version of BASIC called Stand-alone Disk BASIC.
上、The MS-DOS Encyclopedia p.3 より。
10384/10351 CXB00940 としき Re^7: 「問題解決」(problem solving)
( 1) 22/11/11 02:06 10378:konnoさんへのコメント
参照先:http://toshiki.la.coocan.jp/
> お父様は凄い人だったのですね。
すごすぎるというか。とても私にはまねできない。
自慢の父親、という言い方もできるかもしれませんが、親族からは「あの親の子」
という意味で、私はいささか肩身が狭かった。いや、私よりも、母のほうが大変
だったかも。だって、父方からは、父親が優秀なのに子供が優秀でないとしたら
母親の血のせい、と思われたかもしれないので。
ついでなんで、愚痴を兼ねて、ここで父親自慢させてもらおう。
前にもどこかに書いたかもしれませんが、戦争のとき、甲府に疎開しました。
その後、戦後すぐぐらいだったか、市内の優等賞ということで、甲府の市長さん
から表彰されて、その記念というか副賞の硯は今でも残っている。なお、選考方式
がどういうものだったかは不明。各学校の推薦だったのかなぁ。
家が貧しかったので進学できず、中卒で電電公社(当時の電気通信省)に入ったの
ですが、中学の先生が「私に金があれば援助して進学させたかった」と言ったとか。
ここまで来ると、私ですら「ほんとかよ」といいたくなってしまう。
そして、中卒にもかかわらず、電電公社では最後、管理職になった。
うむ、管理職のかの字にも縁のない私はむなしさを覚える、ということは全くない
ですけどね。
> 現場の人がプログラム作成って、相当のスキルがないと無理だと思います。
当時はそうですよね。だって、今と違って一般人は日常的にコンピュータに触れる
機会なんかなかったはずだし。
でも、エンドユーザコンピューティングとかシステムアドミニストレーションとか、
私は横文字は嫌いなんですが、要は使う人がシステムに携わらないと、真に使い
やすいシステムにはならない。現に私、どっかの偉い人が構築したプログラムに、
毎日のように苦しめられている。理屈では「旧システム+紙」よりも効率化して
あることになっているのだけど、現場は困っているんだぞ〜! > 偉い人
> 今は絶滅しましたが、私もその時代の生き残りだと自負しています。
確かに、一時は絶滅しかかっていました。
でも、今の世の中、DX化なる掛け声の元に、現場でのシステム作成が推奨されて
いる模様です。ただ、これも、なかなか理想どおりとは行かない。
大体、何もわかっていない上のほうのおじさんが声をかけるのって、若くて生きの
いい若手社員。でも、そういう若手社員の場合、逆に現場の業務をわかっていない
んですよ。そして、業務を覚える前にシステムを作らされて、使えないシステムが
乱造される。さらに、本人も業務を覚える暇がないとか、若手社員を鍛えようと
てぐすね引いて待っていた現場では、若手がそちらに取られて人手不足になったり。
なので、実はこの時代、中堅から上、konnoさんのいう「その時代の生き残り」の
人は、なにげに活躍の場が広がっているのでした。
私も、スキル的には若手に毛が生えたようなものですがね。
年齢的には中堅から毛の抜けたようなものになりつつあるので、そっち方面で活躍
したいなぁ。
10385/10385 BQO00549 konno VZK07T01 の再公開
( 1) 22/11/11 02:11 コメント数:1
VZK07T01 の再公開とソースを公開しました。
k07t1 (2010-03-01)
・VTDOSで複数ファイル編集時にコマンドライン実行で異常が出る場合があるのを暫定修正 by 10#氏
・コード領域の内部ワーク pc が1バイトずれていたのを修正、差し替え(2018-10-17)
ダウンロード VZK07T01.LZH ver1.60k07t1 (2010-03-01版 → 2018-10-17修正版に差し替え) new!
ソースのダウンロード K07T01s.lzh ver1.60k07t1 (2018-10-17) new!
VZの部屋にあります。
10386/10351 CXB00940 としき Re^3: Pascal & Basic
( 1) 22/11/11 03:33 10377:文太さんへのコメント
参照先:http://toshiki.la.coocan.jp/
> > この拡張というのが何なのか分からなかったのですが。
> APPENDIX E. PASCAL STANDARD AND IBM FEATURES
> Metalanguage
> Metacommands: ;これらはコンパイラへの擬似命令。
なるほど、これは私の感覚では、確かに正統な拡張と言う感じです。
> どうしても本気で知りたいなら、basm最終版を落としてもらって、basm.txtを
> 読んでもらうしかないですが、僕がなんとなく理解できたのは、
そこそこ興味はそそられるので、落としてしまうかも。
とりあえず、ネットをさまよって、英語で書かれたいくつかのサイトをざっくり
読んでみたのですがね。関係者が書いたのか善意の第三者が書いたのかわからない
ページで、compilingという単語を見かけました。なので、これって実は、ただの
BASICコンパイラなのではないか、と思いました。
とはいえ、今の所はまだ、表面をなぞっただけ、という自覚はある。
私の知りたいところとしては、ごく簡単なもの、例えば hello world を表示する
だけとかでいいので、完璧に動作するソースリストと、それの変換結果がどうなる
か、というのを見たい。なぜかいまだにBASM用のソースリストにお目にかかれて
いない。
> いっぱい足りないものがあるのかもしれませんが、概略としてはこんな感じ
> みたいです。↓
これをみるに、なかなかできの良いBASICコンパイラではないか、という思いが
ますます強くなります。
> ふーん。コンパイラよりアセンブラのほうがもっとマシンよりなのかと思って
> ましたけど、そうとも限らない、と。ふーん、です。
ここだけ、ちょっと長くなるけど、解説。
私の感覚が古い、とか、かつてはそうだったけど今は違う、という部分は多々ある
かと思います。でも、もしBASMが20世紀末にリリースされたのであれば、私の
感覚も大ハズレではないと思う。
まず機械語というのはビットの羅列。そして人間には、どのコードが何をするか
なんてことを覚えるのはなかなか難しい。そこで記憶用の、いわゆるニーモニック
というのが開発された。最初はまさに、それぞれのコードの挙動の記憶用。のはず。
なお、ニーモニックという言葉の由来とか原義とかは、たぶん英語の専門家にお尋ね
いただいたほうがいいでしょう。
そして、ニーモニックを使ってコンピュータの挙動全体を書き下ろすようになった。
すると次に、それをそのまま機械語に変換できるとうれしい。
ということで、ニーモニックを機械語に変換するのがアセンブラ。
その後、アセンブラには擬似命令だのマクロ機能だのが追加されて、構造化構文
までサポートされるようになりました。
とはいえ、基本的にニーモニックと機械語は1対1。
そうではなく、変数に定数を代入する、というようなロジックでプログラムを書く
のが高級言語。最初のころのFORTRANとかCOBOLとか。そして、そのプログラムを
複数の機械語に変換する、というのがコンパイラ。
また、コンパイラも、ターゲットのマシンの機械語にコンパイルする、いわゆる
普通のコンパイラのほかにも、仮想的なマシンの機械語にコンパイルするという
種類のものが昔からありました。有名なところでは、JavaはJVMという仮想マシン
をターゲットにコンパイルされることが多く、WindowsやLinuxではそれぞれ自分
の環境で動くJVMを用意しています。古くは、PASCALでp-codeコンパイラという
ものがありました。これは pseudo code というものを出力するコンパイラで、
別途 p-codeを解釈するインタプリタを実際の各マシンで用意するという形に
なっていました。
これら伝統的なアセンブラやコンパイラのほかに、トランスレータというのかな、
別の言語処理系があります。つまり、ある言語を別の言語に変換する、というもの。
最初にBASMの話を聞いたとき、私はこれだと思ったんですよ。つまり、BASICの
ソースをバリバリの機械語にいきなり変換するのならコンパイラだけど、例えば
マクロを使いまくったアセンブラのソースに変換するのであれば、それはコンパイラ
でもアセンブラでもないよね、ということ。
これの有名なものにratforという言語があります。rational FORTRANということで、
構造化されたPascalっぽい構文のratforで書かれたプログラムをトラディショナルな
FORTRANに変換してくれるのです。ratforが最初に紹介されたときは、これはFORTRAN
の前処理、すなわちプリプロセッサであるという言い方をしていましたが、今では
プリプロセッサというのは単なる置き換え程度のみ行うものをさすようになっていて、
ratforのように構文解析して全く異なったものを出力するものに対しては使わない
用語となっているようです。
ということで、BASMの入力と出力がどうなっているか、ということに興味津々。
とはいえ、今日はもう寝る。
10388/10385 CRG00666 文太 Re: VZK07T01 の再公開
( 1) 22/11/11 12:36 10385:konnoさんへのコメント
konnoさん
ありがとうございます。
今晩、落とさせていただきます。
しかし、本気出すと、す、すごい検索能力ですね!
僕について、僕の知らないことを知っている!
10389/10387 CRG00666 文太 TSR!!!
( 1) 22/11/11 13:19 10387:さんへのコメント
興味のある方は、
c:\basm\tsr\tsr.1
とか見てみてください。たぶん、TSRの骨格部分。InDOS flagとか見てる……。
ver check もちゃんとしてる。dos2 も dos3 も、それぞれに特殊なところがあるのね。
いつの日か!
なんかちょっと少し真面目に勉強する価値があるような気がしてきた、basic。
続かないだろうけど。
SideKickとかね、興味はあるのです。Norton Guidesとかも。1kbuf.comもね。
忘れちゃいません。いつか使ってやろう。その前にEMSなんだけど。
壊されないバッファは今でも欲しいのです。
10390/10387 CRG00666 文太 アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/11 16:12 10387:さんへのコメント コメント数:2
#10386 から、ここに繋がります。
>ここだけ、ちょっと長くなるけど、解説。
ありがとうございます。分かってない点が少し明確になったと思います。
>とはいえ、今日はもう寝る。
いっぱい寝てください。いろいろあって、僕も職場の部屋で1時間ほど寝ました。
少しはすっきりしたのかな?
>ということで、BASMの入力と出力がどうなっているか、ということに興味津々。
どんどん興味が高まってきましたか。いいのか、悪いのか。
ま、TSRまで作れるらしいので。
で、コンパイラ兼トランスレータ(.bas -> .asm)なのかな?
たしかにどっかに"compiler/compile"という単語があったみたいで、あれ?
ま、BASM286.zipをDLしてください。
C:\BASM>tree
C:.
├─Help
├─Library
├─Sample1
├─Sample2
├─Sample3
└─Tsr
全部英語ですが、大丈夫ですよ。demo01.basは、\Sample1から取りました。
\basm に、basm.txtがあります。DeepLなんか使わなくても、キーワードだけ
拾っても読めると思う。
さてさて。
>まず機械語というのはビットの羅列。
了解。ま、16進数で表記すれば、少し省スペース。人間がふつう読めないのは同じ。
>すると次に、それをそのまま機械語に変換できるとうれしい。
です。
>ということで、ニーモニックを機械語に変換するのがアセンブラ。
了解。まだ大丈夫。
>とはいえ、基本的にニーモニックと機械語は1対1。
です。
>そうではなく、変数に定数を代入する、というようなロジックでプログラムを書く
>のが高級言語。
変数への代入? どういうことでしょう? アセンブラソースだって、変数への
代入はするでしょう? 何かロジックが根本において違う、ということだろうと
想像。
>そして、そのプログラムを複数の機械語に変換する、というのがコンパイラ。
なぜ、としきさんはここで「複数の」と書いたのでしょう?
想像が追いつきません。m(__)m
>また、コンパイラも、ターゲットのマシンの機械語にコンパイルする、いわゆる
>普通のコンパイラのほかにも、仮想的なマシンの機械語にコンパイルするという
>種類のものが昔からありました。
ここからは、もうまったく。CPUにそもそもvirtualizationの仕組みが入っている
というのは、「分からん」「いつかね」とCPU本でスキップした箇所。
いつの日にか、理解できるようになりたいと思います。
こういう見た瞬間、「分からん」というものは、ただ10回読みます。
だんだん分かってきます、といいな。
10回、ゆっくり読みます。大事です。
ありがとうございます。
>最初にBASMの話を聞いたとき、私はこれだと思ったんですよ。
いちおう、これのはずなのですが。
>マクロを使いまくったアセンブラのソースに変換するのであれば、それはコンパイラ
>でもアセンブラでもないよね、ということ。
ほぼこれのはずです。
10391/10387 CRG00666 文太 追記
( 1) 22/11/11 16:29 10390:文太さんへのコメント
>マクロを使いまくったアセンブラのソースに変換するのであれば、それはコンパイラ
>でもアセンブラでもないよね、ということ。
; from demo01.asm
;**********************************************************************
;cls
;**********************************************************************
Call Cls
;**********************************************************************
;input "What is your name? " a$
;**********************************************************************
Mov SI,Offset $tring_01
Call PrintStr
Call KBInput
Mov SI,Offset $_0_
Mov DI,Offset A$
Call MoveStr
;**********************************************************************
call先は探さないけど(libraryに入っているのかな?)、これは、
.bas -> .asm のトランスレータの仕事ですよね。
10392/10387 CXB00940 としき Re: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/11 22:58 10390:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
#10387で紹介されたリンクからダウンロードしました。
まだ中を覗いてもいません。
が、#10391を見る限りでは、明らかに素のアセンブラ。
なぜここでアセンブラのソースにとどめて一気にマシン語にまで落とさなかったん
だろうという疑問はありますが、私にはわからない何らかのメリットはあるんで
しょう。FAQとかあれば、きちんと書いてありそうな疑問ではあります。
> >そうではなく、変数に定数を代入する、というようなロジックでプログラムを書く
> >のが高級言語。
> 変数への代入? どういうことでしょう? アセンブラソースだって、変数への
> 代入はするでしょう? 何かロジックが根本において違う、ということだろうと
> 想像。
眠くて端折ったところ、やっぱりわかりにくくなっていますね。
多くの場合、高級言語では、1つのコマンドまたはステートメントは複数の機械語
に変換されるのです。例えば、変数の代入の場合なら、変数はメモリ上のどこかの
領域に確保されているわけで、そのアドレスを計算してから、そこへの代入、と
いうコードに変換されるわけです。
この前提があるものですから、かつて、LSI-C86が、可能な限り変数をレジスタに
割り付けると知って、多くのプログラマが驚いたのです。レジスタなら、変数の
アドレスを計算するルーチンが丸々省略できて、場合によっては、高級言語の1つ
の代入が機械語の1つのコードに変換できるわけですから。
私の個人的な話をすると、昔、8ビットマシンでBASICのコードを機械語にハンド
アセンブルしていたとき。当時のZ80では、レジスタを使った値の受け渡しよりも
スタックを介した値の受け渡しのほうが早い場合が多かったのです。今のCPUが
どうなっているかは知りませんがね。なので、私のコードでは、スタックを使い
まくり。
ということで、
> >そして、そのプログラムを複数の機械語に変換する、というのがコンパイラ。
> なぜ、としきさんはここで「複数の」と書いたのでしょう?
高級言語の1つのコードは、多くの場合、複数の機械語に変換されることが非常に
多いという現実があるわけです。もちろん、場合によっては、一つの機械語に変換
されるかもしれません。そして、仮に一つの機械語であっても、それは単なるcall
文に変換されて、変換先で複数のコードが実行される、ということになっている
かもしれません。
> >また、コンパイラも、ターゲットのマシンの機械語にコンパイルする、いわゆる
> >普通のコンパイラのほかにも、仮想的なマシンの機械語にコンパイルするという
> >種類のものが昔からありました。
> ここからは、もうまったく。CPUにそもそもvirtualizationの仕組みが入っている
> というのは、「分からん」「いつかね」とCPU本でスキップした箇所。
CPUのvirtualizationとは、おそらく直接は関係ない。
まずは、クロスコンパイラ、という技術を知っていただくのがいいのかな。
多くの場合、コンパイラは、自分の動いているマシンのCPU用のコードを出力します。
これに対してクロスコンパイラは、別のマシン用のコードを出力します。
普通、このクロスコンパイラというやつは、現実に存在するマシンのコードを出力
します。でも、その気になれば、全く世の中に存在しないマシン用のコードを出力
するように設計することも可能なわけですよ。
自然言語で考えればわかりやすいかもしれません。
翻訳ソフトで、普通なら出力が英語。これが普通のコンパイラ。
クロスコンパイラなら、出力がフランス語。
でも、例えば、エスペラントを出力させることも可能。
あるいはそれこそ、仮想言語であるヴォイニッチ語を出力させる、とか。
この辺、私の説明がつたないので、自然言語との類推が難しいかもしれない。
疑問点があればおっしゃってください。
もうちょっと具体的に説明できるかもしれません。
> >最初にBASMの話を聞いたとき、私はこれだと思ったんですよ。
> いちおう、これのはずなのですが。
>
> >マクロを使いまくったアセンブラのソースに変換するのであれば、それはコンパイラ
> >でもアセンブラでもないよね、ということ。
> ほぼこれのはずです。
そうですね、なんとなくそんな感じです。
なかなか面白そうではあります。
10393/10387 CRG00666 文太 Re^2: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/12 00:46 10392:としきさんへのコメント コメント数:2
すいません、とりあえずの最初の一歩の問題への解答は以下のとおり。
BASM converts a BASIC-like language to 80286 Assembly Language Source Code
which easily compiles using such widely available public domain tools as the
Arrowsoft Assembler and the Freelink linker.
Basic-like language(BASM言語=一般に出回ったBasicの弱力化版だろう)を
Asm Source Codeにコンバート。
BASM is a powerful 80286 assembly code generator. Use it to create stand
alone programs using your assembler and linker. Or use the code to help
optimize routines in your favorite high level programming language.
"80286 assembly code generator"
なぜ、アセンブルしてしまわないのか? そこまで持っていかないのか?
optimizeできるから、なのでしょうかね? あるいは、高級言語のインライン・アセンブラ
の部分をBasicで書けるよ、なのかな。
コンパイルとアセンブルの違い(と僕が思っていたこと)。
.asmにしてアセンブルすると、.basをコンパイルするより、〈一般に〉速いものが
できあがる。
しかし、これは「最適化」できるかによりけりで、〈一般に〉にそうとは限らない。
たぶん、大して変わらない。
こんな風に理解しています。
僕にとっては、どんなアセンブラ・ソースになるのか見えて楽しい、ぐらいですかね。
TSRの骨組みは、全部アサム・コードです。あれに必要部分(?)をBasic言語で
つけ加えれば、常駐ソフトができてしまう! のかな? といったところです。
どんなTSRが欲しいのか、あったら嬉しいのか、分かってませんが。
ただ僕には、(ぜんぜん原理が違うのは分かってますが)stkhelpがほとんどそんな風に
見えています。原理的に常駐ソフトに似てるものがあるとすれば、それはVzモード型マクロ
なのでしょうが、たぶん。
あと1点。としきさん、割とマクロ、マクロ(アセンブラの)と書かれていて、そう翻訳
されると想像するのが「順当」なのかな、と思っていましたが、プロシージャです。もっと単位が
上というか大きい? たぶん、そのほうが、BASM作者にとって楽なのかな?
はい、関数は、ルーチンは、当然、多くの、複数のマシン語命令群に翻訳されているようでした。
CLS
だって、マシン語で書けばvideo関係のbiosコールかな、などなど、大変です。
エスペラントなどなど(仮想化)は、うーん、深いですねぇ。
ただこのラインは本筋から大きくずれたかな、という気はしています。
じつを言うと、僕が最初にみたBASMと、最終版は違うので、もうちょい地道に自分の辿ってきた道
と道具を再検証したいと思っています。あのbasm.exe + α(シェア1ウェア時代)が、見つからない
のです。
あった!
c:\>tosfind /nbasm*.* ; 時間かかった! 5分
; でも使い方や環境によりけりですが、僕は、tosfindの
; バグに一度も出会ってないです。多謝。
from basm.doc
------------------------------------------------------------------------------------
BASM! The BASIC to 80286 Assembly Language Compiler ShareWare
BASM translates a BASIC-like language to 80286 assembly language source.
The assembly language that BASM produces was designed and tested to compile
without modification using Borland's Turbo Assembler versions 1.01 & 3.2
and Microsoft's Macro Assembler version 4.00.
Try BASM free for 30 days...
If you like it, please send $25.00 cash, check or money order to:
------------------------------------------------------------------------------------
そうなの? あれで、tasmで通るんだ。
作者作成の .bas と .asm が直接比較できるファイル群が、ここにはありました。
10394/10387 CRG00666 文太 PrintStrプロシージャ(asm)
( 1) 22/11/12 01:12 10393:文太さんへのコメント
としきさん、無理してお付き合いする必要なんて、まったくありませんからね。
ほぼ意味がないし、これ、ish部屋に貼るのか? と思ったのは以下。
断片です。
意味なく長いのを貼って、ごめんなさい >konnoさん
---------------------------------------------
Call Cls
;
;input "What is your name? " a$
;
Mov SI,Offset $tring_01
Call PrintStr
<cut>
---------------------------------------------
---------------------------------------------
PrintStr Proc Near
Call Len
Push AX
Mov CX,AX
Cmp CX,0
Jle PS_3
Mov BX,$Attr
Mov AX,$Ycur
Mov DI,$Xcur
Push DS
Push ES
Dec AX
Dec DI
Cmp DI,0
Jg PS_1
Xor DI,DI
PS_1:
Mov DX,80
Mul DX
Add DI,AX
Shl DI,1
Mov AX,0B000H
Mov ES,AX
Mov AH,0FH
Int 10H
Cmp AL,07H
Je PS_2
Mov AX,0B800H
Mov ES,AX
PS_2:
Cld
Movsb
Mov ES:[DI],BL
Inc DI
Loop PS_2
Pop ES
Pop DS
PS_3:
Pop AX
Add $Xcur,AX
Ret
PrintStr Endp
---------------------------------------------
こんくらい長くなるし、このプロシージャ、別のプロシージャをcallしてるから、
1対1対応でアセンブルされる、本物のソースはもっと長くなりますね。
10395/10387 CXB00940 としき Re^3: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/12 16:13 10393:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
だんだんわかってきました。
私の知りたかった一番の核心は
> from basm.doc
> BASM translates a BASIC-like language to 80286 assembly language source.
ということで、やはり作者的には、コンパイラというよりトランスレータという扱い
のようですね。これで私の頭の中はかなりすっきり。した気がする。してないかも。
もしかすると、スッキリしていない頭でいろいろとあげつらった文章のせいで、逆に
文太さんを困惑させているような。
> あるいは、高級言語のインライン・アセンブラ
> の部分をBasicで書けるよ、なのかな。
これは大きいかもしれない。
例えば、私の手がけたポケ3用のEMSドライバ、関谷さんの作られた200LX用の古い
バージョンの移植です。そしてこのドライバは、使用頻度の高いファンクション
しかサポートしていない。そこで、歯抜けの部分のファンクションを自力で作りたい
という思いはあって。そしてポケ3のCPUは80286。
> コンパイルとアセンブルの違い(と僕が思っていたこと)。
> .asmにしてアセンブルすると、.basをコンパイルするより、〈一般に〉速いものが
> できあがる。
> しかし、これは「最適化」できるかによりけりで、〈一般に〉にそうとは限らない。
> たぶん、大して変わらない。
> こんな風に理解しています。
理論的には「大して変わらない」かもしれない。
でも、世の中のコンパイラで、そんなにきちんと最適化できるものは少ない、という
現実もあって。
例えば、DOS3とかDOS5の時代、Turbo CとかQuick Cに比べるとLSI C-86は圧倒的に
最適化レベルが高かった、といわれています。それでも、LSI Cの出力を、手作業で
さらに最適化するような人々もいたらしい。ただ、その時代の職人の手仕事なんて
ほとんど伝説の域に達しているわけで、はたしてどこまで本当なのやら。
一応、多くのコンパイラは、その最終出力は実行ファイルです。
ただ、中間段階として、アセンブラソースをつくるものもあります。
LSI C-86はアセンブラソースを作ります。Delphiは作らないような気がする。
また、LSI C-86は同梱の専用アセンブラ用のソースを経由しますので、いろいろな
記述が、一般的なMASMやTASMと異なり、かなり癖がありました。当然、それらとの
互換性は皆無。とはいえ、ニーモニックは同一ですから、その部分だけを手作業で
MASMで移植、なんてことはよくやられていたようです。
> としきさん、割とマクロ、マクロ(アセンブラの)と書かれていて、そう翻訳
> されると想像するのが「順当」なのかな、と思っていましたが、プロシージャです。
なるほど、ここも私がわかっていなくて想像していた部分でした。
例えば、分岐やループの構文。
最近のアセンブラならマクロで構築するじゃないですか。
なので、BASICをアセンブラに変換する場合、変換結果はマクロかな、と思っていた
のです。
> エスペラントなどなど(仮想化)は、うーん、深いですねぇ。
> ただこのラインは本筋から大きくずれたかな、という気はしています。
ずれまくりましたね。私のほうに誤解がありました。
ということで、以下、余談。
現在、一般に、CPUのvirtualizationというと、CPUで実行するソフトウェアの話。
ご存知だと思いますが、世の中にはシミュレーションゲームってありますよね。
アレって、仮想の世界で遊ぶソフトウェア。
同様に、CPUで、自分自身とか、全く別のCPUをソフトウェアとして動かす、という
ある意味で大技なのが、CPUのvirtualization。
ここで、「全く別のCPU」と言っていますが、たとえばこれ、現実には存在しない
架空のCPUであってもかまわない。その場合、当然、そのCPUで動く機械語は架空の
機械語になるわけです。つまり、現実とは距離を置いた言語。この意味で、まるで
人間の会話における自然言語に対する人工言語であるエスペラントのようだ、と
私は考えたわけです。
> ; でも使い方や環境によりけりですが、僕は、tosfindの
> ; バグに一度も出会ってないです。多謝。
私のほうが文太さんよりもtosfindの使用頻度が低いせいもあるのでしょう、私も
一度もバグに出会っていません。
ただ、ソースも公開されていますから、その気になればバグ取りできる人も多いと
思います。こういうところもオープンソースのいいところ。つまり、作者は逃げて
しまえるのですから。
10396/10387 CRG00666 文太 Re^4: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/12 21:53 10395:としきさんへのコメント コメント数:1
としきさん
今日は、ここだけで失礼します。
>> としきさん、割とマクロ、マクロ(アセンブラの)と書かれていて、
>なるほど、ここも私がわかっていなくて想像していた部分でした。
>例えば、分岐やループの構文。
なるほどぉ。いえ、としきさんが正解です、というか半々。マクロでは
ないが、プロシージャでもない。
制御フローのことがすぐに頭に浮かぶんですね。この前の変数の話(メモリの
アドレス)とも似て、やはりとしきさんのほうが僕より、なんだろう、プログラミング
上、あるいはCPUとプログラムの関係上、正しい想像力をお持ちです、たぶん。
当たり前だけど。
その方向で考えているのだろう、と僕には想像ができなかった、ということです。
文脈を想像力で埋めることができなかった、という意味。
で、マクロでなくプロシージャでもなく(後者でフローを作れるのか?)
ベタなラベルジャンプ(最終的にはこれしかないから)が正解でした。
DoLoop_01:
;
;print "Hello there " a$ ;これだけの命令が
;
Mov SI,Offset $tring_03 ;ループなしでも
Call PrintStr ;これだけのプロシージャ
Call SetCursor ;を必要とする
Mov SI,Offset A$ ;やるなら、高級言語だろう
Call PrintStr ;あるいは
Call SetCursor ;Vzマクロ。
;この感慨が面白くて
Call DoCrLf ;BASMに興味を持ちました
;
;incr a
;
Inc A
;
;if a = 23 then
;
Cmp A,23
Je $+5
Jmp _EndIf_01
;
;exit loop
;
Jmp DoLoop_01A
;
;end if
;
_EndIf_01:
;
;loop
;
Jmp DoLoop_01
DoLoop_01A:
>最近のアセンブラならマクロで構築するじゃないですか。
僕は、最近のことはまったく知らないのですが、そうなのですか?
c.mos流のあれをみて、そしてその原理をEmmettさんに教わって(@過去ログ)
最初にあれを考えた人(注)は何て頭がいいのだろう、と思いました。
Cみたいな顔してるくせして、実はラベルを中で自動生成していた。
ちなみに、上のようなプロシージャだらけの書き方を(この例はあまりよくない
かもしれないけど。たぶん他のやり方は醜すぎるから)、Jeff先生は強く強く
推奨していて(構造化)、「どうだ、アセンブラがパスカルみたいだろう」と
書かれていて、笑いました。
まあね、と。
で、僕は、よし、パスカルをやろう、と決心したという次第。その後、
1ミリも前進していないけど。
JVM、たまたま出会いました。別発言で。
(注)とはいっても、〈マクロ〉アセンブラに内蔵されてると言ってもいいような
仕組みだから、アセンブラ作者自身でしょうね。MASMのドキュメントとかに書かれてる
のかなぁ? 「こんな使い方をすると賢いですよ」とか。
10397/10387 CRG00666 文太 JVM
( 1) 22/11/12 21:54 10387:さんへのコメント コメント数:1
#10386 後半に薄く繋がってます。
ここに貼っておきます。
(2) Andrew S. Tanenbaum. _Structured Computer Organization_, 4th Edition. 1999, Prentice Hall.
前のパラグラフの一節に対する脚注です。あ、嫌な人の名前が出てきた。彼の本をいっぱい捨てました。
基本的なアイディアはここから来てる、という注釈。
The Java programming language is based on the virtual machine concept. A program
written in the Java language is translated by a Java compiler into Java byte code. The latter is a
low-level language that is quickly executed at run time by a program known as a Java virtual
machine (JVM). The JVM has been implemented on many different computer systems, making
Java programs relatively system-independent.
としきさんだって、(分からないけど)、じっと見つめてれば、キーワードから何を言ってるか
分かると思う。
ま、としきさんは中身を知っているわけだから、読む必要がそもそもないのだけど。
上の文脈を少しだけつけ加えると、マシン語にはportabilityがない。IntelとMotorolaでは、
instruction setsが違うから。ただし、Javaは、どこに行っても、かなりのportabilityがある。
え!? どうして? と思って、少しだけ読みました。
Assembly Language For Intel Based Computers By Kip R. Irvine
という本でした。読んでませんよ、ときどき、e-textを整理したり整形したりしてるだけ
です。今回の出会いは、ほんとうの偶然。あるいは10回よんだ功徳。
ふーん。でも、これ、関係ないし、僕は興味ないなぁ。Javaって、最近の最有力言語の一つ
なのでしょう。でも、僕は要らない。saki...さんがやってた。やってる。
(どうでもいいことだけど、うちの学校では1年生必修の「プログラミング演習」でCをやってる
って。伝統的なままでとても宜しい、という感想を持ちました。すごい偏見みたい)
ま、だいたい話の方向性は見えました。でもでも、、、。
Tanenbaum先生の思い出に通じる。
アセンブラ、コンパイラ、トランスレータ、インタープリタ。大きな分類ですね。そして、それら
の関係。すごい抽象論。上の引用箇所の前には、VM0, VM1, VM2とか出てくる。Virtual Machine 0, 1, 2。
はあ、はあ、はあ、みたいな感じでした。
10398/10387 CXB00940 としき Re^5: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/12 23:09 10396:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/
タネンバウム先生は、高名な学者だということは存じております。
でも、和訳された先生の著作をまじめに読んだことは、たぶんない。
> >最近のアセンブラならマクロで構築するじゃないですか。
> 僕は、最近のことはまったく知らないのですが、そうなのですか?
最近の話ではないかもしれない。
もう20世紀のうちから、アセンブラではマクロがビシバシ使われていたと思う。
optasmとかtasmとか、MASMとは互換性がないよ、といわれていた部分はおそらく
ほとんどマクロの部分だと思う。それらを使ったことがないので自信はないけど。
で、まぁ、そういった部分のほとんどはおそらく、いわゆる構造化という考え方
に繋がってくる部分だと思う。つまり、分岐とかループ、ということ。ところで、
先日、書名を出した「ソフトウェア作法」とか「プログラム書法」といった、今
では古典とされる書物がどんなことを書いていたかというと、言語仕様が構造化
されていないFORTRANでも構造化に気を配ったプログラムを書くことができますよ、
ということ。そして、それをさらに敷衍して、当時の(マクロのない)アセンブラ
でも構造化することは可能、ということでした。
ただ、正直、小さいプログラムを力任せに書くのなら、構造化だのなんだのって
はっきり言って不要。だけど、ちょっと大きいプログラムを書こうと思ったら、
構造化は必須。これがあるのとないのとで、開発効率は全く違う。
さて、80年代前半、8ビットパソコンの全盛期。BASICユーザ花盛り。
このころ、マシンはどんどん強力になり、大きいプログラムを書けるようになった。
だけど、それこそ、ソフトウェア工学なんて言葉も知らない小中学生がゲームを
つくる時代。例えば、面白いゲーム、すなわち大きなプログラムをバグを少なく、
かつ早く完成させるにはどうすればよいか、という問題がじわじわと出てきました。
また、いろいろな職場にも、とりあえず導入されたパソコンをどう使うか、という
問題も発生。
ここで求められたのが、BASICでの構造化。
そんな中で登場したのが、ソフトバンク刊「Oh!PC」に掲載された林晴比古氏の記事。
その後、単行本にまとめられて「BASICによるプログラミングスタイルブック」と
して出版されました。私も持っています。
ちょっと癖がある文体で、それに拒否反応を示す人もいます。
ただ、内容については、反論した人がおおむね玉砕するくらいの王道。
おそらく、この本または雑誌の記事で初めて構造化ということを知ったという人も、
当時のパソコン少年では多いかもしれません。
あぁ、また昔話で終わってしまった。
これだけはっきり症状が出ているということは、老化が進んでいるのでしょう。
ま、いいか。
#いいのか?
10399/10387 CXB00940 としき Re: JVM
( 1) 22/11/12 23:23 10397:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> ま、としきさんは中身を知っているわけだから、読む必要がそもそもないのだけど。
おおむね、知っている単語ばかりなので、だいだい読めました。
ま、ポータビリティは重要です。
例えば、自分でウェブサーバを立てているとか、あるいはレンタルでもいいので
ウェブサイトを持っているという人ならJavaScriptで何かをできるでしょう。
でも、そうではないけど何かアプリを作りたい、といった場合。
自分の手元だけで動くアプリなら、自分の手元の環境と言語でOK。
あるいは、Windows上なら、例えばExcelのVBAという選択肢もある。
でも、ターゲット環境がWindowsだけではない場合。
あるいは、WindowsだけどExcelがない場合。
そういう場合に現場の人間が次に検討する言語はJava。
実際、私、知りもしないJavaで何とかしようか、思案中。
業務システムなんですが、セキュリティの関係で、通常の車内網と独立しているん
ですよ。だからインターネットにも繋がらない。Excelが入っているかどうかも不明。
なにせ、メモ帳すらプロテクトがかかっていて、任意に起動できない。業務システム
からなら起動は可能なんで、存在は確認できるのですがね。
こういう環境でも、Javaは存在している。
となると、なんか遊ぼうと思ったら、必然的にJavaは必須。
ま、必要に迫られたら勉強しましょう。
10400/10387 CRG00666 文太 Re^2: JVM
( 1) 22/11/13 00:16 10399:としきさんへのコメント コメント数:1
車内網 → 社内網 ;あるいは術語?
ま、必要には迫られないでしょう。そのような人生は生きないと思います。
10401/10387 CRG00666 文太 Re^6: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/13 00:17 10398:としきさんへのコメント コメント数:1
>あぁ、また昔話で終わってしまった。
面白かったですよ。
昔話以外の何かを伝えたかったのですか?
僕が理解したのは、Basic のリファレンスのたぐいで、「構造化」って連呼
されてたのは、そういう背景なのか、ということ。
Vzマクロから入門しそれしか知らない人は、&00 とかなかったら、jimae buffer
はどうするんですか? ぐらいなんですよね。
たぶん一生わからないんだろうな、と思うのは、そのゲームへの熱中。
ギャラクシアンで少し興奮したのかなぁ?
10402/10387 CRG00666 文太 Re^6: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/13 00:31 10398:としきさんへのコメント コメント数:1
>先日、書名を出した「ソフトウェア作法」とか「プログラム書法」といった、今
>では古典とされる書物がどんなことを書いていたかというと、言語仕様が構造化
>されていないFORTRANでも構造化に気を配ったプログラムを書くことができますよ、
>ということ。そして、それをさらに敷衍して、当時の(マクロのない)アセンブラ
>でも構造化することは可能、ということでした。
ありがとうございます。そして、五月雨でごめんなさい。
なるほど! いいことを聞きました。では『ソフトウェア作法』は捨てることに
いたしましょう。コロナ渦の2年で、蔵書10分の1は捨てました。財産を捨てなさい
運動、実行中。
『ソフトウェア作法』の原書のpdf、どっかで見ました。
要らない。
焦点をしぼろう。
10403/10387 CXB00940 としき Re^3: JVM
( 1) 22/11/13 00:53 10400:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 車内網 → 社内網 ;あるいは術語?
述語ではありません。単なる誤字です。
いかん、アルコールが回っておる。
つ〜か、IMEがへんな学習をしている模様。
この上の2行も、第2順位の単語で確定したからいいものの、最初に候補に出てきた
単語は
術後ではありません。単なる護持です。
遺憾、アルコールが回っておる。
となっていた。一体どうなっているんだろう。
10404/10387 CXB00940 としき Re^7: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/13 01:01 10402:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> なるほど! いいことを聞きました。では『ソフトウェア作法』は捨てることに
> いたしましょう。コロナ渦の2年で、蔵書10分の1は捨てました。
ターゲットとしている言語がFORTRANだから、という理由で捨てるのなら大いに賛同
できます。ただ、この本で取り上げている内容って、文字列処理が多いのですよ。
もちろん、全てではありませんけどね。そういう理由もあって、私、この本の和訳本
を持っていますが、古典だから、という理由を除外しても、なかなか捨てる度胸は
ありません。
10405/10387 CXB00940 としき Re^7: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/13 01:30 10401:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 昔話以外の何かを伝えたかったのですか?
そうか、そういわれれば、それ以外の何者でもない。
あのコメントを書き出すときは、構造化の由来、みたいなことを考えていたのだと
思うのですが、そもそもそれは昔話でしかないわけで。
なんてこった。
> たぶん一生わからないんだろうな、と思うのは、そのゲームへの熱中。
ゲームで遊ぶほうもそうですが。
ゲームを作るほうの熱気もすごかった。
そもそも、ゲーム以外(ビジネス用途)にまともに使えるマシンは、シャープの
MZシリーズとNECのPC-80/88/98シリーズの他は、日立のベーシックマスター
と、あとは富士通のFM−8ぐらいだったような記憶がある。その他、沖のif800
はビジネス向けがメインだったけど。
パソコン雑誌のほうもそう。
ベーマガはゲームのプログラムリストがメイン。4大誌も毎月ゲームのプログラム
が大量に掲載されていた。ゲーム以外の記事も一応は載っていたけど、I/Oなんかは
特に、ゲームとゲーム用ツールの記事ばかりだったような記憶がある。RAMは
ほとんど読んでいなかったから知らないけど、アスキーとマイコンは一応、ゲーム
以外の記事もそれなりに掲載されていた。とはいえ、ビジネス向けの記事というと、
やはりソフトバンクのOh!シリーズのほうが多かったような気がする。
ま、でも、それが当時のその界隈での現実ですからねぇ。
10406/10387 CRG00666 文太 大門未知子
( 1) 22/11/13 13:03 10403:としきさんへのコメント
かなり受けましたよ。アルコール、まだまだ足りなかったようです。
頭が回ってる。
>つ〜か、IMEがへんな学習をしている模様。
社内網 あ、ダメだ、正しくなってしまっている。昨晩は、車内が最初に
出ました。初期設定なのかな?
>術後ではありません。単なる護持です。
複数候補をそなえた機械なので、その気になればやれるわけですが、なぜか、
これ、すごく受けた。別の候補では、ここまで笑えない。
大門未知子が病室で憲法論議をしてるイメージがすぐ浮かんで、あう? あう?
あう? くくくく、お腹が痛い、となりました。
10407/10387 CRG00666 文太 構造化
( 1) 22/11/13 13:49 10404:としきさんへのコメント コメント数:2
>ただ、この本で取り上げている内容って、文字列処理が多いのですよ。
いいこと聞いた、ふたたび。ありがとうございます!
そうなんだ、じゃあ、念のため、取っておくかぁ。この本は、本棚の
どこにあるか分からないなぁ、1冊すてるのに、探し回るのは嫌だな、とも
思ってました。(注)
それより、(『作法』は捨てないほうが良い理由になる? )、「構造化」で
としきさんは、フロー制御−−ループと分岐−−がその代表みたいに書かれて
きましたよね。loopとif ... else。前者をラベルジャンプで、後者をelseなしの
if ... then の羅列で作ったとき、それは「構造的」でないのですかね?
loop & if_elseがより高度に構造的だとは言えると思うけれど。
僕は、ちゃんと勉強したことがまったくないわけですが、サブルーチンcallが
構造化の代表格(もっとも分かりやすいサンプル)なんじゃないかと思ってる
のですが。
行番号ジャンプ(basicにしろsedにしろVzにしろ)は、究極のGOTOみたいで
繰り返し使えばやがてスパゲになる、とは思うのだけど、ループと分岐(case文
も含む)が、、、それほど、、、な気持ちもなくはなく、、、、。
もはや大きなプログラムを書くことはなかろう(blogjump.defが最長)という
感覚もあるから、こんな風に考えるのだろうとも思うのですが。
ごくごく簡単な回答で構いません。一言、一語、一発でお願いできませんでしょうか。
『作法』を読め。え?
(注)−−(注)にならないと思うけど。「文字列処理」の考え方がけっこう
一般性が高そうな事実と、問題解決思考っぽいのと、プログラミング計算が実生活
に役立ったサンプルを超手短に披露−−疲労とか出ます、当然−−。
充電したリチウムが15本ありました。この中から容量が一番多いもの1本だけ
選べ(アルコールが入って眠れず疲れ切った昨晩の状態でのタスク)。手は2本で、
15本のリチウムを同時には持てず、中腰の姿勢。十分な作業空間なく床に並べること
すらできない。頭と目で計算してタスクをこなすしかない。でも、はやくこの仕事を
片付けたい!
ソート! 全体を2つのグループに分けよ。1つのグループに最大容量のリチウム
1本だけを残す。1本グループには指を載せておくだけ。総当り戦。
オチは、今日、空間のじゅうぶんある隣の部屋の机の上で、14本も全部容量順に
並べたこと。最初からこのタスクも頭にあったから、即座問題解決のソート戦略が
嬉しかった。
はやく寝ればいいんだよ。
10408/10387 CRG00666 文太 ゲーム&ビジネス
( 1) 22/11/13 14:06 10405:としきさんへのコメント コメント数:1
>>昔話以外の何かを伝えたかったのですか?
>そうか、そういわれれば、それ以外の何者でもない。
すいません、僕が現在、昔を生きているのが異常なわけですが、でも、だからこそ
昔話こそが(Javaはよろし)面白いのです。
>構造化の由来、みたいなことを考えていたのだと
是非、是非、是非!!!
>ゲームで遊ぶほうもそうですが。
>ゲームを作るほうの熱気もすごかった。
これなら、僕にも想像がつく。僕にとっては機械相手に遊んでる、みたいな
感覚だった。そうそう。このゲーム、どう出来上がってるか、どういう仕組みで
動いているのか? と気にすることができる人たちがいるんだ、と考えたことが
ありました。
僕的語彙には、作者との共鳴みたいなものですね。
>そもそも、ゲーム以外(ビジネス用途)にまともに使えるマシンは、シャープの
>MZシリーズとNECのPC-80/88/98シリーズの他は、日立のベーシックマスター
>と、あとは富士通のFM−8ぐらいだったような記憶がある。その他、沖のif800
>はビジネス向けがメインだったけど。
ゲームとエロビデオがある種のITを商業的に後押しした、とは聞きます。
ただIBM機がPCブームを巻き起こしたのは(個人の)ビジネスを射程に
収めたから、というより、そっちがメインターゲットだったから、とも聞きます。
へぇ、というだけなのだけど、上の商標名(固有名詞)3回ぐらい眺めておきます。
「日立のベーシックマスター」、c.mosさんが所有されていました。
日立はなぜPC市場を早期撤退したのだろう? もっと大きいのが儲かった?
>パソコン雑誌のほうもそう。
>ベーマガはゲームのプログラムリストがメイン。
手で打ち込んでいたんですよね。根性あるなぁ。でも、経典の写経のように
聖的体験だったんだろうなぁ。
10409/10409 BQO00549 konno VZk07t02 テスト版
( 1) 22/11/13 17:07 コメント数:3
VZk07t02 テスト版を「自作、改作アプリの放置部屋」に置きました。
・vzk07t01 をベースに [ESC]i ファイル挿入時のVZの不具合を修正してみたテスト版です
・VTDOS でのラップアラウンドエラーを回避しています。
・テストデータでしか検証していないので、ファイル内容が壊れる可能性があります。
・BL1024*3 だとファイル内容が壊れます。(全てのVZで起こるバグなのでこの設定は危険)
・詳細は掲示板を読んでください。不具合を見つけたら掲示板に報告願います
・VZ高橋版からの差分ファイルになっています。
動作保証はでき無いので実行は自己責任で。
10410/10387 CRG00666 文太 Re: 構造化
( 1) 22/11/13 23:36 10407:文太さんへのコメント
としきさん、
深く悩んではいないと思うけど、「こいつに何を言って意味があるんだ?」とか
悩まないでくださいね。
以下で解決しました。
「最初に学ぶべき構造化プログラミング、大きな問題を分割して解決」
https://active.nikkeibp.co.jp/atclact/active/17/060100293/060800002/
パスカルはやるけど、そんなに大きなプログラムを書く予定はないので、Vzマクロの
経験の延長でやれるところまでやる。
完全にスパゲったら、「やり直しだぁ、26回目」みたいにやります。
アセンブラは、やっぱり、どれだけcallばっかりで効率悪くても(気にしません)、
短く刻んでプロシージャにする(もぐらさんからの教訓)=アセンブラをパスカルにせよ
の家訓のもと、がんばります。
何をやっていたかは明かしませんが、以下のような「集中すれば10分だよ」なマクロを
書いていて、ふと考えました。「構造化」をググれ、と。
そして、この程度なら「順次」でよろし、という結論を得ました。
「古典」。別発言であげますね。
i-,
#k #i ; duplicate line
#> #d ; next line
(cd=='\')? #g ? >z ; delete regex header
(cd=='x')? #g ? >z
(cd==' ')? #g ? >z
:a
(-1){ (cd=='\') #d ?{} }
(cd=='(')? { i++, #h#g "\1" } ? >a
:b
:z .
10411/10387 CRG00666 文太 古典
( 1) 22/11/13 23:38 10387:さんへのコメント コメント数:1
10412/10409 CRG00666 文太 Re: VZk07t02 テスト版
( 1) 22/11/13 23:55 10409:konnoさんへのコメント コメント数:1
konnoさん
すいませんね。vz.comのアップデートって、緊張しちゃうんですよ。
ミスっても、やり直し方、いくらでもあるのに。
高橋版はどこ? と。
T01 のアップデートすらまだなのです。いえ、じつは、T01かT1かで、最初にとまどい……。
VzかVzかでも、とまどい。
はい、こちらが来ると思っていました。ベースはT01です、と。
え、pcズレ、いまごろ、、、とかなってました。
ほんとにそうだったかの検証の途中(バリナリ・チェック? fc?)で、もっと落ち着いた
心でやろう、とか、逃げてしまって。
1週間以内に追いつきます、追いつきたいです。
15本のリチウムの整理に入る前に、まず作業空間を作るべきじゃないのか? という無限
ループに入る奴です。すいません。なかなか2分岐にもっていくのも大変です。どんどん上がって
いくじゃん、問題解決さん、な感じです。
しかしこの上がるプロセスも、ちゃんとオーバーヘッドじゃないか、callじゃないか、マクロ
にできないか、とかとか。
ここが最後で最高度な2分岐だ! というのも、後になって、よかった、ほんとだった、と分かる
「命がけの飛躍」なんじゃないかと思います。
日はまた昇る。聖書でも読んで寝よう、ウソ。
プログラミングには、適度な緊張感があるべきだ。
言い訳でした。m(__)m
10413/10409 CXB00940 としき Re: VZk07t02 テスト版
( 1) 22/11/14 00:20 10409:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> VZk07t02 テスト版を「自作、改作アプリの放置部屋」に置きました。
ありがとうございます。これからダウンします。
> ・BL1024*3 だとファイル内容が壊れます。(全てのVZで起こるバグなのでこの設定は危険)
何でこんな不具合が残ったのか、原作者は気がつかなかったのか、という点が本当に
不思議。
実際にパッチを当てて動作試験ができるのは、おそらく、今週の木曜日以降になって
しまう予定。当面、便りがないのは良い便り、と思い込んでおいてください。
10414/10409 BQO00549 konno Re^2: VZk07t02 テスト版
( 1) 22/11/14 00:57 10412:文太さんへのコメント コメント数:1
文太さん、としきさん、落としていただきありがとうございます。
> はい、こちらが来ると思っていました。ベースはT01です、と。
> え、pcズレ、いまごろ、、、とかなってました。
> ほんとにそうだったかの検証の途中(バリナリ・チェック? fc?)で、もっと落ち着いた
> 心でやろう、とか、逃げてしまって。
え? T01 は文太さんがお使いのVZとバイナルレベルで同じじゃないんですか?
PCズレは無いはずなんですが。
FC /b Vza.com Vzb.com
で確認できますよね。
文太さんがお使いのVZの日付とファイルサイズを教えてもらえますか。
別にそれが無くてもテストはできますが。
もしかして公開版が T1 だったからそれに合わせてほしいとかですかね。
まあ、どうせテスト版なのでゆっくりやりましょう。お互いに。(^^;
10415/10409 CRG00666 文太 Re^3: VZk07t02 テスト版
( 1) 22/11/14 01:12 10414:konnoさんへのコメント コメント数:1
konnoさん
甘えさせてください。
>文太さんがお使いのVZの日付とファイルサイズを教えてもらえますか。
vz.com 62,184 2018-10-17 19:11
です。
10416/10387 CXB00940 としき Re: ゲーム&ビジネス
( 1) 22/11/14 01:36 10408:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> >構造化の由来、みたいなことを考えていたのだと
> 是非、是非、是非!!!
ここ、まじめに書こうとすると、私の生まれる前まで遡ることになるわけです。
それでいて、きちんとした参考文献はあまり持ってない。
記憶で書くと、ソフトウェアの生産性が全然上がっていないね、というのが出発点。
そして、ソフトウェア工学なる学問が出来上がってきた。
これの中身もいろいろあって、例えば、コンパイラの最適化をどうするか、なんて
いうのも論点の一つ。そして、いかにバグの少ないソースコードを書くか、という
ことも論じられるようになった。
この当時、プログラムは「順次」「反復」「分岐」 *だけ* で書ける、という説が
出てきたのだけど、当初、その主張があまりにも強すぎて、当時の感覚では過激派
と思われるくらいだったらしい。
そして実際、その3つで大抵のロジックは書けるわけだけど、やっぱりエラー処理
とかまでその3つだけで書こうとするとえらく冗長になるわけで、まぁそんなに
理屈どおりにはいかないわけですよ。ただ、それらの反論は例外的な事象にばかり
焦点を当てたものがほとんど。普通のプログラムであれば、その3つだけで書ける
よね、というところに収束し、今ではソフトウェア初級レベル。今ではもしかすると
普通科高校でやってる「情報」のカリキュラムにも入っているかもしれない。
あとは、トップダウンアプローチとか段階的詳細化とか、用語はいろいろあるけど、
難しいことは解きほぐして解決しましょう、というのは現実世界も同じ。
あ、そうだ、もうひとつ。
ソフトウェア工学って、どうやればバグの少ないプログラムを書けるか、という
ことも扱っています。これって、航空機工学で、どうやればパイロットが操縦の
ミスを少なくできるか、というのと同じようなもの。例えば、あるメーターとか
スイッチとか、操縦士と副操縦士の両方に1つずつ設けるのか、それとも真ん中に
1個だけにするのか、というのを考えるのは立派な考察対象。
ソフトウェア工学にも似たようなことがあります。
たとえば、ループの範囲は直感的にわかったほうがいい、という出発点に立った
とします。まずその前提の当否が議論されて、うんそうだね、と概ねのコンセンサス
が取れた。すると次に、ではどうやってループ範囲を強調するか、という話になる。
プログラムリストをぱっと見てわかるためには、そうだ、字下げを使おう、となる。
ここでまた、部外者からみるとつまらないとしか思えない議論が始まる。すなわち、
字下げは何文字がいいのか、という話。字下げが1文字だけだとループ範囲はよく
わからない、10文字も下げたら多重ループの場合にどうなる、みたいな話を昔の
人は大真面目にやっていたらしい。ただ、これってきっと、心理学とか認知科学の
領域の話ですよね。
余談。航空機工学の話。
昔、80年ぐらい前の話かなぁ、米軍機で事故が多かった。これはコックピットが
狭すぎる、もしくは広すぎて手が届かないせいでパイロットが素早い動作ができない
ためではないかと考えた人がいた。そこで何をやったかというと、数千人だかの
パイロットの身体測定を行い、平均値の身体寸法の人に適したコックピットのサイズ
にしよう、という話になった。ところが、実際に測定を行い平均値を求めた結果、
数千人の中にその平均値ぴたりの人が一人もいなかったとか。あらまぁ。
> 日立はなぜPC市場を早期撤退したのだろう? もっと大きいのが儲かった?
ん〜、単に儲からなかったから、なんでしょうね。
ベーシックマスターはそれなりに売れていたけど、後継のS1は、売れたという話
を聞いたことがない。
とはいえ、プリウスって言ったっけ、ノートパソコンは出していましたよね。
10417/10387 CXB00940 としき Re: 構造化
( 1) 22/11/14 01:36 10407:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/
「書法」のほうは、サンプルがPL/Iだったりするので、さすがに古すぎるという
判断で、私は図書館で借りて読むだけで終わらせました。「作法」のほうは購入
しましたが、買っただけの価値はあったと思っています。
> そうなんだ、じゃあ、念のため、取っておくかぁ。この本は、本棚の
> どこにあるか分からないなぁ、1冊すてるのに、探し回るのは嫌だな、とも
本棚に隠れているのって、英語の原書ですか?それとも和訳?
手元の和訳本をチラッと読み返してみたのですが、古典といわれるだけあって、
使われている用語の選択がかなり古いというか、現在から見ると、違和感バリバリ。
私が読んだのは訳されてから10年たっていない時代でしたが、既に軽く違和感を
感じるくらいでしたから、この業界、新しい概念とか用語とかの変化のスピードの
ほどが知れる、という感じ。
ただ、用語の選択以外はなかなかこなれた訳で、私には読みやすかった。
なお、もし原書を読めるようなら、ざっと目次を眺めてみてください。
文太さんの興味を引きそうな項目が並んでいることと思います。
あと、訳書の場合、まえがき、目次、序論、1章、という順番で並んでいます。
原書でどういう並びになっているかわかりませんが、訳書で言うところの序論の
最初の5パラグラフほどを読んでいただくと、その先を読みすすめるべきか判断
できると思います。
> ごくごく簡単な回答で構いません。一言、一語、一発でお願いできませんでしょうか。
残念ながら、私には一言で述べる言葉は持ち合わせておりません。
ただ、おそらく、そういうことを述べた一言って、わかっている人にはわかるけど、
わからない人には全くわからない一言になるような気がします。
「光あれ!」とか「悔い改めよ」とかって感じで。
> 充電したリチウムが15本ありました。この中から容量が一番多いもの1本だけ
> 選べ(アルコールが入って眠れず疲れ切った昨晩の状態でのタスク)。手は2本で、
職場の電池捨て場に捨てられていた謎のバッテリーパック。
パッケージに書かれていたメーカー名は聞いたこともない。
調べたところ、どうやら懐中電灯をメインに扱っているメーカーらしい。
殻割りしてみたところ、18650が2本。
私は要らないなぁ。差し上げましょうか?
それはさておき。
容量の一番多いものを特定する方法って、どうやっているのですか?
測定?パッケージの印字?
> ソート! 全体を2つのグループに分けよ。1つのグループに最大容量のリチウム
> 1本だけを残す。1本グループには指を載せておくだけ。総当り戦。
なんか、クイックソートのアルゴリズムみたい。
10418/10409 BQO00549 konno Re^4: VZk07t02 テスト版
( 1) 22/11/14 02:23 10415:文太さんへのコメント コメント数:1
> vz.com 62,184 2018-10-17 19:11
> です。
それなら今回再公開した VZk07t01 とバイナリレベルでも同じはずです。
テスト版はそれがベースになっています。
10419/10409 CRG00666 文太 Re^5: VZk07t02 テスト版
( 1) 22/11/14 10:25 10418:konnoさんへのコメント
お手数をおかけいたしました。
ありがとうございます。
10420/10387 CRG00666 文太 Index of _Software Tools_ (1976) by Kernighan & Plauger
( 1) 22/11/14 20:56 10417:としきさんへのコメント
としきさん
おそらく、捨てたくても持ってないものは捨てられない、という現実。
しかし、台湾の出版社から出たと思しい _Software Tools_ が
見つかりました。(謎)
CONTENTS
Preface
Introduction 1
1. Getting Started 7
2. Filters 35
3. Files 67
4. Sorting 105
5. Text Patterns 135
6. Editing 163
7. Formatting 219
8. Macro Processing 251
9. A Ratfor-Fortran Translator 285
おお、そう、いい感じ。読めるか分からない、というか、読めない!
難しすぎ! つまんないからたまにはギャグぐらい入れて、という罰当たり
なことになりそうな気もしますが、そのうちに、とりあえず字を追ってみます。
多謝。m(__)m
>訳書の場合、まえがき、目次、序論、1章、という順番で並んでいます。
たぶん同じです。こういう「偉い」本のばあい、チャラチャラした商業出版と
違い、訳者も出版社も、怖くてそういじれません。翻訳権取得時につくられる
契約書にその旨書いてあるばあいも多いです。「改変しないこと。原著のまま
訳出のこと」と。
1章は「はじめに」ぐらい? 僕でも「さあ、始めてみよう」とは訳せないと
思う。格式みたいなものの演出。
10421/10387 CRG00666 文太 18650
( 1) 22/11/14 21:05 10417:としきさんへのコメント
>私は要らないなぁ。差し上げましょうか?
ま、財産としてとっておき、遊ぼうとしてみてください。
3.2V-4.2Vで、500mA以下ぐらいで充電。
>容量の一番多いものを特定する方法って、どうやっているのですか?
>測定?パッケージの印字?
測定です。中古なので劣化していますから。Opus, BT-C3100というものを使っています。
全部測定、容量記入、ソート。
1本(20本まで同じ)あたり、2時間(満充電まで)+4時間(完全放電)+2時間
(保管用充電)。計8時間ぐらいかかります。初回時のメンテ&健康チェックです。
ものすごい本数を所有することになってしまっています。
光あれ!(笑)
10422/10387 CRG00666 文太 Programming Style
( 1) 22/11/14 21:21 10416:としきさんへのコメント コメント数:1
>10文字も下げたら多重ループの場合にどうなる、みたいな話を昔の
>人は大真面目にやっていたらしい。
けっきょく趣味と慣れの問題ではないかと思いますが……。
たしかに、c.mos流に慣れると(読んでません、眺めてます)、もぐらさんも
BASM出力ソースも小文字変換したくなりますが、「慣れよ、いろんな書き方がある」
となってます。
Basic, Pascalも、case-insensitiveだけど、あるパスカル本は、これが規範じゃ
と言ってましたね。WriteLnとか。ま、これでいく? とか。
Priusって、日立だっけ? このXPノートPCがどうしても見つからないん
ですよねぇ。EMSが取れるマシンだったので、さんざん迷ったうえで立川で買った
のに。どこ行ったんだろう? cmos電池があがってるよ、ぜったい。としきさんが
知るわけないだろ!
数学の中間テスト。平均点は53.5点でした。53.5点だった人はいるわけないですよね。
10423/10409 DGF01024 めざら Re: VZk07t02 テスト版
( 1) 22/11/18 13:05 10409:konnoさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
以前(k07t01)で発生していた挿入不具合(としきファイル0007.cgi/0007.cg)は
発生しませんでした。製品版[ESC]I(ek-),自作[ESC]I(ek+) とも正常でした。
ただ,ファイラや1行ウィンドウの背景になる文字化けが厳しいです。
http://mezala.la.coocan.jp/upload/file/39.jpg
この文字化けは環境によるのでしたっけ?
環境はckwv/vtdosです。
今月はじめにメインPCを更新したので,まだ環境が整っていない可能性もあります。
ちとあやふやで申し訳ないですが,とりあえず報告です。
10424/10387 CRG00666 文太 _ST in Pascal_ (1981)
( 1) 22/11/18 13:07 10411:文太さんへのコメント コメント数:1
_Software Tools_ was originally published in 1976 with the programs written in
Ratfor, a language based on Fortran. Ratfor was implemented as a preprocessor;
it provided Fortran with modern control flow statements like if-else and
while, and some cosmetic improvements like symbolic constants and free-form
input. The approach and the tools have proved sufficiently useful that many
copies of them have been distributed, and there is a large, active user group.
Pascal is now the dominant teaching language for computer science courses,
and is becoming widely used outside of universities as well. We feel that the
lessons about the design and implementation of tools from the original book
carry over intact to Pascal. Thus _Software Tools in Pascal_ has a great deal of
overlap with the Ratfor original. The same programs are present, except that
there is no preprocessor chapter, since Pascal provides most of the sensible control
flow and cosmetic improvements that Ratfor adds to Fortran. On those systems
where Pascal needs augmentation, tools such as the macro and file inclusion
processors serve as language preprocessors.
とりわけ誰も得しない話。
でも、とても感慨が深かったので。
_Software Tools_ 『ソフトウェア作法』は、1976年の発表。翻訳もされて、たぶん
世界中で教科書として、独学の際の参考書として読まれたのでしょう。20ページ
くらい読みました。(注1)やはり、プログラミング言語の翻訳の翻訳の要素を含んで
いるので−−Fortranは当然として, PL/I その他その他への言及も多し−−(その上、
日本語のasciiでは表現できないだろう記号が使われていたので、自分の頭の中に翻訳機
を入れなくてはいけない=e-textをVzで読んでます)、表面的には読めるけどすごく
苦労するわりには理解が浅いだろうな、という不安がありました。余計な苦労です(注2)。
外国語は、単語知っててなんぼですからね。
そして、_Software Tools in Pascal_。1981刊。翻訳は出てないのかな? 原著と
同じく変更不要な部分はそのまま、主に上のような部分とプログラムリストを書き換え
ればいいだけだろうけど、でも、読者は(パスカルに興味が少しでもあるなら、あるいは
Fortran以前を知らないなら)こっちのほうを絶対に歓迎すると思う。Fortranねぇ。
言語体系を調べられるようになっとく? と思い、いちおうネットでマニュアルを
見つけましたよ……。
(アメリカで僕が前に住んでいた町にNASAの出先機関があり−−知らなかったよ、
田舎町ですよ−−、そこが開発していた! MS-DOSにも移植できそうだった=その時代の
もの)
プリプロセッサのイメージが沸いてきましたけど……(RatforがFortranのプリプロセッサ。
この本のために開発された=書かれた。そしてこの著作でその言語を使ってプログラム開発
の奥義を語っている)。(注3)
なお、上の引用部分は、だいたい13パラグラフ(段落)で構成されている「まえがき」
(Preface)の中の2段落。たぶん、残りは元の本とほぼ同じ。
上のようなことを言ってる部分があるだろうと思って、探し出しました。STから
読み始めて(眺め始めて)しまって(e-text処理を始めてしまって)、ふと、思いついて、
_ST in Pascal_をさっき覗いて、のけぞりました。こっちのほうが、ぜんぜんいい
じゃないか!
詳細は分からないけど、上に続く部分で、標準パスカルの弱点も指摘されているけど、
たぶん、Turbo Pascal, MS Pascal で、克服されているのじゃないかな。macroとか
file inclusionとかlibraryとか。パスカルのmacroって記憶にないけど。
何しろVzマクロしか知らないものだから、いちいち新鮮です。
Vzマクロのこの部分は、C的、アセンブラ的、一般の高級言語的、みたいなことが
分かって楽しいです。
で、どれだけ読みこなせるか分からないけど、内容的には、テキスト処理オタクの僕に
ぴったり! としきさん、この本のこと思い出してくれて、ありがとう!
あ、2書とも、目次はほぼ同一です。Ratfor開発・解説の章がなくなっている以外は。
おお、ついにここでは、正規表現も出てくるのか。なくちゃね。Free Pascalには、それ用
ライブラリがあるのを確認ずみです。言語が何であれ、正規表現エンジンなんて書きたく
ないです。読みたくない、が正確。眺めてみたいか?
(注1)べつに誰にも勧めていませんが、翻訳があるということは、どっかの図書館には
あるということです。
(注2)かつて「吉本隆明が理解したければ、日本語を勉強しろ」とかありました。考えて
みれば、外国人の日本文化研究者や日本アニメおたくの方々は、まさしくそれをやっている
わけですが。僕もそうだったんだ。しかしそんなに色々やれないのは自明。
(注3)c.mosさんのソースには、if ... else, break, until, while, repeatがある。それを
vz.incのマクロが展開する。これがプリプロセッサ的作業ですね。マクロ、柔軟ですねぇ。
やはり、自分で自分を書き換えているイメージ。Virtual Machine? 自己書き換えマクロ!
10425/10387 CXB00940 としき Re: _ST in Pascal_ (1981)
( 1) 22/11/18 16:31 10424:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> そして、_Software Tools in Pascal_。1981刊。翻訳は出てないのかな?
こっちは読んでいませんが、いまさらFortranでもない、という気持ちはよくわかる。
Fortranはなにがいいって、数学のライブラリが充実していること。もしかしたら、
最新のスパコンにもFortranのコンパイラはあるかもしれない、というくらい。
> (Preface)の中の2段落。たぶん、残りは元の本とほぼ同じ。
ちなみに、私が#10417で一読をお勧めしたのは、Ratfor版の、おそらくIntroduction
の最初の部分に該当しそうな気がしています。Pascal版でも、導入部はほぼ同じだと
思いますが、読み比べていないのでわかりません。
10426/10409 BQO00549 konno Re^2: VZk07t02 テスト版のバグ
( 1) 22/11/18 20:19 10423:めざらさんへのコメント コメント数:1
> 以前(k07t01)で発生していた挿入不具合(としきファイル0007.cgi/0007.cg)は
> 発生しませんでした。製品版[ESC]I(ek-),自作[ESC]I(ek+) とも正常でした。
めざらさん、どうもです。
私もテストデータでテストした範囲しか把握していないので、他で問題が出ることはあると思います。
> ただ,ファイラや1行ウィンドウの背景になる文字化けが厳しいです。
> http://mezala.la.coocan.jp/upload/file/39.jpg
>
> この文字化けは環境によるのでしたっけ?
> 環境はckwv/vtdosです。
げげ、この症状は初めて見ました。
起動後すぐに症状が出るのですか。
発生手順が再現できるのであれば教えてください。
> 今月はじめにメインPCを更新したので,まだ環境が整っていない可能性もあります。
> ちとあやふやで申し訳ないですが,とりあえず報告です。
他のVZで症状が出ないのであればテスト版のバグだと思います。
私は当初 k07t01 のテスト版に入れ替えていたのですが、CGI や HTML の更新で困ってしまいました。
連番セーブでファイル名が大文字になってしまい、いちいち小文字に直さないといけないのです。
なので普段は常用VZのテスト版で使っています。
テスト版ではマクロがバッファから消えて使えなくなることがたまにあるようです。
マクロのロードかバッファ絡みの問題があるかもです。
10427/10387 CRG00666 文太 Re^2: _ST in Pascal_ (1981)
( 1) 22/11/18 20:28 10425:としきさんへのコメント コメント数:2
#10417
>訳書で言うところの序論("Introduction")の
>最初の5パラグラフほどを読んでいただくと、その先を読みすすめるべきか判断
>できると思います。
構造化、という文脈で、この本が出てきたのでしたっけ? たぶん、もう5パラグラフ
読んだと思うけど(最後までできるものなら読み通したいとの判断)、僕との会話で
としきさんが何に引っかかったのか(思い出したか)知りたいので、もう一度読んで
みます。
「序論」後半は、先の各章の簡単な紹介ですよね。
ただ、元がpdfで上下さかさま(OCRで化け化け化け化け)のページが「序論」
に入っていたみたいなので、ちょっと1ページごとのe-text作りになりそう。
具象的個々別々の問題への抽象的解法を見出す。
僕が日常的にやっている作業より高度なテキスト処理の話だと思うけど、プログラミング
環境を整えるプログラムの作成について、が全体のテーマですよね。
grep使って、statementだけ取り出す、とか。
grepの作り方、という話でしょうけど。
冒頭5パラグラフ。
------------------------------------------------------------------------------
INTRODUCTION
We are going to discuss two things in this book -- how to write programs
that make good tools, and how to program well in the process.
What do we mean by a tool? Suppose you have a 5000-line Pascal program
and you need to find all references to the variable time, to make sure it can
safely be changed from type integer to type real. How would you do it?
One possibility is to get a listing and mark it up with a red pencil. But it
doesn't take much imagination to see what's wrong with red-penciling a hundred
pages of computer paper. It's mindless and boring busy-work, with lots of
opportunities for error. And even after you've found all instances of time, you
still can't do much, because the red marks aren't machine readable.
Another approach is to write a simple program to find lines containing the
identifier time. This is an improvement, for such a program is faster and more
accurate than doing the job by hand. The trouble is that the program is so specialized
that it will be used once by its author, then tucked away and forgotten.
No one else will benefit from the effort that went into writing it, and something
very much like it will have to be reinvented for each new application.
Finding time's in a Pascal program is a special case of a general problem,
finding patterns in text. Whoever wanted references to time today will want
references to some other variable tomorrow, readln and writeln calls the
day after, and next week an entirely different pattern in some unrelated text.
Red penciling never ends. The way to cope with the general problem is to provide
a general purpose pattern finder that will look for a specified pattern and
print all the lines where it occurs. Then anyone can say
find pattern
and the job is done. find is a tool: it uses the machine; it solves a general
problem, not a special case; and it's so easy to use that people will use it instead
of building their own.
------------------------------------------------------------------------------
おお、ちゃんとパスカル用になっている。が、内容は同じと言ってよいでしょう。
ただ、ここまで一般的(抽象的)な問題を解決するツールを僕が開発するとは思えない
ですけどね。grep/sed/awkの使い方を十分マスターすれば良いような気がする。
まだまだ十分でないから。
逆に、
2022/11/06 18:58 369 srch_do1.def
2022/10/29 11:23 220 srch_do2.def
2022/10/31 22:44 199 srch_do3.def
2022/10/31 23:06 209 srch_do4.def
2022/11/01 01:59 199 srch_do5.def
2022/11/01 02:13 131 srch_do6.def
2022/11/18 11:42 176 srch_do7.def
2022/11/06 18:25 321 srch_do8.def
2022/11/14 01:08 126 srch_do9.def
2022/11/16 00:15 298 srch_doa.def
2022/11/17 17:25 321 srch_dob.def
2022/11/18 11:48 240 srch_doc.def
これらにちゃんと名前をつけて、管理せい! という感じですかね。
あ、これ、もぐら流。中身の変更箇所がちょっとずつ違うだけ。
これらに一般解はないです。問題のほうが"special case"だから。個別だから
偉いツール群。
それでも、いい本っぽいと思っています。何かが得られるよう精進したいです。
ありがとうございます。
なお、パスカル版の翻訳はないみたいでした。
蛇足。Pascal版 Intro pp.1-2。ページまたぎ部分。
All of them have been run without change on a variety of machines and Pascal
compilers.
;A
---------------------[End of Page 1]---------------------
;B
The second concern of this book is how to write good programs.
このページ区切りフッタあたりに色々なノイズが入ります。Aの箇所にページとか
Bの箇所に"Introduction", "CHAPTER 1", "INSIDE THE IBM PC" (see #10359) とか。
それも壊れて化けたりもして。スペースや改行が入ったりもする。それらをVzマクロ
やsedで掃除しています。
点検は、
>cgrep -A2 -B2 "End of " ;After & Before
find pattern に同じ。
10428/10387 CXB00940 としき Re^3: _ST in Pascal_ (1981)
( 1) 22/11/18 22:11 10427:文太さんへのコメント
参照先:http://toshiki.la.coocan.jp/
> 冒頭5パラグラフ。
おぉ、やっぱり「100ページのプリントアウト」だの「赤鉛筆でチェック」だの
といったことは書いてあるのですね。
> ただ、ここまで一般的(抽象的)な問題を解決するツールを僕が開発するとは思えない
> ですけどね。grep/sed/awkの使い方を十分マスターすれば良いような気がする。
今ではそうなんですけどね。
当時、そういったツールがなかった時代に思いを馳せてください。
いわゆる、古典古代、というヤツかな。違うかもしれない。
あまり文系的な用語はわかりませんが。
この本で取り上げられているのは、そういったツールの作り方がメインではあるのです
が、ツールを作るにあたっての考え方を通して、構造化をはじめとするソフトウェアの
構築法というか理念というか哲学というか、トップダウンではなくボトムアップでその
ような考え方を身につける、ということのように、私は捉えました。もちろん、これは
著者側の考えとはずれているかもしれません。
10429/10409 DGF01024 めざら Re^3: VZk07t02 テスト版のバグ
( 1) 22/11/19 16:21 10426:konnoさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
> 起動後すぐに症状が出るのですか。
起動直後のファイラー背景は化けません。(ほぼ化ける文字がないから?)
ファイルをひとつ開いた状態で,[ESC]O など入力窓を表示した場合に
(WLの値で位置は変わりますが)入力窓の位置よりも下の部分が全部化けます。
WL1にして色々なY位置で試したところ,常に化けるのではなく,化けない位置もあります。
カーソルY位置を上の方で広範囲に化かした場合,入力窓をキャンセルすると元に戻り,
WL15とかで狭範囲に化かした場合,カーソルを下端まで移動して画面の更新をしないと
化けた状態がいつまでも残るという感じもあります。
ここからファイラーに遷移すると,ファイル数が少ないディレクトリを表示している側は
背景のテキストが盛大に化けます。(海豹に上げた画像のとおり)
あとは,メニューの中身(こちらは背景ではない)が化けます。
すべてのメニューが化けるというわけではないようですが。
いまのところ表示上の「不具合手前」くらいな感じですね。
ですが,化けるのは精神衛生上よろしくないので長くは使えないです。(^^;
10430/10409 BQO00549 konno Re^4: VZk07t02 テスト版のバグ
( 1) 22/11/20 01:43 10429:めざらさんへのコメント コメント数:1
> ファイルをひとつ開いた状態で,[ESC]O など入力窓を表示した場合に
> (WLの値で位置は変わりますが)入力窓の位置よりも下の部分が全部化けます。
うーむ、やっぱりうちでは出ないですね。
Dw- メニューのシャドー表示抑止も関係ないみたいです。
VTDOSかCKWVの環境依存でしょうかね。
> カーソルY位置を上の方で広範囲に化かした場合,入力窓をキャンセルすると元に戻り,
> WL15とかで狭範囲に化かした場合,カーソルを下端まで移動して画面の更新をしないと
> 化けた状態がいつまでも残るという感じもあります。
>
> ここからファイラーに遷移すると,ファイル数が少ないディレクトリを表示している側は
> 背景のテキストが盛大に化けます。(海豹に上げた画像のとおり)
>
> あとは,メニューの中身(こちらは背景ではない)が化けます。
> すべてのメニューが化けるというわけではないようですが。
うう、イメージスタックが怪しいですが、フォント絡みも怪しそうな。
でも VZK07T01 との違いはテスト用の修正ルーチンだけなんですよね。
VZK07T01 で問題が出ていないとしたら、修正箇所がここまで影響しているのかしらん。
> いまのところ表示上の「不具合手前」くらいな感じですね。
> ですが,化けるのは精神衛生上よろしくないので長くは使えないです。(^^;
現在の版は何かしら問題が有ると思っていましたがこの症状は意外でした。
10431/10409 DGF01024 めざら VZk07t02 テスト版のバグに非ず
( 1) 22/11/20 05:42 10430:konnoさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
ごごご,ごめんなさい。(^o^;;;
まだ新PCの環境設定不足の状態であったのが,文字化けの原因でした。
フォント絡みを疑って VLゴシック とか BIZ UDゴシック に切り替えても症状があり,
一旦,t01 に戻したところが絶賛発生中ではありませんか。。。(何故気付かない)
えーと……レガシーコンソールでしたっけ…… どのショートカットで変えるんだったかな
しこしこ……あ,直りました。(^^;
10432/10409 BQO00549 konno Re: VZk07t02 テスト版のバグに非ず
( 1) 22/11/20 18:02 10431:めざらさんへのコメント
> フォント絡みを疑って VLゴシック とか BIZ UDゴシック に切り替えても症状があり,
> 一旦,t01 に戻したところが絶賛発生中ではありませんか。。。(何故気付かない)
ま、まあ、よくあることですよね・・・(^^;;
> えーと……レガシーコンソールでしたっけ…… どのショートカットで変えるんだったかな
> しこしこ……あ,直りました。(^^;
レガシーコンソールを指定しないとこんな症状が出るんですね。
とりあえずテスト版の致命的なバグでなくてよかったです。(^^;
10433/10409 CXB00940 としき Re^2: VZk07t02 テスト版
( 1) 22/11/24 02:35 10413:としきさんへのコメント コメント数:3
参照先:http://toshiki.la.coocan.jp/
今日が雨だったため自宅篭城となり、やっと雑務が大幅に片付いた。
まだ残務は大量にあるというか、当初見込みの6〜7割くらい片付いたと思った
のに、実は3割そこそこしか片付いていなかった、という現実もあるわけですが。
そして、そんなに大量に残っているというのに、もうこんな時間。
日付が変わってしまっとるがな。
明日、というか今日24日は、洗濯したいから、あんまり寝坊はしていられないと
いうのに。
それはさておき。
> 実際にパッチを当てて動作試験ができるのは、おそらく、今週の木曜日以降になって
> しまう予定。当面、便りがないのは良い便り、と思い込んでおいてください。
やっとパッチを当てて動作試験をしました。
オリジナルのvz.defにBlだけ8192に変更したものを読んで起動し、0007.cgiを開いた
ところで0007.cgを挿入して、無事に正常挿入。うれしい!
おそらく今後、もしかしたら私の主戦場は、野ざらしからこちらに移動することに
なるかもしれない。
ということで、これから確認したい項目。
80桁未満で桁折しても状況が発生しそう、ということから、例えば、以前、文太さん
に提供していただいたニフティのログを使って、ファイルサイズを0007.*と同じに
したものを作って状況がどうなるか。
あ、そうだ、これはkonnoさんに聞くべきか、めざらさんに聞くべきか。
Blとかのバッファの開始ポイントのアドレスをVzのマクロで取得するには、どう
すればよろしいのでしょうか?
あまり関係はないとは思いますが、今回のテスト版で、もし以前の版と大幅に変化
しているかどうか確認できれば、と思いまして。
10434/10409 DGF01024 めざら Re^3: VZk07t02 テスト版
( 1) 22/11/24 18:43 10433:としきさんへのコメント
参照先:http://mezala.la.coocan.jp/
> おそらく今後、もしかしたら私の主戦場は、野ざらしからこちらに移動することに
VZ本体のバグである可能性が非常に高いのではないかと考えられるのであれば,
こちらで相談されるのがよいかと存じます。
マクロの問題であればウチの方でもまぁ大丈夫です。
> Blとかのバッファの開始ポイントのアドレスをVzのマクロで取得するには、どう
> すればよろしいのでしょうか?
m.gann師の「ばふつあ」を強くおすすめします。
BUFTOUR.DEF 1.6A ばふつあ Buftour.def v1.6a Vz内部を探る
http://mezala.la.coocan.jp/vz/history/h_ear/lib/buf16a.lzh
自前のマクロを作りたいということであっても,上記のマクロのコードが
大いに参考になると思います。(全バッファの相対アドレスが書かれている。)
実際の各バッファの先頭アドレス(相対アドレス)は,マップを御覧ください。
スタックセグメント・マップ
http://mezala.la.coocan.jp/vz/notes/segmap.html
例えば,ラインバッファなら,相対アドレスは wm+228 または pq..148 です。
wm+228/pq..148 2バイト(0D,0A) CR/LFがラインバッファ先頭に予め置かれている
wm+230/pq..148+2 ラインバッファ本体(サイズはBl-2)
10435/10409 BQO00549 konno Re^3: VZk07t02 テスト版
( 1) 22/11/24 20:54 10433:としきさんへのコメント コメント数:1
> オリジナルのvz.defにBlだけ8192に変更したものを読んで起動し、0007.cgiを開いた
> ところで0007.cgを挿入して、無事に正常挿入。うれしい!
テストデータを対象にバグを回避しているだけなので他で問題が出ると思います。
テスト版はマクロの読み込み関連でバグがあるようですのでご注意ください。
> ということで、これから確認したい項目。
> 80桁未満で桁折しても状況が発生しそう、ということから、例えば、以前、文太さん
> に提供していただいたニフティのログを使って、ファイルサイズを0007.*と同じに
> したものを作って状況がどうなるか。
検証はよろしくお願いします。m(__)m
> Blとかのバッファの開始ポイントのアドレスをVzのマクロで取得するには、どう
> すればよろしいのでしょうか?
> あまり関係はないとは思いますが、今回のテスト版で、もし以前の版と大幅に変化
> しているかどうか確認できれば、と思いまして。
BLの相対アドレス情報などは、めざらさんが出してくれたので(ありがとうございます)
VTDOS環境での絶対アドレスは
vzk07t01 vzk07t02 test
D192 pq..148 lbuf 8192
F192 pq..149 tmpbuf4 256
スタック領域なので、コードの修正分サイズが増えても変わりませんね。
常駐/非常駐とも同じです。
同じマクロ環境で、高橋版は
vzt
CFFE pq..148 lbuf 8192
EFFE pq..149 tmpbuf4 256
この差は、#if 文でマクロの構成が違うからかなぁ。
オリジナルVZとマクロでは
vzo
777C pq..148 lbuf 2048
7F7C pq..149 tmpbuf4 256
BLは変えてるかもですが、だいぶ余裕がありますね。
このラインバッファのサイズで挙動が変わるのは、メモリ転送ルーチンで
ラインバッファを一時バッファとして使っているのが関係しているのかなぁ?
10436/10387 CRG00666 文太 Re^3: _ST in Pascal_ (1981)
( 1) 22/11/28 21:22 10427:文太さんへのコメント コメント数:1
地獄の仕事場から息継ぎのため、一瞬だけ、浮上してみます。
すいません、疲れてます。完全なる雑巾状態。そういうときは、こういう無意味な
読書をするにかぎるのです。
Readers who are sensitive to questions of efficiency may wonder if it is
economical to use two programs when one would serve. The answer depends
on the true costs involved, which are often not properly estimated. Most people
who talk about "efficiency" are concerned primarily with how much machine
resources are used in the final run or in hands-off production, not with how
much "people" and machine time is consumed in all the compilations, debugging
and other false starts that prepare for the final run. Throughout this book
we consistently take the view that people cost a great deal more than machines,
and that the disparity will increase in the future. Therefore the most important
consideration is that people get their jobs done with a minimum of fuss and
bother.
---------------------[End of Page 82]---------------------
効率の問題に敏感な読者は、1 つのプログラムで事足りるのに、2 つのプログラム
を使うのは経済的なのだろうかと思うかもしれない。その答えは、しばしば正しく
見積もられていない真のコストに依存する。「効率」について語る人の多くは、
最終的な実行やハンズオフ生産でどれだけの機械資源が使われるかに主眼を置いて
おり、最終実行の準備のためのコンパイル、デバッグ、その他の誤ったスタートで
どれだけの「人」と機械時間が消費されるかには関心がない。本書では、一貫して
「人は機械よりもコストが高い」「その格差は今後ますます広がる」という見解を
とっている。したがって、最も重要なことは、人が最小限の手間で仕事を成し遂げる
ことである。(DeepL による翻訳。立派! トーンだけ改変)
(ハンズオフ生産だけでしょう、意味不明なのは。消費も変か。最後のところは
やるね、と思いました。しかし手を入れたくもなる、が、「人」はコストが高い
のです)
さすがです、カーニハン先生。ごもっとも!
C:\C>dir /L /B |sort
2repl.def
2repl2.def
2strsrch.def
999.def
addzspc.def
alpha.def
altkey_t.def
arr_srch.def
array2.def
array3.def
blk0.def
bothmov.def
catg_fix.def
cnd_sch1.def
com_box.def
(以下50行略。うひょひょひょひょ。下品な笑い)
さすがにこれだけパスカルのコードを読むと、けっこう単語を覚えるものですが、
やっぱりVzマクロが僕にとって最高の高級言語だ、という確信も強くなりますね。
仕事するするVzマクロ。いえ、本業じゃありません。
10437/10409 CXB00940 としき Re^4: VZk07t02 テスト版
( 1) 22/11/29 23:57 10435:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
今日も天候不順で自宅篭城。
やっと雑務が9割がた終わった。
件数ベースだと、パソコンを使用して解決する必要のある雑務は残り2件。
もっとも、件数ではなく実労力だと、既決は8割弱といった感じ。
もちろん、パソコンとは無関係の雑務もいくらかあるし、日々新しい案件も増える
のだけど、もうどうでもいいやって感じ。
> テスト版はマクロの読み込み関連でバグがあるようですのでご注意ください。
この状況、うちでは発現しないようです。
もし、確実に再現する手順とかがわかれば、追試させていただきますよ。
アドレスについては、いろいろとご教示ありがとうございます。
ただ、いろいろと環境をあわせないと同じ値にはならないのかもしれません。
いろいろなものを合わせなかったときの値は、手元の常用環境である1.60t03kの
Bl8192で
pq..148 DD3Ah
pq..149 FD3Ah
となりました。一方、k07t02 test版とオリジナルvzibmj.def、ただしBl8192の場合は
pq..148 77BCh
pq..149 97BCh
でした。
なんかいずれも、ちょっと見には危なそうな値ですね。
常用環境の場合は、なにかがFFFFhを超えてしまいそうだし、test版の時は8000hを
またいでいるし。
> このラインバッファのサイズで挙動が変わるのは、メモリ転送ルーチンで
> ラインバッファを一時バッファとして使っているのが関係しているのかなぁ?
そういうことをやっているんですか。
なんかこれ、思いっきり妖しそうですね。
10438/10409 CXB00940 としき Re^3: VZk07t02 テスト版
( 1) 22/11/30 00:28 10433:としきさんへのコメント
参照先:http://toshiki.la.coocan.jp/
> 80桁未満で桁折しても状況が発生しそう、ということから、例えば、以前、文太さん
> に提供していただいたニフティのログを使って、ファイルサイズを0007.*と同じに
> したものを作って状況がどうなるか。
試してみました。常用環境です。test版ではありません。
まず、0007.cgiと同じサイズになるようにDC15_968.LOGというファイルの先頭から
切り出し、次に0007.cgと同じサイズになるようにDC15_971.LOGというファイルの
先頭から切り出し。そして、同じように、ファイルを開き、先頭で即挿入。
結果。
異常は再現しません。正常挿入。なんてこった。
ま、そうだよねぇ。そんなに頻繁に起こるのであれば、とっくに報告が上がって
いたはず。ということは逆に、なぜ私のあのファイルでは異常が起こるのか。
次に試したいこと。
異常の起きないログファイルと、76桁で桁折した私のファイルで、非常に大きい
差として挙げられるのは、空行比率。私のサンプルファイルでは、空行は実質的に
ゼロです。ということで、ログファイルから空行を全て削除したものを作って、
それで異常挿入が起きるか否か。さらに、awkあたりを使ってダミーのファイルを
作り、それで挿入異常が起きるか否か。もし、これらのでっち上げたファイルで
異常挿入が起きないのであれば、やっぱり何かファイルが悪い、ということに
なってしまうわけで。その結論はイヤだな。
10439/10387 CXB00940 としき Re^4: _ST in Pascal_ (1981)
( 1) 22/11/30 01:49 10436:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
う〜む、この返信フォームの直上の関連一覧ツリー、なぜこんなに乱れているのか。
いいかげんkonnoさんには本腰を入れて修正していただきたいところ。
> 地獄の仕事場から息継ぎのため、一瞬だけ、浮上してみます。
私なんか、職場よりプライベートが多忙で。
職場でも、プライベートが気になって落ち着かなかったりして。
> 効率の問題に敏感な読者は、1 つのプログラムで事足りるのに、2 つのプログラム
(中略)
> ことである。(DeepL による翻訳。立派! トーンだけ改変)
ぅぉぉ、きちんと意味の通る訳になっていますね。さすが、最近のAI。
ちなみに、40年前に、ほぼ同様の原文を人間が訳した文章が以下。
効率の問題に敏感な読者は、プログラムが一つですむところでわざわざ二つに
するのは経済的なのだろうか、と心配かも知れない。その答えは、何が真の費用
であるかによって違ってくる。そしてその真の費用なるものは正しく見積もられ
ていないことの多いものである。「効率」についてうんぬんする人々は、たいて
いの場合主として本番計算に計算機資源がどのくらい使われるか、という点にば
かり着目していて、コンパイルしたり、虫取りしたり、その他のさまざまなやり
そこないをしたりしながら本番計算にそなえるために消費される人間の時間と計
算機の時間を考えに入れていないものである。われわれはこの本では一貫して、
人間の方が機械よりずっと高くつくものであり、その差は将来ますます開くの
だ、という見かたをとっている。だから、一番大切な考慮点は、仕事をかたづけ
るまでに要する人間の側の気苦労を最小にすることだ、ということになる。
> (ハンズオフ生産だけでしょう、意味不明なのは。消費も変か。最後のところは
> やるね、と思いました。しかし手を入れたくもなる、が、「人」はコストが高い
> のです)
原文の差異がどうなっているかわかりませんが、業界では、消費というのはそれほど
不自然な言葉ではないと思う。私も、この文脈では、消費という言葉に違和感を感じ
ません。
> さすがです、カーニハン先生。ごもっとも!
こういう、ごもっとも、という内容がたくさん含まれているから古典なんだ、という
こともあるかもしれない。
私が最初に読んだ時は、どちらかというと、なるほど、という感想を抱いた部分が
多かったですけどね。だって、Fortranをマスターする前、BASICとアセンブラしか
知らなかった時代の私が、仮想言語(と私は捉えた)であるRATFORを使ってアルゴ
リズムを説明する本を読んで、それなりに勉強になったと思えたわけですから。
10440/10409 BQO00549 konno Re^5: VZk07t02 テスト版
( 1) 22/11/30 21:20 10437:としきさんへのコメント
> 常用環境の場合は、なにかがFFFFhを超えてしまいそうだし
pq..149 は、tmpbuf4 で、ソースでは使われていないようです。
緩衝領域として256バイト設定しているのは、プッシュポップのスタックが後ろから積まれるからかも。
そうだとすれば、この領域を使うのは危険ですね。
pq..149 が、FF00h を超えていたらバッファを減らさないと危険ということでしょうか。
げげ、私知らないで私家常用版で使ってしまっていました。(>_<)
見直さなくては。(^^;;
> test版の時は8000hをまたいでいるし。
あ、そうか、ラインバッファが8000hをまたぐバグってこれを言っていたんですね。
うちのオリジナルVZとマクロでは
vzo
777C pq..148 lbuf 2048
7F7C pq..149 tmpbuf4 256
テスト版vzとオリジナルマクロでは
7822 pq..148 lbuf 2048
8022 pq..149 tmpbuf4 256
この環境で、8000h をまたぐバグが出るかどうか確認すればいいのか。
ん? 高橋版で直っていたかしらん? ちょっと過去ログの海に潜ってみます。
10441/10387 CRG00666 文太 Re^5: _ST in Pascal_ (1981)
( 1) 22/12/01 16:15 10439:としきさんへのコメント
原文は、まったく同じでした。
DeepL
「効率」について語る人の多くは、最終的な実行やハンズオフ生産でどれだけの
機械資源が使われるかに主眼を置いており、最終実行の準備のためのコンパイル、
デバッグ、その他の誤ったスタートで
(「誤ったスタート」でだいたい通じますね。コンピュータって、コンピュータ
に対してやたら強いのですよね、きっと。
が、"consideration"を訳出しないという判断は、もう人間並みかよ、と思いました)
邦訳書
「効率」についてうんぬんする人々は、たいていの場合主として本番計算に計算機資源が
どのくらい使われるか、という点にばかり着目していて、コンパイルしたり、虫取りしたり、
その他のさまざまなやりそこないをしたりしながら本番計算にそなえるために消費される
人間の時間と計算機の時間を考えに入れていないものである。
(訳出がどうというより、意味がよく分かる文章だと思います。「ハンズオフ生産」の部分は
よく分からないし、そんなに重要とも思えないから、飛ばす! という判断でしょうか。
アリだと思います。本番計算!)
Throughout this book we consistently take the view
that people cost a great deal more than machines,
and that the disparity will increase in the future.
Therefore the most important consideration is
that people get their jobs done with a minimum of fuss and bother.
#DeepL
本書では、一貫して
「人は機械よりもコストが高い」
「その格差は今後ますます広がる」
という見解をとっている。したがって、最も重要なことは、
人が最小限の手間で仕事を成し遂げることである。
#人間(40年前)
われわれはこの本では一貫して、
人間の方が機械よりずっと高くつくものであり、
その差は将来ますます開くのだ、
という見かたをとっている。だから、一番大切な考慮点は、
仕事をかたづけるまでに要する人間の側の気苦労を最小にすることだ、
ということになる。
やっぱり、僕がいちばんに驚くのは、間接話法を直接話法にすることが、
機械にできた、ということかな。
「人は機械より…」の部分。原文には、「 」とかないのです。
しかし、「 」(直接話法)があったほうが、ずっと読みやすい、
10442/10387 CXB00940 としき Re: Programming Style
( 1) 22/12/25 00:13 10422:文太さんへのコメント
参照先:http://toshiki.la.coocan.jp/
> 数学の中間テスト。平均点は53.5点でした。53.5点だった人はいるわけないですよね。
私のいいたいことが微妙に伝わっていないっぽい。
例えば、大学入試。
共通一次とかセンター試験とか、100万人が受験したとします。
科目は5教科。
各科目の平均点を四捨五入して1点刻みにして、全教科が平均点だった人がいったい
何人いるか、という問題です。
これ、おそらく、確率統計の理論を使って、理論的な値は求まるはず。
そんな理論を使わなくても、受験者が増えれば全科目が平均点になる人数は増えるで
あろう事は直感的に分かります。逆に、科目の数が増えれば、全科目が平均点に一致
する人は減っていくだろうということも想像できます。
先般、私が例に挙げた航空工学の問題の場合、対象となる人数はたしか数千人という
レベルだったはず。一方で測定項目のほうは百項目以上あったのではなかったかな。
ということから、全項目が平均値の人はいなかった、という結論であったはず。
項目を絞り、平均値のプラスマイナスである程度の範囲をとっても、全てがその範囲
に納まる人はごく少数、という結論だったような。
え〜と、どこで読んだんだっけかな。
こういうネタだと「乗り物ニュース」(trafficnews.jp)のサイトにありそうだけど、
ざっくり探した範囲で見つからない。
あった、gigazineのサイトだった。
https://gigazine.net/news/20200505-us-air-force-average-pilot-problem/
概略。
4000人以上の140項目を測定し、そのうちの航空事故に関係しそうな10項目を選んで
平均値を算出し、その平均値の前後30%に全ての項目が収まる人数を数えたらゼロ。
3項目にまで絞っても、その3項目全てが平均値の前後30%に納まる人は全体のたった
3.5%だったとのこと。
人間の体のサイズというのも、一種の自然現象ですからねぇ。
自然を相手にする、というのと似たようなものなのでしょう。