SBC1802 COSMACコンピューターをつくる

SBC1802

電脳伝説さんのSBC1802を作ってみました。通称COSMACと呼ばれるCPUで宇宙にも行ってるらしいです。サンプルプログラムが動いた後にLEDチカチカをやってみたくて、LEDボードを作りました。

SBC1802とは

vintagechips.wordpress.com/2021/04/13/sbc1802fixed/

SBC1802は電脳伝説さんが作ったシングルボードコンピューターで、オレンジピコさんとか、スイッチサイエンスさんで頒布されています。いつものルーズキット(基板だけ頒布)ですので、必要な部品は集める必要があります。

store.shopping.yahoo.co.jp/orangepicoshop/pico-a-041.html

www.switch-science.com/catalog/7107/

部品組み付けと、サンプルプログラムの実行

いつものようにSBC1802には詳細な技術資料がありますので、部品表を参考に部品を揃えまして、部品組み付けを実施しました。

www.amy.hi-ho.ne.jp/officetetsu/storage/sbc1802_techdata.pdf

SBC1802は他のルーズキットと違って電源のアダプタ端子がついてません。FTDI互換のUSB-シリアル変換器がもっている5Vで駆動するかたちとなっています。省電力!!!

SBC1802データパックに入っているBASIC ROMを焼く石は27C256型を装着するところですが、何回も書き直すかもとW27C512を使いました。ROMライターで書き込む際はアドレス$8000分だけズラしてあげる必要があります。技術資料にそのあたりも図入りででています。

サンブルアプリである、いつものASCIIARTも無事表示できました。クロックが1.8MHzぐらいのようなので40分ぐらいかけて、のんびりと表示されました。

LEDをチカチカさせてみたい

サンプルアプリが動きましたので、BASICのOUT命令でLEDをちかちかさせてみたいと思いまして外部回路を検討しました。最初はN0〜N2端子にLEDをぶらさげてチカチカできるんじゃね?と安易に考えたのですがそれはダメ。

CDP1802からI/O出力する場合

CDP1802のデータシートを見ると以下のようなタイミングチャートが出ています。

CDP1802 DataSheet

CDP1802からI/O出力すると、ふだんはAllゼロになってるN0〜N2信号線にI/Oアドレスが出力されます。また、メモリーからI/Oデバイスへ出力されるという仕組みみたいなんでMRD信号線(メモリ読み取り)がLヘ落ちます。あとは読み取りタイミングはTPB信号線がHになるという感じ。

一番下のあたりに、”DATA STROBE”という信号がありますが、MRD(メモリ読み取り)、TPB信号、Nx信号を合わせたものでタイミングが取れそうです。

LEDチカチカのためのデコード&ラッチ回路

LEDチカチカのため、以下のような回路を考えました。

N0〜N2信号線は74HC138でデコード。あとは、その信号とMRD信号、TPB信号線を4入力NANDゲートであわせて74HC573ラッチのLE(ラッチイネーブル)へ入れます。ラッチしたいタイミングでLへ落ちるというかたちです。いものようにgithubにもUPしてあります。

github.com/kuninet/COSMAC-IO

この回路の前に最初考えた回路は、LE(ラッチイネーブル)の動作を勘違いしていて、シリアルから入力した文字コードがLEDにチカチカと表示されるという楽しいLEDボードになってしまいましたが…w

ブレットボードで組んでみた&BASICでLEDチカチカ

上記回路をブレッドボードに組みまして、BASICのOUT命令でいつもの$AAとか$55を出力してLEDをチカチカさせてみました。

今後は?

COSMACボードでLEDチカチカできましたので、今後 気合が出たらスイッチを8個並べた入力ボードなんかも作ってみたいと思います。でも、スイッチだけじゃつまらないので….もっと他のものがいいかなとか。アイデアが出たら作ってみたいと思います。

コメント