Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #6634 > unrolled thread

Maybe this isn't the right place to post....

Started byChad <cdalten@gmail.com>
First post2016-05-20 14:59 -0700
Last post2016-05-24 10:55 -0700
Articles 3 — 3 participants

Back to article view | Back to comp.programming


Contents

  Maybe this isn't the right place to post.... Chad <cdalten@gmail.com> - 2016-05-20 14:59 -0700
    Re: Maybe this isn't the right place to post.... luser droog <mijoryx@yahoo.com> - 2016-05-23 22:20 -0700
    Re: Maybe this isn't the right place to post.... commodorejohn <commodorejohn@gmail.com> - 2016-05-24 10:55 -0700

#6634 — Maybe this isn't the right place to post....

FromChad <cdalten@gmail.com>
Date2016-05-20 14:59 -0700
SubjectMaybe this isn't the right place to post....
Message-ID<144f28ed-5b1e-4982-911d-f753ef0e535d@googlegroups.com>
I'm learning how to program the 8 bit nes game console that was popular in the 80s. Anyways,at the following link 

http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=4291 

It shows the pixel color index is taken from both the Pattern Table and the Attribute Table. Why split it up like this? Ie, why not have all the bits in one table? 

[toc] | [next] | [standalone]


#6653

Fromluser droog <mijoryx@yahoo.com>
Date2016-05-23 22:20 -0700
Message-ID<3149c112-82c8-46bb-b75c-dd489b3d4566@googlegroups.com>
In reply to#6634
On Friday, May 20, 2016 at 4:59:05 PM UTC-5, Chad wrote:
> I'm learning how to program the 8 bit nes game console that was popular in the 80s. Anyways,at the following link 
> 
> http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=4291 
> 
> It shows the pixel color index is taken from both the Pattern Table and the Attribute Table. Why split it up like this? Ie, why not have all the bits in one table? 

It's part of "the way things used to be done". That probably doesn't explain
much, but consider this unrelated example that popped into my head.

The original Manchester Machine, one of the earliest stored-program computers
was one of the first to use cathode-ray tubes (tv-screens). But it used them
as its RAM. That's right, the memory was actually stored in a bank of screens
that you could look at and see the bits. But they took that idea I just
explained and did it all weird-like: They had 40 screens, and made the 
machine operate over a 40-bit word so the first word of memory was stored
as 1-bit on each screen, all in the same position.

It makes no sense from the point of view of structured programming and
abstract design, but it makes perfect sense from the point of view of
wiring up the data-bus. You're going to need 40 wires at least to connect
to the 40 screens, so by spreading a word over each screen, you can 
fetch all 40 bits simultaneously and have them all available to the
arithmetic unit at the same time.

So, I suspect a similar thing is going on with the Nintendo's 6502 and
the way it's mapping memory to the hardware devices. There may be
two separate chips dealing with the patterns and attributes separately,
and so separate interfaces made it easier to access the hardware for
the designers. 

[toc] | [prev] | [next] | [standalone]


#6658

Fromcommodorejohn <commodorejohn@gmail.com>
Date2016-05-24 10:55 -0700
Message-ID<cd0ac6cc-596b-4b27-8d40-f97f7af278f2@googlegroups.com>
In reply to#6634
On Friday, May 20, 2016 at 2:59:05 PM UTC-7, Chad wrote:
> I'm learning how to program the 8 bit nes game console that was popular in the 80s. Anyways,at the following link 
> 
> http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=4291 
> 
> It shows the pixel color index is taken from both the Pattern Table and the Attribute Table. Why split it up like this? Ie, why not have all the bits in one table? 

Simple: memory. If you wanted the same bitdepth (4-bit) but just the pattern table, you'd double the size of the pattern table from 4KB to 8KB; whereas by using 2-bit tiles with a 2-bit palette index, the total size is 4KB + 240B. Plus, you wouldn't have a palette index per-tile anymore, so any color variants of individual tiles would have to be stored as duplicates in the pattern table, taking up extra space.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.programming


csiph-web