Jump to content
IGNORED

Multisprite CTRLPF $03 Sprites Behind Playfield


Gemintronic

Recommended Posts

Hey there fellas!

 

I think I found an undocumented "feature" of CTRLPF $03 in the Multi Sprite Kernel.  Basically, any value of p (where CTRLPF is $bp) at 3 or above also causes sprites to move behind the playfield.

https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#ctrlpf 

 

I was trying to use the dual playfield colors to hide either the left or right copy of the playfield.  The theory being sprites can show on one side and an effectively asymmetrical playfield display on the other.  Problem is: when the sprites are behind the playfield the hidden playfield pixels block out the sprites.

 

Is there any way to revert the sprites back to being in the foreground AND retain the dual colors feature of CTRLPF $03

 

Or, any assembly hack to just disable playfield drawing for one of the screen sides?

 

 

Thank you in advance for any clues! 

playsprite001.bas.png

playsprite001.bas playsprite001.bas.asm playsprite001.bas.bin

  • Thanks 1
Link to comment
Share on other sites

"Split color playfield" is really SCORE MODE.  

 

1062862757_ScreenShot2021-04-08at9_52_17AM.thumb.png.79c4b11482afa2ea13eb54be74ae59e5.png

 

When turned on:

  • left half of playfield takes on the color player 0
  • right half of playfield takes on the color player 1

It's for displaying scores via the playfield where each player's score matches their color.

 

155538393_SpaceWar(1978)(Atari)_dbg_b1f50c6c.thumb.png.c804f6840a415c2c6bbc248037d98573.png

 

1885345447_SpaceWar(1978)(Atari)_dbg_b1f52d09.thumb.png.854f9c07f42e035b74d8f32f990605c4.png

 

Besides taking on the color, the two sides of the playfield take on the priority of the respective players in score mode. Player 0 always has priority over player 1, so the left playfield will have priority over player 1 when using score mode.

 

1953657661_ScreenShot2021-04-08at9_51_30AM.thumb.png.7b3062ddc2a38e899c7845d65e1612d0.png

  • Thanks 1
Link to comment
Share on other sites

9 minutes ago, SpiceWare said:

"Split color playfield" is really SCORE MODE. 

 

Thank you for the explanation!    So, the work around would have to be either:

 

* Rewrite the multi sprite kernel to stop drawing the playfield when it reaches the center or

 

* Rewrite the multi sprite kernel to use player0 for virtual sprites instead of player1

 

Is that it?

  • Like 1
Link to comment
Share on other sites

4 minutes ago, Gemintronic said:

 

Thank you for the explanation!    So, the work around would have to be either:

 

* Rewrite the multi sprite kernel to stop drawing the playfield when it reaches the center or

 

* Rewrite the multi sprite kernel to use player0 for virtual sprites instead of player1

 

Is that it?

 

Or you switch the design of the game and us the left side for displaying the playfield and the right side for the virtual sprites?

 

  • Like 1
Link to comment
Share on other sites

4 minutes ago, Al_Nafuur said:

 

Or you switch the design of the game and us the left side for displaying the playfield and the right side for the virtual sprites?

 

 

With batari BASIC using player1 for the virtual sprites that means those virtual sprites become background color (and therefore invisible).  Plus, player0 would have to be the main foreground color making the whole game unicolor.

 

Quite a catch 22 :)

playsprite002.bas.png

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