バンダイ アルカディアの「謎の端子」

バンダイ アルカディア」の本体背面には「端子」が2つ付いています。Arcadia2001にも同様の物が付いているようです。ご存知だったでしょうか?

 

この端子は説明書には説明がありません。図では該当箇所が真っ白で、存在すらしていません。

驚いたことに、サービスマニュアルでも説明がありません。本体を修理するサービスマンも知らない「謎の端子」ということになります。

この「謎の端子」は海外のwikipediaも困惑しているようで、次のように書かれています。

https://en.wikipedia.org/wiki/Arcadia_2001

It also has two outputs (or inputs) headphone jacks on the back of the unit, on the far left and far right sides.

、、、出力?

または入力?

ヘッドホン・ジャック?

むちゃくちゃすぎ。確かに3.5mmジャックなので、ヘッドホンが挿し込めそうって気になりますけど。

 

正解を書いてしまうと、これは「パドルコントローラを接続する」ための入力端子です。

以下のページで自作のパドルコントローラを接続して遊んでいる人が居ました。

atariage.com

このページ、驚きの連続です。

まず、パドルコントローラの自作方法が紹介されています。3.5mmステレオミニプラグに可変抵抗(500kオーム)とスイッチだけのシンプルな構造です。

遊んでいるのが「Circus」というゲームです。これはIntertonという会社の「VC 4000」用のゲームです。

別の会社のゲームがArcadia2001互換機で動いているのが不思議です。おそらく、全ての元となるハードウェアがVC 4000で、それをライセンス供給して、Arcadia2001(と互換機)が誕生したんじゃないかと思います。となると、「VC 4000互換機」と呼ぶのが正しいのかも。VC 4000は1978年発売のゲーム機。そして、アルカディアは1983年発売。5年前のスペックで、ゲームハード戦争を生き残ろうと思っていたのか、バンダイ、、、。

一番驚いたのが、アルカディア/Arcadia2001がアナログジョイスティック対応だったということ。

アルカディア本体にはテンキーとジョイスティック付きのコントローラが2つ付いています。なんと、最初からこのジョイスティックがアナログです。「謎の端子」の一部は、ここに接続されています。

 

そんなバカな、と思ったら本当にアナログでした。「ReadPadl」というジョイスティックのテストプログラムです。amiganに置いてあるサンプル集の「arcadia/Eurich」フォルダに収録されています。

http://amigan.yatho.com/examples.rar

「70(16進数)」はジョイスティックのセンター値です。エミュレータなので、ジョイスティックのX・Y方向は3パターンの値しか返してくれませんでした。しかし、ジョイスティックの回路はオン/オフ式のスイッチを採用していますので、現実でも、大まかには3パターンの電圧しか出ません。

アルカディア/Arcadia2001はアナログ対応なのに回路はデジタル的です。そして、アナログ対応のゲームが一本も発売されていません(たぶん)。

凄まじい矛盾です。

想像ですが、Arcadia2001を開発する段階で、アナログ要素をばっさり削除したんじゃないでしょうか。どういう理由でこうなったのか知りたいところです。

 

気になるのは、「謎の端子」の作りの雑さ。

上の写真はアルカディアを買ったままの状態から分解したものです。抵抗を空中配線してたり、ビニールテープで絶縁しています。これ、私がやったわけではありません。

なぜ、こんな素人っぽい出来になってしまったのか?

これも想像ですが、「アナログ要素を追加できるようにしよう」と後から思い立ったはいいが、Arcadia2001の設計をやり直せる人材がEmarsonに居なかったんじゃないでしょうか。アルカディア/Arcadia2001の基板がジャンパ線だらけなのは、それが理由だと思います。

アルカディア/Arcadia2001ユーザーが「パドルコントローラが接続できる!」と喜ぶ日は結局、来ませんでした。「謎の端子」が一度も使われずに市場から消えてしまったのが、もったいないです。

アルカディア用のアナログ対応ゲームが実は存在するという場合は教えてください)

 

nicotakuya.hatenablog.com

万能パッド変換器の自作プロジェクト、完結編

万能パッド変換器を自作しようというプロジェクト「Multiway pad converter」。100%趣味のプロジェクトです。

今までの成果をまとめた動画がこちらです。

www.youtube.com

 

ソースと回路図はこちら。

github.com

 

基板は出来ましたが、出来が物凄いイマイチなので、ベータ版ということにしています。

思えば、XE-1APがハードオフで10450円で売っていた事に腹を立ててスタートしたプロジェクトですが、気が付いたら、その3倍以上のお金を使ってしまいました。動作チェックのためにPCエンジンマウスとかゲームソフトを買って、ムダ使いしすぎです。

 

最近、「メガドライブミニ2」が発表されて、CyberStickやXE-1APの注目度が高まっています。ここのブログも瞬間的にアクセス数が3倍くらい増えました

XE-1APは発売から既に32年が経過していますが、「CyberStickと互換性がある」という重要なセールスポイントがいまだに伝わっていない気がします。会社が違うので当然ですが、、、。XE-1APが売れたせいで、CyberStickが売れなくなったらマズい気がします。

XE-1APはPCモード以外にMDモードを搭載しているので、対応機種はCyberStickより上です。優れた性能に反して、見た目でイジられるだけのパターンが多くて、非常にもったいない。

 

XE-1AP(PCモード)がCyberStickと互換性がある、ということを確認するため、XE-1AP用ソフトを使ってCyberStickを読み取ってみました。使用ソフトはベーマガ1990年10月号のXE-1AP特集に掲載されているMSX用テストプログラムです。頑張って打ち込みました。記事にはこの他、PC-8801用とX68000用のプログラムも掲載されています。

写真だとわかりにくいですが、実行すると、画面にアナログスティックのレバーの値が00~FFの範囲で表示されます。

これで両者に互換性があると、ご理解頂けたでしょうか。


パッド変換器の開発中のエピソードですが、先のテストプログラムを実行すると値が全部「00」になってしまうという不具合がありました。XE-1AP/CyberStickの挙動を再現できていなかったわけです。

不具合の原因がどう考えてもわからないので、上の写真のようにパソコンとCyberStickの接続をバイパスして、通信データをOLEDに描画してみました。

 

描画した結果がこちら。衝撃の事実。

ACKが12回出てました。11回のはずでは、、、?

 

ベーマガ1990年10月号を読み直してみたのですが、データ転送の回数が「11回」と書かれてるだけ。ACKの回数については、どこにも書かれていませんでした。MDモードが丸ごと載っていなかったり、記事の不備が多すぎる。

過去に自分が作ったXE-1AP互換品のプログラムはACKを11回しか送っていなかったのですが、なぜか奇跡的に動いていたようです。1年半、このミスに気が付きませんでした。

今後、過去の資料とプログラムは直していきます。

 

ACKを12回に直したら思わぬ副作用が起きたのですが、試行錯誤の結果、やっとMSX用テストプログラムが動作するようになりました。

このテストプログラムはちょっとクセがあります。通信速度を1/2モードにする信号を発するので、パッド変換器側はそれを受け取って、通信速度を落とす必要があります。MSXなので最速モードは無理だったのでしょうか。正しく信号が来ない場合も対応しないといけなくて、手間がかかりました。

ちなみにアフターバーナーIIはメガドラ版もPCエンジン版も最速モードで通信しています。

 

というわけで、パッド変換器の自作プロジェクトは一旦終了です。次の面白そうなテーマを探しています。

PCエンジンマウス互換品を自作する

www.youtube.com

PCエンジンマウス」の互換品を作ってみました

Multiway pad converterのモードの一つなので、正確にはパッド変換器です。以下のページにソースを公開しています。

GitHub - nicotakuya/multiway-pad-converter

 

PCエンジンマウス」とはPCエンジン専用のマウスです。かなりマイナーな周辺機器だと思います。ベーマガのバックナンバーを確認したら、どこにも写真がありません。1992年9月号で、'92東京おもちゃショーNECが専用マウスを発表したという一文があるだけでした。マウスを「マリオペイント」とセット売りした任天堂は商売上手だなと思います。

PCエンジンマウスの対応ソフトが手元にありません。対応ソフトがどれなのか不明。

動作チェックするには、ソフトは必須。そして、ソフトの動作チェックにマウスが必要になります。堂々巡りです。

しかたないので、中古のPCエンジンマウスを買いました。買ったら、もう自作する意味ないんですが。

駿河屋で3010円。高い、、、高すぎる、、、。このお金で中古のデュアルショック2が6個買えます。

 

マウスのテストプログラムを作ってみました。

HuCにはマウス用の関数が用意されているので、それを呼べばいいだけです。マウスの認識は自動的に行われます。

以下のページでソースコードを公開してます。

github.com

 

PCエンジンマウスの通信仕様は、どこにも資料が存在しないので、HuCのソースファイルを解読しました。"include/pce/mouse.asm"がマウスのドライバです。

CLR端子でPCエンジンから同期信号を送って、移動量/ボタン情報を読み取ります。

・SEL端子=Hに切り替え、CLR端子をL→H→Lに切り替え、K0~3から移動量読み込み。

・SEL端子=Lに切り替え、ボタン情報読み込み。

これを4回繰り返します。CLRのパルスは1→2回目だけ時間が空いていて、それで、1回目だと認識していると思います。

移動量の内容は読み込み回数によって、次のように変化します。止まった状態だと0です。

・X移動量 上位4ビット

・X移動量 下位4ビット

・Y移動量 上位4ビット

・Y移動量 下位4ビット

ボタン情報は4回読んでも同じ内容です。RUN/SELECT/ボタンII(左クリック)/ボタンI(右クリック)に割り振ってあります。

 

ここで問題が発生。

マウスが認識されません。「EXIST」が0のままです。

Arduinoの起動に時間がかかりすぎて、マウスを認識している処理に間に合わないためです。マウスの認識は最初だけで、失敗すると以後は認識してくれません。

 

苦肉の策ですが、PCエンジンにリセットボタンを追加しました(ソフト側からリセットする方法が不明だったので)。
  

リセットした結果、うまくマウスとして認識されました。アナログスティックを動かすと、カーソルが動きます。

回路に問題があって、SELECTとRUNボタンは外付けになっていて、パッドのボタンを割り当てることができません。XHE-3をそのままマネしたので、こういう仕様になってしまいました。
マウスの認識はHuCで独自に採用しているものです。ソースを見た感じでは、ポートの状態が一定回数連続で「0」ならマウスと認識しているだけで、かなり判断が甘いです。他のソフトで正しく動くのか、まだ確認していません。

 

(追記2022/7/11)

うっかり「世界初」と書いてしまったのですが、もっと先に作っている方が居ました。ご参考までに。

https://github.com/dshadoff/PC_Engine_RP2040_Projects

 

nicotakuya.hatenablog.com

nicotakuya.hatenablog.com

1.3インチ カラー液晶AE-ATM0130B3

www.youtube.com

 

秋月で「AE-ATM0130B3」というカラー液晶を買ったので、テストプログラムを作ってみました。もう、わざわざ「カラー」って言う時代じゃないかもしれませんが。 

ソースと回路図はこちらで公開中です。

github.com

「AE-ATM0177B3A」と違って、今回は秋月のサンプルがしっかりあるので、すんなり出来ました。秋月のサンプルはArduino Uno用ですが、自分はArduino Pro Mini互換を使ってみました。

秋月のサンプルはRAMを割り当てない方式で表示しています。

 

ここからが問題。

液晶は240 x 240ピクセル、16ビットカラー(65536色)です。そのままマイコンのRAMを割り当てようとすると、240 x 240ピクセル x 16ビット = 115200バイト必要です。ATmega328PのRAM容量は2048バイトなので、どこをどうやっても無理(この56倍は必要)。

どうにかして、ATmega328PでRAMを確保できないか、考えてみたのですが、性能を落としまくることで対処してみました。

・解像度を1/4に(画素数 1/16)。

・1ピクセルあたり4色に(色数 1/16384)。

これなら、60 x 60ピクセル x (2÷8ビット) = 900バイト。許容範囲内です。

RAMの消費を1/128に抑えることができました。

 

このようにドットを4倍に拡大して表示します。カラーパレットをこまめに変更して4色しかないことを誤魔化しています。

表示の更新が遅いです。

SPIクロック8MHzで通信しているはずなのに、それでも遅い、、、これはもうマイコンの限界だと思います。描画エリアを削ったり、さらに工夫する必要があります。

高性能なマイコンで表示したら一気に解決ですが、それは当たり前なので、電子工作としては面白くない。

 

あと、この液晶は3V相当の電源が必要です。自分の場合、最初はダイオード3個で約3Vを作って入力してました。これでも問題なく動きます。

その後、電子工作警察に怒られそうだと思い、真面目に3.3V三端子レギュレータで入力しました。

 

nicotakuya.hatenablog.com

ベーマガ1999年11月号が290円

ファミ通の「メガドライブミニ2」の生放送(録画)を観たのですが、その中で、サイバースティックの端子を「15ピン」と言う場面があり、そこは間違えたらダメだろ!、と妙に腹が立った。

こういうのはよくあります。オタクの逆鱗というのか。

当然、相手には悪意はありません。

 

話は飛びますが、三才の「ゲーム雑誌ガイドブック」というKindle本。

https://www.amazon.co.jp/dp/B07YZCZPRK/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

ここで試し読みとして、ベーマガの紹介ページが無料で読めるのですが、本文の、、、

「1999年4月号でベーマガはリニューアルを図り

(中略)

ゲーム雑誌としてのベーマガは役割を終えたのでした。」

って、なんだこりゃ。

ゲーム雑誌として終わったのは、2001年3月号では?

認識が2年近くもズレてるのは、どういうことだろう。書いてる人には悪意はないと思いますが、200号記念のキャプションでの「ゲーム雑誌としてのベーマガが完全に終わった瞬間だった。」とか、いちいちカンに触る。これも逆鱗。

 

↑ 参考までに、2001年3月号のゲーム関連の目次がこちら。

次号(2001年4月号)からゲーム関連記事が一切無くなります。

 

ここからが本題なのですが、

先ほど駿河屋のページを見たら、ベーマガ1999年11月号の中古が290円で売ってました。

いくらなんでも安すぎる。。

(右側にあるスーパーソフトマガジンも相場の半分以下では? 理由はわかりませんが、凄まじい価格破壊。)

 

ベーマガ1999年11月号といえば、水樹奈々さん特集が載ってる号。

モノクロ2ページのために、わざわざ水樹奈々さんが電波新聞社まで来たってのが、ありえなさすぎる。超貴重記事。

あと、1999年11月号といえば、ゲームイベント「ECTS」の特集記事が必見です。ECTS特集は、次号の1999年12月号にも載ってますが、あとがきによると、取材に投じたお金は22万円とのこと。これぞまさにベーマガ・イズム。

これだけでも1000円くらいの価値はあるんじゃないかと思います。

というわけで、「ゲーム雑誌として完全に終わった」とか言われてる1999年4月号以降のベーマガでも見どころはありますので、読んでみてはいかがでしょうか。