wF8 - Bank Switching Scheme

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JetSetIlly

An unexpected side effect of the 2600+ is the discovery of ancient bank switching schemes.

Examples have been found of Smurf Rescue and Zaxxon that feature a hitherto unknown switching scheme, which we now call wF8.

Discussion on AtariAge: https://forums.atariage.com/topic/367157-smurf-rescue-alternative-rom-with-wf8-bankswitch-format/

The 2600+ is a key ingredient here because until recently, cartridge dumping was a fringe activity. But the 2600+ is based on cartridge dumping so more people are doing it and with a wider array of cartridges.

I wonder if there's anything else out there?
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social

alex_79

Quote from: JetSetIlly on 28 May 2024, 09:57 PMAn unexpected side effect of the 2600+ is the discovery of ancient bank switching schemes.

Examples have been found of Smurf Rescue and Zaxxon that feature a hitherto unknown switching scheme, which we now call wF8.
Interesting!

I wonder if the bankswitching logic is implemented with a custom chip or if it uses off the shelf parts. If the latter, it would be interesting to trace the board.

Quote from: JetSetIlly on 28 May 2024, 09:57 PMBut the 2600+ is based on cartridge dumping so more people are doing it and with a wider array of cartridges.

At least there's a positive side of it. ;)
Unlike a real 2600 console (or compatible), the 2600+ can only play games for which support has been specifically added to both the dumper and the emulator, so a new/unknown bankswitch like in this case immediately draws the attention... because the cart doesn't work!



Quote from: JetSetIlly on 28 May 2024, 09:57 PMI wonder if there's anything else out there?
I wouldn't be surprised, actually. As you said, dumping a cartridge isn't very common, as only few people know how to do it, and there's usually little interest in dumping a game for which there's already a known rom. So if similar alternate bankswitching schemes exist, they easily pass under the radar.

Thomas Jentzsch

I just hope the discussion continues to stay public. Fixing the dumper behind closed doors would let us miss such new discoveries.

alex_79

I assume from the thread linked above that some respected members of the homebrew community (such as RevEng) are involved in improving the 2600+. This makes me optimistic that in case other similar discoveries are made, they'll be documented and shared.

On a side note, apart from the dumper code which is proprietary, I wonder if Atari is complying with the GPL license for the open source software the 2600+ is using.
I just checked the Atari official site and I don't see any mention of source code availability. There is a brief reference to Stella and Prosystem hidden in the "product features" section with links to the official github pages for both, but can people who bought the 2600+ obtain the actual source corresponding to the binaries installed on the device? And are they informed (in the manual, for example) of that right?

I get that beta binaries are provided publicy on AA forums for people to test. Is the source (for the open source part) included? Because... they must distribute it, right?


Andrew Davie

Here's a conversation with ChatGPT, for what it's worth. ChatGPT is not a reliable source for legal information, so consider this just a LLM's response to the following scenario/question...

scenario: a game console called the 2600+ uses a GPL'd emulator as its core gameplay engine. What obligations does this use of GPL software place upon the company making the console? How much of the source code must be distributed on request?


Using a GPL-licensed emulator as the core gameplay engine for the 2600+ game console places specific obligations on the company under the terms of the GNU General Public License (GPL). Here are the key obligations and considerations:

Source Code Distribution: The company must make the source code of the GPL-licensed emulator available to anyone who receives the console. This includes:

The original source code of the emulator.
Any modifications or derivative works they have made to the emulator.
Offer for Source Code: If the company distributes the console in binary form (i.e., as an executable), they must also:

Provide a written offer to distribute the corresponding source code. This offer must be valid for at least three years.
License Notices: The company must include the following with the console:

A copy of the GPL license text.
Notices indicating that the emulator is licensed under the GPL.
Information on how to obtain the source code.
Redistribution Rights: The company cannot place additional restrictions on the rights granted by the GPL. This means that recipients of the emulator and its source code must also have the right to:

Copy, modify, and distribute the emulator and its source code.
Distribute modified versions of the emulator under the same GPL terms.
Integration with Non-GPL Code: If the company integrates the GPL-licensed emulator with other software, they must be careful:

If the other software is tightly integrated or linked with the GPL emulator in a way that creates a derivative work, the entire combined work may also need to be licensed under the GPL. This means the source code of the combined work would also need to be made available under the GPL.
If the other software interacts with the emulator through well-defined interfaces and remains a separate and independent work, it may not need to be GPL-licensed.

Summary of Source Code Distribution Obligations
Original and Modified Source Code: The company must distribute the original source code of the emulator and any modifications they have made.
Corresponding Source Code: This includes all the source code necessary to build and run the modified emulator, including scripts to control compilation and installation.
Derivative Works: If the company creates derivative works that incorporate the GPL-licensed emulator, those works must also be GPL-licensed, and their source code must be distributed under the same terms.
Practical Steps for Compliance
Accompanying Source Code: Distribute the source code along with the console or make it available for download from a website.
Written Offer: If distributing the console without the source code, include a written offer to provide the source code upon request.
Documentation: Include GPL notices and a copy of the GPL license text with the console and in the documentation.
Compliance Verification: Regularly review compliance practices to ensure all obligations under the GPL are being met.
By adhering to these obligations, the company can legally use and distribute the GPL-licensed emulator in their 2600+ game console.

JetSetIlly

#5
Quote from: alex_79 on 19 Jun 2024, 05:35 PMI get that beta binaries are provided publicy on AA forums for people to test. Is the source (for the open source part) included? Because... they must distribute it, right?
They must make the buildable source available to anyone who has received the binary, when asked. So, ownership of the console would be enough for someone to be entitled to the source - whether its been changed or not. (GNU GPL parts only of course. Other licences might behave differently)
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social

alex_79

Quote from: JetSetIlly on 19 Jun 2024, 08:10 PMSo, ownership of the console would be enough for someone to be entitled to the source - whether its been changed or not. (GNU GPL parts only of course. Other licences might behave differently)
That makes sense for the firmware shipped with the console, I'm just curious if Atari is complying with it, offering that option and clearly informing their customers about it.

But what about the beta releases posted in a public forum? Anyone can download them, so anyone must be able to get the corresponding sources.

JetSetIlly

#7
Quote from: alex_79 on 19 Jun 2024, 09:01 PM
Quote from: JetSetIlly on 19 Jun 2024, 08:10 PMSo, ownership of the console would be enough for someone to be entitled to the source - whether its been changed or not. (GNU GPL parts only of course. Other licences might behave differently)
That makes sense for the firmware shipped with the console, I'm just curious if Atari is complying with it, offering that option and clearly informing their customers about it.

I don't know if anyone has asked. I don't own a 2600+ but I would definitely be asking them for the source if I did.

(I would hope they include the license in the packaging of the console in some way)

Quote from: JetSetIlly on 19 Jun 2024, 08:10 PMBut what about the beta releases posted in a public forum? Anyone can download them, so anyone must be able to get the corresponding sources.
That's a great point. I don't know what the implications are for them over that. A non-2600+ owner could certainly download the firmware in that way but because the binary is useless without the hardware, I'm unsure what that means with regards to the GPL.

edit: On reflection, probably nothing. Simply downloading the binary doesn't imply use. But again, I'm unsure.
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social

Andrew Davie

I occasionally correspond with Richard Stallman (FSF) so if anything goes awry I can let him know directly.

JetSetIlly

#9
Are you being serious?
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social

JetSetIlly

It looks like you edited my post somehow rather than reply to it :-)
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social

Andrew Davie

Quote from: JetSetIlly on 19 Jun 2024, 10:38 PMIt looks like you edited my post somehow rather than reply to it :-)

Whoops, sorry. I wondered why you "deleted" it.

Andrew Davie

Quote from: JetSetIlly on 19 Jun 2024, 09:55 PMAre you being serious?


Richard and I have met; I hosted him for a day and showed him around my home-town. Although we are not "friends", he knows who I am and responds to my emails. I have his ear, so to speak.

alex_79

Quote from: JetSetIlly on 19 Jun 2024, 09:41 PM(I would hope they include the license in the packaging of the console in some way)
They don't, unfortunately (and unsurprisingly).
I don't have a 2600+ either, and I have no interest in getting one, but this discussion made me curious and so I checked a few "unboxing" videos on youtube to get a closer look at the packaging.
Here are the 6 faces of the box:
box 01
box 02
box 03
box 04
box 05
box 06

Details of the text on the back:
detail 1
detail 2
detail 3

The single page "Quick Guide" included in the box (the back is empty). The QR code just points to www.atari.com:
Quick Guide


No mention of Linux, Libretro, Stella or Prosystem, no written copy of the GPL license, no mention of the right to obtain the source code.
The only copyright notice says "(c) 2023 atari Interactive, Inc.".

So much for the company that "values the community".

JetSetIlly

Quote from: alex_79 on 21 Jun 2024, 03:07 AMSo much for the company that "values the community".
Yes, it's very disappointing.
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social