Jump to content

Photo

Why are there 5 colors in ANTIC mode 4 and 5?


17 replies to this topic

#1 slx OFFLINE  

slx

    Stargunner

  • 1,789 posts
  • Location:Vienna, Austria

Posted Tue Mar 26, 2019 4:26 AM

ANTIC modes 4 and 5 will replace the PF2 color with PF3 when the high bit of the character is set. Any ideas why this does not change ALL of the colors? Three bits (one high bit and two color bits for each pixel) would allow for eight different combinations. Is this caused by some other limitations of ANTIC or rather a design choice?

 



#2 Rybags ONLINE  

Rybags

    Gridrunner

  • 16,089 posts
  • Location:Australia

Posted Tue Mar 26, 2019 4:35 AM

GTIA generates the graphics from data which Antic sends it over the AN0-AN2 bus.  PM graphics are either stuffed into the graphics registers by the CPU or auto-loaded by GTIA during the expected DMA cycles.

 

Since there's only 8 possible ANx bus states and 3 of them are used for HSync, HSync and init to hires, and VSync, that only leaves 5 possible colour codes which is the maximum # of playfield colours in the non-GTIA modes.

 

GTIA modes work because they halve the resolution and combine the ANx bus codes from 2 successive cycles, and use the colour registers in different ways.

 

I guess it'd have been nice to have the extra colours but for all colours to change in a cell wouldn't necessarily be as handy as you'd think.



#3 slx OFFLINE  

slx

    Stargunner

  • Topic Starter
  • 1,789 posts
  • Location:Vienna, Austria

Posted Tue Mar 26, 2019 5:09 AM

I guess it'd have been nice to have the extra colours but for all colours to change in a cell wouldn't necessarily be as handy as you'd think.

 

Thanks for the explanation! Having all the colors change would probably be a bit like the color attributes used (AFAIK) on the Sinclair and C64.



#4 orpheuswaking OFFLINE  

orpheuswaking

    Quadrunner

  • 5,818 posts
  • Lone Raider Time!
  • Location:Indianapolis, Indiana, USA

Posted Tue Mar 26, 2019 12:19 PM

Because 6 is just ridiculous :D



#5 emkay OFFLINE  

emkay

    Quadrunner

  • 9,793 posts
  • What's up?
  • Location:Holy Grail ;)

Posted Tue Mar 26, 2019 1:35 PM

I'm not really happy with Rybags's explanation.
It's given that the available colors were a result by GTIA shown as an overlay to the bits, Antic puts over the bus.
In GTIA Mode, you get the pixel width for 16 different colors, GTIA Mode "10" even uses the GTIA registers that had been limited to 9 colors.
In theory, the high bit from ANTIC could have set the relevant bits for up to 8 different colors , chosen from the palette, in character mode.

Edit:

Actually it could have been 7 colors, not 8, as the background color needed to be unchanged there.

Edited by emkay, Tue Mar 26, 2019 2:05 PM.


#6 thorfdbg OFFLINE  

thorfdbg

    Dragonstomper

  • 800 posts

Posted Tue Mar 26, 2019 4:03 PM

I'm not really happy with Rybags's explanation.

 

But it is technically accurate. With 3 lines available to communicate color and state from antic to gtia, and 3 encodings taken, only 5 are left.

 

Any additional colors would have required an additional ANx line, which would have required a change in the chip pinout.



#7 Rybags ONLINE  

Rybags

    Gridrunner

  • 16,089 posts
  • Location:Australia

Posted Tue Mar 26, 2019 6:19 PM

GTIA knows nothing of the high character bit, or even what graphics mode is in use.

 

It only knows from the HSync command previous if it's to do hires or multicolour.  And from it's own PRIOR register, whether or not to do the GTIA modes.



#8 emkay OFFLINE  

emkay

    Quadrunner

  • 9,793 posts
  • What's up?
  • Location:Holy Grail ;)

Posted Wed Mar 27, 2019 1:16 AM

GTIA knows nothing of the high character bit, or even what graphics mode is in use.
 
It only knows from the HSync command previous if it's to do hires or multicolour.  And from it's own PRIOR register, whether or not to do the GTIA modes.


Technically, it could have changed more registers than one, setting the high bit , not just one. The decision is odd and possibly done by having the (incomplete) CTIA first, and GTIA wouldn't show the "old" graphics correctly.

Edited by emkay, Wed Mar 27, 2019 1:20 AM.


#9 Rybags ONLINE  

Rybags

    Gridrunner

  • 16,089 posts
  • Location:Australia

Posted Wed Mar 27, 2019 1:37 AM

The limitation is in the number of bits of AN bus primarily and # of colour registers in GTIA secondarily.

 

Realistically a bigger AN bus would have been nice and the bandwidth exists to be able to do 16 colours in 160x192 without any limitations.  The DMA load would be enormous but the end result well worth it.

But they didn't choose to go that way.  The GTIA modes as they are were half-baked since the paletted mode only provides 9 colours.  What would have probably been more useful would be to have 8 colours with the other 8 just inverted or half-bright versions of the first 8.



#10 emkay OFFLINE  

emkay

    Quadrunner

  • 9,793 posts
  • What's up?
  • Location:Holy Grail ;)

Posted Wed Mar 27, 2019 8:32 AM

The limitation is in the number of bits of AN bus primarily and # of colour registers in GTIA secondarily.
 
Realistically a bigger AN bus would have been nice and the bandwidth exists to be able to do 16 colours in 160x192 without any limitations.  The DMA load would be enormous but the end result well worth it.
But they didn't choose to go that way.  The GTIA modes as they are were half-baked since the paletted mode only provides 9 colours.  What would have probably been more useful would be to have 8 colours with the other 8 just inverted or half-bright versions of the first 8.


See the title of the thread "Why are there 5 colors in ANTIC mode 4 and 5?" . Technically , your explanations were true, but they don't really answer the questions. They miss the "why did they chose it that way" part :)

Edited by emkay, Wed Mar 27, 2019 8:33 AM.


#11 DrVenkman ONLINE  

DrVenkman

    River Patroller

  • 3,967 posts
  • Back off, man! I'm a scientist.
  • Location:KMBT

Posted Wed Mar 27, 2019 9:34 AM

See the title of the thread "Why are there 5 colors in ANTIC mode 4 and 5?" . Technically , your explanations were true, but they don't really answer the questions. They miss the "why did they chose it that way" part :)


Go to Archive.org and download Joe DeCuir’s Atari Design Notebooks and see if it’s discussed in there. And if not, hit the Atari Museum group on Facebook and ask him directly if he has any knowledge or recollection of why Jay’s team went the way they did.

#12 Xuel OFFLINE  

Xuel

    Dragonstomper

  • 747 posts
  • Location:US

Posted Wed Mar 27, 2019 1:51 PM

The limitation is in the number of bits of AN bus primarily and # of colour registers in GTIA secondarily.

 

Realistically a bigger AN bus would have been nice and the bandwidth exists to be able to do 16 colours in 160x192 without any limitations.  The DMA load would be enormous but the end result well worth it.

But they didn't choose to go that way.  The GTIA modes as they are were half-baked since the paletted mode only provides 9 colours.  What would have probably been more useful would be to have 8 colours with the other 8 just inverted or half-bright versions of the first 8.

 

160 color clock 16-color mode would have blocked the DRAM refresh cycles too, no? Maybe they could have been moved to the HBLANK period.



#13 toddtmw OFFLINE  

toddtmw

    Dragonstomper

  • 554 posts
  • Location:Cincinnati, Ohio

Posted Wed Mar 27, 2019 3:58 PM

Because 6 is just ridiculous :D

 

From a World of Warcraft quest:

As you have surely noticed, a slain demon leaves behind Nethershards, solidified residual energy from the Twisting Nether. I require a significant quantity of them for an experiment I'm conducting... 8,238 shards, to be precise.

 
Why are you looking at me like that? We've had this conversation before. I did the math.
 
I need exactly 8,238 shards. 8,237 would be inadequate. 8,239 would, of course, be absurd.
 
Don't question my methods. Go!

 

 

Then, when you turn the quest in:

 

It has been pointed out to me that I can, on occasion, get a bit carried away.

 
This... <clears throat> might possibly have been one of those times.
 
A single Nethershard will suffice for my purposes. I'm certain you can put the rest to good use.
 
Let's not speak of this again.
:)


#14 toddtmw OFFLINE  

toddtmw

    Dragonstomper

  • 554 posts
  • Location:Cincinnati, Ohio

Posted Wed Mar 27, 2019 4:00 PM

Technically, it could have changed more registers than one, setting the high bit , not just one. The decision is odd and possibly done by having the (incomplete) CTIA first, and GTIA wouldn't show the "old" graphics correctly.

It COULD be carried by an African Swallow!



#15 phaeron OFFLINE  

phaeron

    River Patroller

  • 2,738 posts
  • Location:Bay Area, CA, USA

Posted Wed Mar 27, 2019 9:52 PM

 

160 color clock 16-color mode would have blocked the DRAM refresh cycles too, no? Maybe they could have been moved to the HBLANK period.

 

At least one refresh cycle always gets through at the end of the scanline since playfield DMA is blocked at the beginning of horizontal blank, even if the playfield DMA clock goes haywire and tries to DMA every cycle. This guarantees one refresh cycle per row at least every 16ms, not including the implicit refreshing from all the DMA if it is coming from RAM. I think the low address bits are used for the row and the 130XE passes RAS through to both main and extended banks, so if either ANTIC or the CPU is sequentially reading RAM addresses it will refresh all memory. Can't tell for sure from the schematic alone but it may even refresh RAM on non-RAM addresses.

 

Note that you can already get into this heavy DMA situation by using vertical scrolling to force character names to read on every scanline. I did this for the entire frame in the 60fps video player for minutes at a time, no refresh issues seen.



#16 Rybags ONLINE  

Rybags

    Gridrunner

  • 16,089 posts
  • Location:Australia

Posted Wed Mar 27, 2019 11:54 PM

I also did that and asked for others to help - since at the time I had no NTSC machine - the want for NTSC in that case was there only being 22 scanlines with full refresh per frame where PAL has 72.

The refresh by default is more than enough for the later DRam types, so any such testing is probably best done on an older 400 or 800 that's not equipped with later tech memory boards.



#17 emkay OFFLINE  

emkay

    Quadrunner

  • 9,793 posts
  • What's up?
  • Location:Holy Grail ;)

Posted Thu Mar 28, 2019 12:42 AM

It COULD be carried by an African Swallow!


I'd prefer the European Swallow ;)

There are many questions unanswered.
One of them is, why they built a system that was intended to be compatible to the 2600, and then drop everything that had kept the compatibility ?
Basically, the GTIA is the successor to the TIA chip. Practically, the TIA chip had been more complete. Theoretically, you see in the registers of the GTIA, that nothing is really completed.

#18 Rybags ONLINE  

Rybags

    Gridrunner

  • 16,089 posts
  • Location:Australia

Posted Thu Mar 28, 2019 1:19 AM

Where was it ever stated that 2600 compatibility was intended?

That only ever happened with the 7800, and as an afterthought for the 5200.

 

The "successor" thing is evident, but it's also evident with the progression to the Amiga.

Any intent of compatibility goes out the window anyway with removal of the PM mirror and replicate features.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users