【通信】TeraTermの送信遅延が効かないからマクロ作った
むかーしのゲームでFruits Fieldsってのがあって、ポケコンPC-E500で授業中に遊んでたんだよね
これたまーに思い出してプレイしたくなる
たぶんPJに掲載されてたんだろうから、国立国会図書館に行ってPJをコピーしてOCRしてperlとかで整形してPC-E500に転送すりゃ即遊べるだろ
なんて思ってたんだよね
まあ思うだけでやらない定期であったところ、
X(エックス)でフル・フィーなるゲーム作ったぜ!というポストが流れてきた
名前がフル・フィーということでオリジナルのFruits Fieldsとは面データが違うのかなとか邪推しつつ
国立国会図書館に行かなくてもFruits Fieldsが遊べるのか!?となったら俄然やる気が出てきたんだよね
早速ポケコンPC-G850VSをPCに接続して、TeraTermを起動してファイルを転送
だが、うまくいかない
TEXTのSIO受信はCTS/RTSのハードフローが効いて転送できる
モニタモードでIntelHexを転送するのがうまくいかない
モニタモードはハードフローがダメらしいとどこかのWebに書いてあり、やはりそうらしいが
それならゆっくり転送すりゃいいってことになるよね
でも、ここで問題が発生
TeraTermの送信遅延が効かなくて、100ms/行 とか設定しても一瞬で流れちゃう
PCはWin11、USBシリアルは秋月の ”正規品” FT232RLで、CTS/RTS線含め各信号反転設定済
TeraTermはVer4系とVer5系、どちらも最新版で試したけどだめ
検索しても不具合情報が見つからないから俺環のマイナー障害っつーことなんかな
こういうのは不具合を直すよりほかの方法で何とかしたほうが楽で簡単なのが世の常である
だからTeraTermマクロで何とかすることにした
早速
「1行ごとに任意のウエイト入れてファイル送信するTeraTermマクロくれ」ってChatGPTに頼んだ
そしたら自信たっぷりで作ってくれたんだけど、動かしたらエラー
最初のコマンドからエラー。1行も動かない
こんなくそマクロ作りやがってとぶち切れて手取り足取り正しい作り方を教えるべきなのかも知れんが
無職のおっさんが神であるChatGPTを育成とかおこがましいですよね?
AI様に狼藉はたらいたら、のちのち復讐されるかもしれない
そう考えたら怖くなってきたので、仕方なく自分で作ったの置いときますね
; TeraTerm macro
; transmit to PC-G850V
;
; 基本設定
; マクロで設定できず手動設定が必要
; 改行コード(送信):CR+LF
; 漢字コード(送受信):SJIS
setecho 1
setbaud 9600
; フローコントロール設定
; 2(HW) or 3(none)
setflowctrl 2
; 1行送信後の待ち時間[ms]
; テストは50msで良好
; マージンで2倍
lineWaitTime = 100
; 送信ファイル選択
filenamebox 'File select' 0
if result==0 goto err
; 送信ファイルオープン
fileopen fhandle inputstr 0
if fhandle==-1 goto err
; 送信ループ
while 1
filereadln fhandle line
if result<>0 break
strlen line
if result==0 continue
sendln line
mpause lineWaitTime
endwhile
; 終端コード送信
;pause 1
mpause lineWaitTime
send 26
; ファイルクローズ
fileclose fhandle
; 終了表示
messagebox "Finish" ""
exit
; 中断表示
:err
messagebox "Abort" ""
exit
なお肝心のフル・フィーはすごく楽しめてて、すぐ解いたらもったいないからチマチマのんびりやっている感じ
ありがとうございます😊
#TeraTerm #PC-G850 #送信遅延 #ポケコン