+ZeroPage Homebrew Posted April 3, 2021 Share Posted April 3, 2021 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: - James 1 Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 3, 2021 Author Share Posted April 3, 2021 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: - 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 ? 1 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted April 3, 2021 Share Posted April 3, 2021 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 Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 3, 2021 Author Share Posted April 3, 2021 (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 April 3, 2021 by JetSetIlly 1 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted April 4, 2021 Share Posted April 4, 2021 (edited) Might be a priority issue? Or VDELed ball or missile? Hard to tell just from a picture. Edited April 4, 2021 by Thomas Jentzsch Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 4, 2021 Author Share Posted April 4, 2021 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. Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted April 4, 2021 Share Posted April 4, 2021 (edited) Maybe @ZeroPage Homebrew could post a screenshot from Stella with debug colors enabled (not sure if Gopher2600 has that feature). Edited April 4, 2021 by Thomas Jentzsch Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 4, 2021 Author Share Posted April 4, 2021 (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 April 4, 2021 by JetSetIlly Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted April 4, 2021 Share Posted April 4, 2021 8 hours ago, JetSetIlly said: But yes, it would be a help if @ZeroPage Homebrew could post a Stella screen shot with debug colors. No problem, here you go! - James Spoiler Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted April 4, 2021 Share Posted April 4, 2021 Thanks. Looks like a ball priority problem to me. @ZeroPage Homebrew Can you post the same shot but with P1 disabled, please? 1 Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 4, 2021 Author Share Posted April 4, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 4, 2021 Author Share Posted April 4, 2021 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. 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. Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted April 4, 2021 Share Posted April 4, 2021 Since it seems to work in Stella, maybe compare your logic with ours. Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 4, 2021 Author Share Posted April 4, 2021 (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 April 4, 2021 by JetSetIlly Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 4, 2021 Author Share Posted April 4, 2021 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? 1 Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 4, 2021 Author Share Posted April 4, 2021 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. 2 Quote Link to comment Share on other sites More sharing options...
alex_79 Posted April 5, 2021 Share Posted April 5, 2021 Here is another test rom for "score mode": And in this post @supercat gives a more technical explanation about how it works: 2 Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 5, 2021 Author Share Posted April 5, 2021 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! Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 5, 2021 Author Share Posted April 5, 2021 New version with scoremode/priority fix: https://github.com/JetSetIlly/Gopher2600/releases/tag/v0.10.1 @ZeroPage Homebrew Please can you test with Circus Convoy. Thanks. 3 Quote Link to comment Share on other sites More sharing options...
+ZeroPage Homebrew Posted April 7, 2021 Share Posted April 7, 2021 (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: Hooray! The giraffe is no longer a mutant! Gopher2600 0.10.1: Edited April 7, 2021 by ZeroPage Homebrew 1 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted April 7, 2021 Share Posted April 7, 2021 Maybe I missed something, but I don't think they are using score mode here. Then the ball could not be colored individually. Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 7, 2021 Author Share Posted April 7, 2021 4 hours ago, ZeroPage Homebrew said: Sorry for the delay, four day long weekend... Looks like that fixed it! Phew ? 1 Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 7, 2021 Author Share Posted April 7, 2021 (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 April 7, 2021 by JetSetIlly Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted April 7, 2021 Share Posted April 7, 2021 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. Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted April 7, 2021 Author Share Posted April 7, 2021 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: Real colors: Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.