SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|

2004-06-23(Wed) LCDパネルブラッシュアップ

  昨日、一応の完成をみた秋月のLCDパネルだが、このキットに関する同期信号の遅れ対処法というページを見つけ、早速試してみることにした。確かに、画面が左に寄り気味だったのだ。Windowsを立ち上げると、左端のアイコンが半分ほど見えない。PCの方で対処するものだと思っていたら、キット側の同期信号の遅れが原因だったとは。

  改造方法はTTLの74HC14(インバータ)をかませるとある。家にあるジャンクパーツに使えるものがあるといいけど……と、以前に秋月で買った500円のジャンク袋の中身を整理したものを探すと、出てきたのは表面実装用の40H004F。ま、74HC14とはシュミットトリガでないところが違うが、要は信号が反転すりゃいいんだから大丈夫だろ。きっと。

  というわけで、早速やってみた。ハーフピッチ(1.27mm)のICを、ナナメにズラして通常ピッチ(2.54mm)の基板にハンダ付け。我ながら名案である。

  画像の説明 画像の説明

  ホントに動くんかいな……と思っていたら、あっさり動いた。おぉ、すげぇ、ちゃんと画面が中心にきている。気分をよくした私は、仕上げにケースの上下に出ていたネジ止め用のエラ部分をルータで切り落として、スッキリデザインにしてしまう(昨日の写真と比べるとわかる)。意外とカッコよくなってきたではないか。ケースをネイビーあたりに塗装したくなってきたぞ。

  画像の説明

  あとは小さなスピーカとライン入力端子があれば音も出るようになるが、それはまた買いに行かなくては。それとボリュームのガワも1ヶ足りないしな。車への固定方法も考えなくては。

  EDENのほうは、Windows側にVIAの各種ドライバをインストールして、Linux用のパーティションと、Win共用のFAT32パーティションを用意するところまで。ちなみに、Windows2k用がNTFSで2G、Linux用がext3で2Gとswapで256M、残りが共有部分でFAT32の15Gである。とりあえず、Linuxのライセンス問題で頭の悪いところを存分に見せつけているelecom製のUSB接続の無線LANアダプタで家のネットワークに参加。ネットサーフィンできるようにする。

  ちなみにこのPC、主な利用方法はカーナビ、ジュークボックス、オンボードカメラになると思うが、現在の手持ちの機器だとLinux上では無線LANに接続できない。しかもUSB接続のGPSアンテナも使えない。さらにWebCamもつながらないと三重苦。WebCamはゼヒLinuxからコントロールしたいのだが……どうもWindowsメインになりそうな気配。Cygwin+Rubyでどこまでフォローできるかというところ。

  うー、今日は遅いのでココまで。


2005-06-23(Thu) 天ザルソバウドンで早朝回路

  さて、今朝は5時から早朝ファームプログラミングを行ってしまったが、それは昨日の日記のネタとして書いてしまった。どうも、この日記の日付変更線は朝10時頃に存在していたようである。にしても、なんでこんなにニワトリのように朝早く起きる体質になってしまったのであろうか。いや、キッカケがハワイから帰った際の時差ボケにあるコトはわかっている。しかし、あれからもう2ヶ月も経つのだ。しかも、徐々に早起き体質は進行している。朝起きるのが超苦手なオイラだったのに、変われば変わるというコトか。人は、目標を強く胸に抱いて、全力でそれに打ち込むコトができるならば、不可能などという概念を消し去るコトができる存在なのかもしれない。

  で、仕事が終わったらカミさんの実家へ。こないだのPCの修理のお礼という名目で近所の焼肉屋にお食事に連れて行ってもらうのである。100円で買ったジャンクCD-ROMドライブが焼肉に化けるとはッ!! わらしべ長者も裸足で逃げ出す出世ぶりではないか、がっはっは……って、えぇーッ!! 休みぃ!? なんと件の焼肉屋は臨時休業であった。

  替わりに和風ファミレスでゴハンを食べさせてもらうコトに。むぅ、無性にウドンとソバが食べたくなってきたな。よし、天ザルソバとザルウドンを両方とも注文してしまおう……あ、早い、もうきた。「天ザルソバの方」「はい」「ザルウドンの方」「……はい」。ウェイトレスに軽くウケてしまった。なんだよぉ、だって両方食べたかったんだもん。別にいーだろぉ……。

  画像の説明

  適度にビールをインストールして帰宅する。そのまま、22時頃に寝てしまう。いかーんッ!! 別の意味の悪循環である。どんどん寝るのが遅くなって、朝に起きれなくなり、遅刻の常習にはなるのと反対に、どんどん寝るのが早くなったら、午後の仕事に起きていられなくなるではないかッ!! ヤバッ!!

  そーれみろッ!! 今朝も無駄に早く目が覚めてしまった。まだ5時過ぎではないか。二度寝しようにも、実は2時半にも一度起きてしまっているので、二度寝は絶対に不可能なのである(?)。仕方なく起きる……が、起きてもするコトがない……いや、ある。「イエローちゃん」の回路のデザインを進捗しよう。まさに、起き抜けサーキットデザイン。昔、小学校の頃に先生に「夏休みの宿題は朝の涼しいうちにやってしまいましょう」なんて言われたなぁ。あれから20年以上経つけど、やっとデキるようになったよ、先生ッ!! ……あれ!? 昨日とほとんど同じ文章を書いているぞッ!?

  画像の説明

  あー、なんだかよくわからんが、この回路デザインをしたのは金曜の早朝、つまり明日の早朝であって、それはなぜなら木曜である今日に早く寝てしまったせいなので、だから木曜のエントリになっていたりするワケで……あぁ、早起き体質になったのはウレしいが、もう少しフツーの生活に戻りたい……。


2009-06-23(Tue) 「JS-1V」内蔵ゲーム、修理する

  先日、突如としてウンともスンといわなくなってしまった「Namco TV Classics - Ms. Pac Man」の「内臓」であるが、捨ててしまうにはどうにも惜しい。なんというか、ここまでいろいろ手をかけてきたのに、壊れてもらっては困る。まさに、困る。直ってもらわないと、困る。どうにも「困る」という気持ちでイッパイだ。

  困ると言えば、作ったあげくにイマイチ動作がシブい、パドルコントローラにも、かなり困っている。ロータリーエンコーダへの主軸の取り付け精度が甘いのが原因なのはわかっているが……ちゃんとしたボール盤があればなぁ……つーか、マキタ製でも、一般向けのヤツならソコソコで買えるみたいじゃん。そのうち買おう。でも、今それがないから困っている。

  んが、単に困っていても仕方ない。まずは、もうひとつ、ロータリーエンコーダを出してきて主軸の取り付けをやりなおそう。別に、新たな工夫があるワケじゃない。単に「気合い」を入れてマッツグに穴を穿けるっつうだけことよ。べらんめい。

  それに伴って、ロータリーエンコーダの上側のガワが交換になったので、側面にハナクソボンドでくっつけてあった短いシャフトが取れてしまった。再びハナクソボンドでくっつけなおす。例によって、中年力を発揮し、明日まで放置。

  画像の説明

  そこで、すかさずゲーム機の面倒を看に戻る。まずは、本体の箱の中からゲーム機の内臓部分を取り出す。ついでに、内側に取り付けたパドルコントローラの部品と、ブレッドボードが微妙に干渉するモンで、ブレッドボードも外し……てしまうと、ソコソコ整然とパーツや配線が設置してあった「JS-1V」の中身は、もうグッチャグチャである。ビジュアル的にかなりショックな状態。そもそも「JS-1V」自体、ジャンクパーツの集合物なのだが、ホントにゴミみたいな見た目になってしまった。ここ何日か、入れ込んでいるだけに、かなりの精神的ダメージ。ううぅ。

  しかし、近日の復活を夢見て、前向きに作業しよう。ゲーム機の基板に、5Vのアダプタから電源を供給し、様子を見る。ビデオ端子とオーディオ端子はテレビに接続してあるが、何も映らないし、何も聞こえない。ただし、電源を入れると、画面の右上の「ビデオ4」の文字が微妙に乱れる。まったく信号が行っていないというわけでもないらしい。

  仕方ない。回路を追う。ここからこうきて、と……LEDには直列に330Ωが配置してある……ん? そういえば、いつしか電源LEDの点灯が薄ボンヤリな発光状態になっているような……?

  つーか、そもそもこのゲーム機の動作電圧はいくつなんだ? 使う電池が単三4本なんだから、自然に考えれば5Vだ。LEDに直列に配置してある抵抗が330Ωというのも、供給電圧がその前後であることを裏付けている。

  電源を入れて、デカ目のコンデンサの両足の電圧を測ってみる……1.7V前後……1.7V前後ぉ!? いくらなんでも、そんな電圧が必要な理由がわからない。回路を見直しても、複数のデカ目のコンデンサが太いパターン上に載っており、これが主の電源供給ラインであることに間違いはない。

  画像の説明

  つーことは、5Vのレギュレータチップが死んだのか。いかにもそれらしいチップが電源供給ラインの端の付近に位置している。あやしいのはコイツだ。コイツがイカれて、電源電圧が低くなってりゃ、現在の症状もわからなくはない。

  しかし、こんな表面実装の部品を取り替えるのは難儀だぞ。そもそも、まだ、それが原因と決まったわけでもない……どうしたら確かめられる? ……そっか、とりあえず、デカ目のコンデンサの足が電源ラインなんだから、そこにアダプタから直接5Vを供給してみるか。

  故障しているにせよ、5Vのレギュレータチップに取っては逆電圧になるが、どうせダメモトである。ICクリップで直接5Vを供給してみると……

  「映ったッ!!」

  ……つーわけで、別に電源回路を用意してやれば、ゲーム機として復活できそうな予感。今日は、上向きの予感にワクワクしつつ、おやすみである。


2013-06-23(Sun) 内バリがバリっと

  画像の説明

本日のツッコミ(全1件) [ツッコミを入れる]

いつもおせわになっております [全く同じ日にPWSWがメキョッとめり込みました… や、SVXじゃなくてレガシィなんですが。]


2024-06-23(Sun) ディスクイメージサーバは爆速コンテナビルドの夢を見るか?

  ちょっと前からISOイメージの中身をHTTPで公開するコンテナを作っていた。slairという名前が付いている。

  スレイヤと読むが、ドラゴンスレイヤではなく、ドラゴンズレアのモジりで、ソース(コード)の棲処を意味する「Source's Lair」。略して「's Lair」。元々はソースコードの閲覧が主な用途だった名残だ。で、3回目のリニューアルなので「's Lair III」まぁ、大層な名前の割には大したものではないけれど、歴代、LinuxOSのインストール、各パッケージのアプデ、ソースコードの調査などの作業を大幅に効率化してくれるので、職場で重宝されてきたサービスである。

  画像の説明 画像の説明

  リニューアルする主な理由はコンテナ化だ。それに伴い、pvにISOを置くだけで勝手にマウントしてHTTPアクセスできるようになる機能を加えた。ISOイメージの中身へHTTPアクセスできるということは、dnfのリポジトリサーバが務まるということだ。インストール後の、各パッケージのアプデに便利だ。んぁ? そこでフト思った。コンテナビルドの時のdnfによるパッケージインストールもそこからやらせられたりしないか? それが可能になれば、コンテナビルドが爆速になる気がするんだが。遠いオフィシャルリポジトリへのアクセスが不要になるのだから。

  それをしたいなら、コンテナビルドで「dnf install」の実行の前に、/etc/yum.repos.dの中のrepoを置き換えるスクリプトを書いてやればいい。こんな感じに。

#!/bin/sh
 
rm /etc/yum.repos.d/*.repo
 
cat <<EOF >/etc/yum.repos.d/slair.repo
[slair]
name=Fedora 40 - x86_64
baseurl=http://hostname/indexes/discs/Fedora-Server-dvd-x86_64-40-1.14/
gpgcheck=0
EOF

  そのスクリプトをリポジトリサーバのすぐ横に置いて提供してやることにするならば、Dockerfileの冒頭はこんな感じに。

FROM fedora:40
 
ADD http://hostname/indexes/misc/setup_repo_rhelXX.sh /setup_repo_fedora40.sh
RUN bash /setup_repo_fedora40.sh
 
RUN set -x \
    && dnf install -y \
        ruby \
        procps-ng \
        iputils \
        iproute \
        diffutils \
        less \
    && rm -rf /var/cache/dnf/* \
    && dnf clean all
 :
 :

  そしてイザ「docker-compose build」ッ、速ッ!! パッケージリストの読み込みが瞬時に完了……アレ? ビルド失敗……なんで? 必要なパッケージがない!?

  今回、FedoraのServer版のISOを使ったのだが、中身を見ると大半のパッケージが入っていない。あぁ、そうか。Everything版のISOじゃないとな……と、思ったら、だいぶ前にその提供は終わっていたのであった。ちぇ……とはいえ、同じことをRHELでやる場合には問題なくできるはずなので、今回はそれでヨシとしよう。作った物件のgitリポジトリを以下に公開しておく。

https://itline.jp/git/slair
https://itline.jp/git/sinatra_skelton

2025-06-23(Mon) マップソースをとっかえひっかえ

  なかば冗談ながら「PCD(パブリック・サーキット・データ)」なんてものを策定してみたが「サーキットのスターティンググリッドの場所を示す地球上の緯度経度情報」ってのは、完全にオープンデータである。サーキットのタイム計測ラインであるセクタの境界も、同じくオープンデータだ。

  そうなるとちょっと気になってくるのが、空撮画像のイメージデータのオープン性だ。現状Gさんの地図データをこっそり拝借しているわけで、これをオープンと言うことはできない。

  しかし、我が日本国には日本国民の血税によって整備が行われた、国土地理院謹製の地理院地図があるッ! ……って、そりゃ、日本国内だけやんけッ! F1に限ればほぼ鈴鹿サーキットだけってことになる。他の国内サーキットを走るには足るが、それじゃちょっとつまらない。

  そこで、Gさんと同様に世界の地図データを提供しているサービスがないか調べてみたところ……というか、AIに訊いてみたところ、それなりにザクザク出てきた。特に有望そうなのが、MのBさん。基本有料のMさん

  どちらも、Gさんと同様に地球全体をメルカトル図法にして、1x1=1分割2x2=4分割4x4=16分割……というマップタイルで提供する方法に対応している。「TopDrivin'」はレベル20の存在を前提としているが、どちらも少なくともモナコ付近ではそのレベルのマップタイルを提供しているようだ。

  もともとは、Gさんのマップタイルのアクセス効率化のため、やっつけで作った自製のキャッシュ機能付きのマップタイル用のプロキシだが、そいつをちょいとイジって、取得先をBさんやMさんに変更すれば、本体に手を入れずともそっちのサービスのマップタイルを使うようになるはず……

  画像の説明 画像の説明 画像の説明

  ……おぉ。アッサリとできてしまった。これは、有名なモナコのローズヘアピンの空撮画像。左から、Gさん、Bさん、Mさん。数メートル程度のズレはあるが、同じ座標データを与えて、この結果が得られている。置き換え可能と言うに十分なレベルだろう。

  というわけで、まずは自製のプロキシをイジって、Gさん用のクエリを、Bさん用、Mさん用に変換することで置き換えを実現してみたものの、こうなってみると、ひとつのプロキシをイジるのではなく、各々用に個別にプロキシを用意するのがよさそうだ。さらに、Gさん用のクエリを、Bさん用、Mさん用に変換するのではなく、共通のしかるべきクエリのフォーマットも策定するべきだ。

  で、作った。Gさん用はgmproxy.cgi、Bさん用はbmproxy.cgi、Mさん用はmbproxy.cgi。Bさん用は、マップタイル位置の指定方式がちょっと変わっているのだが、それはbmproxy.cgiの中で吸収させている。つまり、いずれも共通のクエリのフォーマットを受け付け、同じ場所のマップタイルを返す。なので、モナコのコレも、共通のデータで、概ね似たように再現される。Bさんはちゃんと道幅が、Mさんはより詳しく表示されるようだ。いいじゃないのよ、これ。

  画像の説明 画像の説明 画像の説明

  そこでさらに、プロキシの設定は「TopDrivin'」の本体ではなく、コースを定義しているJSONファイルである、PCDファイルの中で指定することを必須としてしまおう。

{
    "name": "モナコ",
    "grid": {
        "lat":  43.734846,  "lng":   7.421327,  "dir":  60
    }
    "map_proxy": "http://localhost/~user/topdrivin/bmproxy.cgi",
}

  こうすると何がいいって「TopDrivin'」本体と、地図の利用権のゴチャゴチャを分離できるのがいい。あくまで「TopDrivin'」本体に添付されるプロキシは参考スクリプトであり、外部地図サービスへのアクセスの責任はプロキシの運用者が負うってわけだ……って、パチンコの三店方式みたいだなw。

  なんだったら、外部地図サービスへのアクセスなしに、100%手書きで描いたサーキットのマップタイルを提供するプロキシを立ち上げてもいいわけだ。つうか、つうか、もはやそれはプロキシではなくサーバだな。

  ぼちぼち、気分良く走れるようになってきたところで、次はサウンド関係に手を付けるかなぁ。