Jump to content
Sign in to follow this  
MausGames

Score Jitters

Recommended Posts

In bB 1.0, using vertical scrolling causes the score to stretch and jitter. It makes the game take up about two more scanlines each time it jitters, but stella says the scanline count stays at 262.

 

Is there a fix or reason for this? It kind of gives me a headache and makes games look crappy.

Share this post


Link to post
Share on other sites

Probably a page-wrapping issue, but to know for sure I'd need to see some code. I've not encountered this particular problem before.

Share this post


Link to post
Share on other sites
Probably a page-wrapping issue, but to know for sure I'd need to see some code. I've not encountered this particular problem before.

 

I think it most likely has to do with kernel options I'm using, but I can't figure it out. Also, vertical scrolling with PFcolors or Background kernel options looks horrible and "bounces". Since it doesn't seem to be possible to make the colors stay completely still during scrolling, would it be possible to just make the colors always scroll along with the playfield?

 

Here is an example of vertical scrolling causing score-bounce:

00aRALF.bas

00aRALF.bas.bin

Edited by MausGames

Share this post


Link to post
Share on other sites

I was also wondering why I can't clear an entire horizontal playfield line anymore. I tried using:

 

PFHLINE 0 0 31 off

 

That takes more cycles than I have, even if it's the only line in the gameloop besides drawscreen. In the example I posted, I'm clearing half a line during Vblank. Trying to clear the whole line in vblank causes the screen to shake. I can split it up over two or three frames, but it seems like clearing horizontal lines would be more efficient than it is. I haven't had any luck yet creating an efficient, working playfield scrolling routine - for horizontal or vertical scrolling.

Edited by MausGames

Share this post


Link to post
Share on other sites
I was also wondering why I can't clear an entire horizontal playfield line anymore. I tried using:

 

PFHLINE 0 0 31 off

 

That takes more cycles than I have, even if it's the only line in the gameloop besides drawscreen. In the example I posted, I'm clearing half a line during Vblank. Trying to clear the whole line in vblank causes the screen to shake. I can split it up over two or three frames, but it seems like clearing horizontal lines would be more efficient than it is. I haven't had any luck yet creating an efficient, working playfield scrolling routine - for horizontal or vertical scrolling.

 

Found the problem with the kernel - sometimes it's off by two cycles on that last line when we start to display the score. Should be able to pad it with a NOP or something.

 

As for the pfhline, superchip RAM is slower, and the command was never that efficient for clearing entire lines anyway.

 

A better way to clear an entire line is to directly access PF RAM. If you're using a 24-high PF, for example, I think you would just go:

w032=0:w033=0:w034=0:w035=0

Share this post


Link to post
Share on other sites

w032=0:w033=0:w034=0:w035=0

 

adding this to the main loop or vblank didn't work, all I get is a black screen.

 

Actually, trying to write to any superchip ram gets me an empty black screen.

Edited by MausGames

Share this post


Link to post
Share on other sites
w032=0:w033=0:w034=0:w035=0

 

adding this to the main loop or vblank didn't work, all I get is a black screen.

 

Actually, trying to write to any superchip ram gets me an empty black screen.

That is a mystery to me.

 

However, I did find the problem with the kernel. It was a little more serious than two cycles, so this kernel hack will likely just fix it for whatever kernel options you are using in your game.

skralf.zip

Share this post


Link to post
Share on other sites

Thanks, that did fix the bouncing score, but now Stella says my game only has 261 scanlines. I've tried different kernel options, and I still can't get superchip variables to work. Trying even one gives me a blank screen. If I try "dim w = w032" I get blue bars that move in to fill the screen.

 

Would it help if I posted the asm file?

00aralf.asm.bas

Edited by MausGames

Share this post


Link to post
Share on other sites

So am I the only one who can't access Superchip variables?

 

I tried a clean install of bB 1.0 and referencing superchip variables still crashes my game.

 

Can anyone with bB 1.0 download my source from the first post and try adding superchip variables to it, and see if it compiles and works for them?

 

It's always something, isn't it?

Edited by MausGames

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...