#39378 - 3D_geek - Fri Apr 08, 2005 4:17 am
We've been having a discussion over on DSLinux.org about the first steps at getting Linux up and running on the DS - and we've run into a serious problem - I don't understand why you guys don't have the same problem - so I'm here to ask.
I need three facts confirmed:
1) I'm told (and I havn't been able to verify it personally) that the GBA won't boot unless there is a copy of the Nintendo Logo in the Flash Cartridge.
2) I've also been told that the DS won't boot a GBA cartridge without the logo in it for the same reason. (Which would make perfect sense since it's emulating a GBA).
3) It's also been suggested that the DS won't boot from a GBA flash cartridge without the logo in it EVEN IF YOU BOOT NATIVELY VIA A PassMe CARD!!
Are all of these things true?
If so - how come you guys are comfortable with making GBA and DS games? If you include Nintendo's copyrighted (and trademarked) work in all of your cartridges, aren't you running grave risks of getting sued?
Is there some fancy legal footwork that lets you off the hook? Are you just hoping not to be noticed by Nintendo's lawyers?
I need help here!
#39380 - serf - Fri Apr 08, 2005 5:35 am
I can't claim to be an expert here, but there seem to be at least two cases providing precendent that might help you. Note that I could be completely off-base here: I'm a CS student, not a lawyer, and it's been a little while since I read the opinions in full. I also don't know if there are any cases that are more closely related to the precise question at hand. (Or even if there is one -- I don't know anything about how the GBA or the DS distinguish licensed from unlicensed cartridges.)
One is Sega v. Accolade, concerning Accolade's reverse engineering of the system the Sega Genesis used to lock out unlicensed games. When the Sega Genesis was powered on, it would search for four bytes containing the word "SEGA" at a predetermined address on the insterted cartridge. If this data was not found, the Genesis would not run any code on the cartridge; if the data was found, the Genesis would display a message to the effect that the game was produced under license from Sega and so forth. Accolade reverse engineered several Genesis cartridges and discovered this, which allowed them to start producing games for the Genesis. Sega got upset and sued, claiming trademark infringement, copyright infringement, and "false designation of origin" -- as well as asking for a preliminary injunction. The district court granted them the injunction, but the circuit court reversed the ruling.
The copyright claims in this case revolved largely around whether or not copying the Genesis cartridge code into a computer's RAM in order to disassemble it constituted fair use of the copyrighted code. The judge ruled that it did, since disassembly was the only way to gain access to the ideas embodied in the code.
Sega lost on the trademark and "false designation of origin" claims because the trademarks were used primarily as a lock-out mechanism -- i.e., they were used in a functional capacity, instead of a purely descriptive one. The judge said, essentially, that any trademark infringement here was Sega's own fault, since they had required that other companies "misuse" their trademarks in order to run code on the Genesis.
The second is Lexmark v. Static Control. In this case, Lexmark was selling toner cartridges at a reduced rate on the condition that the buyer would not refill the toner cartridge himself, but instead would return the cartridge to Lexmark when it became empty. They enforced this condition by having the printer ensure that only genuine Lexmark cartridges were used. The printer accomplished this by calculating the checksum of a certain piece of code residing on the toner cartridge -- if it wasn't the value the printer expected, the printer wouldn't print. (The code was for monitoring toner levels or something of the sort.) The printer additionally insisted on receiving a correct SHA-1 hash value of the data on the toner cartridge. Static Control Components developed a chip that could be inserted into Lexmark cartridges that would (a) disable any kind of refill restrictions Lexmark had implemented, but would still pass all of the printer's tests.
To do this, Static Control had to both reverse engineer the code on the toner cartridge and copy the checksummed portion of the code in its entirety (80 bytes or so) into the chip. Lexmark sued for copyright infringement and violations of the DMCA's restrictions on the circumvention of access control measures, and asked for a preliminary injunction. The injunction was granted by the district court, but was overturned on appeal.
The court ruled that Static Control had not violated Lexmark's copyright on the copied portion of the code because "external factors" -- in this case, having the correct checksum -- limited the number of forms that compatible code could take, and thus the code did not enjoy full copyright protection. (Copyright applies to expressions only, not ideas. If there is only one way to express a particular idea, there is a good chance that that expression won't be copyrightable.) Or, put another way, the program is not simply a copyrightable program, but also a non-copyrightable lockout code, and thus Static Control was not liable for having included copies of this code in every chip it sold. (One must be careful here; the opinion cites an earlier ruling that indicates that while a program that is a lockout code may not be copyrightable, one that generates a code might be.)
The court dealt with the claims that Static Control was selling technology for circumventing an access control device by observing that no security measures had to be circumvented in order to see the code -- only to run the code. Therefore, these measures did not control access to the code, but only the use of the code -- and did not constitute an access control device.
As far as this particular case is concerned, I think (and this is pure speculation) that you're probably in the clear. Sega v. Accolade would indicate that you're almost certainly fine on trademark grounds, and Lexmark v. Static Control offers hope on the copyright and "circumventing an access control device" fronts. However, the logo may constitute enough data that a court would find it difficult to exempt it from copyright protection, even if it is being used as a lock-out code. Both Sega and Lexmark note that short works are much less likely to be copyrightable than long ones are, and neither concerns copyright claims of the sort we're concerned with here on any work longer than about 80 bytes. So the logo might still be a problem.
Any other thoughts? Am I missing anything? Misreading the opinions? Are there any rulings regarding the GBA lock-out mechanisms in particular?
#39381 - outRider - Fri Apr 08, 2005 5:59 am
I don't think you need the logo to boot via PassMe. The DS doesn't touch the GBA slot on its own when it boots a DS cart, it just gets duped into it by you.
_________________
outRider
#39382 - octopusfluff - Fri Apr 08, 2005 6:14 am
Well, part of the initial question was about the GBA, so it was all relevant.
I'm also pretty sure there was another case along the same lines as Sega vs Accolade.
I want to say Atari was involved, but I can't recall specifically.
Basically, the courts are of the opinion that if the string of bits is required as an 'access key', then the side effect of displaying a logo (which may be copyrighted or trademarked) is not as important as the 'lockout' aspect.
#39383 - garlic - Fri Apr 08, 2005 6:24 am
I also believe the logo being included or not depends on the crt0.s. A Gameboy Advance emulator will most likely not care if it is present. On hardware, I know (at least the popular software years ago, at least) the cart writing software would include the logo data for you, making it possible to distribute a binary without it.
Correct me if I'm wrong about that...
#39384 - tepples - Fri Apr 08, 2005 6:42 am
Again, nothing you read on gbadev.org is legal advice.
serf wrote: |
However, the logo may constitute enough data that a court would find it difficult to exempt it from copyright protection, even if it is being used as a lock-out code.
Both Sega and Lexmark note that short works are much less likely to be copyrightable than long ones are, and neither concerns copyright claims of the sort we're concerned with here on any work longer than about 80 bytes. So the logo might still be a problem. |
One of the fair use guidelines is "amount and substantiality". In the case of the Sega Genesis, the boot code was 20 bytes or so copied from Altered Beast, a 4 Mbit (512 KiB) cart. The GBA logo code is 156 bytes copied from Super Mario Advance, a 32 Mbit (4 MiB) cart. In each case, less than 0.004 percent of the first launch title is copied. It's a larger amount but likely no more substantial, especially in view of the "purpose and character" factor.
garlic wrote: |
A Gameboy Advance emulator will most likely not care if it is present. |
Depends on whether your emulator is using a fair-use dump of your GBA's BIOS. (For those playing at home, copy a BIOS dumper program to your GBA flash card, run it, backup the savegame, and tell your emulator to use it as a BIOS file.) GBA emulators that high-level-emulate the BIOS will usually not care about the logo, but emulators that use a BIOS dump will faithfully execute the instructions in the BIOS, including the BIOS's header verification. VisualBoyAdvance and RascalBoy can be set to either method.
That said, devkitARM includes "gbafix", a program that adds a valid header to a GBA program. I just have my game's build script call that. If Niиtendo wants to start something, it should send a cease-and-desist letter to wintermute, maintainer of devkitARM.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#39386 - ampz - Fri Apr 08, 2005 6:51 am
The SEGA vs accolate case is not exactly the same. There was only four bytes... The word "SEGA", and thoose bytes where never displayed to the user (the big bluie SEGA logotype was stored and displayed entirely by the console).
In the GBA/DS case it is more or less a complete image of Nintendo's logotype. Logotypes are even more protected by law. But on the other hand, we have the right to develop interoperable hardware and software... So one law must be broken.
Also, note that just because SEGA lost against accolade in ONE country it doesn't mean they would loose in all countries.
#39387 - octopusfluff - Fri Apr 08, 2005 7:03 am
Yeah, that's a good point. These cases are only applicable to United States law, although I believe similar conclusions have been reached in Europe.
Your mileage may vary, and you probably want to have a lawyer at the pump.
#39388 - tepples - Fri Apr 08, 2005 7:05 am
ampz wrote: |
The SEGA vs accolate case is not exactly the same. There was only four bytes... The word "SEGA" |
And some code to store the word "SEGA" at the appropriate address, which Accolade copied, not knowing what exactly it did. That makes up the rest of the 20 or 24 bytes, depending on which source you read. The Pokemon Mini header is even smaller: only 8 bytes ("NINTENDO") with no code.
Quote: |
and thoose bytes where never displayed to the user (the big bluie SEGA logotype was stored and displayed entirely by the console). |
The Nintendo logo bytes are never displayed directly; they're apparently Huffman-decompressed first. I've read that after the BIOS copies the header to RAM, it overwrites the jump instruction with the Huffman decompression header (including length in bytes of decompressed data), making it impossible to buffer-overflow the BIOS's header check in the same way that the Xbox was hacked through savegames and font files.
Quote: |
Also, note that just because SEGA lost against accolade in ONE country it doesn't mean they would loose in all countries. |
You're right. Some countries may regard interoperability lower than the United States does, but others likely regard it even higher.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#39389 - serf - Fri Apr 08, 2005 7:22 am
tepples:
Quote: |
One of the fair use guidelines is "amount and substantiality". In the case of the Sega Genesis, the boot code was 20 bytes or so copied from Altered Beast, a 4 Mbit (512 KiB) cart. The GBA logo code is 156 bytes copied from Super Mario Advance, a 32 Mbit (4 MiB) cart. In each case, less than 0.004 percent of the first launch title is copied. It's a larger amount but likely no more substantial, especially in view of the "purpose and character" factor. |
The logo is only 156 bytes? I agree: I can't imagine that would be a problem.
Also, fair use is not the only defence you can marshal in this case. One of the opinions notes that a short work allows less latitude for creativity and expression than does a long one, and so is much less likely to possess a unique expressive nature that would qualify it for copyright protection. For example, I most likely would not have a claim to the source code:
Code: |
int my_series(int x) {
if(x == 0) return 1;
else return x*(my_series(x-1) - 1);
}
|
-- or to the object code that a compiler would generate from it, even if I were the first person ever to write this code. There just aren't very many reasonable, substantially different ways to express this particular idea in C code.
Similarly, code that functions as a key to a lock-out device may not be copyrightable even if it is somewhat lengthier, simply because this "key" role is entirely non-expressive.
ampz:
I agree that Sega isn't entirely identical to what we're discussing here. However:
1. Sega makes it pretty clear that bringing claims on trademark infringement grounds is unlikely to succeed. Sega could make a legitimate claim that the "produced by or under license from Sega" (or something like that) notice displayed to the user might cause the user to be confused about the origin of the product. However, the court ruled that this did not constitute trademark infringement because Sega made this a necessary part of the boot process. From my reading of the opinion, the fact that the message was stored in the console instead of on the cartridge seemed largely irrelevant. Perhaps I am incorrect.
2. Lexmark deals with a much longer segment of copied material -- around 80 bytes, if I recall correctly. The court ruled that copying this material (which was actually code) verbatim and distributing a chip containing the copy was acceptable, since the code functioned as part of a lock-out device. Also, there were more than 4 bytes copied in the Sega case, as well, but, in its request for a preliminary injunction, Sega did not claim that Accolade had infringed its copyright by distributing this data.
The only material difference in this case seems to be, as you point out, that the GBA displays the logo image as stored on the cartridge. My opinion is that this factor will no make a bit of difference in the end, though -- both of the opinions I linked to seemed to subscribe to the general theory that data acting as a key is not subject to either copyright or trademark protection, so long as the supposed "infringer" is using the data in that same role.
(Yep, of course this only applies to the US -- I have no idea what the standards are elsewhere in the world. And this isn't legal advice, either. Just entertaining speculation.)
#39392 - FluBBa - Fri Apr 08, 2005 8:48 am
More speculation...
If you don't plan on taking this commercial I don't think you have to worry. If Nintendo decides they want to bother you they probably just tell you to remove the header logo... If that happens then I would worry about wether I would include it or not.
_________________
I probably suck, my not is a programmer.
#39396 - ampz - Fri Apr 08, 2005 11:03 am
There is a new EU law on the horizon, one which makes circumventing copy protection mechanisms a crime. (sounds like it is equivalent to some of the DMCA crap). This law will cause tons or problems with similar lock out codes. I would not call the GBA header a copy protection mechanism, but the stupid region and encryption of DVDs for example is claimed to be a copy protection mechanism (in reality it is first and foremost a lock out mechanism).
Playing DVDs on non-licensed DVD players is still illegal in USA?
#39404 - Lynx - Fri Apr 08, 2005 2:50 pm
Well.. to answer the main question, current DS demos don't need a logo in them. If the bios requires it, the real DS cart inserted in PassMe must be providing it.
#39413 - quonic - Fri Apr 08, 2005 4:24 pm
Lynx wrote: |
Well.. to answer the main question, current DS demos don't need a logo in them. If the bios requires it, the real DS cart inserted in PassMe must be providing it. |
That solves it then... If the bios requires a header and the PassMe is providing it from a DS cart then there is no leagl action Big 'N' can do about, refering to Lexmark v. Static Control.
_________________
Comming Soon: http://www.spyingwind.com
#39415 - tepples - Fri Apr 08, 2005 4:46 pm
ampz wrote: |
Playing DVDs on non-licensed DVD players is still illegal in USA? |
Even if there were no DMCA, playing DVD Video without a licensed player would still infringe the patents on MPEG-2 video and Dolby Digital audio.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#39416 - ampz - Fri Apr 08, 2005 4:48 pm
quonic wrote: |
Lynx wrote: | Well.. to answer the main question, current DS demos don't need a logo in them. If the bios requires it, the real DS cart inserted in PassMe must be providing it. |
That solves it then... If the bios requires a header and the PassMe is providing it from a DS cart then there is no leagl action Big 'N' can do about, refering to Lexmark v. Static Control. |
Well, the passme is falsely advertising that the DS game is Metroid (or SMB or whatever) but when the end user presses the metroid icon, a completely different piece of software is started.
I'am sure some lawyer with a fat salary could figure out a way to sue people for this obvious trojan-like way of fooling users to think they are starting Metroid when in fact they are starting something completely different.
#39418 - Ethos - Fri Apr 08, 2005 5:33 pm
ampz wrote: |
quonic wrote: | Lynx wrote: | Well.. to answer the main question, current DS demos don't need a logo in them. If the bios requires it, the real DS cart inserted in PassMe must be providing it. |
That solves it then... If the bios requires a header and the PassMe is providing it from a DS cart then there is no leagl action Big 'N' can do about, refering to Lexmark v. Static Control. |
Well, the passme is falsely advertising that the DS game is Metroid (or SMB or whatever) but when the end user presses the metroid icon, a completely different piece of software is started.
I'am sure some lawyer with a fat salary could figure out a way to sue people for this obvious trojan-like way of fooling users to think they are starting Metroid when in fact they are starting something completely different. |
I think not, that is like filling a Milk jug with oil and suing the Milk manufactorer for having oil in the jug. A person who uses a passme is not being fooled, they must physically put the passme in.
#39431 - darkfader - Fri Apr 08, 2005 8:22 pm
Only Nintendo would associate themselves with that string of bytes. It serves no real purpose (other than identify the file perhaps), so it might as well be just random data :)
#39460 - Lynx - Sat Apr 09, 2005 4:32 am
ampz wrote: |
Well, the passme is falsely advertising that the DS game is Metroid (or SMB or whatever) but when the end user presses the metroid icon, a completely different piece of software is started.
I'am sure some lawyer with a fat salary could figure out a way to sue people for this obvious trojan-like way of fooling users to think they are starting Metroid when in fact they are starting something completely different. |
Wow.. That's some creative thinking.. Have you seen a PassMe? Do you know how it works? There is no button press. You put it in, and boot the demo that YOU WRITE TO YOUR GBA FLASH CART! So, if someone loads a DS demo onto their flash cart, inserts their Mario 64DS cart into a PassMe, and inserts the PassMe into their DS, and turns it on.. And can still say they had no idea that Mario 64DS wouldn't boot, and a demo would.. Well.. I have a bridge to sell them!
#39548 - LOst? - Sun Apr 10, 2005 5:01 am
darkfader wrote: |
Only Nintendo would associate themselves with that string of bytes. It serves no real purpose (other than identify the file perhaps), so it might as well be just random data :) |
Yes, so true. A logo is a logo only if it can be viewed as a logo. Copying a string of bytes that is "supposed" to be a compressed logo is not a crime, since the only way proving it is a logo is to do an illegal breakdown of the system.
What happens if I randomly put bytes together and it may be a logo of any company if you decompress it using some sort of algorithm? Surly that would not be illegal since no one can own randomly generated data. Stealing code that are instructions is another thing, if it is used to run on a system that can read the instructions. The compressed logo is not instructions, it is however one big instruction for unlocking the game, but it is considered data since no CPU can read it as an instruction..... because it is too big to fit the cache.
The guys who break the law are the guys who know how the system work, and these people are the ones making the emulators. And even if they do break the law, they haven't gotten into trouble yet so why are you so worried in the first place?
If you want you game to be legal, buy a license from Nintendo. But if you want to just use the hardware for use with your own stuff, modifications that will not harm Nintendo would be just harmless to anyone of you.