Jump to content
IGNORED

Gopher2600 (continuing development on Github)


JetSetIlly

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
Link to comment
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
Link to comment
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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
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
Link to comment
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!

 

 

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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

Link to comment
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

 

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