Text content (OCR)
For The Serious User Of Apple ][ Computers
COMPUTIST
May 1986 Issue No. 31 $3.75
BULK RATE
U.S. Postage
PAID
Tacoma, WA
Permit No. 269
Many of the articles published in COMPUTIST detail the removal of copy protection schemes
from commercial disks or contain information on copy protection and backup methods in general
We also print bit copy parameters, tips for adventure games, advanced playing techniques (APT's)
for arcade game fanatics and any other information which may be of use to the serious Apple user.
COMPUTIST also contains a special CORE section which focuses on information not directly
related to copy protection. Topics may include, but are not limited to: tutorials, hardware/software
product reviews and application and utility programs.
Se ESR UR
What Is A Softkey Anyway? Softkey is a term
which we coined to describe a procedure that removes,
or at least circumvents, any copy protection on a
particular disk, Once a softkey procedure has been
performed, the resulting disk can usually be copied by
the use of Apple’s COPYA program (on the DOS 3.3
System Master Disk).
Commands And Controls: _In any article appearing
in COMPUTIST, commands which a reader is required
(o perform are set apart from normal text by being
indented and bold, An example is
PR#6
Follow this with the RETURN key. The RETURN key
must be pressed at the end of every such command unless
otherwise specified
Control characters are indicated by being boxed. An
example is:
6(P)
To complete this command, you must first type the
number 6 and then place one finger on the CTRL key
and one finger on the P key
Requirements: Most of the programs and softkeys
which appear in COMPUTIST require one of the Apple
If series of computers and at least one disk drive with
DOS 3.3, Occasionally, some programs and procedures
have special requirements, The prerequisites for
deprotection techniques or programs will always be listed
at the beginning of the article under the ‘*Requirements:*
heading
Software Recommendations: The following pro
grams (or similar ones) are strongly recommended for
readers who wish to obtain the most benefit from our
articles:
1) Applesoft Program Editor such as Global Program
Line Editor (GPLE)
2). Sector Editor such as DiskEdit. ZAP from Bag of
Tricks or Tricky Dick from The CIA
3) Disk Search Utility such as ‘The Inspector, The
Tracer from The CIA or The CORE Disk Searcher.
4) Assembler such as the S-C Asyembler or Merlin’Big
Mac
5) Bit Copy Program such as Copy }I Plus. Locksmith
or The Essential Data Duplicator
6) Text Editor capable of producing normal sequential
text files such as Applewriter |, Magic Window ||
or Screenwriter If
You will also find COPY A, FID and MUFFIN from
the DOS 3.3 System Master Disk useful
Super IOB: This program has most recently appeared
in COMPUTIST No. 22. Several softkey procedures will
make use of a Super 1OB controller, a small program
that must be keyed into the middle of Super IOB. The
controller changes Super IOB so that it can copy different
disks, To get the latest version of this program, you may
order COMPUTIST No. 22 as a back issue or order
Program Library Disk No. 2
RESET Into The Monitor: Some softkey pro-
cedures require that the user be able to enter the Apple's
system monitor during the execution of a copy protected
program. Check the following list to see what hardware
you will need to obtain this ability
Apple If Plus - Apple //e- Apple compatibles: 1) Place
an Integer BASIC ROM card in one of the Apple slots
2) Use a non-maskable interrupt (NMI) card such as
Replay or Wildcard
Apple }[ Plus - Apple compatibles: 1) Install an FZ ROM
with a modified RESET vector on the computer's
ticle
article
motherboard as detailed in the "Modified ROM
of COMPUTIST No. 6 or the “Dual ROM's"
in COMPUTISY No. 19.
Apple //e - Apple //c: Install a modified CD ROM on
the computer's motherboard. Clay Harrell"s company
(Cutting Edge Ent.: Box 43234 Ren Cen Station-HC:
Detroit. MI 48243) sells « hardware device that will
give you this ability. Making this modification to an
Apple /c will void its warranty but the increased ability
to remove copy protection may justify it
Recommended Literature: The Apple | Reference
Manual and DOS 3.3 manual are musts for any serious,
Apple user. Other helpful books include: Beneath Apple
DOS. Don Worth and Pieter Lechner, Quality Software,
$19.95; Assembly Language For The Applesoft
Programmer, Roy Meyers and C.W. Finley, Addison
Wesley, $16.95: and What's Where In The Apple
William Lubert, Micro Ink., $24.95.
Keying In Applesoft Programs: BASIC programs
are printed in COMPUTIST in a format that is designed
to minimize errors for readers who key in these programs.
To understand this format, you must first understand the
formatted LIST feature of Applesoft
An illustration: If you strike these keys:
1@ HOME:REMCLEAR SCREEN
a program will be stored in the computer's memory
Strangely. this program will nor have a LIST that is
exactly as you typed it. Instead, the LIST will look like
this:
1@ HOME : REM CLEAR SCREEN
Programs don’t usually LIST the same ay they were
keyed in because Applesoft inserts spaces into a program
listing before and after every command word or
mathematical operator, These spaces usually don’t pose
a problem except in line numbers which contain REM
or DATA command words. The space inserted after these
command words can be misleading. For example. if you
want a program to have a list like this:
1® DATA 67,45,54,52
you would have to omit the space directly after the DATA
‘command word. If you were to key in the space directly
after the DATA command word, the LIST of the program
would look like this:
18 DATA 67,45
This LIST is different from the LIST you wanted. The
number of spaces you key after DATA and REM
command words is very important.
All of this brings us 10 the COMPUTIST LISTing
format. In a BASIC LISTing. there are two types of
spaces: spaces that don’t matter whether they are keyed
or not and spaces that must be keyed. Spaces that must
be keyed in are printed as delta characters (¢). All other
spaces in a COMPUTIST BASIC listing are put there
for easier reading and it doesn’t matter whether you type
them or not
There is one exception: If you want your checksums
(See “Computing Checksunis” section) to match up, you
must not key in any spaces after a DATA command word
unless they are marked by delta characters.
Keying in Hexdumps: Machine language pri
are printed in COMPUTIST as both source code and
hexdumps. Only one of these formats need be keyed in
to get a machine language program. Hexdumps are the
shortest and easiest format to type in
To key in hexdumps, you must first enter the monitor:
CALL -151
Now key in the hexdump exactly as it appears in the
magazine ignoring the four-digit checksum at the end
of each line (aS and four digits). If you hear a beep,
you will know that you haye typed something
incorrectly and must retype that line
When finished, return to BASIC with a:
E003
Remember to BSAVE the program with the correct
filename, address and length parameters as given in
the article
Keying In Source Code The source code
portion of a machine language program is provided
only to better explain the program’s operation. It you
wish to key it in, you will need an assembler. The
S-C Assembler is used to generate all source code
printed in COMPUTIST, Without this assembler,
you will have to translate pieces of the source code
into something your assembler will understand, A
lable of $-C Assembler directives just for this purpose
was printed in COMPUTIST No. 17. To translate
source code, you will need 10 understand the
directives of your assembler and convert the
directives used in the source code listing to similar
directives used by your assembler.
Computing Checksums Checksums are four
digit hexadecimal numbers which verify whether or
not you keyed a program exactly as it was printed
in COMPUTIST. There are two types of checksums
one created by the CHECKBIN program (for
machine language programs) and the other created
by the CHECKSOFT program (for BASIC
programs), Both programs appeared in COMPUTIST
No. | and The Best of Hardcore Computing, An
update to CHECKSOFT appeared in COMPUTIST
No, 18, If the checksums these programs create on
your computer match the checksums accompanying
the program in the magazine, then you keyed in the
program correctly. If not, the program is incorrect
at the line where the first checksum differs.
1) To compute CHECKSOFT checksums:
LOAD filename
BRUNCHECKSOFT
Get the checksums with
&
And correct the progeam where the checksums differ
2) To compute CHECKBIN checksums:
CALL -151
BLOAD filename
Install CHECKBIN at an out of the way place
BRUN CHECKBIN,AS6000
Get the checksums by typing the starting address
4 period and ending address of the file followed hy
And correct the lines at which the checksums differ
Coping with
COMPUTIST
Welcome to COMPUTIST, a publication
devoted to the serious user of Apple ][ and
Apple Jl compatible computers. Our
magazine contains information you are not
likely to find in any of the other major
journals dedicated to the Apple market.
Our editorial policy is that we do NOT
condone software piracy, but we do believe
that honest users are entitled to backup
commercial disks they have purchased. In
addition to the security of a backup disk,
the removal of copy protection gives the user
the option of modifying application
programs to meet his or her needs.
New readers are advised to read this page
carefully to avoid frustration when
attempting to follow a softkey or when
entering the programs printed in this issue,
renew your freedom
Check your mailing label to see if you need to renew your subscription. And if you think you might forget when that fatal time arrives, renew
right now. Just use the order blank below.
if you’re moving
Let us know right away or at least 30 days in advance so that you won’t miss a single issue. Just write your new address below, and include your
present address label. Issues missed due to non-receipt of this Change-of-Address may be aquired at the regular back-issue rates.
Please remember, the Post Office does not forward third class mail unless requested.
& We are NOT
je
vy
We're serious programmers and software users who just want to have backup copies of any software we own.
but we’re not fools, either.
COMPUTIST magazine shows us HOW TO MAKE BACKUPS OF COMMERCIAL SOFTWARE regardless of the maker’s
attempt to stop us from having legal copies. Don’t let them stop you from protecting your own rights.
Remove copy-protection from your valuable library of expensive software. The publisher of COMPUTIST has been showing subscribers how
to unlock and modify commercial software for the past 4 years. Don’t be one of the users abused by user-FIENDLY locked-up software. Subscribe.
6 Issue SUBSCRIPTION RATES:
UE: G20. Wit clase: $24 1 NeW subscriber +L Renew my subscription L]New address
Canada, Mexico: $34 oF
Other Foreign: $60 Lally ‘
SAMPLE COPY: Address
US: $475 — Foreign: $800 z
US funds drawn on US, bank —— —_—_—_—— She —%
In Washington add 78% tax. County Phone = —
Send check or money order to P
CoMPust =a. F _
x NO846-T
Tacoma, WA 98411 Signature __ — = P31
AYTENINON ADVENTURERS
Adventure Tips ......-and Clues
COMPUTIST is looking for more adventure hints to any of the
popular adventure/fantasy games sold for the Apple II, II Plus,
or //e. These will be used in our regular column, ADVENTURE
We prefer that these hints not be a dead giveaway to solutions of
dilemmas presented by the particular game. Adventure tips should
contain just enough information to nudge the stumped adventurer
TIPS. towards the answer.
How & Where
So, if you know how to open the jewel-encrusted egg, how to plug the hole on the rowboat, where to find the key to
the treasure chest, or any other tidbits of information that may be helpful to your fellow traveler, please send this information
on a3 X 5 postcard to:
COMPUTIST TIPS
PO Box 110846
Tacoma, WA 98411
P.S. Please don't forget to include the name of the adventure game to which your hint pertains and the name of the manufacturer.
The grateful sighs of all the readers you have helped shall be your just payment. Maybe your Charisma will go up, too!
by bobby
PHD, phD, Phd, PhD,
BHT, BLT, MSG, McDLT
Requirements
some $$$
postage stamp
Envelope
Pen or compatible word processor
scissors (optional)
Now that HARDCORE has changed its name
to plain old ‘computist’, I’ve been assigned the
regrettably redundant responsibility of changing
all the Diskbusters T-shirts. Instead, using my
own imaginary initiative, I’ve come up with a
reasonable facsimile of an original idea...
“Why not,” I asked myself, ‘“‘call all the
old Diskbusters T-shirt something catchy
like: Hardcore Classic?”’
“Wow!”’ I answered myself, “Then we
could sell people the NEW computist T-shirts
this summer!**
FOO OOO kk kkk
(I’ve heard that some people suspect that
there’s a rumor that such an artifact does not
yet exist... VAPORWEAR...)””
Tf you like my idea, then PLEASE order the
CLASSIC Hardcore Computist DiskBusters T-
shirt (simply known as CLASSIC T-shirt)
1) Fill out the order form below using the Pen
and then insert the order form with appropriate
$$$ or acceptable substitutes into the envelopé,
and then pen-in the address onto the envelope,
and then attach the stamp and that’s it.
Enjoy!
I want the CLASSIC! so rush me _____ (total) Classic DISKBUSTERS T-SHIRTS in the sizes indicated
below. I have enclosed $9.95 (plus tax and shipping) for each shirt.
ADULT MENS: Small Medium _Large ‘tra large
Name ID#.
Address.
City. State. Zip.
Country Phone
ze - - - Exp.
Signature CP31
Send check or money order to: Bullshit; PO Box 110816-T; Tacoma, WA 98411.
Washington orders add 7.8% sales tax. Foreign orders add 20% shipping and handling.
US funds drawn on US bank. OFFER GOOD WHILE SUPPLIES LAST.
Ign’t it Time You Graduated..?
Enter the Monitor at any time, from any program.
* Examine where in memory the program was running.
Disassemble, view or save memory, even $00-7FF.
ote SAVE * Allows your Apple //c or /7e to halt a program and:
* Instantly swap between two different 64k programs.
SAVE
>t >t > >t > bb >t >t ot ob ot ot Ot
The Book of Softkeys
This coupon is valid only for current
subscribers of the COMPUTIST. This
coupon can be applied to the
purchase of the product named,
resulting in $5 off the current price only.
Coupon Expires June 15, 1986
tok Kk kk kk
*@ Examine the Stack for return subroutine addresses.
Alter any memory to examine running effects.
The program may then be restarted exactly where
it was interrupted or at any other location, or be
saved to disk in normal B-files and later restarted.
Also includes a sophisticated Sector Editor and
Memory/Disk Detective, and operating system with
disk copy, format, edit, and protected disk utilities,
all without booting DOS first! Assembly Language
utilities include Step 4 Trace, an Assembler, & more.
All the Senior PROM?s utilities are in ROM, instantly
available when needed. Undetectable by any soft—
ware or hardware, does not use a peripheral slot!
Extensive documentation & guide to copy protection.
Economically priced at $79.95 for prepaid orders
with check or money order. Credit card orders
available for $88.95. Please specify 77, or
Ze Standard or Enhanced ROMs.
Nutting ~dge
‘Nnterprises
Box 43234 Ren Cen Station
Detroit, MI 48243
For orders call
317-743-1041, 10-5 E.S.T.
or 313-349-2954 Modem 24 hrs.
not intended for illegal ure.
J urine sack
Snr.
>t >t >t >t >t tb >t >t ot >t ot ot ot Ot
kk
ig
Mi,
ean i
Fy
eh Be tonpass
§Stongx ke
Salta gter
This month's cover:
Graphics created with Baudville's Blazing Paddles.
‘Address all advertising inquiries to COMPUTIST, Advertising
Department, PO Box 110816, Tacoma, WA 98411. Mail
‘manuscripts or requests for Writer's Guides to COMPUTIST, PO
Box 110846-K, Tacoma, WA 98411
Flotum postage must accompany all manuscripts, drawings,
Photos, disks, or tapes if they are to be returned. Unsolicited
Tanuscripts will be returned only if adequate return postage is.
included
Entire contents copyright 1986 by SoftKey Publishing. All
rights reserved. Copying done for other than personal or internal
reference (without express writen permission from the publisher)
is prohibited
‘The editorial staff assumes no lability or responsibility for the
products advertised in the magazine. Any opinions expressed
by the authors are not necessarily those of COMPUTIST
magazine or SoftKey Publishing.
‘Apple usually refers to an Apple Jl computer and isa trademark
‘of Apple Computers, Inc
SUBSCRIPTIONS: Rates (for 6 issues): U.S. $20, US. ist
Class $24, Canada & Mexico $34, Foreign $60. Direct inquiries
to: COMPUTIST, Subscription Department, PO Box
1108461, Tacoma, WA 98411. Please include address label
with correspondence
DOMESTIC DEALER RATES: Call (206) 474-5750 tor more
information
Change Ot Address: Please allow 4 weeks for change ot
address to take effect. On postal form 3576 supply your new
address and your most recent address label. Issues missed due
to non-receipt of change of address may be acquired at the
regular back issue rate.
COM PUTIST
Publisher/Editor: Charles R. Haight Managing Editor: Ray Darrah
Technical Editor: Robert Knowles Cireulation: Michelle Frank, Debbie: Holloway
Advertising: (206) 4745750 Printing: Valeo Graphics Inc,» Seattle, WA
‘COMPUTIST is published monthly by SofiKey Publishing, ‘Washington, Tacoma, WA 98400
softkeys:
10 Trivia Fever
by Fred Monroe
12 The Original Boston Computer Diet
by Clay Harrell
20 Lifesaver
by Tim Beckmann
22 Synergistic Software
by Danny Pollak
23 Blazing Paddles
by Frank Carone
24 Zardax
by William Hinger
feature:
14 A Little Help With The Bard’s Tale
Face it, your party is a bunch of wimps compared with what ““The Bard’s Tale’’ is going
to throw at you. Revealed in this article are the secrets behind amazing strength, fascinating
dexterity and hundreds of hit points. by Ben Youngdahi
core:
16 Black Box
Before you is a vacuum sealed box containing only a few atoms. The box is perfectly black
so that no light is reflected from it at all. Your mission is to observe what happens to electrons
fired into the box from several positions and deduce where in the box the atoms are suspended.
This game takes some thought but can be very entertaining. by Ray Darrah
quickie:
28 Unrestricted Ampersand
by Phil Goetz
departments:
4 Input
6 Most Wanted List
6 Bugs
7 Readers’ Softkey & Copy Exchange
Sierra On-Line’s Time Zone by Danny Pollak, Blue Chip’s Tycoon by Charles Taylor,
Datamost's Earthly Delights by Patrick Ford, Thoughtware’s Jingle Disk by Patrick Ford,
Hayden's Crystal Caverns by Danny Pollak, Data East’s Karate Champ by Philip Goetz
28 Adventure Tips
Please address letters to:
COMPUTIST
Editorial Department
PO Box 110846-K
Tacoma, WA 98411
Include your name, address and
phone number.
Correspondence appearing in the
INPUT section may be edited for
clarity and space requirements. In
addition, because of the great
number of letters that we receive and
the small size of our staff, a response
to each letter is not guaranteed.
Our technical staff is available for
phone calls between 1:30 pm and
4:30 pm (PST) on Tuesdays and
Thursdays only.
Bored With Milton Bradley
As a professional educator, I'm always
irritated with software that I have to let students
use and is either heavily disk interactive, has
students store information on disk or has
information that I would like to modify from
year to year (for various reasons such as
changes in curriculum, or test sections on which
students occasionally pass information from
year to year.) For this reason, when our special
education people had trouble with a Milton-
Bradley disk and asked me for help, I agreed
to try to at least salvage their student record file,
even though I knew precious little about non-
standard format disks. With a bit of luck, I was
able to open up the whole disk, as well as
several other Milton-Bradley programs and they
are now able to both easily backup the disks
and recover trashed files. I'd like to share the
process with your readers. (I’ve only recently
become one, myself.) The process is a little
cumbersome, probably because this is the first
time I’ve opened up a disk, but it both works
and helps the graphics portions load faster.
The Softkey
This softkey works on Milton-Bradley’s
“Vocabulary Skills,’* ‘*Punctuation Skills,”"
**Ratios & Proportions,"” ““Mixed Numbers’*
and ‘Building Better Sentences.””
1) Boot the system master disk and execute
COPYA.
RUN COPYA
2) When the program comes up, break into
Applesoft.
3) Enter the monitor and disable DOS errors.
CALL -151
B942:18
4) Get Back into BASIC and delete line 70.
(This keeps COPYA from re-loading the
machine language part of the program.) The
restart COPYA
3D0G
7
RUN
5) Follow the COPY A menu and copy the disk.
That's it! You may wish to put a fast DOS
on the disk such as Hyper DOS or Pronto DOS.
In my experience, the boot program is called
BOOT. (That was a really tough one to figure
out.) If it’s different, you may have to try
booting different programs until you get the
right one, but at least now you can find the
directory.
On a similar subject, I'm looking for a
method to modify the files on an old but
excellent oil well search simulation program
called Geology Search, by McGraw-Hill.
Unfortunately, the location of the wells is set
and lists are now being passed from year to
year. If anyone could help, I appreciate it.
John E. Wanner
Sullivan, WI
Copy Card ys. Integer Card
For starters, 1 would like to let readers know
that they can easily backup ‘The Print Shop
Companion’? by Broderbund and “The
Graphics Expander Vol. 1”° by Springboard by
using current parameters (dated 11/15/85) from
Copy ][ Plus’s Bit Copy program.
To copy Print Shop companion, choose Print
Shop from Central Point’s list of parameters.
To copy the Graphics Expander Vol. 1 just
choose Newsroom (alternate #1). Both
parameter files easily copy these programs
Talso have a question concerning copy cards.
What's the difference between an Integer Card
and a Copy Card such as Wildcard and Replay?
If you had a choice what type would you obtain?
Finally, if the Integer Card is better, where do
you obtain onc?
4 COMPUTIST No. 31
I really enjoy your magazine and look
forward to receiving each issue.
Frank Hahn
Muscatine, [A
Mr. Hahn: While an Integer card is a useful
tool, there is no comparison between one and
a copy card. The copy card is unquestionably
more useful. The only added ability an Integer
card gives is you is the ability 1o Reset into the
monitor. A copy card on the other hand does
this plus a whole lot more. For example, with
a copy card you can find out where the program
in memory was executing at the time you pressed
the button. This is impossible with an Integer
card.
More F-15 Strike Eagle
The author of the F-15 Strike Eagle softkey
is obviously a novice. The disk has a catalog
on track 15. The DOS is a standard, virtually
unmodified 64K Diversi-Dos. The protection
routines are kept in the files ‘‘AS’*, and
“SIDTRANC.OBJ3."’ Because there are at
least three versions that I have personally seen,
I can tell you with complete authority that no
two versions have the exact same code, and that
each uses different sectors on the disk. This
virtually invalidates your printed softkey. I will
not describe the versions I have seen, because
there are doubtless others; anyone who owns
a copy should:
1) Boot normal DOS.
2) Get into the monitor, and change ACO1:15.
3) Put F-15 Strike Eagle in and catalog it.
4) BLOAD AS,AS2000. Examine it for the
references to $201 as mentioned in the softkey.
This file cannot be BSAVED, because it
normally loads at $201. Find out what must be
changed, get a sector editor and change it
5) BLOAD SIDTRANC.OBJ3,A$2000.
Examine this file too - it gets interesting after
about $60 bytes. I can’t give much help here;
but watch for calls to $F944 or other RWTS
locations followed by a ‘‘BCS’’. Replace the
BCS with EA’s. Also, don’t let it store anything
at $6A00. Because the normal load location for
this is $0000, it would be best to edit it on disk.
6) Get a sector editor and make the changes.
If it won't boot, AS is in trouble; if you still
get ‘‘mechanical failures,"” check on
SIDTRANC.OBJ3 again.
I hope this helps.
M. M. McFadden
Sunnyvale, CA
Print Shop White Line Fix
Here is how I print cards, ete. from PRINT
SHOP without those dreaded white lines they
say you must live with. I have an AMUSTS0
printer (a so-called EPSON compatible) drived
by an EPSON APL card in slot 1.
1) Make a copy of PRINT SHOP
2) Use a track-sector editor to change the
following on the copy:
TRACK
SECTOR BYTE FROM TO
Change bytes A2-Bl to
20 BB 1A
AQ 41
20 BD 1A
AQ 06
20 BD 1A
4C 97 18
That's it!
Explanation
Track 07, Sector OE is the beginning of a
binary file called PRCOMS (printer
commands). [ed: The start of this file will
probably be on a different sector of your disk. ]
If you have an EPSON MX-FX-RX or clone
printer the area used by this piece of code is
skipped over. So I was able to insert extra
commands to send <ESC> (20 BB 1A), which
sets the line feed to 6/72 inch before returning
to PRINT SHOP’s bit-mapped graphics routine
(4C 97 18).
Now if you have chosen some option other
than the first on the printer setup list, you will
have to return to Track 07, Sector OE and make
another change: bytes 9E-Al become:
C9 02 FO 16
C9 03 FO 4A
Co O4 FO 46
C9 G5 FO 36
C9 96
for option 2
OoRe
If you don't do this, the code inserted will
cause a crash.
Ferg Brand
Lane Cove, Australia
Death in the Caribbean Fix
Lagree with Nick Galbreath that Death in the
Caribbean is a great adventure and having never
successfully backed-up my copy, I followed his
procedure in COMPUTIST No. 23. Well,
apparently Nick had never gotten as far as the
back side of the disk because my backup thought
that side 2 was just another copy of side 1 and
refused to let me play further, although side 2
did contain the correct picture information. 1
had to track down the problem
The ‘*Hello’”’ program loaded and ran the
binary file ““INPUT>OBJ1" at $4000. In the
vicinity of $40D®, I learned that the program
checked to see if the volume found was 254 and
if not printed ‘TURN DISK OVER AND
PRESS <SPC>"’. I CATALOGed side 2 and
found that it was a volume 222.
The solution to the problem is to use Nick’s
softkey but when unlocking the backside (side
2) the disk must be INITialized with volume
“222” when asked for a volume number. Now,
“Death in the Caribbean’’ is finally totally
cracked.
Gary Kowalski
Anaheim, CA
Zapping the New PFS
The new ProDOS versions of the PFS series
are a big improvement over the old in that they
can be installed on a hard disk or the new Uni-
Disk 3.5 and the file size is limited only by the
storage device. In addition, there have been a
number of improvements in the use of control
keys; the ability to print to disk, etc. However,
Software Publishing has bucked the no
protection trend in ProDOS software by forcing
the user to have the original disk in the slot 6
drive as a key disk in the boot up process.
Luckily, the code that checks for this is easily
circumvented by the following sector edits. Just
use any copy program such as COPYA,
FILER, etc. and then make these edits on the
copy.
PFS FILE & PLAN
TRACK SECTOR = BYTE FROM T0
PFS WRITE & REPORT
TRACK SECTOR = BYTE FROM 10
These edits completely deprotect the disk
(specifically, the xxxx.SYSTEM file on each).
The files may now be moved with any ProDOS
file utility, Hard disk and Uni-Disk 3.5 users
will not need the key disk and floppy users will
be able to back up without problems.
Robert James
Mt. Sinai, NY
EDD III Re-revisited (again)
Although COMPUTIST has dedicated quite
a number of articles on the cracking of EDD
IH, I feel you should know about the simplified
technique that finally worked for my version
3 dated May 25, 1984. This had been the only
program that I had never been able to copy by
any means and even though I am a registered
owner, I was reluctant to use this powerful
utility very much for fear of zapping the
precious disk. Thanks to the fine publication
known as ‘“‘COMPUTIST’’ and Beagle
Brothers’ memory maps, this fear was finally
put to rest. Below, I will outline the procedure.
This procedure uses Steve Dietz’s letter ‘*The
Quicker Aux’’ on page 6 of COMPUTIST No.
25 and M. A. Todd’s letter ‘‘The EDD
Syndrome” on page 4 of COMPUTIST No. 28.
This was accomplished on an Apple //e with
an Apricorn 80 column video display with 64K
on board. (This is an extended 8 column card.)
I followed Mr. Dietz’s procedure until the
last step where he tells you to move DOS and
RWTS into main memory starting at $800.
COMPUTIST No. 31 5
Since DOS is already in main memory, there
is no point in putting it somewhere else. What
you want is the EDD moved from auxiliary
memory to main memory. EDD will not
execute when you do this so to move EDD from
auxillary memory to main memory. type:
800<800.5B06(¥)
This adds a little garbage to the end of the
program, but it is purged later.
Next I used a shortened Todd technique by
combining steps 3 & 4 to:
3EE8: 60 60
Since they are redundant and unnecessary, 1
omitted steps 5, 6, and 7.
Finally, steps 8 & 9 can be combined so line
4020 reads:
4020: 0A A9 60 85 OB 4C 53 69
When this EDD III is BSAVEd to a Pronto
DOS initialized disk with a turnkey HELLO
file, the program loads in 8 or 9 seconds. As
far as T can tell, the program works as well as
the original except for the command #8, the
boot disk feature; but that is not useful anyway
Many thanks to COMPUTIST, its staff and
contributors for making the Apple ][ series some
of the most useful computers anywhere.
John Gubbins.
Aurora, CO
A Difficult TASC
The BASIC compiler ‘““TASC”’ by Microsoft
is a useful utility that makes Applesoft programs
run much faster and more efficiently.
Having used it for a (to me) very important
program, I have lost the original and need to
make amendments.
I phoned Microsoft to obtain an UNTASC
(a program which would convert code created
by TASC back to Applesoft) and they flatly
refused. I now call on some enthusiastic user
to do just this: Create UNTASC.
Thru your goodselves or other readers, how
about cracking this code. I have started but find
that time is my enemy.
It is a challenging “‘TASK.”*
Basil Brand
South Africa
Mr. Brand: TASC is supplied ina COPYAable
format.
We at COMPUTIST believe that all software
should have its source code included with it
when you purchase the program. Perhaps
someday this dream will come true but for now
‘you just have 10 wait for someone else to create
‘such code.
Microzine & Wizard of Words
I received COMPUTIST No. 27 and was
pleased to sce the softkey for the Microzine
series. All attempts with my bit copiers failed
‘on the microzine series. The bit copy would try
to boot only to hang on a full page of inverse
letters.
I remembered the same result was true for
another educational piece that I had. It is the
“Wizard of Words’’ by Advanced Ideas. So I
thought I would try the Microzine 7-9 softkey
and it worked on the Wizard of Words.
To deprotect Wizard of Words:
1) Boot DOS 3.3
2) Execute COPYA from the system master.
RUN COPYA
3) Break out of the program.
4) Enter the monitor and tell the object code
to ignore errors.
CALL-151
5942218
5) Go back to Applesoft and startup COPYA.
3D0G
RUN
6) Copy both sides of Wizard of Words.
7) Search the copied disk for the sequence C6
2A DQ. You should find it on track 1, sector
5 just as in the Microzine series. Change these
bytes to 4C 86 02.
Thanks to Phil Pattengale for the Microzine
softkey that enabled me to back up Wizard of
Words.
The Pretzel
Bloomington, IL
COMPUTIST No. 27:
pple Logo II Softkey:
‘The last sector edit should read:
Track Sector Byte From To
$02 $09 $88 $84 $21
6 COMPUTIST No. 31
Most
Wanted
List
Need help
backing-up a particularly
stubborn program?
Send us the name of the program and its
manufacturer and we'll add it to our Most
Wanted List, a column (updated each issue)
which helps to keep COMPUTIST readers
informed of the programs for which softkeys
are MOST needed. Send your requests to
COMPUTIST
Wanted List
PO Box 110846-K
Tacoma, WA 98411
If you know how to deprotect
unlock, or modify
any of the programs below,
let us know, You'll be helping your fellow
COMPUTIST readers and earning MONEY
at the same time, Send the information to
us in article form on a DOS 3.3 diskette.
Flight Simulator J Sublogic
Mouse Cale Apple Computer
Apple Business Graphics Apple Computer
Jane Arktronicy
Visiblend Microlab
Catalyst Quark, Ine.
Gutenburg Jr. & Sr, Micromation LTD
Prime Plotter Primesoft Corp.
The Handlers Silicon Valley Systems
The Apple’s Core: Parts 1-3 The Professor
Fun Bunch Unicorn
ly Byte... Data Trek
‘Terrapin Logo ¥2.00
Terrapin Software
Conan Datasoft
Cycloid Sirius Software
Adventure Microsoft
Cranston Manor Sierra On-Line
Snoggle Broderbund
Robot War Muse
ABM Muse
Mychess II Datamost
E-Z Learner Silicon Valley Systems
Story Tree Scholastic
Agent U.S.A. Scholastic
Handicapping System Sports Judge
Dollars & Sense Monogram
Echo Plus Agranat Systmes
Great Cross Country Road Race Activision
Raster Blaster Budge Inc.
GATO v1.3. Spectrum Holobyte
Odin Odesta
readers’ softkey & copy exchange
Danny Pollak’s softkey for...
Time Zone
Sierra On-Line, Inc.
10398 Rockingham Dr., Ste. 12
Sacramento, CA 93827
$99.95
Requirements:
Apple || Plus or equivalent
Time Zone V1.1
Super IOB 1.5
Six double-sided (notched) blank disks
Time Zone is one of the (if not THE) largest
adventure games ever created. There are nine
different time zones to visit, with up to seven
different places to travel within each zone. The
main objective of the game is to stop the evil
Neburites from demolishing the Earth by
destroying their ray gun. To do so, you must
first solve all the other puzzles and then travel
to Neburon on the last leg of your quest
The Protection
The game is supplied on six double-sided
disks, All of the disks are written in standard
format. The only protection that can be found
is a nibble count on track $00 of side A (they
use self-modifying code to try to hide it).
Step by Step
To copy side A
1) Install the controller below into Super IOB
Jade
2) Run Super IOB
3) Follow the prompts and initialize the blank
disk with a yolume number of 2
When Super IOB is finished, the following
sector edits will have been already performed.
Track Sector Byte: from: To
3 0 $D9 $FC $00
$DA $08 = $13
5) To copy sides B-L, use the built-in copier
that is supplied with the program. You can also
use most other whole disk copiers like COPYA.
controller
1000 REM TIME ZONE V1.1
1010 TK=0 :LT=35 :ST=15 :LS=15 :CD=WR : FAST
#1
1920,GOSUB 490 : GOSUB 616 ;T1 = TK :TK=PEEK (TRK
)- 1: GOSUB 319 :TK=T1
Restore
1030 GOSUB 490 : GOSUB 610
THEN 1058
1040 TK = PEEK (TRK ) :ST=PEEK (SCT) : GOTO 1020
105 HOME : PRINT "DONE" : END
5000 DATA 2* CHANGES
5010 DATA3 ,0 ,217 0
5020 DATA 3 .0 .218 19
IF PEEK (TRK ) = LT
controller checksums
1000 - $3568 1958 - $3B0B
1010 - $2544 5000 - $3E00
1026 - $C314 5010 - $8380
1030 - S7EC5 5020 - $2AF1
1049 - $881C
Charles Taylor’s softkey for...
Tycoon
Blue Chip Software
6744 Eton Avenue
Canoga Park, CA 91303
Requirements:
Tycoon program disk
Two blank disk sides
FID
A sector editor
Copy JI Plus (optional)
Tycoon is a simulation of the commodity
market from Blue Chip Software
1) INIT two sides of a disk with the name
HELLO. Delete HELLO from both sides.
2) Copy all the files from side one of Tycoon
to side one of the copy, except the files ENTRA
and CON
3) Get out your sector editor and look in the
catalog of the copy for something like the
filename CCDDIIINNCC (it's hard to
represent in print) and change the name to
HELLO.
You can do this by looking for the sequence
C3 83 C4 84 C9 89 C9 89 CE 8E C3 83 in track
$11, probably sector SE, and replacing it with
C8 C5 CC CC CF AO AO AO AO AO AO AO.
Write the sector back out.
An alternate method would be to use the
Copy | Plus utility to change the name to
HELLO.
4) Copy all the files from side two of the
original to side two of the copy.
Done! This procedure can also be used to
deprotect Squire and Baron also
COMPUTIST No. 31 e
readers’ softkey & copy exchange
Patrick Ford’s softkey for.
Earthly Delights
Requirements:
At least 64K
COPYA
Sector editor
Blank disk
Earthly Delights is a detective adventure
based on the search of a stolen painting, after
which the game is named. It was originally
written for the IBM PC in PASCAL around
1981 by Roger Webster and Dan’l Leviton. The
rights were sold to Datamost who promptly
transferred it to Apple’s USCD PASCAL then
never did much afterward. After years of
neglecting the game, Datamost filed for
bankruptcy and Dan’l Leviton has acquired the
distribution rights.
When booting the game, it is obvious that it
is copy protected because it spends several
seconds jumping the drive head from track to
track. Initially, I thought it was synchronized,
because I could find no obvious changes to the
track organization. After failing to make a
working backup with Locksmith 5.0, EDD, or
Copy JI Plus 5.0, I decided to try and locate
the offending code.
Fortunately, unlike Sundog, the directory is
intact. | examined the code files for assembly
subroutines and functions that accessed the disk
I quickly found two identical pieces with the
same location, except on the opposite sides of
the disk. I have yet to figure out what it is
looking for.
Fortune was with me, because instead of
returning a parameter to the P-system, (who has
a P-code dissassembler?) the routine appears to
just return if successful. So all we need to do
is insert a RTS as the first statement
1) Copy both sides of the disk with COPYA
2) Make the following sector edit to both sides:
track sector(3.3/PASCAL) byte was to
1 SC / $3 $00
$68 $60
Patrick Ford’s softkey for...
Jingle Disk
Thoughtware, Inc.
2699 South Bayshore Drive
Coconut Grove, FL 33133
Requirements:
Super JOB 1.5
A blank disk
8 COMPUTIST No. 31
Jingle Disk is a Christmas holiday musical
story and card maker from Thoughtware that
retails for approximately ten dollars,
Jingle Disk has a modified DOS that looks
for a data field epilogue of AA DE EB instead
of the normal DE AA EB. In addition, the
VTOC and catalog have been moved. So while
it is easy to deprotect the disk and copy with
any nibble copier, the catalog cannot be read
with normal DOS.
1) Put the controller below into Super IOB. This
controller will use the altered epilogues to read
the disk and write with normal ones, During
the copy process, it will make the following
sector edits so their DOS will be able to read
the new format
2) Copy the disk with Super IOB. Put both the
original and copy away until December.
controller
1000 REM JINGLE DISK CONTROLLER
1910 TK =9 :LT= 35 :ST=15 :LS=15 \CD=WR : FAST
=l
1020 RESTORE ; GOSUB 170 : GOSUB 490 : GOSUB 610
102571 =TK :TK= PEEK (TRK ) - 1 : GOSUB 319 :TK
=T1
1030 GOSUB 490 : GOSUB 610 : IF PEEK (TRK ) = LT
THEN 1050 ‘
1040 TK= PEEK (TRK ) :ST=PEEK (SCT) : GOTO 1020
105 HOME ; PRINT "COPYDONE” : END
5000 DATA 222 ,170 170 222
5010 DATA 2° CHANGES
5020 DATA® ,1 ,227 ,222
5030 DATA ,1 ,237 .170
controller checksums
1000 - $356B 1050 - $6708
1010 - $2544 5000 - $7FC2
1020 - $7380 5010 - $1835
1025 - SO5A4 5020 - $BF8D
1030 - $3E1B 5030 - $53B1
1040 - $CE20
Danny Pollak’s softkey for...
Crystal Caverns
Hayden Software
600 Suffolk Street
Lowell, MA 01854
Requirements:
Apple }{ Plus or equivalent
Crystal Caverns
One blank disk
Muffin from DOS 3.3 System Master
readers’ softkey & copy exchange
Crystal Caverns is a (old) text adventure in
which the object of the game is to find the
treasures and stash them. The protection scheme
uses a version of DOS 3.2 which has been
modified to read address headers of BB AA B5.
We can use a modified version of Muffin to
deprotect this program.
‘The softkey for Crystal Caverns is as follows:
1) Boot up DOS 3.3 and initialize the blank
disk.
INIT HELLO
DELETE HELLO
2) Insert your System Master and BLOAD
MUFFIN
BLOAD MUFFIN
3) Enter the monitor and modify Muffin to read
an address header of BB AA BS
CALL -151
1A76:BB
4) Execute Muffin by typing:
803G
5) Now all that must be done is to transfer the
files from the original disk to the initialized
disk. When you run the program, you should
notice a significant decrease in the time it takes
for the program to load. Happy Adventuring!
-_ =
Philip Goetz’s softkey for...
Karate Champ
Data East USA, Inc.
470 Gianni St.
Santa Clara, CA 95054
Requirements:
48K Apple with one disk drive
Karate Champ
A blank disk
A sector editor
COPYA
You may have seen this game in the arcades
Two opponents, either of which may be
controlled by the computer or a human, try to
flatten each other as often as possible.
Unfortunately, none of my nibble copiers
seemed to be up to copying it.
Inspection of the disk with a nibble edit
program shows that Karate Champ has very
short sync gaps of about 7 bytes in length.
Locksmith in default mode could not even
recognize them as syne gaps. I suspect that these
syne bytes may have more 0 bits tacked on the
end than the normal 11111111@ ® syne byte,
thus a nibble copy cannot get into sync before
reading a sector
The nibble editor also shows that Karate
Champ has normal address and data headers,
with both epilogues being FF FF EB, rather
than DE AA EB, Thus we can copy it with any
program designed for unprotected disks by first
telling DOS to ignore bad checksums and
epilogues
CALL-151
B942:18
RUN COPYA
When you boot the copy, it will access the
disk and reboot, By removing the drive cover,
watching where the drive head is at just before
the reboot, and comparing it to the locations
that the head is at when reading from various
tracks with a sector editor, we see that the head
was on track $11. (See “*Getting on the Right
Track’’ in COMPUTIST No. 5 for a detailed
explanation). Examining track $11 with a nibble
editor shows, between two sectors, a string of
$E7 bytes. Surely a nibble count routine is
looking for these SE7s and not finding them
So we search the disk for C9 E7, which
disassembles to CMP #$E7. This is on track
sector 5, along with a lot of disk access code.
By inspecting the code on track 0, sector 5, we
see that it appears to start at the beginning of
the page.
So. we simply change bytes @ and 1 of that
sector from SA@ 00 (LDY #$00) to $18 60
(CLC followed by RTS) and write it back to
the disk. Voila!
Here are the steps to unlock Karate Champ.
1) Boot a normal disk and modify DOS to
ignore checksum and epilogue errors.
CALL-151
B942:18
2) Copy Karate Champ to a blank disk using
a COPYA-type program.
3) Make the following change to the copy with
a sector editor.
Track Sector Byte From To
9 5 $00 $AQ $18
9 2 $01 $00 $60
Finished!
OT
PTET CCL
lash
COMPUTIST No. 31 9
softkey for...
Trivia Fever
by Fred Monroe
Professional Software, Inc.
P.O. Box 533
Needham, MA 02194
$39.95
Requirements:
‘An Apple J[ Plus or better
Trivia Fever disk
Ability to RESET into monitor (I used The
Senior Prom)
A blank double-sided disk
A sector editor
A disk search utility
Trivia Fever is a game very much like the
popular board game Trivial Pursuit (and THEY
call US pirates). When you first boot the disk
you will see the title page, then the usual boring
“All rights reserved don’t you dare touch this
disk’? messages. Next you will be asked if you
want directions, and finally it will tell you to
flip the disk over and press the space bar so it
can load the questions. After some really
annoying music and some “‘impressive’’
flashing between the text and lo-res pages you
can finally play the game.
Because the game used files and an
apparently normal DOS, I figured it would be
your typical 5 minute job. I was pleasantly
surprised to find out that I was wrong.
The first thing I always do when working
with a disk is to watch it boot. I have the cover
on my drive removed so that I can adjust the
drive speed for nibble copies, and so I can tell
which tracks a disk is accessing. When I booted
my copy of the original side of Trivia Fever
and watched it boot, the first thing that it did
was jump to track 3, analyze that and crash out.
Using my Senior Prom nibble viewer I looked
at track 3. It appeared to be just a lot of self-
sync bytes (SFF) with a few imbedded values,
which is probably what the protection was
looking for. There is a bright side to all of this,
however. The disk check is done before the
DOS is loaded in and the Hello program is run,
so we can just bypass this part by copying
everything except the DOS, on side 1, and
putting our own DOS on.
1) INITialize both sides of a disk. Side one
needs the filename “HELLO”
2) Use something like Super IOB (plain
controller) or Copy ][ Plus to copy tracks
$4-$22 of side one of Trivia Fever to side one
of the new disk. Copy tracks $0-$21 of side
two.
Now you've got a COPY Aable disk with the
slight drawback that it won't work. When I
booted mine in this state I got a syntax error
at 673. When I listed the program all I got was
garbage. It appears that the HELLO program
is encrypted. I will save you some time by
telling you that the only encrypted programs are
the Applesoft ones. There are two of them,
“‘HELLO” and “*TF’’. Here’s how to capture
them.
3) Boot side 1 of your original disk.
4) Reset into the monitor after the title page
disappears (DOS is in memory).
5) Clear the ‘‘run flag’’ ($D6) and re-enter
BASIC through DOS.
D6:00
3D0G.
For those of you who might not know, SD6,
the run flag, controls the state of a BASIC
program in memory. When the high bit is set
at $D6 (i.e. a value of $80 or more) entry to
BASIC will cause the program to execute
immediately. It will also cause all statements
like LIST, NEW, etc. to run the program.
6) Now you must clear memory and load in the
HELLO file with Trivia Fever’s own DOS.
NEW
LOAD HELLO
Fortunately, we don’t have to get a normal DOS
in memory because the SAVE command
doesn’t encrypt the program. Insert the copy
disk and type
SAVE HELLO
Repeat this step for the file ““TF"’.
10 COMPUTIST No. 31
I'm going to take this opportunity to warn
you of one of the nasty little tricks that the
protection on this disk likes to pull. If you ever
see something like this flash onto your screen:
YOU HAVE A PROBLEM
-KING OF TRIVIA
then you should immediately hit RESET, pull
your computer’s plug, etc., because this is the
program’s little way of letting you know that
it knows you’ve been messing around and it will
proceed to erase tracks $00-$02 (your DOS).
That is exactly what happened to me when.
I tried to boot the copy in its present state, I
was able to make it to the second side where
the disk had asked for my name, and names of
anyone playing, the subjects I wanted questions
‘on etc. Just as it was searching the disk for a
question I got the above message. The disk
check actually happens long before this point,
back when you are flipping your disk over.
In looking for the protection subroutine I
decided to take advantage of the fact that
whoever had produced this game had decided
to be as annoyingly cute as a Care Bear and sent
me the “‘KING OF TRIVIA”’ message. In fact,
those are the exact words that 1 used in my
Senior Prom ASCII search of the disk (any disk
searcher will do). Lo and behold the offending
routine turned up at $95BB.
lused the memory search function of the S.P.
again and found a JMP $95BB at two locations,
$929A and $94BB. They looked like this:
94A6- SEI ;JSR to DOS"
94A7- JSR $BDO0 —;sector read subr
94AA- BCS $9482 vif there's an error
ithen goto $9482
iGet P-register
iRing the bel!
decrement error cntr
[Not @? Then try
again, else crash
94B2- PLP
94B3- JSR $FF3A
94B6- DEC $94DD
94B9- BNE $94A1
94BB- JMP $95BB
7) So it would seem that this routine is an error
handler. If an 1/O error is encountered a certain
number of times in reading the drive then it
jumps to the **King of Trivia’’ message. It may
not be necessary to change this routine, but
better safe than sorry. Use a disk search utility
to find it. I found it at track $12, sector $0B:
from:CE DD 94
to:4C Al 94
change bytes $7B-$7D
Now it will continue trying to read the disk
without the protection subroutine if a number
of read errors occur. This next routine seemed
to be the more important of the two. I think this
is the one I was having trouble with.
9292- JMP $94DE
9295- LDA $94DC
9298- BPL $9290
929A- JMP $95BB
929D- LDA $D5
;End last routine
iGet value
i If positive then
iskip over protection
sroutine
etc
This seems easy enough to deal with. Just
NOP the JuMP to $95BB. However, when I
used my Senior Prom’s disk search utility I was
unable to find it. Because I couldn’t find the
second subroutine I decided to check elsewhere.
I searched for the hex values DC 94 from the
line LDA $94DC above. They turned up at a
couple of places around $95E0. This turned out
to be a ‘‘nibble count’’ routine. The part that
we're concerned with, though, is at the end of
this nibble count routine.
958B- LDA $CO8C,X
958E~ BPL $958B
jlook at data latch
anything new? no, rtn
9590- PHA sotherwise push data
9591- PLA pull it back
9592- CMP #SFF jis it $FF?
9594- BEQ $958B Yes, go to $95BB or
9596- CMP #$D5 ino; Is it $05?
9598- BNE $95B2 ino, goto $95B2. or
959A- LDA $CO8C,X yes get another byte
959D- BPL $959A ;data yet? no, go back
959F- CMP #SFF jis it SFF?
Q5Al- BNE $95B2 no, goto $95B2
95A3~ SEC ;SEC for subtract
95A4- LDA $94DB —_;Get a count
95A7- SBC #$10 ;Does it = $10?
95A9- BNE $9582 ino, go to $95B2 or
Q5AB- STA $94DC STA at $940C (see ML
Q5AE~- LDA $C@88,X above) and turn off
95B1- RTS idrive motor and RTS
95B2- LDA $C@88,X Turn off motor
95B5- LDA #$FF ;LDA with a NEGATIVE
95B7- STA $9400 iSTA at $94DC (see
Q5BA- RTS. jabove) and RTS
Whenever things don’t match up quite right
it seems to JuMP to $95B2, which loads an $FF
in the Accumulator and stores it at $94DC. The
same value that the second subroutine above
uses to determine whether it should jump to the
“King of Trivia’’ routine. The first thing that
I tried doing was having this program load a
$#00 instead of an #$FF at the end. That ended
up causing problems, because when you got
past a certain number of questions the program
would lock up in a loop trying to read the disk.
Apparently some of the questions are on tracks
that are supposed to leave the nibble count
routine via $95B2. However, we do know that:
a) The routine at $9295 requires $94DC to be
positive (less than 128).
b) The first time that the nibble count is
accessed, after flipping the disk, it will exit
through $95B2 because things don’t match up
‘on the copy.
c) The “King of Trivia’’ routine, code that we
definitely don’t need, is located at $95BB just
after the nibble count.
As I told you earlier, I was unable to find
the routine located at $9295 in memory. I was,
however, able to find the nibble count and the
“King of Trivia” routines. They are both
located (on my disk) on side 1, track $12, sector
$A. ‘‘So,”’ I said to myself, ‘*why not just tack
‘on a little more code at the end of the nibble
count that will wipe out the JuMP at the $9295
routine. I know that it will be executed before
the program ever gets to that routine so it should
work.”’ Unlike a number of things that I think
should work, this did. Here’s what I did:
8) Search the disk for the end of the nibble
count. The last RTS is located at track $12,
sector $A, byte $7F.
9) At that point I keyed in the following:
AQ EA 8D 9A 92 8D 9B 92 8D 9C 92 60
Which translates in assembly as:
UDA #SEA ;Hex code for NOP
STA $929A ;store the value
STA $9298 ;at the locations for
STA $929C the JMP $95BB
RTS yand continue as normal
I thought that this is all I would need to do
but there is still one more bridge to cross. If
you were to boot the disk at this point it would
begin to read in some of the data but ends up
stuck in a loop spinning the disk. The reason
for this can again be found in the nibble count
routine. Here is the code we have to alter:
9550- LDY #$00
9552- STY $94DB
9555- LDA $CO8C,x
9558- BPL $9555
;LOY #8 and store at
inibble ctr. ($94DB)
iGo to disk for a byte
955A- CMP #§05 is it $057
955C- BEQ $9560 Yes goto $956D or
955E- CMP #$F7 jis it $F7?
9560- BNE $9563 if no then don’t INY
9562- INY jin either case add to
9563- CLC iwalue at $94DB & save
9564- ADC $940B imew value to same
9567- STA $940B i location
956A- JMP $9555 ***;Start over at $9555
956D- TYA i¥=0 if no $F7's found
956E- BEQ $9555 ***;and in that case start
jover at $9555
10) Obviously, on a normal disk there aren't
going to be F7’s in the self syne fields (which
is what this routine checks) so it is stuck in a
loop because things don’t match up. What we
do is change the two lines indicated with
asterisks above. Just NOP the JuMP (EA EA
EA) and set the branch distance to 00 (BEQ
$956E, or FO 00). This routine should be in the
same sector as the end of the nibble count was
above. In my case, track $12, sector $A. Here's
what I did:
Side 1, track $12, sector $A
Bytes $2F-31 From:4C 55 95
To:EA EA EA
From:E8
To:00
Just write this back to your disk and you will
now have a fully deprotected Trivia Fever disk.
Byte $34
If I were you I would write protect both sides
because of the nature of the protection and since
the original comes write protected.
The Trivia Fever volume 2 disk can be
copied just as if it was side 2 of the original
Trivia Fever disk (i.e. tracks $0-21 normal; no
DOS necessary).
Cookbook Version
1) INIT both sides of a disk with your favorite
DOS using the filename HELLO,
2) Copy tracks $4-$22 of Trivia Fever side 1
to the blank disk’s side 1. If using Super IOB
let TK =4 and LT=35 in line 1010 of a standard
controller.
Copy tracks $0-$21 of side 2, (TK=0 and
LT=34.)
3) Boot your original Trivia Fever disk side
one.
4) Reset into the monitor after the title page is
up.
5) Disable the run flag and enter BASIC.
D6:00
3D0G
6) Get the Applesoft files HELLO and TF in
their decoded forms and save them to the copy.
NEW
LOAD HELLO
Insert the copy disk.
SAVE HELLO
Re-insert the original.
NEW
LOAD TF
Insert the copy.
SAVE TF
7) Perform the following sector edits on side
one:
Track $12, Sector $B, bytes $7B-$7D
FROM- CE DD 94
TO- 4C Al 94
Track $12, Sector $A, bytes $7F-$8A
FROM- 60 AD 54 CO AD 51 CO AD 81 CO 20 58
TO- A9 EA 8D 9A 92 8D 9B 92 8D 9C 92 60
Track $12, sector $A, bytes $2F-$31
FROM- 4C 55 95
TO- EA EA EA
Track $12, Sector $A, byte $34
FROM- EO
TO- 00
While I have your attention, I’d like to say
that for any of you who don’t already have a
means of dropping into the monitor at will or
a memory search utility, I whole-heartedly
recommend the Senior Prom. It has so many
useful utilities due to the ROM’s RWTS that
it's worthwhile even if you don’t softkey disks.
Give their modem line a call at (313)-349-2954
and tell them Fred sent you. =
COMPUTIST No. 31 11
softkey for...
Site Original Boston
by Clay Harrell
Scarborough Systems, Inc.
25 N. Broadway
Tarrytown, NY 10591
Requirements:
Any Apple ][ or clone
A sector editor
COPYA or other normal DOS copy program
4 blank disks
The Original Boston Computer Diet
The Original Boston Computer Diet (OBCD
from here on) is an excellent computer-based
diet system. The documentation provided is
very extensive and well written, and provides
much dietary information. [highly recommend
this program to anyone with an Apple computer
and who is a concerned about their diet (whether
they are overweight or not).
The problem with the OBCD is it can only
handle one individual's diet at a time. Since it
is copy protected, you can not make a second
copy and let another member of the family use
the backup disks for their diet needs. None of
the powerful bit copy programs could produce
a working copy either. Hence this softkey was
developed
All four sides of the OBCD copy with
COPYA or Locksmith 5.0 Fastcopy. Of course,
the copied program will not run. Instead, after
booting you receive the message ‘*Defective
Disk’’, memory clears, and the program halts.
After booting the Copied OBCD several
times, I was able to time where the Disk Check
was occurring, and interrupt the program before
receiving the ‘*Defective Disk’’ message. Using
the Senior PROM’s *‘D’’ command after
interrupting the program (which gives a
disassmebly of ten instructions before and after
where the program is currently executing), I
could easily see a check disk routine was at
location $77A2. For the curious, here is the
code:
77A2- LDA $B7EC ;Save the current track
77A5- PHA ; on the Stack.
77A6- LDA $B7F4 ; Save current RWTS
77A9— PHA ; command on the Stack
77AA- LDA $BE4D Save location $BE4D
77AD- PHA ‘on the Stack
77AE- LDA #S0E
7780- STA $B7EC
7783- LDA #$86
77B5- STA $B7F4
7788- LDA #860
TTBA- STA $BE4D
77BD- LDY #$E8
Set to read track $OE
Set RWTS command
; to $00 (seek)
'Put an RTS at SBE4D
‘Use the RWTS Parm List
77BF- LDA #$87 ; Starting at $B7E8
77C1- JSR $B7B5 ;Seek head to track $0E
77CA- PLA Pull original values
77C5- STA SBE4D ; of $BE4D, command, and
7708- PLA ; track from the Stack
77C9- STA $B7F4 ; restore them to their
77CC- PLA ; Previous states
TICD- STA $B7EC ;
7700- LDA $CO8C.X ;Read a byte from disk
7703- BPL $7708 ;Repeat unti! MSB = 1.
12 COMPUTIST No. 31
7705- PHA
77D6- PLA
7707- CHP #$D5
77D9- BNE $7700
Push and pull this byte
5 on Stack (timing!)
ils it a $D§?
If not found, go back
77DB- LOY #$00 iClear Y register
77DD- STY $783A ;Store a $00 at $783A
77E0- LDA $CO8C,X ;Read a byte from disk
77E3- BPL $77E0 ;Repeat until MSB = 1
77E5- CMP #$D5 jis it a D5?
77E7- BEQ $77F8 | |f so goto $77F8, This
; is the first byte
; we are looking for
jis it a $F7? (2nd byte)
i lf not, goto $77EE
If so, increment Y-reg
‘This is very important,
; since if no $F7 is
i found, Y is never
; INCed and the routine
; continues in a@ loop
iPrepare for adding
iAdd $F7 to $783A
iStore sum at $783A
;Repeat search for $F7's
‘Transfer Y-reg to Acc
If Acc = $00
(unsuccessful search)
; Start over and look
: for a $D5 F7 again
Else, continue with program.
77E9- CMP #$F7
77EB- BNE $77EE
77ED- INY
77EE- CLC
T7EF- ADC $783A
77F2- STA $783A
77F5- JMP $77E6
77F8- TYA
77F9- BEQ $77DB
In other words, this routine saves the current
parameters of the RWTS (current track and
command code), seeks the read/write head to
track $0E, and then looks for the byte sequence
$D5 F7.
To test my theory about the Check Disk
routine, ] put a $60 (RTS instruction) at location
omputer Pai
$77F2, and restarted the program with the
Senior PROM. Sure enough, the program
restarted and ran perfectly, just as if the original
disk was in the drive.
So all I needed to do was to put a $60 (RTS)
at location $77A2 on the disk with a sector
editor, and the OBCD would be deprotected!
Now the bad news. Searching through all the
disks for the code at $77A2 with the Senior
PROM’s disk search utility brought nothing.
Obviously, the OBCD anticipated this action
and thoughtfully encoded the routine on the
disk.
As far as I could tell, the OBCD used RWTS
to load in the code, this meant that each page
in memory ($100 hex bytes or 256 decimal
bytes) represented a sector on the disk. Since
the Disk Check code was somehow encoded,
I decided to search the disk for the byte
sequence at location $7700, the beginning of
the page where the Disk Check routine resided.
Hopefully rhis code wasn’t encoded. This code
was found on track $08, sector $3, side A of
the OBCD. Great! Now we just need to figure
out how the code was encoded and then make
the appropriate change. I found the encoding
routine at location $7783 (right before the Disk
Check routine):
7783-38 SEC
77184- 6E 87 77 ROR $7787
T787- AG F2 LDY #$F2
7789- 6E 8C 77 ROR $778C
778C- 6E 98 77 ROR $7798
778F- 6E 92 77 ROR $7792
7792- 6£ 99 77 ROR $7799
7795- 6E AQ 77 —- ROR $77A0
7798-98 TYA
7799- 59 Al 77 EOR $77A1,Y
779C- 99 Al 77 STA $77A1,Y
TI9F- 88 DEY
7740-00 F6 BNE $7798
Since this routine was obviously written to
confuse hackers, I took the brute force approach
and just tried changing the code at $77A2
wholesale (change 1@ bytes to $00’s). Then I
rebooted the program, interrupted it and
examined the results.
The code from $77A2 was unchanged, no
matter what I changed the code on track $08,
sector $03 to. Back to the trail, since I had to
be changing the wrong sector!
My next approach was to use a track monitor
and watch when track $08 was being accessed.
‘When track $08 appeared in the track monitor,
I interrupted the program (via the Senior
PROM), and checked location $B7F1
(command code, 1=read, 2=write), $B7EC
(the current track being read), location $B7ED
(the current sector being read), and location
$B7FI (the current page being read into). Sure
enough track $08, sector $03 was being read
into $7700-77FF. I then restarted the program
and let it continue to load.
Once again using the Track Monitor and the
Senior PROM, when track $08 was being
accessed I interrupted the program. This time
I found that track $08, sector $04 was being
read into $7700-77FF! This must be it...
Loading track $08, sector $04 with the Senior
PROM sector editor brought up a very strange
looking sector. Regardless, I changed locations
$A2-AF of this sector to $00’s (I changed more
than 1 location just to make finding the change
in memory easier) and re-booted the program.
The program bombed into the monitor at
location $77F4 because the code encountered
the $00’s (a Break instruction).
It’s real strange that a change in the sector
at byte $A2 would effect the code at byte $F4!
For more strangeness, three bytes have to be
changed in the sector to effect one byte in
memory! After much experimentation with
editing track $08, sector $04 and then viewing
the effects in memory, I found that replacing
bytes $60-62 from the original $83 77 71 to $60
60 6 would put a single $60 (Return from
Subroutine instruction) at location $77A2 in
memory. That’s the only change needed to
deprotect the OBCD!
Cookbook
1) Boot normal DOS 3.3 and run your favorite
normal DOS copy program (ie. COPYA,
Locksmith 5.0 Fast Copy, etc.).
2) Copy all four sides of the Original Boston
Computer Diet to some blank disks.
3) Run your favorite sector editor and make the
following change to your copy of the OBCD:
Track $08, sector $4, byte $60, side A
From $83 77 71
To $60 60 68
4) Write the sector back out to your copy of
the OBCD. And you're all done!
COMPUTIST No. 31 13
A little help with..
The Bard’s Tale
by Ben Youngdahl
Requirements:
The Bard’s Tale
A good sector editor
‘A premade party on a character disk
A blank disk for backing up your characters
Face it, your party is a bunch of wimps
compared to what The Bard’s Tale is going to
throw at you. If you've been to the castle and
seen how the Old Man fights, you know they're
out to get you. Why should you be forced to
spend gold needlessly to cure a party of hurt
wimps when you'd rather use it to buy new
weapons?
If you have been wondering if it was time
to find an easier hobby like moving buildings,
I have just the thing for you. Read on to
discover how to make your party as powerful
as you wish.
How I Found Out
I was about to give up the game entirely when
I decided to look through the disk to see if 1
could find anything useful. I’m glad I took the
few minutes to boot up the sector editor and
start looking around because on track $00 of
the character disk there are some names that
looked too familiar to be coincidental.
The next thing [ did was examine the bytes
following the name. It appeared to me that each
sector had two characters on it, and a lot of data
concerning the characters as well. It looked like
it was going to take some trial and error (T &
E) to sort all this out.
The first part was easy; the names seemed
to be stored on bytes $00 to SOF of the sector.
Unused spaces were indicated by FF’s, and the
names were in standard text format as well.
Bytes $10 to $13 turned out after T & E to
be the ability scores. The following bytes
through $1F represented the experience of a
character, I soon learned, and the next two bytes
still remained a mystery for me.
For the first time so far I ran into a problem;
I was not able to discover the use of bytes $22
and $23. After a while it became evident the
characters had progressed a lot of levels and
Thad not noticed. I concluded that bytes 22 and
23 dealt with the level status.
Bytes $24 to $2F deal with the amount of
gold you possess; it seemed to follow the same
lines as experience points. A little farther on,
I found that this was one of the easier
discoveries.
I changed bytes $30 through $37 to FF’s and
received a higher hit point max and a higher
amount of spell points. Not until later did I
discover that $30-$33 dealt specifically with hit
points and $34-$37 dealt only with spell points.
Class status was dealt with by byte $38. So
after some T & E I came up with Table I. Your
race turned out to be held in byte $39. This is
outlined in Table I
Soon after one of my characters died (yes,
even with 9,999 hit points!) I searched for the
byte that would allow me to achieve
immortality. In a way I found it. Byte $3E,
when changed to 00 from whatever it was
before, will bring your character back to life.
I tried this and now Joe the Bard is safe and
sound.
Still, a few things that I felt needed to be done
had not been accomplished. I still had rotten
weapons and armour, and did not have the
number of spells I needed to survive.
I found that bytes $48 to $4B controlled the
number of spells allowed, so I changed them
all to FF’s and achieved total spell capability
At long last, I finally discovered how the
computer stored weapon data for your
character. This took quite a bit of time because
it was surprisingly hard to figure out that
weapon data is stored in pairs starting at $50.
The first byte in the pair represents the status
‘of the weapon (or armour or whatever), and the
second byte is the number of the item, as in
Table IV.
It took me an hour to come up with table IV,
and it was an hour spent with constant
discovery. Many of these items I had not even
heard about before. I was very anxious to try
them out so there may be flaws in my data.
After three days of on and off hacking I
finally had finished what I had begun. I have
created a super party but still have not won. On
level three of the castle I can’t find the stairs
up. Someone help me!
How To Make Your Super Party
Make a back-up of your character disk with
14 COMPUTIST No. 31
any normal copy program. Then take out your
best sector editor and read in track $@ sector
by sector until you see the name of your
character in ASCII. If it is in the upper half of
the sector, use the byte numbers in the first
column. If it is in the lower half, use the byte
numbers in parentheses. All numbers in the
tables are in hex. Make the changes you require
to produce the effect. For example:
Joe the Bard has only 10 hit points. To make
that 9,999+ change bytes $30-33 to $FF FF
FF FF. If Joe the Bard is on the bottom half
of the sector you would change $B0-B3 to $FF
FE:BE FP:
I hope you enjoy this game more with the
added plus of a great party. I find it more
interesting and more entertaining to make it past
some of those guardian statues now!
Table @
Byte(s) Effect
00-DF (80-8F) Name
19-13 (90-93) Ability Scores
14-1F (94-9F) Experience Points
22-23 (A2-A3) Level
24-2F (A4-AF) Gold
30-33 (B0-B3) Hit Points
34-37 (B4-B7) Spel! Points
38 = (BB) Class (Table |)
39 (B9) Race (Table ||)
3E (BE) Status (00=0,K.)
40-43 (CO-C3) Spel |s
50-5F (D0-DF) Items held:
-Even bytes (50,52,...) contain
the status of the item (Table I/!)
-Odd bytes (51,53,...) contain
the number of the item (Table IV)
-Order of byte pair is status first,
object number second
00 Warrior
61 Wizard
02 Sorcerer
03 Conjurer
04 Magician
5 Rogue
06 Bard
Q7 Palidin
08 Hunter
89 Monk
Table II
Human
Elf
Owarf
Hobbit
Hal f-El f
Hal f-Ore
Gnome
00
Table HI
Object is there
Object is equipped
Object is unusable
(but not if changed to 01)
Object is unknown
Table IV
00 Nothing
01 Torch
92 Lamp
93 Broadsword
94 Short Sword
05 Dagger
06 War Axe
07 Halbard
08 Wace
09 Staff
QA Buckler
QB TowerShield
OC Leather Armour
9D Chain Mai!
GE Scale Mail
OF Plate Mail
10 Robes
11 Helm
12 Leather Gloves
13 Gauntlets
14 Mandolin
15 Harp
16 Flute
17 Mthr Sword
18 Mthr Shield
19 Mthr Chain
1A Nthr Scale
1B Samurai Fan
IC Bracers (6)
10 Bardsword
LE Fire Horn
IF Lightwand
20 Mthr Dagger
21 Mthr Helm
22 Mthr Gloves
23 Mthr Axe
24 Wthr Mace
25 Mthr Plate
26 Ogre Fgn
27 Lak's Lyre
28 Shield Ring
29 Dork Ring
2A Fin's Flute
2B Kael's Axe
2C Blood Axe
2D Dayblade
2E Shield Staff
2F Elf Cloak
30 HawkBlade
31 Admt Sword
32 Admt Shield
33 Admt Dagger
34 Admt Helm
35 Admt Gloves
36 Admt Mace
37 Broom
38 Pureblade
39 Exorwand
3A Ali's Carpet
3B Magic Mouth
3C Luckshield
3D Giant Fan
3E Admt Chain
3F Admt Scale
40 Admt Plate
41 Bracers (4)
42 Arcshield
43 Pureshield
44 Wagestaff
45 Warstaff
46 Thief Dagger
47 Soul Mace
48 Wither Staff
49 Sorcer Staff
4A Sword of Pak
4B Heal Harp
4C Galt's Flute
40 Frost Horn
4E Dmnd Sword
4F Dmnd Shield
50 Dmnd Dagger
51 Dmnd Helm
52 Golem Fen
53 Titan Fen
54 Conjur Staff
55 Arc's Hanmer
56 Staff of Lor
57 Power Staff
58 Mournblade
59 Dragon Shield
5A Dmnd Plate
5B War Gloves
5C Lorehelm
§D Dragonwand
5E Kiel's Compass
t= In
a
"The
5F Speedboots
68 Flame Horn
61 Truth Drum
62 Spirit Drum
63 Pipes of Pan
64 Ring of Power
65 Deathring
66 Ybarra Shield
67 Spectre Mace
68 Dag Stone
69 Arc's Eye
6A Ogrewand
6B Spirithelm
6C Dragon Fen
6D Mage Fen
6E Troll Ring
6F Troll Staff
70 Onyx Key
71 Crystal Sword
72 Stoneblade
73 Travelhelm
74 Death Dagger
75 Mongo Fgn
76 Lich Fen
77 Eye
78 Master Key
79 Wiz Wand
7A Silvr Square
7B Silvr Circle
7C Silvr Triang
7D Thor Fen
7E Old Man Fen
7F Spectre Snare
Some Hints
The word “*skull”
is something to keep in
mind if you come across someone who is old
enough to be one.
The eye will make a harmless statue become
as mad as a god! I prefer to snare him with a
spectre snare and bind him to the party
The throne prefers bards, Bards can turn out
most useful in the end!
aro’s Gale
AR
7a
i
o
va
“Dee
SMT O etd
Heo @ eco ae
~ OAM ODD HD
a
Pass
OWIS>SSSS5550
uu
O2ZOOVHUS OMe
FPO ee
OF) SOR Hoyos
Weevoetw Sods
DOOM TOGSeso
= Wolo x Sls
ANS0D COWDet
wOOCN 30 RED
tose
rn
= OW
OW
heal
AOLOCOKOLOND
ADLOLOLOLOLG
LOLONONONOLO
COLO UOLOLOLO
COMPUTIST No. 31
15
Probing the Unknown with...
AO ype
16
by Ray Darrah
Requirements:
48K Apple ][ Plus or better
One disk drive
A few hours of typing time or library disk #31
The Animator from COMPUTIST No. 29
Black Box is a board game distributed by
Parker Bros in which a player fires several
“electrons” into an imaginary black box
containing one or more *‘atoms.’’ The player
chooses the starting position (and therefore
direction) of the electron to be fired. Sensors
on the perfect-vacuum black box tell the player
what happened to the electron. By observing
what happens to electrons fired from several
positions, the player is to deduce where exactly
in the black box the atoms are located.
My first version of this game was created due
to the encouragment of a teacher named
Marvin Jacobson. My original program was
very long and text oriented. After creating the
“‘Animator’’ appearing in COMPUTIST No.
29, I decided to make a hi-res version of Black
Box utilizing the capabilities of it.
Of Atoms and Electrons
Electrons always interact with atoms in the
same way. The following is an account of this
interaction:
To simplify the game, the Black Box is
divided into a ten by ten grid. You may fire an
electron into the box from the outer edge. The
electron will travel along a straight path unless
it encounters an atom, When an electron
encounters an atom, one of three possible
reactions will occur.
Deflection
An electron is deflected when it encounters
an atom placed diagonally from it. Consider the
following diagram:
a
4
The heaviest black line designates the border
of a small black box. The thick lines represent
the black box’s subdivisions and the dot
represents an atom, The thin lines show the
paths electrons would take if they were fired
from various positions. This sort of ““bouncing
off of” is called deflection.
COMPUTIST No. 31
Markers placed around the very edges of the
box are used to indicate where an electron
entered the box and where it exited. Markers
are also used for other indications. For a
complete list of markers see the section entitled
“*Markers and Symbols.’”
Absorption
‘An atom can absorb an electron if the
electron is fired along the same row or column
as the atom. This is illustrated in the following
diagram:
t
When an electron is aligned either
horizontally or vertically with an atom, the atom
absorbs the electron. That is, the electron enters
the box but doesn’t come out. A special marker
is used to indicate such an occurrence.
Absorption has precedence over deflection.
That is, if two atoms are side by side (or one
atop the other) and an electron is fired directly
in line with either of the atoms, it will be
absorbed rather than deflected off of the other
atom.
Absorption also has precedence over
reflection.
Reflection
Reflection is a 180° turn about of the electron
and therefore the electron comes out of the box
exactly where it entered. Two situations can
cause a reflection. They are illustrated in the
following diagrams:
4
In the first diagram, the atom on the left
wants to deflect the electron to the right and the
atom on the right wants to deflect the electron
to the left. The result is that the electron is
reflected and exits the box exactly where it
entered.
In the second diagram, an atom has been
placed right next to the border of the box. Since
the electron has been fired one row above the
atom, (one row below would also work) the
atom would normally deflect the electron
upward. But this deflection would occur before
the electron has even entered the box. The result
is a reflection.
Multiple Atomic Encounters
Keep in mind that when more than one atom
is in the box, there is a potential for a multiple
atomic encounter. That is, an electron could
react to more than one atom.
For example, an electron could be deflected
off of one atom and its new path could send it
directly at another atom. In this case, an
absorbed marker would be placed where the
electron entered the box.
Markers and Symbols
Greek letters are used to identify electrons
that enter the box and exit it somewhere else.
Eight capital greek letters have been defined.
They are (and appear in this order) omega,
theta, lambda, pi, sigma, upsilon, phi and psi.
After these eight letters have been used, the
sequence starts over again with inverse greek
letters. All of the greek symbols can be seen
in the diagram at the bottom right of this page
The symbol for absorption and reflection is
also indicated in the diagram at the bottom right
of this page.
Using the Program
Use ‘I, J, Kand M”’ to move your electron
gun (represented by a spy gun) around the edge
of the black box. To fire into the box, use the
space bar.
If you should move the electron gun into the
box, your position will be indicated by a finger.
Once inside the box you can designate where
you think an atom is located by pressing the
space bar. A question mark will then appear in
that sector of the box. Pressing the space bar
while pointing to an occupied space will make
the question mark go away.
When you think you have solved the puzzle
and know where all the atoms are hidden, press
return. This activates the program's scoring and
evaluation sequence. For every question mark
you have correctly positioned, the computer will
replace it with an atom shape. Every question
mark that you positioned incorrectly will remain
a question mark. An inverse atom will be drawn
in the sectors where you should have had a
question mark.
Scoring
The program considers how many atoms you
were looking for and bases your score on how
many non-absorbed and non-reflected shots it
took to discover where the atoms were.
The program also considers the number of
atoms you placed on the board incorrectly and
affects your score in a negative manner for each
incorrectly placed question mark.
Your score is displayed as a percentile. The
best score you can get is 100%. Because
incorrectly placed question marks affect your
score in a negative manner, it is possible to get
a negative score.
Modifications
As the program is now, you can hide a
maximum of five atoms. You should find this
quite adequate as five atoms in a ten by ten grid
is sometimes very perplexing. However, by
changing the *‘S’’ in lines 240, 250 and 260 to
some other number (such as **9”’), the program
will let you hide more atoms.
The Parker Bros version of this game
requires two players (or one player with a split
personality). Player one hides the atoms while
player two hunts them down. Player one also
tells player two what happens to each electron
that player two fires. My progam assumes all
of the responsibilities of player one. However,
you may occasionally want to involve someone
else in the game. You could add a subroutine
where another player would hide the atoms for
you to hunt down.
Typing It In
Black Box is comprised of three parts. A
BASIC program and two hexdumps. Key in the
BASIC program using the instructions on the
inside front cover of this issue and save it with:
SAVE BLACK BOX
Key in the object code hexdump (the second
hexdump) using the instructions on the inside
front cover of this magazine and save it with:
BSAVE OBJ.BLACK BOX,A$300,L$17
To save magazine space (and your fingers),
the first hexdump (containg all the shapes used
by Black Box) has been condensed. To key it
in, first clear the memory where it resides with
the following:
6000: 08
6001<6000.69C8M
Next, key in the hexdump as you would
normally, Note that the addresses of each line
aren’t consecutive. This is because large chunks
of the hexdump containing only zeros have been
omitted. These deletions occur only where the
hexdump has a blank line in it. When you're
finished typing in this hexdump (paying careful
attention to the addresses at the left), save it
with:
BSAVE SH.BLACK BOX,A$6000,L$9CO
Black box uses 26 shapes and each
consecutive block of this hexdump is one shape.
The last line of the hexdump was included so
that you could easily match your final
checksum.
The order of the shapes used by Black Box
is: gun pointing right, gun pointing down, gun
pointing left, gun pointing up, absorbed symbol,
reflected symbol, pointing finger, omega
marker, theta marker, lambda marker, pi
marker, sigma marker, upsilon marker, phi
marker, psi marker, inverse greek markers,
question mark, normal atom symbol and inverse
atom symbol.
Electron gun
Paths of electrons and Symbols:
Entry/exit Entry/exit
markers markers
Reflected Symbols
COMPUTIST No. 31 17
Black Box Shape Hexdump i
OR $300
6000: 03 40 00 00 7E 7F 00 00 $1FA8
6008: 7F 7F 00 00 3C 06 00.00 SEFAB TPA
6010: 64 03 00 00 12 00 00.00 $al60
6018: 09 00 00 00 OF 00.00.00 ss68C eee
* CALL THE ANIMATOR *
6060: 23 01 00 00 65 01 00 00 $F128 Be nn a nner
6068: 79 00 00 00 73 00 00 00 $98B4
6070: 74 00 00 00 78 00 00 00 SOEl4 0300: A2 00 LOX #9 GET BACKGROUND NUMBER
6078: 68 00 00 00 68 00 00 00 SBEF4 9302. AB 90 Loy #9 GET SHAPE NUNBER
19080; 78, 00;00 00 70 OD 00°00, s/h 74 0304: A9 Ol LOA #1 ALWAYS ENTER AS SPRITE DRAW
OBE 80 00,00 00 60. 00 OO: ee 0306: 4C BB 83 JUP $83B8 CALL ANIMATOR
6090: 60 00 00 00 60 01 00.00 $7F76
60CO: 01 60 00 00 7F 3F 00.00 $3988 ea ee a
60C8: 7F 7F 00 00 30 1E 00.00 $8774 * MAKE A NOTE *
6000: 60 13 00 00 00 24 00 00 $7615 Be anne nanan nana nn nnn *
60D8: 00 48 00 00 00 78 00 00 $F6AD
6120: 60 01 00 00 60 00.00.00 $079F ae eae DATION OE OTE
6128: 60 00 00 00 60 00 00.00 $F7AF pes uy oo Linke th Lae is nO
6130: 70 00 00 00 78 00.00.00 $73FF :
6138: 68 00 00 00 68 00 00 00 $D3EF S18: 8 LOORL, “DEF
6140: 78 00 00 00 74 00 00.00 $208F 9311: DB FD BNE LOOPL
6148: 73 00 00 00 79 00 0000 $5008 9313: CA DEX
6150: 65 01 00 00 23 01 00 00 $DB87 0314: DD F5 BNE LOOP2
0316: 60 RTS
6180: 7E 3F 00 00 7E 3F 00.00 $CB93
6188: 0E 38 00 00 0E 38.00 00 SO7EB
6190: 4 39 00 00 4E 39 00 00 $DF33
6198: OE 38 00 00 OE 38.00 00 $5348 6420: 00 00 00 00 7C OF 00 00 SABAE 6678: 6E 3B 00 00 76 37 00.00 $2586
GIAO: 7E 3F 00 00 7E 3F 00 00 $33AF 6428: 30 10 00 00 60 00 00 00 $8346 6680: 76 37 00 00 62 23 00 00 $C7FO
6430: 40 01 00 00 00 03 00 00 $3F03 6688: 7E 3F 00 00 00 00 00 00 $A9FD
61E0: 02 20 00 00 46 31 00 00 $3850 6438: 40 01 00 00 60 00 00 00 $0EDI
G1EB: 4C 19 00 00 18 0C 00.00 $6350 6440: 30 10 00 00 7C OF 00 00 $6DEO 6600: 7E 3F 00 00 02 2000 00 $8238
G1FO: 30 36 00 00 66 33.00 00 $09C1 66C8: 66 33 00 00 66 33.0000 $0234
61F8: 76 07 00 00 18 0C 00 00 $0F3E 6480: 00 00 00 00 30 06 00 00 © $8D2F 6600; 66 33 00 00 66 33 00 00 $B2F8
6200: CC 19 00 00 46 31 00 00 $8252 6488: 48 09 00 00 48 09 00 00 © $79CF 66D8: 66 33 00 00 66 33 00 00 s02F4
6208: 02 20 00 00 00 00 00 00 $4362 6490: 40 01 00 00 40 01 00 00 $FDSF 66E0: 66 33 00 00 42 2100 00 $8085
6498: 40 01 00 00 40 01 00 00 $39CF 66E8: 7E 3F 00 00 00 00 00 00 $DEI8
6248: 00 00 00 00 60 00 00 00 $B3E2 64A0: 40 01 00 00 60 03 00 00 $ESDA
6250: 40 01 00 00 00 03 00 00 $3FE7 6720: 7 3F 00 00 02 3000 00 $8565
6258; 00 06 03 00 00 4D 01 00 $4BAE 64E0: 00 00 00 00 60 03 00 00 $1850 6728: 46 2F 00 00 1 3F 00 00 $5DE9
6260: 00 5F 01 00 40 7F 01 00 $97A6 64E8: 40 01 00 00 70 07 00.00 $2C22 6730: 3E 3E 00 00 7E 3C 00 00 $2188
6268: 40 7F 01 00 00 7F 0200 $0C3D 64FO: 58 0D 00 00 48 09 00 00 $8070 6738; 3 3E 00 00 1E 3F 00.00 $E03E
6270: 00 3E 03 00 00 SC 01.00 $cD22 64F8: 58 0D 00 00 70 07 00 00 $7879 6740: 4 2F 00 00 02 30.00.00 $7328
6278; 00 60 00 00 00 00 00.00 $5032 6500: 40 01 00 00 60 03 00 00 $F40C 6748: 7E 3F 00 00 00 00 00 00 $0056
62A0: 00 00 00 00 70 07 00 00 $88DF 6540: 00 00 00 00 60 03 00 00 $0988 6780: 7E 1F 00 00 4E 19 00 00 $3DAD
62A8: 18 OC 00 00 0C 18 00 00 $5A05 6548: 40 01 00 00 4¢ 19 00 00 $9357 6788: 36 16 00 00 36 16 00 00 $5989
6280: OC 18 00 00 OC 18 00 00 $0205 6550: 48 09 00 00 50 05 00 00 $CB49 6790: 3E 1E 00 00 3E 1E 00 00 $4090
6288: OC 18 00 00 0C 18 00 00 $DA05 6558: 60 03 00 00 40 01 00 00 $7F68 6798: 3E 1E 00 00 3E 1E 00.00 © $19F9
62C0: 18 0C 00 00 3C 1E 00.00 $4830 6560: 40 01 00 00 60 03 00 00 $c3cD 67A0: 3E 1E 00 00 1E 1C 00 00 $5558
67A8: 7E 1F 00 00 00 00 00 00 $9BC5
6300: 00 00 00 00 40 01 00 00 $ED32 65A0: 7E 3F 00 00 0E 38.00 00 $9614
6308: 30 06 00 00 18 0C 00 00 SA99F 65A8: 66 33 00 00 72 27 00 00 $B4AA 67E0: 7E 3F 00 00 1E 3C 00 00 $866
6310: OC 18 00 00 70 IF 00 00 $4422 6580: 72 27 00 00 72 2700 00 $ICSE 67E8: 3E 3E 00 00 OE 38.00 00 $4200
6318: 0C 18 00 00 18 0C 00 00 §$2E30 6588: 72 27 00 00 72 2700 00 $34EA 67F0: 26 32 00 00 36 36 00 00 $1EAB
6320: 30 06 00 00 40 01 0000 $F3C1 65C0: 66 33 00 00 42 2100 00 $56FB 67F8: 26 32 00 00 0E 38.00 00 © $16C6
65C8: 7E 3F 00 00 00 00 00 00 $806 6800: 3E 3E 00 00 1E 3C 00 00 $6A97
6360: 00 00 00 00 40 01 00 00 $56C3 6808: 7E 3F 00 00 00 00 00 00 $14AA
6368: 40 01 00 00 20 02 00 00 $1F94 6600: 7E 3F 00 00 3E 3E 00 00 $D0FO
6370: 20 02 00 00 10 04.00.00 $074F 6608: 4E 39 00 00 66 33 00 00 $89E9 6840: 7E 3F 00 00 1E 3C 00.00 $8919
6378: 10 04 00 00 08 08 00.00 $CB69 6610: 72 27 00 00 02 20 00 00 $74A0 6848: 3E 3E 00 00 32 26.00.00 $3371
6380: 08 08 00.00 1¢ 1 00.00 $0938 6618: 72 27 00 00 66 33 00 00 $0E06 6850: 36 36 00 00 2E 3A 00 00 $7898
6620: 4E 39 00 00 3E 3E 00 00 §C303 6858: 1E 3C 00 00 3E 3E 00.00 © $DFOE
63C0: 00 00 00 00 7¢ 1F 00 00 $82FA 6628: 7E 3F 00 00 00 00 00 00 S60FE 6860: 3E 3E 00 00 1E 3C 00.00 §735F
63C8: 18 OC 00 00 18 0C 00 00 $2242 6868: 7 3F 00 00 00 00 00 00 $0062
6300: 18 OC 00 00 18 0C 00 00 $827A 6660: 7E 3F 00 00 3E 3E 00 00 $4808
6308: 18 OC 00 00 18 0C 00 00 $22c2 6668: 3E 3E 00 00 5E 3D 00 00 $F13B 68A0: 00 00 00 00 60 03 00 00 $B0C5
63E0; 18 0C 00 00 3C 1E 00 00 $B047 6670: 5E 3D 00 00 GE 3B 00 00 $19C4 68A8: 30 06 00 00 00 06 00 00 $3029
18 COMPUTIST No. 31
68B0: 00 03 00 00 40 01 00 00
68B8: 40 01 00 00 00 00 00 00
68C0: 40 01 00 00 40 01 00 00
$0488
$F52A
$31AA
6900: 1D 0E 00 00 23 11 00 00
6908: 43 10 00 00 23 11 00 00
6910: 15 0A 00 00 49 04 00 00
6918: 15 0A 00 00 23 11 00 00
6920: 43 10 00 00 23 11 00 00
6928; 1D OE 00 00 00 00 00 00
$57EB
S9EES
$B89E
S1AID
$4373
$5DE5
6960: 62 31 00 00 5C 2E 00 00
6968: 3C 2F 00 00 SC 2E 00 00
6970: 6A 35 00 00 36 3B 00 00
6978: 6A 35 00 00 5C 2E 00 00
6980; 3C 2F 00 00 5C 2E 00 00
6988; 62 31 00 00 00 00 00 00
$B374
$220A
$DC01
$26F2
SATEC
$2796
69B8; 00 00 00 00 00 00 00 00 © $2796
Black Box Object Code
0300; A2 00 AO 00 A9 01 4C B8 —$9E64
0308; 83 A2 00 AO 00 AD 30 CO $4288
0310: 88 DO FD CA DO FS 60 $680D
Black Box BASIC Program
10 REM
former /
20 REM / /t
30REM = / BLACK BOX / !
49 REM / ne
5Q REM /-----------/ |
60REM\ BY \ |
7 REM \ \!
8@ REM =\ RAY DARRAH\ !
QO REM \ Nt
100 REM
11 REM
120 TEXT : HOME : LOMEM: 16384 : CLEAR : IF PEEK
(775) = 184 THEN 150
139 PRINT CHR$ (4 ) "BLOAD* OBJ .BLACK* BOX” :
PRINT CHR$ (4) "BLOAD* SH. BLACK* BOX"
149 PRINT CHR$ (4) "BLOAD* OBJ. ANIMATOR” : POKE
33798 85
150 DIMB(11 ,11) ,PB(11 11) :PX=9 :PY=2:A
= 1:K$ = "IJKM*" + CHR$ (13) + CHR$ (27 )
Me 7 Wel
160 POKE 230 ,32 : CALL 62450 ; HCOLOR= 3 : FOR
A= 56 T0 223 STEP 14
I7QHPLOTA ,18 TOA ,173 : HPLOTA+13 ,18TOA
+13 173 : NEXT
189 FOR A= 18 T0 173 STEP 13 ; HPLOT 56 ,ATO 223
A: HPLOT 56 ,A+ 1270 223 ,A+ 12 : NEXT
19BFORA= 197029 : HPLOT 56 ,ATO223 A: HPLOT
56 ,A+ 143 T0 223 ,A+ 143 : NEXT
200 FORA=57 1068 : HPLOTA ,18TOA ,173 : HPLOT
A+ 154 ,18 TO A+ 154 ,173 : NEXT
210 POKE 778 ,10 ; FORA= 255 TOWSTEP -W : POKE
780 ,A: CALL 777 : NEXT
220 PRINT TAB( 16) "BLACK* BOX" : PRINT : PRINT
: PRINT TAB( 14) "BY* RAY* DARRAH"
230 VTAB 22 : PRINT TAB( 10) "PRESS* ANY* KEY*
TO* PLAY” : WAIT - 16384 ,128 : GET AS : IF
A$ = CHRS$ (27 ) THEN 770
240 HOME : VTAB 16 : PRINT "HOW* MANY* ATOMS*
SHALL* |*HIDE* FOR* YOU?" : PRINT "(B* -*
5, * * =* RANDOM* AMOUNT)"
250 PRINT : INPUTB :B= INT (B) : IFB<@ORB>
5 THEN 240
260NA=B: IFB=@THENB=INT (RND(W) * 5
) +H cNA= 5
270 FORA=WT0B
280X=RND (W) * 10 +W:Y=RND (NW) * 18+
W: IFB(X,,¥) THEN 285
290 B(X ,Y) =W : NEXT
300 POKE - 16297 ,@ : POKE - 16302 , : POKE -
16304 6
310 POKE 771 (PY=0) +2 (PX=13) +3 *
(PY=13) : POKE 769 ,@ : GOSUB 780 :B=PEEK
(71)
320GET AS : FORA=NTO7: IFAS <>WIDS (KS ,A
(M) THEN NEXT : GOTO 328
330 POKE 771 ,B : ONAGOTO340 ,360 380 ,400 ,600
708 770
340 GOSUB 780 : |F PY=2THENPY=6 :PX=2 * (PX
=9)+11 * (PK=13) : GOTO 426
350 PY = PY - (PY>®) : GOTO 420
360 GOSUB
370 PX = PX- (PK >@) : GOTO 420
386 GOSUB 780 : IF PX= 11 THENPX = 13 :PY=2 *
(PY=9) +11 * (PY =13) : GOTO 420
390 PX = PX+ (PK < 13) : GOTO 426
400 GOSUB 780 : |F PY = 11 THEN PY = 13 :PX=2 *
(PX=O) +11 * (PX = 13) : GOTO 420
410 PY = PY + (PY< 13)
420 IF PY = 13 ORPY = GORPX=13 OR PX =O THEN3IO
430 PX = PX+ (PX=W) - (PX= 12) :PY=PY+ (PY
=W) -(PY=12)
440 POKE 71,6 <B=W
450 GOSUB 800 :B=W-B : FORA=WTO 20 : IF PEEK
(~ 16384 ) < 128 THEN NEXT : GOTO 450
460 IF B = ® THEN GOSUB 800
ATOGET AS : FORA=WTO7 : IF MIDS (KS A.W) <
> AS THEN NEXT : GOTO 440
480 0N A GOTO 496 ,500 ,510 ,520 ,550 , 700 ,770
490 PY =PY-W- (PY=2) : GOTO 530
500 PX= PX-W- (PX=2) : GOTO 530
510 PX=PX+W+ (PX=11) : GOTO 530
520 PY =PY+W+ (PY=11)
530 IF PX =O ORPX=13 0RPY = O0RPY= 13 THEN 310
540 GOTO 440
550 IF PB(PX-W PY-W) THEN 590
560 IF NA = AB THEN 449
570 AB = AB +N :PB(PX-W PY-W) =W
580 POKE 771 ,23 : GOSUB 800 : GOTO 440
590 PB(PX-W ,PY-W) = :AB=AB-W : GOTO 580
600 XS = (PX=B) - (PK=13) :YS= (PY=@) - (PY
=13) :X=PX-W- (PX=13)
610X=PX-W- (PX=13) :X=(X<>-W) * X:¥
=PY-W-(PY=13) :Y¥=(Y¥<>-W) # Y=
IF PB(X ,Y ) THEN 320
620 PB(X .Y) =W : POKE 778 ,7 : FORA= 107080
: POKE 780 ,A: CALL 777 : NEXT :SX=X:SY=¥
630 IFX+XS<BORX+XS> 11 0RY+YS<BORY
+YS> 11 THEN POKE 771. ,M :M=M4W : GOSUB
810 :PB(X ,Y) =W:X=SX :¥=SY : GOSUB 810
: GOTO 328
640 IF B(X+XS ,Y+YS) THEN X=SX :¥=SY : POKE
771.4; GOSUB 810 ; GOTO 328
650 IF B(X+ (YS<>) +XS ,Y+ (XS<>B) +¥S
) AND B(X- (YS<>B) +XS ,¥- (XS< >) +
YS) THEN X= SX : Y= SY : POKE 771 ,5 : GOSUB
810 : GOTO 320
660 IF B(X+ (YS<>0) +S .¥ + (XS<>0) + YS
) THEN XS = - ( ABS (XS) <>) :YS =~ ( ABS
(YS) <>W) : GOTO 680
670 |F B(X - (YS<>B) +XS ,V- (XS<>B) +¥S
) THEN XS = (ABS (XS) <>) :¥S= ( ABS (YS
)<>W)
680 |F ((X= GOR X= 11) ANDYS <>) OR ((Y=
GOR ¥=11) AND XS<>) THEN POKE 771 ,5
2X = SK :¥=SY : GOSUB 816 : GOTO 320
690 X=X+XS :Y¥=Y+YS : GOTO 630
700 IF PEEK (771 ) < 4 THEN GOSUB 780
719 FOR Y=WT0 10 : FORX=WTO 10: IF PB(X ,Y
) =O AND B(X ,Y ) = THEN 740
720 IF PB(X .Y ) AND B(x, ) THEN POKE 771 ,23 :
GOSUB 790 : POKE 771 ,24 : GOSUB 790 :S=S
+168 / NA : GOTO 749,
730 1F B(X ,Y) THEN POKE 771 ,25 :S=S-100/NA
+ GOSUB 790
749 NEXT : NEXT ; POKE 778 ,128 : POKE 780 0
CALL 777 : GET AS
750 HOME : TEXT : VTAB 11 : PRINT "YOUR* SCORE* ,,
IS*" INT (S-10 * ((M-8) /NA) ) ”
760 PRINT : PRINT “PRESS A* KEY" : WAIT - 16364
1128 : GET AS ; RUN
70 TEXT : HOME : END
78B POKE 224 ,PX * 7 +2042 * (PX>0) : POKE
225 PY * 13+8 * (PY>B) : CALL 768
> RETURN
790 PX=X+W:PY=Y4W
800 POKE 224, (PX-2) * 7 +35 : POKE 225 , (PY
-2) * 13 +32 : CALL 768: RETURN
810 POKE 224 ,28+X * 7: POKE 225 ,19+Y *
13 : CALL 768 : RETURN
Black Box checksums
19 - SBADD 420 ~ $2007
20° - $9B13 430° - $E2D5
30 ~ $403B 440 - $0677
40 ~ $AD92 450 - $98B7
59 =~ $(899 460 - $8919
60 - SFF65 470 - SDFD4
70 - SA3BF 480 - $A429
89 =~ SA900 490 - SOFAB
9 = - $9240 500 - $8F9C
190 - $CB63 510 - $0E22
11d - $8013 520 - $F8D5
120 - $3B38 530 - $613D
130 - $AL3E 540 - $6CCL
146 - $9442 550 - $0988
150 - $9E03 560 - $6778
160 - SES8E 576 - $0378
176 = $2FAB 580 = SBC4F
180 - $A5B2 590 - $EBO3
198 - $C239 600 - $38B4
200 - SBAFC 610 = - $DD8C
219 - $3830 620 - $6616
220 - $A057 630 - $849E
230 - $87CA 640 - $2A30
249 - $7066 650 - $41E2
250 - $6009 660 - $540F
260 - $0854 676 - $7672
270 - SECAE 688 = - $C3A8
2880 - $D63F 698 - $269F
298 - $CA96 700 - SCIE8
308 - $2470 718 - $3751
310 - SCODE 720 - $5E85
320 - $E344 730 - $C464
330 - $5003 7400 - $211F
349 - $ODC6 750 - $36CF
358 - $6797 766 - $1010
360 = - $8000 770 - $7320
370 - $A5C5 780 - $1IAB
388 - $7F63 798 - $8072
390 - $F5AG 808 «= - $9027
400 - $3692 810 - $256F
410 - $8718
360 Gossb 780°IF Pked teu Ds O: Py= 2 *( PY 20) +11 *(PY=13) Gow 420
COMPUTIST No. 31 19
20
HFmaPpPonh sas =e
softkey for...
Life
by Tim Beckmann
MicroLab, Inc.
2699 Skokie Valley Road
Highland Park, IL 69935
Requirements:
64K
A modified ROM (see below)
A blank disk
Lifesaver disk
Editor’s Note: this procedure requires the use
of a modified F8 ROM similar to the one
presented in COMPUTIST No. 19 to capture
some sensitive memory used by the program
(pages $00-$08) and save it in a binary file. If
you have a 16K RAM card that can be moved
(in an Apple }{ Plus) you can simulate the ROM
with the method given in this article.
Lifesaver is a utility that is very useful for
recoving data from damaged disks. Anyone
who has used Lifesaver to recover data knows
how valuable it can be. But, ironically, this
piece of software that is meant to recover
damaged disks is protected so well that it cannot
be backed up in case the original is damaged.
I attempted to copy the disk with Copy ][ Plus
and EDD, but both failed to do the job. It
appears that Microlab used a foreign DOS with
some other very difficult protection that is hard
to bypass. This means that Super IOB cannot
be used to unprotect the disk. Luckily, Lifesaver
is a single load program, so we will be able to
capture all of it from memory. One minor
drawback, however, is that it will require 64K
to run because we need DOS in memory to load
the files.
The first thing you should do is to INITialize
a disk with a blank HELLO program. It will
COMPUTIST No. 31
greatly decrease the loading time if you use a
fast DOS.
1) Initialize a blank disk with a normal or fast
DOs.
NEW
INIT HELLO
Those of you with a modified ROM or a card
that can move memory may skip to step 4. If
you are the owner of a J[ Plus without a
modified ROM, The first step to take toward
cracking this program is to move your 16K card
to slot 1. This is done so we can install an image
of the modified F8 ROM in the RAM card and
not have it erased by the program.
Unfortunately, those of you who have a //e or
//c will need a modified ROM installed because
you cannot move your RAM card.
2) Turn off your computer and move your RAM
card to slot 1
3) Next you need to install the image of the
modified F8 ROM in the RAM card.
BLOAD F8 ROM,A$2800
CALL-151
C091 N C091 N F800<2800.2FFFM
D000<D000.F7FFM N C090
Now with the modified F8 ROM working the
next step is to boot the Lifesaver disk,
4) Insert the Lifesaver disk and boot it with
C600G from the monitor or PR#6 from
BASIC.
5) After the drive stops, Lifesaver should be
up and running. Now press Reset followed by
the ‘‘S”” key to move pages $00 through $08
to pages $20 through $28. Insert your blank
initialized disk. Then move some more memory
to insure the data remains safe and boot the disk.
3000<8900.BFFFM
C608G
6) Save the program in three files as follows:
BSAVE LIFESAVER.2,A$2000,L$8FF
BSAVE
LIFESAVER.3,4$4000,L$26FF
BSAVE LIFESAVER.4,A$3000,LSFFF
Saver
7) Once again boot the Lifesaver disk and press disks, you don’t have to worry about your
Reset followed by “*M” to enter the monitor. _ original being damaged.
Then again reboot the normal disk to save a file.
C600G Hexdump #1
BSAVE LIFESAVER.1,A$900,L$7FFF 9200: 20 BB 92 84.C2 CC CFC] $615C
8) Ifyou used the RAM card method rum off $208: 6 C9 C6 C5 3 C1 D6 SEBEE
your computer and move your card back to slot 9218: 82 BO AO 80 00 20 BB 92 SCBFB
®. The data capturing part of the softkey is over. 9220: 84 C2 CC CF C1 C4 CC.C9 $5881
It is now time to develop a program to 9228: C6 C503 C1 D6 C5 D2 AE $0588
reassemble it in memory and start it running. 9230: B2 AC Cl A4 B8 B9 BO BO SEB84.
But first it is necessary to clarify a couple of 9238: Ad 80 00 AD 81 CO AD 81 $26AE
points. 9240: CO AD 08 B9 BO F899 OO $156F
After some investigating and with a lot of 9248: F8 C8 DOF? EE 45 92 EE SIFFL
luck, I found that the program’s entry point is
at $520A and, as a form of protection, uses the 9250: 48 92 AD 45 92 DB EC 20 © $FD3F
second text page for its display. So with these 9258: BB 92 84 C2 CC CF C1 C4 —$A59C
points in mind, I developed two binary 9269: CC C9 C6 C503. C1 D6 C5 $32A5
programs to put the program into memory and 9268: D2 AE B3 AC Cl Ad C4 BO $CEBB
start it up. The first binary program will load 9270: BO BD AD 8D 00 AD 89 CB $5C93
part of the files into main memory and the other sal bd e A a a A e 2 pas
part into the RAM card. It will then put pages 9288. D3 Ci D6 C5 D2 AE B4 AC $93AF
$00 through $08 back where they belong and 9290: Cl Ad CA BO BO BO AD AQ $8988
jump to the second binary program that will be ;
loaded at $F700. That program will finish Sasa) eee ah
moving memory to the correct pages, turn on 92AG: 00 OG C8 DO F7 EE 9E 92 $7628
the second text page with a LDA $C055, then 928: EE Al 92 AD Al 92C9 09 $4FAB
jump to the start of the program at $520A. 9280: DO EA AD 88 CO AD 8B CO $FAA9.
Type in hexdump #1 and save it. Then load 92B8: 4C 00 F7 68 85 00 68 85 $5E61
in the file LIFESAVER.3. 9200: 1 E6 00 AS OO DB G2 E6 $ECEB
92C8: G1 Ad 00 B1 OO FO 06 20 SE6D7
BSAVE LIFESAVER,A$9200,LSEO 9200: ED FD 4C Cl 92 £6 09 AS $1208
BLOAD LIFESAVER.3,A$1000 9208: 99 D2 02 £6 01 6C 08 8G © $SDI5
Type in hexdump #2 and save it plus the old
LIFESAVER.3 in a new LIFESAVER.3. Hexiunay #2
BSAVE ‘
LIFESAVER.3,A$1000,L$273F 3700: AD G2 B9 00 D2 99 00 89 SCADD
3708: C8 DO F7 EE 94 F7 EE 87 $8208
9) Time to make a HELLO program to boot 3710: F7 AD G7 F7 (9.99 DO EA $616F
Lifesaver automatically, so type in this one-liner 3718: AO 8 AD 83 CB AD 83 CB $1014
and save it as HELLO. 3720: 89 08 DB 99 29 99 C8 DB SABBF
16 PRINT CHRS(4);“BRUN LIFESAVER” Gia woe
nAyE VELLO 3738: CO AD 55 CO 4C 0A 52 © SEA7B
‘You should now have a backup of Lifesaver,
so in addition to being able to recover damaged bd
COMPUTIST No. 31
Shab nh a = &
softkey for...
Synergistic Software
by Danny Pollak
Synergistic Software
830 N. Riverside Dr., Ste. 201
Renton, WA 98055
Requirements:
Apple ][ Plus or better
Microbe or Crisis Mountain
Super IOB 1.5
One blank disk
Microbe is an action packed adventure game
in which a submarine and its entire crew are
reduced to microscopic size and are then
injected into the bloodstream of a critically ill
patient. Your ultimate mission is to work your
way through the body to the brain and repair
the damage located there. There is a time limit
of | hour 10 minutes in which to accomplish
this feat. When a higher level of play is selected,
this game can definitely be a challenge to the
best of adventurers.
Crisis Mountain is an arcade style game in
which you must move around within the
mountain diffusing bombs before they explode
while trying to avoid flying, rolling, and falling
boulders. There are several different types of
boulders which must be avoided in order to stay
alive, and at higher levels of play, you must
also avoid a radioactive bat which can kill you
with just one touch.
The Protection
Both of these games are protected in the same
way. The folks at Synergistic Software decided
to use a modified RWTS to read in the different
sections of the game. During the boot, the
program also performs a nibble count searching
for the sequence of bytes EB DS AA. With a
slightly modified swap controller and a few
sector edits, the copy protection on these disks
easily fall to Super IOB. This procedure may
possibly work with other software from
Synergistic.
The Procedure
1) The first thing we must do is to capture the
RWTS from one of the disks. Do this by
entering the following commands:
CALL -151
9600<C600.C700M
96F8:A9 08 8D 4A 08 4C @1 68
9600G
1900<B800.BFFFM
2) Boot an initialized (slave) disk and then save
the RWTS with the following command:
BSAVE
SYNERGISTIC.RWTS,A$1900,L$800
3) Install the controller at the end of the article
into Super IOB 1.5. Follow the"prompts being
sure to answer YES when asked if you wish to
initialize the duplicate disk.
4) When Super IOB is finished, you will have
a deprotected copy of the program. The
following sector edits are performed by the
program:
Track Sector Byte From To
2
=
SESERE
If you are copying Microbe, the back side
of the disk can be copied with either COPYA
or the standard controller.
For some unexplainable reason, Microbe
locks up if any information has previously been
loaded into memory. The easiest way to solve
this problem is to turn the machine off and then
do a cold boot before starting the game.
A fix for Crisis Mountain
How many times have you wished that the
title page sequence for Crisis Mountain didn’t
take so long to execute. Well, if you are like
me, you would rather get on with the game than
watch a little man jump back and forth over the
name of the guy who created the game. Here’s
how to do it.
Break out your favorite sector editor and
perform the following sector edits on the now
unprotected disk:
22 COMPUTIST No. 31
Track Sector Byte From To
The title page will now appear in record time
and you can get on with the game.
Showing the first 100000 of 147597 characters.