6503がようやく動いた報告

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

Apple1 Computerを現代で作ることはできるのか挑戦してみた その2~それっぽい代用品が見つかった編~


記事の投稿期間はそれなりなものですが、じつは例のシフトレジスタの代替部品になりそうなものをあれから1年近く探し続けました。というよりも、私も社会人になり
前にシフトレジスタがいかに問題点だったかを語った記事
Apple1 Computerを現代で作ることはできるのか挑戦してみた その1~シフトレジスタ問題~
常識では考えられないくらい(とりあえず土曜日は消えた!!!)忙しくなったため、できていなかったのが実情です。
割と一個が高い部品なのでピンを折ってしまったら・・・


そんなこんなで死にかけながらも探した結果、こちらの部品を秋葉原(若松通商)で見つけました。


これ、なんと512bitのシフトレジスタなんです。つまり、本来の数の倍にはなってしまうもののなんとかありえなくはない数に抑えられる見込みが立ちました。
部品名はMM5058・・・この部品自体ディスコンで、今どきこんな恐ろしい長さのシフトレジスタ自体、正直取り扱いがありません。生産してる物好きのメーカーもありませんから、お察しというか。
とりあえずまずはこのレジスタがどう動くのか、想定した代用方法として成り立つのかを動作確認してみます。

■まずは連結してみた

単純に考えて、512+512で1024になるっていうお話です。さらに嬉しいことに、インプット・アウトプット電圧がTTL標準電圧でスイングするということで、本来のICを使用した場合に必要な変圧ICが不要になります。やったぜ!!!!
ただ、それでも-12Vの電圧が別で必要なため結局このコンピューターの必要電圧は5Vと-12Vになることは確定しました。

そしてarduinoでクロックと入力信号を入れたところ・・・・
見事1024bit連続でシフトカウントすることに成功。いやーよかったよかった。動作速度の最高点が、本来使用するICは10Mhzなのに対し、これは2Mhzなのが心配ですがこれしかないのでこれで回路を書き直し、実際に組み立ててみることにします。

そして実際に組み立てるに当たって、正直ブレッドボードで組み立てるのはしんどいレベルなのです。電源回路とか複数走らせることになるので、下手に繋げばその他多くのICが死にます。
よって、半田付けではない古の方法で組み立てることにします。その方法含め、次回いよいよ組み立て開始です。

それではまた次回!!
次回の記事:
前回の記事
MZ80を起動せよ!モニター修理というか交換しました

コメント

このブログの人気の投稿

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

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

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