Jump to content

Change CTRLPF Mid-Screen.


Recommended Posts

Is it possible to change CTRLPF mid-screen?  


For example, if you would want sprites to go behind the playfield on the top half of the screen but not on the bottom would thus be possible? 


Or would this require a custom kernel?

Link to comment
Share on other sites

Probably something in assembly with your own graphical kernel.


You could fake it by changing the player0pointerlo and player0pointerhi values for player0 (change the 0 to whatever player you need)


Basically, you'd be trimming the sprite shorter and shorter the further down you go in the "foreground" area.


Er, but.. fooling around with the playerxpointerhi/lo is still super advanced territory for me and usually gives unexpected results.

Link to comment
Share on other sites

You need a custom kernel for that.


In theory, you could mask ordinary sprites without any special NUSIZxx properties (no stretching or repeating) in software, but you probably need to use ARM to do that in a practical way. The TIA doesn't tell you where or how you collided with the playfield--only that you did. So, you have to build your own representation of the playfield and compare the sprite. That's going to be expensive.


I think bB DPC+ kernel could be hacked to hammer CTRLPF by giving up half the background color changes, but you'd be wasting a lot of space. Repurposing half the background color data would use entire bytes to store the playfield priority status on every other "line" (at your chosen playfield "resolution") and the condition is logically boolean.

  • Like 1
Link to comment
Share on other sites

26 minutes ago, Karl G said:

Yeah it would take a custom kernel. I could probably modify the standard kernel to do this, but it may have a "cost" like other kernel options. I'll take a look at it this weekend. 

I had no really need for it. I was just curious if it was something possible. Just me pondering stuff I shouldn't when I should really be working on other projects. Lol


In one of my projects I would change it depending on the placement of the player sprite, so that they may go behind it if on the far left or right but not the center. But then I make sure if I don't want other sprites to go behind the playfield if the player does that they never go near the playfield because once the player crosses that boundary CTRLPF affects everything. 

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

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.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...