OpenFire(ライトガン)のまとめ
オープンソースのライトガンファームウエア
方式としてはWiiリモコンで使われたカメラを使っています
そこにWiiとは異なりIRLEDを4か所設置、検知させるライトガンになります
Raspberry Pi Picoをベースにして動作し
ソフトウェアは完全に無償で提供されます。
作成者さんにより、最低限のはんだ付けで簡単に改造できる
ガンコン1と2用の改造キットが販売されています。
GUN4IRとの違い
センサーとカメラが同様の方式で
以前から作られていたのがGUN4IRというライトガンです
こちらはArduino Pro microで動作するシステムです
ガンコンに対応した改造キットが販売されていますが
先述のOpenFireよりもやや割高な設定になっています
さらにファームウエアは有償製品となっていて
ライセンスに30ユーロかかります(セール時は20ユーロ)
必要な物
ファームウエアを動作させるボード
RaspberryPi picoベースです
クローン物でも動作するそうですが、心配な人は推奨されている物から選ぶと安心
RaspberryPi pico/Adafruit Kee Boar KB2040 / ItsyBitsy RP2040 が公式対応です。
後者の二つはProMicroサイズなので、既存のGUN4IRガンから移行しやすいです。
Wiiカメラ相当製品
DFrobot SEN0158
Amazonでは4000円くらいです。
Aliexpressのメーカー直売では3個以上買うと3100円/個位になります。
Wiiカメラのセンサーを使っている
水晶振動子を内包しプルアップ抵抗入りで電源5Vと3.3Vに両対応済と
面倒な下ごしらえがすべてすんでいます。初めての人はこちらを推奨。
とにかく安く作りたいという人(上級者向け)
Wiiリモコン(RVL-003)を分解してカメラ部を剥ぎ取り

こちらの変換基盤(ユニット直・ピンタイプ)を
OSHpark(要アカウント)で発注、ユニット直は0.8mm指定を忘れないように。
(到着まで無料配送だと到着に1か月前後、両タイプ6枚を頼んでも込み6ドルで1000円位)

上記回路と同じにすればいいので
OpenFireは変換基盤に603タイプのチップ抵抗を2つはんだ付け
(基板側のgithibでは指定が2.7kですが、たぶんどっちでもOK)
クロック信号はPicoから22番直結でOk
電圧変換は不要なのでバイパスで3V3につなげましょう。
土台になるガンコン
ガンコン初代の方が空きスペースが多く、配線にこまりません
ガンコン2は操作系が充実していてコンパクトです
初代は300円とかで売ってたりしますが、2は1000円はするかと思います。
お金に余裕のある人は上記の基板改造キットを買うとサクッと作れます
IRLEDもまとめて販売しているので、大体の物がそろうようになっています
振動やソレノイド(騒音注意)までそろえるとフルキットですが、ここは好き好きで…
もちろんキットがなくても作ることは可能です。
ガンコン2をOpenFireにコンバート(キットなし)
あとははんだごて、はんだ吸い取り線、はんだごて台、フラックス、はんだ、各種リード線など基本的な電子工作用品です。
配線図
Picoの配線図ですが、公式のリンクはこちらになります
数種類ありますが、基本は変わらないので問題ないかと。
ハマりやすい注意点
SEN0158の設置方向
GUN4IRとは逆になるので注意してください
後ろから見ると通電時の赤LEDが奥でケーブル側が外側になります。
魚眼レンズのススメ
一般的にPCで遊ぶ際にはモニター間の距離をかなり取らないといけないのですが
魚眼レンズを使う事で最短距離を縮めることが可能、普通の部屋なら必須といえます
アリエクだと300円も出せば買えますが、国内では1000円位します。
安いスマートフォン用の魚眼レンズをできる限り近づけて固定します
自分はアクリルの両面テープをぐるっと巻いて固定しましたが
しっかりつけたい人はアダプターとかホットメルトとか止水テープを使いましょう。
他参考になるサイトなど
ステップバイステップの作例は実際に作る際の参考になります。
照準補正方法
いわゆるキャリブレーションはこちらの記事を参考にしてください。
それではよきガンシューティングライフを!!
〆
固定ページにするつもりが通常更新してたよ!(挨拶
あと配線図の不足情報を補完して更新しておきました
単純に反動や振動がなければ、そこまで難しくないのです
日本語ベースだとどうしても情報が少なすぎるので
試したい誰かのお役に立てば幸いです。






































ディスカッション
コメント一覧
DCのバンバンバスターズから抽出できる可能性が出てきました
https://milkchoco.info/archives/10819 の記事を参考に NEOCADE GO15 から抽出したものと比較、難読化されているので苦労しました
バイナリで、00は00のまま変わらず、ffを01、feを02、f0を10、efを11、eeを12、edを13、e0を20、dfを21、deを22、ddを23、d0を30、cfを31、ceを32、といった感じになっていました
とりあえず、s1/c1/c2/v1は抽出できました
残るp1とm1が改変されているかもしれない?
おお、すごいバイナリスワップですね?!
P1はバイトスワップの有無と文字列から
M1も文字列関係から追いかけると見つけやすいかもです?
しかし七面倒くさい難読化ですねえ、発見されたのは凄いと思います!
(と言うか置き換えたら他ROM動いたり?)
>>バイナリで、00は00のまま変わらず、ffを01、feを02、f0を10、efを11、eeを12、edを13、e0を20、dfを21、deを22、ddを23、d0を30、cfを31、ceを32、といった感じになっていました
16進数から10進数にすると法則性が見えて来ますね
0x00 → 0x00(変更なし)
0xff(255) → 0x01(01)
0xfe(254) → 0x02(02)
0xf0(240) → 0x10(16)
0xef(017) → 0x11(17)
0xee(238) → 0x12(18)
0xed(237) → 0x13(19)
0xe0(224) → 0x20(32)
0xdf(223) → 0x21(33)
0xde(222) → 0x22(34)
0xdd(221) → 0x23(35)
0xd0(208) → 0x30(48)
0xcf(207) → 0x31(49)
0xce(206) → 0x32(50)
0x100(256)から変更前の数値を引いたものが変更後になっている模様
はじめまして。
昨年からあんこさんのブログを閲覧し抽出に嵌っておりました。
有益な情報をいつもありがとうございます。
素人ですが手探りにてPSPのタイトーメモリーズポケットの抽出を試してみました。
需要無し&既出かもしれませんが記載させていただきます。
まずPPSSPPでゲームタイトルを起動後にメモリダンプし、romasqueにてDirectCRCのGO!ATTACKを実行。
lrescue(ルナレスキュー)は全てのファイルが見つかりMAMEで起動できました。
下記3タイトルは一部ファイルが見つかりませんでした。スキルがあれば見つかるのかも、、、
Balloon Bomber(バルーンボンバー)
tn05-1が見つからず
Crazy Balloon(クレイジーバルーン)
cl07.binとcl08.binが見つからず
QIX(クイックス)はqq27.u27が見つからず
他のタイトルはまだ試せておりませんが、抽出できると楽しいですね♪
KENBOさん、はじめまして!
PSP版からのメモリダンプですか、なるほど!
ルナレスキューは黎明期のお約束タイトルでいいですね
大昔にマックスマシーンでパチモン遊んだ覚えが…
バルーンボンバーは初出、Crazy Balloonとクイックスは
タイレジェだとそのまま行けた覚えがありますが
再収録で弄られてる可能性かなぁ?と
アドレスが連続して抽出できているなら
それっぽいところを切り出すのもありかもです
抽出できるとやったぜ!って達成感がありますね
これからもお気軽にコメントいただければ幸いです!
jackさんへ
なるほど反転みたいな法則ですかね?
いわゆる難読化でしょうけども色々考えますなあ
多くのタイトー作品が TAITO LEGENDS 1/2 から抽出できるものの、基本的に英語版なので日本語版romの抽出を目的にPSPのタイトーメモリーズを買うのはアリかも?
PS2版は高騰しているが、PSPのダウンロード版ならまだマシかと
キャメルトライ と レイメイズ の日本語rom、レインボーアイランド・エクストラ 目的で
DSエミュの時のように、”エミュでメモリダンプしたものであればアドレスが固定される”のであれば手法として確立できるのでしょうが、はたして?
メモリーズ買いましたけどフリマなら結構安いですよ?

フリマは安いのは即消えるので、ちょいちょい見てないとダメっスけどね
レインボーアイランドってEX版はBGM違うんであんま人気ないですよね;
>>バイナリで、00は00のまま変わらず、ffを01、feを02、f0を10、efを11、eeを12、edを13、e0を20、dfを21、deを22、ddを23、d0を30、cfを31、ceを32、といった感じになっていました
>0x100(256)から変更前の数値を引いたものが変更後になっている模様
ChatGPTでプログラムを作成してもらいました
[256-.py]================================================
def convert_byte(b):
# b は 0〜255 の整数
if b == 0x00:
return 0x00
return (256 – b) & 0xFF
def convert_file(input_path, output_path):
with open(input_path, “rb”) as f:
data = f.read()
converted = bytes(convert_byte(b) for b in data)
with open(output_path, “wb”) as f:
f.write(converted)
# 使い方例
convert_file(“input.bin”, “output.bin”)
================================================
試しにファイルサイズが128KBと小さい”fix.fix”と言うファイルを変換したところ、DC「バンバンバスターズ」の”071.s1”とCRCが一致しました
今はAIさんにお願いすれば書いてもらえるようになったんで
かなり楽になりましたよねえ
(問題はトラブルが起きた時に修正するのが大変なのとコードのライセンスとかですが)
こんにちは!
需要のないタイトーメモリーズポケットの件で進捗を報告致します。
色々と調べるとメモリダンプしなくても抽出できることがわかりました。
ISOデータを開くとUSRDIR\GAMEDATAにタイトル毎のROMデータがちらばっているので
ROMデータをMasqueradeで解析した方が早かったみたいです。
ルナレスキューとアルペンスキーが抽出出来ました。
ルナレスキューは全てのファイルのCRCは一致しておりますが、
MAMEで起動時にエラーMSGが出て音が出ていないようです。
アルペンスキーは音が出て正常に動作しているようです。遊ぶと結構面白いかも
初めてBATファイルも作ったので記載させていただきます。
便利なbcutツールを使用します。
lrescue
————————————-
bcut LRESCUE.ROM lrescue.1 0x0 0x800
bcut LRESCUE.ROM lrescue.2 0x800 0x800
bcut LRESCUE.ROM lrescue.3 0x1000 0x800
bcut LRESCUE.ROM lrescue.4 0x1800 0x800
bcut LRESCUE.ROM lrescue.5 0x4000 0x800
bcut LRESCUE.ROM lrescue.6 0x4800 0x800
bcut LRESCUE.ROM 7643-1.cpu 0x10000 0x400
————————————-
全てのファイルをlrescue.zipにまとめてください
alpine
————————————-
bcut ALPINE.ROM eb16.22 0x2200C 0x100
bcut ALPINE.ROM rh13.070 0x12008 0x1000
bcut ALPINE.ROM rh16.069 0x4 0x1000
bcut ALPINE.ROM rh17.068 0x1004 0x1000
bcut ALPINE.ROM rh18.067 0x2004 0x1000
bcut ALPINE.ROM rh19.066 0x3004 0x1000
bcut ALPINE.ROM rh20.065 0x4004 0x1000
bcut ALPINE.ROM rh21.064 0x5004 0x1000
bcut ALPINE.ROM rh22.055 0x6004 0x1000
bcut ALPINE.ROM rh23.054 0x7004 0x1000
bcut ALPINE.ROM rh24.001 0x22110 0x1000
bcut ALPINE.ROM rh25.002 0x23110 0x1000
bcut ALPINE.ROM rh26.003 0x24110 0x1000
bcut ALPINE.ROM rh27.004 0x25110 0x1000
————————————-
全てのファイルをalpine.zipにまとめてください
エレベーターアクションはMCUファイルが見つからず惜しかったです。
他のタイトルが抽出できるか不明ですが、今後もチャレンジしてみたいと思います。
KENBOさんバッチ投稿ありがとうございました!
ルナレスキューはサンプルファイル(効果音ファイル)がないと音が鳴らないんじゃないかと思います
https://data.spludlow.co.uk/mame/machine/lrescue
エレベーターアクションはMAME0.232あたりでMCUが増えたので
バージョンを下げれば遊ぶことが可能かと思います
もしくはFBNeoならたぶん行けるかと。
Hello KENBO,
Hopefully this translates okay! I have also been enjoying extracting Taito Legends 2 from the PC version, using this blog as a guide, and have recently extracted Qix and Lunar Rescue. For Qix, according to this article, the version of MAME that was used was between 0.96 and 0.106:
https://milkchoco.info/archives/6948
For the Qix file qq27.u27, this was part of the MAME Rom set starting at version 0.146u2:
http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=qix&arcade_only=0&autosearch=1
So if you try running Qix against a version of MAME before this it should hopefully work, as long as the file names are correct. I was able to get Qix working on MAME 0.139 (also known as MAME 2010).
For Lunar Rescue, the PC version of Taito Legends 2 has some .wav files for the sound effects. I am not sure if these sound files are in the PSP version or not, so below I have included the CRC values, the file size, and the size on Windows disk, which should hopefully allow you to use Rom Masquerade to search the extracted PSP files to see if they use the same files.
I tried to match the extracted files from the PC version to gameplay footage, so this is my best guess as to what the original files are. They don’t match completely to gameplay footage of the MAME or PS2 version. You can also try and create your own wave files for fun.
These files need to be renamed to the following:
Extracted File Name / Sample Name / CRC / Size (Bytes) / Size On Disk (Bytes)
1.wav -> beamgun.wav CRC 08D24E2C 3307/4096
2.wav -> rescueshipexplosion.wav CRC 45DE95CD 7797/8192
3.wav -> alienexplosion.wav CRC B396D6FF 3913/4096
4.wav -> steph.wav CRC 54BB944E 2848/4096
5.wav -> Not extracted
6.wav -> stepl CRC 59E4FBAF 820/4096
7.wav -> thrust CRC 9C665765 862/4096
8.wav -> shootingstar CRC 69D538C1 39210/40960
Samples for “bonus2.wav” and “bonus3.wav” don’t seem to be present. The renamed files above need put into a zip file called “lrescue.zip”, and then placed into the “samples” folder in the MAME installation.
Hope this helps!
Hi MrVexar,
Thanks for providing such detailed info on my rough comment!
I’m thinking the PSP version might not use the sample as-is, but rather have it tucked away inside LRESCUE.ROM.
>日本語版romの抽出を目的にPSPのタイトーメモリーズを買うのはアリかも?
ダウンロード版なら1885円で購入できるので試してみました
キャメルトライの日本語版データは以下で抽出できます
bswap.exe d B CAMELTRY.CPU oddeven.txt c38-10.bin c38-09.bin
欧州Win「TAITO LEGENDS 2」の分と組み合わせてcameltrj.zipとし、MAME2033plusで日本語動作を確認
Hello Mr. Vexar.
Thank you for your detailed and passionate comment.
I’ll use it as reference for my extraction.
I’m an amateur and don’t have any skills, so I’ll continue to try extraction as a learning experience.
あんこさんへ
助言ありがとうございます。参考にさせていただきます。
バルーンボンバーもなんとか抽出できました。
tn05-1は怪しい箇所を切り取った所、CRC不一致ですがMAMEで動作しました。
BGMは聞こえますが、効果音が聞こえないようです。サンプルファイルがないってやつですかね。
そしてなぜか雲も表示されていない?
一応BATファイルを記載させていただきます。
ballbomb
—————————————–
bcut BALLBOMB.ROM tn01 0x0 0x800
bcut BALLBOMB.ROM tn02 0x800 0x800
bcut BALLBOMB.ROM tn03 0x1000 0x800
bcut BALLBOMB.ROM tn04 0x1800 0x800
bcut BALLBOMB.ROM tn05-1 0x4000 0x800
bcut BALLBOMB.ROM tn06 0x10000 0x400
bcut BALLBOMB.ROM tn07 0x10400 0x400
—————————————–
全てのファイルをballbomb.zipにまとめてください
tn05-1のCRCは必要であれば調整してください
クレイジーバルーンも同様に抽出できないか確認中ですが、うまくいきませんね。
ROMファイルの他にはGFX、SDH、ZSE、BGファイルもありますので
GFXファイルからデータを取り出せないか試行錯誤中です。
jackさんへ
おお日本語版ぬけるんですね
と言うかPSPストアまだやってたんだ…(告知の混乱でもう買えないとばかり)
>キャメルトライの日本語版データは以下で抽出できます
おっ? いけましたか
レイメイズ の日本語rom、レインボーアイランド・エクストラ も期待したいところです
>バルーンボンバーもなんとか抽出できました。
バルーンボンバー は TAITO LEGENDS 1/2 に収録されていなかったので抽出できるのは貴重かも?
もっとも1980年のスペースインベーダーと同時期のゲームなので内容はお察しですが
PSPのダウンロード版は入手し易いのが魅力ですけど、購入しするにはPS3で買ってからPSPにインストールする必要があるのが厄介ですね
(PSvitaで買って、PSPの購入履歴からダウンロードできるかも?)
ウォレットの残高追加はPCやスマホからでも出来たような?
SNK Arcade Classics 0 や 沙羅曼蛇 Portable もダウンロード版がありました
To Anko-san:
Your articles have been extremely helpful! I have the overseas version of “Taito Legends Power-up” for the PSP, which is the United Kingdom version, and the samples seem to be different for Lunar Rescue, so it’s unlikely that the CRCs for the PC version will match anything. Only shootingstar.wav seems to be the same sample, but it could be modified for the PSP.
To KENBO-san:
Excellent work! I am also an amateur and still learning. I happened to be working on Lunar Rescue at the same time as you, so thought I should share what I found during my research. Thank you for the ballbomb extract script! I can confirm that the batch file also works for the United Kingdom version of “Taito Legends 2” on PS2. I was able to extract it using the GZH Decompression Tool as referenced here: https://milkchoco.info/archives/6948.
The BALLBOMB.ROM can be found by extracting the file GAMEEUR.GZH, which also contains the GFX, SDH, ZSE, and BG files that you mentioned. I haven’t been able to find the sample files unfortunately. The samples needed for Balloon Bomber are same as Space Invaders, which is “invaders.zip”. However, I was able to extract these samples from the United Kingdom version of “Taito Legends 1” for the PS2 using a script over on RED.
なんかnoteの記事にPS3から検索しないと出てこない(バグってる)タイトルがあるんだとか
Fateだと出てこないけどcccなら出てくるとかメンドクサイことになってるようですね
PS3の決済ってカード登録してると怒られるって聞きました;
ウォレットにチャージしておけば買えるって話ですので
そのうちハウスオブザデッド3と4を買おうと思います…
>PSPのダウンロード版は入手し易いのが魅力ですけど、購入しするにはPS3で買ってからPSPにインストールする必要があるのが厄介ですね
十数年振りにPSPを買い直したので、過去DL購入したものを再DLしようと思ったけど、ネット接続の時点で躓いてます
2段階認証を設定する必要があるらしいけど上手くいきません
https://www.playstation.com/ja-jp/support/account/2sv-psn-login/
>非公開希望さんへ
特定メーカーは旧PS系の配信停止してるんですねえ;
WEBサイトから買えなくなったのも地味に面倒です…
サイレントスコープは鬼門って言われてる印象です
おそらくFBNEOでビーストバスターズやるとエイムが暴れるみたいな
相性の悪さが出ちゃってるんだろうと思います。(そもそもガン対応してなかったような?)
リンク先のPS3カメラを使ったライトガンは
そもそも銃側の詳細がよく分からないんでどうしろとって感じですw
>SteelGunにゃん
なんか過去にはフリーで配布されていましたね(ニフティ消滅で消えたようですが)
ガンシューはある意味反復練習で覚えて先置きとかもあるので
カジュアルプレイするとぐっだぐだになりますから大丈夫です!!(いばるな
>環境構築
今やガンシューは絶滅危惧種なんですが
なんか遊びたくなって変なスイッチ入って一気に構築してしまいました;
Wiiリモコンよりも気持ちよく追従してくれるんで、やっぱ楽しいです
私には割とよくある事なので、生暖かく見守っていただければ幸いです~
うへーい。面倒くさいこと極まりないですな。
まあ足切りしたいけど維持することになったから、嫌がらせのように不便になってるという感じですかね
>レインボーアイランド・エクストラ も期待したいところです
レインボーアイランド・エクストラの差分データは以下で抽出できました
bswap.exe d B RAINBOW.CPU oddeven.txt odd even
bcut.exe even b39-01.19 0 0x10000
bcut.exe even b39-03.21 0x10000 0x10000
bcut.exe odd b39-02.20 0 0x10000
bcut.exe odd b39-04.22 0x10000 0x10000
欧州Win「TAITO LEGENDS 2」のrainbow.zipと組み合わせてrainbowe.zipとし、MAME2033plusで動作を確認
レイメイズの日本語用差分は以下の通り
bcut.exe RAIMAIS.ROM b36_08-1.bin 0x10004 0x20000
欧州Win「TAITO LEGENDS 2」のraimais.zipと組み合わせてraimaisj.zipとし、MAME2010で日本語版として動作を確認
PSP「タイトーメモリーズポケット」からのキャメルトライとレイメイズの日本語用差分の抽出元ファイルはPS2版と同じものだったようですね
https://milkchoco.info/archives/6948
おかげで高騰しているPS2版を買わずに済みました
有難う御座いました
レインボーアイランド・エクストラのBGMは確かに微妙かも。。。
差分データがcpuだけなのは意外でした、audioも差し替えかと思っていました
エクストラって難易度向上とBGM対策のバージョンですからねえ;
レイメイズは日本語化できても真エンディング見れないんで
チートしないとダメなのかなあ(アケアカで修正された)