+playermissile #1 Posted Monday at 03:35 PM 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. 1 Quote Share this post Link to post Share on other sites
danwinslow #2 Posted Monday at 03:40 PM 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. Quote Share this post Link to post Share on other sites
emkay #3 Posted Monday at 03:51 PM 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) . 1 Quote Share this post Link to post Share on other sites
+playermissile #4 Posted Monday at 03:53 PM 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. Quote Share this post Link to post Share on other sites
emkay #5 Posted Monday at 04:15 PM Is there a screenshot of that game available? Quote Share this post Link to post Share on other sites
FifthPlayer #6 Posted Monday at 06:14 PM 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! Quote Share this post Link to post Share on other sites
emkay #7 Posted Monday at 07:07 PM 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. Quote Share this post Link to post Share on other sites
Rybags #8 Posted Monday at 11:58 PM 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. Quote Share this post Link to post Share on other sites
Wrathchild #9 Posted Tuesday at 11:13 AM (edited) 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 Tuesday at 11:13 AM by Wrathchild Quote Share this post Link to post Share on other sites
sanny #10 Posted Tuesday at 07:04 PM 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.... 1 Quote Share this post Link to post Share on other sites
ClausB #11 Posted Thursday at 02:54 AM I once tried and failed to start a compo for games like this: Quote Share this post Link to post Share on other sites
Rybags #12 Posted Thursday at 07:42 AM It'd make for a good compo classification - but the downside is you've only got a few systems that are capable of participating. 1 Quote Share this post Link to post Share on other sites
+playermissile #13 Posted Thursday at 08:26 PM 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. Quote Share this post Link to post Share on other sites
Rybags #14 Posted yesterday at 12:02 AM 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. 1 Quote Share this post Link to post Share on other sites