Jump to content
IGNORED

Mirrored Playfield in Standard Kernal?


Animan

Recommended Posts

Is it possible to use a mirrored playfield in the standard kernal? Will it allow me to free up the playfield variables on the right side, since those pixels are basically mirrored from the left pixels? Or do I have to use the six sprite kernal to do this?

Link to comment
Share on other sites

Is it possible to use a mirrored playfield in the standard kernal? Will it allow me to free up the playfield variables on the right side, since those pixels are basically mirrored from the left pixels? Or do I have to use the six sprite kernal to do this?

You'll have to modify the kernel to do that.

 

Michael

Link to comment
Share on other sites

OK, I think by default the variables freed are var24-var47, but since this is an undocumented feature, it's probably not well tested. If someone wishes to test and report back, feel free.

 

Alternatively, I think you can also set pfres higher, up to 24, and get double vertical resolution, and this will use up the remaining "var" variables.

 

Also, another feature is you can create a 16-wide playfield about the center using "const pfhalfwidth=1" and "const pfcenter=1" which was created to allow block puzzle games (of which a couple have been made.)

Link to comment
Share on other sites

There seems to be blank lines between each row.

 

This:

 

  playfield:
  XXXXXXXXXXXXXXXX
  X..............X
  X..............X
  X..............X
  XXXXXXXXXXXXXXXX
end

 

 

Ends up looking like this:

 


  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  X              XX              X

  X              XX              X

  X              XX              X

  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

 

Here's the .bin file to use with an emulator:

 

pfhalfwidth_test_2011y_07m_14d_0433t.bin

 

 

Here's the bB code:

 

pfhalfwidth_test_2011y_07m_14d_0433t.bas

Link to comment
Share on other sites

The playfield command doesn't appear to generate playfield data that's compatible with the new feature - it's still generating 4 bytes of rom data, even though your playfield is 2 bytes wide. From the generated assembly...

 

PF_data0
.byte %11111111, %11111111, %00000000, %00000000
.byte %10000000, %10000000, %00000000, %00000000
.byte %10000000, %10000000, %00000000, %00000000
.byte %10000000, %10000000, %00000000, %00000000
.byte %11111111, %11111111, %00000000, %00000000

 

...when I remove the right two bytes the data from each line and assemble it, it looks like it should.

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