From: arromdee@jyusenkyou.cs.jhu.edu (Ken Arromdee)
Subject: Re: * MAJOR QUESTION! *
Organization: Johns Hopkins University CS Dept.
Date: Mon, 7 Sep 1992 07:41:58 GMT

In article <Bu6w86.J6o@acsu.buffalo.edu> v089l3s3@ubvmsb.cc.buffalo.edu (Jeremy B Horwitz) writes:
>Fact: Nintendo's first country-protected game, TMNT4
>(at least the Japanese one, I haven't heard about the
>US one), will not play on US systems. The proof that
>such technology (ie: System "Detection") existed earlier
>was the release of Super Adventure Island, which had
>Master Higgins appear upside down on SFC systems and
>right side up on SNES [at least on the US version]
>during the opening of the game, with rotation. ...
>Fact: A language switch exists for the Genesis already.
>Using Thunder Storm FX on the M-CD with the language
>switch turned to English boots TSFX as Cobra Command.
>CAN ANYONE DEVELOP A MEGA-CD SWITCH and/or a SNES/SFC SWITCH?

Mostly facts, a bit of speculation follows:

There seem to be two ways to make a country-protected game.  The first is to
put a country flag in the machine.  The _game_ decides to fail if the flag is
wrong.  Games not programmed to fail might still run even on the "wrong"
machine, and can do other things (switch languages, invert Master Higgins.)

The second is for the _machine_ to do the lockout, checking all games to make
sure they're not "wrong".

It's possible for a system to use both types of protection.  (For instance, a
game might read the machine's country flag, while the machine also compares
the very same country flag against something in the game's ROM.)

The incompatibility between European/US SNES is machine-based.
The incompatibility between Japanese/US SF/SNES game-based.
The incompatibility between _new_ Japanese/US MD/Genesis is machine-based.
The _other_ incompatibility between _all_ Japanese/US MD/Genesis is game based.

For CD's, there are 3 combinations of 3 parts (core system, drive, disk):

If the CD _drive_ is put in a new MD/Genesis from the wrong country, nothing
will run.  The machine-based lockout in the core system causes this; it's not a
_new_ problem.  (We know this because only the new core systems have this
lockout, and the CD drive only fails on new machines.)
If the CD _disk_ is put in a "wrong" MD/Genesis, and you get around the drive/
core problem, you get game-based lockout.  (There's no example of a CD that
actually won't run because of this, but Jeremy's Thunder Storm example shows
that the possibility exists.)
If the CD disk is put in the wrong drive, well, we don't know this one, since
there's only one kind of disk and one kind of drive on the market....

Note that since only a new MD/Genesis has machine-based protection, it makes
more sense to do game-based protection if you want to shut out _all_ "wrong"
playing.  All the deliberately protected games (list in the FAQ) have game-
based protection.  Machine-based protection only manifests for the Mega CD,
pirated Asian games, and early American games like Populous (for which the
incompatibility was accidental).

SNES machine-based incompatibility: There is an adaptor available in Europe;
you plug in both a foreign and domestic cartridge.  It combines the lines from
the foreign game's ROM with the lines from the domestic game's lockout chip.
SF/SNES game-based incompatibility: Nobody knows.  We need someone to actually
open the two machines up and look....
Genesis machine-based incompatibility: The language switch will solve the
problem for the CD drive/core.  To solve the problem for Populous, etc., use a
Game Action Replay.  (This would be the expected result if the machine tries
to compare its own language flag against the one in the drive/cart.)
Genesis game-based incompatibility: The language switch.
Non-matching CD drives and disks: Nobody knows.

There's one more: TG-16/PC Engine incompatibility: aside from the pinout
differences, there seems to be a machine-based problem.  Luckily for us, it's
one-way (US games on Japanese machines).

It's actually amazing that _anything_ works.  It would be easy for Sega or
Nintendo to use machine-based incompatibility which compared some bits on
chips in the machine and the cart.  On the machine end, use a ROM chip instead
of something as easy to change as a jumper; on the cart end, use bits scattered
throughout memory instead of in a separate chip that allows the reroute-the-
lines trick.  You could then only make a switch by installing a pirated ROM
chip; and EPROM burners tend to be a lot rarer than knives, wire, and solder.
Let's hope this is _not_ so for the "Nobody Knows" cases....

[well, am I totally off base here? :-)]
--
"the bogosity in a field equals the bogosity imported from related areas, plus
the bogosity generated internally, minus the bogosity expelled or otherwise
disposed of."  -- K. Eric Drexler

Ken Arromdee (UUCP: ....!jhunix!arromdee; BITNET: arromdee@jhuvm;
     INTERNET: arromdee@jyusenkyou.cs.jhu.edu)