6503がようやく動いた報告
時はコロナ前。秋葉原にて手に入らない部品の一つに、6502というCPUがありました。
幸いにも65C02という互換品?が今でも発売されていたのですが、残念ながらマルツ経由でも手に入れることができないため絶望的だった時代から始まります。
以前秋葉原の部品でApple1を作ると宣言してもう数年経ってるんですけど、一番困ったのがここでした。肝心かなめのCPUが秋葉原で調達できないとか笑えないです。なのでずっと探してたっていう言い訳をさせてくださいオネガイシマス。
秋葉原でレアなCPUを探すならラジオデパートかラジオ会館と相場が決まっていると思うのですが、そこでもなしのつぶてでどうにもならない日々を送っていたある日。若松通商さんのホームページを検索していると、"6503"という型番のCPUを見つけたのです。
早速突撃して話を聞いてみるとなんと店頭にあるとのこと。(確か店頭にあった気がします。間違えていたらごめんなさい)そこで早速購入してみると、なんだか足の数が少ないんです。
それがこちら。
下のの40PINの大きいやつが6502。んで、小さいのがその入手した6503というCPU。
なんで秋月の袋があるかって?朗報です。ついに秋月が6502を取り扱うようになりました。みんなも6502で電子工作しましょうぞ!!
話を戻しまして。
当時6502には数多くのカスタム版が出回っており、かの有名なATARI2600のCPUも6507というカスタム版を搭載しております。ではこのカスタム版とは何かというと、6502を基準にしてメモリアドレスを減らしたり、機能を絞ったりしたまあ要は廉価版みたいなものですね。ただでさえ機能を絞っている6502をさらに縮小しているのですが、それでも使いやすい設計になっているあたりいかに6502が優れた設計をしていたのかが偲ばれるというものです。
で、今回入手したこの6503はどのようなものなのかというと、
;6504 Homebuilt Test Program
ORG $0800
RESET: sei ;6532からの割り込みを拒否
cld ;BCDモードをOFF
ldx #$7f
txs ;スタックポインタをリセット
cli ;インタラプト(IRQ)割り込みを許可
lda #$ff
sta $81
sta $83 ;6532のA/Bポートを出力に設定
ldx #$00
stx $00 ;Start Counter at 0
LOOP: jsr DELAY ;Call for a Short Pause
brk ;Just to Test Interrupts
BYTE $00 ;One byte fills hole after BRK
ldx $00 ;Get the Count
stx $80
stx $82 ;Put Count on Ports A & B
inx ;Increment the Count
stx $00 ;Store the Count
jmp LOOP ;Do it all again!
DELAY: ldx #$ff ;Begin Delay Subroutine
ldy #$ff
WAIT: dex
bne WAIT
dey
bne WAIT ;End Delay Subroutine
rts
ORG $0E00
IRQ: rti ;割り込みルーチンから復帰
ORG $0FFC
BYTE $00, $08 ;Vector to Reset
BYTE $00, $0E ;Vector to IRQ
END
楽しいコンテンツを読ませて頂きました APPLE1については、最近青梅のマイコン博物館にて当時のレプリカがレストアされたそうで動くところを見られる予定のようです。新装中でまだ正式展示は先のようですが。
返信削除