Jump to content
IGNORED

Concerto firmware thread


batari

Recommended Posts

Is this a known bug? You randomly die at the start of a screen in Smurf Rescue:

 


This rom plays fine in emulators and my real cart plays fine in the 7800.
 

I also notice that the score and life counter bounce around, which doesn’t happen on real hardware either. The same thing happens in Reactor, though I didn’t notice any gameplay bugs in that one.
 

I haven’t updated the firmware since last summer, so maybe this has been fixed.

Link to comment
Share on other sites

11 minutes ago, jgkspsx said:

Is this a known bug? You randomly die at the start of a screen in Smurf Rescue:

 


This rom plays fine in emulators and my real cart plays fine in the 7800.
 

I also notice that the score and life counter bounce around, which doesn’t happen on real hardware either. The same thing happens in Reactor, though I didn’t notice any gameplay bugs in that one.
 

I haven’t updated the firmware since last summer, so maybe this has been fixed.

I used to own this game back in the day. I bought the cart along with dozens of others from a garage sale. My cart had problems (would crash periodically). I figured it was a bad cart until today.

 

So, I played this game in Stella with the debugger features on ("Drive unused bits randomly" must be set) and encountered numerous problems - screen jitters and it reboots on the screen with Smurfette. This means there are programming bugs in this game, which may explain the problems with my cart back in the day and why it's giving you issues.

 

It is possible someone has already discovered them and fixed bugs in this game, but if not it is probably possible to do that. I'd be surprised if nobody has noticed any bugs before, but they are clearly there. I can look later to see if I can locate the bug.

  • Like 1
Link to comment
Share on other sites

I mean, I have the physical cart and the rom on Stella, and do not ever encounter the automatic death on entering the screen on them. I encounter it several times a game, 100% of games, on the Concerto.

 

For what it’s worth, the screen jitter happens in exactly the same place in Reactor as well. I could take a video of that if it would help…

Link to comment
Share on other sites

As for POKEY random number generator: On current Concertos, POKEY is write only at $0450. HOKEY can work around this to access the random number generator, and the upcoming upgrade module will also allow a real POKEY to be R/W at $0450.

 

As for POKEY @0800, it may be possible to work around this in firmware without needing an upgrade module or a HOKEY.

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

1 minute ago, jgkspsx said:

I mean, I have the physical cart and the rom on Stella, and do not ever encounter the automatic death on entering the screen on them. I encounter it several times a game, 100% of games, on the Concerto.

 

For what it’s worth, the screen jitter happens in exactly the same place in Reactor as well. I could take a video of that if it would help…

Activate the "drive unused bits randomly" in the debugger in Stella to see bugs in the game. If you are seeing problems with Concerto, all it means is that Concerto also brings out the bugs that are in the game itself. It does not indicate an issue with the hardware. The answer is to fix the game, so I will look at that.

  • Like 2
Link to comment
Share on other sites

Too weird. The situation stayed the same between multiple power cycles and insertions and removals of the Concerto, but after I unplugged and re-plugged the console and played Smurf and Reactor again, the screen jitter and the instadeath bug went away! I’m confused, but I’ll take it!

Link to comment
Share on other sites

I think I found the bug(s) in the Smurf RIGC.

 

The game executes MANY LDA (0,x) instructions to stall 6 cycles. This is a very poor programming practice on a bankswitched game as it can point to a bankswitch hotspot. I was able to capture Stella hitting $FFF8 as a result of one of these, which crashed the game.

 

The results would likely be very random, and I can see that after a power cycle things may be slightly different and the game may work without issue. Still, the game does need fixing. Fixing the issue isn't totally cut and dried, however, as there is no safe drop-in replacement to stall 6 cycles in 2 bytes. Someone did create a disassembly which should help fix it, though.

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

This sounds like the bug we talked about here:

 

Since the system and cart had to be unplugged it appears your firmware initialized and maintained a high value on the bus not present with a classic cart.

 

In this instance and the Uno Cart instance some bus stuffing took place that was unintended and had unintended consequences (debug time).  

 

  • Thanks 1
Link to comment
Share on other sites

It isn't unintentional bus stuffing here. The Concerto works differently than that, as the ARM chip does not drive the bus at all for many games, including this one. The bug here is just the typical case of relying on undriven bits, which has resulted in glitches in many games (such as a score glitch in Dodge 'Em, and graphics glitches and other issues in Circus Convoy.)

 

Often, when the bus goes undriven, the last value on there will remain for a few microseconds, but this should never be relied upon and there is no guarantee of what will be on the bus if a game does rely on it. I am sure this is why my real Smurf RIGC cart I had in the day would typically crash after 10 seconds or so.

 

 

 

  • Like 4
Link to comment
Share on other sites

10 hours ago, batari said:

... is just the typical case of relying on undriven bits, which has resulted in glitches in many games (such as a score glitch in Dodge 'Em, and graphics glitches and other issues in Circus Convoy.)

I noticed this bug in "Dodge 'Em" last week, while investigating a bit about the Argentinian "PAL-N" 2600 console: the screenshot in this post, shows the score using the same colors as the playfield, instead of different colors for the left and right digits as intended. This is because it is storing the value from address "$02" (collision register CXP0PF) instead of the literal value "#$02" into CTRLPF, needed to enable the "score mode" for playfield colors.

 

Another example is "Haunted House", where the positioning of the player might be off, making the game unplayable because of the same type of error.

 

And just to stress (yet again) the fact that this is a bug in the games and not an issue with the Concerto (or Harmony, Unocart, etc.): in both cases the issues are happening with standalone cartridges, running on stock consoles.

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

14 minutes ago, Tempest said:

I wonder how many 2600 games have bugs like this that have never been found because they still work even though it's accidental?

Lots of them.

E.g.: Berzerk, Centipede, Warlords, Alien, Airlock, Codebreaker, Dumbo's Flying Circus, Realsports Basketball, and many others.

 

 

Link to comment
Share on other sites

  • 1 month later...

I got my Concerto Cart the other day, but I'm having no luck with it. Menu fires up and navigation is good, but not a single 7800 game works. If a rom boots I have graphical bugs all over, and the games usually crash. Official 2600 and 7800 cartridges work.

 

I've tried all the firmwares available, using the verified rom archive download listed here, tried multiple SD cards, and cleaned the cartridge connector with no changes.

 

Looks like a have an A1 model, serial A1 7C5183642. Is there anything I can do?

Link to comment
Share on other sites

7 hours ago, Feinsveur said:

Looks like a have an A1 model, serial A1 7C5183642. Is there anything I can do?

It seems to happen with some consoles, and some people get relief by letting the console warm up for a while first. Give that a shot.

 

If you happen to have a ferrite choke, you might put it on the DC power and see if it makes a difference. It's the one thing I can think of that people haven't reported trying.

 

Link to comment
Share on other sites

2 hours ago, Feinsveur said:

I let the console sit on the menu for around 30 or so mins, but still no 7800 games work. Tried a ferrite choke on the power, but I didn't see any changes.

Do the 2600 games on the concerto work? I have one console that does not do the 7800 games at all with concerto.  I just have to use my other 7800 and let it warm up enough so it does not crash. 

 

Link to comment
Share on other sites

On 6/8/2022 at 12:34 AM, Feinsveur said:

I got my Concerto Cart the other day, but I'm having no luck with it. Menu fires up and navigation is good, but not a single 7800 game works. If a rom boots I have graphical bugs all over, and the games usually crash. Official 2600 and 7800 cartridges work.

 

I've tried all the firmwares available, using the verified rom archive download listed here, tried multiple SD cards, and cleaned the cartridge connector with no changes.

 

Looks like a have an A1 model, serial A1 7C5183642. Is there anything I can do?

I suggest that you contact Fred and ship it back for a replacement. I had a similar problem and after following Fred's troubleshooting steps just exchanged mine. I did not pay $100+ USD to have nothing but problems, I need the product to just work. Good luck.

Link to comment
Share on other sites

11 hours ago, Jinks said:

Do the 2600 games on the concerto work? I have one console that does not do the 7800 games at all with concerto.  I just have to use my other 7800 and let it warm up enough so it does not crash. 

 

From what I tested, 2600 games all work fine.

 

10 hours ago, Resto Ron said:

I suggest that you contact Fred and ship it back for a replacement. I had a similar problem and after following Fred's troubleshooting steps just exchanged mine. I did not pay $100+ USD to have nothing but problems, I need the product to just work. Good luck.

Did you ever get a replacement that did work?

Edited by Feinsveur
Link to comment
Share on other sites

2 hours ago, Feinsveur said:

From what I tested, 2600 games all work fine.

 

Did you ever get a replacement that did work?

The replacement worked fine. I only had to make one swap. I have used it in both of my 7800s and my friends too. Like I said message Fred and go through his troubleshooting steps and if you get no joy swap it.

Link to comment
Share on other sites

  • 3 weeks later...

Fun fact: programmers absolutely delight in receiving feature requests!*  It's 100% totally true*, so here's one:

 

Would it be possible to have Repeat One / Repeat All / Shuffle modes added?

 

The way that I see this working:

 

Repeat One would load and run everything in a single directory over and over until the machine is switched off.

Repeat All would do the same thing as Repeat One, but for a directory plus its subdirectories.

Shuffle would be the same as Repeat All, but with ROM images being loaded in a random order.

 

If possible, implementing a timer of x number of minutes for the ROM to run before moving on to the next one would likely be a necessity.

 

The use case that I see for this would be to cycle through, say, demos or other non-interactive software.  Parties, demoscene meetings, usergroup meetings, etc. would be the sorts of places that this would be useful for.

 

I'm aware that this is very much removed from what's going on with the firmware's core development, and have no expectation of it being added.  This is really just me thinking out loud.

 

* Lies.

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...