Jump to content

Photo

7800 - New graphics mode 160C


89 replies to this topic

#1 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • 7,964 posts
  • Busy bee!
  • Location:North, England

Posted Fri Apr 23, 2010 2:33 PM

Find attached a little demo that I've just finished putting the final touches to. Its an implementation of the A8's graphics mode known as APAC (Any Point Any Colour). Basically the A8's APAC mode displays consecutive pairs of video scan lines made up of a video scan line of chroma (15 colours) and then a video scan line of luma (15 shades). These are blended by the TV to yield up to 256 colours but result in a residual artifact of a thin black line between each video line pair.

To create the display mode on the A8s it alternates between two different GTIA graphics modes to get the colours or the shades. To simulate this on the 7800 two palettes of 12 colours each are used. The first palette contains shades of grey and the second palette contains a selection of the darkest colours. The end result is 13 shades of 13 colours or a total of 169 colours in MARIA 160B mode. The base colours chosen exist in both the PAL and NTSC palettes. This means that games will only need one set of image data and a detection routine to fill the palette accordingly. The downside is that there are some duplicates of red in PAL. However, I think that's an acceptable loss given the ROM saving.

I'm going to call this new mode on the 7800 "160C" which stands for "160 Colour". It also follows on from the original MARIA display names of 160A and 160B. Boring I know :lol:.

The vertical resolution of the image is fixed by MARIA. MARIA allows a Display List List (DLL) to cross one page boundary. This means the maximum space allocated to the DLL is 512 bytes (when correctly aligned). Each DLL entry is 3 bytes in size so there are 170 zone entries (of variable size) available. A PAL display needs 4 zone entries at the top and bottom of the screen to centre the display, which leaves 162 zone entries for a video image. Another 2 zone entries are expanded to 16 pixels which leaves the final image height at 160 pixels. Because the graphics mode needs two DLL entries per "line" the final height comes out at 80 pixels.

The horizontal resolution of the images is 126 pixels for this demo. However given sufficient tweaking or more RAM available in the system it would be possible to use the full width of 160 pixels.

There are no emulator screenshots because the emulators don't do it justice (well... er... they can't actually handle it correctly). The current 7800 emulators don't know anything about blending consecutive TV lines so the images look very poor. However these are the bitmap images passed into my conversion tool :-

7800-169-a.png 7800-169-b.png
7800-169-c.png 7800-169-d.png
7800-169-e.png 7800-169-f.png

The demo displays all 6 images first and then it moves into a mode where the images are displayed a second time but the zone DL pointers in the DLL entries for the chroma/luma are swapped on every frame. This removes the thin black line but flickers on PAL.

Here's the binary :-

Attached File  demox.bin   128KB   203 downloads

I'm including the A78 file but it doesn't do the graphics mode justice :(.

Attached File  demox.a78   128.13KB   200 downloads

You'll need the following for use on a CC2 :-

78SC_POK 78BIOS

As mentioned in this thread it doesn't actually use POKEY it was just a cut and paste to create an entry in my CC2 menu file.

Many thanks to sh3-rg and nonner242 for their assistance in getting this project done. Special thanks to Crazyace for planting the seed too :lol:.

The demo works fine in PAL and NTSC.

I'm also going to experiment with 169 shades of grey and the 320B modes when I get some time.

#2 CPUWIZ OFFLINE  

CPUWIZ

    Sheriff

  • 28,318 posts
  • Cartridge Recycler
  • Location:SoCal

Posted Fri Apr 23, 2010 2:37 PM

> Kills Commando cart <

#3 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • Topic Starter
  • 7,964 posts
  • Busy bee!
  • Location:North, England

Posted Fri Apr 23, 2010 2:44 PM

> Kills Commando cart <


:lol: It doesn't actually use POKEY. So commando carts can heave a sigh of relief. I just happened to cut and paste a line in my CC2's menu file to run it with.

#4 nonner242 OFFLINE  

nonner242

    River Patroller

  • 3,622 posts
  • ALL your base ALL belong to us!!!!!!!!!!!!!!
  • Location:OHIO

Posted Fri Apr 23, 2010 3:00 PM


> Kills Commando cart <


Posted Image It doesn't actually use POKEY. So commando carts can heave a sigh of relief. I just happened to cut and paste a line in my CC2's menu file to run it with.



Can not wait to see this running!
GB Thanks for pushing the 7800 to new heights!Posted Image

#5 Emehr OFFLINE  

Emehr

    River Patroller

  • 3,799 posts
  • Happiness is... a chomping Pac-Man!
  • Location:An obscure body in the SK system

Posted Fri Apr 23, 2010 4:31 PM

Pretty cool! :thumbsup: Does this use something like Chronocolour?

#6 DracIsBack OFFLINE  

DracIsBack

    River Patroller

  • 4,572 posts
  • Location:Toronto, Canada

Posted Fri Apr 23, 2010 4:56 PM

This is fantastic! Christmas comes to the 7800 early. I always love demos like this showing colors and images that are digitized on older consoles.

The hello was great too! Posted Image Posted Image Posted Image

#7 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • Topic Starter
  • 7,964 posts
  • Busy bee!
  • Location:North, England

Posted Fri Apr 23, 2010 5:00 PM

I always love demos like this showing colors and images that are digitized on older consoles.


The artists on the project were sh3-rg and nonner242. Everything was hand drawn by them.

The hello was great too!


:) You're welcome!

#8 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • Topic Starter
  • 7,964 posts
  • Busy bee!
  • Location:North, England

Posted Fri Apr 23, 2010 5:05 PM

Does this use something like Chronocolour?


From how I understand chronocolor to work I don't think so. I'll explain everything later.

#9 Allan ONLINE  

Allan

    Quadrunner

  • 5,391 posts
  • Location:Wallingford, CT

Posted Fri Apr 23, 2010 5:08 PM

Very cool, Groovybee. Can this be used for anything other than a still screen? If not, at least it will make some great title screens.

Allan

#10 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • Topic Starter
  • 7,964 posts
  • Busy bee!
  • Location:North, England

Posted Fri Apr 23, 2010 5:12 PM

Very cool, Groovybee. Can this be used for anything other than a still screen? If not, at least it will make some great title screens.


You could do some interesting filled 3D polygon's with the technique. However, I've no idea about MARIA's fill rate. With enough RAM on cart its also possible to do software sprites. I'll see if I can work a game around it.

#11 Curt Vendel OFFLINE  

Curt Vendel

    River Patroller

  • 4,448 posts
  • Location:Carmel, New York

Posted Fri Apr 23, 2010 5:36 PM

or the upcoming Expansion Module (Ram + Pokey + High Score)



Curt


Very cool, Groovybee. Can this be used for anything other than a still screen? If not, at least it will make some great title screens.


You could do some interesting filled 3D polygon's with the technique. However, I've no idea about MARIA's fill rate. With enough RAM on cart its also possible to do software sprites. I'll see if I can work a game around it.



#12 Shannon OFFLINE  

Shannon

    Born To Be Insane

  • 7,539 posts
  • Pac-man Fever
  • Location:Arcade

Posted Sat Apr 24, 2010 3:29 AM

eagerly waiting.. :D

#13 DracIsBack OFFLINE  

DracIsBack

    River Patroller

  • 4,572 posts
  • Location:Toronto, Canada

Posted Sat Apr 24, 2010 7:59 AM

The artists on the project were sh3-rg and nonner242. Everything was hand drawn by them.


I'm always amazed at what a good artist can do. Put a good programmer and a good artist together ... and wow!

#14 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • Topic Starter
  • 7,964 posts
  • Busy bee!
  • Location:North, England

Posted Sat Apr 24, 2010 8:23 AM

I'm always amazed at what a good artist can do. Put a good programmer and a good artist together ... and wow!


Thanks for the compliments to the team.

You'll be pleased to know that sh3-rg is also the graphics man on my Halloween themed game.

#15 DracIsBack OFFLINE  

DracIsBack

    River Patroller

  • 4,572 posts
  • Location:Toronto, Canada

Posted Sat Apr 24, 2010 9:09 AM

You'll be pleased to know that sh3-rg is also the graphics man on my Halloween themed game.



I am pleased. Of course, since you brought up that topic ...
Any chance there will be a build soon? :D

i bug only because I'm dying to try!

#16 sh3-rg OFFLINE  

sh3-rg

    River Patroller

  • 2,106 posts
  • absent
  • Location:elsewhere

Posted Sat Apr 24, 2010 9:40 AM

I am pleased. Of course, since you brought up that topic ...
Any chance there will be a build soon? :D

i bug only because I'm dying to try!

I have to say sorry here, it's mostly my lack of activity that is holding groovybee back a bit (although he's been a busy bee with lots of other things, too :lol: )... at this rate it won't even be ready for next Halloween!

I'll be getting a version soon so I can look at the player sprite & rework it and then make some more wall objects. I'm happy working with gfx restrictions, but 7800 is a different kid of challenge to me... unusual but still fun :)

#17 DracIsBack OFFLINE  

DracIsBack

    River Patroller

  • 4,572 posts
  • Location:Toronto, Canada

Posted Sat Apr 24, 2010 10:12 AM

I have to say sorry here, it's mostly my lack of activity that is holding groovybee back a bit (although he's been a busy bee with lots of other things, too :lol: )... at this rate it won't even be ready for next Halloween!

I'll be getting a version soon so I can look at the player sprite & rework it and then make some more wall objects. I'm happy working with gfx restrictions, but 7800 is a different kid of challenge to me... unusual but still fun :)


No worries! This is a labor of love, not a business! Can't wait to see it though! Great art in the demo!

#18 Cebus Capucinis OFFLINE  

Cebus Capucinis

    Not-so-secretly Trolling

  • 8,013 posts
  • Wiseass Extraordinaire
  • Location:Ellensburg, WA

Posted Sat Apr 24, 2010 10:15 AM

:o :o :o :o :o

GORGEOUS!

#19 gambler172 OFFLINE  

gambler172

    River Patroller

  • 2,570 posts
  • none
  • Location:germany

Posted Sat Apr 24, 2010 1:00 PM

Hi Mark
Works great on real hardware :) .What would we do,without you?????
greetings Walter

#20 Corby OFFLINE  

Corby

    Dragonstomper

  • 805 posts
  • AtariAge or NOTHING!!!
  • Location:winnipeg...aka winterpeg, CANADA!!!!!!!!

Posted Sat Apr 24, 2010 3:52 PM

Any pics???? :?

#21 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • Topic Starter
  • 7,964 posts
  • Busy bee!
  • Location:North, England

Posted Sat Apr 24, 2010 5:42 PM

Sorry for the delay I'll be putting up a full explanation and screenshots tomorrow (Sunday).

#22 Crazyace OFFLINE  

Crazyace

    Stargunner

  • 1,018 posts
  • Location:London / HK / Tokyo / San Fransisco

Posted Sun Apr 25, 2010 2:03 AM

Very cool demo... Just imagine what the reactions would have been if this had been seen back when the 7800 came out :)

#23 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • Topic Starter
  • 7,964 posts
  • Busy bee!
  • Location:North, England

Posted Sun Apr 25, 2010 5:42 AM

Modified the first post.

#24 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • Topic Starter
  • 7,964 posts
  • Busy bee!
  • Location:North, England

Posted Sun Apr 25, 2010 5:49 AM

I'll be producing some carts for nonner242 and sh3-rg. If anybody else wants one let me know.

#25 the.golden.ax OFFLINE  

the.golden.ax

    Tear down this temple

  • 12,424 posts
  • I'll rebuild it in 3 days

Posted Sun Apr 25, 2010 7:26 AM

I'll take a cart.

AX




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users