日経ソフトウエア2024年7月号

23日発売の「日経ソフトウエア2024年7月号」でIoT電子工作の記事を書かせて頂きました。

 

今回、AIビジョンセンサー、HuskyLens(ハスキーレンズ)を使った二次元バーコード(AprilTag)の読み取り装置を紹介しています。

昔、ハスキーレンズは6000円弱で買えたのですが、円安でどんどん値段が上がっていて、今だと8000円くらいしてしまいます。

 

ハスキーレンズは一体どれくらい二次元バーコードを登録・認識できるのか? ドキュメントのどこにも書いてありません。仕方ないので、手作業で学習してみたのですが、ボタンを押す手が疲れてしまって266枚でギブアップしました。おそらく587枚、全部読めるんじゃないかと思います。

AX-5のケースの修復

「AX-5 オリオン/クエスト」の外箱(ケース)がこんな感じに潰れてしまってます。人から頂いた時、既にこの状態でした。

AXというのはアスキーが売っていたPC-6001用ゲームのシリーズ名です。安くて書店でも買えるということで大ヒットしました。

・「AX-1 アラビアンラプソディ」(1982年)

・「AX-2 宇宙輸送船ノストロモ」(1982年)

・「AX-3 マイクロオセロ」(1982年)、「マイクロターン」(1983年)

・「AX-4 ブラックホール」(1982年)

・「AX-5 オリオン/クエスト」(1982年)

・「AX-6 パワード・ナイト」(1982年)

・「AX-7 ポリス&ギャング」(1983年)

・「AX-8 ギャラクシーミッション」(1984年)

・「AX-9 3Dフライトシミュレータ」(1984年)

・「AX-10 アウトロー」(1985年)

AX-7あたりまでは有名だと思います。AX-6はもろにガンダムです。

AX-10はレアです。1985年だと、初期の開発スタッフはもうゲームアーツに移っています。

 

ケースは紙製なので、まったく耐久力がありません。

表紙には留め具のようなものが無くて、めくったらそのまま開いてしまいます。

 

雑誌「ASCII」1982年8月号より。カラー2ページの広告で「AX-5」が初登場このパッケージを「ハードケース」と呼んでいたようです。1983年になると、T&Eソフトの「惑星メフィウス」でケースが大型化しますが、この時点でもケースはまだ紙製でした。

こうした中で、マイコンソフトが樹脂製ケースを導入します。当時は「ビニール・レザー・ケース」と呼んでいました。樹脂製ケースは日本のパソコンソフト業界に広く浸透しました。

 

茶色いのはカビでしょうか? この部分は樹脂製なので洗剤を使って拭き取ります。

 

説明書の表紙を水ぶき。

表面が炭?で汚れてます。一体、どんな保存をしていたのやら。

 

木工用ボンドを塗って、厚紙を貼り合わせます。厚紙がバネのように戻ろうとするので、輪ゴムで固定します。

 

ケースの前面が剥がれてます。木工用ボンドを流し込んで貼り直しました。

 

ボンドが固まったら完成です。一応、元の形に戻すことができました。セロテープを貼った跡が茶色になっていますが、これは消せません。

気密性が足りないので、ビニール袋に入れました。中に乾燥剤とか脱酸素剤を入れておくといいかもしれません。

 

ソフト自体を書店で売っていただけあって、説明書が本そっくりです。奥付けまで載っています。

AX-5は2つ持っているのですが、どちらも増刷した日付しか書かれていません。初版の発売日がわからないです。ちなみに「みんながコレで燃えた!NEC8ビットパソコンPC-8001PC-6001永久保存版(2005年)」に付いてくるpdfのマニュアルは「1982年12月10日 第1版3刷」でした。発行日=発売日ってわけじゃないので、深く追求しても意味ないかもしれません。

 

パソコンゲーム80年代記(1990年)」という本の中で、80年代ソフトBEST10の中に「オリオン」が入っていました。驚くほど評価が高いです。「オリオン」はPC-6001なのに3Dでヌルヌル動くビジュアルを実現していて、音も臨場感があって、当時としては衝撃的な作品でした。この衝撃を今の方々に伝えるのは難しいです。

ベーマガイベント無事終了

5月18日にベーマガイベントが開催されました。今回もスタッフの一人としてお手伝いさせて頂きました。ジャンパーの背中にでかでかと「ライター」「松原拓也」って書いてあります。当日は歩いたり走ったりしてたのですが、翌日、起きたらヒザが動かなくなってました。今は9割くらい回復してます。

イベントの内容についていろいろ言いたいのですが、それだと、面倒くさいベーマガオタクになってしまうので(もうなっていますが)、今は自制しておきます。

 

nicotakuya.hatenablog.com

ファミコンのカートリッジ基板(Mapper3)の自作

Mapper3のファミコンのカートリッジ基板を作ってみました。

3年くらい前に書いた「日経ソフトウエア」のファミコン特集記事でMapper0の基板を作ったので、それをMapper3に改造しています。実はあらかじめバンク切り替えに対応しやすいように設計しておきました。

 

www.youtube.com

 

Mapper3の仕組みについては、Enriさんのページで詳しく解説されています。

Enri's Home PAGE (ファミリーコンピューター ROMカセット マッパー3)

 

蛇足になってしまいますが解説します。Mapperというのはカートリッジの仕組みのことです。Mapper3はバンク切り替えを行って、CHR-ROMの容量を拡張します。アルカノイドのCHR-ROMは2バンク(16KB)。グラディウスのCHR-ROMは4バンク(32KB)。グラフィックをいっぱい表示したい時に役立ちます。

Mapper3のPRG-ROMは32KB固定で、バンク切り替えをしません。

CHR-ROMのバンクを変えるには、PRG-ROMに対して書き込みます。ROMに書き込むのはあり得ないことですが、ROM内のバンクキーと同じ値を書き込めばデータバスが衝突しません。たとえば、バンク1にしたい場合、特定の番地に「1」を入れておいて、「*((char *)xxxx番地) = 1;」と書込みます。

グラディウスとかだとロジックICの出力ピンの2本にダイオードが付いていてキーを3Xhにしないと、PPUのアドレスバスの一部が強制的にLowに落ちるように作られてます。間違えてPPUが壊れたりしないのでしょうか。過激なプロテクトです。

 

回路図です。PPU~CHR-ROM間のアドレスバスを2本増やすだけなので、回路はシンプルだと思います。ロジックICを1個足すだけです。本物は74LS161を使ってますが、74HC161でも問題ありません。

現状だと4バンクですが、アドレスをもう2本足して、16バンクにするといいんじゃないでしょうか。エミュレータ側が対応していないかもしれませんが。

 

CHR-ROMに書き込み中。黄色いジャンパーワイヤーはA13とA14です。

 

バンク切り替えの実験プログラムです。BG画面に16x16=256個のパターンを並べてみました。贅沢すぎる使い方。バンクを切り替えると一瞬で全部の表示が変わります。この技術はアニメーション表示にも応用可能です。

github.com

実機で動作を確認。

 

 

ついでに紹介しますが、過去に私が書いたレトロゲーム機系の記事は以下の通りです。

日経ソフトウエア2020年5月号 メガドライブ特集。→ムック「土日で楽しむゲームプログラミング入門」に収録。

日経ソフトウエア2020年11月号、2021年1月号、2021年3月号 ファミコン特集(全3回)。→ムック未収録

日経ソフトウエア2021年7月号、9月号 ゲームボーイ特集(全2回)。→ムック未収録

日経ソフトウエア2022年1月号、3月号、5月号 PCエンジン特集(全3回)。→ムック未収録

日経ソフトウエア2022年9月号 レトロゲーム機特集(ファミコンゲームボーイPCエンジンメガドライブのプログラミングをダイジェストで紹介)。→ムック「初心者のためのプログラミング学び方・遊び方」に収録。→「日経クロステック」に再録。

、、、未収録が多すぎです。

雑誌の中古の入手が難しい場合はKindleで買うという方法がありますが、結構いい値段になってしまいます。

 

アタリ仕様ジョイスティックをファミコンに接続する変換アダプタ

アタリ仕様ジョイスティックをファミコンに接続する変換アダプタを作ってみました。昔、ユニバーサル基板で作ったやつをプリント基板でリメイクしました。

 

www.youtube.com

 

ベーマガ1988年6月号より。マイコンソフトの「X-F1」の広告。今回作った変換アダプタとはコンセプトと仕様が似ています。「X-F1」はポートが2人分なのに対して、今回作ったのはポートが1人分になっています。

自分はX-F1を持っていないので、中の回路がどうなっているのか知りません。

 

この「アタリ仕様ジョイスティック」ってフレーズは、今はもう死語かもしれませんが、当時はわりと浸透していたと思います。

手持ちのパソコンの説明書によると、ジョイスティック端子は次のように表記しています。

・PC-6001mkIIは「ジョイスティック端子(9Pコネクタ)」

・X1 turbo IIIは「ジョイスティックインターフェイス

X68000 PRO2は「ジョイスティック用コネクタ(アタリ社規格準拠)」

「アタリ」というわりにAtari 2600とピン配置が微妙に違うのが不思議です。「Dsub 9Pinコネクタ」ってだけのところを、わざわざ「アタリ」と言うことにどんなメリットが?

ジョイスティック端子はパソコンメーカーが好き勝手に作ってきたので、仕様にバラつきがありました。ユーザーにとっては仕様の統一が望まれていたと思います。「アタリ社規格」というのは、具体的にはどういう規格だったのか、気になるところです。

Google翻訳に「アタリ仕様ジョイスティックポート」と入力したら「Atari specification joystick port」と出てきたので、動画ではそのとおり表示しています。海外の人には通じないかも。

 

回路図です。点線で囲んだ部分の回路が2プレイヤー用です。これで「X-F1」に近づいてしまいます。

1人ぶんの変換器を2つ作って、マルチタップで接続したほうが自由度が高いかもしれません。