Jump to content
JetSetIlly

Gopher2600 - v0.15.0

Recommended Posts

2 hours ago, JetSetIlly said:

In addition to Movie Cart, I've fixed the Superbank bank-switching method. I don't have a copy of Circus Convoy to test that but hopefully someone can try it to see if it works.

Circus Convoy plays great on the new version! I played for about 5 mins or so but it does have an issue with...

 

Spoiler

drawing the giraffe a little bit:

 

image.thumb.png.53427c3433d329eb7c7560ca61e8d471.png

 

- James

  • Thanks 1

Share this post


Link to post
Share on other sites
1 minute ago, ZeroPage Homebrew said:

Circus Convoy plays great on the new version! I played for about 5 mins or so but it does have an issue with...

 

  Hide contents

drawing the giraffe a little bit:

 

image.thumb.png.53427c3433d329eb7c7560ca61e8d471.png

 

- James

 

Interesting. I doubt it's anything to do with Superbank but you never know.

 

One thing you could do is press F9. That will bring up the TIA revisions window. See if any of the options are selected. If there are you should unselect them. If they're already unselected, try toggling them in sequence to see if it has any effect. It's a long shot but it might give me a clue if it changes anything.

 

But thanks for showing me that it works! That pleases me enormously 🙂

 

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, JetSetIlly said:

 

Interesting. I doubt it's anything to do with Superbank but you never know.

 

One thing you could do is press F9. That will bring up the TIA revisions window. See if any of the options are selected. If there are you should unselect them. If they're already unselected, try toggling them in sequence to see if it has any effect. It's a long shot but it might give me a clue if it changes anything.

 

But thanks for showing me that it works! That pleases me enormously 🙂

 

No problem!

 

I tried toggling all the TIA revisions but none of them had any effect on the graphics.

 

- James

Share this post


Link to post
Share on other sites
Posted (edited)
2 minutes ago, ZeroPage Homebrew said:

No problem!

 

I tried toggling all the TIA revisions but none of them had any effect on the graphics.

 

- James

 

Thanks. It was a long shot but worth trying.

 

Edited by JetSetIlly
  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

Might be a priority issue? Or VDELed ball or missile? Hard to tell just from a picture.

Edited by Thomas Jentzsch

Share this post


Link to post
Share on other sites
6 minutes ago, Thomas Jentzsch said:

Might be a priority issue? Or VDELed ball or missile? Hard so say.

 

Yes. I was thinking that. The test binary attached to this Stella issue is the best test case I know of for priority issues and Gopher2600 passes that.

 

https://github.com/stella-emu/stella/issues/58

 

I would guess the problem pixels are from the ball so I'm guessing it's something to do with that, possibly vertical delay as you say.

Share this post


Link to post
Share on other sites
Posted (edited)

Maybe @ZeroPage Homebrew could post a screenshot from Stella with debug colors enabled (not sure if Gopher2600 has that feature).

Edited by Thomas Jentzsch

Share this post


Link to post
Share on other sites
Posted (edited)
3 minutes ago, Thomas Jentzsch said:

Maybe @ZeroPage Homebrew could post a screenshot from Stella with debug colors enabled (not sure if Gopher2600 has that feature).

It does. The problem with Gopher2600 at the moment is that you can't flip to the debugger mode from the play mode. So you have to play the game in "debug mode" which is inherently slower because of the longer loop.

 

But yes, it would be a help if @ZeroPage Homebrew could post a Stella screen shot with debug colors.

Edited by JetSetIlly

Share this post


Link to post
Share on other sites

Thanks. Looks like a ball priority problem to me.

 

@ZeroPage Homebrew Can you post the same shot but with P1 disabled, please?

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, Thomas Jentzsch said:

Thanks. Looks like a ball priority problem to me.

 

@ZeroPage Homebrew Can you post the same shot but with P1 disabled, please?

I agree. It does.

  • Like 1

Share this post


Link to post
Share on other sites

Looking at my implementation. The ball will have priority over the player sprites when (a) the priority bit is set or (b) when scoremode is on and we're in the left hand side of the playfield. So either the priority bit is set or the scoremode is on for the bug to be visible.

 

So either my priority assumption is wrong or the emulator thinks priority or scoremode is set when it isn't. I can't believe the latter, but I can believe the former. This is the code that decides pixel priority.

 

image.thumb.png.d7290e9202e01d28b723545d7d49ae46.png

 

As you can see, the TODO suggests I wasn't 100% happy but couldn't find any test cases that contradicted it.

 

This is an "optimised" version (branches culled). The unoptimised version will be in the Github repository. I'll dig it out. Maybe I made a subtle mistake.

Share this post


Link to post
Share on other sites

Since it seems to work in Stella, maybe compare your logic with ours.

Share this post


Link to post
Share on other sites
Posted (edited)
4 minutes ago, Thomas Jentzsch said:

Since it seems to work in Stella, maybe compare your logic with ours.

Okay. Where in the source will it be do you think?

 

on edit: TIA.cxx

Edited by JetSetIlly

Share this post


Link to post
Share on other sites

That's interesting. The ball has the lowest priority in score mode according to Stella. How on Earth did I miss that fact?! Haha

 

@ZeroPage Homebrew Can you confirm that 'Score' mode is on at the point the Giraffe is being drawn?

  • Like 1

Share this post


Link to post
Share on other sites
29 minutes ago, JetSetIlly said:

That's interesting. The ball has the lowest priority in score mode according to Stella. How on Earth did I miss that fact?! Haha

 

@ZeroPage Homebrew Can you confirm that 'Score' mode is on at the point the Giraffe is being drawn?

So, the ball had lowest priority on the right hand side of the screen but high priority on the left hand side of the screen. This is wrong and would account for what we see in the screen shot. I've changed it and it passes all regression checks.

 

I'll wait for James to confirm that Score mode is enabled and post a new binary.

  • Like 2

Share this post


Link to post
Share on other sites

Here is another test rom for "score mode":

And in this post @supercat gives a more technical explanation about how it works:

 

 

 

  • Like 2

Share this post


Link to post
Share on other sites
10 minutes ago, alex_79 said:

Here is another test rom for "score mode":

And in this post @supercat gives a more technical explanation about how it works:

 

 

Thanks for that. I've not seen the test ROM in the first post before. Interestingly, the ROM gives exactly the same output with the old code as it does with the fixed code. I think this is because the priority of the ball in score-mode is not being explicitly tested for.

 

The second link I have seen. It was my misinterpretation of what was being said that caused the error. To summarise, I was changing the priority of the ball in scoremode if the priority bit was set.

 

I'm fairly certain I have it solved now. Once it's confirmed that Circus Convoy outputs correctly, I'll create a specific test ROM to make sure I don't regress in future.

 

Thanks for your help!

 

 

Share this post


Link to post
Share on other sites
Posted (edited)

Sorry for the delay, four day long weekend...  

Looks like that fixed it!

 

- James

 

Spoiler

Oh the humanity, what happened to the poor giraffe!
 

Stella 6.5.2 w/ P1 disabled:
image.thumb.png.998e26da4d00622ee4651d64e4f54765.png



Hooray! The giraffe is no longer a mutant!

Gopher2600 0.10.1:
image.thumb.png.2230e1b127c6cd7316112a4248635ea0.png


 

 

Edited by ZeroPage Homebrew
  • Thanks 1

Share this post


Link to post
Share on other sites

Maybe I missed something, but I don't think they are using score mode here. Then the ball could not be colored individually.

Share this post


Link to post
Share on other sites
4 hours ago, ZeroPage Homebrew said:

Sorry for the delay, four day long weekend...  

Looks like that fixed it!

Phew 🙂

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
2 hours ago, Thomas Jentzsch said:

Maybe I missed something, but I don't think they are using score mode here. Then the ball could not be colored individually.

 

The candidate pixels at that point on the screen are from the background, player 1 or the ball.

Edited by JetSetIlly

Share this post


Link to post
Share on other sites
1 hour ago, JetSetIlly said:

The candidate pixels at that point on the screen are from the background, player 1 or the ball.

Assuming they don't do mid-line color changes it has to be the ball for the extra dots. And its color is different from both players. So it cannot be score mode.

Share this post


Link to post
Share on other sites
49 minutes ago, Thomas Jentzsch said:

Assuming they don't do mid-line color changes it has to be the ball for the extra dots. And its color is different from both players. So it cannot be score mode.

The ball can be a different color to the players even in score mode. In scoremode the color of the ball is not changed - the playfield color changes to match the player of course, but not the ball.

 

You can see this in the score mode/priority test ROM (using Stella in this instance).

 

Debug colors:

image.thumb.png.70b93b9c834a959c088903872d9ac67b.png

 

Real colors:

image.thumb.png.45e7d030d865ad35435ed01efb42d254.png

 

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