初代「プリント倶楽部」エミュレータPrintClubEmu (update260925)

 連日のClaudeを利用したソフトウェア開発の最中、ふと2023年に購入したジャンク基板のことを思い出しました。

 アーケードエミュレータMAMEでは一応動作するものの「不完全なエミュレーション」として登録されており、撮影画面は真っ暗なうえ、プリント画面になると――

 こんな感じで、ハードウェア障害を感知してプログラムが停止してしまいます。
 しかも初代プリント倶楽部のカメラユニットや専用プリンタはほぼ入手不可能な超激レアアイテムなので、カメラ制御とシールプリント機能が実装されたエミュレータが登場する機会はないでしょう。
 ……というのも、昨日までの話です。


<プリント倶楽部エミュレータPrintClubEmu>

Download :  printclubemu_260925.zip

 本プログラム「PrintClubEmu」は、MAMEのコードを一切使わずClaudeが完全に新規でコーディングした、初代プリント倶楽部エミュレータです。
 対応機種はSEGA SYSTEM C-2基板を利用したVol.1~Vol5までの5種類であり、後継のプリント倶楽部2(SEGA ST-V)基板やNeoPrintなどの他社ハードには対応しません。
 また、動作確認ができているのは、私が保有している「初代、Vol.2ウインター、Vol.5オータム」の三種類だけです。

 あと、言うまでも無く実機ROMイメージが必要です。
 プリント倶楽部のプログラムデータはすべて512KBの汎用EPROMに書かれているので、XGecu T48 (Mini Pro TL866Ⅲ)などの格安ROMプログラマで簡単に吸えますが、1995年の稼働開始から本項執筆時点で31年以上が経過しているため、基板を入手するのが最大の難関と言えるでしょう。

(参考画像:プリクラ専用カスタム版SEGA SYSTEM C-2ボードとROMキット)

 ただし、どう考えても入手不可能な「実機カメラ」「実機プリンタ」は不要です。
 カメラはUSB Video Class(いわゆる汎用ウェブカメラ)、プリンタは一般的な家庭用インクジェットプリンタが使えるようにしました。
 なので安心して根性と気合いとガッツで捜索して中古市場に初代プリクラ基板が唐突に出品されたら全力で確保してください。

 なお、ROMデータのファイル名規則はMAME準拠(参考リンク)を推奨しますが、プログラム的には適当な名前を付けてフォルダに放り込むだけで認識します。
 あと「プリント倶楽部の基板もPCもウェブカメラ付きPCも持ってるけど、プリンタは持っていない」という人はALL-JOINT-PRINTERを使えば、プリクラの出力をそのままPDFに落としてコンビニプリントに出すこともできます。


<実機稼働の様子>

 SYSTEM C-2基板はメガドライブの高クロック版(CPU MC68000)なので、Microsoft Surface Laptop Go 3程度のスペックでも問題なく動作します。
 プリンタに出力されるデータは「日本の通常ハガキサイズ(100mm × 148mm)」で、ここに縦4×横4枚(合計16枚)の極小写真がレイアウトされたものですが、これは擬似的な出力のため実機とは出力が異なります。

※実機プリント倶楽部ではプログラムには「画像を外部基板に流す」というルーチンしか実装されていないため、それを受け取ってリピートパターン化してプリンタに出す部分は未解明です。

 もしも奇跡的に「最初期型のプリント倶楽部で印刷したシールを切らないまま保持している方」がおられましたら、用紙サイズと写真レイアウト・各写真のサイズを教えていただけると幸いです。


<PrintClubEmu開発のプロンプト>
 多くの人にとってはこちらがメインコンテンツになると思います。 
 開発はすべてClaude/Opus 5を利用し、ソリューションファイルを生成させてMicrosoft Visual Studio 2026 Communityでビルドしています。

・プロンプト1
 私はアーケード基板「プリント倶楽部」(SYSTEM C-2カスタム版)を保有しており、ROMをダンプすることでMAMEで一応動作することが確認できた。
しかし、この基板は所有者がとてつもなく少ないうえ検証も困難なため、MAMEで実行しても「カメラ」と「プリンタ」の制御に失敗し、カメラ映像が入らなくて画面が真っ暗。プリンタへの印刷をしようとすると「申し訳ありません 係員を呼んで下さい。」と表示して止まってしまう。これを君の力で「プリント倶楽部専用エミュレータ」として形にできないだろうか? カメラ制御ルーチンに関してはWindowsのWebカメラから画像を挿入してもらってよいし、プリンタ制御ルーチンに関してはWindowsのデフォルトプリンタに出力する仕様にしてもらってもよい。第三者への配布が可能な形態で、Visual Studio 2026でビルド可能なコードを出力してみてほしい。
ROMイメージは
pclubj.zip プリント倶楽部 1作目
pclubjv2.zip プリント倶楽部 Vol.2 ウインターバージョン
pclubv5.zip プリント倶楽部 Vol.5 オータムバージョン
の3つを提供するので解析に活かしてほしい。

 一発目で直球過ぎる要求。
 これに対してClaude側から質問が返ってきたので回答処理を実行。

・プロンプト1の結果への回答
68000 CPUコアはどう実装しますか?(配布ライセンスに直結します)
完全自作コア(推奨)

音源エミュレーションの範囲は?
フル実装(YM3438+SN76489+uPD7759)

カメラ映像の取り込み方式の希望は?
実機互換エミュレーション(推奨)

最初に受け取りたい成果物の形は?
一括で完成版を作る

 とにかくMAMEに縛られずMITライセンスであることを重要視です。
 なお、Claudeはカメラ周りには不具合がありながらも「MAMEと同等レベル&係員呼び出しエラーを表示しないプログラム」をぶっ放してきました。

・プロンプト2
ビルドしてみました。問題点としては
・ROM3つ共通
 カメラ撮影中に画面がブラックアウトして被写体を確認できない。決定ボタンを押せば先に進むので処理は止まっていないしちゃんとカメラ映像も入っている。
・pclubj.zip初代のみ
 v2とv5は印刷と印刷後の進行も問題無いが、pclubj.zipは印刷処理が実行されないうえ、最後にNOW PRINTINGのまま処理が進行しなくなる。

 プレビュー周りに問題があったり、初代バージョン1がプログラム停止バグが発生したので問題点を提示。
 Claudeはあっさりと解析に成功しカメラとフレームの画像合成まわりにバグがあることや、プリンタ出力後の待ち時間を60秒以上にしなければプログラムが正常動作しない仕様を発見していました。
 ただ、これで出力された画像は「A4サイズに1枚絵」だったので訂正を要求。

・プロンプト3
 初代プリクラは、はがきサイズ(148mm×100mm)の用紙に、約24mm×17mmの小さな写真を縦4枚×横4枚の16in1レイアウトで印刷していたようです。今は1枚だけの画像を出力しているのを、ハガキ横の印刷データとして出力してみて。

 プリント倶楽部のメインプログラムはMC68000で動作しているため、カメラから入ってきたアナログビデオ画像をリアルタイム処理する能力がありません。
 おそらく外部オプション基板の専用LSIを解読すれば判明すると思いますが、ただでさえ入手困難な基板で誰がそんなことできるねんという話なので、素直にエミュレータ側で画像処理するよう要求しました。

・プロンプト4
 そういえば撮影中がカメラの左右移動方向にあわせてミラーになるのはわかるけど、印刷物もミラーになっているのおかしくない?
これは左右反転させて印刷しないといけないのでは。

 このタイミングで印刷された用紙の文字が画面と同じ(左右逆)だということに気づきました(遅い)
 カメラにあわせて人間の動きにあわせるために左右反転しているのに印刷物も左右反転させる意味がないので、これも修正を要求しました。

・プロンプト5
 左右反転は直ったしビットマップもちゃんとしたデータなのだけど、印刷データが上下逆さまに出力されると、たぶんプリンタ実機で印刷した時に紙を逆に入れなければならないと思うので、プリンタへの出力データもBMPと同じように上下あわせて。

 印刷結果の左右反転を要求したところ、何故か印刷データが上下反転したので、これも修正を要求。

・プロンプト6
 どうやらカメラによっては上下反転する場合があるらしい。上下反転オプションも追加して

 ためしに別のウェブカメラを繋いだら映像が上下逆さまになったことで判明。
 ユーザが自由にカメラの上下左右反転をいじれるように機能が追加されました。

・プロンプト7
 君のプリントデータは、プリンタによっては余白なしギリギリで印刷されてしまうようだ。前後左右の余白を自由に調整してiniにもセーブされるようにしてほしい。

 実は勘違いだったんですが、結果的に位置調整機能が追加されました。

・プロンプト8
 そういえばF2キーのSOUND TESTやゲーム中でもキャラクター音声(VOICE)が鳴らないことに気づきました。これは設定で出せる? それともバグで鳴っていないだけ?

 これも気づくの遅すぎなのですが、この時点までひたすら無言でBGM+SEしか鳴っていませんでした。

・プロンプト9 (update#2)
 プリンタの仕様が判明しました。プリント倶楽部にはSONY YP-1201が搭載されていて、分割設定はプリンタ側で調整できたそうです。これの仕様書を調査して、プリンタが対応できる分割数をPrintClubEmuでも再現し、さらに割り当てレイアウトや寸法の完全再現にチャレンジしましょう。
https://www.forex.com.tw/forex-001-1-yp1201.htm

 PrintClubEmuのリリース直後、当時プリント倶楽部を運用していた方から昇華型プリンタの仕様を話していたので同一レイアウトになるよう修正。
 これで1×1、2×2、4×4などの大シールサイズも選べるようになりました。

・プロンプト10 (update#2)
 利用者から「撮影ボタンを押すとそこでカメラの映像がストップして、決定かキャンセルを選べるはずが、PrintClubEmuは撮影ボタンを押した後もカメラの映像が動いている」と報告がありました。おそらくオリジナルのプリント倶楽部は、撮影ボタンでカメラ映像をロックする機能があったのでは。もちろんここでキャンセルすると再びカメラ映像が動いて、再撮影が可能になります
https://www.forex.com.tw/forex-001-1-yp1201.htm

 こちらも報告をフィードバック(撮影ボタンを押した後に映像がロックされていないのを素で気づいていなかった)。
 ちゃんと3回目で強制撮影になる動作も再現されました。

・プロンプト11 (update#3)
 当時のプリント倶楽部のカメラ解像度はQVGA(320×240ピクセル)相当のアナログCCDカメラだったらしく、最近のウェブカメラだと高画質過ぎて当時の雰囲気が出ないと指摘がありました。デフォルトはオフで良いので、低解像度アナログCCDカメラ画質を再現するためのオプションを追加できますか?
 動作としてはカメラ画像がプリント倶楽部に表示されている最中にカメラ画質調整メニューを開くとエミュレーションが停止し、画質調整ウインドウが開く。
1.カメラの解像度変更(カメラのハードウェアとしての選択肢+ソフトウェア縮小でQVGAに落とす選択肢)
2.カラーバランス調整
3.輝度調整
4.CCDカメラ風に画質を下げるオプション。
 これらを変更すると画面上のカメラの画像が動的に変わり、目視しながら画質をいじれるように。

 個人的にも「カメラ綺麗すぎるよな」と思っていたので、ナイス指摘でした。
 これでウェブカメラ入力に各種エフェクトをかけられるようになったので、白飛び・走査線・ノイズ挿入など、より実機に近いイメージを得られるようになりました。

・
・
・

 というわけで以上のプロンプトによって、他のエミュレータから一切コードを盗用せず完全オリジナルのプリント倶楽部エミュレータが生成されました。

 アーキテクチャさえ判明していればClaudeはマジで新規ハードウェアのエミュレータまで開発できてしまうので、たぶん「スタンプ倶楽部エミュレータ」とか「アンパンマンポップコーンこうじょうエミュレータ」も作れる気がします。


First release (2026/09/23)
 一応、世界初のカメラ&印刷対応のプリクラエミュレータとしてリリース。

Update #2 (2026/09/24)
 公開後に寄せられた情報のおかげで「実機の印刷レイアウト」「撮影後の挙動」の再現に成功しました。この場を借りて御礼を申し上げます。

Update #3 (2026/09/25)
 カメラが綺麗過ぎたので「当時のCCDカメラに寄せる低画質化エフェクト」が可能になりました。