電子おみくじ

電子おみくじなる物を作っていました。
一昨日の記事に書いていたやつです。
まぁ仕掛けは簡単で乱数で分岐させて表示内容(大吉or吉or凶)を変化させているだけです。
んでもって一昨日から進歩したのは最初にメニュー画面が出るようになったことと、
音声再生に成功したことなんですけど、
音声データを入れたおかげで1つのマイコンに単品しか入らなさそうなので、
あまりメニューを実装した意味がないかなぁといった感じです。
今のところ音声データは非圧縮8KHzサンプリングなので、音質向上とデータ量削減を狙って、
簡単な(A)DPCMを使って圧縮をかけても良いかなと思うのですが、
自分の技量的に実装に時間がかかりそうな割に効果が薄い様な気がするので、実装は見送りになる気がします。
普通のゲームだったらDPCMを実装する前にまず矩形波音源とかを実装した方がメモリを食わないし堅実な選択肢だとも思いますし。
しかし、次に作ろうと思っているのが音系のソフト(ゲームではない)なので先にそれを作ってそれの一部をフィードバックするような形で
矩形波音源を実装することになるかなぁと思っています。
ちなみに、ハードウェア自体はメモリを食うような物を作ることを見越して、
現在16KByteのメモリを64KByteまで増やせるようには作ってあります。(要はピン互換なマイコンが64KByte品まであるって事なんですけどね)
さらに外部とのインターフェース部分のポート(UART、I2C)を可能な限り使えるようにしてあったりするので、
通信とか音声用拡張メモリの搭載とかは不可能ではなかったりします(管理人のモチベーションが続くかは別の話 笑)

仕様

ざっと今までの所の仕様を書いてみます。
CPU ATMEL ATmega164P 20MHz
プログラムメモリ 16KByte(CPUに内蔵)
RAM 1KByte(CPUに内蔵)
ボタン 8個 (十字キー、A,B、START、SELECT)
液晶 84x48 モノクロ
音源 PWM DAC で8bit PCMを出力
電源 CR2032 x1 3V

・・・とまぁ、こんな感じです。
ちなみにCPUだけは初代GBに勝っている感じです。(音源部も実装次第では勝てるかも?)
まぁ、市販品と比べても仕方ないですけどね。
そもそも液晶が小さい時点であんまりゲームする気起きないでしょ・・
ってなると新たなる液晶が欲しくなる気がしますが、技量が追いつかない今日この頃であります。