スーファミカセット試作2号
さて前回も書きましたが、アメリカから買ったDIY基板は↓
ICソケットをかますと、高さがオーバーしてカセットの中に収まらなくなるという問題があります。
「穴あけりゃ一応は入るんじゃない?」
そう思うでしょ?私も思いました。しかしね……
スロットの入り口に引っかかってしまうんですね。基板だけなら傾けて通せるんですが、カセットに入れてしまうと垂直にしか差せないので。
さて、ベーマガでおなじみ(えらい古い話なので最近は日経ソフトウエアかも)の松原拓也氏が(id:nicotakuya)これを見て「段差付きの基板を作ってみようか」という話に。そして試作品を2枚、譲っていただけました。本当にありがとうございます……
こんな感じで基板をオフセットして、生まれた隙間にICソケットを押し込むという作戦です。
シール剥がしの液で変色して汚いですが、カセットに入りました。では早速SFC本体に差して起動……
しませんね。どこかにハンダミスがあります。困ったことに家にテスターのひとつも無いので、Retrodeという吸い出し機で吸い出してみることにしました。すると……
おっ、原因っぽいものが見えますね。アドレス線の8番目を辿ると、ピンヘッダのハンダ量がかなりギリギリです。他も危なそうなピンがあったのでハンダを盛ると……
起動しました!(ちなみに画面はボスステージ。やっと大方できましたが、2か月以上ボスだけ作ってました)
ということで、試作レベルなら市販のカセットと同じ見栄えのものが作れるようになりました。ただしこれ、基板だけで5000円以上します。ROMとか箱、説明書なんか付けると原価で1万いきそうですね。あくまで知人に配る程度で、量産はまた別世界です。
DIYスーファミ用カートリッジ試作
あけましておめでとうございます。さて先月13日に注文していたSNESカートリッジの半完成基板がはるばるオハイオ州からやって来たので、大晦日に半田ごてを引っ張り出して実装しておりました。
この基板は
ということで、買った後はROMを乗せるだけでOK。とはいえいきなり直付けする勇気はないのでICソケット経由です。
まあ半田付けの腕は酷いですが……現代の米粒のような部品と比べると巨大なので、雑でも大丈夫。
秋葉原・ラジ館の若松で買った8Mbits UV-EPROMです。日本橋の共立に大量にあることが分かっていたので大阪に帰ってきたら買おうかと思っていたんですが、なんと29日からもう正月休み。念のため買っておいて正解でしたね。若松通商の情報をいただいた松原社長に感謝。
新品なら消去しなくていいかな?と思ったんですがさすがに中古で、キヤノン製FAXのファームウェアっぽいものが既に入っていたのでこれで消します。
ROMが乗っている方が表っぽく見えてしまいますが、こちらを裏にしてスーファミのスロットにセットします。
一発で動きました。先に書いた通り半田付けの難度は低いので、ぱっと見てブリッジ等がなければ、大丈夫でしょう。
しかし、実はICソケットを使うとカセットの中に収まらないことが分かっているので基板を分割してリード線で繋ぐか、あきらめて直接実装するか、ちょっと考える必要があります。
近況
デジゲー博
無事終わりました。スーファミ自体はしっかり動いたんですが、アナログテレビ跡の周波数帯に今はFM補完放送というものが流れているらしく、これがRF接続と競合して平成も終わろうかという2018年とは思えない酷い画質に。
チャンネルを切り替えるとうまく映らなかったので、仕方なくこれで強行。妨害電波を集めてしまうのか、コントローラーのコードを伸ばすと画質が悪化するので、なるべく伸ばさないで!とか言いながら。
ミニスーファミの方はもちろん影響を受けず、この通り。
他の写真はサイトからどうぞ。
pagam.es
ちなみにデジゲー博には間に合わなかったんですが、最後のステージ用にボスを作っています。
ボスの倒し方
— 🐙🐟🐈 (@gyuque) November 25, 2018
how to beat the enemy pic.twitter.com/az9GlI8GF8
ボスの動きもアセンブリのハードコードなのでなかなか大変で、2週間やって半分ぐらい。たぶん完成は年末……
ベーマガ老人会
年末恒例? 松原社長(id:nicotakuya)のお宅でゲームをしながら物を食ったりする会。
- ダライアス(初代)
- INSIDE
- みんなでワイワイ!スペランカー
- ロロロロ
- スターフォックス64
- スマッシュブラザーズ(初代)
気になったゲームはINSIDEかな。後述の通りSwitchを買ったので、ゼルダをある程度やったら買ってみよう。
スペランカーは、悪くないけど別に何も心に残らないな……
ダライアスはむずい。
最近のアニメ
ジョジョが別格で面白いのはともかく、吸血鬼さんが良い。あと、SAOは前作をぜんぜん見てなかったけど今期はわりと楽しんでいる。いろいろ人間が出てくるがそれらはモブみたいなもんで、キリトとユージオさえ覚えておけばなんとかなるのが良い。
Nentendo Switchを買った
いろいろありまして、買う機運に。
本体と一緒に買ったゲーム:
ゼルダ、3Dで歩き回るゲームはサルゲッチュ以来かもしれない。そして面倒になって積み中。ロックマンはいつも通りのロックマンなのでクリアした。
そろそろROMカセットの製造を考えたい
工場に発注するとかは置いといて、とりあえずハンドメイドでの試作を考える。
ちょっと調べたところ、意外にもスーファミのカセットは(特殊なことをしなければ)ファミコンよりシンプルなようだ。
ファミコンの場合は本体の機能が極めて貧弱なので、ROM以外にもICを載せることがほぼ必須で、しかもプログラムとグラフィックが別のROMになるらしい。スーファミだとそこは洗練されていて、抵抗やコンデンサを除くと本当にCIC(正規品の認証用IC)とROMだけ。↓みんな大好きジーコサッカーはこんな感じ。
ジーコサッカー、中身が気になってくぱぁしてみた。 はい。 瞳率ゼロに近いですね。 ちなみにロットが違う様で、それぞれ基板とROMのメーカーが違ってます。 pic.twitter.com/tFHgEbUVMc
— チョコ山 (@MtChocolate) February 13, 2015
ではこのROMをひっぺがしてEPROMを植えればいいかというと、実は市販のEPROMと任天堂純正ROMはピンの配置が違うので、何本かリード線を引っ張りまわさないといけない。……逆に言えばそれさえすれば出来るんだけど、この地球上には最初から市販ROM用に配線してあるSNESソフト自作用基板というものが存在する。何でもあるな地球は。
M27C801 Make Your Own SNES Games Preassembled DIY PCB 3PCS | Etsy
↑ ネタ元
How to Make a SNES Reproduction Cartridge | The Poor Student Hobbyist
UV-EPROMは国内で買えるんだけど松原社長曰く「本来の値段より高い」とのこと。まあでも試作なので金は惜しまない感じでいきます。
デジゲー博にスーパーファミコン用のゲームを出展するので全力で来てください
はい、えー
前々から作っていたスーパーファミコン用のゲームが、ひとまずゲームとしての体を成して展示できる程度になったので、秋葉原UDXで展示をしようと思います。11月4日、明日です。
これです、スペース E-11a。40年もののテレビが置いてあるので一発で分かると思います。
左に本物のスーファミ+テレビ、右にミニスーファミを配置してどちらも同じものを展示しています。
テレビの方は家だと結構きれいに映るんですけどね、なんか秋葉原は謎のFMラジオが飛んでいて、それに妨害されてかなり画面が汚いです。周りに金属のものを置くと電波を集めて?しまうようでなかなかデリケートです。
あとフライヤーもあります。少ないので、多分すぐ無くなります。裁断って10枚ぐらい一気にいけるのかと思ったらなんと手動のやつは最大1〜2枚で、大変で……
pagam.es
なぜ「2人用F-ZERO」ができなかったのか
はい。
ああ、近所の通り魔は捕まったそうです。これで背後を警戒しなくてよくなりますね(尚、実際は数日で忘れて背後なんか見なくなってた)
さて、なぜかヨーロッパの人達はレトロゲームが大好きなようでTwitter等でよく反応をもらう(日本人より多い)のですが、その中で Mode 7 使わないの?使ってよ、と言われて、せっかくなので全機能制覇を目指してテストプログラムを作ってみました。
Mode 7 というのはF-ZEROやパイロットウィングスみたいな……と言えばもう伝わったかと思いますが、巨大な一枚絵をグリグリ回すスーファミ独特の疑似3Dのことを指しています。(尚、下に書きましたが技術的には「画面モード7」の応用例として疑似3Dがあるだけで、疑似3DのことをMode 7と呼ぶのは俗称です)
↓結果としてはこんな感じに
実は「画面モード7」自体には3D機能は無く平面の変形機能を提供するだけで、遠近法を実現するためにはラインごとの変形操作を自分でやる必要があります。なので意外と面倒。
で、これを実際ゲームに使うかというと……うーん……まあデモで一瞬使うぐらいかな。
ところで、ミニスーファミ発売記念のインタビューでこんな話がありました
そもそも『F-ZERO』って、ものすごく長い直線を、時速400キロで走りきるというゲームですけど、2人で遊べるように画面を上下に2分割にすると、同じことをやるのは絶対に無理だ、ということがわかったんですね。
――ハードの制約上、どうしてもくねくね曲がったコースにせざるを得なかったんですね。
https://topics.nintendo.co.jp/c/article/3228ce3a-8d29-11e7-8cda-063b7ac45a6d.html
紺野 はい。そのような密集したコースを走らせられるのは、カートくらいしかない、ということになったんです。
読んだときは「へー」と流していましたが自分で実装したところ理由が分かってきました。
Mode 7のBGサイズはピクセル数で言うと1024×1024固定で、これより大きくも小さくもなりません。画面サイズの256×224と比べると結構大きいように見えますが、F-ZEROのようなスピード感を出そうとすると端から端まで一瞬で到達してしまいます。上のデモだと地面に白い金網がある所がBGの端なので、1秒程度で到達しています。ということは、何も考えずにF-ZEROを作ると1周が10秒もかからず終わる詐欺みたいなゲームになってしまいます。
実際のF-ZEROではどうしているかというと、コースの一部だけをVRAMにロードして、プレイヤーの動きに合わせてストリーミングするという手段で、1024×1024より広大なコースを実装しています。
当然、ロードする範囲はプレーヤーの場所と1対1なので、プレーヤーが2人に増えるとBGが2枚要ります。しかしMode 7で使えるBGは唯の1枚だけ。ということで、マリオカートではストリーミングを諦めて
単にコースを1枚に詰め込むという実装で、この点だけ見るとF-ZEROより退化しています。しかしここで「カートということにして車を遅くする」というアイデアを出してきて最終的にマリオカートにしてしまうのが任天堂のデザイナーの力でしょう。
ということでまあ、プロは流石やねという話です。
ちなみにテストプログラムはgithubに上げたので試したい方はどうぞ
https://github.com/gyuque/snes-m7/releases
スーファミ開発報告20180423
なんか近所で人が刺されましてね、背後をチラチラ確認しながら歩いています。でも視力が非常に悪く夜目がきかないのであんまり意味が無い。
さて、念願のBGMと効果音が付きました
スーパーファミコンの自作ゲームにサウンドを組み込んでもらった話 | ANIMATONE
事情を知らない人に、当時小さいメーカーから出てたタイトルだよ?とか言えば騙せそうな水準にはなってるかと思います。
できたらミニスーファミ2に入れてくれない?Better response than on the PC emulator pic.twitter.com/KBDE8sEZpW
— ポ (@gyuque) 2018年4月22日
で、ちょっと話が前後しますが、上のBGMが付く直前に豊井さん、ninoさんと久々の開発会議。猫にタックルをかますゲームを作っている後ろから、豊井さんが飼っている本物の猫(3匹おり、名前を1、2、3と云う)の声が聞こえてくる。
出た意見↓
- 完全に機械のUFOに魚を与えているのはおかしくないか? 生物っぽいデザインにしたい
- アイテムを集めるゲームなんだけど、作業的に押し付けてる感じがする。 アイテムを集めるのが楽しいと思える仕掛けを入れたい → マリオみたいなコインを配置するのはどうか
- タコの名前は? → タコでいいんじゃないかな(ええ…)
まずUFOのデザインについては多分こんな感じ↓(変わるかもしれない)
次にコインについては動画にある通り。コイン自体はBGに貼ればいいんだけど、取った時のエフェクトはちょっと面倒。Twitterでスプライト置くだけでしょ?とか言われたんだけど、いやまあ、CPUが3.58MHz(ギガじゃないよ)とかの世界だから、雑には作れないんだ。
タイトルは……また考えとく
さて、検討中の事項は
- 今考えているFail(ミス)の条件はタイムアップのみだけど、即死トゲとかあった方が難度の調整にいいか?
- 今のところコインを取らなくてもクリアできるが、なるべく集めさせたい → エンディングの条件を「コインを集めてUFOを修理する」とかにする?
こんなところか。
夏ぐらいにはCIB(Cartridge, Instructions, Box)=カセット・取説・箱をやりたいかな。