<============================================================================

                               D E S C R I P T
                          Version 0.02 - 30 Nov 1993
                          Andrew Clover of DoggySoft

============================================================================>

===> Cheats are free with AjC!

 This program is Freeware. You are allowed to copy it and hand it around to
your friends as much as you like. If you are a PD library, please write to
us for the latest versions of all our programs.

===> Introduction

 Hello.

===> The Story so far

 The last year has seen the release of two programs whose purpose is to allow
you to change games' internals, so you can cheat. One, The Hacker, is packed
with features, easy to use, cheap (5), and thoroughly excellent. The other,
Games Wizard, isn't. If you want some other opinions to back this up, there's
a list of magazine quotes at the end of this file.

 The point is that both programs have very different ways of producing a
finished cheat. The Hacker allows you to create a stand-alone Cheat Module,
which you can distribute as you like, the point being that you can make it
public domain, and pass it around to others, who can use the cheat without
having to buy a copy of The Hacker. This rather nice method has ensured a
giant collection of CheatMods - at the moment, 504 cheats, in 131 modules,
for 123 games. With Games Wizard, on the other hand, you have to send the
cheat off to the authors, who turn it into a 'script file'. To use this, you
then have to drag the file into a copy of Games Wizard - you can't use a
script file without a copy of Games Wizard. This explains why the latest
version (at the moment) only has 78 cheats in 55 files for 54 games - and
a couple of those look suspiciously like the Cheat Modules The Hacker comes
with.

 Earlier this year, the company that made Games Wizard changed - sort of a
name change, after breaking up with their marketing people, and sort of a
takeover. I'm not entirely sure what did happen, but the new company is
called GamesWare, and Games Wizard has been revived. It still costs 20 -
or does it? Well, the program they are selling for 20 is not even as good
as the original Games Wizard. Without telling anyone, they've chopped out
the bit that finds cheats. So, all you get for 20 is a little utility to
decode the encrypted 'script files', turn them into normal pokes, and
then do that poke when you press some keys. You wouldn't expect them to
collect 55 cheats, which are available in the public domain anyway, encode
them into unreadable formats, put in a utility to run them, and charge 20,
would you? Oh, by the way, the copy of Games Wizard that finds cheats - just
like the old one - will cost you another 10.

===> Where Descript comes in

 So, after all that background propaganda (well, I don't know... propaganda
implies it isn't true), what is the purpose of Descript? Well, as the name
implies, it de-scriptifies cheats, transforming them from unreadable script
files which take a silly utility to run, to normal pokes, which can be run
using Games Wizard or The Hacker, and can be made into easier-to-use public
domain cheat modules with a copy of The Hacker. It also has an 'Install'
function, which means it will also run the cheats - so it does what Games
Wizard does, but you don't have to pay for it. Why bother if all the script
files are already cheat modules? Well, GamesWare seem to think that magazines
will print script codes, so that Games Wizard owners can cheat, and no-one
else. So far, only cheat modules have appeared on coverdiscs, which everyone
can use, so good. But I suppose there's a tiny chance some other script files
might appear. Or something. I don't know. Anyway, the point is, you can have
a program here that does everything that Games Wizard does (more, in fact),
without paying for it. I shall not try to hide the purpose of this program:
I don't think GamesWare should be allowed to get away with selling a load of
PD cheats, with a PD-standard utility, for 20. If everyone has a better PD
program, no-one will fall for it, hopefully.

===> So, how does it work?

 It's quite simple. You drag a script file into Descript, and a little window
appears. From here, there's two things you can do:

 1. Click on install. From now, if you press the SHIFT and HOME keys at the
    same time, the poke will be executed; but do make sure you only do this
    when the game is loaded, otherwise other programs may be poked and they
    may die. Unlike cheat modules, script files cannot detect whether games
    are loaded. SHIFT and HOME execute ALL the script codes in the script
    file. This is the same as old versions of Games Wizard. Newer (GamesWare)
    versions have ten 'slots', which can hold different cheats, like cheat
    modules' fourteen keys. Descript will execute all slots at once. This is
    not a problem at the moment as all script files so far only have one
    slot.
    When you quit Descript, you will be asked whether you want to keep the
    cheat in memory. You should be aware that if you do this, you will NOT
    be able to get rid of the cheat subsequently.

 2. Save out the description file. At the top of the window is a normal
    RISC OS save box. As normal, you can type a name and click on 'OK', or
    drag the file to a directory viewer, or a text editor, to read it.

 Clicking on either button with adjust does as above, but keeps the window
on screen. Other things you can do with Descript are: looking at the info
window (pretty); making an error occur so you can look at the error window
(pretty).

 Descript also takes up less memory than Games Wizard, looks prettier (proper
3D borders, and outline fonts on templates), allows you to drag to and from
other tasks (such as Edit - obviously the WIMP data transfer protocol is
beyond GamesWare), and doesn't claim your SWI hardware vector (the Games
Wizard MODULE does this to provide a single SWI, numbered &FF, which loads
script files and does the disc protection; the programmers amongst you will
know how stupid this is).

===> The desktop style (Cosmetic... you don't NEED to read this)

Note: When using pretty outline fonts, Descript will look pretty rubbish if
you have configured the maximum size to anti-alias fonts at to less than the
size of text used (around 14pt). If you have, get out your !Configure now,
and have a more sensible value! Also, I recommend a font cache of at least
64K, to speed things up. Of course, you could always use the system font
instead...

Descript uses an early version of Desktop Hacker's nice configurable window
style. Since there aren't very many windows, you don't get to see it very
much, but it's still very pretty. The Choices file can be edited using a
text editor - Descript doesn't have a choices window, but it's easy to edit
it anyway. The 3DStyle field can be either R, for a RISC OS Style Guide type
style (light grouping borders, grey-3 buttons, yellow arrows), or a hex
digit 0-F for a WimpExt-style WIMP (heavy grouping borders with prominent
titles, and a slabbing colour specified by the hex digit). Since Descript
doesn't have any arrows and only one grouping border, this is largely
irrelevent, but still. StdFont contains the name of the outline font to use
on the windows (or * for the system font), and the font specified in ItlFont
is used in data icons. SzeFont specifies the size of font to use, in
sixteenths of a point. If Descript can't find your fonts, it will resort to
using the system font.

===> Script file format (Technical... you don't NEED to read this)

 If you are interested, I shall now explain the format of a script file.
Basically, it's a list of lines, each of which can be a comment or a script
code. Comments are prefixed with '*', or are lines filled purely with spaces.
Script codes are 12 digits long:

        XXXXXXXXXXXX
        \___/\_____/
          |     \------- Data - last 7 digits
          \------------- Address/flags - first 5 digits

 The numbers themselves are in a variant of base 34. 'I's are converted into
'1's, obviously to avoid mis-typing, and 'O's are converted to '0's. Letters
must be in upper case. Every digit over 'I' moves one down; anything over 'O'
moves two down. Thus:

Original digit: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
    Real digit: 0123456789ABCDEFGH1IJKLM0NOPQRSTUVWX

 Once you've converted to real digits, you can read the values as normal,
base 34 values (OS_ReadUnsigned will do the job fine). So, you'll have a data
value, and an address/flags value. The data value is not the real one though;
to get that, you'll have to flip all the bits in the address/flags value, and
exclusive-or with the original data value. You then have the real one. The
address/flags value is like this:

        00faaaaa (Hex)
          |\___/
          |  \------------ Address - can only go up to &FFFFF
          \--------------- Flags: 0 = byte load
                                  1 = byte OR
                                  2 = byte AND
                                  3 = byte EOR
                                  4 = word load
                                  5 = word OR
                                  6 = word AND
                                  7 = word EOR

For example, if address/flags value is &00408CC0, and the data value, when
decoded, is &00000003, that would mean that the word at address &8CC0 would
be poked with 3 when the hot-keys were pressed. Yes; I know it's pretty weird
to have logical OR/AND/EOR as functions in a cheat rather than, say, add and
subtract, but that's the script file format.

===> Contacts

 Well, there it is. You might like to get the full collection of cheat
modules. You might like a demo of The Hacker. Hell, you might even want to
buy my program! <grin>. Well, that costs 5, and you can get the first two by
sending me a blank disc and stamped addressed padded envelope. Here's the
address:

 Andrew Clover
  DoggySoft,
   7 Blackhorse Crescent,
    Amersham,
     Bucks.,
      HP6 6HP.

You can phone on 0494-431916 outside working hours (You can give me your
credit card number if you like), send a fax on 0494-675878, or even telex me
on 83675 Brit G.

If you have a modem, you can download the latest version of this and other
programs of DoggySoft, as well as talk to us, play silly games, and
buy non-PD software on credit card, by ringing 0494-681711, 24hrs & all
speeds to 14k4 (ANSI 8N1). You might like to send me mail on Arcade BBS,
Digital Databank or The World of Cryton.  If that wasn't enough, there will
be an internet address soon too...

===> Some quotes from Arc magazines about The Hacker

"The Hacker does a bit more, is also easier to use, and costs only a fiver."
    Acorn User
"It's flexible, direct, and goes straight for the throat."
    Acorn Computing
"For the measly price of 5, The Hacker is a snip."
    Archimedes World
"The Hacker is excellent value for money and I can recommend it
 wholeheartedly.... it should be in every games player's collection."
    Archive

<============================================================================