Jump to content
IGNORED

Concerto Enhancement Module #0: test results and ongoing impressions


Recommended Posts

Following on from this post, test results and impressions of the CEM #0 are moving here ;-) Didn't really want to clutter up the main firmware thread with this end of things, and also wanted to be able to concentrate my findings into one location for easier reference and discussion / collaboration once the hardware starts making it out into the wild.

 

FULL DISCLOSURE: @batari sent a pre-production CEM #0 to me at no cost to myself and with no obligation.  In return, I volunteered to test any scenario that he (or anyone else, for that matter) may request that I can reasonably accommodate.  My job here is not to be a cheerleader for the device, but rather to give a picture of where its capabilities sit as development progresses so that any issues that may be found can be resolved.

 

A note regarding testing requests: if you are looking to have something tested that wasn't or was only partially-working in an earlier build, please include three things in your post:

  1. Explicitly state that you want a specific title tested.
  2. Describe what the behaviour is that you're seeing, with screenshots or photos if possible.
  3. Include the firmware version of the Concerto you're experiencing this on.

I'm having to pack all of this in amongst a work schedule that doesn't have set days or hours and can change at the drop of a hat.  While I'm happy to take on the testing, those three pieces of info will help immensely with figuring out my available time since there's not much that can be done without all of them.

 

For reference, my test machine is an A3 serial number NTSC 7800 with a UAV, UAV mount board, internal Atarivox+, Synertek SALLY, and Traco 2-2450 DC-DC converter installed.  The internal Atarivox+ can be switched off when necessary, and the Concerto involved has a POKEY installed.  All testing can be assumed to be done with NTSC software unless indicated otherwise.

 

The past couple of days have consisted of on-again, off-again testing.  The main focus has been establishing a baseline of the CEM-capable firmware against the current standalone Concerto firmware (0.96 build 30723 at the time of writing).  This has been done with a view towards determining if there have been any regressions or new incompatibilities, bugs, etc. introduced, and both the 2600 and 7800 sides are being looked at.

 

All of the 7800 titles that I've tried (retail and homebrew alike) match expectations set under the current standalone firmware release.  This doesn't mean that preexisting in-game bugs are necessarily squashed, but it does mean that the release appears to have not regressed and/or introduced new ones.  This is a very good position to be in since it means that the CEM and Concerto are fundamentally playing nicely together and neither one is causing apparent problems for the other.

 

POKEY-enabled titles seem to be doing what they should.  @batari and I have discussed a couple that are receiving extra attention, but so far so good.  Testing YM or HOKEY audio isn't something I'm presently able to do, so those will be on someone else to look at.  

 

The 2600 side is similar: software compatibility remains high.  Quite honestly, there isn't much to say about it as it's been generally solid throughout the Concerto's lifespan.  However, there is one now-working item that is good to see; more info on that in a post below.

 

In the next couple of posts, I'll address two new features: High Score Cartridge support and the Return to Menu button.

  • Like 5
Link to comment
Share on other sites

New feature: High Score Cartridge support.

 

Please note that this is my first direct exposure to the HSC, so familiarity is still being developed ;) 

 

To enable HSC support, it's necessary to download the Atari 7800 High Score Cartridge ROM image, make sure that it's named 'hiscore.rom', and place it in the root of the Concerto's SD card.  The ROM image isn't provided here, but it can be found with some light Internet searching using the appropriate terms.

 

Overall, the feature appears to be working largely as intended, though PAUSE & SELECT button behaviour is currently inconsistent between games.  For anyone wondering, pressing PAUSE and SELECT at the same time while the high score table is displayed on an HSC-enabled game should bring up a menu allowing for some basic management of the cartridge.

 

Only the nine original retail games with HSC support have been tested; if anyone has a list of others (particularly homebrew titles), posting them would be appreciated.

 

Game			PAUSE & SELECT Behaviour
------------------	--------------------------------------------------
Asteroids		OK
Centipede		Exits to title screen; 'New CEM' message on reboot
Dig Dug			Exits to level / players select screen
Food Fight		OK
Galaga			No effect
Joust			Exits to title screen
Ms. Pac Man		OK
Robotron: 2084		Exits to title screen
Xevious			OK

 

Using the 'HSC Management' section of @RevEng's 7800 Utility Cartridge, I was able to personalise the cartridge, view memory, format it, etc., so it does appear to be essentially working, though with the caveats listed above.

Link to comment
Share on other sites

New feature: Return to Menu Button.

 

This button pretty much does exactly what its name suggests: it allows the Concerto to restart at the initial loading screen.  Handy for saving wear and tear on the power button and not having to sit through the encryption check splash screen on NTSC machines.

 

At present, support for it can be considered early, but with generally good results:

 

Menu Switch: 16K ROMs (Retail)
------------------------------
Asteroids			No effect
Centipede			OK
Dig Dug				OK
Ms. Pac-Man			OK


Menu Switch: 32K ROMs (Retail)
------------------------------
Ballblazer			Crashes to black screen
Choplifter			OK
Food Fight			OK
Galaga				OK
Joust				No effect
Kung-Fu Master			OK
Pete Rose Baseball		OK
Pole Position II		OK
Robotron 2084			OK
Super Skateboardin'		OK
Title Match Pro Wrestling	No effect
Tomcat				OK
Xevious				OK

 

One change I am likely to make to the hardware itself: the replacement of the Return to Menu button with some form of RF-controlled remote switch.  There are a number of cheap (sub-$5) options for doing this available on Aliexpress, so this will likely happen depending on how often I have to press the thing in testing ;-)

  • Like 1
Link to comment
Share on other sites

Now working: 2K 2600 ROMs.

 

This one was a pleasant surprise that I found by accident.  It's good to see for two reasons: one, it makes the 2600's early library and certain homebrew titles playable; two, it allows for running diagnostic utilities (which tend to be small in size) directly from the Concerto, as opposed to having to swap out for a Harmony, etc.  It's a small thing, but significant.

 

This is also something that appears to work without the CEM #0 attached - provided that the Concerto is running the correct version of the firmware, standalone Concertos should be able to support 2K 2600 ROMs.

  • Like 1
Link to comment
Share on other sites

15 minutes ago, Karl G said:

Are you testing with a pre-production or a production Concerto?

Pre-production from the 2020 (IIRC) run.

 

IMG_1154.thumb.jpg.0dafcf3e15058b62ab658ddb9ccc77bb.jpg

 

15 minutes ago, Karl G said:

Does CEM #0 allow for any larger ROM sizes, or is that something that will have to wait for CEM #1?

My understanding is that this is a CEM #1 feature.  To break down the modules' capabilities:

 

Concerto Enhancement Module #0:

 

On 4/28/2023 at 6:17 PM, batari said:

This is the "lite" version of CEM.

 

The goal with CEM #0 is to improve game support with the games that Concerto already supports and give you full HSC support. CEM #0 provides a small amount of battery-backed RAM for HSC use, and provides hardware assistance to improve game compatibility and playability on your Concerto, and free up more of Concerto's resources for future developments. If you are experiencing graphical glitches with any games, or any trouble with HOKEY or POKEY sound, this device will fix all. CEM #0 units are also here and undergoing testing, and I will be arranging to send out some units to developers soon.

 

Concerto Enhancement Module #1:

 

On 4/28/2023 at 6:17 PM, batari said:

CEM #1 provides 544k of additional memory to your device, bringing the total to over 1M, which allows games like EXO to play. It also provides extra hardware support to play games such as PETSCII Robots, and improves game support with the current library of games.


Additionally, once you load a game with your CEM #1, the game can remain on the CEM #1 itself! What this means is you can then power off and leave just the CEM #1 plugged in your console and it will be able to play that single game as long as the battery remains charged. No need to navigate any menus again to play the same game. You can even remove your Concerto and the CEM #1 will act as a standalone cart for that game! You can even buy more than one if you want a number of games to easily switch between.


CEM #1 is expected to debut at just $25.

 

CEM #1 will support some optional features

  • Audio amplifier and volume control for POKEY/HOKEY
  • Integrated HOKEY chip
  • Other features hidden behind the SD cards ;)

The CEM #1 boards just got here! As such I have not had time to assemble one, so I am just showing a mockup of the board and slot to show the size.

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

12 minutes ago, Muddyfunster said:

That's great.

 

I'd love to know whether the CEM#0 fixed the graphical glitches on Koppers, A.R.T.I., and a few others ROMs that were affected.

If you happen to have screenshots of the glitches you can point me towards for comparison, I'll be happy to check.  As I only have the one Concerto I'd have to roll back the firmware to test that myself, and I'd prefer not to unless absolutely necessary.

 

FWIW, I can confirm that Koppers was one of the titles receiving extra attention for POKEY compatibility, and after repeated playthroughs over the course of an hour last night there were no evident sound problems.

  • Thanks 1
Link to comment
Share on other sites

56 minutes ago, x=usr(1536) said:

If you happen to have screenshots of the glitches you can point me towards for comparison, I'll be happy to check.  As I only have the one Concerto I'd have to roll back the firmware to test that myself, and I'd prefer not to unless absolutely necessary.

 

FWIW, I can confirm that Koppers was one of the titles receiving extra attention for POKEY compatibility, and after repeated playthroughs over the course of an hour last night there were no evident sound problems.

Thanks :)

 

Here is an example of what I was referring to. It's mostly text related glitches

 

IMG_1054.jpg

 

I've linked the post below for completeness as it's covered in more detail there.

 

I've seen similar on A.R.T.I. and a few other games, mostly text getting glitched.

 

 

 

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, Muddyfunster said:

Thanks :)

No worries ;-)  You'll be pleased to learn that with the 20221222 demo build, these glitches no longer appear to be happening:

 

IMG_1157.thumb.jpeg.11996ffa7b5bda746a88e45a7d3cac30.jpeg

 

IMG_1158.thumb.jpeg.dafe608586d0b6b9b93713d8d1ae1ed3.jpeg

 

 

 

1 hour ago, Muddyfunster said:

I've seen similar on A.R.T.I. and a few other games, mostly text getting glitched.

A.R.T.I. also looks clean, at least on the title and instructions screens as well as in-game.

43 minutes ago, SmittyB said:

Looking at those glitches again it looks a bit like what some people were getting on the title screen of Plumb Puck DX with Concerto. Might be worth having a look at that too.

Confirmed: this one is still taking place.  It's difficult to get a good screenshot of the extent of it without a capture device, but the glitches are at least visible.

 

IMG_1159.thumb.jpg.3418f3801c6046b0b02fd6ef7f5fa4c5.jpg

  • Thanks 2
Link to comment
Share on other sites

Thanks for checking. To be honest it might not be anything to do with the Concerto, just that of the handful of people who've played it the few to experience the issue have been using a Concerto. It could easily be something with the console variation.

  • Like 1
Link to comment
Share on other sites

On 6/15/2023 at 4:32 PM, DrVenkman said:

Does CEM#0 fix the corrupted graphics / dotted line on the the score line in Commando? 

Not at this time; the dots are still present.

On 6/15/2023 at 4:32 PM, DrVenkman said:

And does it improve Rampage compatibility (e.g., returning to the character select screen instead of starting a game after you pick)?

I'm glad you named Rampage; it's a title I hadn't made it to yet.  Congratulations, it's a (and the first) regression ;-)

 

On the AB version and with the CEM in place, the game appears to start and run, but drops to a black screen.  There's no audio, so can't tell if it's playing blind or not.

 

On the OB version regardless of whether or not the CEM is in place, the game loads to the following screen:

 

IMG_1160.thumb.jpeg.6d010aef1d08930fabfff89844bad83e.jpeg

 

The title screen music plays through a few times, then the game subsequently drops to an all-grey screen.  There's no response from the controls, so, again, no idea if it's playing blind or not.

 

What's interesting is that if the Concerto is running standalone, the AB version crashes to the following at load after generating a few squawks:

 

IMG_1161.thumb.jpeg.657f0ed4684d076711e345397857ca51.jpeg

 

Note that both of these screens are static - no movement at all is seen.

Link to comment
Share on other sites

19 hours ago, x=usr(1536) said:

I'm glad you named Rampage; it's a title I hadn't made it to yet.  Congratulations, it's a (and the first) regression ;-)

 

On the AB version and with the CEM in place, the game appears to start and run, but drops to a black screen.  There's no audio, so can't tell if it's playing blind or not.

 

On the OB version regardless of whether or not the CEM is in place, the game loads to the following screen:

On my daily-driver 7800, an A1 unit with the Expansion Interface and modded with a UAV, the AB version of Rampage lets me select a character but when trying to start a game, it jumps back to the character select screen and then won't let me select one to start a game.  The OB version crashes to a blank screen before the game starts up. 

Link to comment
Share on other sites

8 hours ago, John Stamos Mullet said:

So how does this work? Is it a physical expansion? Does it plug into the cart connector like a game genie, or the pokey socket? or some other way?

From this post...

..."These modules are passthrough devices like the High Score Cart, but smaller in size, that go in between your 7800 and Concerto. Aside from HSC functions, all CEM devices provide hardware assistance, extra memory and other features to enhance your Concerto's capabilities."

image.thumb.png.947f02632f6fe61e66d49f36e8848f57.png

  • Like 1
Link to comment
Share on other sites

On 6/15/2023 at 5:49 PM, DrVenkman said:

On my daily-driver 7800, an A1 unit with the Expansion Interface and modded with a UAV, the AB version of Rampage lets me select a character but when trying to start a game, it jumps back to the character select screen and then won't let me select one to start a game.  The OB version crashes to a blank screen before the game starts up. 

Got it.  Out of curiosity, which version of the firmware are you using?

Link to comment
Share on other sites

On 6/15/2023 at 3:39 PM, x=usr(1536) said:

Not at this time; the dots are still present.

I'm glad you named Rampage; it's a title I hadn't made it to yet.  Congratulations, it's a (and the first) regression ;-)

 

On the AB version and with the CEM in place, the game appears to start and run, but drops to a black screen.  There's no audio, so can't tell if it's playing blind or not.

Rampage doesn't currently utilize any of the CEM's resources. I had made some changes to AB bank-switch code in the firmware you are using to see if it would fix issues and I was going to ask you directly about it. I do not personally experience any problems with AB on my hardware so it's hard to say what the problem could be. Everything works for me before and after. So, I just took a guess and improved the speed of the code and was going to ask how well it works for people who experience problems. So I will undo these changes and try something else, unless I can find a console that has issues.

 

Someone told me recently about a bodge that some consoles have (a cap on A15) and I was planning to add the bodge to one of my consoles to see if I can reproduce some of these issues. If I can do that, it will go a long way toward fixing AB.

On 6/15/2023 at 3:39 PM, x=usr(1536) said:

 

On the OB version regardless of whether or not the CEM is in place, the game loads to the following screen:

I am not aware of the OB version - can anyone tell me more about "OB" bank-switching?

  • Like 1
Link to comment
Share on other sites

9 hours ago, batari said:

I am not aware of the OB version - can anyone tell me more about "OB" bank-switching?

-Unswapped the 16K pages content at the 8K boundary.  
-In effect, swapping hi and low 8K on each page as presented with the "(AB)" dumps.

 

References:
a. https://forums.atariage.com/topic/224038-multicarts-suggestions/?do=findComment&comment=3010709
b. https://forums.atariage.com/topic/329070-activision-banking-scheme/?do=findComment&comment=4978467

 

The "(OB)" dumps present the the data in the 'Original Bank' order. 

 

The more common "(AB)" dumps which presents the data in an 'Alternate Bank' order is what the vast majority of emulators and flash carts have traditionally supported.

 

Dumps that are "OB" bank switch:
8 x 16K banks (0-7) mapped at 0xa000-0xdfff. 
Bank is selected by writing above 0xe000 and depends on A2-A0.
The rest of the memory is as follows:
0x4000-0x7fff bank 6
0x8000-0x9fff first 8K of bank 7
0xe000-0xffff second 8K of bank 7

 

Dumps that are "AB" bank switch:
8 x 16K banks (0-7) mapped at 0xa000-0xdfff. 
Bank is selected depending on the address written in 0xff80-0xff87.
The rest of the memory is as follows:
0x4000-0x5fff second 8kb of bank 6
0x6000-0x7fff first 8kb of bank 6
0x8000-0x9fff second 8kb of bank 7
0xe000-0xffff first 8kb of bank 7

  • Like 1
Link to comment
Share on other sites

Thanks for clearing it all up. Absolute is called "78AB" and Activision "78AC" but it sounds like there is "AB" and "OB" memory organization within 78AC.

 

The Concerto code is written to support "AB" memory organization only. Certainly "OB" could also be supported but that seems less important, and would need to be detected.

 

I ran the a7800 emulator in debug mode with some test conditions and I found a potential issue, so I will send this version along when I get a chance.

  • Like 2
Link to comment
Share on other sites

3 hours ago, batari said:

...it sounds like there is "AB" and "OB" memory organization within 78AC.

Essentially, yes.

3 hours ago, batari said:

The Concerto code is written to support "AB" memory organization only. Certainly "OB" could also be supported but that seems less important, and would need to be detected.

Somewhat less important, indeed.  In fact, already in place for the next release of the PROPack, the "(OB)" organized dumps are placed in an 'Alternates' sub-folder within the 'Retail' folder for both NTSC and PAL releases.  The 'Alternates' folder contains a doc denoting the differences from the main retail dumps.  The 'Retail' folder continues to retain the "(AB)" organized dumps. 

Quote

Absolute is called "78AB" and Activision "78AC"...

To assist in avoiding confusion, ROM naming updates from "(AB)" and "(OB)" to "(AM)" and "(OM)", respectively, is already in place as well for the next release of PROPack.

  • Like 2
Link to comment
Share on other sites

12 hours ago, batari said:

Someone told me recently about a bodge that some consoles have (a cap on A15) and I was planning to add the bodge to one of my consoles to see if I can reproduce some of these issues. If I can do that, it will go a long way toward fixing AB.

I do not honestly remember if @x=usr(1536)'s 7800 had that factor bodge on it or not. But the screen he has shown above is similar to that which is seen when it was causing issues with Popeye. Only I can't tell if those images he posted are just static on the screen, or actually moving and changing as if trying to play the game?

 

And I was waiting to hear on another confirmation regarding this before going public with it, but you just mentioned it...so here we are.

 

 

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