User talk:Natt/VRC6 Musings: Difference between revisions
(Created page with "== Mode 3 == The original VRC6 documents made a big deal about how mode 3 was good for using an extra RAM to get four screens of nametables, by setting up registers 6 and 7 a...") |
No edit summary |
||
Line 2: | Line 2: | ||
The original VRC6 documents made a big deal about how mode 3 was good for using an extra RAM to get four screens of nametables, by setting up registers 6 and 7 at right angles to the A10 override. Presumably, even without the extra RAM this would be useful for four screens of ROM nametables. Although, just how useful four screens of ROM nametables would be is another question. —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 14:40, 23 January 2014 (MST) | The original VRC6 documents made a big deal about how mode 3 was good for using an extra RAM to get four screens of nametables, by setting up registers 6 and 7 at right angles to the A10 override. Presumably, even without the extra RAM this would be useful for four screens of ROM nametables. Although, just how useful four screens of ROM nametables would be is another question. —[[User:Lidnariq|Lidnariq]] ([[User talk:Lidnariq|talk]]) 14:40, 23 January 2014 (MST) | ||
My analysis concluded that you couldn't do 4 screen ROM nametables with D=3. I'm not sure if I was right. Going from what's on the wiki page: | |||
Choose N=1 and D=3. The 1K bank mapping of PPU 0000:1FFF is: | |||
01234455 | |||
If M=0 or M=2, the 1K bank mapping of PPU 2000:2FFF is: | |||
6677 | |||
If M=1 or M=3, the 1K bank mapping of PPU 2000:2FFF is: | |||
6767 | |||
Either way, we clearly need P=1 in order to give possibility of 4 screen ROM nametables. Using the P substitution table, look at the possibilities: | |||
MMDD Banks P-Substitution Final Mapping in PPU 2000:FFFF | |||
0011 6677 PPU A11 (r6 & ~1),(r6 & ~1), (r7 | 1), (r7 | 1) | |||
0111 6767 PPU A10 (r6 & ~1), (r7 | 1),(r6 & ~1), (r7 | 1) | |||
1011 6677 Vcc (r6 | 1), (r6 | 1), (r7 | 1), (r7 | 1) | |||
1111 6767 Gnd (r6 & ~1),(r7 & ~1),(r6 & ~1),(r7 & ~1) | |||
So in any of these cases, you only get two distinct values for the 4 nametables. You would need to have a 6677 pattern with PPU A10 override, or 6767 pattern with PPU A11 override, but in the chart of substitutions given, it doesn't seem that that ever happens? [[User:Natt|Natt]] ([[User talk:Natt|talk]]) 16:29, 23 January 2014 (MST) |
Revision as of 23:29, 23 January 2014
Mode 3
The original VRC6 documents made a big deal about how mode 3 was good for using an extra RAM to get four screens of nametables, by setting up registers 6 and 7 at right angles to the A10 override. Presumably, even without the extra RAM this would be useful for four screens of ROM nametables. Although, just how useful four screens of ROM nametables would be is another question. —Lidnariq (talk) 14:40, 23 January 2014 (MST)
My analysis concluded that you couldn't do 4 screen ROM nametables with D=3. I'm not sure if I was right. Going from what's on the wiki page:
Choose N=1 and D=3. The 1K bank mapping of PPU 0000:1FFF is:
01234455
If M=0 or M=2, the 1K bank mapping of PPU 2000:2FFF is:
6677
If M=1 or M=3, the 1K bank mapping of PPU 2000:2FFF is:
6767
Either way, we clearly need P=1 in order to give possibility of 4 screen ROM nametables. Using the P substitution table, look at the possibilities:
MMDD Banks P-Substitution Final Mapping in PPU 2000:FFFF 0011 6677 PPU A11 (r6 & ~1),(r6 & ~1), (r7 | 1), (r7 | 1) 0111 6767 PPU A10 (r6 & ~1), (r7 | 1),(r6 & ~1), (r7 | 1) 1011 6677 Vcc (r6 | 1), (r6 | 1), (r7 | 1), (r7 | 1) 1111 6767 Gnd (r6 & ~1),(r7 & ~1),(r6 & ~1),(r7 & ~1)
So in any of these cases, you only get two distinct values for the 4 nametables. You would need to have a 6677 pattern with PPU A10 override, or 6767 pattern with PPU A11 override, but in the chart of substitutions given, it doesn't seem that that ever happens? Natt (talk) 16:29, 23 January 2014 (MST)