各写真はクリックすると拡大します
回路はシンプルで作りやすいです
実験だけでしたらケースやコネクタは必用ないでしょう
また基板は片面べーク基板やプレッドボードで十分でしょう
ソフトはかなり濃いものと思います(テクニックの勉強になります)
下記でダウンロード
回路図(BSCH) KAIRO.LZH ( 8 KB)
ソフト AVR_ASM.LZH (44 KB)
原型の
PIC版もご覧ください
電池ホルダとケースは今回新規に調達しましたが
後はあり合わせの部品です
ですから変なピン数の多いコネクタが付いています
製作時間は皆さんのようには早く有りませんが
以下のようにできました
・回路検討作図 BSCH 6時間
・基板カットケース加工 3時間
・部品調達(名古屋大須) (3時間)PIC版と共用
・基板配線 3時間
・ケース内配線 (2時間)PIC版と共用
=12時間
片手間なので日数で一週間
(このまま、真似をすれば1日でできるでしょう...無保証!)
ソフトは私の頭の回転がスコブル悪いので
時間数は内緒??
・レジスター割付
・I/O割付
・スタックアドレス設定
・タイマー0設定
・割込ベクタ設定
・SUBはW=R−Wに注意(AVRはW=W−R)
・INCはZだけ変化に注意(AVRはZ、S、V、N)
・PICと同じニーモニックをはそのまま移植
・存在しないニーモニックは組み合わせて作る
・ロジックの合理性に合わせて組み替える
・コンパイルエラーの無くなるまで移植作業
オシロスコープによる確認
・クロック発信確認
・HSYNCの確認
・VSYNCの確認
・PDINとPDOUTの確認
・左右の縦枠
TVにVIDEO、AUDIOを接続して確認
・水平同期
・垂直同期
・画像安定
・音声(ブー)
総合確認
・マシンサイクルとクロックの違いによるタイミング調整
・ハイスコア確認 Hi 0000 P. 0000
・残りボールの隙間
・RCALLをCALLにしてもアセンブラーはエラーにならないCPUではエラー
・RETIとSEI、RETとは同じ機能
・POP,POPとRETは割込処理内では、うまくいかない 1ワード命令で割込待機するとよい
・IN,によるSPLは同期が乱れる(処理時間がかわるだけ)
・OUTによるSPLは暴走(処理時間がかわるだけ)
・HSGL 割込待ちの基準点
原作の瀬戸口さんも書かれていますが
結局これに一番時間を費やすことになった
結論はPICは割込受付に時間差は無いが
AVRはマシンサイクルによって違いが有るようなので
割込待ちは1マシンサイクル命令で受け付けて
RETIからは同じ時間で復帰することであった
(ソースコードを見ると苦労の残骸が残っている)
この調整にはデジタルオシロスコープで遅延トリガーを
かけて見ると1マシンサイクル(250nsec)の変化がよく分かります
NOP一個でタイミングが変わるのでマシンサイクルの
関係はゲームの画面でもよく分かります
一通り動くようですがまだまだバグが有ると思います
損害責任は一切負えませんが不具合が有りましたら一報いただけると幸いです
感想
もっと簡単に考えていましたら結構時間がかかってしまいました
それでも昔6800,6502,Z80のCPUよりもI/O
制御に関しては優秀のような気がします
開発ツールも当時(約25年前)とは雲泥の差が有りますので
ハンドアセンブルとテスターとアナログオシロではもっと時間を費やしたでしょう
でも当時の方が若かったからもっとバイタリティとスピードが有ったかもしれません
久しぶりに昔を思い出して楽しんでしまいました
単三電池2本で動くなんて感激です
デバッグをしなければ簡単に作れるワンチップマイコン入門製作
としてもおもしろいと思います
結果は孫のおもちゃになりました {^。^}
追加仕様
SW入力を追加してあったのでインチキ得点アップ
のためにボール追加をしました
スリープウェイクアップではゲームの続行ができます
そんなの邪道か?? ...原作の瀬戸口さんごめんなさい
あくまでも実験です
2003.12.23
長野県のkunio.h(林)さんより
ATtiny26を使ったブレークアウトゲーム製作しました
という報告をいただきました
http://www.cek.ne.jp/~kunio.h/breakout.html