Jump to content
IGNORED

Circus Convoy: Bunny Bugs on Atari Jr?


root42

Recommended Posts

7 hours ago, PitfallCreator said:

Thanks to all for calling attention to these bugs.  Unfortunately this is the first I heard of them, and only when Matt Pilz mentioned it in passing on the AtariAge Facebook site over the weekend.  I don't know why your bug reports never reached us, but that contact page still relies on email.  And any of you who manage a site that generates emails can attest that 7,000 ISPs in the US use 7,000 different blocking algorithms. I will make it a point to improve on the contact system, maybe bypassing email.

 

The question now is what do you think we should do about it?  Do you want to send in your physical carts for replacement?  Maybe those of you who play exclusively on the Jr. would like a loose cart with the new code and a second serial number?  I want to hear from you what you think will make it right.

Hello David,

 

Thank you for looking into this. I'm really glad you replied and totally understand the emails not getting through.

 

For myself I'm happy with the physical cart as is, and thank you to Garry and yourselves for writing it. I don't play it on a Jr and don't have any issues on my light sixer. Thinking about it though, how about a fixed release of the downloadable for people that bought the collectors or VIP editions? I expect people that have a physical cart and have issues with bunny death on a Jr probably want to exchange carts as that can be a game ending bug.

 

I do wish the cart was somehow field upgradable to fix bugs without returning, although I realize that's not the case here.

 
  • Like 3
Link to comment
Share on other sites

12 hours ago, PitfallCreator said:

At the very least Stella will be a part of our testing strategy going forward.

Very cool I hope the Stella team learns from you as well and improves support for classic development! :) 

 

New bugs creep into Stella through new development like emulating the SuperCharger loading screen and leaving the playfield mirrored, and via different implementation ideas on real hardware.  

 

  • Like 1
Link to comment
Share on other sites

15 hours ago, PitfallCreator said:

The question now is what do you think we should do about it?  Do you want to send in your physical carts for replacement?  Maybe those of you who play exclusively on the Jr. would like a loose cart with the new code and a second serial number?  I want to hear from you what you think will make it right.

 

Some 20 years ago I programmed and self-manufactured my own game.  Unfortunately for me, after posting all 100 custom-made wooden boxes and cartridges a bug was found/reported. The bug was very very infrequent, but significant.  So I was in a bit more of a quandry than you are, as it was a fatal crash bug. I came up with a solution which left me pretty much completely out of pocket for the whole debacle but perhaps with somewhat happy customers. I gave all owners an option which went something like this:  1) They could return the cartridge (only) at my expense, and I would post them a new one (again, at my expense).  So I pay 2x postage for each cartridge.  Ouch.  But here's what saved me somewhat. Option 2) was that if they didn't want to have a replacement cartridge, then I would send them a replacement board (so they would have both "buggy" and "perfect" versions). The board, being very lightweight, meant that I only paid one-way-postage for a lighter item.  And they, of course, have much more of a desirable "collectable". Nearly all of those people who responded opted for the board.  But still, it was a nightmare.  My credo here is that I want my customers to have the best I can deliver, and be happy with their purchases. Even if I take a loss.

I'm not implying/suggesting/advising that this is what you should do. I'm just giving a reasonably close example of what did.

 

 

Edited by Andrew Davie
  • Like 1
Link to comment
Share on other sites

13 hours ago, PitfallCreator said:

I have always had nothing but praise for Stella, but as an old-schooler I have trouble getting over the idea that no matter how good the emulator there is no substitute for testing on real hardware.  That is changing.  At the very least Stella will be a part of our testing strategy going forward.  

There is another, very new, emulator called Gopher2600.

It is, in my view, amazingly accurate and an excellent complement to Stella.  It is my everyday go-to emulator when I'm developing.

At the very least, before any release, I'd do a bit of testing on both these emulators.

 

  • Thanks 1
Link to comment
Share on other sites

15 hours ago, PitfallCreator said:

Kudos for you who realized it was a missing '#'.  (I will tell a story about how that was discovered at Atari separately.) In my defense, the Circus Convoy source code contains 1,450,941 characters.  Are you going to hold it against me that there were 2 missing characters?

Some of us will ;)

That's a sizeable block of code!

Would be nice to have a thread, actually, giving source code size.

One of my games from long ago appears to be about 650K chars.

Edited by Andrew Davie
Link to comment
Share on other sites

5 hours ago, Andrew Davie said:

Some 20 years ago I programmed and self-manufactured my own game...

Activision programmed and manufactured their own games in the 80's as superstars.

 

Rockstar is a different business model made popular by Activision (thank you gentlemen) where instead of receiving peanuts, the programmer can make 100K at a single expo and sign autographs for happy fans:

RainbowFestExpo1987_Saint_John_Gallery.thumb.JPG.20fd0e9081980ac6108eff508a241c09.JPG

You had wooden boxes hand crafted for each game, I had cardboard boxes full of floppies with sparse packaging and Atari inspired artwork and all were empty at the end of the weekend and my pen was out of ink. This business model was fun :) 

 

Link to comment
Share on other sites

5 hours ago, Andrew Davie said:

 

Some 20 years ago I programmed and self-manufactured my own game.  Unfortunately for me, after posting all 100 custom-made wooden boxes and cartridges a bug was found/reported. The bug was very very infrequent, but significant.  So I was in a bit more of a quandry than you are, as it was a fatal crash bug. I came up with a solution which left me pretty much completely out of pocket for the whole debacle but perhaps with somewhat happy customers. I gave all owners an option which went something like this:  1) They could return the cartridge (only) at my expense, and I would post them a new one (again, at my expense).  So I pay 2x postage for each cartridge.  Ouch.  But here's what saved me somewhat. Option 2) was that if they didn't want to have a replacement cartridge, then I would send them a replacement board (so they would have both "buggy" and "perfect" versions). The board, being very lightweight, meant that I only paid one-way-postage for a lighter item.  And they, of course, have much more of a desirable "collectable". Nearly all of those people who responded opted for the board.  But still, it was a nightmare.  My credo here is that I want my customers to have the best I can deliver, and be happy with their purchases. Even if I take a loss.

I'm not implying/suggesting/advising that this is what you should do. I'm just giving a reasonably close example of what did.

 

 

I believe you also provided a new label so that the new PCB could be placed into a replacement cartridge shell. I believe that is what I did with my QB special ed. I purchased way back in the early aughts from you.

 

Link to comment
Share on other sites

14 hours ago, Omegamatrix said:

how about a fixed release of the downloadable for people that bought the collectors or VIP editions?

I purchased a Collectors Edition and would be interested in this, should it become an option.  I'm fine with the cart as-is, since I have several 4/6 switch consoles to play it on.

Link to comment
Share on other sites

I thought about the idea of changing the downloadable version, but I'm not sure it would help anybody. Am I correct in the understanding that the problem only exists when playing a ROM on certain Jr. hardware?  The downloadable version is only played on an emulator, and short of someone playing it on Stella in developer mode the problem would never happen.  Agree?

 

I have made those few changes to the code.  And while the changes were minor, I am psychologically unable to switch to the new version without play testing the entire game. We are working on that, but it wouldn't hurt to also test a ROM version on the offending Jr. hardware.

 

So, for those of you who have the offending version of the Jr. hardware, who wants a free loose cart with the new version in return for testing those bugs reported here?  Email me (dc@audacitygames.com) if you are interested, including the email address you use to log into our site (if different).

  • Like 1
Link to comment
Share on other sites

Wait... the 'downloadable version' said to only play with emulators in the above quote, differs from the "digital copies" people received with the higher tier bundles or are they one and the same? Either way, I'd think people gaming with Harmony Encore's (and compatible flash carts) would want a fixed .rom to play on their Jr.'s, etc.

Link to comment
Share on other sites

6 hours ago, PitfallCreator said:

I thought about the idea of changing the downloadable version, but I'm not sure it would help anybody. Am I correct in the understanding that the problem only exists when playing a ROM on certain Jr. hardware?  The downloadable version is only played on an emulator, and short of someone playing it on Stella in developer mode the problem would never happen.  Agree?

@PitfallCreator A lot of us these days have flash carts. The Harmony Encore has been updated to handle the downloadable rom:

 

https://atariage.com/forums/topic/318521-harmony-encore-circus-convoy/?do=findComment&comment=4782378

 

For myself I when I play on real hardware I use the Harmony or a PlusCart as it is just more convienent. I actually bought the collectors edition just so that I could have the rom to put on my Harmony Cart and use it to play on real hardware. While I currently don't play on Jr and experience the killer bunny bug it would be nice to have an updated rom in case I ever do.

 

 

Link to comment
Share on other sites

The 'downloadable version' and the 'digital copy' are the same thing.  It is a special version of the game with the same serial number but uniquely encoded so that the High Score board can separate Cartridge from Emulator scores. (I assumed that purists would grant a higher value to scores earned on original hardware and want the scores separated.)  You get this version with any Collector Edition game registered to your account from the MANAGE page of the Audacity Games Web Portal.

 

Once the code is fully tested and approved, I will update the digital copy generator so that anybody who downloads (or re-downloads) their digital copy gets the update.

 

Still looking for someone with the offending Jr. hardware willing to test the new code.

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

Since there is talk about potentially making an updated release that fixes some bugs, I thought I'd report a minor one that I found and didn't see captured anywhere.  It's not a showstopper, but I figured I'd log it just in case.

 

It has to do with the clown in the car (the one the manual talks about passing by).  While you can't use the parachute from the car to the left of the clown to fly over him, I found that you CAN use the parachute on the right hand side of the rig that's just one more screen to the left.  If you do that, when you float all the way over onto the clown screen, and then you'll witness an interesting graphical glitch.

 

Anyway, I'm not sure if anyone else ever saw this.  I don't have any expectation for a fix; I just thought it was a neat oddity.

 

 

Link to comment
Share on other sites

I'd like to point out that the bug doesn't necessarily shows up only on Jr. consoles. It has been reported to happen on 6 switch models as well (https://atariage.com/forums/topic/318076-ex-activision-designers-launch-retro-game-publisher-audacity-games%E2%84%A2/?do=findComment&comment=4792836), and the number of reports is too low to really draw conclusions about any correlation between the console model and the occurrence of the glitch.


Here are a couple of old threads about the same "zeropage instead of immediate" bug, and the consoles affected were 6 switch models:

https://atariage.com/forums/topic/100085-problems-with-et-book-cart/

https://atariage.com/forums/topic/265077-game-runs-incorrectly-on-6-switch/

 

From what I read about this in old discussions, many factors can affect the result: the shielding on the cart, the actual layout of the traces, even the brand of eprom/eeprom.

The same exact rom can show the issue when played on the original cart but not on a flashcart (Harmony, Pluscart, etc), or vice-versa.

 

The Stella developer option shown in @SpiceWare's post above is the best way to find this kind of bug, as randomizing the undriven pins makes it very obvious.

 

I also second @Andrew Davie's shoutout for the Gopher2600 emulator, which has that option too: hit F10 and select "random pins" from the preferences menu. Despite what the fairly low version number might suggest, Gopher2600 is already quite mature, feature rich, and extremely accurate and can be a valid complement to Stella.

I encourage developers to use both, and to provide feedback, suggestions and bug reports to the respective developers (who will surely appreciate).

 

Edited by alex_79
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

^Not necessarily a bug; It's possible for non-Atari hardware such as plugging in a Sega pad to change (not randomize) values consistently by charging the cap. I have used this as a feature in some games to disallow plugging in Sega pads when a joystick is required for precision. Default "randomized settings" and particularly booting in decimal mode are odd choices since it's very hard for that to happen randomly. 

 

With classic development I make an extra pass to add patches for Stella and PlusCart so ROM's can run in those environments, but without the latest version of Stella it's hard to know when new bugs are introduced from new development. 

 

Link to comment
Share on other sites

I'm a bit reluctant to comment, but since I happened to read the previous post, and I don't like such misinformation to be spread, I'll add a few notes:

 

  • If a game misbehaves when randomizing the undriven bits in an emulator as described in the previous posts, it means that its code relies on the values of those bits when reading from the TIA, and so the game has unequivocally a bug. No ifs, ands or buts1.
  • No hardware plugged into the console ports can ever affect the undriven bits2.
  • The CPU flags and registers are undetermined at power on3. So, it's not "odd" to randomize the flags, and it's obviously even more important in those cases that rarely deviates from a set value (like the undriven bits), as catching related bugs on real hardware would be very hard otherwise. That's the whole point of the developers options.

---------------------------------------------------------

(1) As already stated, this is typically a missing "#" in the source, but can also happen whenever the code purposely reads a TIA register, if in doing so it relies on any specific value for bits 0-5.

(2) Of course, if, because of the missing "#",  the code reads from e.g. address $18 (which is INPT0) instead of loading the immediate value #$18, then bit 7 will reflect the state of the related paddle capacitor. This is unrelated to, and doesn't affect the behaviour of bits 0-5. Trying to "retcon" this error as an improbable intended feature doesn't magically fix the bug related to bits 0-5, which can still cause the game to glitch unexpectedly, no matter the status of the paddle input. It's worth adding that detecting the "shape" of the controllers in software doesn't really make sense, as there are literally tons of compatible joysticks that will pull up the paddle line, and tons of gamepads that instead leaves it floating, not to mention that having the game to glitch/crash depending on the controller is a rather questionable choice. In case a game needs to detect a genesis controller for a "real" reason (such as using the extra button), then there are ways to do it properly.

(3) This is clearly stated in every 6502 hardware manual. There are a few test roms posted in the forums to check the initial state of the console. Those have to be run directly, not by loading from a multicart with a menu, as the latter will of course perform initialization of CPU, ram and registers. I tested this in the past on several consoles, with CPUs produced from the '70s to the '90s', and it's quite easy to have the decimal flag set at startup on all of them.

 

  • Like 1
  • Thanks 2
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...