PengPeng0118 Posted January 31 Share Posted January 31 I noticed that Solaris when emulated does not show more than 2 lives "flags" after earning more throughout the game. I checked emulated gameplay on various Youtube videos and this was the case as well for those players, so its not just me. I have no means of fixing this myself, just curious who I would inform. Developers of Stella? Thanks in advance! 3 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted January 31 Share Posted January 31 Seems to be a bug, I'l create an issue. 1 Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted January 31 Share Posted January 31 8 hours ago, PengPeng0118 said: I noticed that Solaris when emulated does not show more than 2 lives "flags" after earning more throughout the game. I checked emulated gameplay on various Youtube videos and this was the case as well for those players, so its not just me. I have no means of fixing this myself, just curious who I would inform. Developers of Stella? Thanks in advance! I'm not familiar with Solaris gameplay but what's the maximum number of flags/lives you can acquire? I'm guessing 4 flags. Is that right? Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted January 31 Share Posted January 31 The RAM variable goes up to 5. At the start it is at 3, which means one current live and two reserve lives, right? So 5 means four reserve lives. Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted January 31 Share Posted January 31 2 hours ago, Thomas Jentzsch said: The RAM variable goes up to 5. At the start it is at 3, which means one current live and two reserve lives, right? So 5 means four reserve lives. Yes. Found it. There's a comparison and branch on 5 before increasing the RAM location. Quote Link to comment Share on other sites More sharing options...
PengPeng0118 Posted January 31 Author Share Posted January 31 5 hours ago, Thomas Jentzsch said: The RAM variable goes up to 5. At the start it is at 3, which means one current live and two reserve lives, right? So 5 means four reserve lives. Correct, initial gameplay startup 2 flags are displayed which really means 3 lives, I apologize for misspeaking in my original message. On the players final life no flags are present. I also saw this on Atari Compendium website, I will verify tonight also that you can't earn beyond 5 playable lives (4 flag icons). The game emulated registers the extra lives earned just doesn't display the flag. When playing the game I have to keep track in my head when I earn any extras! It would be really cool to have this fixed. Quote Link to comment Share on other sites More sharing options...
DirtyHairy Posted January 31 Share Posted January 31 (edited) 16 hours ago, PengPeng0118 said: I noticed that Solaris when emulated does not show more than 2 lives "flags" after earning more throughout the game. I checked emulated gameplay on various Youtube videos and this was the case as well for those players, so its not just me. I have no means of fixing this myself, just curious who I would inform. Developers of Stella? Thanks in advance! Fixed in git, thanks for discovering and reporting this issue 😏 The technical details (if anybody cares): The code positions P1 and P0 next to each other for the 48 pixel trick on the right side (to display the fuel gauge) and briefly switches to two copies, wide spacing to get an additional decode for both players on the left side (and display 16 pixels worth of lives). The players always show all four flags, and the playfield is used to cover the lives that have been lost, starting from the left. P0 comes first, and it so happens that NUSIZ is written in the same cycle in which the draw is decoded. As we always process the tick before the writes we miss this decode, and P0 is never displayed. Other explanations are possible, but we have very hard constraints from https://github.com/stella-emu/stella/issues/63 and other testcases that work correctly, and the solution that I settled arguably has the smallest possible fallout on all the other tests and testcases that probe those edge cases. Edited January 31 by DirtyHairy 3 Quote Link to comment Share on other sites More sharing options...
DirtyHairy Posted January 31 Share Posted January 31 7 hours ago, JetSetIlly said: I'm not familiar with Solaris gameplay but what's the maximum number of flags/lives you can acquire? I'm guessing 4 flags. Is that right? At least that's the maximum that can be displayed. Quote Link to comment Share on other sites More sharing options...
JetSetIlly Posted January 31 Share Posted January 31 40 minutes ago, DirtyHairy said: At least that's the maximum that can be displayed. Thanks. I wasn't going to dig into it too deeply because it just so happened that the four flags were already showing correctly in Gopher2600. But I was curious because when the lives counter is set to 6, the flag pattern is this: And for a value of 7: etc. But if a value of 5 is the maximum it will be, I'm not going to worry myself about it. But it would be good to get a modified binary onto real hardware to double-check. I might do that this weekend. Quote Link to comment Share on other sites More sharing options...
DirtyHairy Posted January 31 Share Posted January 31 9 minutes ago, JetSetIlly said: Thanks. I wasn't going to dig into it too deeply because it just so happened that the four flags were already showing correctly in Gopher2600. But I was curious because when the lives counter is set to 6, the flag pattern is this: And for a value of 7: etc. But if a value of 5 is the maximum it will be, I'm not going to worry myself about it. But it would be good to get a modified binary onto real hardware to double-check. I might do that this weekend. Yeah, looks the same on Stella. If you look at the code, you find It uses the value at D9 to index into a table and loads the playfield from there. The players are positioned such that the flags align exactly with the playfield pixels, so any value in d9 will load something that covers a subset of those four flags. Quote Link to comment Share on other sites More sharing options...
PengPeng0118 Posted February 1 Author Share Posted February 1 6 hours ago, DirtyHairy said: Fixed in git, thanks for discovering and reporting this issue 😏 The technical details (if anybody cares): The code positions P1 and P0 next to each other for the 48 pixel trick on the right side (to display the fuel gauge) and briefly switches to two copies, wide spacing to get an additional decode for both players on the left side (and display 16 pixels worth of lives). The players always show all four flags, and the playfield is used to cover the lives that have been lost, starting from the left. P0 comes first, and it so happens that NUSIZ is written in the same cycle in which the draw is decoded. As we always process the tick before the writes we miss this decode, and P0 is never displayed. Other explanations are possible, but we have very hard constraints from https://github.com/stella-emu/stella/issues/63 and other testcases that work correctly, and the solution that I settled arguably has the smallest possible fallout on all the other tests and testcases that probe those edge cases. Of course not a problem! I went onto github and saw what you updated. I'll be straight with you I am just a gamer and not a programmer in the slightest. That being said I have no idea how to update the version of Stella I have with what you modified in the Player.cxx file. I did download a zip file from the green get code button and now have a stella master zip folder but I didn't see a .exe file or anything in there to automatically install anything. On my computer, I go to my hard drives program files -> stella folder and don't see a .cxx file anywhere I would overwrite your modified Player.cxx file. Any help you can provide is appreciated but if its too much work to explain its all good and I'll wait for the next release. Cheers! Quote Link to comment Share on other sites More sharing options...
DirtyHairy Posted February 1 Share Posted February 1 (edited) Source code needs to be compiled into an executable before you can run it. I am afraid that, unless you know how to build from source, you'll have to wait for a new release. What OS are you using? Sorry, didn't read closely enough, you said .exe, so evidently Windows 😏 Edited February 1 by DirtyHairy 1 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.