Copy Link
Add to Bookmark
Report
Saxonia Issue 01 Part 021
Protect or spread
By Rumrunner/VOID
~~~~~~~~~~~~~~~~~
Do you remember back some years when protecting productions was the
big thing?
People found out several ways of stopping people from peeking og poking
their code. One of them was to run everything outside interrupts and in
user mode. Then, you could set the supervisor stack at an odd adress,
so if you had a hardware or software freezer, utilizing the level 7
interrupt, the computer would crash. It would try to push values into
the stack, but since this was an odd adress, it would give an exeption
which again tried to push values onto the stack (which was still odd),
and so on.
Then, people found out that this didn't work on Action Replay MK3,
because this cartridge doesn't utilize interrupts or exceptions. It
works this way :
- Pressing the button will send a reset code to the processor.
- At the same time, the cartridge will make chipram disappear from
the 68000's adressing range, and the cartridge puts it's own ROm
at the chipmem's adresses. That way, the reset will not have the
effect of resetting the computer.
- Then, when everything is set up, the cartridge again puts chipram
back where it belongs, and you get the user screen of the cardridge.
However, some people found out that the cardridge wasn't impossible to
lock out. Well, you could not stop people from entering it once, but
you could stop them from returning to the demo, slideshow or whatever.
This was possible because the AR3 does not leave the VPOS register in
the state it was. So, you could only read the VPOSR in the start of the
demo, and then if something had changed the register later on, you could
jump into some data or whatever, screwing up the demo. So even though
people could have one look at the code, rip a single picture, and
possibly some modules, you had to start all over again after exiting
from the cartridge.
There are also other kinds of protection people used. Crunchers were
one of them. There were groups who made their own cruncher, either
to make it harder for people to decrunch the code, or they simply
wanted to make it harder for people to uncrunch the stuff, that way
everyone could see that this production is spread through (or belongs
to) the group who has these decrunch colours.
Another issue, which has been debated some years ago, is protecting
modules by using custom players. Some said that it hurt the musician,
since people would listen more to the tune if they could rip it and
play it without seeing some boring demo which the tune was used in.
Others claimed that everybody who ripped the tunes took credits for
making the song themself.
However, protecting modules have been done in other ways than custom
players. If anybody remembers the Grapevine mag from Lsd, you might
have noticed that they obviously must run a clearmem routine at exit,
because you will not find the module in memory after exiting.
This is not a big problem really, even if it is hard to rip from file
because of custom crunchers (hey, where have you read about that not
long ago). The simple solution is to select save article (Grapevine
offered the possibility of saving articles to disk). Then you will
return to the Workbench screen with a requester for article name and
path. But just leva that requester alone and run the moduleripper.
The tune is in memory and can easily be ripped this way. So, as you
can see, not all forms of protection was enough thought through.
Now, this was some examples of what people did in earlier years to keep
the code, music and graphics for themselves, or at least preventing
people from taking credits for the things themselves.
But what has happened after that? Just look around. Eurochart and DISC
comes to mind quickly (very goods mags, by the way). They have the
articles as regular files, no crunching or anything. The same goes for
modules and pictures.
They are not alone though. Even some demos seem to have the graphics
and modules as regular files nowadays.
However, I don't understand why people want to spread so much of their
sourcecode. Can't this make things too much alike? Demos are probably
alike for other reasons, as there are not that much demosources out,
it's mostly utilities and such. But do we want all utilities to be
alike? Can't things become more like Microsoft's products if everybody
ends up using the same code for this and that purpose?