6503がようやく動いた報告

イメージ
  回路図まで載っけて作りましたと宣言した前回。 いざ色々動かそうとしたものの、 プログラムがまともに動かないので試行錯誤してたら何年たってたんですかねこれ 。月日が経つのは怖いですね。 今回ようやく6503と6532が無事に動きました。 何につまづいたのかというと、多分アセンブラの文法です。 6502系のアセンブラって結構豊富で、 いろんなところから出てるんですがそれぞれアドレスの表記とか微 妙に違うんですね。 で、 今回久しぶりにca65というアセンブラを使用してみたのがつま づいた原因でした。 一度設定すれば大体の6502系には対応できるのが魅力ですが、 本当よくわからないmakeファイルの設定とかで地獄を見ました 。 以下何やってたのか簡単にまとめていきます。 新しい道具も作ったよ! ■:まず動かない いや、電気は通ってるしクロックは走ってるんですよ。 なのに6532の挙動がおかしくてIRQはでっぱなしだしcpu は止まるし訳がわかりません。 そこで今一度6532のデータシートを読むと、 「 NMIとIRQはオープンコレクタなので 必ずプルアップすること 」 ってあるんですね。何その罠。 というわけでプルアップ抵抗を追加しました。 これでcpuがすぐに止まる事故は解決… と思いきやまだ止まります。というか出力がよくわからない。 そこで大昔に作りかけてやめた出力確認用LEDパネルを作成する ことにしました。 ■:めちゃくちゃ便利なLEDパネル 5年くらい前にこんなの作ったら便利やろってLEDだけ並べて、 回路に不備があることに気がついてなげたもの。 今ならなんとかできそうってことで抵抗とトランジスタ をばーっと取り付けて、 カードエッジからも表のポートからも入力できるようにしました。 これまでは毎回ブレッドボードでled回路組んでたんでクソめん どくさいし抜けるしで散々だったのですが、 これで見やすい簡単出力もicに負担がなく万々歳になりました。 やったぜ。 まあ回路図書かずにえいやっと作ったので裏はすごいことになって ます。ちゃんと整えて、 入力スイッチもつけて体裁整えたら普通に便利道具になりそう。 クロックパルスも出せるようにしたいですね。 ledドライブのために2sc1815を贅沢に使用してます。 意外と高いですがいつ買ったのか結構あったので奮発...

MZ80を起動せよ!MZTファイルを実機に読み込ませてみた

 乱数引くまで諦めるな

前回はBASICでいろいろやってみてまあ遅いよねチクショウ!というお話でした。あとゲームの表現どうしようってお話でしたね。


このご時世、非常にありがたいことに様々なエミュレータが開発されており、WindowsPC情でMZ80のソフト開発を行うことができます。そのため、アセンブラでゴリゴリコードを書くことができるわけです。

でも、肝心の実機で動かしたいのに実機で動かすにはカセットテープデッキに読み込ませないといけないわけですが(フロッピードライブ経由から読み込ませることもできますがこれが大変)じゃあどうすればいいのですかって悩んでいましたらTwitterで助言をいただきました。それがこちらのカセットテープアダプターっていうものなのです。

車 カセットアダプター カセットテープ アダプター カセット アダプター カーカセット アダプター スマートフォン用Bluetoothテープコンバーター車載バッテリー用カセットアダプター

こちらです。何これって思われた方に説明すると、いわゆるカセットデッキに対して音楽データをテープの形を使って送ることができるというもので、カセットテープしか再生できないクラシックカーでこのアダプターを通して最新の音楽を聴くことができる、という代物です。

なので、これに対してPCからMZTファイル(MZ80などのプログラムデータをセーブデータにしたもの)を音データに変換すれば、MZ80のカセットデッキに対してデータを送ることができる、というわけです。

カセットデッキの仕組み上改造が必要でした

こちらの商品、Amazonで確認してみますと結構多くの商品が出ておりますが、気をつけなければならないのは「無線」タイプを選ばないといけない、ということです。

さらに、全ての機能がカセットテープのケース内に収まっていることと、さらに一つ改造が必要のようです。(私は見事に失敗して操作部分が飛び出しているものを買ってしまいました。南無。あと貼ったリンクのだと無線部分が飛び出してるので線の取り回しを改造する必要があります。)
ではどのような改造が必要かというと、「ステレオのモノラル化」です。
どういうことかというと、本来のMZ-80ではプログラムデータは音楽データではないですから、モノラルで音が録音されています。しかしながら最新の音楽は基本ステレオ以上なので、左右で音が振れるように設計されております。そうすると、ちゃちなカセットアダプターでは音声データに遅延や偏りが生じ、入力エラーを誘発してしまうのです。

まあこれやってもそれなりに調整が必要なのですが、それでも成功率は飛躍的に向上します。体感1/20が1/10ぐらいです。


この状態にしたのちに、あとはプレイヤーの音量をMaxにして、PC本体の音量を60〜読み込まれるまで調節します。ベストな音量になるとプログラムの名前が表示され、エラーがなければ読み込み成功、表示されます。こんな感じでエミュレーターで動くように作成したプログラムなんかをすぐに実機確認することができるわけです。

エミュレーターで作成したプログラムを読み込ませたところ。見事に動いています


他にも、有志の方が作成されたBASICなども起動することができるため、SP-5020などの入手困難なものがなくてもなんとかなります。素晴らしいですね。

やはり実機で確認すると動作が違ったりして面白いので、エミュレーターである程度意図した動きになったら、一度実機を挟むのがいいと思います。

そんな感じで、いよいよ開発環境が整ってきたのでいい加減ゲームを作りたいところ。スクロールプログラムもできたので、次はそのお話をしたいと思います。

それではまた次回。

次の記事:

前回の記事:

MZ80を起動せよ!とりあえずBASICでゲームを作ってみようよ

コメント

このブログの人気の投稿

ファミコンの完全自作ROM&カセットを作ろう!!その1~立ちはだかるコンパイラの壁~

ファミリーベーシックでゲームプログラミング

ファミコンの完全自作ROM&カセット作ろう!〜cc65で起動ROMをつくる〜