By purchasing a few used C64 systems, I accumulated nearly every GEOS version and Application for the C64, including considerable duplication of Installed original disks keyed to their respective GEOS boot disks with six (count 'em, SIX) distinct serial numbers. Until recently, this meant that when I wanted to stop working in one Application and move to another, I had to shut down and completely re-boot with the appropriate boot disk -- presuming I could figure out in advance which one to use.
To be fair, the BSW people were cooperative -- all I had to do was send my newly-acquired original disks with a nominal (and fair) fee, they would send replacement new disks. Meanwhile, no System: I couldn't copy the 2.0 boot disks. So I wrote a program in BASIC to compare two disks. To make a long story short, all of my GEOS systems and Applications are now operating in concert. Since C64s are selling right and left at bargain-basement prices, other C64 users are likely to run into the same problem I did: here's how is works and how to solve it.
6@GEOS Installation
Clerks -- that is, the middle 80% of America's executive class -- are notorious for scrounging office supplies from each other. Today, the prime office supply item is good software for dithering the corporate ``paper,'' which is now electronically-stored, -produced, -transmitted, and -handled computer files. That includes software that some other clerk is dreaming of retiring on, when enough businesses buy it. But clerks don't buy what they can readily scrounge: if you
really
want to retire this way, you make your software copy-proof, not an easy task. But bless their hearts, they try.
Software is thus serial numbered on production or on Installation, by the operating system of the computer it runs on, and some higher-end computers and communications devices have a hard-wired serial number and transmission protocol that identifies them automatically to both their Applications software and any telecommunications, mainframe or Local Area Network they may access. This authentication in some systems takes place on an interrupt cycle, more or less continuously -- with GEOS for the C64, it occurs on booting, Installation, and each time you run an Installed Application in your GEOS environment.
When you boot GEOS, it checks its own disk. After verifying the authenticity of the Boot Disk, GEOS checks its own serial number and, if it doesn't have one, generates one. With 65,535 distinct possibilities, the chances that your serial matches
of the other fifty in town is roughly one in 1300 and doesn't improve that much with 100 other GEOS users around. So when you go buy another, first determine which of your systems has the highest version of GEOS -- 1.0, 1.2, 1.3, 1.5, 2.0 and 2.0r are out there. Then use a good sector editor to locate and change the encrypted serial numbers in each of your unduplicated Applications Installed on the lesser GEOS System.
At least eleven BSW Applications are Installed. Programmers may develop additional Installed Applications (I plan to), which will have to work the same way the BSW Applications do: when first run in the GEOS environment, GEOS finds a two-byte value in the serial number location of the Application, fetches its own serial number and performs an EOR with the low bytes and another EOR with the high bytes and places the results back into the Application file. When next run, GEOS finds the properly-encrypted serial number and the Application will then run.
Your procedure is relatively straightforward: before yo
finds the properly-encrypted serial number and the Application will then run.
Your procedure is relatively straightforward: before you run an Application, write-protect and copy it to a completely clean disk. Use a copy program or use GEOS -- or use both. When you are satisfied that you have a copy, remove the write protect and Install the Application. Then make a copy of the Installed Application on
another
clean disk -- use the same method you used to copy the unInstalled Application. Compare the two copies with a disk comparison utility -- easily written in BASIC but slow -- and you will identify one pair of bytes that have changed. (On most geoApplications, you will find that some VLIR records [or the whole file] has been written to new sectors -- the pair is usually isolated elsewhere.)
The original bytes are the EOR values, the new bytes are those values EOR'd with the serial number bytes of your GEOS kernal.
On some Applications, you will also find a two-byte value at $de of the disk BAM sector. This value is your GEOS serial number rotated one bit left -- %0000 1100 %0100 1101 becomes %0001 1000 1001 1010, for example.
Once you identify the changed bytes in an Application, go to the starting track and sector in the directory entry, which is either the first sector of a Sequential file or a table of pointers to Variable Length Indexed Records (VLIR), each of which is a sequential file. Find the altered sector in terms of VLIR (Record) Number and sequential sector within the record -- this will enable you to find it again on any GEOS systems work disks you might later acquire.
Or be patient -- send $5 and your original disk to BSW and start fresh: if you make a mistake with this, your Applications will not run.
geoUpdate
May 24, 1994
BSW has departed to the great pie-in-the-sky land where those who program Operating Systems insulate the great unwashed from the workings of the computer, anounting themselves as Keepers of the Silicon Mysteries and laughing all the way to the bank. Fortunately, Creative Micro Designs [PO Box 646, East Longmeadow, MA 01028-0646 (413) 525-0023] has inherited the store and requires its employees to swear allegiance to the C64/1541 and other, lesser, CBM gadgetry, promising eternal fidelity and unlimited information. They also have solutions to every conceiveable C64 problem, including RAM expansions (up to 16 mByte, in increments) and less-noxious DeskTop replacements that (presumably) are not so finicky about serial number matches and such-like. Equally fortunately, Software Support International [2700 Andresen Road -- that's AndREsen Road, Suite A-10, Vancounver WA 98661 (206) 695-9648] has a full range of CBM support, including Maverick v5, which includes GEOS support.
So I made new Boot Disks for my GEOS 2.0 and 2.0r and put all my original disks away (25 of them). Since then, I acquired geoBasic, which gave me no ``Application Installed'' message -- but then, I had forgotten to make a copy before running it anyway.
So now I wonder -- are new applications even bothering with the ID type of copy protection, or have they figured out that the effort spent in vain to attempt protection is better spent in improving the product?
Tables follow, in wider format for printing.
inds a two-byte value in the serial number location of the Application, fetches its own serial number and performs an EOR with the lo
For convenience, here are the GEOS Installation values located to date (12/7/91):
Kernal/Application, Disk Name, Track/ vlir, sector Original or
Version, Date Version, Disk/Side Sector and location EOR Value
v2.2, 10/4/88 Publish Disk 2, A t9s16 (seq)s1 $41 $00 $00
This is NOT a complete list of Installed Applications: it is likely that geoLaser and geoPubLaser are also Installed, as well as others. The safe way is to copy every Application before you attempt to run it for the first time, then compare the files whether or not you get a ``geoApplication Installed'' message. Then let me know what you learn.