honeylab's blog

各種ハードウェアの改造、主にファミコンミニなどをやってます(ました)

呼び込み君音源カードの技術情報

このブログにはあんまり出てきませんでしたが、私の家には呼び込み君が2体います。

Image

 

世の中にはこの呼び込み君に魂を奪われてしまった人、特に子供が多く、

 

 

どういうわけかうちの息子もその術にはまってしまい

 

日々家の中で呼び込みサウンドが鳴り響いているのです…

 

そんな呼び込み君、仕様についてはまず適当な動画でも見てもらうことにして

基本的な機能としては、音源カードに内蔵された2曲のうちの一曲(もしくは無音)と、録音ボタンを押しながら吹き込んだアナウンス2本のうち一本、を延々とループ再生する機能があります。

呼び込み君の特徴的な「ポポーポポポポ」は、背面に差し込む音源カードに内蔵された曲で、このカードを抜いてしまうと聞くことができません。

 

初期状態のシステムで、子供たちが大好きなドン・キホーテBGMに合わせたアナウンスを再現するためには、録音ボタンを押しながら携帯などでドン・キホーテの曲を流しながらアナウンスを録音する必要があり、結構めんどくさいです。
実際のドン・キホーテの店頭の一部では、特注で製造される専用BGMの入った音源カードを使用しており、これを使うとBGMとは別に単体でアナウンスを録音することができます。

しかし、特注ですから子供たちが簡単に手に入れることはでき…ないはずなんですが、

なぜかメルカリで結構売っているようです…なんで?闇?

そんな子供たちのあこがれ特注BGMカード、うちの息子も絶対に欲しいと言ってききません。かといってこのような闇取引に手を出すのはいかがなものか

というわけで、ドン・キホーテの曲にとどまらず、自分で好きな音源を録音できる音源カードを自作できるようにしてしまえばいいじゃないかプロジェクト~~!

 

↓これはどっかの店で見たAdoの曲と一緒に録音されたアナウンスを再現しようとする息子

 

まずは、既存の音源カードについて調べることにします。

音源カードの中身です



IC1~IC4まで実装パターンがありますが、実際に実装されているのはIC1のみでした。

IC1はMicrochip製のSPIフラッシュメモリ 32MBit(4メガバイト) 26F032 です。
この中に音源データが入っているはずです。
ピン配置とパターンを追って模式回路図を書いてみました。

呼び込み君では一つのICに入った曲2曲の選択式ですが、
基板の端子にはあと3つのICを選択できるような拡張があるようです。
この端子を使う場合、IC5に74138が実装されるように見えます。

呼び込み君ではIC1しか使用されないため、J1で直接選択することで
74138の実装を不要としているようでした。
しかし、この拡張を使った機器、他にあるんですかね…?

吸い出すために、Arduino XIAOで読出しプログラムを作ってテキストでダンプし、
これをシリアルで受信してからバイナリファイルに落とすことにします。

Flashの上限電圧が3.6Vですので、5V系Arduinoは使用できませんので注意です。

無事バイナリファイルができましたので、ざっと眺めながら解析していきます。

ファイルの先頭部分のヘッダ部分に情報が詰まっていそうです。

解析を楽にするため、ImHexというソフトを使ってみることにしました。

 


構造体定義を書いていくことで、ファイル全体を構造体として解析できる優れものです。

 

解析を進めていった結果、構造体定義は以下のように書けることがわかりました。

struct songheader_t{
    u32 magic;
    u16 unknown1;
    u16 unknown2;
    u32 addr_start;
    u32 addr_stop;
};

struct song_t{
    songheader_t header;
    padding[0x400-16];
    u8 songdata[header.addr_stop-header.addr_start+1];
};

struct globalheader {
    u32 magic;
    u32 val1;
    u32 val2;
    u16 u1;
    u16 u2;
    u32 songaddr[2];
    padding[0x40-24];
    
    song_t song1@songaddr[0];
    song_t song2@songaddr[1];
};

globalheader data@0;

この構造体定義にて読み込むと、以下のようなテーブルが生成され、中身が一目瞭然です。

4MByteあるフラッシュメモリ中、使用しているのは2578432バイト、2.5MBほどのようです。

音源データ部のフォーマットはどうなっているでしょうか。

普通の非圧縮フォーマットであれば無音部分は0やFFなどが続くはず。それが無いということは何らかの圧縮フォーマットである可能性が高いです。
しかし、再生に使用しているのはかなり小スペックのマイコンであり、そんなに複雑ではないはず。ええいADPCMに違いない、とあたりを付けてGoldwaveであれこれ開いていると、ついに正解を見つけました!

全くノイズのない、生のポポーポポポポを手に入れたのです。

 

それを手に入れてもしゃぁないねん。

いや、ここまでわかったということは、これと同じフォーマットでここに自分の好きな音源を書き込んでやれば、好きな音源のカードが作成できる、という技術の裏付けができました。

しかし、このFlashメモリに音源を書き込むためには専用の回路やエンコード用のソフトを作らなければなりません。できるだけ低コストで、さらにユーザーフレンドリーに仕上げるため、設計を進めていきたいと思います。

 

いや、誰が使うねん!!!!!!

 

(※ある程度、少人数ですが需要はあると思います。しかし、部品代、基板製造代、など子供のお小遣いの範囲に納まる気はしません…)

 

書き込み機の作成の記事はこちらです!

honeylab.hatenablog.jp

屋外防犯カメラの電源をエアコンの室外機から横取りするハック

このブログではさんざん分解しているWifi防犯カメラ、特に屋外で使用可能なATOMCam2なんていう便利なものを結構な数持っているにもかかわらず、
実運用しているカメラが1台もないという奇妙な状態が続いていましたが、
運よく引っ越しが完了し、さらに監視対象としての庭や道路がたくさんできました。

そのため、手持ちのカメラを、分解したものを頑張って組み立てながら実運用していこうと思っています。

まずは一台、目の前に信号機のない交差点がある1階の道路に面した軒下にカメラを付けてみようと思いますが…

屋外にカメラを付けるときに、考えなければいけないのは、電源の確保です。

この位置にコンセントはありません。そのため室内から引き出さないといけません。

素直に考えると、いいところにエアコンの室外機がありますので、この配管穴を通して
室内からAC100Vを配線することが簡単そうですが…

実はこの配管、すぐそばの部屋から直接引き出されておらず隣の部屋の収納を経由している上、配線の位置もエアコンの真裏に隠蔽されていて、新たに配管を通すのが面倒です。

ぼんやりと眺めていると、エアコンの室外機にVVFが配線されているのが見えました。
あれ?もしかしてこれはAC100Vが供給されているのでは?と思い、まずは調べてみます。

 

カバーを外してテスターをあてると…おお、AC100V。そしてエアコンの動作状態には関係なく、常時給電されています。これは素晴らしい。

 

この端子からACを取り出し、ACアダプタでカメラに電源を供給することにします。

(残りの1本は通信線らしいです。たまにアースと勘違いしている人がいます)

また、少なくとも私のエアコンで(ダイキン)は常時給電でしたが、そうでない場合は毎度確認する必要があると思います。が、わざわざそこにリレーなどを入れることはあまり考えられないので、多くの場合常時給電だと思われます。

 

※ここから先の作業内容はあくまでも作業ログであり、指南書ではありません。
また、作業の中には電気工事士の資格が必要な工程があります。
類似の作業を行う場合、各人の責任で、安全を確保する必要があります※

 

①電源取り出しケーブルを作ります

 今回の室外機の接続部には端子台が使われ、ACの黒白、信号用の赤に対して2本ずつ接続できるようになっていました。そのため、平型端子を使って取り出しケーブルを作ります。

必要な部材です。

・平型端子

・AC差し込み口

・配線ケーブル(本来、屋外用のタイヤキャブケーブルを使うのが正しいです。しかし、今回露出部が少ないこと、雨が直接かからないことから上記のビニルキャブタイヤケーブルを使用しています。配線後、ビニールテープで巻いて保護することとします。
最低でも安全のため、通常の平型コードを使うのはやめた方がいいと思います。)

 

(1)ケーブルの被覆を取り、圧着端子を付けます。極性は気にしなくていいです。

 

(2)反対側に差し込み口を付けます。中学校の技術家庭のレベルです。

 

②エアコンのコンセントを抜き、白黒線が0Vになることを確認します。

(ブレーカを落とす必要はありません。)

 

③端子台に接続します。くれぐれも、電圧のかかっていない状態を確認してください。

 

④ケーブルを固定します。

 

⑤配管カバーを外し、コンセントを通します。

 

ケーブルは、この辺から通すといいでしょう。

⑥カメラを取り付け、エアコンのコンセントを戻し、カメラの動作確認をします。

 

このような手法で電源を確保することで、
たいへんシンプルに電源を準備することができました。

実際に撮影している画像はこんな感じです。

 

 

設置したカメラは「ATOMCam2」で、わずか5000円程度で防水・暗視機能を持っています。お勧めだけど、それなりに壊れるので、壊れたら買い替える気持ちでいましょう。

 

必ずこの手法で電源が取れるとは限りませんが、自分の持っている設備を
十分に観察し、必要な知識と手順をもって行えば、こんな施工も可能になります。

最後に、この手法で電源が確保できるのは、エアコンの消費電力に対して無視できるほど小さな機器を接続する場合に限ります。ATOMCamはせいぜい5W~10W。エアコンの動作電力は数百ワットですから、ケーブルの許容電流としては十二分に余裕があると考えられます。簡易なLEDタイプのクリスマスイルミネーションぐらいなら問題ないかもしれません。それに反するような、例えばハロゲンライトや電動工具などは絶対に接続してはいけません。そういうことを考えられる人のみ、こういう施工が可能です。

 

 

 

耳コピ支援ソフト ChordTrackerをごにょごにょする

数年前にリリースされ、一部界隈では非常に便利に使用されている

YAMAHA製のChordTrackerというアプリがあります。

 

jp.yamaha.com

 

このアプリは、手持ちのスマホに入っている音楽を解析し、
簡単にコード譜を作成してくれ、耳コピや弾き語りなどを強力に支援してくれるソフトで、私も大変便利に使用しています。

基本的にはスマホ専用のアプリですが、AndroidエミュレータをPCに入れることで、PC上で使用することもできます。


少し前までは自分でピアノを弾いて楽しむだけだったのですが、最近は
nana」という音楽コラボSNSに伴奏として音源をアップロードしたりしています。

nana-music.com

 

そんな便利なChordTrackerですが、一つだけどうしてもできないことがあります。
作成したコード譜を外部にファイルとして出力できないのです。

ごく一部のYAMAHAの電子楽器などに、データを送出することはできるようなのですが、該当楽器を持っていないため、試すことすらできません。

上の動画のように、コードを見ながら練習をする、という用途では十分なのかもしれませんが、この解析結果をもとに、別の楽譜ソフトにコードを打ち込んでアレンジ用の楽譜を作成したりしたい場合、画面を見ながらちまちま手入力する方法しかありません。

 

これは不便!!!

ということで、どうにかこの解析済みデータを取り出すことに挑戦しました。

まずは、純正の機能の、対応楽器への送信部分を解析してみました。

iOS版では、Blutooth-MIDI経由で楽器と接続する、ということなのでBLE-MIDI変換モジュールを購入して試してみました。

 

quiccosound.com

 

この基板を使用してMIDI出力を見ながら「対応楽器への送信」を選択すると、
SystemExclusiveメッセージ「ID Request」が送出されました。

どうやら、対応機種であるかどうかを確認しているようです。
試しに判明しているYAMAHAの電子楽器のIDをいくつか返してみましたが、接続が確立される様子はありませんでした。

 

対応しているという機器はPSR-SX600、SHS-500、SHS-300のわずか3機種、
また、これらの機種のマニュアルを調べてみたのですが、ID Requestに対するResponseが明確に記載されている部分はありませんでした。

さらに、実行バイナリをあれこれ覗いてみたのですが、機種との接続確立後も、なにやらめんどくさそうなプロトコルで通信していそうなため、あきらめることにしました。

 

さて、次の手段です。
このアプリ、ある曲を一度「解析」を行うためには多少時間がかかりますが、
二回目の読み込みからは解析済みのデータを参照しているようですぐにコードが表示されます。
ということは、端末内にキャッシュファイルが保存されているはずです。

これを探すために、Android端末に接続し、アプリからのデータを保存しているはずの場所を探してみましたが、OSの保護機能のため見ることができませんでした。

そこで、root化を試みます。
手元にroot化できるAndroid端末が無いため、ChordTrackerをインストールしたAndroidエミュレータ「BlueStacks」をroot化します。

その結果、/data/data以下のアプリストレージ領域に、解析済みのjsonファイルを発見しました!!!

サンプルのjsonファイルを一つおいておきます。

 

https://gist.github.com/bakueikozo/239bdab15367ffdc72a16c9acdd9784b

 

これを読んでいくと、こんな記述があります。

            "1": {
                "root": "10",
                "type": "0",
                "onBass": "127",
                "originalRoot": "10",
                "originalType": "0",
                "originalOnBass": "127",
                "accidentalRoot": "0",
                "accidentalOnBass": "0",
                "mahaRoot": "10",
                "mahaType": "0",
                "mahaOnBass": "127"
            },

これは、曲内の第一拍目のコードのルートが、C(ド)を基準とした10半音上、つまり「B♭」であること、typeはコードの形、ここでは(普通の)メジャーコードであることが示されています。

コードの形のIDはYAMAHAシンセサイザーなどで使用している定義順になっているようでした。(音楽理論的に、もしかしたらそれが定義されてるのかもしれませんが、私にはよくわかりませんでした。)

 

 

このようにして、解析済みの画面に表示された内容と、jsonファイルを照らし合わせながら内容を解読していきます。

解読ができたら、これをエクスポートします。
界隈で、楽譜の清書によく使われるオープンソースの「MuseScore」というアプリがあります。

musescore.org

 

このソフトで読み込めるように、ソースコードを解析していくと、どうやら普通のSMFに出力してやるのがよさそうだ、という結論になりました。
ソースコードによると、YAMAHA独自のシステムエクスクルーシブのバイナリデータで、タイムスタンプに対してコード情報を付けられるように読めるのですが、どうにもうまくいきません。

仕方がないので、とりあえずは「歌詞」としてコードネームを入れていきます。

変換プログラムはC#で記述しています。

JSONの読み込みはNewtonsoft.json

blog.hiros-dot.net

SMFファイルの書き出しにはdrywetmidiというライブラリを使用しています。

github.com

 

コード名だけを入れると、突然難しいコードで躓くかもしれませんので、
実際に押さえる音符も入れることにします。

コード名(ID)から和音の生成のために、コード表を見ながらこんなテーブルを作成します。

                    int chordtype_member = {
                          new int{ 0,4,7 },           // Maj
                            new int
{ 0,4,7,9},          // Maj6
                            new int{ 0,4,7,11},
                            new int
{ 0,4,6,7,11 },    // Maj7(#11)
                            new int{ 0,2,4,7,11},       // Maj(9)
                            new int
{ 0,2,4,5,9 },       // Maj7(9)
                            new int{ 0,2,4,7,9},       // Maj6(9)
                            new int
{ 0,4,8 },
                            new int{ 0,3,7},          // min
                            new int
{ 0,3,9},         // min6
                            new int{ 0,3,7,10} ,         // min7
                            new int
{ 0,3,6,10} ,       // min7b5
                            new int{ 0,2,3,7},         // min(9)
                            new int
{ 0,2,3,7,10},         // min7(9)
                            new int{ 0,3,5,7,10},     // min7(11)
                            new int
{ 0,3,7,11},      // minMaj7
                            new int{ 0,2,3,7,11} ,      // minMaj7(9)
                            new int
{ 0,3,6 },
                            new int{ 0,3,6,9 },
                            new int
{ 0,4,7,10},          // 7th
                            new int{ 0,5,7,10},
                            new int
{ 0,4,6,10},
                            new int{ 0,2,4,7,10},          // 7(9)
                            new int
{ 0,4,6,7,10} ,       // 7(#11)
                            new int{ 0,4,7,9,10 } ,
                            new int
{ 0,1,4,7,11},        // 7(b9)
                            new int{ 0,4,7,8,10 },       // 7(b13)
                            new int
{ 0,3,4,7,10},        // 7(#9)
                            new int{ 0,4,8,11},     // Maj7aug
                            new int
{ 0,4,8,10},        // 7aug
                            new int{ 0,8},           // 1+8
                            new int
{ 0,7},          // 1+5
                            new int{ 0,5,7},
                            new int
{ 0,2,7},       // 1+2+5

                    };

 

このようにしてSMFにして出力し、MuseScoreで読み込み、

段数や繰り返し記号などを入れていくと…

 

あっという間にコード譜の出来上がりです。
リズムは1拍基準のため、細かいプレイのアレンジは反映されていませんが、
これをもとに修正していくだけで完成するのは非常に便利です。

何しろ、今までは目で見ながら小節にコードを配置していくことしかできなかったんですから。

ここに、例えばイントロのメロを拾って追加してやる、とかコメントを追加する、と化すれば、あっという間に伴奏用の楽譜が完成します。

 

さて、そんな便利なソフトを作っているわけですが、まだまだ調整中です。
もしもこういうソフトがホントにリリースされたら絶対使う!という声があればリリースは考えますが、今のところ自分で使うぐらいしかないですかねw

 

ここまでの解析のつぶやきのTwitterをここに貼っておきます。

もうちょっと詳しく見たい方はこちらへ。

 

めまいで救急車呼んだらMRIで解離性動脈瘤が発見された話

3/7日の深夜、夜食を食べた後ちょっとめまいがしたので、まあ寝るかと思って横になったものの、強烈な回転性のめまいと吐き気、冷や汗がひどいまま朝を迎え、
あさやっぱりまったく改善しておらず、立つことも、目を開けることもままならなかったため救急車を呼びました。
運よく診察歴もあり、保育園の通園ルート上にある千葉流山愛成会病院へ搬送されました。

手足のしびれなどはなかったのですが、父方・母方両祖父が脳卒中、父も脳梗塞、そして高血圧の既往アリということでMRIを撮ってもらいました。
なにやら今年導入された最新の機器らしく、頭部の撮影が5分足らずで完了するらしいです。

撮影後、しばらく処置室でめまい止めの点滴を受けていると、脳外のドクターが読影にやってきて一言

 

Dr.「ん?梗塞?」

 

まって。

 

Dr.「いや、ちがうか。あーーー。うん、患者さんに説明するわ」

 

ちがったか。よかった。

 

Dr.「えーと、脳の血管のこの辺にあるのが解離性動脈瘤です。とりあえず入院してください」

 

俺『いやーーーーー、無理です…』

 

Dr「えっ…」

 

私の近況を知っている人ならわかると思いますが、妻はそんなに元気じゃない(婉曲表現)で、日常の生活には頻繁に他人の助けが必要で、私以外のサポートを受けることは精神的影響を考えると現実的に不可能です。
子供は4歳と2歳。諸々の流れで、この自宅から車で20分のところにある姉妹園に通っています。車を運転するのは私だけ。

Dr.「この動脈瘤、破裂するとくも膜下出血を引き起こしたり、血栓が飛ぶことで脳梗塞になる可能性があります。なので、入院して血圧を下げ、様子を頻繁に見る必要があります。今日は眩暈だけで頭痛はありませんか?強烈な頭痛と主に発生して、これが原因だった場合、特に数日のあいだ、頻繁にMRIを撮影して、くも膜下出血に対する備えが必要です…脳外科の先生10人に見せたら10人入院してくれっていうと思います…」

 

俺『いやー、こまったなぁ…』

俺『子供をここから車で5分の保育園に朝送ってくるので、そこで毎日MRI取ってもらえますか?』

 

Dr.「ええぇー……じゃぁそれで… もし入院の準備が整うようならいつでも入院できます…こちらの書類にサインを…」

 

 

というわけで、無事帰宅をゲットしてきました。

いや、全然無事ではなさそうだけど、それはまた後に。

主訴のめまいは2時間の点滴と静養で歩けるようになり、数日は横になったときなどに少しめまいが残りましたが、処方された薬で改善し、本日は全くありません。

 

で、帰宅したため、早速翌日から撮影三昧でしたが、
3/7,3/8,3/10,3/17と撮影したMRI上では患部には全く変化がありませんでした。

これについては、この部分が発生したのが相当前であり、この形のまま残っている可能性が一つ(この部分が元の形に戻ることもあるらしい)、もともとの血管の形がこうである可能性が一つ、もう一つは、今も進行中であり、今後何かが起きる可能性、とのことです。

 

この病巣についてはこちらのページが非常に詳しかったため、興味のある方はどうぞ。

www.showa-u.ac.jp

 

脳の血管の一番内側にある、高圧に耐える幕の部分に裂け目ができ、それよりは弱いホースの外側の部分が膨らんだ状態で血圧を保っている、ということらしいです。怖いですね。

最近、東京ミュウミュウの作者の征海未亜先生が亡くなられたクモ膜下出血、発症するとほぼほぼ元の生活はできません。

現状はMRIの写真・進行状態からして、急性期は過ぎていると考えられますが、全く変化がない、ということもあまり経験がないらしいので、注意深く見守っていく必要があるようです。

例によってCD-RでMRIデータをもらってきましたので眺めていますが、
DICOMデータのビューアは癖が強いので、いまだに患部を発見できていません!

f:id:honeylab:20220317130910p:plain

 

さて、ここで突然ですが皆様にお土産です。

貴重な私のMRI撮影データをここに置いておきます。
煮るなり焼くなり、お好きにどうぞ!

www.dropbox.com

 

(もらったディスクの中には、コピーはご遠慮願います、と書いてありますが、
その際に問題になる部分、ビューアの部分の著作権があるため除外してあります。

f:id:honeylab:20220317130419p:plain


そのため、生データになり属性等が不明になって、ただの画像生データになっていますが、それでもDICOMビューアに突っ込んだら面白い絵は見えると思います。
あ、いやブラウザで見るためのINDEX.HTMがあるのか。ROM写真集だなw)

 

いや、何でそんなことするかって。

 

今回、撮影されたデータをもらってきてますが、こういうった医療用のデータって、
フリーのデータがそんなにたくさんあるわけではなく、
ちょっと興味を持ってみてみたいな、と思った場合に見れるものではないのです。
10年以上前ですが、仕事で簡易DICOMビューアをアプリに内蔵してくれ、と言われたものの、サンプルデータは全然ないし、希望のフォーマットでもないし、とめんどくさかったことがあるのです。

なので、ここに私のDICOMデータを置いておくので、技術的興味でも、
タダの好奇心でも、また、病院でこういったデータは請求すれば必ずもらうことができること、を知ってほしいのです。
窓口や、ドクターに「自分で見るのでデータください」といえば必ずもらえます。

理由を聞かれたら、自分で見たいので、といえばそれでOK。
自費になりますが、大体CD-R一枚もらえて実費1000円+税のみです。
毎回もらうとかさむので、ある程度溜まったところでもらうといいと思います。

 

とりあえず、次の撮影会は2週間後。悪い方向にならないといいなぁ。

イーグレットツーミニをハックする

解析合戦不参加を表明していましたが、結局参加することになりました。

 

まず、シルクに騙されてUART端子が見つからず苦戦していましたが、
結局普通にUART端子が出ていたのでここからいじることができました。

 

さて、早速あれやこれやいじってみた感触です。

 

 

とりあえず、RetroArchのメニュー画面が出ましたが、
ゲームを起動しようとするとcoreがSEGV吐いて落ちます。
なんでだろう…

RetroArchはいっちゃえば、何でも動くと思います。

画面の縦横制御とかが必要ですが、AstroCityみたいに固定じゃなく、
回転ルーチンのプログラムの呼び出し方もわかっているので、たぶん対応できるんだと思います。
ここまでミニ系をいじってきたんですが、SDカードスロットが標準でついているので、
今までで一番ハックとしてはやりやすい筐体ですね。
画面回転もあり、筐体としては最高だと思います。

(内蔵エミュのことはぶっちゃけわかんないですw)

 

今後のハックの流れですが

・SDカード経由でのハック

 追加ゲームとして供給されているSDカードにはパスワードプロテクションがかかっていて、普通の方法で読み書きすることができません。しかし、このパスワードが解除できた状態であれば、中にあるファイルを自由に弄ることができます。
パスワードを解除したSDカードは、FATイメージが書かれた生メモリとして扱われます。ここで、中にあるegret2というファイルは、パスワード付きで圧縮されたzipファイルです。起動時にSDカードが挿入されていると、まずパスワードロックされたSDカードであるかを確認し、そうであればこのファイルにアクセスして解凍、実行するようになっています。

パスワードロックされたSDカードは容易に入手することができません。
そのため、ゲーム付きのパックを購入し、中身を書き換えることで、本体にまずこのチェックを外すようにパッチをあてることで、任意のSDカードからプログラムを実行することができます。このため、まずゲームを購入する、という必要があります。
また、このカードの書き換えも、通常のUSBーSDメモリカードでは不可能で、基板上に直接SDカードスロットがあるマイコンraspberry piなどが必要になります。

 

・USB端子経由でのハック

 背面USB-Cポートは電源供給専用で、PCなどと接続してもデータ通信が行われません。しかし実は、2Pコントローラ端子は、ドライバを制御することでデバイス側として動作することができ、USB A-AケーブルでPCに接続することで、USBデバイスとして認識させることができました。
起動時に特殊なネゴシエーションを行うことで、ファミコンミニメガドライブミニ、などのハックでも活用されたFELモードに移行し、自由にファームウェアの書き換えが行われるようになります。
今後、このタイプでのハックツールがリリースされる可能性があります。

 

ところで、TAITOのサイトで公開されたLinuxソースコードが、

アストロシティの時のアーカイブと寸分たがわぬ状態なので
イーグレットツーミニの液晶のドライバファイルを含んでないんじゃないか、という指摘が上がってきています。
標準のカーネルでは接続できるデバイスに制限があるので、これを外したいんですが、
そのためにはカーネルの再コンパイルが必要なため、フルセットのソースが無いと駄目なんですよ。
というわけで、とりあえず突っついておこう…

 

atomcam_toolsをATOM Cam Swingに対応しました

現状、atomcam_toolsの機能としてはmnakada氏のforkがかなり高機能になっていますが、
私のほうで公開していたv1.0rc2およびそちらのforkが現在ATOM Cam Swingには対応していない状態でした。

そのため、とりあえずv1.0rc2を修正してまずはATOM Cam2と同様に使えるように修正しました。

github.com

 

修正個所としては、モータドライバが読み込まれていない部分を追加

github.com

 

しただけです。

また、mnakada氏のforkでは、atomcamの起動スクリプト内で無線LANドライバを読み込んでいる部分が独自記述になっていて、ATOM Cam Swingで発生したドライバファイルの移動に対応できていません。

github.com

私のほうは、ATOMCam内のスクリプトを読み込むようになっているため問題が発生していなかったようです。

 

Swingで更新された起動スクリプトを貼っておくので…是非…ご対応を…っっっ

gist.github.com

ATOM Cam Swingが発売されたので(略)

Image

今回、水面下で噂のあったATOMCamの新製品

なんと防水屋外用のパンチルトカメラ

ATOM Cam Swing」が発売されました。

 

f:id:honeylab:20211210103312p:plain

※アプリのバグにより突然現れた新製品の表示を発見されたユーザが掲示板に書き込んでいました(テスト環境を間違えてコミットしたとのことです)

 

実は今回、発売元のアトムテックさんがご乱心で、この、ATOMCam改造ブログの主でもある私に発売前テストユーザーに選んでくれる、という事故が発生しました。

 

f:id:honeylab:20211210104837p:plain

大丈夫…??

 

しかし、発売前日に情報公開して翌日発売、とはちょっと予想してなかったですね。

(発売日まで内密に、とのことだったので上の書き込みは私が直後に発見して担当者に連絡し、投稿者さんに連絡の上削除させていただいたとのことです)

実は、技適の検索には9月ぐらいから乗っていたようですが、誰も見つけてなかったみたいです。

 

f:id:honeylab:20211210103733p:plain

さてさて、今回はかなり思い切った防水対応なうえに、価格はなんと4280円。
これは思ってたより安いです。

(アトムテックならかなり安い値付けをするだろうけど、それでも4800円かな、と思っていました)

 

そして気になるのは防水性能。
本チャン発売機が手に届いたのと引き換えに、テスト機を分解してみました。

(テスト機とは言いますが、技適にも出してるのでたぶん同じだと思います)

 

特に防水機ですから、分解に手を染めるのはなかなか覚悟がいると思いますので、
こちらの記事を見ていったん手順を確認してからのほうがいいともいます。
(いや、分解しないほうがいいと思うよ)

 

ATOMCam2と同じように、フロントカメラの保護パネルを剝がします。

Image

ねじを四本外すと、パッキンがついたユニットが外れます。
Image

Image

ぱかっと開いた様子。(見日下の青黒白の線は後付けのシリアルの配線です)

 

基板の写真。SoCはATOMCam2と同じIngenic T31 、無線LANチップはATOMCam2後期ロットと同じATBMです。それに加えてモータドライバ用の回路が増えているぐらいで、イメージセンサはATOMCam2と同じはずです。

Image

ここまで書いて、写真を一枚ずつ張るのがめんどくさくなったので、
残りはTwitterからどうぞ(私は職業分解屋にはなれないな…)

 

そんな感じで、ちゃんと防水なんだと思います。

使い勝手のほうは、他のブログなりTwitterなりでレポートしてくれるでしょうw

 

さて、なんか面白い使い方できないかなぁ…