Names used for tilemaps by original documentation?

Discussion of development of software for any "obsolete" computer or video game system. See the WSdev wiki and ObscureDev wiki for more information on certain platforms.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Names used for tilemaps by original documentation?

Post by lidnariq »

We've established that the TMS9918, SMS, Genesis, and Game Gear VDPs refer to their tilemaps as Name Tables; "Name" being jargon either from or propagated by TI meaning a mapping of number to image:
Each byte entry in the Name Table is either the name of or the pointer to a pattern definition in the Pattern Generator Table. The upper 5 bits of the 8-bit name identify the color group of the pattern. [in Graphics 1]
Other ones:
VirtualBoy uses "Background Segments"
MDA and CGA used "Display Buffers"
Intellivision used a "Background Table" (BACKTAB) specifying "cards" (not "characters" or "patterns")

I'm only curious about what original contemporary documentation called them, not any names that have since been used.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Names used for tilemaps by original documentation?

Post by Pokun »

Nintendo generally just uses the term "screen" I think. On SNES it's abbreviated as SC, and in Family BASIC V3 the two commands "SCREEN 0" and "SCREEN 1" are used for switching the two nametables. On the other hand they also use terms like SPRITE for sprites in Family BASIC which they never do in other official documents (it's always object or OBJ), so the terminology is probably partly due to compatibility or similarity with other BASIC variants (SCREEN 0 on MSX BASIC sets the TMS9918 screen mode "TEXT" for example).

Nintendo aren't always consistent even within the same document though. But as I've only seen English documents, it's hard to tell if it's because of translations or if the original Japanese documents are like that as well.

On Game Boy the term is usually "BG Display". "Window" is used for a second non-scrollable BG layer with more strict display limitations (funny since "window" means something else on SNES and Virtual Boy).

MSX uses mostly TMS9918 terms I think, but there are a LOT of documentation and not everyone may always use the same terms. Official documents for the Yamaha 9938 (MSX2 video chip) do use TMS9918 terms though (Name Table, Pattern Generator Table etc).

PC Engine uses the term Background Attribute Table or BAT. It's a tilemap with Pattern Codes (tile index) and Color Codes (palette index) for each BG character. No tile flipping or any other attributes. On a related note, the sprite table is called Sprite Attribute Table or SAT and contains Pattern Codes, Color Codes, flipping and size flags.

Neo Geo (MVS, AES and Neo Geo CD but not Neo Geo Pocket) has a single non-scrollable tiled layer called the FIX area. Since it's displayed on top of everything else (which are all sprites) it can hardly be called a background layer, but it works the same way (the term "background" is actually used for the single-colored backdrop on Neo Geo). It is normally used as a HUD or anything that needs to display simple text, like menus. Also the sprite system is called 3D-Line Sprite and sprites (which are huge) actually have their own tilemaps. This tilemap doesn't seem like it has any specific name though, it's just "3D-Line Sprite characters".


In my personal notes I like to call it Background Screen (or BG Screen), Nametable (or Name Table) or Tilemap depending on context.
User avatar
Bregalad
Posts: 8056
Joined: Fri Nov 12, 2004 2:49 pm
Location: Divonne-les-bains, France

Re: Names used for tilemaps by original documentation?

Post by Bregalad »

Maybe you should point that this thread is a split of the conversation from that thread, and maybe mods should move the original messages derailing into this subject (names) in that thread, too.

As for the name, I agree mirroring is the most confusing Nesdev-related name, especially 4-screen mirroring which means actually no screen is being mirrored at all. WTF.

I don't have any issue with the "name table", even though tilemap might be more accurage. I am used to call this "nametable" when it comes to NES and "tilemap" when it comes to other systems - those names for so long that it doesn't bother me. Also the NES also has the properties of having unique name and attribute tables combined in one VRAM area so this is quite unique as far as I can tell. Most other systems would have either a LSB/MSB system where some bits are tile index and other colours etc, or have two completely separate maps.

Sprites is also a confusing term in that it is often used as a generic word for "graphics asset", including metasprites and perhaps even bosses drawn with BG and sometimes assets the BG itself (metatiles). At least on the NeoGeo this has the merit to be always accurate :) And that system doesn't need a name for it's tile maps since there's none :)
User avatar
TmEE
Posts: 960
Joined: Wed Feb 13, 2008 9:10 am
Location: Norway (50 and 60Hz compatible :P)
Contact:

Re: Names used for tilemaps by original documentation?

Post by TmEE »

MD documentation uses "Pattern name table" in particular not just "name table". in my early stuff I called the tilemaps "pattern tables", the "name" part never stuck to me. I'm not sure when I began to call things tilemaps rather than whatever else the official documentation uses, I certainly find tilemap making much more sense. Similarly sprite/object tables etc. refer to as sprite list, partially because it just rolls off the tongue faster.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Names used for tilemaps by original documentation?

Post by Pokun »

But if you leave out "name" it sounds like it's the same as the "pattern generator table" which it's not. It's a table of pattern names after all, it doesn't hold the pattern definition data.

Bregalad wrote: Mon Mar 02, 2020 9:04 am the NES also has the properties of having unique name and attribute tables combined in one VRAM area so this is quite unique as far as I can tell. Most other systems would have either a LSB/MSB system where some bits are tile index and other colours etc, or have two completely separate maps.
I was going to say that TMS9918 also has a separate name table which is why it's using that term, but now I'm checking the documentation and it indeed has color attributes mixed into the name table. Lidnariq was right in that other thread.

Bregalad wrote: Mon Mar 02, 2020 9:04 am Sprites is also a confusing term in that it is often used as a generic word for "graphics asset", including metasprites and perhaps even bosses drawn with BG and sometimes assets the BG itself (metatiles).
Yeah but that's basically because sprite has become such a commonplace term that it's used in non-technical talk for any 2D object that is either mobile or at least a distinguishably separate object in a game (like an icon in a status bar).

Bregalad wrote: Mon Mar 02, 2020 9:04 am At least on the NeoGeo this has the merit to be always accurate :) And that system doesn't need a name for it's tile maps since there's none :)
As I said above, Neo Geo has both the FIX area tilemap and a kind of 1-dimensional tilemap for each and every sprite. In that sense I guess you could think of the Neo Geo as having 381 scrollable mini tilemaps of up to 32 16x16 tiles each. Nah they are sprites.
User avatar
TmEE
Posts: 960
Joined: Wed Feb 13, 2008 9:10 am
Location: Norway (50 and 60Hz compatible :P)
Contact:

Re: Names used for tilemaps by original documentation?

Post by TmEE »

The "generator" part never made sense to me, it just refers to graphics/tiles or perhaps VRAM as whole... only generator is the video pipeline itself of which you have no direct control over... tiles -> tilemap -> video output generator.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Names used for tilemaps by original documentation?

Post by Pokun »

Well it's the generation definition data, in that sense it's generated. The palette is also called Color Generator (CG on SNES) for the same reason, although it's defined with just one byte. PC Engine has different formats for BG and sprite patterns, so the pattern generator tables are called Character Generator (CG) and Sprite Generator (SG) respectively. Confusing when Nintendo and SNK uses the term "character" for all patterns, sprite or BG.

Speaking of palette, that is another thing that is all over the place. There's "the palette" for the whole color generator and subpalettes, and sometimes it's just divided as several palettes. Then there's the "master palette" which is hardly a palette at all (and not a memory area), but rather the pool of all the colors the video chip can generate. It should be "paint bucket shelf". :)
93143
Posts: 1717
Joined: Fri Jul 04, 2014 9:31 pm

Re: Names used for tilemaps by original documentation?

Post by 93143 »

It "generates" the data in the sense that it serves as a data source for the graphics processor. The video chip doesn't generate anything; it only processes data to produce a final product. The source of the data must be elsewhere, and in a flowchart of the rendering process it makes some sense to refer to the data as being "generated" at the point where the relevant video RAM is read.

That's how I see it, anyway.
User avatar
TmEE
Posts: 960
Joined: Wed Feb 13, 2008 9:10 am
Location: Norway (50 and 60Hz compatible :P)
Contact:

Re: Names used for tilemaps by original documentation?

Post by TmEE »

As a hardware orientated person, seeing data as the "generator" makes no sense, it is the hardware that generates the output using data supplied. "generation table" would make a whole lot more sense, hardware generates output using the input that guides generation of that output.
93143
Posts: 1717
Joined: Fri Jul 04, 2014 9:31 pm

Re: Names used for tilemaps by original documentation?

Post by 93143 »

It's a little weird, I admit, but I'm trying to get my head around why someone would use the term that way. The fact that it doesn't make sense to you is beside the point. It must have made sense to somebody or it wouldn't be called that. And it is probably impossible to blame a bad translation, or the imperfect English of a Japanese designer, when the term originated with Texas Instruments - it seems pretty certain that at least one native English speaker thought "Pattern Generator Table" was a good descriptive name.

I maintain that it is possible to see it from this perspective: the contents of the video signal are implicit in the contents of video memory, given the known functionality and state of the video chip. Therefore the video chip doesn't really "generate" the picture from an information-theory standpoint; it only decompresses it from the provided data. And from the chip's perspective, the data is essentially "generated" on demand; it doesn't matter exactly how the data source turns an address into tile or colour data, only that it does.

...

I suppose CGRAM could simply mean the RAM used by a part of the S-PPU called the "Colour Generator". But I'm not sure this fits "Pattern Generator Table" quite as neatly...
User avatar
TmEE
Posts: 960
Joined: Wed Feb 13, 2008 9:10 am
Location: Norway (50 and 60Hz compatible :P)
Contact:

Re: Names used for tilemaps by original documentation?

Post by TmEE »

It now dawned to me that it could be "table for the pattern generator" or "table of the pattern generator", data for the hardware that generates patterns (or at least that's how it could work in my language anyway). This makes it make sense for me, while the data way of thinking makes me think how all the files on my computer are generators of all sorts which is even more weird lol.
This would work with the GCRAM too, RAM for the color generator hardware (DAC and related bits).
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Names used for tilemaps by original documentation?

Post by Pokun »

I agree with you both. I also thought generator was a strange word at first since it's basically just a memory area with data and not some kind of machine that produces patterns.

It would be interesting to know if these terms are older than the TMS9918 though. Everyone says that Texas Instrument coined the term "sprite" for it, but what about "name", "character", "pattern", "generator" etc? I read somewhere that the first video processor that used sprites was Signetics 2636 Programmable Video Interface (PVI), and they used the term "object" for sprites. I guess it was a common term for sprites which Nintendo adopted and officially stuck with it even when everyone else started calling them sprites. Sprites is of course older than the PVI but it was supposedly generally made using discrete components before that.

Back to topic, Nintendo seldom uses the term "Name Table" (they use BG Screen or SC), but they do use "Name" in the SNES documents. Registers $210B and $210C are used to set "Name Base Address" for the 4 background layers, which by they mean the addresses of the pattern generator tables.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Names used for tilemaps by original documentation?

Post by Pokun »

Answering a post from another thread:
rainwarrior wrote: Mon Jan 30, 2023 8:26 pm
Pokun wrote: Mon Jan 30, 2023 2:39 pmNintendo and possibly Sega both officially use this terminology [nametable]...
I'm curious about examples. The only place I can remember Nintendo using "name" in a related way was in the SNES manual where it refers to "CHR name" for a tile's index and "name base address" as the position of CHR index 0. This seems compatible with the concept of a "nametable" but I don't think I've seen an example of them ever using that term specifically.

Sega definitely does use "name table" in its official developer manual, but this terminology comes directly from TI.

TI also used the term "pattern table" for the concept which Nintendo seems to only refer to as CHR, but we similarly seem to have adopted for NESDev (but less pervasive in its use).
I can't recall if Nintendo ever used the full word "nametable" anywhere, but they indeed used "name" in both the Famicom and SNES documents (in the case of both tiles and sprites in the latter).
In the Famicom devdocs on page "NES_CUSTOM_CPU_PPU_0022" Nintendo/Ricoh mentions OAM and say "VPOS, NAME, ATTB, HPOS", but on two pages previously they said "キャラクタNo." ("character No.") for the same OAM byte.
But yeah, a nametable is a table of tile names so the term makes a lot of sense. By contrast, a sprite attribute table ("OAM" in Nintendo terms) contains much more than sprite names so it's not really called a "sprite nametable" or anything like that.

The pattern table is also often called "pattern generator table" or "character generator table", and pattern is often synonymous to character/tile. For example TI call the background the "pattern plane" IIRC, and Nintendo's "CHR" is just an abbreviation of "character" and does not necessarily have the narrow meaning it usually has on Nesdev (which is almost exclusively CHR ROM/RAM and pattern table contexts).
I like to use "pattern" when I want to refer to this memory area or its data and not just the name/index or characters/tiles as a concept.
Confusingly sprites uses "sprite patterns/characters/tiles". A character/pattern/tile and a sprite are two different concepts (one is in a grid and one is free-floating), and I prefer to keep them apart with different terms. But that means it's hard to refer to the pattern data of a sprite without using a synonym of tile. I typically use "character pattern" for the tile pixel data and "sprite pattern" for the sprite pixel data, but this partly clashes with TI's terminology.

Hudson bases most of their terminology in the PC-Engine chips on the TI TMS9918 VDP terms, but they don't use "nametable" or "name". Name is "Character Code" in the case of tile names and "Pattern Code" in the case of sprite names for some reason. The nametable is called "Background Attribute Table" or BAT, the pattern generator table is "Character Generator" or CG (clashes with Nintendo's use for CG which is Color Generator, AKA the palette memory) and the sprite pattern generator table is simply "Sprite Generator" or SG.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Names used for tilemaps by original documentation?

Post by rainwarrior »

Pokun wrote: Wed Feb 01, 2023 8:07 amIn the Famicom devdocs on page "NES_CUSTOM_CPU_PPU_0022" Nintendo/Ricoh mentions...
We have Famicom developer documents? Can you give a name under which they can be found? I couldn't find anything on archive.org with a few searches, and I couldn't spot anything like this referenced from the wiki.

I did find this thread but the linked documents seem to be long gone.

As for the term "sprite", it probably was originated at TI but it quickly proliferated. I read about "sprites" in many books and magazines about several different computers in the 80s.

A pattern or character "generator" does not seem unusual to me as a term for the hardware device that consumes the pattern/character data and produces the resulting signal or stores the resulting bits/bytes to a buffer, etc. Applying it to the pattern/character data area itself in a term like "pattern generator table" seems like it might help make that connection if you're trying to describe how the rendering hardware works, e.g. I wouldn't be surprised to see it in one of those block/flowchart diagrams commonly used in developer manuals. (It almost wants a possessive "pattern generator's table"... though I would never suggest using that term.)

However, when just describing a memory map, adding "generator" to "pattern table" is probably unnecessary and cumbersome? Probably more confusing than clarifying for the modern reader.
Pokun wrote: Wed Feb 01, 2023 8:07 amA character/pattern/tile and a sprite are two different concepts (one is in a grid and one is free-floating)
I don't agree with this. Character/pattern/tile is just source data, not a grid. Sprite itself is the free-floating concept, but the non-free-floating alternative is the tilemap/nametable. None of character/pattern/tile implies grid by itself, and in most of the systems relevant to our discussion sprites are explicitly made from them. TI stuff refers to "pattern" data for sprites. The SNES docs refer to "CHR" data for sprites.
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Names used for tilemaps by original documentation?

Post by nesrocks »

I have contacted someone on twitter who claimed to have old official NES documents and they said they'd scan it when they had a chance to get them from under a pile of boxes, but still nothing. I wonder if they forgot about it, they don't care about it enough to bother or if they got worried about legal implications of leaking it, as old as it is.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
Post Reply