Jump to content
IGNORED

Confused about Atari 8 bit (XL/XE) graphics modes


Recommended Posts

Hey all

 

I am a bit confused about A8 graphics modes.  I am pretty sure I have seen on the internet mentioned that the highest resolution was 360x192 @ 16 colours.  But I am pretty sure this resolution was only 2 colours. 

What was the bare resolution that A8 could display 16 colours on screen with no tricks whatsoever? 

 

thanks

Link to comment
Share on other sites

2 minutes ago, zzip said:

HighRes is 320x192 @ 2 colors,

There's two GTIA modes that can display 16 colors without tricks

Thank you !   

 

Not trying to take advantage of your kindness, but is it fair to say that most games were at 160 x 192  @  4 colours ?

Link to comment
Share on other sites

5 minutes ago, Atari130XE said:

Thank you !   

 

Not trying to take advantage of your kindness, but is it fair to say that most games were at 160 x 192  @  4 colours ?

yeah that mode is common,  there's also a character/tile mode that has the same resolution but can do 5 colors.   And of course DLIs and PM graphics were commonly used to boost colors on screen much higher.

  • Like 1
Link to comment
Share on other sites

2 hours ago, zzip said:

HighRes is 320x192 @ 2 colors,

320x192 - it's a default high resolution, but maximum Atari 8-bit horizontal resolution is 384 when wide playfield width is set (actually 352 pixels are visible) and maximum vertical resolution is 240 scan lines.

  • Like 2
Link to comment
Share on other sites

A mildly interesting tidbit - in this highest total resolution it is not possible to have a continuous screen memory because graphics memory must not cross 4KiB. Full screen in this resolution takes 240 * 48 = 11520 bytes which means two Antic address reloads are necessary. The first can be placed on the 4KiB barrier, but the second cannot.

  • Like 1
Link to comment
Share on other sites

13 hours ago, Philsan said:

A lot of games have more than 16 colors (and overscan, one of A8 strenghts).

Hello 

 

You are referring to using tricks to overcome the colour limitation at a given resolution. In the last month or so I have gone through hundreds of games in my emulator and I have to say, the vast and overwhelming majority  don't look like they have more than 16 colors. They don't look like they have 16 colors. 

Link to comment
Share on other sites

2 hours ago, Philsan said:

There are these sorts of color changes too (games with more than 16 colors)...

rainbowwalker.png.5716d68f45c05ef4f056914a9deaed66.pngstarraidersii.png.1f9c03d7de5dcfbfcc943c7284dab323.pngpopeye.png.7111b98b1f6cd98615ccb7ed37f5ae46.pngrolltris.png.ba9efccf9806f42d29775b2ff99fc741.pnghenryshouse.png.2c0e0359d140658177ea4353a7071d8b.pngDimosQuest.png.e5e42dd556f0fe6262f9188ab61cd6b2.pngdecathlon.png.d9650be4a46946f3c586ed32ec6d8fa1.pngalleycat.png.3660b63b604e8b8caa31ee80fcd4b808.pngdropzone.png.31ce35b47d099d12c81d38d5bc9eb467.png

masterofthelamps.png

But what kind of resolution are these games running at ? 

I was also thinking of games you can directly compare to other 8 bit machines. Like Druid for example. It seems like a rather simple game graphics wise, yet the A8 and C64 versions look nothing alike. I understand the different capabilities in sprite generation but trees and background grass should be identical in the two machines. 

Zybex also. It is clear that Zybex on the A8 is using one color with many shade values (luminocities?) whilst the C64 uses different colors. Also the C64 seems to be in higher res. 

 

Does Altirra show you the native resolution the game is running on at any given moment somehow? 

Link to comment
Share on other sites

23 minutes ago, Atari130XE said:

Does Altirra show you the native resolution the game is running on at any given moment somehow? 

You can always pause the game (F9) with the debugger enabled and have a look at the display list and DINDEX ($57).

 

But remember there is no fixed resolution, what is on screen in most games is highly likely a mix of character/graphics modes.

So pausing may not show you the entire picture (excuse the pun :) ) , this is one aspect of the Atari that sets apart from most other computer of the day.

 

The screenshot I posted earlier uses a dynamic display list which changes every vertical blank, so depends when you pause it :)

 

Even the screen memory does not have to be contiguous, again in my example, the top of the screen starts at $B800

the middle sections are at $8000 and $B018 and the bottom portion is at $3000

 

Edited by TGB1718
  • Like 2
Link to comment
Share on other sites

The A8's display list is a unique concept. Each scan line can be a different graphic or character mode. C64 doesn't have that.

 

The A8's indirect color registers allow dynamic color changes from a wide palette without rewriting bitmaps. C64 doesn't have that.

  • Like 2
Link to comment
Share on other sites

Above games and most Atari games run at 160x200 resolution like on C64.

Not many games use 320x200 resolution because it is very limited on Atari (2.5 years older machines).

 

There are other graphics modes and  sometimes graphic modes are mixed (for example Bruce Lee, top line has a 320x200 resolution, remaining screen is 160x100, sprites have 160x200 resolution).

Mixing graphics modes is not a trick, it's a feature, you only have to change the display list.

Modifying display list you can easily extend default 192 pixels height to 240 pixels (full vertical PAL overscan).

With Display list interrupts you can have many colors. It is not a trick too, it's mentioned in The Re Atari official manual, but it costs cycles.

 

I don't know if Altirra shows graphics mode.

But on Altirra you can save a screenshot. It is saved in 320x200 resolution.

If you open it with a viewer (for example FastStone) you can check pixels size and ratio.

You can count colors too.

Link to comment
Share on other sites

35 minutes ago, TGB1718 said:

You can always pause the game (F9) with the debugger enabled and have a look at the display list and DINDEX ($57).

 

But remember there is no fixed resolution, what is on screen in most games is highly likely a mix of character/graphics modes.

So pausing may not show you the entire picture (excuse the pun :) ) , this is one aspect of the Atari that sets apart from most other computer of the day.

 

The screenshot I posted earlier uses a dynamic display list which changes every vertical blank, so depends when you pause it :)

 

Even the screen memory does not have to be contiguous, again in my example, the top of the screen starts at $B800

the middle sections are at $8000 and $B018 and the bottom portion is at $3000

 

I admit I had no idea the graphics modes were also changeable. I thought you could only change the palette during drawing .. not that you could change the resolution/ graphics mode!! 

Link to comment
Share on other sites

8 minutes ago, Philsan said:

Above games and most Atari games run at 160x200 resolution like on C64.

Not many games use 320x200 resolution because it is very limited on Atari (2.5 years older machines).

 

There are other graphics modes and  sometimes graphic modes are mixed (for example Bruce Lee, top line has a 320x200 resolution, remaining screen is 160x100, sprites have 160x200 resolution).

Mixing graphics modes is not a trick, it's a feature, you only have to change the display list.

Modifying display list you can easily extend default 192 pixels height to 240 pixels (full vertical PAL overscan).

With Display list interrupts you can have many colors. It is not a trick too, it's mentioned in The Re Atari official manual, but it costs cycles.

 

I don't know if Altirra shows graphics mode.

But on Altirra you can save a screenshot. It is saved in 320x200 resolution.

If you open it with a viewer (for example FastStone) you can check pixels size and ratio.

You can count colors too.

As I replied to the other comment, I did not know you could mix graphics modes on the fly. I thought you could only do this with colors within a chosen graphics mode. Interesting. 

Link to comment
Share on other sites

3 hours ago, Philsan said:

There are these sorts of color changes too (games with more than 16 colors)...

 

masterofthelamps.png

This one (Master of Lamps) had always fascinated me because it shows 9 different colors on the lines where the gongs are + the Sprite for the player on top of them, and this is at a 160-width res.   I always wondered how this trick was done since it's obviously not DLI'ss, and can't be using PM graphics to add colors (not enough).   I think the CPU is counting cycles and swapping out the palette mid-scanline.

Link to comment
Share on other sites

That's right - and appears to use PM objects for the vertical supports either side of the gongs.

It's using Antic 6 (aka Gr. 1 ) which is only 1 colour per character cell vs 4 of 5 in Antic 4.

But has the advantage of less DMA which allows the kernal to do that much, also badlines don't totally halt the CPU so there's also sufficient time to do the colour changes there as well.

  • Like 3
Link to comment
Share on other sites

1 hour ago, Atari130XE said:

I admit I had no idea the graphics modes were also changeable. I thought you could only change the palette during drawing .. not that you could change the resolution/ graphics mode!! 

It's actually easier to mix graphics modes than it is to add a DLI to change colors,   DLI requires extra code, while changing modes only requires altering bytes in the display list.  

 

2 hours ago, Atari130XE said:

But what kind of resolution are these games running at ? 

I was also thinking of games you can directly compare to other 8 bit machines. Like Druid for example. It seems like a rather simple game graphics wise, yet the A8 and C64 versions look nothing alike. I understand the different capabilities in sprite generation but trees and background grass should be identical in the two machines. 

Zybex also. It is clear that Zybex on the A8 is using one color with many shade values (luminocities?) whilst the C64 uses different colors. Also the C64 seems to be in higher res. 

Basically all the 8-bits of the era are very limited in resolution and color placement.  RAM was expensive, the 6502 can only access 64K directly and graphics chips were not that good.    A 160x200 mode that could put 16 colors anywhere on screen would require 16K RAM  and 320x200 at 16 colors would need 32K ram.   That's a big ask for such limited systems!   Instead systems like the Apple II, Atari and C64 limited graphics memory to about 8-10K and used various tricks to boost on screen colors.

 

The common Apple II high res mode was 280x192 with 6 colors.   But it really was a 2 color mode and relied on artifacting to produce colors.   That gives four effective colors, but they also used one bit of every graphics byte to swap between orange + blue and green + purple.   This color bit use is why it's 280x192 and not 320x192 like Atari.   Atari can get 4 colors with artifacting, but not the 6 that Apple could.   But on Apple you can't put green and blue pixels next to each other in the same byte, or orange and purple.   So you have to keep those limits in mind when designing graphics

 

On C64 160x200 mode is 4 color and 320x200 mode is 2 color just like Atari, but C64 divides the screen into character-sized cells where you can change the colors of those cells (4x8 cells in 160x200 mode and 8x8 in 320x200 mode).   320x200 with 2 color cells is hard to work with, but if a game manages to pull it off, the C64 version will look better than Atari, because Atari's color use is more limited in high-res.   Many C64 games run in 160x200.

 

Instead of using color cells, Atari uses DLIs to define color regions  That means colors can change line-by-line instead of cell by cell-   each approach is good for kinds of games, and worse for others.   I've noticed if a game was designed on Atari, it will look best on Atari,   If designed for C64, it will look best on C64 and so on.  

 

Finally differences in ports could be due to technical limitations, but it could also be due to quick and dirty ports.   I've never played Druid, but looking at the graphics, it looks like a better job could have been done on Atari, but it also appears to be tile-based,  and the color-cell approach of C64 can better suit tile-based games than the Atari DLI approach.

 

 

Edited by zzip
  • Like 3
Link to comment
Share on other sites

The A8 certainly has some tricks up it's sleeve when it comes to cramming colours in. 

 

Check out the likes of Graph 2 font and also the Windows Rastaconverter too, which use a lots tricks and processing (especially Rastaconverter), to produce some astounding static images.

 

With Graph 2 font, (more here), they are painstakingly created by hand and the images are smaller in file size and don't take up much CPU power.

A few examples.

diceoffatesign_atari_ooz.png runoskarfinal_atari_powrooz.png nosheephere_atari_ooz.png

 

G2F also can mix graphics modes (the skull is a difference graphics mode/resolution to the rest of the image):

 

skullman_atari_rocky.png

 

Rastaconveter (RC) uses modern computing power needed to computate the millions and often billions of variations needed to create images, where they then get outputted as an executable XEX 20-22k file to then load/run on any A8. Downside is it take up a lot of resources, (using a combo of the aforementioned DLIs, then Player missile graphics (PMGs), Vertical blank interupts/CPU processessing cycles, etc to get up to 9 colours per scanline - resulting in theroretically images with up to 128 colours. I've only managed 113 on screen.

 

The downside is that the images are on average 22k each, and because they take up so much of the A8s resources, it means they aren't really able to easily be integrated into actual games...

 

although... recently we've had International karate enhanced, with RCX versions of the game with new backgrops added, which are RC created and look utterly amazing:

https://forums.atariage.com/topic/352421-international-karate-rc-and-rcx-cartridge-conversion-all-in-one/

 

I am a rastaconverter nut. The Windows software came out around 12 years ago, and thousands upon thousands of images have been created. And recently the original coder who made the software, Ilmenit, and some other dedicated geniuses, have improved the tool.

 

Check out these amazing RC conversions, where these images will run off real A8 hardware(!):

Atari8man_Mushroom_House1.png  Atari8man_Happy_Mushroom.png  Atari8man_Valley_Stream.png Atari8man_Sentinel.png

 

 

Atari8man_Creepy_Skull.png  Atari8man_Water_Drop.png image.png.ad73267bed1a17239f038031c6c3a8b2.png image.png.c016c28a432654918a3624feb0fbe24d.png

image.jpeg.abc192f13a9a13d51f9f8ed0a2499be7.jpeg

 

IMHO, the biggest scope for RC images is in graphic adventure games - and  - if in the right coder's hands, there is potential for point and click game to utilize RC images as part of the games.

 

In fact, years ago - the creator of RC (again the aforementioned Ilmenit), created a Windows tool to create point and click adventures, called Adventure studio. It still needs some coding knowledge, but it had so much potential. Check it out:

 

Edited by Beeblebrox
  • Like 4
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...