Improved 400+ color palette demo

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

User avatar
blargg
Posts: 3715
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Improved 400+ color palette demo

Post by blargg »

I just improved my 400+ color palette demo to not shake (well, it shakes by two pixels, but at 30 Hz, so it's much less noticeable). Cleaner, easier-to-follow code is included, rather than the super-optimized code like in the previous version. NTSC-only at the moment:

full_palette.zip

Image Image
User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Re: Improved 400+ color palette demo

Post by cpow »

blargg wrote:I just improved my 400+ color palette demo to not shake (well, it shakes by two pixels, but at 30 Hz, so it's much less noticeable). Cleaner, easier-to-follow code is included, rather than the super-optimized code like in the previous version. NTSC-only at the moment:

full_palette.zip

Image Image
Man, that is WHACK!
User avatar
tokumaru
Posts: 12493
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

I find it funny that the first image is full of harmony and looks very clean, while the second one looks like a TV with really bad interference, even though they are composed by the same rows, just arranged differently (the JPEG artifacts don't help, but both images have them)...
User avatar
Disch
Posts: 1848
Joined: Wed Nov 10, 2004 6:47 pm

Post by Disch »

I'm not hip with all the goovy jive you kids use these days, but isn't "whack" a negative term?
User avatar
Dwedit
Posts: 5066
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit »

So is "Bad", but that didn't stop anyone.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
Drag
Posts: 1642
Joined: Mon Sep 27, 2004 2:57 pm
Contact:

Post by Drag »

Dwedit wrote:So is "Bad", but that didn't stop anyone.
Man, I love the power glove.
tepples
Posts: 22819
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Drag wrote:Man, I love the power glove.
Why, Lucas? Is that what lets you PK freeze Jimmy Woods's hands?
User avatar
blargg
Posts: 3715
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Post by blargg »

Yeah, the left image looks more vibrant and clean, but doesn't really show how smooth a gradient you get. You are left wondering whether some colors are repeated. The right one makes it very clear that this isn't just showing 52 colors or something puny.
tepples
Posts: 22819
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

A to switch: is that possible?
User avatar
blargg
Posts: 3715
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Post by blargg »

Sure, but unless I can make the inner loops similar enough to be switched based on a variable, it would involve having both loops in the code, and thus more complexity. It's already complex enough to follow as it is. I'll take a look though, since it would be nice to have one ROM.

I came across your vertical stretch demo where you blend lines via flickering. I realized that this would benefit the smooth gradient version of this palette demo. Since it already shakes horizontally at 30 Hz, effectively blending the vertical edges, I could have it shake vertically as well, blending it all together more.
tepples
Posts: 22819
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

blargg wrote:Sure, but unless I can make the inner loops similar enough to be switched based on a variable, it would involve having both loops in the code, and thus more complexity. It's already complex enough to follow as it is.
For each mode, make a 32-entry table of tints and a 32-entry table of starting colors. Order them in ROM as normal_tints, smooth_tints, normal_startcolors, smooth_startcolors. Then display entries 0-31 or 32-63 of each table.
User avatar
blargg
Posts: 3715
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Post by blargg »

I put up a nice page on the Wiki describing how this demo works, and updated the source code to be cleaner and easier to follow. Unfortunately, I didn't put in controller control of alternating between two palettes, as it would have complicated the code more than it was worth.
bucky o'hare
Posts: 160
Joined: Fri Sep 22, 2006 9:52 am
Location: philly

Post by bucky o'hare »

Wasn't there an animated demo posted with the noise channel making 'wave' sounds? Was that posted elsewhere or was it taken down?

I could've sworn it was in this thread!
User avatar
blargg
Posts: 3715
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Post by blargg »

Yeah, but it's in for a big upgrade. Stay tuned... :)
User avatar
Bregalad
Posts: 8087
Joined: Fri Nov 12, 2004 2:49 pm
Location: Divonne-les-bains, France

Post by Bregalad »

Well Blargg, congratulation for this demo which was implemented in an incredibly clever way.
If I understand way, you managed to get completely rid of all jittering (or get only 1 pixel jitter I haven't understood exacly).
How did you manage this exploit ? I always got ~9 pixels (3 CPU clock) jittering at best (NTSC).
Useless, lumbering half-wits don't scare us.
Post Reply