## 第3章　内部システム構成

ビジュアルメモリは、一般のCPUとは異なり、アキュムレータやレジスタがすべてRAMにマッピングされています。 ここでは、CPU相当の機能と特殊機能レジスタ関連を説明します。

### 3-1　メモリ空間

ビジュアルメモリ用カスタムチップは、内部メモリ空間とフラッシュメモリ空間を持ちます。

内部メモリ空間は、ROM（64Kバイト）とRAM（512バイト）を持ちます。ROMは、通常命令実行ごとに順次アドレスがインクリメントされ、リニアに64Kバイトをアクセスできます。

RAMの000〜0FFH番地には、256バイトの汎用のRAMが割り当てられています。 また、100〜1FFH番地の256バイトには、特殊機能レジスタ（SFR）が割り当てられています。汎用のRAMは、2バンクで構成され、特殊機能レジスタ（SFR）のプログラムステータスワード（PSW）のビット1（RAMBK0）によりバンクが指定できます。 バンク0はスタック領域としても使用されます。 SFRには、アキュムレータ（ACC）、PSW、タイマー、入出力ポートなどが割り当てられ、完全メモリマップドI/Oの構成となっています。

フラッシュメモリ空間は、128Kバイトの空間を持ちます。 1バンクあたり64Kバイトの2バンクで構成されています。また、バンク0のみ、64Kバイトのアプリケーションプログラム領域として利用できます。ROMのシステムBIOSとフラッシュメモリ内のプログラムの切り換えは専用のマクロ命令（CHANGE）を使用します。 フラッシュメモリ空間へのデータの書き込みは、必ずOSプログラムを呼び出して行います。

フラッシュメモリへアクセスする場合は、ベースタイマーを含めすべての割り込みを禁止してください。ベースタイマーは、内蔵の時計機能で利用していますので、できる限り割り込み禁止時間を短くするように設計してください。 また、フラッシュメモリへの書き込みを行う際は、システムクロックを6分周のRC発振に設定してください。読み込みとベリファイを行う場合は、12分周のRC発振に設定してください。

ROM内のOSプログラムには、フラシュメモリへのデータ書き込み、データのベリファイ、読み出しプログラムがサブルーチンとして書き込まれています。

ビジュアルメモリ用アプリケーションは、必ずフラッシュメモリのバンク0へ格納されます。

▽ 3つのメモリ空間(図14)

[←] | [INDEX] | [→]