LatchKeyKid Posted March 30, 2023 Share Posted March 30, 2023 N00b question so I figured this would be the right forum for it. When I got into the retro-Atari scene, I noticed that alot of games didn't seem to use the missile sprites (like Pitfall) which was odd to me since I felt using them would have opened up alot of gameplay options. When looking at the Batari Basic kernel options, I saw that using a multicolor player sprite uses up the corresponding missile and then kind of figured it was used to change the color (store the upcoming color value?). I'm curious if that is definitely the case both with or without Batari Basic and, if so, why that's a necessary trade off. I'm not a programmer myself but I do understand some of the lingo (enough to muddle my way through my first hack at least) and am curious as to how that works in code. Thanks in advance. Quote Link to comment https://forums.atariage.com/topic/349908-does-using-a-multicolor-player-sprite-always-use-up-the-missile-too/ Share on other sites More sharing options...
+splendidnut Posted March 30, 2023 Share Posted March 30, 2023 A Player and Missile pair share the same color register (P0 with M0, P1 with M1), but are otherwise independent and you can use both on the same line. It's more a matter of available display kernel time. On average, you can only do 8 to 12 TIA register updates per line. More can be done with some tricks, upto 15 with DPC+/CDFJ Fast Fetch option. For Batari Basic, the Standard Kernel has a bunch of options allowing the user to choose which things they want to update: These options determine what TIA updates are done on a line for the entire display frame. 1 Quote Link to comment https://forums.atariage.com/topic/349908-does-using-a-multicolor-player-sprite-always-use-up-the-missile-too/#findComment-5233675 Share on other sites More sharing options...
LatchKeyKid Posted March 31, 2023 Author Share Posted March 31, 2023 (edited) 1 hour ago, splendidnut said: A Player and Missile pair share the same color register (P0 with M0, P1 with M1), but are otherwise independent and you can use both on the same line. It's more a matter of available display kernel time. On average, you can only do 8 to 12 TIA register updates per line. More can be done with some tricks, upto 15 with DPC+/CDFJ Fast Fetch option. For Batari Basic, the Standard Kernel has a bunch of options allowing the user to choose which things they want to update: These options determine what TIA updates are done on a line for the entire display frame. Thanks. So, for example, would using a two line ASM kernel give a coder the updates per line necessary to use multicolor sprites and the corresponding missiles? I was looking at random terrain's site including .bin files yesterday as well as youtube example videos and was impressed with what DPC+ is capable of on the 2600. Is it the decrease in the CPU cycles taken by various activities (like drawing a sprite) that allows more updates or is the register update per line limit related to yet separate from the 76 machine cycle limit? Edited March 31, 2023 by LatchKeyKid Quote Link to comment https://forums.atariage.com/topic/349908-does-using-a-multicolor-player-sprite-always-use-up-the-missile-too/#findComment-5233710 Share on other sites More sharing options...
+splendidnut Posted March 31, 2023 Share Posted March 31, 2023 11 minutes ago, LatchKeyKid said: So, for example, would using a two line ASM kernel give a coder the updates per line necessary to use multicolor sprites and the corresponding missiles? Yes... and actually, that's what the Multisprite Kernel in Batari Basic does. It allows both player sprites, the missiles, and the ball to be used... but with the player sprites using double-line resolution and the missiles/ball limited to being 2-pixels high. 24 minutes ago, LatchKeyKid said: Is it the decrease in the CPU cycles taken by various activities (like drawing a sprite) that allows more updates or is the register update per line limit related to yet separate from the 76 machine cycle limit? Basically, updating TIA registers is done with a pair instructions, one to Load data from memory and the other to Store the data in a TIA register. With DPC+/CDFJ, Fast Fetch mode allows a faster data load instruction to be used in which the data is part of the instruction and is replaced by the ARM chip as the 6502 is loading it. 1 Quote Link to comment https://forums.atariage.com/topic/349908-does-using-a-multicolor-player-sprite-always-use-up-the-missile-too/#findComment-5233724 Share on other sites More sharing options...
+splendidnut Posted March 31, 2023 Share Posted March 31, 2023 You might want to take a look thru @SpiceWare's powerpoint: http://www.spiceware.org/downloads/Atari 2600 Homebrew 2013.ppt Slides 63-66 show some examples of how sprite drawing changes when moving from a standard cart -> DPC -> DPC+ -> Bus Stuffing. Slides 67-71 show diagrams of how a single line kernel changes when moving thru those same cart hardware upgrades. 1 Quote Link to comment https://forums.atariage.com/topic/349908-does-using-a-multicolor-player-sprite-always-use-up-the-missile-too/#findComment-5233731 Share on other sites More sharing options...
LatchKeyKid Posted March 31, 2023 Author Share Posted March 31, 2023 (edited) 1 hour ago, splendidnut said: Yes... and actually, that's what the Multisprite Kernel in Batari Basic does. It allows both player sprites, the missiles, and the ball to be used... but with the player sprites using double-line resolution and the missiles/ball limited to being 2-pixels high. Basically, updating TIA registers is done with a pair instructions, one to Load data from memory and the other to Store the data in a TIA register. With DPC+/CDFJ, Fast Fetch mode allows a faster data load instruction to be used in which the data is part of the instruction and is replaced by the ARM chip as the 6502 is loading it. Thanks. I've been focusing mostly on the basic kernel because I assumed (apparently incorrectly) that it was the only one that could be used on base hardware without enhancement chips. I didn't realize the multisprite kernel was two line as I actually prefer that look and use the square sprites in my hobby art sprite designs (like my avatar pic). I had been hoping to use the ball to make additions to my main player sprite so the height limitation is definitely a tradeoff to the extra sprites available. Can you still change the color of player sprites line to line as needed with multisprite kernel? 1 hour ago, splendidnut said: You might want to take a look thru @SpiceWare's powerpoint: http://www.spiceware.org/downloads/Atari 2600 Homebrew 2013.ppt Slides 63-66 show some examples of how sprite drawing changes when moving from a standard cart -> DPC -> DPC+ -> Bus Stuffing. Slides 67-71 show diagrams of how a single line kernel changes when moving thru those same cart hardware upgrades. Thanks again. It looks like the 2013 presentation download doesn't work on both google docs or microsoft online (or open office) but he does have three other newer ones that I can try as well on icloud that hopefully will have the same content. Edited March 31, 2023 by LatchKeyKid Quote Link to comment https://forums.atariage.com/topic/349908-does-using-a-multicolor-player-sprite-always-use-up-the-missile-too/#findComment-5233756 Share on other sites More sharing options...
+splendidnut Posted March 31, 2023 Share Posted March 31, 2023 15 hours ago, LatchKeyKid said: Can you still change the color of player sprites line to line as needed with multisprite kernel? Only with the version that I modified for 1942. Sorry, missed that requirement... It's like I didn't read the thread title. 1 Quote Link to comment https://forums.atariage.com/topic/349908-does-using-a-multicolor-player-sprite-always-use-up-the-missile-too/#findComment-5234028 Share on other sites More sharing options...
+SpiceWare Posted March 31, 2023 Share Posted March 31, 2023 16 hours ago, LatchKeyKid said: Thanks again. It looks like the 2013 presentation download doesn't work on both google docs or microsoft online (or open office) but he does have three other newer ones that I can try as well on icloud that hopefully will have the same content You should be able to access the original Keynote presentation online via iCloud, should work better than the export in PowerPoint format. No iCloud account is required, you can enter anything when prompted for a name: 1 Quote Link to comment https://forums.atariage.com/topic/349908-does-using-a-multicolor-player-sprite-always-use-up-the-missile-too/#findComment-5234045 Share on other sites More sharing options...
LatchKeyKid Posted March 31, 2023 Author Share Posted March 31, 2023 (edited) Thanks to you both for the links! Wow, those are some serious savings with the newer tech and techniques. The games are obviously still quintessentially Atari games IMO but I'm sure that extra time allows you to really let loose with more intricate gameplay ideas that people don't expect from what most consider the first console they remember hearing about. I've got alot to think about both in regards to how much I'm willing to (and to be honest capable of) learning as well as what is essential for potential gameplay. It's good to see in table for that there is a variety of options with tangible benefits to choose from. Just in case, I've started scaling down some ideas and making monotone versions of my sprites so far just in case. Edited March 31, 2023 by LatchKeyKid 1 Quote Link to comment https://forums.atariage.com/topic/349908-does-using-a-multicolor-player-sprite-always-use-up-the-missile-too/#findComment-5234133 Share on other sites More sharing options...
Recommended Posts
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.