Jump to content
IGNORED

Circus Convoy: Bunny Bugs on Atari Jr?


root42

Recommended Posts

On my Atari 2600 Jr (PAL) with the Circus Convoy Collector's Edition I experience a weird bug when encountering the bunnies:

 

As soon as I touch the bunny, the guide QR code comes up. I can send it back by pressing "Select".

 

Is this known? Or a glitch of my Junior? I have played a bunch of games on it (Scramble, Mappy, some stuff from the Harmony Cart) and so far no other programs produce problems.

 

 

Link to comment
Share on other sites

  • 4 months later...

I was playing tonight and came across the Bunny Bug, so I tracked it down and submitted this report to Audacity:

 

Quote

I found a bug in Circus Convoy. When jumping onto the bunny the game has unexpected behavior, like going to the QR code screen or making the bunny disappear. I looked in Stella and found the issue. There is a # missing for an EOR #$08 (to change the direction Andre faces via REFP0, stored in $A7). The opcode got compiled as EOR INPT0, and with many bits undefined for INPT0 the behavior is random and buggy especially on an Atari Jr, but will work on some consoles so it is a nasty bug.

 

The actual EOR spot is bank 14, at $FC55 where the code is currently:

LDA $A7
EOR INPT0
STA $A7

 

Should be:
LDA $A7
EOR #$08   ; for REFP0
STA $A7

 

I hope they update their emulation roms with a fix.

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

I found another bug. When you are selecting an inventory item the trucks would flash colors intermittently. I traced the error to be a dependency of the Zero flag for branching, but the problem is the value it is testing is a different bank, and the chosen bankswitching method affects the state of the zero flag.

 

;BANK 1, $FEE5
LDA $FB76,Y
LDY $0800,X    ; X=6, bankswitch back to bank 6, but this is a load instruction affecting zero flag...

;BANK 6, $FEEB
RTS            ; goto $FDF8

;BANK 6, $FDF8
BEQ $FE0E      ; this was meant for testing value from LDA $FB76,Y earlier
AND #$07       ; if Y=0 this branch is taken and the truck color turns red,
ASL            ; as $F0 was cleared before and skipped for updating now.
STA $F0        ; $F0 holds a value that is loaded into Y later to index what pointers to use.

1739915105_TruckNormal.thumb.png.24a6b03bc31987b4a2bb51fc85d16931.png

 

1859650405_TruckWrongColor.thumb.png.8eea1d18d20cbb0a8aea57482fe4c011.png

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

22 hours ago, Omegamatrix said:

I was playing tonight and came across the Bunny Bug, so I tracked it down and submitted this report to Audacity:

 

 

I hope they update their emulation roms with a fix.

I would also hope they would update the rom that they using for the carts.  I am assuming they are building carts to order.

 

Audacity needs to hire you and Thomas for QA.

  • Like 3
Link to comment
Share on other sites

I've sent them a link to the thread for the latest two issues, and I am optimistic that they will take care of the issues at some point at least for the rom downloads.

 

I found another graphical issue in the magic transporter (bank 23). There can be slightly glitched text (or not) depending on your console. Removing 1 cycle from the delay before updating the graphics registers fixes the issue.

 

;bad timing (some consoles)
  SLEEP 6  ;6 @44
  STA GRP1 ;3 @47
  STX GRP0 ;3 @50
  STA GRP1 ;3 @53

;good timing
  SLEEP 5  ;5 @43
  STA GRP1 ;3 @46
  STX GRP0 ;3 @49
  STA GRP1 ;3 @52

 

838378121_NormalTransporter.thumb.png.0bdadf2408ec3444287f9c504f14a910.png

 

1370350637_GlitchyGraphicsTransporterEnd.thumb.png.01a281b30acd29f0e35878942f5ce959.png

 

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

On 10/3/2021 at 2:16 AM, Omegamatrix said:

I found a bug in Circus Convoy. When jumping onto the bunny the game has unexpected behavior, like going to the QR code screen or making the bunny disappear. I looked in Stella and found the issue. There is a # missing for an EOR #$08 (to change the direction Andre faces via REFP0, stored in $A7). The opcode got compiled as EOR INPT0, and with many bits undefined for INPT0 the behavior is random and buggy especially on an Atari Jr, but will work on some consoles so it is a nasty bug.

 Good find but interesting it is a problem only on the latest version of the console; Later revisions of consoles tend to be cost reduced emulation designed to produce the same results with less or cheaper hardware. This makes the heavy sixer the best machine followed by the 4 switches and finally the Jr; I believe there are even some later Jr revisions with a near compatible TIA. Audacity may have even done this on purpose for being Super Stars:

 

On 10/4/2021 at 2:22 AM, Andrew Davie said:

It's a pity they're not as amateur as you guys.  ;)

X2 the Jr doesn't even look like an Atari so it can't play classics like Activision Space Shuttle Journey into Space that requires a classic shaped Atari console so this only proves this is classic Activision ;)   

Activision_Space_Shuttle.thumb.jpg.665f3171494cd6536bbb6a50572e0f23.jpg

 

Link to comment
Share on other sites

  • 1 month later...

I was concerned I had a one-off glitched version of the physical cart so am...relieved?...to see I'm not alone. It is disappointing to had purchased the $100+ collector edition physical pack and end up with the same problem(s) plaguing my copy. I am not into emulation and prefer physical gaming, always.

 

it is more disheartening to find discussions about this bug as early as May in this thread, and detailed reports on how to fix it submitted to AG, but still hasn't been fixed when I ordered my copy a few weeks back. I also had sent their support an email asking about it but heard nothing.

 

I'd be willing to ship this cart back in exchange for a fixed version, but otherwise guess we are out of options... I was really excited to have my first new 2600 game in forever, but wish their support would've been more closely monitoring bug reports and fixing future builds.

 

Edit - To be clear, I am using an original woodgrain 2600 and experience the same problem...

Edited by MattPilz
Link to comment
Share on other sites

9 hours ago, MattPilz said:

it is more disheartening to find discussions about this bug as early as May in this thread, and detailed reports on how to fix it submitted to AG, but still hasn't been fixed when I ordered my copy a few weeks back.

My guess is that all the carts already had been produced, and since they're using OTPs, all of these carts would have been scrapped. And that's the difference between homebrew and professional. The professional also has to take costs more into account than an enthusiast, who seems have more pride in her/his work. I wouldn't hold that to much against AudacityGames, if it wasn't for the attitude shown at the release event, the very steep price and the very poor communication.

 

I also wonder if that "bug-fiasco" of Circus Convoy was leading to Casey's Gold still not being released...

 

Nevertheless, that whole AudacityGames thing has cost David Crane a lot of reputation in my eyes.

  • Like 1
Link to comment
Share on other sites

18 minutes ago, SvOlli said:

I also wonder if that "bug-fiasco" of Circus Convoy was leading to Casey's Gold still not being released...

I hadn't followed the development of this game but conclude they did not do adequate playtesting. There are so many extremely knowledgeable users here that I'm sure would had freely volunteered to make sure all the breaking bugs were resolved including on a wide array of physical hardware before they went and mass-produced all of them.

 

I was under the impression these cartridges were made on demand, since it is noted on their website that each cartridge is "Individually Programmed - Every game is encoded to be uniquely yours." but I guess that was also all part of the original bulk run.

 

For what it's worth my serial number for the collector edition was around 500 (out of 1900 collector editions available). So I will assume they have a large stockpile remaining.

Link to comment
Share on other sites

  • 2 months later...

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.

 

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?

 

Plus the missing '#' is the most insidious bug. Such an oversight should cause awful, random operation, but it doesn't.  It works on almost all hardware as an immediate as the programmer intended. We tested for hundreds of hours, and on all platforms (including the Jr.) and never once saw these bugs. It has been suggested that we should open up testing to the 2600 experts such as are on this forum, but we were operating in stealth mode.  Right up until we went live, we were not going to release the game until we felt it was one of the best games out there, and worth "coming out of retirement" for.

 

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.

 

And in the future remember that I am a member of this forum.  If you post anything that you think should reach me, please link me into the discussion.  That will raise the probability that I will hear of things as important to me as bugs in my code.

  • Like 8
Link to comment
Share on other sites

We first discovered the insidious missing '#' bug at Atari in 1978. A new programmer who was also new to the 6502 wasn't aware of the difference between loading a data value and load immediate. The code was full of missing '#' characters, but the game worked perfectly. Only when I was asked to help them find a (different) bug did I see it in the source. I immediately hooked up an HP 1611A logic analyzer on address and data busses.

 

When the 6502 performs a read operation it tristates its data bus. That allows an external ROM, RAM, or register to drive the bus with the contents of the device at the requested address. We officially describe a tristated bus as undefined, but that is not completely accurate.  Due to capacitance in the lines, a tristate output can hold data for a few microseconds.

 

As a quick tutorial for anyone who doesn't know this: When the 6502 executes, for example, a zero-page read of address 6, it uses a two byte opcode $a5 $06 - both values read from ROM as a program fetch. The last value read from ROM in this case is $06. A read of address $06 on the 2600 returns a collision bit on bit 7, with all other bits not driven. So if there is no latched collision bit, bit 7 will be zero and bits 6-0 will likely be the same as the program instruction operand. An lda $06 instruction loads the accumulator register with exactly the same contents as an lda #$06.

 

Of course we would never have done that on purpose. And I haven't seen it since. So while it is technically possible to anticipate the situation and test for it using Stella's trapread, for example, it never occurred to me to do so.

  • Like 6
Link to comment
Share on other sites

Hi David,

welcome (back) to AtariAge!

41 minutes ago, PitfallCreator said:

So while it is technically possible to anticipate the situation and test for it using Stella's trapread, for example, it never occurred to me to do so.

Please have a look at Stella's developer settings. If you enable them while developing, these should make you aware of the most frequent bugs. Incl. the one that happened to you.

Edited by Thomas Jentzsch
  • Like 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...