Jump to content
IGNORED

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


Recommended Posts

7 minutes ago, Ricky Spanish said:

For some reason, I only get 1/2 horizonal screen with some experimental graphics programs.

Could be because you're crossing a 4K boundary without a LMS instruction to go over the boundary

Edited by TGB1718
Link to comment
Share on other sites

6 hours ago, Ricky Spanish said:

Think of me as a dummy. Translation ?

The Atari’s display is defined by a display list which is in essence a program for the ANTIC graphics chip. It defines how many lines and which graphics modes are on the screen and where in memory the data for those lines comes from.

 

The LMS instruction is used to define where to read the graphics data from. A different part of memory can be used for every graphics line (mode line) on the screen but if you don’t specify a new address the next line will be read from memory after the last one.

 

So if you tell ANTIC to start with a hi-res character line (Gr.0 in BASIC) at $8000 the first character will be read from there, the second from $8001, etc. If you don’t add a new LMS the first character of the next line will be loaded from $8028. If the next line is a hi-res graphics line the first 8 pixels  in that line would be defined by the bits of $8028.

 

If that suits you for whatever reason, you can grab screen memory from a different address for every graphics (mode) line. On the 130XE or with compatible memory expansions you can even grab screen memory from a bank that is not currently visible to the CPU.

 

Shifting the load address during vertical blank can be used for vertical and horizontal scrolling without moving lots of graphics data (which seems to be a lot more complicated and timing-sensitive on the C64).

 

Due to hardware addressing limitations ANTIC cannot cross a 4K boundary while reading screen memory. You have to manage this and add at least one extra LMS instruction mid-screen to point it to the rest of memory.

 

(You can also define a DLI on every line to change a few parameters like colours or player position to enhance the display. The multicolour pictures above probably make heavy use of that.)

 

I am not an expert on this but there are lots of explanations in various magazine articles, De Re Atari, the Altirra Hardware manual, blog posts, etc.

 

 

  • 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...