Skip to content

Conversation

@bbbbbr
Copy link
Contributor

@bbbbbr bbbbbr commented May 4, 2021

A simple diagram companion to the text. It might help people conceptualize how the tile vram is arranged. This came out of a conversation where someone was trying to understand it.

@ISSOtm
Copy link
Member

ISSOtm commented May 4, 2021

This is explained elsewhere. Besides, it should be formatted either as a table, or as a SVG.

@bbbbbr bbbbbr closed this May 4, 2021
@ISSOtm
Copy link
Member

ISSOtm commented May 4, 2021

Sorry, it sounds like I worded this too harshly. I think a diagram would be useful, I just think not in this form. Should we re-open this PR for improvement?

@bbbbbr
Copy link
Contributor Author

bbbbbr commented May 5, 2021

If someone else is up for re-making the diagram, sure. I'm not motivated enough to do an SVG. :)

@ISSOtm
Copy link
Member

ISSOtm commented May 5, 2021

I dunno, that's open to debate; I think a table is more accessible, but we could put more info in a SVG. Perhaps noting VRAM bank 1 as well, and arrows indicating what selects the "block"?

@avivace
Copy link
Member

avivace commented May 5, 2021

@bbbbbr Thanks! This looks useful, however, we are trying to move away from "ASCII arts" and diagrams in monospaced text.

But I do think a (markdown or HTML) table should be enough for this. Why an SVG, @ISSOtm ?

@avivace avivace reopened this May 5, 2021
@ISSOtm
Copy link
Member

ISSOtm commented May 5, 2021

I was just suggesting that alternative in case we wanted to add extra info / color-code the diagram, etc.

@bbbbbr
Copy link
Contributor Author

bbbbbr commented May 6, 2021

The ascii table is easy to convert to a markdown table. Although pure markdown doesn't seem to support colspan=2 for a shared BG/WIN Tiles header, which might look better.

Block VRAM Address Sprite Tiles BG/Win Tiles BG/Win Tiles
if LCDC.4=1 if LCDC.4=0
0 $8000 - $87FF 0 - 127 0 - 127
1 $8800 - $8FFF 128 - 255 128 - 255 128 - 255
or (-127 - 0)
2 $9000 - $97FF (unused) 0 - 127

Or...

Block VRAM Address Sprite Tiles BG/Win Tiles
if LCDC.4=1
BG/Win Tiles
if LCDC.4=0
0 $8000 - $87FF 0 - 127 0 - 127
1 $8800 - $8FFF 128 - 255 128 - 255 128 - 255
or (-127 - 0)
2 $9000 - $97FF (unused) 0 - 127

@avivace
Copy link
Member

avivace commented May 7, 2021

The ascii table is easy to convert to a markdown table. Although pure markdown doesn't seem to support colspan=2 for a shared BG/WIN Tiles header, which might look better.
Block VRAM Address Sprite Tiles BG/Win Tiles BG/Win Tiles
if LCDC.4=1 if LCDC.4=0
0 $8000 - $87FF 0 - 127 0 - 127
1 $8800 - $8FFF 128 - 255 128 - 255 128 - 255
or (-127 - 0)
2 $9000 - $97FF (unused) 0 - 127

Or...
Block VRAM Address Sprite Tiles BG/Win Tiles
if LCDC.4=1 BG/Win Tiles
if LCDC.4=0
0 $8000 - $87FF 0 - 127 0 - 127
1 $8800 - $8FFF 128 - 255 128 - 255 128 - 255
or (-127 - 0)
2 $9000 - $97FF (unused) 0 - 127

We can use HTML tables with no issues in pandocs, maybe that way you can put colspan?

@bbbbbr
Copy link
Contributor Author

bbbbbr commented May 7, 2021

Sure (copied from the markdown output). I looked around to see if there were special css styles that should be applied for tables but looks like the defaults cover it- is that correct?

Block VRAM Address Sprite Tiles BG/Win Tiles
if LCDC.4=1 if LCDC.4=0
0 $8000 - $87FF 0 - 127 0 - 127
1 $8800 - $8FFF 128 - 255 128 - 255 128 - 255
or (-127 - 0)
2 $9000 - $97FF (unused) 0 - 127

@avivace
Copy link
Member

avivace commented May 9, 2021

Sure (copied from the markdown output). I looked around to see if there were special css styles that should be applied for tables but looks like the defaults cover it- is that correct?
Block VRAM Address Sprite Tiles BG/Win Tiles
if LCDC.4=1 if LCDC.4=0
0 $8000 - $87FF 0 - 127 0 - 127
1 $8800 - $8FFF 128 - 255 128 - 255 128 - 255
or (-127 - 0)
2 $9000 - $97FF (unused) 0 - 127

Looks good to me! We can use this version

@avivace avivace merged commit a95e203 into gbdev:develop May 9, 2021
avivace pushed a commit that referenced this pull request May 10, 2021
* Use n-dashes for ranges

* Improve VRAM mapping format using colspan/rowspan

* Correct the VRAM tile table slightly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants