6503がようやく動いた報告

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

[MSX1で]Panasonic CF2000[ゲームを作ろう]

MSX。レトロパソコンになじみのある方、多少マニアックなレトロゲーマーの方なら聞いたことがあると思います。ファミコンより少し前ごろから登場し、シリーズ展開した結構出回ったはずなのに中古ショップとかあまり見かけないというマシンです。
そこで今回はこのマシンでプログラミングをしてみようというのが今回の企画。しかも使用するのは上位機種のMSX2やturboではなく、初代MSX1です。

■今回使用するメカたち
今回使用するのはいわゆる1chipMSXではなく、MSX1実機を用います。これはできるだけ当時の環境で制作してみたかったのとそもそもMSXを思う存分触りたかったというのがあります。
というわけで使う機種はこちら。
状態もいいし箱付きなのに、この安さなのはMSX1ゆえなのか・・・

CF-2000
この機種、割とマイナーなようでかなりネットでも情報の少ない機種になっているようです。ちなみにヤフオクで1000円で落札しましたが、何分ジャンクなので修理から始めます。キーの反応が妙に悪い部分があるのと、もうコンデンサが寿命ですから全とっかえからですね。ひぃい。

ちょっとボロい。

データレコーダー「QR-8030」
まあ驚くほど情報のないデータレコーダことQR-8030。取扱説明書なんて上がっているはずもなく、手探りでなんとか使っていきますがその前にこの子も修理から始めます。先人の方が見事な修理の記事を公開してくださっていますのでそれを参考にしようと思います。

■まず初めに修理から
プログラミングでゲームを作ろうって話なのになんで修理から始まるのかはさておきましてまず保存ができるようにデータレコーダの修理から。こちらのサイトを参考にしまして、中のゴムを交換。プーリーから回転軸へ力を伝達するゴムはドロドロに溶けてました。モーターからプーリーへ伝達するほうは少し伸びてるかな程度でしたが、買ってきておいたので交換します。そしてスイッチを入れますが・・・・
ゴムを交換。とにかく回るかチェック。

まともに動きません。めっちゃゆっくりねっとり回転します。電圧を図ってみましたがモーターには6Vとあるのに対し供給電圧は8V。電圧は十分すぎるほどです。しかし以前私はarduinoにモーターを直結するというあほをやらかしまして、電圧が足りてようとも電流が足りていなければモーターは回らないということを知りました。また、コンデンサーが容量抜けを起こすと電流不足が発生し、機械が動かなくなるということをMacintoshの修理の中で学びましたので秋葉原へ飛び立つことになりました。だって2200ufのコンデンサなんて持ってるわけないじゃないですか!!!ジャンクボックス漁ったけどみんなせいぜい1500ufだよ!!

そしてひとまず買いあさってきました。そんな設計になってるのかと驚きですがとにかく修理。まずはゴムベルトの交換からです。千石電商でちょうど良いサイズのゴムベルト を購入してきました。中を開けて見るともうドロドロ。悲惨の一言です。ゴムベルト を買う時に秋葉原のBEEPの店員さんと話していたのですがデータレコーダの中のゴムが切れてしまったため交換をしたいからゴム売ってないかと話したらゴム使ってるデータレコーダあるんですかと言われてしまった。ギアで組んでいるからゴムベルト が切れるとかは考えたことがないと言われてしまったのだがカセットデータレコーダーと言えばゴムベルト 。ゴムベルト と言えばカセットテープレコーダーというほどだから、正直信じられない話でした。

■ゴムベルト 救出!どろどろになったベルトを交換するも・・・
大概ベルトを交換すればこういったものは治るのが相場ですが、こんかいはうまくいきません。先ほどお話ししたコンデンサの不調が原因です。そこで、まず手持ちにあるコンデンサだけでも交換するとなんと録音時に録音している音をスピーカーから出す機能が復活しました。びっくりです。恐らくコンデンサが容量抜けを起こし、必要出力電流を確保できなくなっていたのだと思い、全面交換を決行しました。
しかし、モーターの動きは相変わらず悪いまま!となるとモーター自体が悪い可能性があると踏み、モーターを分解してみました。

■モーターが寿命!?ジャンク部品と取り替えてみた
モータの裏ブラを開けると、そこには基板が。

触ってみると恐ろしく熱い!どうやら中に入っているモータードライバーicが死んで、この結果になった模様。とりあえず同じicを使っていたジャンクのモーターからicを移植してみます。
この狭い中に可変抵抗、コンデンサ、そして電源ICが詰め込まれていた!!

結果はダメ!おそらくなんですけど、そもそも中のブラシがダメになってると考えられます。完全に分解し、モーターのブラシを掃除しないとこれはどうにもならなそうです。ゴムベルトがダメになってるのはわかるけど、まさかモーターも寿命になってるとは思いませんでした。恐るべしジャンク・・・

そこで思い切ってこの部品取りにとっておいたジャンクモーターとネジの位置もサイズもぴったりなので交換してみることに。電圧がもともとのは6vってあるけどジャンクモーターは12v。ま、まあなんとかなるよね!

そして交換した結果。まさかの規格もみんなぴったりで、あっさり取り付けることができました。電源投入すると・・・・動いた!しかも全然熱くならない!動作もバッチリ!
試しにカセットテープを取り付けてみて回してみたところ、問題なく動作しました。

つまりデータレコーダーの修理の項目に、コンデンサーやゴムベルトだけでなくこれからはモーターも念頭に入れなければならない時代になったということでしょうか。正直ほぼ中身入れ替えじゃねーかと思えるレベルですが、これでようやくプログラムのセーブもできるようになりました。

というわけで今回はここまで。ひとまず次回はMSX1のBASICリファレンスの入手ができ次第という所でしょうか。何分情報がMSX2に比べて極端に少ないため、こちらもMacintoshばりに苦労しそうです・・・!

次の記事
Macintosh Plusを起動せよ その10「Macintosh 128k/512k/Plus用のバックアップバッテリーを自作!」
前の記事
Macintosh Plusを起動せよ その10 「フロッピードライブコネクタDsub-19Pinを自作する」

コメント

このブログの人気の投稿

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

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

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