Wilheim Posted February 5, 2020 Share Posted February 5, 2020 Hi, all! After a discussion in a FB Group, I noticed that the game Gyruss had 4 bugs: 1. In the CAR version, it shows different colors from the XEX version. At first I thought it was normal as if they were different version, but then I saw the machine code inside the ROM and realized that it had a bug, taking the wrong address. 2. In two player mode, both XEX and CAR versions shows the same pallete of colors from player 1. That means, for example, that if player 1 is on stage 2 and player 2 is on stage 1, player 2 will show the colors from stage 2. 3. In the XEX version, the chance stages are decreasing the number of ships each time you play the game. That is because it writes on the cartridge memory zone where it's supposed to be ROM. 4. In the XEX version, from time to time you get stucked at the end of a stage, so you have to lose a life in order to continue. Well, I dug up into the machine code and I was able to patch them. Here's attached both XEX and CAR version of the game. It's supposed to be U1MB and VBXE friendly, so I will appreciate any feedback you can give me. Best regards! Gyruss patched v3.zip 26 8 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted February 5, 2020 Share Posted February 5, 2020 Thank you for your time and effort, will have a good old play of these.. Cheers.. 1 Quote Link to comment Share on other sites More sharing options...
+cjherr Posted February 5, 2020 Share Posted February 5, 2020 Thank you! 1 Quote Link to comment Share on other sites More sharing options...
baktra Posted February 5, 2020 Share Posted February 5, 2020 @Wilheim, would you disclose more technical details? The nature of the bugs, and how you fixed them? 5 Quote Link to comment Share on other sites More sharing options...
Wilheim Posted February 5, 2020 Author Share Posted February 5, 2020 5 minutes ago, baktra said: @Wilheim, would you disclose more technical details? The nature of the bugs, and how you fixed them? Sure, no problem. The bugs for the XEX version I noticed back in the 80s, when I was just only playing games. It was frustrating to me because I only had one chance to get a perfect score on the chance stages, every time I loaded the game. When I bought a Gyruss cart from eBay, I noticed also that the colors where not correct and it changed from time to time almost randomly. I assumed that the cartridge version worked that way. When I started using Altirra debugger, I tried to figure out why the XEX version was having that bug. I decided to trace a breakpoint to any write in the zone $8000-$bfff if there is any version. Using that, I found two LSR instructions in the memory zone mentioned. To fix this, I added a small portion of code that makes the same result without writing the ram cartridge zone and replaced the original code with two JSR to that routines. It worked! Example of original code: LDA #$00 LSR $9465,X ROR Total bytes used: 6 Patched code (using a JSR in the middle so I don't move any byte further): LDA $9465,X AND #$01 LSR ROR Total bytes used:7. That's why I used a JSR. To the players colors, I found the bug by analizing the colors routine from bug 1. I noticed that the colors were based on a fixed location ($A3), that represented the stage for player one. The location for player 2 stage was $A4. In order to fix that, I replaced the two bytes for the instruction (LDA $A3) to a PHA and PLA from previous routines and save the player stage for later use. That way, I was able to use the same number of bytes and use that for the cartridge version. 15 Quote Link to comment Share on other sites More sharing options...
tjlazer Posted February 8, 2020 Share Posted February 8, 2020 Very nice, thanks for sharing! 2 Quote Link to comment Share on other sites More sharing options...
+therealbountybob Posted February 8, 2020 Share Posted February 8, 2020 Thanks for doing this Wilheim that end of stage bug really should have been fixed a long time ago, great game and now even better for High Score Club action - will add it to the next poll 1 Quote Link to comment Share on other sites More sharing options...
xxl Posted February 8, 2020 Share Posted February 8, 2020 On 2/5/2020 at 5:17 PM, Wilheim said: Example of original code: LDA #$00 LSR $9465,X ROR Total bytes used: 6 Patched code (using a JSR in the middle so I don't move any byte further): LDA $9465,X AND #$01 LSR ROR Total bytes used:7. That's why I used a JSR. no need JSR lda $9465,x alr #$01 ror @ 6 bytes 2 1 1 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted February 8, 2020 Share Posted February 8, 2020 5 hours ago, xxl said: no need JSR lda $9465,x alr #$01 ror @ 6 bytes The "advantage" to this is it's an illegal opcode so it will break on many upgrades. Perfect solution! 3 2 Quote Link to comment Share on other sites More sharing options...
Wilheim Posted February 9, 2020 Author Share Posted February 9, 2020 12 hours ago, xxl said: no need JSR lda $9465,x alr #$01 ror @ 6 bytes Thank you for your suggestion. I prefer not to use illegal opcodes for the moment, and, fortunately, it doesn’t affect noticeably the performance. Moreover, I was able to use the $4000 address because the original cartridge game works on 16kb machines. 4 Quote Link to comment Share on other sites More sharing options...
devwebcl Posted May 13, 2020 Share Posted May 13, 2020 (edited) wrong thread Edited May 13, 2020 by devwebcl 1 Quote Link to comment Share on other sites More sharing options...
Jacques Posted May 14, 2020 Share Posted May 14, 2020 (edited) On 2/5/2020 at 1:53 PM, Wilheim said: 4. In the XEX version, from time to time you get stucked at the end of a stage, so you have to lose a life in order to continue. Thank you for that particular fix! As a child in the early 90's I suffered exactly the same problem being very close to Earth, there were no enemies anymore after bonus stage, the music was looped, I had the only life and couldn't advance to next level. Damn, that was demotivating as I was so curious what happens reaching Earth. It cured me off Gyruss for quite a long time Edited May 14, 2020 by Jacques 3 Quote Link to comment Share on other sites More sharing options...
Dracon Posted May 16, 2020 Share Posted May 16, 2020 Could any1 provide patched version with these fixes, please? Gyruss was one of the 1st Atari games I played, so it'd cool to checki ita again, yeah! Quote Link to comment Share on other sites More sharing options...
Sugarland Posted May 16, 2020 Share Posted May 16, 2020 12 minutes ago, Dracon said: Could any1 provide patched version with these fixes, please? Gyruss was one of the 1st Atari games I played, so it'd cool to checki ita again, yeah! First post above. 1 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted May 17, 2020 Share Posted May 17, 2020 Yes, images / roms posted on to AA remain live indefinitely, links to outside sites may not.. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted May 17, 2020 Share Posted May 17, 2020 (edited) I have a suggested addition for your patch (or at least for an alternate version). Change the colors for any "red" levels to something else. Why? Because the score text is red, and the display ends up looking way too monochrome on those levels. The Atari has a big enough palette to allow finding something else more suitable. Either that, or change the score panel text to something that doesn't conflict with any of the level colors. [Note: Yeah, I could probably just do this myself; but since you've already got a handle on things, it'd probably be pretty simple for you to change.] Edited May 17, 2020 by MrFish Quote Link to comment Share on other sites More sharing options...
Jacques Posted May 17, 2020 Share Posted May 17, 2020 If anything, maybe the score panel colour could be changed, with levels I feel it would be too radical against original. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted May 17, 2020 Share Posted May 17, 2020 What's so sacred about the original? It's not following the arcade or anything. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted May 17, 2020 Share Posted May 17, 2020 Another level that I thought was never really thought out well was the brown-colored level. The yellow that's used together with the brown is so close to the yellow used for enemy fire & other elements, that you end up with basically a two-color level. I like how the brown looks, otherwise, but either another color scheme could be done, or the shots & other elements could use a different color from any level color. TBH, it makes me feel like this was, yet another, throw-together version for the Ataris from Parker Brothers (like Q-Bert, although not as bad as Q-Bert). Quote Link to comment Share on other sites More sharing options...
Jacques Posted May 17, 2020 Share Posted May 17, 2020 (edited) 1 hour ago, MrFish said: What's so sacred about the original? It's not following the arcade or anything. Sacred? Nothing, really. Is something sacred about arcade? I think Atari version stands for itself, and the author had a vision how the levels should look like, so until it's named Gyruss reloaded, deluxe, 2020, etc. and more stuff is reworked, I'd find it odd to change the colour of certain level in a bugfix version, just because someone never liked it. Score panel is another story, it's not the artwork, it's an information / counter. Edited May 17, 2020 by Jacques Quote Link to comment Share on other sites More sharing options...
+MrFish Posted May 17, 2020 Share Posted May 17, 2020 (edited) So, maybe turquoise would work for replacing the red levels, and purple would work for replacing the brown levels (or visa versa, whatever...). Originals Suggested Replacements Alternatively, the red text could be replaced with turquoise, purple, or whatever; but that doesn't take care of the issue with the brown level. Edited May 17, 2020 by MrFish 1 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted May 17, 2020 Share Posted May 17, 2020 3 minutes ago, Jacques said: I think Atari version stands for itself, and the uthor had a vision how the levels should look like, so until it's named Gyruss reloaded, deluxe, 2020, etc. and more stuff is reworked, I'd find it odd to change the colour of certain level in a bugfix version, because someone never liked it. I said "or for an alternate version". Quote Link to comment Share on other sites More sharing options...
Jacques Posted May 17, 2020 Share Posted May 17, 2020 (edited) That would be nice, if more thorough redesign could be made, like with Popeye and few other games. Edited May 17, 2020 by Jacques Quote Link to comment Share on other sites More sharing options...
+MrFish Posted May 17, 2020 Share Posted May 17, 2020 (edited) 15 minutes ago, Jacques said: I think Atari version stands for itself, and the author had a vision how the levels should look like... Yes, and I'm questioning that vision, or the lack thereof -- at least in the area of color choice on a few elements. Edited May 17, 2020 by MrFish Quote Link to comment Share on other sites More sharing options...
+MrFish Posted May 17, 2020 Share Posted May 17, 2020 (edited) 6 minutes ago, Jacques said: That would be nice, if more thorough redesign could be made, like with Popeye and few other games. What I'm talking about is quite minor, rather than a complete makeover. The graphics are done pretty well, for graphics 7 sized pixels. But, since you bring up the subject, hi-res text is usually a nice improvement to add for something like this -- and adding the arcade font. Edited May 17, 2020 by MrFish 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.