ビデオドライバについて

 Microchip PIC24Fの SPIとタイマー割込を使用した Software ビデオ (NTSC) ドライバと文字表示を行うためのフォントドライバです。

 ビデオドライバは、モニタ出力 (通常の NTSC出力) とスーパーインポーズ出力に対応しています。スーパーインポーズ出力を行う場合は、外部のビデオ信号が必要となります。PIC24F内蔵の割り込みを使っているため非常に高速に描画することができ、フォアグラウンドの処理を邪魔しません (まさに OpenSSMが良い例でしょう)。また省電力機能にも対応しており、ビデオ表示を行いながら動的に CPUクロックを上げる/下げることもできます。

 フォントドライバは、FONTX2の半角文字フォントに対応しています。これまでいろいろな方が作成したフォントを、そのまま ROMに入れることができます。また、どんな変態フォントサイズ(^^; でも表示できます。

monitor_setup_ntsc.jpgsuperimpose_setup_ntsc.jpg

仕様

基板

ビデオ出力NTSC 4:3 ノーマルモード コンポジット白黒出力
RCAコネクタ メス
ビデオ出力は、黒色背景に白文字で描画されます
スーパーインポーズ入力NTSC 4:3 ノーマルモード コンポジットカラー/白黒出力
RCAコネクタ メス * 1個
NTSC以外 (PALなど) の映像入力は未対応
安物カメラでは信号波形がかなり汚いものがあり、画面が乱れる場合があります
スーパーインポーズ出力NTSC 4:3 ノーマルモード コンポジットカラー/白黒出力
RCAコネクタ メス * 1個
スーパーインポーズされた文字や図形は、白色で描画されます

ファームウェア

ビデオ/スーパーインポーズ出力同時使用不可
標準ビデオ解像度256×192ピクセル
32文字×12行
8×16ピクセルフォント (ぱうフォント)
最大ビデオ解像度*1288×224ピクセル
36文字×28行
8×8ピクセルフォント (美咲フォント)
ビデオオプション*2左右反転表示(バックカメラ等のため)
白黒反転表示
フォントドライバFONTX2ドライバ (ASCII文字のみ)
FONTX2に対応したフォントならば入れ替え可能

ソースコード

  1. libvideo.c
  2. libvideo.h
  3. libfontx2.c
  4. libfontx2.h
  5. table.c
  6. table.h
  7. types.h

回路図

 OpenSSM Rev.Aの回路図から、ビデオ信号に関する部分を抜粋しました。次のポイントに注意してください.

  1. 抵抗は、なるべく高精度品(±1%程度)を選定してください
  2. ダイオード D1は、Vref = 0.7V品を選定してください
  3. 電源は、+3.3V (VDD) と +5Vの 2つ必要です
  4. ビデオ出力とスーパーインポーズの回路は独立しています。どちらか1つだけ使うことも出来ます
schematic.png

ビデオ出力の概要

スーパーインポーズの概要

グラフの描き方 / グラフ関数の使い方

メータの描き方 / メータ関数の使い方

トラッカーの描き方 / トラッカー関数の使い方


*1 ファームウェアを書き換える必要があります
*2 ファームウェアを書き換える必要があります