VRC6 nametable

Japanese-language board. ファミコン向けの日本語のフォーラム

Moderator: Moderators

Post Reply
User avatar
naruko
Posts: 66
Joined: Mon Feb 09, 2009 9:10 am
Location: リムルダール Rimuldar
Contact:

VRC6 nametable

Post by naruko »

「VRC VI VRAM,VROM バンク仕様について」をみて、わかったこととわからなかったことがありますので記載します。不明点は確認が必要ですが、現時点ではなにもしていません。(気が向いたら調査します)

[register global assignments]
CPU address $b003 の register bitfield が記載されていますが、下記と解釈した方が良さそうです。

Code: Select all

bit7   backup RAM (0:disable, 1:enable) #global
bit5:2 depened on bit1:0 #global
bit1:0 VRAM, VROM bank mode #global
[mode 0]

Code: Select all

bit5   must be set 1 (inactive register?)
bit4   must be set 0 (PPU 0x2000-0x2fff is RAM)
bit3:2 nametable A10 output select (0:PPU A10, 1:PPU A11, 2:0, 3:1)
bit4=1 にして nametable 領域から ROM データがでるか確認した方が良さそうです。

[mode 1]

Code: Select all

bit5   charcter ROM capacity expansion bit (1:max 2Mbit, 0:max 4Mbit)
bit4   nametable memory select 0:chracter ROM, 1:cartridge VRAM or system VRAM?
bit3:2 inactive register
mode1,2,3 はカートリッジ内部の PPU 側の ROM (Charcter ROM) を charcter と nametable として兼用可能です。VRAM もバンク制御ができるようになっているようです。
RAM はファミコン本体の VRAM またはカートリッジ内部に増設した VRAM の片方を使用できると思います。VRC6 の pinout を見る限り、VRAM A10 専用の出力がないので、市販品のカートリッジでは 25pin の charcter A10 が VRAM A10 に配線されているものと思われます。(要確認)

カートリッジ内部に VRAM を増設した場合はファミコン内部 VRAM を無効にするので、カードエッジの VRAM CS# は +5V にするものと思われます。

VRAM バンクは bank0-bank7 までの記述がありますが、"外部VRAM 64K-SRAM 使用時"のときであって、 2Mbit まで搭載が可能できるかもしれません。

[mode 1-0, charcter memory max 2Mbit]
1-0 の 1 は bit1:0, 0 は bit5 を指します。

PPU memory map

Code: Select all

0x0000-0x07ff CR0 / charcter ROM bank #0
0x0800-0x0fff CR1 / charcter ROM bank #1
0x1000-0x17ff CR2 / charcter ROM bank #2
0x1800-0x1fff CR3 / charcter ROM bank #3
0x2000-0x23ff CR4 / nametable ROM/RAM bank #0
0x2400-0x27ff CR5 / nametable ROM/RAM bank #1
0x2800-0x2bff CR6 / nametable ROM/RAM bank #2
0x2c00-0x2fff CR7 / nametable ROM/RAM bank #3
charcter ROM address assignment with CR0 to 3

Code: Select all

A17:11 = CRx7:1
A10 = PPU A10 (CRx0 is discarded)
A9:0 = PPU A9:0
nametable ROM/RAM address assignment with CR4 to 7

Code: Select all

A17:10 = CRx7:0
A9:0 = PPU A9:0
[mode 1-1, charcter memory max 4Mbit]
bit5 = 1 の場合の仕様が公式資料ではよくわからなくて、実際に動かさないとわかりません。

PPU memory map

Code: Select all

0x0000-0x1fff mode 1-0 と同じらしい
0x2000-0x2fff よくわからない
charcter ROM address assignment with CR0 to 3

Code: Select all

A18:11 = CRx7:0, (=Chracter A17:10)??
A10:0 = PPU A10:0??
No. 17/18 に (ハード的に外部で接続の変更が必要)と書かれているのは ROM への address bus は 1bit shift する必要があるからだと思われる。

sheet 18/18 の 「VROM バンクについて」の記述では name table ROM bank を 0x400 byte 単位で管理できるような記述があるが、私はうまく理解できない。

「VRAM について」は脱字があって、本来は「VRAM バンクについて」だと思われる。配線方法で定義が変えられると書いてあるので address bus を shift するか否かを基板設計者に任せているものと思われる。

[mode 2]

Code: Select all

bit5   must be set 1 (inactive register?)
bit4   nametable memory select (0:ROM, 1:RAM)
bit3:2 nametable register select
PPU memory map (charcter area)

Code: Select all

0x0000-0x03ff CR0 / charcter ROM bank #0
0x0400-0x07ff CR1 / charcter ROM bank #1
0x0800-0x0bff CR2 / charcter ROM bank #2
0x0c00-0x0fff CR3 / charcter ROM bank #3
0x1000-0x17ff CR4 / charcter ROM bank #4
0x1800-0x1fff CR5 / charcter ROM bank #5
charcter ROM address assignment with CR0 to 3

Code: Select all

A17:10 = CRx7:0
A9:0 = PPU A9:0
charcter ROM address assignment with CR4 and 5

Code: Select all

A17:11 = CRx7:1
A10 = PPU A10
A9:0 = PPU A9:0
[mode 2-0 (2=bit1:0, 1=bit3:2)]
PPU memory map (nametable area)

Code: Select all

0x2000-0x23ff CR6 / nametable RAM/ROM bank #0
0x2400-0x27ff CR7 / nametable RAM/ROM bank #1
0x2800-0x2bff CR6 / nametable RAM/ROM bank #2
0x2c00-0x2fff CR7 / nametable RAM/ROM bank #3
[mode 2-1]
PPU memory map (nametable area)

Code: Select all

0x2000-0x23ff CR6 / nametable RAM/ROM bank #0
0x2400-0x27ff CR6 / nametable RAM/ROM bank #0
0x2800-0x2bff CR7 / nametable RAM/ROM bank #2
0x2c00-0x2fff CR7 / nametable RAM/ROM bank #3
nametable ROM/RAM address assignment with CR6 and 7

Code: Select all

A17:10 = CRx7:0
A9:0 = PPU A9:0
[mode 2-2, 2-3]
未記載。2-2 では CR6, 2-3 では CR7 が nametable にが割り当てられているかもしれない?

[mode 3]
(消しました)
User avatar
naruko
Posts: 66
Joined: Mon Feb 09, 2009 9:10 am
Location: リムルダール Rimuldar
Contact:

Re: VRC6 nametable

Post by naruko »

[mode 3]
モード2のキャラバンク、VRAMバンク、VROMバンクの機能と同様。ただし、画面構成が異なる。

Code: Select all

bit5   must be set 1
bit4   nametable memory select (0:ROM, 1:RAM)
bit3:2 nametable register selection
PPU memory map (charcter area)

Code: Select all

0x0000-0x1fff mode2 と同じ
[mode 3-0, 0 is bit3:2]
PPU memory map (name table area)

Code: Select all

              even    odd
0x2000-0x23ff CR6   / CR6-1
0x2400-0x27ff CR7   / CR7-1
0x2800-0x2bff CR6+1 / CR6
0x2c00-0x2fff CR7+1 / CR7
[mode 3-1]

Code: Select all

              even    odd
0x2000-0x23ff CR6   / CR6-1
0x2400-0x27ff CR6+1 / CR6
0x2800-0x2bff CR7   / CR7-1
0x2c00-0x2fff CR7+1 / CR7
[mode 3-2]

Code: Select all

              even    odd
0x2000-0x23ff CR6+1 / CR6
0x2400-0x27ff CR7+1 / CR6
0x2800-0x2bff CR6+1 / CR7
0x2c00-0x2fff CR7+1 / CR7
[mode 3-3]

Code: Select all

              even    odd
0x2000-0x23ff CR6   / CR6-1
0x2400-0x27ff CR6   / CR6-1
0x2800-0x2bff CR7   / CR7-1
0x2c00-0x2fff CR7   / CR7-1
[考察]
No.12/18 には「モード2のキャラバンク,VRAMバンク,VROM バンクの機能と同様。ただし画面構成が異なる。」とある。
No.13/18から16/18 のバンクデータが偶数/奇数の時の説明に、VRAM1からVRAM4とあるが VRAM0 から VRAM3 の誤記と判断した。左側は VRAM, VROM の物理アドレスで PPU のメモリアドレスではないと判断した。右側の VRAM BANK の名称が左側と重複するがこれは nametable (= PPU address) と判断した。
CR6 と CR7 のレジスタに書かれる値は加減算が発生しているが、bit0 を反転させるだけなのか、bit7:0 まで反映されるのかが不明なので要調査。

No.16/18 の末尾の文字がかすれている。
VROM バンクについても VRAM バンクと同様、上Xの
計算方法で画面に出力されます。
又、内部 VRAM XXXXXX考えらXX
読めない文字は自信はないが下記だと思われる。
VROM バンクについても VRAM バンクと同様、上記の
計算方法で画面に出力されます。
又、内部 VRAM についても同様に考えられます。
ここでの内部VRAMはファミコン内部VRAMの意味で、接頭辞がないVRAMはカートリッジ内部増設RAMだと思われる。
User avatar
naruko
Posts: 66
Joined: Mon Feb 09, 2009 9:10 am
Location: リムルダール Rimuldar
Contact:

Re: VRC6 nametable

Post by naruko »

mode 別 PPU memory map 一覧を作ってみました。
vrc6.png
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: VRC6 nametable

Post by zzo38 »

I do not understand what is being mapped at PPU $3000-$3FFF.
(Free Hero Mesh - FOSS puzzle game engine)
User avatar
Dwedit
Posts: 4922
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: VRC6 nametable

Post by Dwedit »

I'm guessing nothing special mapped there, so mirrors of 2000-2FFF, except for the palette?
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
Post Reply