投稿

2022の投稿を表示しています

6502の姉妹CPU、R6503を動かしてみる+6532RIOTについて調べてみる

イメージ
 時はコロナ前。秋葉原にて手に入らない部品の一つに、6502というCPUがありました。 幸いにも65C02という互換品?が今でも発売されていたのですが、残念ながらマルツ経由でも手に入れることができないため絶望的だった時代から始まります。 以前秋葉原の部品でApple1を作ると宣言してもう数年経ってるんですけど、一番困ったのがここでした。肝心かなめのCPUが秋葉原で調達できないとか笑えないです。なのでずっと探してたっていう言い訳をさせてくださいオネガイシマス。 ■|6502は手に入らない、けど姉妹CPUなら若松にある。 秋葉原でレアなCPUを探すならラジオデパートかラジオ会館と相場が決まっていると思うのですが、そこでもなしのつぶてでどうにもならない日々を送っていたある日。若松通商さんのホームページを検索していると、"6503"という型番のCPUを見つけたのです。 早速突撃して話を聞いてみるとなんと店頭にあるとのこと。(確か店頭にあった気がします。間違えていたらごめんなさい)そこで早速購入してみると、なんだか足の数が少ないんです。 それがこちら。 下のの40PINの大きいやつが6502。んで、小さいのがその入手した6503というCPU。 なんで秋月の袋があるかって?朗報です。ついに秋月が6502を取り扱うようになりました。みんなも6502で電子工作しましょうぞ!! 話を戻しまして。 当時6502には数多くのカスタム版が出回っており、かの有名なATARI2600のCPUも6507というカスタム版を搭載しております。ではこのカスタム版とは何かというと、6502を基準にしてメモリアドレスを減らしたり、機能を絞ったりしたまあ要は廉価版みたいなものですね。ただでさえ機能を絞っている6502をさらに縮小しているのですが、それでも使いやすい設計になっているあたりいかに6502が優れた設計をしていたのかが偲ばれるというものです。 で、今回入手したこの6503はどのようなものなのかというと、 メモリアドレスは4KByte RDY、SYNKなどはなし ピンは28本 というコンパクトなものです。 一応、データシートの記載の翻訳と、画質が低くて見えなかったので書き起こしたPin assignmentもといピンアサインを貼っておきます。 (Rockwell R650X an

6532RIOTについて学ぶ

イメージ
 6532の資料が少ない。 6502系のCPUを触ったり、AtariVCSとか触ったりすると出てくるこの6532RIOT。 日本語資料なんてもちろんないので、後の自分が楽できるように以下に仕様書を翻訳したものを書いていきます。どっかにあったらそっちを読むか、やっぱり公式資料読むのが一番いいと思います。 ちなみに私の英語力は3なのでクオリティはお察しです() それでも日本語でwikiより詳しい内容は読めるので便利…なのかも? 【インターフェースシグナルの説明(割り込みピンとかの説明)】 Reset(RES) システムをリセットしている際に、このピンにLOW信号を与えると6532の4つのI/O用内部レジスタをZEROにし、出力もZEROにセットします。これにより、すべてのI / Oバスが入力として機能し、システムがソフトウェア制御下で構成されている間、外部コンポーネントを起こりうる損傷や誤ったデータから保護します。 Read/Write(R/W) CPUから6532にデータを読み書きするために使用します。HIGHなら読み込み、LOWなら書き込みを行います。 Interrupt Request(IRQ) 割り込み信号用ピン。基本は3kΩの抵抗でプルアップしておくことをお勧めします。 なお、6532側のIRQピンは、PA7の遷移またはインターバルタイマーのタイムアウトによってアクティブになる場合があります。 I/O Ports(PA0 - PA7,PB0 - PB7) 6532には16pinの周辺機器とやり取りができるI/Oポートがあります。 どのピンも個別にソフトウェアで制御ができ、入力または出力ポートとして制御できます。 これらの16ピンはPA0-PA7,PB0-PB7の各8bitのポートとして分割して制御することもできます。なお、PA7は特殊な用途があるため後程説明します。 データ方向レジスタに「0」を書き込むことにより、それぞれが入力として設定され、対応するビットが出力になります。 入力モードの場合、ペリフェラル出力バッファは「1」状態になり、内部プルアップデバイスはペリフェラルデータラインへのTTL一つ分未満の負荷として機能します。 I/Oポートの読み出し操作をすると、CPUはこれらの周辺ピンを読み出すことになります。 6532を通して周辺デバイスからデータを読み