Jump to content
IGNORED

wonky playfield behavior with CTRLPF = $10


BenMcLean

Recommended Posts

The playfield goes all wonky and doesn't match what I put in visually when I use CTRLPF = $10 with " set kernel_options player1colors playercolors pfcolors". Any idea why that's happening? I've attached a test case.

default.bas

 

Also, I am going to need to use pfread with those kernel options if possible. Does this mean I need to add a module? Random Terrain's site seems to indicate this, but doesn't really explain whether one should use the official pfread_msk.asm or bogax's version.

Link to comment
Share on other sites

$10 doesn't seem like a valid option according to R.T.s chart. Have you tried $11 instead?

 

Update: Also, I vagualy remember not having great success with the old pfread_msk.asm. I'd go for whatever bogax did. Remember: it's only for the multi-sprite kernel.

 

Update update: Meaning, pfread is built-in for the other kernels.

Link to comment
Share on other sites

but doesn't really explain whether one should use the official pfread_msk.asm or bogax's version.

 

I don't think it matters.

 

IIRC

Someone said pfread didn't work

so I threw out a little bit of code

that did work

 

but when I got around to looking at

original msk pfread I didn't find anything

wrong with it, it worked fine.

 

 

Link to comment
Share on other sites

If you check the Stella Programmer's Guide over at MiniDig you'll see that D0 of CTRLPF controls whether the playfield is Reflected or Repeated.

 

bB kernels are designed for a Reflected playfield, which means D0 must be set to 1 (that's why all the listed values are odd).

CTRLPF

This address is used to write into the playfield control register (logic 1 causes action as described below)
D0 = REF (reflect playfield)
D1 = SCORE (left half of playfield gets color of player 0, right half gets color of player 1)
D2 = PFP (playfield gets priority over players so they can move behind the playfield)
D4 & D5 = BALL SIZE

Link to comment
Share on other sites

I don't think it matters.

 

IIRC

Someone said pfread didn't work

so I threw out a little bit of code

that did work

 

but when I got around to looking at

original msk pfread I didn't find anything

wrong with it, it worked fine.

 

 

 

I was probably the one having issues with the pfread_msk.asm and the multi-sprite kernel. It's a quirky beast. I'm not surprised pfread works for some people and not others.

Link to comment
Share on other sites

I'm gonna message RandomTerrain to suggest that his chart should say $11 instead of $1x

$13, $15 and $17 will also work. That section should probably be revised along the lines of:

 

 

 

CTRLPF

 

Changes properties of the playfield and ball.

 

Use value $bp where b is the ball setting and p is the playfield setting.

 

b = 0 for a 1 pixel wide ball

b = 1 for a 2 pixel wide ball

b = 2 for a 4 pixel wide ball

b = 3 for an 8 pixel wide ball

 

p = 1 for a "normal" bB playfield

p = 3 for "special color" playfield where left half of PF gets player0 color, right half gets player1 color

p = 5 for players move behind playfield

p = 7 for both "special color" and "payers behind" playfield

 

For example, $25 will set a 4 pixel wide ball and make the players move behind the playfield

 

Note that ball and playfield properties are both set with a single write.

Edited by SpiceWare
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...