Changing nametable layout terminology on the wiki

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Changing nametable layout terminology on the wiki

Post by rainwarrior »

Pokun wrote: Wed Jul 06, 2022 1:49 pmI have no objections. The on concern I have is if places that says H or V will now be flipped and some veterans looking up a cartridge board type or something may make mistakes because they don't know that the terminology have flipped
I think in all cases if a board has a horizontal option, it also has a vertical, so it changing it doesn't really alter it.

Where it might take more comprehension is register bit definitions for mappers that can change at run-time, and the iNES definitions, but these too are minor.
blackbird
Posts: 4
Joined: Thu Jun 02, 2022 9:04 pm

Re: Changing nametable layout terminology on the wiki

Post by blackbird »

I first tried NES development and reading the wiki in April, and "mirroring" was confusing as a newcomer. Horizontal and vertical mirroring I got, but "four-screen mirroring" is confusing to read and "single-screen mirroring" seems more to do more with bankswitching than mirroring.
User avatar
Dwedit
Posts: 4924
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: Changing nametable layout terminology on the wiki

Post by Dwedit »

That's a good question, if you are using "arrangement" as the preferred terminology, what do you call Single Screen Mirroring?
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
Fiskbit
Posts: 891
Joined: Sat Nov 18, 2017 9:15 pm

Re: Changing nametable layout terminology on the wiki

Post by Fiskbit »

blackbird wrote: Wed Jul 06, 2022 6:22 pm I first tried NES development and reading the wiki in April, and "mirroring" was confusing as a newcomer. Horizontal and vertical mirroring I got, but "four-screen mirroring" is confusing to read and "single-screen mirroring" seems more to do more with bankswitching than mirroring.
Is there anything you think would have helped make these concepts clearer?
Dwedit wrote: Wed Jul 06, 2022 7:25 pm That's a good question, if you are using "arrangement" as the preferred terminology, what do you call Single Screen Mirroring?
I think single screen arrangement is about as reasonable as single screen mirroring. Either way, you're talking about building the 2x2 screen nametables from a single screen.

Four screen VRAM is often referred to as four screen mirroring, despite there being no mirroring. I think four screen arrangement makes more sense than mirroring.

Things get less intuitive with the unusual mirroring types on the wiki. I'd be willing to leave those as mirroring, but arrangement alternatives I'm currently thinking:
- Diagonal mirroring / Staggered arrangement:
A B
B A
- 3-screen diagonal mirroring / 3-screen staggered arrangement:
A B
C A
- 3-screen vertical mirroring / 3-screen horizontal arrangement:
A B
C B
- 3-screen horizontal mirroring / 3-screen vertical arrangement:
A B
C C
- L shaped mirroring / ???:
A B
B B
Drag
Posts: 1615
Joined: Mon Sep 27, 2004 2:57 pm
Contact:

Re: Changing nametable layout terminology on the wiki

Post by Drag »

Fiskbit wrote: Thu Jul 07, 2022 2:38 am Things get less intuitive with the unusual mirroring types on the wiki. I'd be willing to leave those as mirroring, but arrangement alternatives I'm currently thinking:
- Diagonal mirroring / Staggered arrangement:
A B
B A
- 3-screen diagonal mirroring / 3-screen staggered arrangement:
A B
C A
- 3-screen vertical mirroring / 3-screen horizontal arrangement:
A B
C B
- 3-screen horizontal mirroring / 3-screen vertical arrangement:
A B
C C
- L shaped mirroring / ???:
A B
B B
Consider what the most common/practical use cases are for nametable setups and optimize the terminology for those. :P

In other words, it doesn't seem like there's a lot of use in trying to come up with terminology that covers the common and the complete outlying cases. Plus, if you have access to three nametables, you'll still likely use horizontal/vertical mirroring, with the third nametable being used as a subscreen or a status bar than an actual physical nametable within the scroll-space.
User avatar
Ben Boldt
Posts: 1149
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: Changing nametable layout terminology on the wiki

Post by Ben Boldt »

When we are dealing with arrangement/mirroring, there are 2 important concepts:
  • How the end result is arranged, for the purpose of scrolling
  • How PPU memory addresses correspond to each nametable.
It seems that most suggestions lean towards one of those or the other, depending on perspective (programmer vs. emulator vs. hardware) or just personal preference. It is probably important to try to do both somehow. Even something so clear for arrangement, such as (v mirroring, h arrangement) doesn’t tell you anything about the PPU address space:

AB
AB

One just has to know that the address arrangement goes top-left, top-right, bottom-left, bottom-right. It seems reasonable that the address space may have gone top-left, bottom-left, top-right, bottom-right. You almost need a second one:

Address Arrangement:
01
23

Graphical Arrangement:
AB
AB

But then someone more hardware oriented might argue that the address arrangement is the one that should change and the graphical arrangement stays constant:

Address Arrangement:
01
01

Graphical Arrangement:
AB
CD

So the question is, how can we generalize address arrangement vs. graphics arrangement, in a way that is short and easy to say?

I think we just ought to have plenty of wiki links whenever we say mirroring or arrangement, and then a page that explains it clearly. Which we pretty much already have.
User avatar
Bregalad
Posts: 8056
Joined: Fri Nov 12, 2004 2:49 pm
Location: Divonne-les-bains, France

Re: Changing nametable layout terminology on the wiki

Post by Bregalad »

Fiskbit wrote: Thu Jul 07, 2022 2:38 am Four screen VRAM is often referred to as four screen mirroring, despite there being no mirroring. I think four screen arrangement makes more sense than mirroring.
You're right that, as far as I remember, the original name for calling this feature was "Four-screen VRAM". Only later was it referred, incorrectly, as "four-screen mirroring", even though there's no mirroring since there's enough RAM to not need any !
Things get less intuitive with the unusual mirroring types on the wiki. I'd be willing to leave those as mirroring, but arrangement alternatives I'm currently thinking:
- Diagonal mirroring / Staggered arrangement:
A B
B A
- 3-screen diagonal mirroring / 3-screen staggered arrangement:
A B
C A
- 3-screen vertical mirroring / 3-screen horizontal arrangement:
A B
C B
- 3-screen horizontal mirroring / 3-screen vertical arrangement:
A B
C C
- L shaped mirroring / ???:
A B
B B
Gosh, this part makes no sense. It would be better to simply say some mappers allow free mapping of nametables and/or a 3rd nametable.
Useless, lumbering half-wits don't scare us.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Changing nametable layout terminology on the wiki

Post by rainwarrior »

I think the current mirroring page is fine with those currently. Gives a quick gallery, explains that it's arbitrary, and then has a short list of real example cases.
Post Reply