Why the 2600+ is fracturing the Atari community

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Andrew Davie

As I understand how the new Atari 2600+ works, it essentially dumps a copy of the cartridge you plug into it, probably at startup/reset. Once it has a binary copy of the ROM in the cartridge, the binary is "run" by the inbuilt Stella emulator. At this point, the cartridge is probably dead weight - not needed as the Atari 2600+ has everything it needs to run the game.

This is all good and well, provided that "dumping" process works. If the binary is a faithful copy of the original cartridge's ROM, and the emulator correctly emulates that particular cartridge's bank-switching scheme (if any) - then for all intents and purposes the game should run as if it were an actual cartridge plugged into an actual Atari 2600.

But, and here's the rub... if that's how the Atari 2600+ works, then there are some real gotchas involved here.  Firstly, the "assumption" is that the dumping process works. It will definitely work for a lot of cartridges. But not all.  And very few "modern" cartridges. Why? Because there's a fundamental flaw in the concept of dumping a cartridge and then emulating the dumped ROM with a Stella variant inside the machine.

That flaw is the assumption that it is possible to dump the ROM in the first place. Modern cartridges such as nearly all of the high-end games from Champ Games, for example, use on-board hardware in the form of an ARM chip which actively interacts with the signals on the address and data bus on the cartridge port on the Atari 2600. This works because the Atari 2600 is actively "talking" to the cartridge port in real time, setting addresses on the address bus, and reading data on the data bus.  The ARM chip is monitoring the address and data bus and placing appropriate signals on the data bus in response to whatever the current "state" of the game/ROM might be. More specifically, many cartridges offer various bank-switching schemes where the ROM data is not readily accessible via any sort of "normal" dumping algorithm. You just do not see the ROM by asking for data at a particular memory address. Bank-switching is handled on-board the cartridge, and so dumping that cartridge needs intimate knowledge of the bank-switching scheme. And even with such knowledge, it is/will be incredibly difficult to dump a complete copy of many cartridges. And for some, impossible.

The concept of dumping a ROM and then emulating it presupposes that the ROM is "ready to go" on the cartridge, and that an attempt to dump via reading all ROM addresses will work. But all "software-based" multicarts do not have the ROM available until you select the ROM from an onscreen menu.  The PlusCart, the UnoCart are two examples - you can have many games selectable via menu, but until you select and start a game, it is not visible to the Atari (2600 OR 2600+). On an original Atari 2600, these "software multicarts" work by running a little menu program in RAM and then switching the selected ROM in via that.  The Atari 2600+, by reading the ROM contents at startup, does not appear to be able to work with cartridges that later switch in different ROMs.

It's a fundamental incompatibility as things currently stand.  I see it as a distinct difference between the Atari 2600 and the Atari 2600+ - the latter being an entirely different beast which is only able to run a subset of the hardware/games that the original can.  Yes, it can be updated but I do not know if it will be at all possible given the current methodology (dumping ROMs) for it to be able to run modern games with ARM-processors. In my view, to be Atari 2600 compatible and to be able to run ALL cartridges, you need to be *actively* talking to the cartridge. That is, writing addresses to the address bus and reading and writing data at the data bus. This way, you work with multi-carts, you work with ARM-based hardware on board the cartridge - in fact you work with everything.  It's a way forward, but pre-dumping is not, in my view, a credible solution in terms of 100% compatibility.

But maybe 100% compatibility is not the goal for the Atari 2600+.  It's an expectation that is being managed/tempered by the production of compatibility lists. There's no deception here - it is clearly stated that there are some cartridges/games which don't work with this machine.

So we now have a split in the "Atari 2600" community. There are the gazillion new people who are buying the Atari 2600+ and who will no doubt dig up their old cartridges and revel in the memories. Things will mostly work for them. And some of those will look at the newer homebrews and simply expect those to work compatibility lists or not. They will simply consider games that don't work with this new machine as "broken". Now who is going to "cop the blame" for this?  Should a seller of a homebrew game which works perfectly well on the Atari 2600 (original) have to give refunds to people who have purchased their game and find it doesn't work on the Atari 2600+?  Well, I'd say absolutely not. It's the machine itself which is incompatible, in terms of not being able to run all cartridges/games which the original machine can. The fact that it cannot run a particular newer cartridge is not a concern of the seller of that game - it should be Atari's concern.

But it won't be seen that way. I'm now sensing a split in the community and a dilution of the ability of developers to continue to create great modern games using new hardware developments on cartridges. Will we see continued interest from developers in pushing CDFJ games, for example - assuming these cannot be dumped by the Atari 2600+.  Maybe it can, and all will be OK. But I assume it cannot, in which case if there's a large demand from Atari 2600+ owners for new games, but only new games that run on the Atari 2600+ ... then that has created a division.  No longer are we developing for a shared, common, platform. We have those who will restrict themselves to what the Atari 2600+ is capable of running.

I see this as a big loss for the community. I would welcome a fully compatible console. One that could run anything and everything that the original could run - with HDMI to boot and support from Atari itself would be fantastic. But we don't have that. We have a hobbled system which is in my view muddying the waters. Already we have these half-baked lists of what games will and won't work; and those are not even correct... as a game that boots will not necessarily work.  I find the fact that the community is now building up a list of games that are compatible or not... incredibly sad.  Sad because this could have been a community win, a fully compatible machine and support for modern homebrewers. But instead I see it as creating division.


JetSetIlly

I completely agree. The 2600+ in my view, is not a compatible system for the reasons you state.

What I find particularly upsetting is that there have been other products similar to this (and better maybe) in the past, but because this one has Atari branding it's getting news coverage and glossy covers on gaming magazines. Meanwhile a lot of interesting developments going on around the 2600 are being left in the dust.

So, as you point out, the ARM enhanced cartridges won't work, but there's also stuff like Moviecart. Heck, even a Supercharger won't work.

I'm not going to let it stop me or my studies though. As far as I'm concerned the 2600 is an important historical artifact and there's still work for people to do; to understand, to document and to archive. There will still be people interested in this stuff even when the + is in the landfill.
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social

Thomas Jentzsch

Thanks for the write up. There are quite some valid points in there. While I am sure the 2600+ will never become 100%, there is at least some hope to get closer to 99%. According to Albert, they are working on making the ARM games run. I have no clue how this could work, but Albert sounded positive.

Quote from: Andrew DavieThe concept of dumping a ROM and then emulating it presupposes that the ROM is "ready to go" on the cartridge, and that an attempt to dump via reading all ROM addresses will work. But all "software-based" multicarts do not have the ROM available until you select the ROM from an onscreen menu.  The PlusCart, the UnoCart are two examples - you can have many games selectable via menu, but until you select and start a game, it is not visible to the Atari (2600 OR 2600+). On an original Atari 2600, these "software multicarts" work by running a little menu program in RAM and then switching the selected ROM in via that.  The Atari 2600+, by reading the ROM contents at startup, does not appear to be able to work with cartridges that later switch in different ROMs.
A dump button could fix this. So that the dumper starts when the game has loaded. Alternatively it could permanently monitor the cart's contents and automatically start a new dump when a change is detected.

QuoteBut maybe 100% compatibility is not the goal for the Atari 2600+.  It's an expectation that is being managed/tempered by the production of compatibility lists. There's no deception here - it is clearly stated that there are some cartridges/games which don't work with this machine.
100% agreed. Atari is aiming at the casual games with memories of their childhood and big pockets. The 2600+ also offers a platform for selling new and old games and generating extra profit for Atari.

QuoteNow who is going to "cop the blame" for this?
The first to be blamed is us, the Stella team! On AtariAge many, many people think that Stella is responsible if a game is not working or not working as they expect. 99% of the complaints are not Stella related. And the others result from using Stella for something it was not developed for.

Andrew Davie

Quote from: Thomas Jentzsch on 26 Nov 2023, 05:35 AMWhile I am sure the 2600+ will never become 100%, there is at least some hope to get closer to 99%. According to Albert, they are working on making the ARM games run. I have no clue how this could work, but Albert sounded positive.

Since there aren't terribly many ARM games, you could simply pre-store binaries of those that you supported. Sure, make sure the owner has an actual cart by checking some sort of partial dump. But when confirmed, run instead from the inbuilt binary. Dodgy as, but that would work.

Thomas Jentzsch

Quote from: Andrew Davie on 26 Nov 2023, 10:55 AMSince there aren't terribly many ARM games, you could simply pre-store binaries of those that you supported. Sure, make sure the owner has an actual cart by checking some sort of partial dump. But when confirmed, run instead from the inbuilt binary. Dodgy as, but that would work.
I am sure this would not be legal. Unless you own the rights of the stored games.

Andrew Davie

Quote from: Thomas Jentzsch on 26 Nov 2023, 06:24 PMI am sure this would not be legal. Unless you own the rights of the stored games.

How about this, then. User plugs in an ARM-based cartridge that cannot be dumped. Atari 2600+ does a partial dump - enough to identify the cartridge. At this point the user has a right to have a backup copy of the cartridge (they own it).  Atari 2600+ connects online and downloads a binary and stores the backup copy on the 2600+ locally. Then that backup copy is run on Stella.  So Atari 2600+ does not have a pre-built list of binaries; it only downloads binaries from an external site for which you have the legal right to have a backup of.

JetSetIlly

Quote from: Andrew Davie on 26 Nov 2023, 10:05 PM
Quote from: Thomas Jentzsch on 26 Nov 2023, 06:24 PMI am sure this would not be legal. Unless you own the rights of the stored games.

How about this, then. User plugs in an ARM-based cartridge that cannot be dumped. Atari 2600+ does a partial dump - enough to identify the cartridge. At this point the user has a right to have a backup copy of the cartridge (they own it).  Atari 2600+ connects online and downloads a binary and stores the backup copy on the 2600+ locally. Then that backup copy is run on Stella.  So Atari 2600+ does not have a pre-built list of binaries; it only downloads binaries from an external site for which you have the legal right to have a backup of.

How does the 2600+ know where to download from? If it's an Atari run site then they have the same copyright problem.
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social

Andrew Davie

Quote from: JetSetIlly on 26 Nov 2023, 11:08 PMHow does the 2600+ know where to download from? If it's an Atari run site then they have the same copyright problem.


Arguable. If Atari owns a copy they have a right to have a backup copy. If you own a copy you have a right to have a backup copy. The mechanism by which you get a backup copy onto your Atari 2600+ might be reasonable if it's a copy of a valid backup copy. I dunno. I don't even know for sure you have a right to have a backup copy of software, although I seem to recall this is the case. Anyway, I'm just thinking how the 2600+ is going to support ARM games, and this seems a plausible mechanism.

Thomas Jentzsch


Andrew Davie


JetSetIlly

Quote from: Andrew Davie on 26 Nov 2023, 11:44 PM
Quote from: JetSetIlly on 26 Nov 2023, 11:08 PMHow does the 2600+ know where to download from? If it's an Atari run site then they have the same copyright problem.

Arguable. If Atari owns a copy they have a right to have a backup copy. If you own a copy you have a right to have a backup copy. The mechanism by which you get a backup copy onto your Atari 2600+ might be reasonable if it's a copy of a valid backup copy. I dunno. I don't even know for sure you have a right to have a backup copy of software, although I seem to recall this is the case. Anyway, I'm just thinking how the 2600+ is going to support ARM games, and this seems a plausible mechanism.

It's still distribution though. I understand what you mean by both parties having a copy but I'm not sure copyright law tolerates that.

Moreover, this would count as format shifting (making a digital copy for personal use) and that's expressly illegal in some countries, including the UK.


What might work is Atari acting as a proxy and providing URLs to freely available copies of a game. But that obviously wouldn't work for commercial releases
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social

Andrew Davie

Quote from: Thomas Jentzsch on 26 Nov 2023, 06:24 PMI am sure this would not be legal. Unless you own the rights of the stored games.

Since Stella is GPL'd, my understanding is that any owner of an Atari 2600+ could request/demand a full copy of the source code and this could be checked easily enough. I do hope someone makes this request/demand because I think it's important to honour the licensing of the GPL and I'd sure like to see how that requirement is met.

Al_Nafuur

Quote from: Andrew Davie on 26 Nov 2023, 03:50 AMI would welcome a fully compatible console. One that could run anything and everything that the original could run - with HDMI to boot and support from Atari itself would be fantastic. But we don't have that. We have a hobbled system which is in my view muddying the waters. Already we have these half-baked lists of what games will and won't work; and those are not even correct... as a game that boots will not necessarily work.  I find the fact that the community is now building up a list of games that are compatible or not... incredibly sad.  Sad because this could have been a community win, a fully compatible machine and support for modern homebrewers. But instead I see it as creating division.

The "Community-Built Unnamed 1970's Video Game Console-Compatible System (WIP)" is aiming for the 100%

https://forums.atariage.com/topic/354818-community-built-unnamed-1970s-video-game-console-compatible-system-wip/

Andrew Davie

This recent post to AtariAge shows one example of 2600+ incompatibility influencing someone's decision not to purchase a ROM. I'm sure this is not the only instance.

Screenshot 2023-12-07 at 8.10.21 am.png

Thomas Jentzsch

Someone even suggested developing games working only on the 2600+.

But after I called that a "terrible idea", he changed his mind. :)