[comp.sys.amiga] Populous for all Amigas!

lawsonse@vttcf.cc.vt.edu (Shannon Lawson) (10/10/90)

After talking with many Populous owners, it appears to me that the reason the
game will not run on any other processor but the 68000 is due to the copy
protection scheme encoded on the disk.  To back up their claim, some of these
same folks have mentioned that if a backup is made with a copier which removes
protection, the game runs.

I am outraged!  I believe in the right of a developer to protect his product 
from unauthorized use.  I also believe in the right of the purchaser to own a
working product.  I spoke with the Technical Support Group at Electronic Arts,
and the rep suggested that a letter writing campaign might be in order.  He
felt that sufficient input from legitimate users could convince EA to release
a version which runs on other machines.

I am urging ALL Populous owners who read this to sign and date the form letter
below.  Even if you own a 68000-based Amiga, it is important for the folks at
EA to hear from the Amiga community, so that future mishaps of this sort may
be avoided.

Thank you. 

(Form letter to follow signature)
-- 
  Shannon Lawson
  Senior, Computer Engineering
  Harry Lynde Bradley Department of
  Electrical Engineering
 
  Amiga Consultant 
  Department of Computer Science 
  Virginia Polytechnic Institute    INTERNET:  lawsons@csgrad.cs.vt.edu 
    & State University 

---------8<---------Cut here------8<----------------8<--------------8<--------

Electronic Arts
Customer Support
P.O. Box 7578
San Mateo, CA  94403


Dear Sirs:

I am writing to you as an unsatisfied customer.  I am an owner of the Amiga
version of Populous.  I am concerned about the inability of this program to
run on a non-68000-based Amiga.  As a legitimate customer, I am entitled to
a working piece of software.  It is my understanding that the sole reason for
the program's inability to run on other Amigas is the protection scheme encoded
on the disk.

You, as a software distributor, are entitled to protection of your product.
I would therefore like to suggest a compromise to this problem.  Since I am
a legitimate owner of Populous, I would be willing to send you my original
disk, plus a modest upgrade fee, for a non-protected version of the software
which will work on non-68000-based Amigas.

The advantage to users of your product is obvious.  The advantage to you is
considerable as well.  You will be able to broaden the market of a great game
by making it available to new users, as well as restoring its usefulness to
present owners.  I feel it is important for Electronic Arts to make an effort
to support and uphold Amiga devlopment guidelines, many of which were
established with the help of Electronic Arts.

I hope you will seriously consider this proposal, as it could have an effect
on my decision to purchase products distributed by your company in the future.




                                      Sincerely, 


--------------8<----------Cut here-------------8<------------------8<---------

podop03@bingsuns.cc.binghamton.edu (Kriston J. Rehberg) (10/11/90)

Actually, mosts games you pick up won't run on anything but a 68000
processor.  It's not the fault of the programmer (he was thinking of
A500/2000/2500 users) that his GAME code doesn't run on advanced
processors.  I own an A2500 and don't see the use in getting an A3000
for the sole reason it doesn't have a switchable 68000 inside it.  To
me, that trashes about 50 percent of the upward compatibility that
really should be there.

And hell, Populous is only a game anyway.

(It's NOT the copyprotection... it's the game code!  Try running Shadow
of the Beast on a 68020 - no go!)

.=============================================================================.
| Kriston J. Rehberg                         | "Only Amiga makes it possible" |
| podop03@bingsuns.cc.binghamton.edu .======================================.='
| podop03@bingvaxa.bitnet           / The POD will be a better place         \
`==================================| Once the XBALANCE system has been erased |
                                   `=========================================='

zerkle@iris.ucdavis.edu (Dan Zerkle) (10/12/90)

In article <32943@nigel.ee.udel.edu> lawsonse@vttcf.cc.vt.edu (Shannon Lawson) writes:
>
>After talking with many Populous owners, it appears to me that the reason the
>game will not run on any other processor but the 68000 is due to the copy
>protection scheme encoded on the disk.  To back up their claim, some of these
>same folks have mentioned that if a backup is made with a copier which removes
>protection, the game runs.

In the beginning of the RKM Libraries and Devices, there is a note that
says to never use self-modifying code.  In order to make copy
protection harder to remove, loaders often encrypt those parts of the
code which deal with the copy protection, then decrypt it right before
execution.  This is practically an automatic lose for any CPU that has
an instruction cache but no coherency scheme.  The MC68020 and 030 both
have instruction caches built-in.  These caches are not written to when
the memory to which they correspond is modified, so coherency is lost
when modifying code in the instruction cache.  Since whatever is
remaining in the caches has not been decrypted, the CPU is basically
executing garbage, and the machine crashes.

This is different than the external caches you often see for
Intel-based machines.  Those architectures typically use a
write-through protocol, in which any modifications are made to both the
cache and the memory.  Also, those external caches do not typically
discriminate between code and data, but rather just consider them as
memory references.

The cache problem can be avoided on 68000 machines that have
accellerators (A2500, GVP-enhanced, whatever) by using the 68000.  Some
systems let you turn off the cache in their accellerators.
Unfortunately, neither of these is an option in the A3000, which has
only a 68030, and no option for turning off the caching.  In any case,
turning off the cache results in reduced performance.

Since it has been discussed at length, I won't say why, but I
personally detest hardware-based copy protection.  As one way to help
alleviate the problem, I suggest you not only write to publishers, but
also write to magazines that review software (especially games) and ask
them to list the following with their reviews:

1. Is it hard drive installable?
2. Does it work on a 68020/68030/ A3000 system?
3. Does it work under 2.0?

If magazines publish this information, software publishers may notice
they don't look good when they make their software useless to a large
segment of their potential market.  Knowing their personality, I think
.info might be a good place to start in getting them to add this to
their reviews.
             Dan Zerkle  zerkle@iris.ucdavis.edu  (916) 754-0240
           Amiga...  Because life is too short for boring computers.

david@starsoft.UUCP (Dave Lowrey) (10/12/90)

>In article <32943@nigel.ee.udel.edu> lawsonse@vttcf.cc.vt.edu (Shannon Lawson) writes:
>
>After talking with many Populous owners, it appears to me that the reason the
>game will not run on any other processor but the 68000 is due to the copy
>protection scheme encoded on the disk.  To back up their claim, some of these
>same folks have mentioned that if a backup is made with a copier which removes
>protection, the game runs.

Maybe, but it will run way too fast!!!

The game doesn't check the copy protection till after the demo screen. If
I boot it up on my 2500 (68020), the demo runs much faster.

I would assume that the game also would go faster.

Doesn't anyone in Europe have 68020 or 68030 Amigas??? It seems that the
majority of games that come from there either don't work, or run too fast
on a non-68000 based Amiga.

--
----------------------------------------------------------------------------
These words be mine. The company doesn't care, because I am the company! :-)

      Dave Lowrey        |  david@starsoft or {uhnix1,moray}!starsoft!david
Starbound Software Group |
      Houston, TX        | "Dare to be stupid!" -- Weird Al Yankovic

uzun@pnet01.cts.com (Roger Uzun) (10/14/90)

>>Dan Zerkle mentions 3 things to look for in software
>>1. Is it hard disk installable
>>2. Does it work on a 68020/68030/ A3000 system?
>>3. Does it work under 2.0?

The last game I developed, Heart of the Dragon, does all of the above.
I wish more games did.  Except for making the 512k version more playable,
I can see no reason why all games do not fulfill all 3 requests.

-Roger

UUCP: {hplabs!hp-sdd ucsd nosc}!crash!pnet01!uzun
ARPA: crash!pnet01!uzun@nosc.mil
INET: uzun@pnet01.cts.com

lkoop@pnet01.cts.com (Lamonte Koop) (10/14/90)

zerkle@iris.ucdavis.edu (Dan Zerkle) writes:
>In article <32943@nigel.ee.udel.edu> lawsonse@vttcf.cc.vt.edu (Shannon Lawson) writes:

[much stuff deleted]
>
>The cache problem can be avoided on 68000 machines that have
>accellerators (A2500, GVP-enhanced, whatever) by using the 68000.  Some
>systems let you turn off the cache in their accellerators.
>Unfortunately, neither of these is an option in the A3000, which has
>only a 68030, and no option for turning off the caching.  In any case,
>turning off the cache results in reduced performance.

This is not a correct statement about the 68030.  Any 68030 or 68020 can have 
it's code and/or data caching inhibited through the setting of it's cache
control register (CACR) in said way.  However, it is a correct assessment taht
this degrades performance.  Noticable in a 32-bit environment, and if you
happen to be running in a 16-bit environment with the Instruction cache off,
it can be like moving through molasses.



UUCP: {hplabs!hp-sdd ucsd nosc}!crash!pnet01!lkoop
ARPA: crash!pnet01!lkoop@nosc.mil
INET: lkoop@pnet01.cts.com

robocop@zelator.UUCP (Thorsten Ebers) (10/15/90)

It is not the copy protection that is responsible for not running on a 
non 68000 amiga.It is the game code.Perhaps the protection code will not 
run either on a non 68000 amiga.
Have you ever tried it on a 68030 amiga.The populous peaple are running like
bees on the screen and the oppunent computer is so fast that you will never
have a chance to win.While zou have flattend one square he flattend 5 or
more squares.

Thorsten

sparks@corpane.UUCP (John Sparks) (10/16/90)

zerkle@iris.ucdavis.edu (Dan Zerkle) writes:

>1. Is it hard drive installable?
>2. Does it work on a 68020/68030/ A3000 system?
>3. Does it work under 2.0?

>If magazines publish this information, software publishers may notice
>they don't look good when they make their software useless to a large
>segment of their potential market. 

This is a great idea! It would also be nice if they added: 

4> How much memory is needed to run the game.
5> If it *is* copy-protected, what type of protection is it? Disk-based, or
type-a-word-from-the-manual, or look-up-goofy-symbol-on-hard-to-use-code-
wheel-like-device.




-- 
John Sparks         |D.I.S.K. Public Access Unix System| Multi-User Games, Email
sparks@corpane.UUCP |PH: (502) 968-DISK 24Hrs/2400BPS  | Usenet, Chatting,
=-=-=-=-=-=-=-=-=-=-|7 line Multi-User system.         | Downloads & more.
A door is what a dog is perpetually on the wrong side of----Ogden Nash

steve@digibd.com (Steve Wahl) (10/19/90)

In article <7814@ucdavis.ucdavis.edu> zerkle@iris.ucdavis.edu (Dan Zerkle) writes:
>In article <32943@nigel.ee.udel.edu> lawsonse@vttcf.cc.vt.edu (Shannon Lawson) writes:
>>
>> [ Populous copy protection code fails on {680x0|x>0} ]
>
>In the beginning of the RKM Libraries and Devices, there is a note that
>says to never use self-modifying code.  In order to make copy
>protection harder to remove, loaders often encrypt those parts of the
>code which deal with the copy protection, then decrypt it right before
>execution.  This is practically an automatic lose for any CPU that has
>an instruction cache but no coherency scheme.  The MC68020 and 030 both
>have instruction caches built-in.  These caches are not written to when
>the memory to which they correspond is modified, so coherency is lost
>when modifying code in the instruction cache.  Since whatever is
>remaining in the caches has not been decrypted, the CPU is basically
>executing garbage, and the machine crashes.

Ok.  Does anyone care to explain to me how the ENCRYPTED version of the
code got into the INSTRUCTION-ONLY cache?  I don't think this argument
works, because the encrypted stuff would have to be executed to be
in the cache.  Hmm.. I guess it could be that the first few instructions
immediately follow the decrypting routine, so that some prefetched
instructions get into the cache.  If only they could keep the encrypted
code some distance from the decryption code!  I'd bet that software
timing loops cause most of the problems, however.

Any copy-protection crackers out there want to comment on this?  C'mon,
I'm willing to believe that you crack copy protection only for the challenge,
or because you wanted to get that program onto the hard disk (lord knows
I've got some of these!) or to get rid of the key disk or...


>             Dan Zerkle  zerkle@iris.ucdavis.edu  (916) 754-0240
>           Amiga...  Because life is too short for boring computers.

--> Steve

-- 

Steve Wahl               steve@digibd.com
DigiBoard Inc.
St. Louis Park, MN       (612) 922-8055

fhwri%CONNCOLL.BITNET@cunyvm.cuny.edu (10/19/90)

POPULOUS (the best game, along with SIM CITY, of 1989) needs 512K. It has
DOS protection (sorry), and apparently (from J. Pournelle's mention in
BYTE where he admitted that he didn't know how to boot a 2500/30 in 68000
mode (and he writes about computers!)) it does *NOT* run past the demo
mode on anything other than a 68000...
                                                --rw
                                                fhwri@conncoll.bitnet

fhwri%CONNCOLL.BITNET@cunyvm.cuny.edu (10/19/90)

The newest version of PROJECT D has a special file that will allegedly
deprotect POPULOUS. It didn't work on MY purchased copy (mine was a Brit
import), but it may work on yours. It claims to make the game HD installable
and to work on all Amigas.
                                                --Rick Wrigley
                                                fhwri@conncoll.bitnet

p554mve@mpirbn.mpifr-bonn.mpg.de (Michael van Elst) (10/20/90)

In article <1990Oct18.172121.878@digibd.com> steve@digibd.com (Steve Wahl) writes:
>Ok.  Does anyone care to explain to me how the ENCRYPTED version of the
>code got into the INSTRUCTION-ONLY cache?  I don't think this argument
>works, because the encrypted stuff would have to be executed to be
>in the cache.  Hmm.. I guess it could be that the first few instructions
>immediately follow the decrypting routine, so that some prefetched
>instructions get into the cache.

That's possible but the more likely problem is that there are several
encrypted parts that are decrypted to the same buffer. When a routine
gets executed you might end with executing the previously decrypted
one.

Regards,
-- 
Michael van Elst
UUCP:     universe!local-cluster!milky-way!sol!earth!uunet!unido!mpirbn!p554mve
Internet: p554mve@mpirbn.mpifr-bonn.mpg.de
                                "A potential Snark may lurk in every tree."