Future Driver

メモリーマップ

68000から見たアドレス空間

「R/W」はそのアドレス範囲に対する「読み込み可能/書き込み可能」を表しています。 アドレス範囲によっては読み込み可能の場合でも、無意味なデータを返します。 アドレス範囲によっては読み込み不可の場合に読み込むとロックアップします。 書き込み不可の場合も同じです。
種別 R/W アドレス範囲 (Byte) 説明
ROMR/- 0x000000 - 0x0000FF 68000割り込みベクターテーブル
(詳細は旧モトローラか現フリースケールの資料を参照)
ROMR/- 0x000100 - 0x00010F "SEGA MEGADRIVE" 又は "SEGA GENESIS"
ROMR/- 0x000110 - 0x000117 メーカーコード
ROMR/- 0x000118 - 0x00011F 製造日付
ROMR/- 0x000120 - 0x00014F ゲームタイトル (国内)
ROMR/- 0x000150 - 0x00017F ゲームタイトル (海外)
ROMR/- 0x000180 - 0x000182 "GM" (ゲーム用) 又は "AI" (教育用)
ROMR/- 0x000183 - 0x00018A 製品コード
ROMR/- 0x00018B '-'
ROMR/- 0x00018C - 0x00018D 製品バージョン
ROMR/- 0x00018E - 0x00018F ROMチェックサム
ROMR/- 0x000190 - 0x00019F サポートデバイス
ROMR/- 0x0001A0 - 0x0001A3 ROMスタートアドレス
ROMR/- 0x0001A4 - 0x0001A7 ROMエンドアドレス
ROMR/- 0x0001A8 - 0x0001AF RAMスタートアドレス
ROMR/- 0x0001B0 - 0x0001B3 バックアップデバイスの種類 (無し, SRAM, EEPROM)
ROMR/- 0x0001B4 - 0x0001B7 バックアップデバイスのI/Oスタートアドレス
ROMR/- 0x0001B8 - 0x0001BB バックアップデバイスのI/Oエンドアドレス
ROMR/- 0x0001BC - 0x0001EF モデム情報
ROMR/- 0x0001F0 - 0x0001FF リージョンコード, 'J' (Japan), 'U' (US), 'E' (Euro), 複数表記可能
ROM R/- 0x000200 - 0x3FFFFF ユーザー領域(4MBytes = 32Mbits)
プログラムコードとデータコードはここに配置する
-/-
8bit I/OR/W 0xA00000 - 0xA01FFF Z80のRAM
(8kBytes)
(予約) R/W 0xA02000 - 0xA03FFF (Z80のRAMを増設した場合に有効?)
8bit I/O R/W 0xA04000 YM2612 表レジスター
8bit I/O R/W 0xA04001 YM2612 表データ
8bit I/O R/W 0xA04002 YM2612 裏レジスター
8bit I/O R/W 0xA04003 YM2612 裏データ
-/-
8bit I/OR/- 0xA10001 本体バージョン レジスター
8bit I/OR/W 0xA10003 コントロール1 データ レジスター
8bit I/OR/W 0xA10005 コントロール2 データ レジスター
8bit I/OR/W 0xA10007 拡張ポート データ レジスター
8bit I/OR/W 0xA10009 コントロール1 コントロール レジスター
8bit I/OR/W 0xA1000B コントロール2 コントロール レジスター
8bit I/OR/W 0xA1000D 拡張ポート コントロール レジスター
8bit I/OR/W 0xA1000F コントロール1 シリアル送信データ レジスター
8bit I/OR/W 0xA10011 コントロール1 シリアル受信データ レジスター
8bit I/OR/W 0xA10013 コントロール1 シリアル コントロール レジスター
8bit I/OR/W 0xA10015 コントロール2 シリアル送信データ レジスター
8bit I/OR/W 0xA10017 コントロール2 シリアル受信データ レジスター
8bit I/OR/W 0xA10019 コントロール2 シリアル コントロール レジスター
8bit I/OR/W 0xA1001B 拡張ポート シリアル送信データ レジスター
8bit I/OR/W 0xA1001D 拡張ポート シリアル受信データ レジスター
8bit I/OR/W 0xA1001F 拡張ポート シリアル コントロール レジスター
-/-
8bit I/O -/W 0xA11000 カートリッジのメモリーアクセス方式 (0 = SRAM/ 1 = DRAM)
-/-
8bit I/O R/W 0xA11100 Z80 HALT (R: 0 = HALT状態, R: 1 = 進行中, W: 0 = HALT解除, W: 1 = HALT要求)
-/-
8bit I/O -/W 0xA11200 Z80 リセット (W: 0 = リセット, W: 1 = リセット解除)
-/-
16bit I/OR/W 0xA12000 リセット/INT2 (メガCD接続時のみ有効)
16bit I/OR/W 0xA12002 メモリー モード (メガCD接続時のみ有効)
16bit I/OR/W 0xA12004 CDCモード (メガCD接続時のみ有効)
16bit I/OR/W 0xA12006 水平割り込みベクター (メガCD接続時のみ有効)
16bit I/OR/- 0xA12008 CDCホスト データ (メガCD接続時のみ有効)
16bit I/OR/W 0xA1200C ストップ ウォッチ (メガCD接続時のみ有効)
16bit I/OR/W 0xA1200E コミュニケーション フラグ (メガCD接続時のみ有効)
16bit I/OR/W 0xA12010 - 0xA1201F コミュニケーション コマンド (メガCD接続時のみ有効)
16bit I/OR/- 0xA12020 - 0xA1202F コミュニケーション ステータス (メガCD接続時のみ有効)
-/-
16bit I/O -/W 0xA14000 - 0xA14003 TMSS (起動後、制限時間内に "SEGA" をセットする)
-/-
8bit I/O -/W 0xA130F1 メモリーマッパー コントロールレジスター (MMC搭載カートリッジのみ有効)
8bit I/O -/W 0xA130F3 メモリーマッパー バンク1 レジスター (MMC搭載カートリッジのみ有効)
8bit I/O -/W 0xA130F5 メモリーマッパー バンク2 レジスター (MMC搭載カートリッジのみ有効)
8bit I/O -/W 0xA130F7 メモリーマッパー バンク3 レジスター (MMC搭載カートリッジのみ有効)
8bit I/O -/W 0xA130F9 メモリーマッパー バンク4 レジスター (MMC搭載カートリッジのみ有効)
8bit I/O -/W 0xA130FB メモリーマッパー バンク5 レジスター (MMC搭載カートリッジのみ有効)
8bit I/O -/W 0xA130FD メモリーマッパー バンク6 レジスター (MMC搭載カートリッジのみ有効)
8bit I/O -/W 0xA130FF メモリーマッパー バンク7 レジスター (MMC搭載カートリッジのみ有効)
-/-
16bit I/O R/W 0xC00000 VDP データポート
16bit I/O R/W 0xC00004 VDP コントロールポート (W: コントロールレジスター設定, R: Z80のバンクエリア)
16bit I/O R/- 0xC00008 VDP HVカウンター
8bit I/O -/W 0xC00011 SN76489 データポート
16bit I/O -/W 0xC0001C VDP ディスプレイ レジスター (非公式, 表示方法を変更出来る)
-/-
(予約) R/W 0xE00000 - 0xFEFFFF (本体の68000用RAMを128kBytes以上に増設した場合に有効)
RAM R/W 0xFF0000 - 0xFFFFFF 68000の64kBytes RAM
(メガCD動作時はこの領域にしかメイン68000コードを配置出来ない)
旧メモリーマップ

カートリッジ領域

68000の割り込みベクター (アドレス 0x000000〜0x0000FF) の次の領域はカートリッジ情報 (アドレス 0x000100〜0x0001FF) です。
その次の領域 (アドレス 0x000200以降) がカートリッジの残り領域です。
これら全て (アドレス 0x000000〜0x3FFFFF) でカートリッジ全体となります。

Z80に関する領域 - Z80用RAM

Z80は68000によってリセットされるとアドレス 0x0000 (68000側から見るとアドレス 0xA00000) からスタートします。
このアドレスから8KBytesの領域はRAMなので、 68000側でZ80をHALTさせてからアドレス 0x0000〜0x1FFF (68000側から見ると0xA00000〜0xA01FFF) にZ80のバイナリコードを書き込み、 書き込み終わったらZ80をリセットする事で、Z80の動作を開始出来ます。

Z80に関する領域 - ROMカートリッジ

Z80もカートリッジROM全域にアクセス可能で、 バンクセレクトにより68000の16MBytesあるメモリー空間を全てカバーしています。
バンクセレクトはZ80自身による アドレス 0x6000 への書き込みで行います。
1バンクは32KBytesで、512バンクあり、 バンクセレクトされたROM領域はアドレス 0x8000〜0xFFFF にマッピングされます。

Z80に関する領域 - その他

アドレス 0x4000〜0x4003 (68000側から見るとアドレス 0xA04000〜0xA04003) がFM音源、 アドレス 0x7F11 (68000側から見るとアドレス 0xC00011) がPSG音源です。
アドレス 0xA10000 〜 0xA1001F にアクセスする際は、 アクセスする前にZ80をHALTさせないと正常な動作にならない事があるそうです。



inserted by FC2 system