Keywords:
crossgcc gcc gdb hitach H8 H8/3048 AKI-H8 秋月 linux cygnus MAS3507 MP3 MPCD SCSI LC7883 WD33C93
MPCD計画

↑試作基板(製作中)
完成イメージ画像(汗)
Copyright(C)1998,1999 かしま
since Dec.1998
|
216.73.216.118
,
61100th
|
1999/11/26 UPDATED
|
- MPCDとは?
MPCDは SCSIインターフェースに接続された記憶デバイス(CDROM/HDD/MO)から MP3ファイルをロードして再生できる、ポータブルマイコンである。
海外では、CDから再生できるタイプのものも発表されているようである。
- 開発環境の構築
- ハードウェア
- 仕様
- 日立 H8/3048(16MHz) CPU
- 128KBフラッシュROM(CPUに内蔵)
- 2Mbyte(1Mbit×16bit DRAMx1) メインメモリ
- MAS3507 MPEGオーディオハードウェアデコーダー
- MPEG1/2 layer-2/3対応
- 対応ビットレート 8K/sec〜160K/sec
- 対応サンプリング周波数 8KHz〜48KHz
- DSPトーン(bass, treble)コントロール内蔵
- LC7883 8倍オーバーサンプリング16bit DAC
- DAC3550オーバーサンプリング32bit DAC
- WD33C93A SCSI-1ホストアダプタ(PIO転送 500Kbyte/sec以上)
- 外部 LINE入力(未定)
- 基板寸法 150x200x25(ラッピング配線時)、100x150x15程度(専用基板使用時)
- 電源 13.8V 5W以下
- プロトタイプ
- CPU部
- SCSI部
- MP3デコーダ部
- DAC/オーディオ部
- ソフトウェア
- ファームウェア
ファームウェアはCPU内蔵フラッシュメモリー(128KB)内に実装される。
- IPL
SCSI #0、任意のファイルシステムからファイル "mpcdcore"をメインメモリーにロードして実行する。
- SCSI BIOS
ASPI相等のサービス
- LCD BIOS
英数字フォントおよび1文字出力ルーチン
- 実行プログラム(mpcdcore)
プログラムの最大サイズはワークエリア・スタックを含めて2メガバイトである。
- ファイルシステム
- ファイルバッファ128Kbyte(128Kb/s 44.1KHz時、約8秒分)
- CDFS
- ISO9660ファイルシステム
- Jolietエクステンション
- FATFS
- MOディスク(スーパーフロッピー(FAT))
- ハードディスク/DirectAccess(FAT/FAT32)
- LCD漢字表示(SJIS漢字)
- 1文字出力
- ビットマップ表示
- 16ドット漢字フォント
- MP3 ID3 Ver1.0 TAGサポート
- 基本再生ルーチン
- 再生・一時停止
- 早送り・巻き戻し
- ランダム再生・曲単位リピート
- 区間リピート(最大ファイルバッファ分、もしくは無制限)
- ビートマニアモード(大暫定)
MP3データのフレーム番号とキー入力マップファイルを用意し、ビートマニアもどきゲームができる。(笑)
ただし、オーディオのミキシングができないので、あまり面白くない。
CDオーディオを垂れ流しにしてMP3チャンネルでサウンドを出すか。;(^^)
- MPCD記録フォーマット
- ファイルシステムはISO9660 + Joliet extention(マックユーザはもう知らん、その前にオレ様の言ってる事自体理解できまい)
- /00_index.m3u ファイルにリストされた ISO9660形式ファイル名の MP3ファイルをロードし再生する。(暫定)
- /00_index.lst ファイルにリストされた ISO9660形式ファイル名の MP3ファイルをロードし再生する。 2番目以降の引き数に半角カナ(キャラクタベースのLCDを使用する場合の配慮)で曲の叙述を記載する(暫定)
- 開発計画・記録
- テスト基板製作(99.4.28)
- メモリアクセステスト
- 周辺チップレジスタアクセステスト
- オーディオ回路テスト
- ハードウェアエンコーダ試行・I/Oルーチン作成
- モニタ経由で1MB程度の音楽を再生(99.8.14)
- 44.1KHz/128Kbpsにおける DEMANDピンの状態: ロジアナ波形(1) (2)
(1)はストリームの送りはじめの場面。 (2)は送り終わった後の場面。 (2)の状態から、ストリームを送りきった後も 100msは音が鳴っている事になる。
また、DEMANDピンはデータバッファがフルの状態以外にも、定期的に Loレベルになっている。
- SCSIインターフェース試行・I/Oルーチン作成
- Standard Inquiry試行
- raw read試行
- CDFS作成
- スーパーフロッピーFS作成
- 漢字対応LCD試行・I/Oルーチン作成
- ブートローダ作成
- コアプログラム調整(MOディスクにて作業)
- 参考文献