～ATC7SEG～

このソフトはJRETSのHUDやコックピットの状態を取得して、
電車でGo！新幹線専用コントローラーの戸閉め灯や速度計を稼働させるための
「コントローラー変換器」とセットで使う補助アプリケーションです。


作った人：@autotraintas
公開サイト：https://autotraintas.hariko.com/atc7seg.html
BlueSky:@autotraintas.bsky.social


～～～

●●●このソフトはフリーウェアですが、鉄っちゃんはなにかごほうびが欲しいです●●●
ほしいものりすと　→　https://www.amazon.jp/hz/wishlist/ls/16CMU5DSWUCBL?ref_=wl_share

～～～


用意するもの
・電車でGo！コントローラー変換器 Ver4.02以降（あえて過去版を使う場合に仕様上遡れる最も古いバージョン）
　～～～お持ちで無い方はこちらからDL出来ます→　https://autotraintas.hariko.com/
・電車でGo！新幹線専用コントローラー（Type2の戸閉め灯にも対応）（ズイキマスコンProの戸閉め灯は公式で既に対応しているので予定ナシ）
・JR東日本トレインシミュレーター 基本パック＋任意のDLC　（無料体験版での動作も確認済みです。）
・フルHD（1920x1080）のモニター or 高さが1080ピクセルのモニター or 横幅が1920ピクセルのモニター、および先述の設定にされてること。
・二台目のディスプレイから数値を読み取る場合、二台目の横幅は1920で固定する必要があります。（運転台の位置がズレてしまうので。）


対応しているJRETSの路線と車種
・京浜東北線E233系1000番代（車両DLCの209系500番代には非対応（買えてない））
・埼京線E233系7000番代
・横浜線E233系6000番代（上記二車種と見かけ座標が同じっぽいので、動画を見比べた限り多分そのまま動きそう（買えてない））
・山手線E235系0番代
・仙石線205系3100番代
　＋
・HUDから情報を取得することが出来る車種であればその全車種。（無料体験版の東海道線では、Vehicle Model「HUD」での動作を確認済み）




使い始める前に
・あらかじめ、変換器で新幹線専用コントローラーが使える状態にしてください。
・機種指定を「PS2USB」に、PIDを「5-山陽」（5-Sanyo）または「5-逆山陽」（5-Reverse）にした状態で、速度計とATCに「0」が点灯している状態が正常です。
・変換器側の「制御するソフト」を「キーボード出力（自家用）」または「Mapped(Trial)」のどちらかにします。
・「キーボード出力（自家用）」は、新幹線専用コントローラーでJRETSを直接操作する時に使用します。
・「Mapped(Trial)」は、新幹線専用コントローラーを「ただディスプレイとして使いたい時」に使用します。他のマスコンを別で用意して使う場合に有効です。




操作方法の説明
・設定項目はとくに存在せず、車種・速度・最高速度・ランプの読み取り先・コックピットの読み取り先を選択すれば動きます。

～～～【Vehicle Model】～～～　　まず車種・情報取得先を選びます。希望の車種・取得先を選んで下さい。

【HUD】は運転画面に表示されているHUDから速度、最高速度、走行中か停車中かを読み取って新幹線コントローラーに情報を送ります。
このモードは、どの車種でも一番確実に動き、キャプチャー数が少なく動作が軽量なモードです。コックピット画面を参照しないため、以降の設定項目は無効になります。
速度と最高速度の応答レスポンスがとても速く、ランプの点灯タイミングがゲームのコックピットと多少ズレる代わりに全ての車種で使えるのが特徴です。
ランプの点灯タイミングは「停車中」と表示された文字が出発時に変化することを利用しています。そのため、特に発車時にブザー合図を待つ路線では大きくズレます。
ただし、ATCやATACSなどの保安装置の路線・区間では、最高速度や制限予告が表示されないため、そういった路線・区間では後述の車種に切り替える必要があります。
・【HUD以外】を選ぶときは、JRETSの 設定(Settings) -> システム(System) -> 運転台前後動揺/Driver Console Swaying Motion -> OFF に設定してください。
・【HUD】にする時は、JRETSの 設定(Settings) -> 表示(Display) -> 停車・通過駅/Next Station -> ON
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 -> 速度/Speed -> ON
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 -> 最高速度/Maximum Speed -> ON　にしてください。


【E233-MAX140km/h】は京浜東北線E233系や埼京線E233系などで、コックピットから「速度」や「ATC/ATACS最高速度」を取得できます。
メインディスプレイのコックピットから速度を取得する時は、
JRETSの 設定(Settings) -> システム(System) -> 運転台前後動揺/Driver Console Swaying Motion -> OFF に設定してください。
運転台（[C]キー）を「位置固定モード」で表示して、そこから切り替えないようにしてください。
・E233系で埼京線を運転し、かつ最高速度の読み取り先がコックピットの場合、ATS区間では新幹線コントローラー側の最高速度表示がオフになる仕様としました。
　引き続き最高速度を取得したい時は、 Limit Source を HUD へと切り替えて下さい。
・DLC持ってないので判らないけど、見かけはほぼ同じ運転台の仕様である「横浜線」にも対応出来てるんじゃないかと思います。わずかなズレでもアウトだけど。
・おなじE233系であっても、コックピットの速度計が最大140km/h表示と160km/h表示とがあります。
・「コックピット」モードは140km/hのみの対応です。160km/hの車種では「HUD」を使って下さい。


【E235-MAX140km/h】は山手線E235系で、コックピットから「速度」や「ATC最高速度」を取得できます。
メインディスプレイのコックピットから速度を取得する時は、
JRETSの 設定(Settings) -> システム(System) -> 運転台前後動揺/Driver Console Swaying Motion -> OFF に設定してください。
運転台（[C]キー）を「位置固定モード」で表示して、そこから切り替えないようにしてください。
・E235のコックピットは、背景白地に黒い針です。このため色の識別は「一定の暗さを満たしたこと」が必然的に条件となるのですが、
　この副作用として、トンネルや陸橋などの運転台に影が落ちる場所で、速度計がたまに誤認識をしてしまいます。（目黒駅を出た先の暗所で改良はしてみたけども）
　どうしてもこの誤認識を避けたいのであれば、速度をHUDから読み取るようにしてください。
・おなじE235系であっても、コックピットの速度計が最大140km/h表示の車種と160km/h表示の車種があります。（実車でのお話）
・「コックピット」モードは140km/hのみの対応です。160km/hの車種では「HUD」を使って下さい。


【205-3100】は仙石線205系で、コックピットから「ATACS最高速度」を取得出来ます。
メインディスプレイのコックピットから速度を取得する時は、
JRETSの 設定(Settings) -> システム(System) -> 運転台前後動揺/Driver Console Swaying Motion -> OFF に設定してください。
運転台（[C]キー）を「位置固定モード」で表示して、そこから切り替えないようにしてください。
・ATACS運転区間が終了すると、ATSの取り扱いへと移行しコントローラーの表示はオフになる仕様です。
　引き続き最高速度を取得したい時は、 Limit Source を HUD へと切り替えて下さい。
・この車種では速度をコックピットから取得することが出来ません。
　Speed Source が Cockpit になってると、自動でHUDへと戻るようになっていますが仕様です。



～～～【Speed Source】～～～　　速度計の取得先を選択します。

任意の車種を選択すると選べるようになる【Cockpit】は、HUDに速度計を表示したくない時などに使います。
HUDと運転台の速度計の間にはわずかにレスポンスに差があるのですが、こちらは運転台の画面と同期された表示が出来ます。
・Speed Sourceを【HUD】にする時は、JRETSの 設定(Settings) -> 表示(Display) -> 速度/Speed -> ON にしてください。


～～～【Limit Source】～～～　　最高速度の取得先を選択します。

任意の車種を選択すると選べるようになる【Cockpit】は、HUDに最高速度が表示されていない保安装置で使います。
・Limit Sourceを【HUD】にする時は、JRETSの 設定(Settings) -> 表示(Display) -> 最高速度/Maximum Speed -> ON にしてください。


～～～【Lamp Source】～～～　　戸閉め灯の取得先を選択します。

任意の車種を選択すると選べるようになる【Cockpit】は、ドアランプをコックピットの点灯状態と同期できます。
・Lamp Sourceを【HUD】にする時は、JRETSの 設定(Settings) -> 表示(Display) -> 停車・通過駅/Next Station -> ON にしてください。


～～～【Cockpit Source】～～～　　複数のディスプレイが接続されている時に有効になります。

・Primaryとはマルチディスプレイにおけるメインディスプレイ（前面車窓が描画される側）、Secondaryはサブディスプレイ（運転台だけの画面側）の意味です。
・負荷を軽くするため、コックピットの撮影はどちらか片方の画面からしか撮影しないよう設計しております。
・Secondaryにしても速度計などが上手く反応しないときは、
【サブディスプレイの表示の横幅が1920であること・その設定になっていること】
【コックピットの下辺がディスプレイの下辺に届いておらず黒帯が残っていること】
運転画面やデスクトップをPrintScreenキ－を押して撮影した全画面をペイントなどに貼り付けて【左端に段差や黒帯が1ドットも発生していないこと】を確認して下さい。
（運転台は余白が埋まるまで自動で拡大縮小されてしまうため、少しでもズレてしまうと認識用座標と噛合わなくなり正しく速度が読み取れません。）


～～～【Pattern】～～～

・「Pattern」の右にある【Flashing】にチェックが入っていて、かつLimit Sourceをコックピットから取得していると、
　「パターン接近」点灯時にコントローラー側の制限速度表示が点滅するようになります。

電車でGo！シリーズ（2・プロフェッショナル仕様・山陽新幹線のリアルモードOFF）のATCに共通するゲーム独自の仕様で、
実車にはない機能ですが（どこかにはある？）「ゲームコントローラーのギミックとしては面白い」ので搭載しました。

なお、ATC/ATACS区間における数値の構造的役割が電車でGoシリーズとは異なることから点滅周期を少しアレンジしていています。
オリジナルでは【一度点滅が始まったら表示数値は不変】なのですが、こちらは【数値がリアルタイムに可変する】という違いがあります。
視認可能な時間をできるだけ確保するためにも、消灯している時間は短く、発光している時間は長くなるようにしてあります。

HUDから取得している場合は「【制限予告】に現在の最高速度よりも低い値が示されてる場合」に、
HUDの制限予告を表示するよう切り替わり、点滅を行います。点滅周期はHUDの点滅表示とそっくり連動させています。
なお、制限速度が緩和されるときの点滅は無視されています。HUDの数字が点滅しているのにコントローラーが点滅しなくても、異常ではありません。
ただし、HUDの表示をそのまま中継してるため、ATCやATACSのような表示上の親切さはなく、
最高120から制限70に到達した直後30メートル先の制限45が予告されるといった「鬼畜な予告」もそのままコントローラーに表示されますので、過信はしすぎないように。

【Flashing】がオフになってる時は、制限予告を参照することなく、常に現在の最高速度を表示する動作仕様となっています。
この挙動は「電車でGo！ファイナル」に新幹線コントローラーを接続して、
山手線のアナログATC（ファイナル発売当時はまだリアルの山手線でもデジタルATC導入前）を運転した時の挙動を参考にしています。


～～～【TopMost】～～～

このソフトをJRETSの運転画面よりも手前に表示する【最前面表示】するためのスイッチです。通常はオフで使用してください。
開発中にJRETSの下側にソフトが隠れてしまうと、ソフトとHUDを行き来して見比べるのが大変なので置いてあるスイッチです。
バグ報告のために画像や映像を撮影したいときや、ソフトの挙動を観察したい物好きな方はオンにして下さい。



このソフトを使うときのJRETSの設定。
・表示言語は【日本語/English】【日本語】【English】いずれに設定されていても動きます。
・速度の読み取り先を「HUD」にしている時は、HUDを常に表示しておいてください。消したら【V】キーで再表示してあげてください。
・Cockpit Source を「Primary」にしている時は、JRETSの 設定(Settings) -> システム(System) -> 運転台前後動揺/Driver Console Swaying Motion -> OFF にして、
　コックピットを「Shiftキーを押しても運転台が動かせないモード」に【C】キーで切り替えてください。座標がズレても追跡する機能はありません。


このソフトを使うときのWindowsの設定。
・一台目のメインディスプレイが対応している画面解像度は、1920x1080、もしくはタテ1080p、ヨコ1920系、どちらかが一致する環境。
・二台目のサブディスプレイの横幅は必ず1920である必要があります。縦幅は、運転時にディスプレイの下側に運転台の表示が当たらず黒帯が残っていれば合格です。
・ディスプレイの輝度や色を模擬的に変更するフィルターアプリが起動してると正しく動かない恐れがあるので、異常時はデフォルトに戻して下さい。
・アプリケーションが起動しないときは【.NET Framework 4.8 Runtime】を導入してください。

【.NET Framework 4.8 Runtime】の配信先はこちら↓
https://dotnet.microsoft.com/download/dotnet-framework/net48






Q.Cockpit Source が灰色になってて切り替えられないんだけど？

この項目は、二枚以上のディスプレイが接続された環境で使える、サブディスプレイから速度などの情報を取るよう切り替える項目です。
ソフトの起動時に、ディスプレイが何枚接続されているかをチェックして、複数接続されている時に有効になります。
ソフトを起動して以降に接続されたものは新たにカウントしてくれないので、接続や表示の有効化を済ませてからソフトを再起動してHUD以外に切り替えて下さい。
ちなみに、接続されたディスプレイの総数を数えているだけで、ディスプレイの状態や描画座標など、一切確認やエラー処理などしていません。
（マルチディスプレイ周りの処理は確認をしようとするだけでもプログラムが複雑すぎました。。。）
なので若干不本意ながら【JRETSにおける正しい座標位置に二枚目のディスプレイが正しく配置されているものとして】このプログラムは作られています。
正しい位置と画面サイズでないと、様々な読み取りミスを起こすと思いますので、今一度ご確認ください。


Q.HUDから最高速度を読み取って【Flashing】を使ってるとき、制限予告の点滅が終わってから1秒ぐらい、コントローラーに表示が出ない時があるんだけど？

制限予告の速度が点滅されてる最中をよく観察すると判るのですが、
「いかなる予告も告知されてないただの【消灯】」と
「予告が告知されて点滅してる最中の【消灯】」とがインターフェイスの表示からは区別が出来ないのです。
この点滅が「完全に消灯」したことを区別・判断するために、

【制限予告表示の点滅周期（遠方用）の0.5秒】＋
【PC本体やJRETSの描画ラグや、このソフトの負荷遅延分も合わせて0.1秒】＝計0.6秒
・・・を超えても、制限予告表示位置になにも表示されてなければ終了したと判断する。

という手順で確定しています。

「近接用の点滅周期」は250ミリ秒なのですが、この直後にさらなる制限予告が重なることも多く、250ミリ秒の次は終了が確定してるワケではありません。
そのため、点滅の終了を断定するためには、どうしてもまず初めに「点滅周期（遠方用）」の500ミリ秒が必須。
そこに、高負荷やWindowsのバックグラウンドの処理などで、ゲームのフレームスキップが最大で2/60フレーム起きると仮説して33ミリ秒追加。
キャプチャしているこのソフトの許容出来る想定最大遅延時間での処理速度が【20回/秒】の周回遅れ1周分=50ミリ秒。合計583ミリ秒。
ここまでを計算してみると、、、確定までの判定値600ミリ秒 ー 遅延想定合計583ミリ秒 ＝ 17ミリ秒 ≒ 1fps　となり、見た目上はほとんど誤差です。
ついでに、新幹線コントローラーの画面更新周期も【20回/秒】なので、この更新頻度までの時間分50ミリ秒で割り算したあまりの分だけ、時間猶予を追加できます。

このように、あらゆる遅延やスペックがギリギリの環境での動作を想定してのもので、動作の確実性を保つためのものです。
この確定方法を採用している限り、制限予告の表示終了直後に、1秒以内の消灯時間が発生してしまいます。どうしようもないものです。
こういった事情もあってHUDから取得中は【コントローラー上の点滅が終了して点灯した瞬間】と【制限予告が終了して予告された制限区間への到達】がズレますので、
制限区間に合わせて減速して、ギリギリ間に合ったかどうかの判断には、コントローラーの表示は使わない方がよろしいかもしれない。と思いました。


Q.映像がキャプチャされてるけど、なんか情報が漏れたりしないよね？

映像はキャプチャしていますが、キャプチャした映像や画像は保存されません。
（.net Frameworkの挙動で勝手に保存されることはあるかもしれないけど、保存命令は出してません。）
（制作中にクリップボードに画像を送り込む仕掛けを使用した残骸がありますが、公開時に無効化しています。）
判定にはJRETSの情報を捉えるために設定した数百カ所の座標から【1ドット分のRGB】を読み出し、判定に使用しています。
（ATCの針と時速の針を120km/hまで、HUDの時速1桁につき10カ所ｘ9桁分。戸閉めランプの判定に数カ所）
このツールの仕組みは、プログラムが数字を読めるのではなく「このドットが黒ならば今8が表示されてると確定出来る」といった、既知情報との比較照合です。
数字のフォントをドット単位で観察して導き出した「唯一解的特徴点」が今どのRGB値で表示されているかを取り出し、閾値を超えたかどうか比較しています。
なのでHUDや運転台がリニューアルされると何も判らなくなります。（HUDは過去に数回の変更、運転台は一回リニューアル、たまに細かい位置調整がされています）
ドットの座標と色濃度実測値を関連付けて、HUDの状況やコックピットの表示状態を捉えることは出来ても、
それ以上の細部を判断するだけのシステムはなく、オンラインに情報送信する機能も搭載されていません。
なお、このソフトは難読化を施していませんので、内部の情報を、判る人は簡単に解析・判読できます。
不安であれば内部を覗いてみてください。


Q.他の画面サイズには対応出来ないの？

このツールのために速度計の座標を獲得してみて判ったのですが、フルHDという大画面であっても既に、1キロ隣と識別座標が隣り合ってる場所もありまして、
フルHDより小さい画面は高密度すぎるために、誤読・誤認識・1km/h単位に分解できないという問題に当たってしまうことが予想されます。
逆に大きい方については、画面サイズを大きくする＝面積（画素）も大きくなる＝処理の負荷が重くなる＝コントローラーと画面との表示ラグがひどくなる。
という問題がありまして、通常であれば「64回/秒」を上限で回る設計のシステムが、わりと新しい方のCPU（Ryzen7 7700X）が積まれた開発環境でも
画面を三カ所（HUD＋速度計＋戸閉め灯）取り込んだだけで20回/秒まで落ちてしまう重さです。
この速度は、新幹線コントローラーの表示灯の更新間隔と同じぐらいで、これ以上遅くなるとJRETS側の表示とコントローラーの表示ズレが著しくなります。
これよりレガシーなCPUならもちろんさらに遅くなり、ラグや遅延、負荷が深刻になります。

高速化・軽量化の手法に目星はついてるものの、その方法がWindows11以降にしか対応しておらず、Windows10では機能してくれない手法になってしまうことです。
（正確には一部のWindows10では対応はしているものの、撮影中を示す【枠】が強制表示されてしまい、これを非表示にする方法の方が実装されてないのです。）
SteamクライアントのWindows10のサポートが続いている＆Windows10のシェアは2割強残ってる＆PC関連パーツの相場が暴騰中の昨今ではちょっと無視出来ません。

フルHDより小さくすると、画像認識の負荷は軽くなるけれど隣のピクセルと近づきすぎて溶けて混ざり区別が困難になる。
フルHDより大きくすると、区別は容易になるけれど面積が広くなる分だけ負荷は重くなる・・・どちらにしてもきわどいのです。

大きくする方はCPUのシングルスレッド性能がCineBench2024のスコアで350～400ぐらいに届けばマシになりそうですし、
SteamクライアントのWindows10へのサポートが完全に打ち切られた時には、より軽量な方式に切り替えて、大きな画面にも対応出来るかもしれないです。
（対応のためにはまず大型のディスプレイを買う必要はあるけれど。）


Q.負荷が重いというにしてはコックピット画面の撮影範囲広くない？

ひとつは【信号ばってん】を拾えるようにしてあること。信号ばってんは通常の運転では表示されませんが、あれこれやるとふつーに表示されるので。
ばってんが表示されてる時は、コントローラーのATCがゼロと表示されます。ばってんとATC制限が同時に描画されたときはばってんが優先されます。
次に【入替】表示を拾えるようにしてあること。この表示の有無が ATC/ATACS がアクティブかどうかの識別に使えるのです。
（今後【入替】が点灯するギミックが追加されてしまうと困ったことになるけれどね）
仙石線205系は【入替】表示に動きが無かったので、主要な発光地点がすべて消灯＝ATSと解釈してます。
最後に、仙石線のATS判断事情や、今後高速な路線が増えても大丈夫なように、最高速度や速度計が120km/hまでキャッチできるように用意してあるため。


Q.運転台を動かせるモードでも、初期位置なら座標が固定出来ると思うけど？

運転台の位置を動かせるモードで【Shift+C】キーを押すことで初期位置に戻せることは把握しています。
実際作ろうと思えば作れるのでしょうけれど、正直、あのデフォルトの小ささでE233系やE235系のコックピットでは1km/hの精度を維持するのは難しいと思ってます。
・運転台位置固定モードでもまあまあ小さかったコックピットの表示がさらに小さくなる→小さい・細かい計器であるほど区別が困難＝誤作動が多くなる
・新幹線コントローラーに送られる【数値の精度を犠牲にしてまで小さな運転台表示で運転したい需要】があるのか実態が判らない。
という命題があります。
で、E235系に関しては現段階で既に「運転台車窓が暗くなる演出が入ると速度計が誤作動を起こしやすい」ので、もっと小さい面積にしたなら誤作動はより顕著になります。
実際に需要があり、新幹線の7セグメントディスプレイやATCが5km/h刻みのような誤作動が減らせそうなコックピットであれば、作っても良いかもと思います。


Q.低スペックなPCでも快適に使うにはどうすればいいの？

今回のソフトは、3カ所の範囲をキャプチャーしています。HUDの周辺、コックピット速度計の周辺、コックピット戸閉め灯の3カ所です。
このキャプチャー1回ごとに負荷がかかるため、HUDからの情報だけで使えば、一番負荷が軽い状態（1倍）になります。
HUDを使わない時は、速度計周辺と戸閉め灯の二カ所を取得するため、負荷が2倍に。
仙石線のように、速度計からATACS指示、戸閉め灯、HUDから速度、と3カ所から取得すれば3倍になります。
低スペックなPCで快適に使うには、取得先を減らしていくことで負荷が軽く、快適になっていきます。
ただ、それでもCPUの性能はある程度新しくないと厳しいところがありまして、
JRETSの最低要件CPU（Intel Core i5-8500 or AMD Ryzen 5 2600）が2018年のCPUなのですが、
せめて、Nintendo Switch初代やiPhone8（どちらも2017年）よりは新しいCPUが望ましいです。


Q.そもそもなんで別のアプリになってるの？　変換器に組み込めなかったの？

画面の色情報を撮影する動きは、非常に時間と負荷がかかる動きとなっており、
同一のアプリケーション上で撮影と運転を同時に行うと、運転操作の入力遅延を少なからず引き起こしてしまうからです。
アプリ内部でマルチタスクにすることも可能といえば可能なのですが、運転に影響を与える可能性を完全排除するには、別のアプリに分けた方が簡単で確実でした。
JRETSの最低動作環境が6コア6スレッドなのもあって、プロセス2つが2コア分占有しちゃっても大丈夫そうなのも理由でした。


Q.他の車種に対応出来る？

出来る車種と出来ない車種があります。
例えば、キハ54のような速度計の針が純粋なアナログで、しかもコックピットのどこにもデジタル速度や文字速度が表示されてない車種は無理ゲーです。
E233やE235は、針がグラスコックピット上でデジタルに動くので1km/h単位で座標を獲得すれば行けました。
しかし、アナログの、無段階の、黒色の針に対して【有効範囲】と【失効範囲】を全部定義し識別するのは、
たとえ出来たとしても鬼みたいな作業量をこなしたわりに、影の落ちる演出で容易に数値が変化し誤差が起きるため、解消の目処が絶無なので拒否します。
（E235画面に対応した時に、速度計の白地と黒針の組み合わせは、運転台車窓が暗くなる演出との相性が最悪なまでに悪いことが既に判っています）
内部のメモリを直で読みに行けば理論的には出来るでしょうが、アップデートの度に容易に変化しますし、マナーが悪いのでやりません。
こういった車種では、HUDから読み取って下さい。

仙石線205系のような速度が小さく表示されている車種はありますが、これはタイムラグやフレームスキップが大きすぎて役に立たないタイプ。
ATCの指示針は取得出来たけど、速度はHUDから取得すべき車種になります。
でも、こういう5km/h刻みのタイプの制限指示計なら座標がはっきりしてるから、SNSにアップ後自動圧縮された映像や画像からでも行けるかも。
（ただし、指示計LEDの点灯状態の画像が5km/h刻み+ばってん点灯まで含めて全部用意してもらう必要があるけどね。。。）

東武鉄道型のATCは「予告速度」が先に提示されて、後から「赤いアナログの針」が下がってくるタイプ。
これの厄介な点は「黒い針が上にあり、赤い針が下にある」ために、制限速度を読み取ろうとしても完全に重なって見失ってしまう構造であること。
アナログの針の追跡が難しいのは元々よりだけど、重なって見失った時の処理まで含めるのはもっと難しい。
デジタルで表示されてる橙色のランプは、その数字を超えても即ブレーキが作動しないタイプ。
構造的にはこっちが【キャブシグナル】の扱いと捉えるべきで、これをそのまま新幹線コントローラーに表示するだけで良いなら出来る。
ただ、全体としては「予告橙針と照査赤針はセットでひとつ」の機能のようで、片方だけコントローラー表示に送っても中途半端な気もする・・・。
とはいえ、解釈としては、赤い針は「ATS-Pにおけるマスク値＝パターンが見えるようになってるだけ」とも言えるので、表示されなくても支障はなさそうで。。。
解釈と実装方法を考え倦ねてしまう車種です。鉄道により詳しい人の意見や理解、落とし込み方を聴きたいところ。ただし、まずDLCを買ってない件。

そもそも、多くの車種ではHUDの速度計と最高速度表示で事足りるから、対応するとしたら、
・最高速度がHUDに表示されない車種であること・その区間があること。
・【キャブシグナル】がアナログではなく【デジタル】であること。（無段階計器の完全誤差ナシ識別は、もはや災害レベルの難易度なので）
・キャブシグナルの数値や針が、保安装置が保護する「照査速度」じゃなくて【制限速度】を示していること。（新幹線コントローラーの表示・設計思想と食い違う）
・キャブシグナルの数値や針が、メインディスプレイの固定画面やサブディスプレイから全域が見えること。（E257のATS-Ps表示器みたいに天井側・画面外にあると無理）


Q 突然こんなソフトを作るなんて、新幹線が実装されるって事前に知っているんですか？

『いいえ』です。
ただ、実感として、東京という街に住んだことのない、土地勘のない田舎者が関東都心部の路線図をぼんやり眺めてみた印象として。
東京都心とその近郊にある新規の「目玉商品」って、そろそろ弾が撃ち尽くされてきたところがあるんじゃないのかなって思いました。
だからこそ、逆方向路線の実装に着手したんでしょうし。
そうなると、極端を言えば「最後のアップデート」の日までには必ず何発か「特大花火」を撃つ必要があるはずで、遠からず新幹線の実装は視野に入るだろうと思いました。

で、新幹線といえば、デジタルATC、デジタルATCと言えば【7セグメントディスプレイ型速度表示機】（以下7セグ）です（正式名称は知らないので違ってたらゴメン）。
これは画像認識で数値を取り込むのが非常にお手軽で、フォントは固定、発光する地点が消灯してても判る。判らなくても28km/hまで加速して桁数分ヨコにズラすだけ。
しかも基礎の文字判別プログラムをまるまるっと使い回せるので、正式発売されたら識別座標を製品版の位置に書き換えるだけなので対応も速くて簡単です。
これにあらかじめ対応しておかない手はないだろうというのが、今回のソフトの制作動機の一部にあります。

7セグ搭載の確証は、新津鉄道資料館に保存されてる200系の運転台にも、ちゃんと搭載されていたことから。
コックピットに速度計以外の情報表示モニターが実装されてないこのタイプの200系なら、機密保持を簡単確実にできて、
現行の保安装置の路線をひととおり走行出来ることから、ワンチャン実装があるだろうなーとか妄想しています。レトロ加点もあるし。

画面認識の基礎部分の実装とテストは「PS3 Railfan 台湾高鐵」の7セグ表示を借りて機能面だけ先に完成させておきました。これが2026年9月27日です。
E5系のシミュレーターでは7セグの発光色が黄緑色系だったので、700Tの運転台の時刻表示を使って色の判定も近づけておきました。
（200系の7セグが正式版と異なる「試作車仕様」の色で光ってる可能性がなきにしもあらず・・・でもまあ、判定色は割とすく変えられるのでだいじょぶ。たぶん。。。）
で、この7セグ判定方式は、現在公開中のバージョンにフタだけして既に格納してあるので、製品発売直後に急いでダウンロードして、
7セグの座標を製品版に合わせて書き換えて、フタを外せば、生放送が終わるごろぐらいには対応版を公開できそうだと思います。（その日予定が空いてれば。）

7セグの搭載されてない例外もあって、映画に登場したE5系U75編成と、ホテルに設置されてた「可搬型」と呼ばれるタイプのE5系シミュレーターのコックピット。
これらにだけは、軽量化と簡素化のためか7セグが搭載されていなかったのです（最初はだいぶ混乱した）。
機密保持のためにモニターの内容やコックピットフレームを映画仕様にしたU75仕様が採用された場合に備えて、
映画のU75編成の運転席画面を観察して、速度計のフォントを読み取るモードを実装できるよう準備しています。
（ただ、その場合本実装には数日以上かかると思う。ATCを液晶に表示されたバーからドット単位で読み取る必要と、バーは上限が可変する場合があるんだよねえ・・・）

フェイルセーフの考え方からして、『7セグナシの画面オンリー』って無いと思いたいけど、果たしてどうなるのでしょうか・・・。


Q.なんで209系500番代に対応してないの？

値上げが告知されて、せっかくだからいろいろとDLCを買ってみて、次は何を買おうかと吟味していた2026年8月中旬ごろのお話。
開発環境にある20周年の【ナショナル】の冷蔵庫と、15周年のフルHDディスプレイ（サブ）が立て続けにぶっ壊れて極度な金欠に陥ったからです。
冷蔵庫は必需品だし、フルHDディスプレイの方は15.6インチのモバイルモニターが安い時代だからちょっと踏ん張って買ったけども、それも9月になってからのこと。
値上げ前の美味しいタイミングを逃してしまった上、差額1000円UPを呑んでまで改めて買うというのも躊躇している。
しかも京葉線も総武線も持ってないし、26年10月の武蔵野線も一旦見送り予定なので基本パックにしか恩恵がない・・・という状況。

元々新幹線の実装読みしてこのソフト思いついたし作ったんだもの。値段が高くても新幹線なんて最優先も最優先で買いたいじゃん？
で、もし209系500番代買うなら、せっかくだし対応路線もってなるじゃん？　買うなら一緒に欲しいじゃないさ。お金足んないのよさー！
そもそもの話、新幹線コントローラーに対応させるためだけに買うのもどーかと考えていて、、、とはいえ音は面白いのよねえ・・・。。。
（名古屋市営の桜通線6000形が機材の更新で静かになったのが寂しい派。加速開始時の弦楽器みたいな音が好きだったのねん。）

今回のソフトは構想段階からかなりの難易度と手間がかかると分かってた割には、
欲しいものリストから送って下さった分のモチベーションで作れたところがあるので、
何かが届いたときには、有頂天になって作ることがあるかもしれません。