Jump to content

Photo

Can a tall rectangular sprite be made of copies of one row?


7 replies to this topic

#1 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 28,070 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Tue Mar 29, 2016 3:58 AM

Instead of using this:
  

   player0:
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
   %00001111
end

 
Could this be used instead:
 

   player0:
   %00001111
end

 
Then a small amount of special code to make it repeat on the screen 87 more times would be added. If the special code didn't take up much room, it would save ROM space.



#2 Mr SQL ONLINE  

Mr SQL

    Stargunner

  • 1,737 posts

Posted Tue Mar 29, 2016 7:51 AM

Interesting topic RT, fine grain sprite loading is a useful addition to sprite definitions that would be cool to add to bB.

 

In this vwB example one sprite is defined as you described and the other is loaded from a sprite definition table, both in the same loop to save space.

 

for j=0 to 7:player1(j)=%10111101:player0(j)=pl(j):next j

 

I used this code structure in Tournament:

http://atariage.com/...2016/?p=3448672



#3 RevEng ONLINE  

RevEng

    River Patroller

  • 4,673 posts
  • Bitnik
  • Location:Canada

Posted Tue Mar 29, 2016 9:28 AM

That functionality would either require a custom kernel, or would constrain your bB game to a format with added RAM, RT.

If you choose an added RAM format, you can follow SeaGtGruff's RAM players instructions, and just populate with a loop. IMO it's a niche case, and your players need to be fairly tall for it to pay off, so it's not super handy.

#4 SpiceWare OFFLINE  

SpiceWare

    Quadrunner

  • 11,304 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Tue Mar 29, 2016 9:44 AM

Come at it from a different direction - use a 4x missile for the tall sprite, use the player for whatever you would have used the missile for.



#5 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 28,070 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Tue Mar 29, 2016 10:39 AM

That functionality would either require a custom kernel, or would constrain your bB game to a format with added RAM, RT.

If you choose an added RAM format, you can follow SeaGtGruff's RAM players instructions, and just populate with a loop. IMO it's a niche case, and your players need to be fairly tall for it to pay off, so it's not super handy.


Thanks. I'm trying to keep from going over 4k while using the standard kernel and kernel options, so I'll just use the tall sprite.


 

Come at it from a different direction - use a 4x missile for the tall sprite, use the player for whatever you would have used the missile for.


Thanks. The kernel options in the program I'm trying to finish cause the loss of missile1 and missile0. Here is the note I have to myself about it in my program:

 

   ;****************************************************************
   ;
   ;  The kernel options below cause the loss of missile1 and
   ;  missile0.
   ; 
   ;  But the missiles can be used as top to bottom strips using
   ;  ENAM0 = 2 and ENAM1 = 2 and turned off using ENAM0 = 0 and
   ;  ENAM1 = 0. (ENAM0{1} = 1 and ENAM1{1} = 1 can also be used.)
   ;  The colors of a multi-colored sprite will show up in the
   ;  missile at the same horizontal position. It can be used as a
   ;  bonus item at the side away from the playfield pixels (the
   ;  whole strip will cover up part of the playfield). You must
   ;  be careful because the missile can be touched from top to
   ;  bottom, not just at the spot where you see color.
   ;
   set kernel_options player1colors no_blank_lines pfcolors

 

Player1 is a multicolored sprite and the missile1 strip is used as a bonus item. Player0 is used as the left border and the missile0 strip is used as the right border.

 

post-13-0-80707000-1458382660.gif



#6 SpiceWare OFFLINE  

SpiceWare

    Quadrunner

  • 11,304 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Tue Mar 29, 2016 12:48 PM

Thanks. The kernel options in the program I'm trying to finish cause the loss of missile1 and missile0. Here is the note I have to myself about it in my program:


Ah - forgot there were kernel options that resulted in the loss of both missiles.

#7 freshbrood OFFLINE  

freshbrood

    Star Raider

  • 51 posts

Posted Mon Mar 6, 2017 2:16 PM

Thanks. I'm trying to keep from going over 4k while using the standard kernel and kernel options, so I'll just use the tall sprite.


 


Thanks. The kernel options in the program I'm trying to finish cause the loss of missile1 and missile0. Here is the note I have to myself about it in my program:

 

   ;****************************************************************
   ;
   ;  The kernel options below cause the loss of missile1 and
   ;  missile0.
   ; 
   ;  But the missiles can be used as top to bottom strips using
   ;  ENAM0 = 2 and ENAM1 = 2 and turned off using ENAM0 = 0 and
   ;  ENAM1 = 0. (ENAM0{1} = 1 and ENAM1{1} = 1 can also be used.)
   ;  The colors of a multi-colored sprite will show up in the
   ;  missile at the same horizontal position. It can be used as a
   ;  bonus item at the side away from the playfield pixels (the
   ;  whole strip will cover up part of the playfield). You must
   ;  be careful because the missile can be touched from top to
   ;  bottom, not just at the spot where you see color.
   ;
   set kernel_options player1colors no_blank_lines pfcolors

 

Player1 is a multicolored sprite and the missile1 strip is used as a bonus item. Player0 is used as the left border and the missile0 strip is used as the right border.

 

post-13-0-80707000-1458382660.gif

 

Couldn't you save p0 and missile0 and use PF0=128 for the vertical borders?



#8 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • Topic Starter
  • 28,070 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Mon Mar 6, 2017 6:11 PM

Couldn't you save p0 and missile0 and use PF0=128 for the vertical borders?[/size]


That was an older post. I'm only using the missile now for the borders. PF0 won't show a full border because of the thin line trick:

atariage.com/forums/topic/253089-gyvolver/

 

Use the left difficulty switch to turn PF0 off and on and you'll see what I mean.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users