SBC6303ルーズキットを作る

ここのところの電子工作熱を再燃させていただいた 書籍 モトローラ6800伝説 のスピンオフ企画である SBC6800ルーズキットSBC6809ルーズキットにつづいて、SBC6303ルーズキットが発売されました。
☆下の画像はスイッチサイエンスさんに直リンク…


モトローラ6800伝説

いままで作ったMC6800系のCPU(バイナリ互換&拡張あり)ですが、RAMを128バイト内蔵していたり、シリアルやパラレルI/Fまで内蔵するワンチップマイコンって感じの石です。

SBC6303 ボード作成準備

さっそく部品を集めて作ってみました。部品はVintagechips氏作成の技術資料にもあるとおり各部品店に通販で申し込みをしました。あとは技術資料を見ながら作成開始です。
今回は以前のボードのようにPICでクロック作成等は無いため部品さえ揃えば(ROMライタがなければスイッチサイエンスでLILBUG ROMが販売されていますので…)はんだ付けを確実に実施すれば動くはず。

https://vintagechips.wordpress.com/
電脳伝説

部品集めで苦労?したもの

CPUは技術資料にもありますが若松通商で売ってました。
Twitterでも最近流れてますが 「40ピンL型ボックスヘッダ 」が意外と扱っているところがなくて、千石電商に通販を頼みました。あまり売れ筋じゃないのかなぁ。
秋月電子に40ピンフラットケーブル(短いの)はあるんですけどね。

ボード作成&テスト

今回のボード本体にはSRAM ICは載ってません。ROMからLILBUGをブートするとCPU内蔵の128バイトのRAMを使って動作します。
作成にあたってはさほど注意するところはありません。水晶発振子をクロックとして動作するのでPICの焼き込み等も不要です。水晶発振子の周波数がシリアル端末の速度に関係すると思うので半端な周波数ですが…
機械語モニタ LILBUGのROMについては、私は手元にUSB ROMライタのTL866CSがありましたので EEPROM AT28C256 (オレンジピコでかいました)にデータパックのHEXファイルを焼き込んでおきました。若干EPROMとはピン配置は違いますが今回は8kB分しか使わないので、SBC6800同様問題ないはず。

はんだ付けして Vcc/GNDのあたりの電圧が正しく来ていることを確認後、各ICを挿入。
技術資料にも出てるHELLO.Sを実施しました。LILBUGのLコマンドでモトローラS形式ファイルを流し込んでGコマンドで実行。動作OKです。

つづいてLEDチカチカさせる BLINK.SをLILBUGのLコマンドで流し込んで実行してみます。
注意点はLEDの向きを間違えないことです。ブレッドボードとメス-オスのケーブルと抵抗器があればOK。

32kバイト拡張メモリ

さて、128バイトではRAMが心もとないので、CY62256NLL-70PXC (32kB SRAM)をユニバーサルボードに組んで40pinフラットケーブルでつないでみたいと思います。
技術資料の作例通りで配線はZ80ユニバーサルマイコンを作ったときと一緒でポリウレタン被覆線を使用しました。いちいち被覆を剥かなくて良いので楽ちんです。
データシートでは他の同型SRAM(HM62256とか)とアドレスバスのピン配置が違いますが、気にせず技術資料の作例通りで配線しまして…..

RAMチェックのMEMCHK.SをLILBUGのLコマンドで流し込んで実行….$7FFFと応答があったので32kB分正しく認識されていることが確認できました。

次は??…

機械語モニタLILBUGへアセンブラでプログラムを書いて投入すれば何でも?できる環境にはなりましたが、ぜひバイナリ互換なので電大版TinyBASICを動かしてみたいと思いました…..が、ちょっと難航しています。
MIKBUGとLILBUGの文字入出力ルーチンあたりの調整だけでイケルかと甘いことを考えていましたが…..$0000〜$001FまでLILBUGのレジスタ領域として取られていたり、$00FFから若干のメモリがLILBUGのスタックとか変数領域で取られていて電大版TinyBASICのワーク領域とぶつかるのです。(32kB RAMにしたのに先頭から256バイトの範囲で取り合いが…)

$0100以降にメモリ領域へ電大版TinyBASICのワーク領域を移動させると、今度はBASICのオブジェクトコードがあちこちで長くなって2バイト命令が3バイト命令になり相対ジャンプが届かなくなったり….
ちょっと工夫が必要の模様で頓挫中です。(←根性なし…)

シングルボードマイコンシリーズの中では最大容量のSRAMを装備したものの、有効活用できないでいます。^^)

コメント

  1. […] SBC6303ルーズキットを作成したときに、電大版TinyBASICのワークアドレスを一部修正して動かしてみましたが挙動が怪しく…. その解決策がわかったのでまとめます。 […]