Jump to content
IGNORED

how is this possible?


Recommended Posts

I have watched several tutorials and read a few books and looked at assembly source for KABOOM. I'm still not grasping how a game can have so many objects on the screen at the same time when there is only  player0, player1, missle0, missle1, and a bomb available. For example from KABOOM. Thanks to anyone that explains

image.thumb.png.0161ebcc4ab010601b2f19ca0c308e4b.png

Edited by JohnGri
more info
Link to comment
Share on other sites

Without looking, my guess would be the bombs, person, and buckets are probably repositioned sprites. You can look at it in Stella to see the breakdown. Now as for accomplishing that, I don't know how to do that outside of batari Basic.

Link to comment
Share on other sites

It's done by using Player(sprite) multiplexing:

Quote

Sprite multiplexing is a computer graphics technique where additional sprites (moving images) can be drawn on the screen, beyond the nominal maximum.

...
The sprite multiplexing technique is based on the idea that while the hardware may only support a finite number of sprites, it is sometimes possible to re-use the same sprite "slots" more than once per frame or scanline. The program will first use the hardware to draw one or more sprite(s), as normal. Before the next frame (or next scanline) needs to be drawn, the software reprograms the hardware to display additional sprites, in other positions.

...

On the older Atari 2600, sprite multiplexing was not intentionally designed in, but programmers discovered they could reset the TIA graphics chip to draw additional sprites on the same scanline.

 

Displaying additional players(sprites) per frame was known about early on the Atari's life as seen in Air Sea Battle, one of the first 9 games that was available when the Atari was first released.

 

s_AirSeaBattle_4.png

 

The additional players(sprites) per scanline trick was discovered later, and was used in Galaxian to get 7 players(sprites) per scanline.

 

s_Galaxian_1.png

 

The original limit is 6 per scanline, achieved by using both sprites in triplicate mode as seen in Space Invaders:

 

s_SpaceInvaders_2.png

 

 

You can find a disassembly of Kaboom! by @DEBRO over at MiniDig. I used this excellent disassembly to create the Kaboom! Deluxe! hack. It adds the 2 player "Pitch and Catch" variation from the 5200, where the other player controls the Mad Bomber, and a few graphical enhancements.

 

Additionally you can use Stella's Fixed Debug Colors mode to see what objects are used to draw what parts of the screen. Use the Developer Keys to toggle this mode (CMD + . on a Mac, or ALT + . on Linux/Windows).

 

1808831965_ScreenShot2022-06-11at11_29_29AM.png.0a51cbc7001492b075f336b2343cc49f.png

 

P0 = Player 0 =  Red . It's used to draw the part of the score, all bombs (and explosions), and part of the Activision Logo

P1 = Player 1 =  Yellow . It's used to draw part of the score, the mad bomber, all buckets, and part of the Activision Logo

 

901109568_Kaboom!(1981)(Activision)_1.thumb.png.be28baac97ad607f18ef458228930fc1.png

 

 

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