Jump to content
playermissile

Playfield graphics when ANTIC off

Recommended Posts

I'm doing some reverse engineering of a game that uses a 2600-style kernel with ANTIC turned off. No display list! It's freaky. Anyway, is the only way to generate graphics through using writes to GRAFP[0-3] and GRAFM? So there is no way to generate playfield graphics (like the PF[0-2] registers on the 2600) through direct writes somewhere? I don't see anything obvious in Mapping the Atari, but I've never dealt with a kernel before.

  • Like 1

Share this post


Link to post
Share on other sites
3 minutes ago, playermissile said:

I'm doing some reverse engineering of a game that uses a 2600-style kernel with ANTIC turned off. No display list! It's freaky. Anyway, is the only way to generate graphics through using writes to GRAFP[0-3] and GRAFM? So there is no way to generate playfield graphics (like the PF[0-2] registers on the 2600) through direct writes somewhere? I don't see anything obvious in Mapping the Atari, but I've never dealt with a kernel before.

You can always write to screen memory? If I understand your point correctly.

Share this post


Link to post
Share on other sites

When ANTIC is turned off, it is still possible to change the color register of the background at CPU speed. 

The thing is that they dropped the goodies of the TIA chip when they created the "better" CTIA(GTIA) .

 

  • Like 1

Share this post


Link to post
Share on other sites
Just now, emkay said:

When ANTIC is turned off, it is still possible to change the color register of the background at CPU speed.

There it is, that's what I was missing. Thanks!

 

I guess that means there's no way to generate graphics that could set bits in the collision registers.

Share this post


Link to post
Share on other sites
2 hours ago, playermissile said:

I guess that means there's no way to generate graphics that could set bits in the collision registers.

I'm not sure that's necessarily true.  Collisions are handled by GTIA, and if the CPU stuffs registers for the player and missile sprites instead of ANTIC, there's a good chance GTIA will still register collisions between PM sprites and the playfield.  It would be a fun test!

Share this post


Link to post
Share on other sites

When all CPU time is available for multiplexing things, the coder could decide to do that with one or two players, to make it look like being the background.  

Share this post


Link to post
Share on other sites

You can fudge it in a sense - with VSCROL tricks you can have a character line that keeps repeating - there won't be character fetches but will be fetches from the character set.

Similarly you can do the same for bitmap so in theory have a line that does no DMA but repeats it's display (I think you could probably fudge that to cover the whole screen).

 

But the problem with both is that you're using CPU cycles to hit registers at the right time, so it's still using resources and can be more expensive depending on what you want to do.

You can have PM data without playfield for what that's worth.

You can also retain display list fetches which can preserve the screen architecture somewhat.

 

You should also be able to do a trick where you have DList DMA enabled then enable screen DMA on the second line of a multi-line mode which should then show what Antic has buffered from it's previous fetches.  Actually, I think that trick might work with DList DMA disabled also.

Share this post


Link to post
Share on other sites

You can use DList DMA enabled and Basic Mode 3 (Antic 8 ) for blocky stuff, e.g. combat maze, as that's a very cheap mode

Edited by Wrathchild

Share this post


Link to post
Share on other sites

I've got an unfinished PONG game which works with Antic disabled. I think it's not shareable at this point in time (PM me if you want the current version). I'm going to work on it again to get out a beta version....

  • Like 1

Share this post


Link to post
Share on other sites

It'd make for a good compo classification - but the downside is you've only got a few systems that are capable of participating.

  • Confused 1

Share this post


Link to post
Share on other sites
On 4/5/2021 at 11:14 AM, FifthPlayer said:

I'm not sure that's necessarily true.  Collisions are handled by GTIA, and if the CPU stuffs registers for the player and missile sprites instead of ANTIC, there's a good chance GTIA will still register collisions between PM sprites and the playfield.  It would be a fun test!

The game I'm looking at (Worm War 1) does handle the player collision registers so the GTIA is at least doing that work. I can't see that the program is using DMA anywhere, though, so as far as I can tell it is not generating any playfield objects.

Share this post


Link to post
Share on other sites

Collisions still register no matter how the PM graphics are generated, they occur at the time the graphics go through the generation/priority process, not when fetched from memory.

  • Like 1

Share this post


Link to post
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.

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