Concerto

From 8BitDev.org - Atari 7800 Development Wiki
Jump to: navigation, search

Introduction

The Concerto cartridge is a programmable add-on for the Atari 7800 console that allows you to load an entire library of games into a single cartridge and then select which title you want to play from a friendly, on-screen menu interface. It features an SD card interface, making it simple to access the large library of Atari 7800 software. The Concerto cartridge supports almost all of the titles that have been produced for the Atari 7800. It can also be used to run your own Atari 7800 game creations on a real console. The Concerto cartridge is flash-upgradeable, and will be updated to support future Atari 7800 developments.
This guide tells you how to make the most of your Concerto cartridge.
The following equipment is required to use the Concerto cartridge:

  1. An Atari 7800.
  2. A Windows, Macintosh or Linux-based computer to transfer data onto the SD card.
  3. An SD card adapter for your computer.
  4. An SD or SDHC card up to 32GB capacity.
  5. A micro-USB cable (only required for updating the Concerto firmware).

Getting Started with Concerto

This section is a quick guide to using your Concerto cartridge. By following the steps below, you can use your Concerto cartridge to enjoy thousands of titles in the Atari 7800 and Atari 2600 software library:

  1. Connect an SD card to your computer. This will normally require an SD card reader or adapter. Only SD (and SDHC) cards up to 32GB are supported. Older MMC cards and micro-SD cards (with an SD adapter) may not work reliably. A 1GB SD card is sufficient to hold every Atari 7800 title ever produced many times over.
  2. Ensure that the SD card is FAT formatted (FAT32 is best, but FAT16 or FAT12 will work). SD cards are normally supplied FAT formatted, but some new SD cards contain unnecessary files that may interfere with normal operation of Concerto, so it is best to start with a blank, freshly-formatted card.
  3. Locate the files that you want to copy onto the SD card. These files should be Atari 7800 binary files with the a78 header (.a78) or Atari 2600 binary (.bin) files. Atari 7800 .bin files (lacking the .a78 extension) may also work, but these are not recommended. A recommended source for Atari 7800 games is Trebor's 7800 ROM ProPack. For Atari 2600 games, ROM Hunter's Collection is recommended.
  4. Copy the Atari 7800 and/or Atari 2600 files that you want onto the SD card. The Concerto cartridge supports file directories, so it is usually best to copy these files to your SD card in newly- created directories. The order the files are copied onto the SD card will be the order that they are displayed in the Concerto menu. On the Mac, it is necessary to copy and paste the files onto the SD card (rather than drag and drop) to preserve the file ordering. The Concerto menu will only display the first 40 characters of the filename (including the file extension). If the filename is longer, the full filename can still be displayed (see step 7).
  5. The SD card can now be ejected from the computer system and placed into the Concerto cartridge. This should be done before the Concerto cartridge is inserted into the console, or before the power is switched on.
  6. The Concerto cartridge with SD card inserted can now be inserted into the console, and the console powered on. If everything is working, then you will see the menu system displayed on the screen after a few seconds. If garbage appears on the screen, switch the console off, and then on again after a few seconds. If it fails to work after several attempts, try cleaning the cartridge edge connection.
  7. Navigate the menu system using a joystick in the left controller port. Holding up or down on the joystick will move between menu entries, and holding left or right on the joystick will move between menu pages. Use the fire button to open a directory (enclosed by [ ]), and to select a menu entry to be loaded. You can page faster by holding the fire button while moving the joystick left/right - this will skip forwards or backwards through the menu 10 pages at a time. You can display the full filename for a menu entry by holding down the fire button for more than a half second.
  8. Select an entry from the menu and it will be loaded and should start after a few seconds. The Concerto cart will automatically detect the type of the file. If weird patterns (garbage) appears on the screen, this normally means that the Concerto could not detect the file type. It can also indicate a corrupt or invalid file or a game that is not yet supported. Once you are done, the console can be powered off and then on to return to the Concerto menu. There is not yet any way to return to the menu from a game without cycling power on the console.
  9. The console should not be switched off while the Concerto cartridge is loading certain files. Under rare circumstances, this could corrupt the Concerto firmware (requiring it to be reprogrammed). Also, the SD card should not be ejected from the Concerto cartridge while the console is powered, or the contents of the card may become corrupted. It is safe to switch off the console before a game has been selected, or after the game is running. It is only safe to remove the Concerto cartridge from the console when it has been powered off.

Concerto Firmware Upgrading

Concerto cartridges ship with the latest firmware (internal software), but new versions of the Concerto firmware may be released to improve the compatibility of the cartridge and to fix any issues that are discovered. It is a good idea to make sure that your Concerto cartridge is always using the latest firmware release.
To check your firmware version, look at the version number on the upper-right corner of the menu. If the firmware is current, there is no need to upgrade the firmware unless you are having trouble with your Concerto cartridge.
The Concerto firmware cannot be loaded to the device entirely through the USB cable. Therefore, a small loader program must first be downloaded onto the Concerto cartridge using a micro-USB cable, and then the actual firmware will be loaded from an SD card. To simplify this process, The Harmony Programming Tool has been developed for Windows, Macintosh, and Linux-based computers, and this works on Concerto as Concerto is 100% reverse compatible with the Harmony cartridge.

Firmware downloads

The latest firmware: 0.96 build 30723 (Released 03/07/2023).

Older firmware files: 0.96 build 30323 03/03/23
0.96 build 21523 02/15/23
0.96 build 21423 02/14/23
0.96 build 72822 07/28/22
0.96 build 7822 07/08/22
0.95 (says 0.94a on screen) 09/07/21

Versions older than 0.95 are not recommended as you may run into menu crashes and stability issues.

Firmware Upgrade process

If your Concerto is working, using firmware version 0.96 build 21423 (i.e., 2/14/23) or newer, you may be able to perform a menu-based firmware update.

Otherwise, you should use a USB cable. Concerto uses a standard micro-USB cable.

Step 1

Download the software on your operating system. Because Concerto is reverse-compatible with Harmony, the Harmony software is used.
Linux: https://github.com/sa666666/harmonycart/releases/download/release-1.3/harmonycart_1.3-1_amd64.deb
Mac: https://github.com/sa666666/harmonycart/releases/download/release-1.3/HarmonyCart-1.3-macosx.dmg
Windows: https://github.com/sa666666/harmonycart/releases/download/release-1.3/HarmonyCart-1.3-win32.exe

Plug in the Concerto with your micro-USB cable, then start the software. Generally, your OS will automatically find and install drivers. If the OS does not automatically install the drivers when the Concerto is plugged in with a micro-USB cable, download and install one of the following drivers:
Green or Gold PCB (2020 and newer) Concertos use CH341 drivers:
Linux: http://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html
Mac: http://www.wch-ic.com/downloads/CH341SER_MAC_ZIP.html
Windows: http://www.wch-ic.com/downloads/CH341SER_ZIP.html

Purple PCB (older) Concertos use the FTDI drivers: https://ftdichip.com/drivers/vcp-drivers/

After installing the Harmony programming software, a reboot may be necessary for the cart to be recognized.

Step 2

In the Harmony programming software, go to the EEPROM loader section and select the included eeloader_NTSC.bin (or similar) file, and click "download EEPROM". Make sure the download goes to 100%, and fully completes (text on the bottom of the window should indicate a successful download). Retry if it does not fully complete.

If the eeloader_NTSC.bin file is missing, you may download it here: https://forums.atariage.com/applications/core/interface/file/attachment.php?id=873612 

Step 3

Copy the firmware file to the root directory of your SD card (firmware files are generally of the format hbios_Concerto_XXXXX.bin where XXXX is the version.) Visit Firmware downloads for the latest firmware files if you need one. Make sure there are no other files starting with "hbios" on the card, or it may load that one instead.

Step 4

Insert the SD card into your Concerto, and insert the Concerto into your Atari 7800, power on and wait for the confirmation message. The message may say "press fire to continue" but do not press fire, just reboot the console.

Troubleshooting

If your cart has a genuine POKEY chip installed, this may interfere with communication. You may need to remove the POKEY chip and repeat steps 2-4. Alternatively, you can try the newer beta version of the software (2.0 beta 3) which has an option to work around communication issues such as those caused by POKEY. To enable the POKEY communication workarounds, run the software and select Options -> Continue on fatal errors.

The beta3 software may be downloaded here:

Linux: Will be available soon
Mac OS X: https://forums.atariage.com/applications/core/interface/file/attachment.php?id=1005593&key=b9a1415e449d8c5b0f0305b65660fb2a
Windows: Will be available soon

This beta software is not heavily tested and may have dependencies. Particularly, the Windows version might require downloading and installing the Microsoft VC++ Redistributables. The Mac version may require installing QT6.

menu-based firmware update

If your Concerto firmware version is 0.96 build 21423 or newer, you can update firmware through the menu. To perform the update, first copy two files to the root directory of your SD card:

  1. The Concerto BIOS update tool: https://forums.atariage.com/applications/core/interface/file/attachment.php?id=1004894&key=539933bdf8e55fe995e0fbaee9063875
  2. The firmware file. Firmware files are generally of the format hbios_Concerto_XXXXX.bin where XXXX is the version. Visit Firmware downloads for the latest firmware files.

When you copy the firmware file to the root directory of your SD card, make sure there are no other files starting with "hbios" on the card, or it may load that one instead.


Insert the SD card into your Concerto, and insert the Concerto into your Atari 7800, power on and wait for the menu. Select "Concerto BIOS Updater.cu" (or similar) from the menu as if were a game. Wait for the confirmation message (this may take 10 seconds.)

Frequently Asked Questions

  • Q) I am having a problem with my Concerto Cartridge - where can I get help?
    • A) The Atari 7800 section of the AtariAge forum (https://forums.atariage.com/forum/4-atari-7800/) has a pinned topic about Concerto firmware. This is good place to ask questions about the Concerto cartridge. However, it is a good idea to check if your question has already been answered before posting a query. You may also send a private message to batari on Atariage,
  • Q) Why are my files all jumbled up in the Concerto menu?
    • A) The files are shown unsorted, in the order that they appear on the SD card. If you are using a Macintosh computer, make sure to use copy and paste, rather than simply dragging the files onto the SD card. There are also utilities (e.g. DriveSort) that can reorder the files on an SD card.
  • Q) My Concerto cartridge just displays a logo and flashing screenand nothing else happens, or it shows garbage on the screen.
    • A) Try cleaning the cartridge edge connector, and re-seating the cartridge. If this does not help then the firmware probably needs to be reprogrammed using the Mini-B USB port.
  • Q) How do I clean the edge connector on my Concerto cartridge?
    • A) The contacts on the cartridge can be cleaned with a contact cleaning solution or rubbing alcohol, and a Q-tip. Conductive liquids, such as water, must never be used to clean the cartridge contacts.
  • Q) Why does my computer say that the SD card is full, even though there appears to be plenty of free space on the card?
    • A) Your SD card is probably formatted with FAT12 or FAT16. You can solve this by reformatting your card as FAT32 (make sure to backup the contents first), or by splitting the contents into more sub-directories.
  • Q) What games work with the Concerto cartridge?
    • A) All of the original Atari 7800 and Atari 2600 titles should work, or soon will with firmware updates. Nearly all Atari 2600 homebrew games should work, and most Atari 7800 homebrew titles work. If an Atari 7800 homebrew title requires over 512KB, this exceeds the memory capacity of Concerto, so these will not work, e.g. EXO and Rikki and Vikki. However, an upgrade module will be available that adds memory to the Concerto so these titles should be supported in time.
  • Q) Will my Concerto cartridge be “bricked” (permanently damaged) if I switch it off during loading, or if a firmware update fails?
    • A) The Concerto cartridge cannot be “bricked” as the firmware loader for the Concerto is permanently stored in ROM. If the Concerto firmware gets corrupted then it can simply be reprogrammed using the Mini-B USB port.
  • Q) How do I check which version of the firmware is on my Concerto cartridge?
    • A) The firmware version is displayed at the top right-hand corner of the screen on the menu. Simply start the Concerto cartridge with an SD card inserted to see the version text.
  • Q) Why can't the Harmony Programming Tool find my Concerto cartridge?
    • A) You probably need to install the drivers. Please visit [#Firmware upgrade process] for more information. Also make sure you are using a proper microUSB cable. Some cables are designed for power-only, such as those for USB speakers, lights, chargers, or other passive devices. Other cables might have a poor connection or sensitivity to RF interference, so it is best to use a quality cable with a ferrite bead attached. Cables that were designed for older Android phones usually work well.
  • Q) What if my Concerto cartridge starts acting weirdly after upgrading the firmware?
    • A) If your Concerto cartridge does not work properly after the firmware upgrade then you should repeat the upgrade process. If it still does not work, then you should ensure you are installing a compatible firmware image. Some Concerto carts will not work properly with firmware versions before v0.95. If you are sure that you are installing a compatible firmware version, and it still does not work, consult the AtariAge forums for known issues.
  • Q) When I connect my Concerto Cartridge to my computer, why doesn’t it appear as a drive letter or volume like my camera or MP3 player?
    • A) The Concerto Cartridge is not designed to do that. The USB port on the Concerto is intended for firmware upgrades or game development only. Use a separate card reader to manage the contents of your SD card.
  • Q) The Concerto menu is very bland. How can I customize it?
    • A) Select the tool menu. This appears at the top of the list and appears as a wrench. Choose “settings” and you should be able to adjust and save some of the menu settings.

Concerto File Extensions

The Concerto cartridge expects .a78 files for Atari 7800 games, and a78 files contain a header that includes the needed information to properly run the game. Atari 2600 games typically have a .bin extension.
Concerto uses advanced heuristics while examining .bin files to try and determine if they are truly Atari 2600 files, or if they are actually Atari 7800 .bin files. Even though Concerto can often properly detect Atari 7800 .bin files, these are not recommended.
Concerto supports other file extensions for special purposes, or for Atari 2600 games.
Concerto can view text files on screen. Files with extension .txt, when selected, will display on screen and you can scroll through them with the joystick. This is useful for game manuals and other purposes.
The Concerto supports many different types of Atari 2600 software. The type of the Atari 2600 software is automatically detected when the file is loaded. However, this auto-detection process can sometimes fail, resulting in weird patterns (garbage) being displayed on the screen. This is completely harmless, but can often be avoided by telling the Concerto cartridge explicitly what is the type of the file. In technical terms, the type of the file is the kind of bankswitching that was originally used by the Atari 2600 cartridge.
It is possible to tell the Concerto cartridge directly what type of file is used by renaming the file extension. Atari 2600 software normally has a binary (.bin) file extension. This extension can be changed to one of the following Atari 2600 extensions to tell the Concerto what kind of bankswitching to use:

File Extensions
Extension  Function 
.a78 Atari 7800 game
.bin Atari 7800 or Atari 2600 game
.txt Text file (displays on screen)
.2K Atari 2600 2K
.4K Atari 2600 4K
.F8 Atari 2600 F8
.F8S Atari 2600 F8 with Superchip
.F6 Atari 2600 F6
.F6S Atari 2600 F6 with Superchip
.F4 Atari 2600 F4
.F4S Atari 2600 F4 with Superchip
.FA Atari 2600 CBS RAM +
.FE Atari 2600 Activision FE
.3F Atari 2600 Tigervision 3F
.3E Atari 2600 3E (3F with up to 4K RAM)
.E0 Atari 2600 Parker Brothers E0
.E7 Atari 2600 M-Network E7
.CV Atari 2600 CommaVid
.UA Atari 2600 UA Limited
.AR Atari 2600 Arcadia Supercharger
.DPC Atari 2600 DPC (Pitfall 2)
.084 Atari 2600 0840 Econobanking
.CU Atari 2600 Custom *

For example, to tell the Concerto cartridge to use Atari 2600 F4 bankswitching with Superchip support you would rename the file cavein.bin to cavein.f4s (the extension is not case-sensitive).

  • Custom bankswitching is not a specific format but rather a stub that allows new Atari 2600 bankswitching schemes to be added to the .bin files themselves, so future firmware updates are not necessary to support them. Examples are the Atari 2600 ARM-based schemes such as DPC+ and CDFJ.