Jump to content



0

Code for screen color changing


2 replies to this topic

#1 CrazyChris OFFLINE  

CrazyChris

    Moonsweeper

  • 321 posts
  • Location:OH

Posted Sun Jun 17, 2007 10:36 AM

I'm not a programmer, just an Atari 2600 enthusiast.

On the original Atari brand 2600 games, after a few minutes when
the game was over the screen would start changing random
colors. Possibly to prevent screen burn in?

Did Atari have their own code to do this?

Wouldn't it be cool if this was available to programmers
who want to make their homebrews more authentic.

Chris

Edited by CrazyChris, Sun Jun 17, 2007 10:39 AM.


#2 SeaGtGruff OFFLINE  

SeaGtGruff

    River Patroller

  • 4,543 posts
  • Location:Georgia, USA

Posted Sun Jun 17, 2007 3:26 PM

View PostCrazyChris, on Sun Jun 17, 2007 12:36 PM, said:

I'm not a programmer, just an Atari 2600 enthusiast.

On the original Atari brand 2600 games, after a few minutes when
the game was over the screen would start changing random
colors. Possibly to prevent screen burn in?

Did Atari have their own code to do this?

Wouldn't it be cool if this was available to programmers
who want to make their homebrews more authentic.

Chris
I think Atari did have a standardized code technique for this, and I think it's been discussed on the Stella list. You don't have to use that specific method, though; you can just change the color registers every so often if no input has occurred.

Michael

#3 Nukey Shay OFFLINE  

Nukey Shay

    Sheik Yerbouti

  • 20,458 posts
  • Location:The land of Gorch

Posted Sun Jun 17, 2007 7:15 PM

True that. Many games stored a dedicated color table in RAM...which is pretty wasteful if the game you are developing has cycles to spare whenever color values are stored to the registers (or at least storing them to temp ram).

Just search for "attract mode" in a commented disassembly or source code. It's basically taking the original color fetched from a table, EORing that with an updated timer, then using AND to trim off bits according to the B&W switch status (AND #$FF = color, AND #$0F = B&W).




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users