SBC6800暫定版お披露目

6800が動く世界最小のシングルボードコンピュータSBC6800はもうとっくに完成しているが、プリント基板にちょこちょこ改良したいところが見付かって公開が先延ばしになっている。このままだと永遠に公開できないので、完成している証拠として、とりあえず現状のデータ一式を公開する。これで今すぐ下に示すコンピュータが出来上がる。でも、もう少し待ってくれたらもっといいデータをドキュメント付きで公開できると思う。

SBC6800rev3

関心がある人はデータ一式をこちらのOneDriveからダウンロードしていただきたい。SBC6800R3.zipはスイッチサイエンスに直接アップロードできるガーバーデータ。mc6800crgen.X.zipはPIC12F1822をクロックジェネレータにするプロジェクト。同じくosc1536.X.zipはボーレートジェネレータのプロジェクト。いま取り組んでいる改良はROMを2716から27256までどれでも取り付けられるようにすること。もし2764だけでいいなら現状でまったく問題がない。

カテゴリー: 6800 | 10件のコメント

DRAMとWindowsと心臓がヘン

DRAMの動きかたがおかしい件、信号のタイミングを徹底的に調整した上で、その信号に加えてアドレスとデータの波形をとった。もう面倒臭いから何色がどの信号かは説明を省略するが、信号のタイミングとアドレスの切り替わりとデータの出力とリフレッシュが完璧。それなのに6803の4.9152MHzで一部のアドレスがデータの書き換えに失敗する。ただし2.4576MHzだと正常。ちなみに、6803が何MHzで動いてもDRAMが動作するタイミングは同じ。成功と失敗でどこが違うのか、まったくわからない。

seijo_dram

ところで、DRAMのテストプログラムを書いたり波形を観測したりしているWinodws10のパソコンが、更新したあとネットにつながらなくなった。トラブルシューティングをしても問題を特定できない。Windows、お前もか。フィードバックをお寄せくださいというのだけれどネットにつながらないのだからそれは無理。この件は、再起動すればつながることが分かったから当面はそれで我慢するとしよう。

seijo_net

DRAMとWindowsに続いて心臓の動きかたがおかしくなった。ときどきカックンとくる感じがするので脈をとってみた。「脈拍計が完成」で作った脈拍計に指を乗せ、2400円の格安オシロOSC001で読み取る。OSC001は測定可能な周波数帯域の上限が頑張っても300kHzくらいだというので評判が悪いが、脈拍は余裕でとれる。むしろ、周波数が低すぎて画像が更新されるまで30秒ほど待たなければならない。

seijo_beat_ok

ほらほら、やっぱり脈が飛んでいるよ。このままじゃ死んじゃうと思って医者へ行ったが、このくらいは(データは見せていない)、特段の異常ではないらしい。それは本当か! 何かストレスがありますか? と訊くので自信をもってありますと断言。そんなやりとりのあげく、安定剤を出すか地域拠点病院に紹介状を書くか選べということになり、地域拠点病院のほうを選んだ。

seijo_beat_ng

地域拠点病院で血液検査とレントゲンと心電図をとってすべて正常。健康体そのものですと太鼓判を押しやがった。こうして、明らかに異常が起きているのに測定するとどこも悪くないという事象が3つ揃った。もしかしたらご心配おかけするかもしれないけれど、お見舞いのコメントは謹んでご辞退いたします。返信のしようがないから。

カテゴリー: 6800, DRAM | コメントをどうぞ

DRAMが、一応、動いた

DRAMの動きかたがおかしい件、同じ41464を使ったCOMMODOR64の回路図を参考にして、#OEを常時有効とし、#WE(こちらが優先)だけで制御する方式に変更。DRAMボードはもはや修正不可能ないほどツギハギだらけなので、別のプリント基板で作り直す。10枚まで同じ値段というシステムは、この種の試行錯誤に向いている。ただし、ICソケットとか積層セラミックコンデンサとか、安いけれど湯水のように使う部品が懐に響く。

DRAM_ok1

結果はぜんぜん変化なし。手弁当の開発は資金が枯渇しかけている。あとひとつ6803の速度を半分に落として動かしてみて、ダメだったら諦めることにした。現在、6803には4.9152MHzの水晶が付いている。それを2.4576MHzに取り換える。この簡単な話が意外な大仕事になった。今どきそんな低い周波数は需要がないらしく、著しく入手が困難。千石電商とサンエレクトロと日米商事は売り場にケースがあるのに中身がカラ。ケースがない若松通商で店員さんに尋ねて、ようやく入手することができた。

DRAM_ok2

速度を半分に落としたから通信速度も9600bpsから4800bpsに半減。端末をつないで電源を入れると、あ、テストプログラムが完走し、ようやくOKの2文字を見ることができた。テストプログラムはこのあとスタックをDRAMに設定して割り込みで文字の入出力を繰り返す。すべて正常。何もかもうまくいったとき人間の発する言葉は「あ」だけなんだね。

DRAMtest_ok

タイミングをうまく調整すればたぶん普通の速度で動くと思う。はじめからタイミングだけの問題だったかもしれないので、これまでに試したいろいろな回路を遡って見直したい。やりたいことはたくさんあってカネがない。資産家の令嬢と交際したい。

カテゴリー: 6800, DRAM | 2件のコメント

DRAMの試行錯誤

DRAMの動きかたがおかしい件、まだ検証していない「心当たり」のうち、いちばん怪しいのはアドレスが確定する前にRASが下りているんじゃないかということ。うまい具合にゲートがふたつ余っている。その間に時定数を入れてRASを50μ秒ほど遅らせてみた。もう部品の差し替えでは対応できなくて、プリント基板はとうとう空中配線になった。

sbc6803_dram_test

結果はぜんぜん変化なし。ちょっと頭を冷やすか。下に示す回路はマイクロシステムの68系CPU用64K DRAMカード(クリックすると別窓で拡大表示する)。これが動いて、ボクのDRAMボードが動かない、その理由をじっくり考えてみたい。

6809-2964-DRAM

正直、ここまで苦労するとは思っていなかった。確かにDRAMは厄介な部品だが、Z80で何回も動かしたことがある。たいてい1発で動いたし、そうでなくてもすぐ原因を突き止めることができた。今回のやつは波形が完璧で動作がおかしいという最悪の状態。超常現象のせいにして現実逃避しようとする自分を叱咤激励しているところ。

カテゴリー: 6800, DRAM | 7件のコメント

DRAMいまだ混乱中

DRAMの動きかたがおかしい件、MUXの立ち上がりからCASの立ち下がりまでの間隔を広げた。計算値と実測値はとうの昔に掛け離れており、どんな部品でどのくらい広がるかはやってみなければわからない。部品を繰り返し抜き差ししているうちにプリント基板が傷んできたので、この際、取り外しやすい取り付け方をする。測定用の電線も付けっぱなし。耐え難く美観を損なうが、うまく動くまでの辛抱だ。

dram_test2

結果を下に示す。DRAMをアクセスしたあとリフレッシュサイクルが続いた例。2チャンネルのオシロスコープで測定したものを合成した。赤がE、黄がRAS、緑がMUX、青がCAS。全部のタイミングがほぼ理想的。MUXの立ち上がりからCASの立ち下がりまでの間隔は、もう少し広げられるが、計算値から掛け離れすぎてしまい、計算どおりに動いたとき大変なことになるので、このあたりにとどめておく。

dram_timing2

テストの方法を少し変えた。DRAMに$55を書き込み、それを読み出して、$55でなかったら、アドレスと値を表示する。結果は下のとおり。相変わらず読み書きを盛大に失敗しているが、今度はちょっとした法則が見られる。失敗するアドレスは下位バイトが$13、$95、$96、$FAの順、読み出した値は$00または$FF。まったくのでたらめよりは前進。

dram_term2

電子工作の神様がヒントをくれた感じ。でも神様、ヒントじゃなくて答えを教えて。

カテゴリー: 6800, DRAM | 3件のコメント

DRAMの動作を調べた

DRAMの動きかたがおかしい件、テストプログラムを丹念に調べたが間違いが見当たらない。実際、SRAMをテストすると正常に終了する。これはいよいよオシロスコープで波形を調べなければならない。その準備としてDRAMボードの裏側から電線を引き出し、信号名のラベルを貼る。DRAMボードを1発で動かす才能はないけれど、こういう面倒臭い作業を愚直にやりとげる才能がある。

dram_test_view

結果を下に示す。2チャンネルのオシロスコープで測定したものを合成した。赤がE、黄がRAS、緑がMUX、青がCAS。MUXが出たあと短い間隔でCASが出ており、アドレスが切り替わる途中でラッチしている恐れがある。どこで計算を間違えたのだろう。そもそもこんなアナログっぽい回路が計算どおりに動くものなのか。

dram_timing

タイミングの修正はコンデンサか抵抗か、せいぜい2個の部品を取り替えるだけ。ただし、スルーホールから部品を引き抜くのが大仕事。そしてまた結果を調べるために電線を引き出してオシロスコープにつなげなければならない。そういう才能はあるといったが、何回も繰り返すとなると話が違う。もう無理。ああ面倒臭い。

カテゴリー: 6800, DRAM | 5件のコメント

DRAMの動きかたがヘン

6800を動かす過程で助太刀を頼んだ6803のコンピュータは、本来、DRAMボードをテストするために作ってあったもの。そのDRAMボードが完成。41464を2個動かすのにTTLを8個も使っている。容量は64Kバイトだけれど諸般の事情で$2000~$7FFFの24Kバイトだけが有効。6803のコンピュータにつないでとりあえず$2000の読み書きに成功。設計に苦労したとても複雑な回路に何の間違いもないなんて、何かの間違いに決まっている。

SBC6803_DRAM_review
回路図のPDFを別窓で開く

DRAMのテストプログラムを書いて走らせた。全ビットを反転してみて、もし反転しなかったら、アドレス、現状の値、正しい値を並べて表示する。ほらほら、すごい勢いで反転しなかったところが表示される。でもこれちょっとヘン。現状の値と正しい値が同じなのに表示されているところがある。怪奇現象の再来か、それともプログラムのバグか。

SBC6803_DRAM_error

というわけで、またまた混乱中。幸か不幸か思い当たるところは山ほどある。さしあたりテストプログラムのテストから始めよう。

カテゴリー: 6800, DRAM | コメントをどうぞ