### 2-2　スペック一覧

ここでは、ビジュアルメモリのスペック概要を掲載します。

#### メモリ関連

##### ■フラッシュメモリ

65536バイト：プログラム/データ領域
65536バイト：データ領域

##### ■ROM

16384バイト：プログラム領域
4096バイト：システムBIOS用プログラム領域

##### ■RAM

計算領域：256バイト×2バンク
表示領域：198バイト（LCD表示用XRAM）
作業領域：256バイト×2バンク（作業用RAM）

作業領域の作業用RAMは、Dreamcastとの接続時に専用インターフェイスの送受信バッファとして占有されます。

#### バスサイクルタイム/命令サイクルタイム

バスサイクルタイムはROMの読み出し時間を表します。

バスサイクルタイム | 命令サイクルタイム | システムクロック発振源 | 発振周波数 | 電源電圧 | その他
3.412μs | 6.824μs | RC発振 | 879.236KHz | 3.15〜3.8V | OCR7＝1s*1
91.553μs | 183.105μs | 水晶発振 | 32.768KHz | 3.15〜3.8V | OCR7＝1s*1

OCR7：発振制御レジスタ（OCR）のビット7で、システムクロック発生回路を制御し、サイクルタイムの制御を行います。「5.2　システムクロック発生機能」を参照してください。 OCR7＝1：システムクロックの1/6分周がサイクルタイムとして使用されます。 RC発振はその特性ゆえ発振周波数にバラつきがあります。基準は879.236KHzで、600〜1200KHzまでの誤差があります。

#### ポート

入出力ポート：2ポート（P1，P3）
入力ポート：1ポート（P7）
液晶表示（LCD）駆動用セグメント出力ポート：48本
LCD駆動用コモン出力ポート：33本

#### LCDコントローラ

表示デューティ：1/33デューティ
表示バイアス：1/5バイアス
液晶インストラクション：表示/非表示
グラフィック表示：縦32ドット×横48ドット＋アイコン4種類

#### シリアルインターフェイス

8ビットシリアルインターフェイス×2チャネル（同期式）
8ビットボーレートジェネレータ内蔵（ボーレートジェネレータは2チャネルシリアルインターフェイスで共用）
Dreamcast専用インターフェイス（スタートパターン/エンドパターン自動判別）

同期式シリアルインターフェイスとDreamcast専用シリアルインターフェイスの同時使用はできません。

#### タイマー

##### ■タイマー0

16ビットタイマー/カウンタ
8ビットプログラマブルプリスケーラ内蔵

##### ■タイマー1

16ビットタイマー/パルスジェネレータ
ベースタイマー：クロック選択機能

32.768kHz水晶発振、システムクロック、タイマー0のプログラマブルプリスケーラ出力より選択
時計用500msオーバーフロー信号発生機能（32.768kHz水晶発振選択時）
976μs、3.9ms、15.6ms、62.5msのいずれかの周期ごとのオーバーフロー信号発生機能（32.768kHz水晶発振選択時）

#### 割り込み

割り込みには、13要因、10ベクトルがあります。

1. 外部割り込みINT0：Dreamcast専用インターフェイスへの接続検出
2. 外部割り込みINT1：低電圧割り込み
3. 外部割り込みINT2：タイマー/カウンタT0L（タイマー0　下位8ビット）
4. 外部割り込みINT3：ベースタイマー
5. タイマー/カウンタT0H（タイマー0　上位8ビット）
6. タイマーT1L（下位8ビット）、タイマーT1H（上位8ビット）
7. シリアルインターフェイス0（SIO0）
8. シリアルインターフェイス1（SIO1）
9. Dreamcast専用インターフェイス
10. ポート3

ビジュアルメモリの時計機能は、0.5秒ごとに発生するベースタイマー割り込みをカウントすることで実現しています。また、ポート3割り込みはレベル割り込みになっており、ユーザーがボタンを押し続けている間、割り込みがかかり続けます。 タイマーを用いて頻繁に割り込みを発生させたり、ポート3のレベル割り込みを受け付けると、内蔵時計が遅れる場合があります。 また、ベースタイマー割り込みを利用する場合は、GHEAD.ASM内のラベルtimer_ex_exit直後でユーザー側ハンドラをCALLするようにしてください。ユーザー側ハンドラは、その処理時間を最小限にし、0.5秒ごとにかかる割り込みを確実に処理できるように設計してください。

時計を遅らせることのないように、アプリケーションの設計段階から注意をしてください。

これらの割り込みに優先順位をつけることが可能です。

割り込みは、低レベル、高レベル、最高レベルの3レベルの多重割り込みが可能です。外部割り込みINT2、タイマー/カウンタT0L（タイマー0　下位8ビット）から、ポート3の11の割り込み要因は、割り込み優先レジスタにより低レベル、高レベルの割り込み優先が指定できます。また、外部割り込みINT0、INT1は、低レベル、最高レベルの割り込み優先が指定できます。

#### スタック領域

RAMバンク0の80H〜0FFHまでの128バイトです。このうち内蔵時計で20バイトを消費します。スタックは80Hから上位に向って消費されます。

#### 高速乗除算命令内蔵

16ビット×8ビット（実行時間：7命令サイクルタイム）
16ビット÷8ビット（実行時間：7命令サイクルタイム）

#### 3種類の発振回路

RC発振回路：システムクロック（基準879.236KHz：誤差600〜1200KHz）
水晶発振回路：時計、システムクロック、液晶表示用クロック（32.768KHz）

#### スタンバイ機能

CPUをHALTモードにします。

命令の実行を停止するモードであり、リセットまたは割り込みの発生により解除可能です。ビジュアルメモリのスリープ状態は、このモードです。

内蔵時計機能のみ動作します。SLEEPボタンでモードが解除されます。

#### フラッシュメモリのスペック

メモリ種別：EEP-ROM（電気的に書き変え可能なROM）
容量：128Kバイト
書き換え方法：OSプログラム使用
書き換えブロックサイズ：128Kバイト
消去/書き込み電圧：3.15〜3.8V
書き換え可能回数：5万回（FFH書き込み、00H書き込みをそれぞれ1回とする）

Ta＝25℃、プログラムでのメモリ管理による。）

プログラムメモリ空間：64Kバイト
システムBIOS（ROM）/アプリケーション（フラッシュメモリ）の切り換え

CHANGE命令を使用する。リセット時はシステムBIOSが起動。

[←] | [INDEX] | [→]