Text content (OCR)
For The Serious User Of Apple ][ Computers
Hardcore
COM PUTIST
Issue No. 22 $3.75
Softkeys For:
Miner 2049er FAO
Night
"hat
Lode Runner
A2-PB1 Pinball
aN
Customized tS
Drive Speed =
Control = in
= wiul!
> yp
: 3
Super IOB = \
ILeREss S ('\
cor’ ‘Bal
Macro System qeiUrress
BULK RATE
U.S, Postage
PAID
Hardcore COMPUTIST Tacoma, WA
PO Box 110846-T Permit No. 269
Tacoma, WA 98411
BACKUP
PROTECTED SOFTWARE
with COPY II PLUS" ver. 5
From the team who first brought you COPY It PLUS in
updated disk backup utility for your Apple
ompletely
computer, New features include
+ Fully automatic bit copy*.
ype inthe
name of the
o and COPY Il PLUS does the rest!
* New utilities including Alphabetize Catalog, Fast 2-pass Disk Copy on a/c or He
id an all-new Sector Editor.
Supplied on a standard DOS diskette, Runs on the Apple
Apple e, Apple “c. Requires 64K and one or two disk drives:
are stored on disk. Simply
Apple +
Increase the power of your Apple //,
Use COPY Il PLUS™ 5.0
Call M-F 8-5:30 (W. y
Or send a check (add $3 s/h, $8 ove
$39.95
ENTRAL POINT
Software, Inc.
00 SWC:
Portlasy
Pras regularly te handle mew protectins: you as a registered ewer may pee 8 ay
(B apaate, just seve original disk aud $202)
We update Cog
fc is peer fs 11 9 make enchie
svat
Sumi?
DISC
COMMANDER
COPYMGHT 1905 wHKcAM STEVENS
DISK EDITING SYSTEM
| FOR THE APPLE I FAMILY OF COMPUTERS
USING DOS 33 OR DOS3.3 WITH
PRONTO. DOS ENHANCEMENT
4 Editorse13 Sub-editorse Completely menu drivene } or 2 drive
operations INSTRUGTORIALS and TECHNICAL INFORMATION on disk
Sort catalog entries@Hide catalog entrieseCreale multiple neading
catalogse Greate multi-column catalogs # Reassiga lock/unlack and
tile type symbols, spaces,columns.cataiog heading and program titles
to any combination of NORMAL, FLASH, INVERSE, LOWER CASEor
CONTROL charactorse Rename all DOS commands e Rewnte ail DOS
error messages @ Make a (non-VTOG dependent) disk man showing
the THACK/SECTOR LISTS, VTOC and CATALOG TRAGK/SEGTORS
Trace out individual tiles @ Change the HELLO program @ Change
any byte anywhere on a disk Make iostructions, disk maps.
track/sector displays and traces using your printer
AND MUCH MUCH MORE
SO WHAT SOFTWARE
10271 Slater Ave Suite 103 Fountam Valtey.Ca 92798
TO ORDER: Send a check or money order (U.S. funds) for $29.95 plus $2.00
California residents add 6%,
shipping ($5.00 foreign)
est
Warning: EDD is
sold for the sole
purpose of
making archival
copies ONLY.
Now
AVAILABLE
AT YOUR LOCAL
COMPUTER STORE
YOUR DISKS
EDD rune on Apple HF glu, 1a, lle and Apple it fin emulation mada) izing one ortwo dk drs,
EDD allows you to easily and quickly make back up copies of your
“uncopyabie” Apple disks. li Since EDD has been preset to copy
the widest of copy-protections possible, you just simply
boot up EDD, put the disk you want to copy in one disk drive and
a blank disk in the other {EDD will work using one drive also}
‘and In about 2 ¥2 minutes a copy is made. ™ Unlike the “copy-
cards” which only copy “single load” programs, EDD copies
the entire disk. This would be similar to hooking up two
cassette recorders, playing from one, and recording to the
other. l We have even included an option so you can check
the speed of your disk drives because drive speeds running
with the purchase of EDD. i The bottom line is this; if
EDD can't copy it, chances are nothing will.
($5 foreign). Mastercerd/Viea accepted.
$7995
UTILICO MICROWARE
3377 Solano Ave., Suite #352
Napa, CA 94558 (707)257-2420
Ask for EOD at your local computer store, or,
fo order direct: send $78.98 plus $2 shipping
8OC 8 isk?
And that INCLUDES the Tyvek sleeve, too?
* Sold in
multiples of
25 ONLY
*100%
guaranteed
with reinforced
For only
$20”
Please send me___ sets (25 cha par ant) ot § 1/4" S8/00 cierto. |
have enclosed $70.00 PLUS shinpig & honding for
& write protect
tabs included
$end your order to: Disk
Offer, SoftKey Publshing
PO Box OBIS Tacoma, WA |
9841. Pleose enctose $3 | Nerme —__ =
shieping anc handing tor
the frst set PLUS Si for each
addtional set. Forelgn orders
edd 20% shipping &
hanalingy US tunes crown on
US bank. Washington state
fosidents add 78% sales tox
Orders shipped vio UPS
Place use street cderess
Adress
hy
Coxsitry
VSAIMC___
Signoture ___
Let us know your
NEW ADDRESS at fs
least 30 days in
advance so you
won't miss a single
issue of Hardcore
COMPUTIST (issues
missed due to non- |
receipt of change of Phone —___ aks
address may be L— ae J
obtained at the Ss — ee
current back-issue Paste present address label here or fill in old address:
Tate). Name
My new address is:
Address
City st Zip
Address —__ a SH il) Sa
Fill out your new address on
the form provided, paste City a Ee NE
your present address label in
see ‘space below and send it ‘Shae
faieve COMPUTIST,
Subscription Dept., PO Box Phone.
110846-T, Tacoma, WA 98411
Public Domain Software
SPECIAL
From The
COMPUTER LEARNING CENTER!
GET Over 170
BUSINESS
& FINANCE
Programs FOR ONLY
Forecast your investment profits
Evaluate the worth of your stock portfolio
Experiment with Visicalc formulas
Design a business or personal
letter writing format
Organize your household expenses
Balance your checkbook
Manage your loans and payroll
The Business & Finance SPECIAL contains the
following programs and many more,
Keogh Savings Program Household Exp. Profile
Mortgage Caloulaton —_incorme Tax 1040 For 77
Reguiar Deposits | Check Book Balancer
‘Stocks Address File
Calendar Personal Names Search
Letter Weiter Gen Ledger Printer
Phone List Constar
Vislcalc Formutas ete...
ORDER NOW!
A complete catalog of Public Domain Software
available from the CLC will arrive with your order.
gE :
#8 § | §
z a 3
ere i
ut 8g
=s :
ie i iy
Bay * ie
SEs $3
Ae |
pee er
Bas He
a He
fil cre i
it ae | e223 aby
fy i 8248 3 Baa
(The Computer Learning Center's PDS Library
contains over 170 volumes, ail which are formatted
for Appie jf Plus computers and Apple compatibles.
Most will also run on Apple /ie and //c.)
any of the articles published in Hardcore 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.
Hardcore COMPUTIST also contains a center 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.
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 heen
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 Hardcore COMPUTIST, commands which @ reader
is required to perform are set apart from normal text by
being indented and bold. An example is:
PREG
Follow this with the RETURN key. The RETURN key
ftuist be pressed at the end of every such command unless
otherwise specified.
Control characters are indicated by being boxed. An
example
6GP)
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 Hardcore COMPUTIST require one of
the Apple jf series of computers and at feast on 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
Teaders 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 of Tricky Dick from The CIA.
3) Disk Search Utility such as The Inspector, The
Tracer from The CIA ot The CORE Disk Searcher.
4) Assembler such as the S-C Assembler or Meriin/Big
Mac
5) Bit Copy Program such as Copy }{ Plus, Locksmith
or The Essential Data Duplicator
6) Text Editor capable of producing normal sequential
text files such as Applewriter JI, Magic Window }f
or Screenwriter Jf.
‘You will also find COPYA, FID and MUFFIN from
the DOS 3.3 System Master Disk useful.
Super IOB: This program has most recently appeared
in Hardcore COMPUTIST No. 22. Several softkey
procedures will make use of a Super IOB 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 Hardcore COMPUTIST
No. 22 a5 a hack issue or order Program Library Disk
No, 22.
RESET Into The Monitor: Many 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 I[ Pius - Apple //e - Apple compatibles: 1) Place
an Integer BASIC ROM card in one of the Apple slots.
2) Use s non-maskable interrupt (NMI) card such as
Replay or Wildcard.
Apple J[ Plus - Apple compatibles: 1) Install an F8 ROM
with a modified RESET vector on the computer's
motherboard as detailed in the “Modified ROM's"’ article
of Hardcore COMPUTIST No, 6 or the ‘Dual ROM's**
article in Hardoore COMPUTIST No. 19.
Apple ‘Ye - Apple //e: Install a modified CD ROM on
the computer's motherboard. Don Lancastet’s company
(Synergistics) sells the instructions necessary to make
this modification. Making this modification to an Apple
fie 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 Peter Leichner, Quality Software,
$19.95; Assembly Language For The Applesofi
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
‘ate printed in Hardcore 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:
19 HOME:REMCLEAR SCREEN
a program will be stored in the computer’s memory.
‘Strangely, this program will nor have a LIST that is
‘exactly us you typed it. Instead, the LIST will look like
this;
10 HOME : REM CLEAR SCREEN
Programs don't usually LIST the same as they were
keyed in hecause Applesoft inserts spaces into a program
listing before and after every command word or
mathematical operator, These spaces usually don’t pose
4 problem except in line numbers which contain REM
6 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:
18 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 progrart
would look like this:
1 DATA 67,45,54,52
This LIST is different from the LIST you wanted. The
fumber of spaces you key after DATA and REM
command words is very important.
Al of this brings us to the Hardcore COMPUTIST
L1STing format. In a BASIC LISTing, there are two types
‘of spaces; spaces that don't marter whether they are keyed.
or not and spaces that must be keyed. Spaces that must
be keyed in are printed as delta characters (4). All other
spaces in a Hardeore 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 Checksums" section) to match up, you
‘must not key in any spaces after a DATA command word
unless they are marked by delta churacters.
Keying In Hexdumps: Machine language programs
are printed in Hardcore 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 (a "'S"” and four digits), If you hear a beep,
you will know that you have typed something incorrectly
‘and must retype that line,
‘When finished, return to BASIC with a:
EM3G
Remember to BSAVE the program with the correct
filename, address and length parameters as given inthe
article.
Keying In Source Code The source code portion
of a machine language program is provided only to better
explain the program's operation, If you wish to key it
in, you will need an assembler, The $-C Assembler is
used to generate all source code printed in Hardoore
COMPU'TIST. Without this assembler, you will have
to translate pieces of the source code into something your
assembler will understand. A table of S-C Assembler
directives just for this purpose was printed ia Hardcore
COMPUTIST No. 17. To translate source code, you wil}
need to 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 arc four digit
hexadecimal numbers which verify whether or not you
keyed a program exactly as it was printed in Hardcore
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 Hardcore COMPUTIST No. 1 and
‘The Best of Hardcore Computing. An update to
‘CHECKSOFT appeared in Hardcore COMPUTIST No,
18. Tf 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 program where the checksums differ.
2) To compute CHECKBIN checksums:
CALL -151
BLOAD filename
Install CHECKBIN at an out of the way place
BRUN CHECKBIN,AS6Q00
Get the checksums by typing the starting address,
and ending uddress of the file followed by & ;
sox.xxx EY)
And correct the lines at which the checksums differ.
How-To's
Of Hardcore
Welcome to Hardcore COMPUTIST, a
publication devoted to the serious user of
Apple }[ and Apple }{ 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 te avoid frustration when
attempting to follow a softkey or when
entering the programs printed in this issue.
OLD. IRONSIDES
Jack Rice
WRichard Hefter
This month’s cover:
Night Mission Pinball.
Graphics from Sublogic's A2-PBI
Address a advertising Inquiries to Hardcore COMPUTIST,
‘Advertising Department, PO Box 110818, Tacoma, WA 98411
Mail manuscripts or requests for Writer's Guides to Hardcore
COMPUTIST, PO Box 110846K, Tacoma, WA 96411,
photos, disks, or tapes if they are to be returned. Uneolictt
manuscripts wile returned only adequate return postage i
Included.
Entire contents copyright 1985 by SohKey Publishing. All
rights reserved. Gaping done fr cher an peracnw or nmal
the |
The editorial staff assumes no liability or responsibility for the
products advertised in the magazine. ey opin ‘opinions gente
by the authors are not those of Hardcore
COMPUTIST magazine or SoftKey Publishing.
App soul rater ote Apple of Pe Comper, and
is @ trademark of Apple Computers, Inc.
SUBSCRIPTIONS: Rates {lor 6 issues): US. $20, U.S, Ist
Class $24, Canada $34, Mexico Foreign
Scuirion to: Hardcore COMPUTIST, Supseription
PO Box 108461, Te (A841,
tahas meer becom Seton
DOMESTIC DEALER RATES: Cal (206) 474.750 for more
information.
Change Of Address: Please allow 4 waeks for change of
ee ee ‘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 seve rate,
Hardcore Issue 22
COMPUTIST
Publisher Rditor: Charies R. Haight ‘Technical Editor: Ray Darrah
tion & Graphles: Lynn Campos: Bev Haight Ch Michelle Frank, Debbie Koval
‘Advertising: (206) 474-5750 Printing: Valco Graphics Inc. Seatle, WA
Hendeore COMPTIST be poblibed mony, except Doomube by SofKey Publishing. 5253 8. Washingon, Tacnma, WA 99409
Phone: (206) 474.5750
softkeys
10 Miner 2049er
Hardcore COMPUTIST wrestles this classic arcade and achieves a victory in the form of a
deprotected diskette. by Tom Phelps
11 Lode Runner
Finally, you can have a COPYable version of this most-liked game. Follow this article and learn
Lode Runner's secrets by Tom Phelps
13 A2-PB1 Pinball
‘The pinball machine has come a long way since its invention. Now it’s your turn to help in pinball's
evolution by deprotecting this excellent representation. by Joseph W. Leathlean
features
15 Customized Drive Speed Control
If you’re tired of removing the disk drive cover everytime you want to adjust your drive speed,
you can use this article to replace your speed control with a hand (and much more precise) knob.
By William Wingfield, Jr.
17 Super I O B version 1.5
The official Hardcore COMPUTIST deprotection program has updated after seven long months
of sameness, This version of Super IOB can deprotect disks 350} faster than previous versions
of Super IOB. by Ray Darrah
core
25 The Macro System
Have you ever wanted to have the capability to type a long sequence of characters by only pressing
a few keystrokes? The possibilities of this program which allows you to do just that are indeed
great. By Tim Lewis
departments
4 Input
ing up MECC software, Deprotecting Storymaker, PFS softkey correction, Modified PROMS
on the //e, SSI Deprotection help, Space invaders on Skyfox, Bootlegger problems.
6 Readers’ Softkey & Copy Exchange
Bill Bood softkeys Microlab's The Heist. Bryce Swimley softkeys Xerox Educational Software's
Old Ironsides. Phil Pattengale softkeys Spinnaker's Grandma’s House, and In Search Of The
Most Amazing Thing. William Wingfield, Jr, softkeys EPYX"s Morlock Tower. Denny Colt
softkeys Sierra Online’s Marauder. Ray Darrah softkeys Sargon III's other protection scheme
9 ADVENTURE TIPS
24 = A.P.T.s
Hardcore COMPUTIST No. 22 3
bad an =
Backing Up MECC Software
Asa teacher, | refuse to go into a classroom
without having three copies of the program
I'm going to use: one to use, one in the
drawer, and the original far, far away. Please
try to publish more softkeys and backup
information for educational material (software
like the Print Shop). Most of the publishers
of educational software don’t seem to realize
that students can unintentionally kill a disk in
an infinite number of ways.
Now, let me climb down off my soapbox
and offer some practical advice for other
teachers. The Minnesota Educational
Computing Corporation (MECC) offers a large
variety of good educational material, most of
which is written in BASIC making it easy to
modify. Unfortunately, most of MECC's disks
are protected. Fortunately, they are easy to
unprotect using Super IOB with the standard
Swap Controller. The only protection that
MECC uses is an altered RWTS and | used
the material in Ken Greeniaw’s article,
"Secret Weapon; RAMcard (Hardcore
COMPUTIST No. 16) to capture it, although
there have been several other methods
published in Hardcore.
After you have removed the protection, two
modifications | recommend are to put a faster
DOS on the disks and rewrite the HELLO
programs to eliminate the MECC hi-res “‘title
page’’. Waiting for that map gets boring after
awhile.
One question; Does anyone know who
manufactures the Disk Muncher copy
Program? Everyone | know has a copy (in
dozens of versions) but nobody bought it and
I've never seen it advertised! It is the fastest
general purpose copy program | have ever
seen. | would like to use it in class to make
backups of student program disks, but | don’t
want to step on someone's copyright.
P.S. Hardcore is the most useful computer
magazine around. Keep up the good work!
Tim Stahmer
We at Hardcore COMPUTIST have also seen
several versions of Disk Muncher (one is even
marketed by ABACUS Software). We also have no
idea where it originated.
Deprotecting Storymaker
After long hours of trying to locate the
nibble count on Story Machine (Spinnaker),
I decided to give the program to my friend and
let him have a go at it. To my surprise, he
gave me three different methods of removing
the copy-protection. The requirements and
the step-by-step procedure to remove the
protection are listed below:
Requirements:
Apple or compatible with 48K
One disk drive
COPYA
A sector editor program
One blank disk
You must first copy the program using
COPYA. Then you can proceed in one of
three ways. Each method involves either
removing a command that sets a byte to a
certain value or putting in a command that
sets a byte to a correct value.
Method 1:
On track @, sector 3 change bytes 64 and 65
from AS 1E to A9 F@.
Method 2:
Change track 8, sector 3 byte 71 from 62 to 00.
Method 3:
Change track @, sector 3 bytes 72 and 73 from
69 FF to AS 66.
| have tried each of these methods
separtely and they all work equally well.
The Programmer
PFS Softkey Correction
Re: Deprotecting PFS Software, Reader's
Softkey Exchange (Issue No. 14). | have a
small modification to make.
In the original article, the reader was
instructed to look for:
De 64 88 98 FO 27
Instead, the search should be for:
88 98 F@ 27
because the actual routine is as follows:
DO xx 88 98 F@ 27
where ‘‘xx"’ can be almost any number from
$04 to $10, and the change should be to the
address of:
AS FF CD
which can be from $27 to $35 bytes away from
the $D0.
Thave found the new Copy II Plus v5.2 very
handy for this kind of work. The sector editor
has a search feature in its disassembly list
feature. This is very useful for software that
uses a lot of relative jumps. For the absolute
addressing problems, I am still stick with using
the Integer ROM card or an Interrupt card to
help find things.
George Mochizuki
Madera, CA
4 Hardcore COMPUTIST No. 22
Modified PROMs on the //e
| read with interest the article by Ernie
Young (Issue No. 6) on modifying PROMS for
the Apple computer but resisted making the
change because of my reluctance to work
inside my machine, an Apple //e. After some
hand wringing | decided to dig in and give it
a try. To my surprise, the //e does not have
an F8-ROM. It instead has the monitor code
in the EF-ROM which is the 2364 PROM, not
@ 2316. The 2364 PROM's are directly pin
compatible with the 2764 EPROM's. Thus, ail
| had to do was burn the modification into a
2764 and pop it directly into the /le.
Everything, including the changes suggested
by Mr. Mindrup (Issue No. 9), worked without
any wiring changes.
Similarly, | was intrigued by the articles by
Ray Darrah and Earl Taylor on doubling the
ROM space and an improved monitor routine
(Issue No. 19). On checking, | found that the
2364 PROM and the 27128 EPROM are also
pin compatible. However, the pin positions for
the switch connections on the 27128 EPROM
are different: ground is pin 14, pin 28 is + 5v,
and pin 26 is the most significant address bit
which would be used to select the appropriate
bank in the 27128 EPROM. Due to my limite
experience with a soldering iron | decided t
make the switch connection to the appropriat
pins of a low profile DIP socket instead or
directly to the EPROM. This avoids potential
heat damage to the EPROM and allows for
changing or reprogramming the EPROM
without re-soldeing the switch.
in both of these cases, | have not done any
modifications to the machine (no voltage
inversion, etc.). It all seems fine to me.
Can anyone tell me if I’ve overlooked some
point that could give me problems down the
toad? Also, the ‘How-To” page in your
magazine mentions a modified CD-ROM
available from Synergistics as a means to
RESET to the monitor. Can anyone tell me
why this is needed or what it does?
Even though Mr. Taylor warned that his
modifications were specifically for the
F8-ROM, | tried to implant them in the EF-
ROM. Needless to say, | encountered several
Problems. The binary search routine
overwrites code at $FBB4 which serves as a
conduit to display and escape sequence
routines on the 80-column card. Without this
code the machine dies. Since this code is
referenced from a number of locations, it's not
@ good idea to change its position. Whether
the lack of support for the arrow keys in
Taylor's approach is of major or minor
importance probably depends on whether the
user has an Apple J[, ][+ or //e.
| was able to patch Mr. Taylor’s code into
the EF-ROM and retain all features except for
the blinking cursor and the NMI code. The
‘only way | could see to implant the blinking
underline cursor was to alter the PROM on
the 80-column card. Since | wanted to use the
second cursor to indicate which version of the
monitor was active, making an “always
active” change to the PROM did not seem
beneficial. Because | don't know how to
initiate an NMI and typically want my machine
to boot a disk on powerup, | deleted the NMI
code and changed the NMI and reset vectors
(SFFFA-$FFFD) to mimic the code by Mr.
Mindrup (i.e, 1. Boot a disk on powerup, 2.
On RESET followed by a return, use the
vector at $03F2. | find a reset to the intended
program vector to be useful in boot tracing
some types of programs.)
Here are the steps for adding Mr. Taylor's
modifications to the EF-ROM of the Apple //e:
1, Load a copy of the Apple //e monitor into
RAM
1000<E000.FFFFM
2. Alter RESET routine to go to
NEWRESET thru the old NMI vector. Kill jump.
to the print title code
2AA3: 6C FA FF EA EA EA
3. Part 2 of the routine to set up search
display
2B60: AS 3C E9 OF 85 3A AS 3D
2B68: E9 6@ 85 3B 4C 84 FE
4, Jump to check for ‘esc H*
2898: 4C ED FE
5. NEWRESET- same as Taylor's except
uses vector at $03F2
2CC9; AD @@ C8 10 FB 2C 10
2CD@: C@ 29 DF C9 D3 F@ 87 C9
2CD8; CD F@ 2D 6C F2 03 BA 8E
2CH@: 03 29 Ad 68 BO 00 06 99
2CES8: 0@ 20 BY 6@ O1 99 08 21
2CF#: C8 D@ Fl 84 3C 84 3E 84
2CF8: 42 A9 #2 85 3D Ad 89 8S
2D00: 3F A9 22 85 43 20 2C FE
2D08: 4C 59 FF EA
6. Taylor's MOD.NOTCR
2D58: E@ F8 90 03 20 3A FF E8
7. Taylor's STOP PATCH
2D7E: 4C 84 FD E8 A9 88
8. Taylor's LIST2 MOD
2E74: AA
9. Misc. Code, Disassembler Mod, Window
set & vector to SEARCH, Tape error, Test for
“esc H" and CRMON
2EC2: 60 EA EA 4C F8 03
2EC8: 20 SE FE A9 61 2@ 63 FE
2ED@: AD 6@ Cé 10 FB 2C 16 Ce
2ED8: C9 95 F@ EC C9 Ad FO EB
2EE@: C9 9B 68 A9 02 85 22 4C
2EE8: FD FE 4C 2D FF C9 C8 D@
2EF@: #2 A9 C® 4C 2C FC 20 06
2EF8: FE 68 68 DO 6C
10. Taylor's SEARCH and Part 1 of display
setup for SEARCH
2EFD: Aé 00 B9
2F@:.02 02 CD 00 @2 FO 04 DI
208: 3C DO 13 C8 CC 61 62 90
2F10: EE 20 80 FE 26 26 FF A2
2F18: 60 20 C8 FE Fé 05 26 BA
2F20: FC 99 DA 4C 2F FB 20 92
2F28: FD 4C 60 FB EA
11. Modification to Monitor's CHRTBL so
vector will function
2FCF: ED
2FD2: EC
12. Modification to Monitor's SUBTBL to set
vectors for 7, S,L, Wand R commands
2FE4: C4
2FE6: El
2FE9: E2
2FF2: C7 E9
2FFS: ED
13. Modification of NMI and RESET vectors
2FFA: C9 FC 62 FA
BSAVE MODROM,A$1000,L52000
14. Burn file into a 2764 EPROM.
I really appreciate the series of articles on
modified PROMS, both for what | learned
directly from the articles and for all the
additional things I've learned in trying to
understand and accomplish the tasks set
forth.
if someone is in the market for an EPROM
burner I'd recommend the PROMgRAMMER
($149.50) by the Southern California
Research Group, especially if you need to
Program some of the larger chips. The burner
handles 2716 through 27512 EPROMS, it has
a fast burn routine and the software Is great.
It is, however, an internal card system.
Donald L. Berry
Midland, Mi
SSI Deprotection
| have noted that the SSI Wargame Series
has been on the Most Wanted List for some
time. If you haven't received a crack by this
time, | have just the thing for you. It’s two
machine language programs, RDOS
BUSTER and RDOS DISK CREATOR, written
by the staff at Everyware, that will convert all
RDOS-based disks to a COPYAble format.
Richard C. Colby
President
Everyware Computer Prod,
Riverdale, MD
Space Invaders on Skyfox
This may interest you: | have found a trap
door (or whatever you call it) in the game
Skyfox.
When you get to the tactical display, right
after choosing your level, press and you
will be put into a Space Invaders-type game.
Jon Camp
Bootlegger Problems
In a previous letter | wrote to explain a
problem | am having with my subscription to
Bootlegger. In reply to that letter, you wrote,
after talking to the appropriate person at
Bootlegger, that my money would soon be
refunded. Seven weeks later, the Bootlegger
HAS NOT refunded the $18.75 for the 3 issues
| have not received. As of today, 5 issues of
Bootlegger have been issued, But | have
recieved only one of these, No. 3.
1 don’t know what their problem is, but they
have evidently ripped me off and lied to you
about refunding my money. | have
subsequently lodged a complaint with the
Postal Inspector's office. Eric Larson,
Regional Chief Postal Inspector, San Bueno,
CA wrote to Bootlegger on April 4 but, so far,
Mike Betitec has not responded to either his
letter or mine. At this point | feel that | have
no other choice but to request that the Postal
Inspector turn the matter over to the US
Attorney for prosecution for mail fraud.
Munson Compton
Shreveport, LA
Please address letters to: Hardcore
COMPUTIST, Editorial Department, PO Box
110846-K, Tacoma, WA 98411, Include your
name, address and phone.
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
guarantesd.
Hardcore COMPUTIST No. 22 5
Softkey & Copy Exchange
Bryce Swimley’s Softkey For...
Old Ironsides
Xerox Educational Software
245 Long Hill Road
Middletown, CT 06457
(203) 347-7251
$39.95
Requirements:
Apple ][ Plus, //e or fc
Means of entering the monitor at will
COPYA or copy program which ignores errors
A blank disk
A disk with no HELLO program
In my efforts to use Mr. Jerry Caldwell's
“Stickybear Bop series’ softkey (Hardcore
COMPUTIST No, 15) to make a copy of Old
Ironsides, a program also published by Xerox,
I ran into a few problems, It soon became
apparent that the code to read the protected
sector (Track 01 Sector @F on my copy of Old
Ironsides) was located in many places on the
disk, I found the code on Track 03, Sector
09; Track 04, Sector 06; Track 09, Sector
@5; and also on Track @B, Sectors OF,
Following Mr. Caldwell’s procedure
through, I discovered that the protected sector
was loaded into $B00, I recovered the data by
using the ‘Extended RamCard"* technique in
Issue No. 16. This worked admirably. I then
proceeded to change the load accumulator
command (A2) to a RTS (60) on all the locations
where I found the code to read the protected
sector, Then I wrote the data I had recovered
to my copy and eagerly booted the unprotected
copy only to discover that the program rebooted
when it tried to load the now deprotected sector,
‘This made me more than a little curious as
well as frustrated. I then unleashed my trusty
sector editor and scanned the disk for a jump
to the disk controller ROM (4C 0@ C6). To my
pleasant surprise, 1 found these jumps at two
locations on the disk- Track ®B, Sector OF and
Track 1A, Sector 04. Disassembling the code
near those jumps, I found ‘*Branch Not Equals"
(BNE’s) to the location which contained the
JMP instruction. | changed these BNE’s to
NOP’s (EA) and wrote the sectors back to my
copy, Now when I boot the disk, as far as I can
tell, it works perfectly! If you haven't been able
to softkey a “*Xerox"’ disk using the original
method by Jerry Caldwell, you might want to
try these additional procedures.
Step-By-Step
Follow this procedure to deprotect Old
Tronsides:
1) Load COPYA and stop it while it is asking
you for the slot number
LOAD COPYA
Goa
2) Enter the monitor and tell the machine
language portion of COPYA to ignore
errors
CALL -151
3AL:EA
3) Re-enter BASIC, tell COPYA not to reload
its machine language portion and make a
copy of your Old Ironsides disk
E03G
78
RUN
4) Boot your protected copy of Old Ironsides
and reset into the monitor as soon as the
title screen appears
5) Insert a disk with no HELLO program and
boot it
C600G
6) Save the protected sector
BSAVE PROTECTED SECTOR,
ASAO4, LSLFC
7) Get out your sector editor and make the
following changes to the copied Old
Tronsides disk:
___Track Sector Byte Change to
$83 $09 $29 $68
$04 $06 $29 S66
$09 $05 $25 $68
SOB SOF SFD $60
SIA $04 $54 $00
$08 SOF $09 $00
8) Now you must find the location (on your disk
with no HELLO program) at which the
Protected sector is stored. To do this, use
your sector editor to scan the CATALOG
6 Hardcore COMPUTIST No. 22
track (S11) for the PROTECTED SECTOR
filename. When it is found, the three bytes
directly before the filename indicate the
track & sector, respectively, and filetype of
the file,
9) Read in the track and sector indicated by the
first two of the three bytes directly before
the filename.
10) Next, read in the track and sector indicated
by bytes SOE and $0F of this sector.
11) Put in your copy of Old Ironsides and write
this sector to track $01, sector SOF.
12) Enjoy your deprotected Old Ironsides!
Bill Bood’s Softkey For...
The Heist
Microlab, Inc
2699 Skokie Valley Road
Highland Park, IL 60035
(312) 433-7550
Requirements:
Apple }[, }[ Plus or (/e
Super IOB v1.2
One blank disk
The Heist
The Heist is a low action game program in
which you must try to steal as much loot from
a building as possible. While performing the
heist, you must avoid a wide array of obstacles
ranging from burglar detection robots to walls
that fall from the ceiling.
Fortunately, Microlab didn't include much
protection on this disk- they only did a nibble
count and changed the end of address marker
from SDE AA to $95 57 and the end of data
marker from $DE AA to $D5 AA. This kind
of protection is casily defeated with a little help
from Super IOB.
To make-a COPYAable copy of The Heist
install the controller, printed at the end of this
article, into Super [OB and RUN it.
Sector Edits Performed By The Controller
When Super IOB is finished with the disk,
the following sector edits have been performed
so that the new Heist disk will expect normal
sector markers and not bother with a nibble
count.
$08 $03
$00 $63
$00 $03
$00 $08
$00 308 $39 $64 $86
300 $08 $34 $BA $8E
A Few APT’s
I have discovered several locations in
memory that hold vital information about the
game. To perform any of these APT's you must
have the means to enter the monitor at will.
Once in the monitor during a Heist game,
perform the APT you want and then get the
game going again with;
A@5G = (restart game)
To change the number of men you start with,
change the byte at $OF92 to:
F92:xx
To give yourself an amount of keys to start
out with, erase the zeroing subroutine and put
the amount of keys you want in location $948
as follows:
F88:EA EA EA
948:xx (xx=number of keys)
To start at any level, NOP the zeroing
(xx=number of men)
routine, NOP the routine which inserts the real
level and put your starting level at $945:
F8B:EA EA EA
F9D:EA EA EA
945:xx (xx=level to start at)
‘The high scores are stored on track $01, sector
$04 in the following format:
i 1 H 64 SS SS SS FF
The II's are the high-bit clear ASCII
equivalent of the initials, the $04 separates the
initials from the Score, the SS’s are the Binary
coded decimal equivalent of the score and the
$FF separates entries.
Heist Controller
1900 REM HEIST CONTROLLER
1618 TK $T = :LT=35 :CO=mR
1020 Ti = TK : GOSUB 490 ; RESTORE : GOSUB 170
1030 GOSUB 430 . GOSUB 100 :ST=ST +1: IFST<
OOS THEN 1039
1040 IF BF THEN 1060
1950 ST = :TK=TK+1; IF TA <LT THEN 1030
1069 GOSUB 310 ; GOSUB 496 ;TK=T1 :ST=@ : GOSU8
230
1070 GOSUB 436 : GOSUB 100 :ST=ST +1
DOS THEN 1676
1680ST=0 :TK=TK+1
1970
1999 IF TK < LT THEN 1620
1108 HOME : PRINT “DONE“WITH*COPY® = END
5008 DATA 158 231 213 178: REMEOA , EOD
5010 DATA 7°CHANGES
5020 DATA G ,2 158 ,222
5030 DATA @ .3 53 222
5046 DATA® ,3 145 ,222
5050 DATAG ,8 56 8
5069 DATA® .8 .57 176
5070 DATAD ,8 58 142
5080 DATA B .3 ,155 170
(FST <
IF BF =@ ANDTK <LT THEN
iecmeaumet | | |
LUTTE LACT
PUNUONUEUUAUOSUOEUUUUUALOO UG UUUNTOOEU LAU UN ERE SAE
Heist Controller Checksums
1980 - $3568 1108 - $3604
1918 = $3266 5008 - $9088
1028 - $7FOA 5019 - $3405
1930 - $690B $020 - $F851
1048 - S51E4 5838 - $9026
1958 - $FOCL 5040 - $2689
1960 ~. $08DF 5050 - $A575
1070 - $0304 5060 - $2021
1988 - $7387 5878 - $C85F
1998 - $E201 5988 - $90EA
Phil Pattengale’s Softkey For... _
In Search of the Most
Amazing Thing
Grandma’s House
a SE TS
Spinnaker Software
One Kendall Square
Cambridge, MA 02139
$39.95
Requirements:
Apple If Plus or i/e
1 or 2 drives
In Search of the Most Amazing Thing
or Grandma's House
‘Super 1OB vi.5
These two children’s programs by Spinnaker
are both delightful and intriguing for the
younger child; however, they are
copy-protected.
Fortunately, they both use a semi-standard
DOS and it is just this scratch in the armor that
allows us to deprotect them both.
The protection scheme on In Search of the
Most Amazing Thing involves changing the
sector address markers from $D5 AA 96 DE
AA to $AA D5 AB DE AB and changing the
sector data markers from $D5 AA AD DE AA
to $AA DS EB ED AA. The protection on
Grandma's House is a change of sector data
ending marks from SDE AA to $BF AA.
But not to fear: Hardcore COMPUTIST
readers arc equipped with Super IOB v1.5
which can easily deprotect this sort of
scheming.
Step-By-Step
1) Format a blank disk (to be used as the copy
disk) and put a fast (preferably) DOS on it
with “HELLO” as the boot file
INIT HELLO
2) Install the proper controller into Super JOB
v1.5
3) RUN Super IOB and answer the questions.
That's it! Pretty easy.
In Search of.
Controller
1009 REM IN SEARCH OF
1910 TK =3 :LT=35 :ST=15 :LS=15 :CO=0R FAST
= 1: POKE 48573 128
1020 RESTORE : GOSUB 190 : GOSUB 210 : GOSUB 179
GOSUB 490 ; GOSUB 610
Hardcore COMPUTIST No. 22 7
1838 GOSUB 230 : GOSUB 490 : GOSUB 618
(TRK } = LT THEN 1050
1048 TK = PEEK (TRK) :ST=PEEK (SCT) ; GOTO1020
1850 HOME : PRINT "COPYDONE" : END
5000 DATA 176 ,213 ,171
5010 DATA 178 213 ,235
5826 DATA 222 171 ,237 178
IF PEEK
In Search...Controller Checksums
1980 - $3568 1050 - $964E
1019 - $9E6E 5008 - $7843
1020 - $1694 5810 - $82AD
1030 ~ $2860 5820 - $BOFA
1046 - $4800
Grandma’s House Controller
1606 REM GRANOWAS HOUSE
I91OTK=3 :LT=35 :ST=15 :LS=15 :CD=WR : FAST
el
1926 GOSUB 170 : RESTORE : GOSUB 490 : GOSUB 610
1038 GOSUB 230 : GOSUB 496 : GOSUB 618 : IF PEEK
(TRK) = LT THEN 1050
1940 TK =PEEK (TRK) :ST=PEEK (SCT) : GOTO1820
1050 HOME : PRINT "COPYDONE : END
5000 DATA 222 ,170 191 .178
Grandma’s Controller Checksums
1080 - $3568 1948 - $DIFI
1D1G - $2445 1850 - $8807
1926 - $5099 5000 - $B7E6
1930 - $6508
William Wingfield Jr. Softkeys...
Morloc’s Tower
EPYX
1043 Kiel Ct,
Sunnyvale, CA 94089
(408) 745-9700
$34.95
Requirements:
Apple Jf, ][ Plus or //e
1 or 2 disk drives
MUFFIN program from the system master
One blank disk or a disk with at least 77 free
sectors
Morloc’s Tower is one of the earlier
adventures in the Dungeonquest series and
consists of two Applesoft files and one binary
file which use a total of 7 disk sectors. Since
it is a good idea to make a backup of all
Programs, and this one is relatively short, we'll
make a standardized copy that doesn’t require
a complete disk.
An inspection of the disk with a nibble editor
shows that it is a standard DOS 3.2 disk except
for the last bit of the data prologue. To protect
it, the standard DS AA AD data marker has
been replaced the AD with other bytes on some
tracks,
My philosophy is to do as little work as
possible to unlock a protected program, and
although boot code tracing and RWTS stuff
have their uses, all we need to do is to make
a small change to the Muffin program and let
it do all the dirty work,
Step-By-Step
1) Boot the system master disk and load Muffin -
BLOAD MUFFIN
2) If you have a regular DOS 3.3 disk with at
least 77 free sectors, insert it now and skip
to Step 4.
3) Insert your blank disk and format it
INIT HELLO
4) Get into the monitor
CALL -151
5) Modify DOS so that it ignores the last byte
of the data trailer
AIC:29 60
6) Start up MUFFIN
803G
7) Use “*="" for the filename and transfer the
files from your Morloc’s Tower disk to your
DOS 3.3 disk. The first file MUFFIN will
come to is HELLO. You may wish to
rename this file as M.T. HELLO just to
distinguish it as part of Morloc’s Tower.
‘You now have a fully functional and standard
copy. Enjoy!
Denny Colt’s Softkey for...
Marauder
Sierra On-Line
36575 Mudge Ranch Road
Coarsegold, CA 93614
(209) 683-6858
$29.95
uirements:
ane if with 48K
One blank disk
COPYA
Sector editor
Marauder is a two stage game by On-Line
systems, In the first stage, your ship must
destroy an enemy force field and then the
planet's defenses. In the second stage, your
disembark from your ship to locate a reactor
that you try to stop.
This game, overall, is quite entertaining. But
it’s the second stage that gets all the applause.
It is the best “‘Berzerk"’ type scenario I've ever
played.
« Unfortunately, the amount of disk access
between stages makes a backup (as opposed to
a file copy) necessary.
‘The copy protection used on this disk, and
on many other On-Line disks, is a standard
DOS with a nibble count. To deprotect it, all
you must do is defeat the count.
Step-By-Step
1) Copy the disk with COPY A or another whole
disk copier.
8 Hardcore COMPUTIST No. 22
2) Use a sector editor to read in track $11,
sector $07.
3) Change byte $90 from $A8 to $60 and write
it back to the disk (Note: If track $11, sector
$07 doesn’t work, try track $03, sector $07
or track $11, sector $03. The bytes are
always $90 from SA8 to $60).
That's it!
Ray Darrah’s Softkey for another
Sargon III
UN Pace ASAT CARAS RR
Requirements:
A copy program that ignores errors
A Sector Editor
It has come to my attention that the method
for deprotecting Sargon III (in Hardcore
COMPUTIST No. 20) does not work for some
copies of that excellent chess game.
Rather than using altered sector markers (as
the copy protection is on the version mentioned
in Hardcore COMPUTIST No. 20), the other
version of Sargon Ill is completely COPY Aable
with the exception of track 3. It turns out that
a nibble count is performed on track 3 upon
bootup.
‘The code that docs the infamous nibble count
is loaded from track $0, sector $5 into memory
starting at $BB00 with an entry point of $BB03.
This code is extremely tricky to trace because
it is encoded and decodes itself as it goes.
After deciphering this code (by the way, the
code at $BCO0 is encoded in a similar manner),
I found that it could be disabled by placing the
following routine at SBB6B (track $0, sector
$5, byte $6B):
BB6B- AS 18 LOA #318
BB6D- 8D OF BC STA $8COF
BB70- 38 SEC
BB71- £9 18 SBC #S10
8B73- 8039.87 = STA $8739
BB76- BO 88 CH LDA $C088,x
BB79- 4C 19 BC INP «$BCIO
This routine is very close to what the nibble
counter does if everthing is okay. By placing
it at SBB6B, we exit the routine before it is
entered. Of course, since most of this sector is.
encoded, we will have to encode this patch also,
Therefore, the code that translates into this
routines is as follows:
BBGB- 12 BA 30 26 06
BB7O- 9E CE 8D OG F9 GA 31 48
BB78- 48 9C FB 19
Step By Step
1) Copy your original Sargon Ill disk with any
whole disk copier (not file copier) and ignore
any errors on track $63.
2) Get out your sector editor and starting at byte
$6B of track $00, sector $05 of your copy
of Sargon III, enter the code listed directly
above.
Many thanks to Sheldon Atterbury
Adventure Tips
Colossal Caves
Adventure International
Listen to the bean plant.
Don’t give the troll any treasures on the way
back- give him a pet. But make sure you
can “‘magically’’ transport your treasure
you gave him (Fie, Fi, Fo...).
Oil does wonders for things that are stuck.
Map out the mazes,
Always carry a weapon.
Infidel
Infocom
Don’t step between rocks!
Read and remember all hieroglyphics.
Need some more weight? Use someone's head.
Put boards in the holes in wall to step on.
Plaster might be susceptible to pick-axes.
Leave the crocs alone. Just get water.
Sorcerer
Infocom
Need another Zorknid? Look in your
pocket...or maybe a gnome’s.
Mines and snakes are hazardous to your health
and mind. Don’t be bothered by them.
Dorn's can’t fly.
Bats have sonar.
Don’t sleep in the woods.
Fly over the river bank or you'll fall in.
Pyramid of Doom
Adventure International
Look in all broken glass.
‘You may be an adventurer, but your hand still
needs protection. Use a glove.
Throw the statue’s jeweled ‘‘heart” into the
acid,
Egyptian's aren’t dumb! They hide things (in)
tables.
Mummies hate incense.
Cranston Manor
Sierra On-Line
Monkeys can swing...so can you. Swing in a
closet and the money will come to you.
You should ‘‘pry*’ out the eyes of a cat.
Knight's aren't afraid of lice, but they may be
afraid of mice!
Ever tried priming a pump? It’s very rewarding.
* Contributed by Ron Searle.
Cutthroats
Infocom
You must remember that McGinty can see
everything that you’re carrying, except
money in your pocket.
When McGinty is around, choose your actions
carefully. One wrong move may blow the
whole game.
Zork I
Infocom
Robots do what you tell them,
‘The clay is actually plastic explosives.
You must pay the demon quite a bit before you
can command him.
Once you have the wand you may use any of
the magician’s spells.
.
Escape From Rungistan
Sirius Software
Moving the bed under the window could give
you a new perspective on the world.
The rope from the gallows may prove useful.
Run toward the chasm, then jump as you
approach the edge.
Saying ‘‘Geronimo”’ would be a good way to
begin a downhill slalom.
“ys
Space Vikings
Sub-Logic
If you find the prices for the upkeep of a Space
Viking’s heavy cruiser bothersome, try
this:
Begin a new game, then go to the Earth base.
Pick up as many troops/weapons as your
initial bankroll will allow. Plan it so you
have as few credits as possible.
Now repair/restock your ship. When they find
out that you have no money, the local
government will become angry. From
here, all you have to do is return to ship
control and fire one laser burst or missile
and they will surrender. Now you can go
on with your business.
You can only do this one time.
*.
Zenith
If you have trouble figuring out how the map
in Zenith works, this should help:
Your ship only travels from bottom to top of
the screen. Although it looks as if you are
turning, you are actually only moving side
to side, and you wrap around all edges.
Contributed by David A. Martin.
ATTENTION
ADVENTURERS!
Adventure Data Base
Hardcore COMPUTIST is looking for
more adventure hints to any of the popular
adventure/fantasy games sold for the Apple
II, 1 Plus or //e, These will be used in our
regular column, ADVENTURE TIPS.
Your Clues, Please
We prefer that these hints not be dead
giveaway solutions to dilemmas presented
by the particular game, but instead contain
just enough information to nudge the
stumped adventurer towards the solution to
his/her problem.
How & Where
So, if you know how to open the
jewel-encrusted egg, how to plug the
hole in 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 a 3 X 5
postcard to:
Hardcore COMPUTIST
Attention; Adventure Tips
P.O. Box 44549
Tacoma, WA 98444
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.
And don’t forget
to send us your helpful
Advanced
Playing
Techniques,
too!
Hardcore COMPUTIST No. 22
Softkey
for
Miner
2049’ er
By Tom Phelps
Miner 2049’er
Microlab
2699 Skokie Valley Road
Highland Park, IL 60035
(312) 433-7550
$40.00
Requirements:
Apple with 48K
One disk drive
One blank disk
Sector editor such as DiskBdit
Super IOB v1.5
iner 2049er is one of Microlab's all-
time bestsellers and can consistently
be found at the top of the sales charts,
even today. This is more a thinking
man’s game than one of manual dexterity; if
you plan your jumps right, you need not be a
master of joystick control to complete each
level.
Although the game itself is very entertaining,
trying to copy the disk isn’t; it takes a
considerable amount of time to copy the nibble
count on track zero with most major nibble
copiers,
Fortunately, we have Super IOB and, with
@ little investigation, we find that the Miner
RWTS is normal enough to allow most of the
disk to be copied with the Swap Controller,
‘Though the Swap Controller is needed on tracks
$1-$22, track @ can be copied normally with
any copier. Some. sector edits must be
performed, in addition, to defeat the nibble
count on track 0. To eliminate unnecessary
steps, we will combine the copying of the
normal track and the defeating of the nibble
count with the use of the Swap Controller to
produce a unique controller that will copy the
entire Miner 2049’er disk.
Here are the steps needed to crack Miner
2049’er:
Step-By-Step
1) First we need to capture Miner's RWTS.
Fortunately, for those who don't have or have
access to a ROM that enables you to enter the
monitor when RESET is pressed, Miner allows
us to do this without one. The first
step to obtaining the RWTS is to
insert the Miner 2049’er disk in drive
1 and boot it.
PR#H6
2) Now, when the title page comes
up, press any key. Press RESET
when asked which joystick you wish
to use, Now enter the monitor
{indicated by the ‘**"" prompt),
CALL -151
3) Move the RWTS into a safe
location for a DOS 3.3 reboot.
1908<B800.BFFFM
4) Boot a standard 48K DOS 3.3 disk:
C6MG
5) Save the RWTS on the Super JOB disk.
BSAVE MINER 2049’ER.RWTS,
AS19900, L$800
6) Install the Miner 2049" er controller listed at
the end of this article into Super IOB and run
the resulting program. When asked whether to
format the disk or not, answer ““Y** for yes.
The Sector Edits
When Super IOB is finished deprotecting
your disk it will have performed the following
sector edits:
Track
Sector Byte From To
$01 $01 $81 $00 SEA
$01 $01 $82 SOC SEA
$01 $01 $89 $08 SEA
$01 $01 $8A $04 SEA
$Ol $01 $92 SBE $C5
$01 $01 $94 $BE $05
The first block of sector edits tells the Miner
RWTS to expect normal address markers, the
next tells the Miner RWTS to expect normal
data markers, and the last disables the nibble
count routine.
Advanced
Playing Techniques
For you game buffs, here is a bit of
information you might consider using. The high
scores in Miner 2049"er are recorded on Track
$01, Sector $07, starting with byte $00. You
might want to sector edit these, temporarily of
course, and impress friends, relatives and
neighbors.
Or try the following APT where a sector
modification will give you unlimited Bounty
Bob’s (I suggest that you make a copy of the
softkeyed Miner before you make this change
so you will have a ‘“‘normal”’ copy plus the copy
that allows the unlimited number of men). On
Track $02, Sector $01, starting with byte $72,
overwrite the existing code with A9 03 8D 16
08 8D 17 @8 4C 81 09.
You now have a COPYAble Miner 2049’er
disk. And, if you did the APT, live long and
prosper!
Miner 2049’er Controller
1900 REM MINER 2049ER
1O19TK= 6 :LT=1 :ST=15 :LS=15 :CO=WR :FAST
=i
1020 GOSUB 496 :T1 =TK : IF TK = @ THEN GOSUB 619
LT =35 :TK=1
1025 RESTORE : GOSUB 360 : GOSUB 618
1030 TK = PEEK (TRK ) : GOSUB 316 : GOSUB 368 :
GOSUB 498 :TK=T1 : GOSUB610 : IF PEEK (TRK
) = LT THEN 1050
1048 TK = PEEK (TRK ) :ST=PEEK (SCT) : GOTO1920
1050 HOME : PRINT "COPYDONE' : END
5000 DATA 22*CHANGES
5010 DATA 8, 3, 53, 222, 6, 3, 62, 201, 9,
3, 63, 170
5820 DATA , 3, 85, 213, 8, 3, 95, 178, @,
3, 186, 158
SOIODATAD, 3, 145, 222, B, 3, 155, 176, 9,
2, 83, 213
5046 DATA O, 2, 88, 178, @, 2, 93, 173, B,
2, 158, 222
SOSODATAG, 2, 163, 170, 8, 2, 231, 213, 0,
2, 261, 178
5066 DATA G, 2, 252, 173, 1, 1, 129, 234,
1, 1, 138, 234
SO7HDATAL, 1, 137, 234, 1, 1, 138, 234, 1,
1, 146, 197
5088 DATA1, 1, 148, 197
10010 IF PEEK (6480 ) < > 162 THEN PRINT CHRS (4
) "BLOAD*RNTS. WINER, AS19860"
Controller Checksums
1008 - $3568 5628 - $2C10
1919 - $EA41 5030 - $BCAC
1026 - $8300 5849 - $9E7B
1825 - SAD6B 5050 - $E27B
1930 - $1E91 5068 ~ $3682
1949 - $CCD4 5070 ~ $CBC8
1950 - $97CA 5080 - $6034
5008 - $5EF4 10918 - $BBAC
5010 - $FFO4
ES
10 Hardcore COMPUTIST No. 22
INI
Softkey For
Lode Runner
Lode Runner
Broderbund Software, Inc.
1938 Fourth Street
San Rafael, CA 94901
(415) 456-6424
$34.95
Requirements:
Apple with 48K
One disk drive with DOS 3,3
One blank disk
Modified F8 ROM capable of saving pages
$0-$7
Super IOB y1.2
Lode Runner
ode Runner, another best-selling
game from the fun-loving bunch at
Broderbund, has recently succeeded
Choplifter as everyone’s favorite
game, not just because everyone was tired of
playing Choplifter, but because Lode Runner
has to be the ultimate in non-repetitive play. It
boasts 15@ unique screens plus the ability to
create an unlimited number of your own.
Unfortunately, Lode Runner also surpasses
Choplifter in the complexity of copy-protection.
‘Whereas you could buy a ‘“‘copy-card’’ and
“‘crack"’ the single-load Choplifter with the
press of a button, Lode Runner poses a more
difficult challenge because it requires disk
access during game play,
Following the unusual boot-up, Lode Runner
doesn’t check the quarter tracks (tracks
protected with spiral protection) and, amazingly
enough, uses a fairly normal RWTS to read and
write the game boards. We just need to capture
the main program from memory and fit the
game board tracks (along with the main Lode
Runner program) and a DOS all on one disk.
The two parts of the softkey are completely
different so to prevent confusion, the procedure
below is divided into two sections, If one section
By Tom Phelps
doesn't turn out well, the whole softkey need
not be redone. You should find the softkey casy
to follow and, if you possess the required
hardware, you should encounter no difficulty
in performing it.
Part One:
Grab 15@ Game Boards
If you played all 150 levels of Lode Runner
and monitored the disk drive read/write head
along the way, you would find that only tracks
Lode Runner, another best-
selling game from the fun-
loving bunch at Broderbund, |
has recently succeeded
Choplifter as everyone's
favorite game, not just
because everyone was tired
of playing Choplifter, but
because Lode Runner has to
be the ultimate in non-
repetitive play. It boasts 150
unique screens PLUS the
ability to create an
unlimited number of your
own. Unfortunately, Lode
Runner also surpasses
Choplifterinthe complexity |
of copy-protection.
$03-$0C are used to load boards. Fortunately,
these tracks are nearly DOS 3.3 formatted and
Super IOB need not work overtime, To be
certain that our broken main Lode Runner B-
file finds the tracks in the same location as they
anni
were on the original disk, we will place them
on the disk first, not giving the main file a
chance to overwrite those tracks, Part One of
the softkey is as follows:
1) Type in the Super IOB controller listed at
the end of this article and save it to disk.
2) Boot up any disk with a DOS that allows a
disk to be initialized, preferably one with a
““fast’’ DOS such as Diversi-DOS, Pronto
DOS, or normal DOS 3.3. (later, HyperDOS
could be added to a normal 3.3 DOS)
PR#6
3) Initialize the BASIC pointers and clear any
program in memory
FP
4) Type in a BASIC program that will run our
Lode Runner main file.
10 TEXT : HOME ; PRINT CHR$(4) “BRUN LODE RUN
NER.B*
5) Insert a blank disk and format it
INIT LODE RUNNER
6) Transfer the game boards from the original
disk to ours by running Super IOB with the
Lode Runner controller installed
7) At this point, if you don't have a sector editor
(such as The Inspector or Disk Edit), you can
g0 ahead to Part Two, We really don’t need to
mark these tracks as “‘used"’ in the VTOC since
the main Lode Runner B-file will be saved on
tracks beyond track $11 but, just as a
precaution, we mill mark them anyway.
Marking them also enables us to save other
programs on this disk but. if you want to copy
Lode Runner to another disk, you must use
COPYA. Delete the unwanted files afterwards.
Now get out your Sector Editor and modify
the VTOC.
Hardcore COMPUTIST No, 22 il
Read Track $11, Sector $80
Change bytes $44-$68 to $09
Write the sector back to the disk.
Part Two:
Capture the Main Program
The modified ROM is used to shove pages
$0-$7 into high memory so they can be saved
Out onto a normal disk, Most copy-cards will
do the job just as well, but I found the modified
ROM (from Hardcore COMPUTIST No. 6) the
easiest to use as it leaves us in the monitor
where we can perform the other necessary
moves,
Mapping the memory of a running Lode
Runner shows us what we need to save:
6008.08FF program code
9900.0EFF 00's OFOO.1FFF; program code
2000.5FFF hi-res pages; no need to save
6000.8FFF program code
9000.97FF unused
9800.9AFF 80's
9BOG.BFFF program code
We will not save the regions with only 00's.
Cleverly, we will clear the hi-res screen (thus
filling it with 60"s), then move the appropriate
number of pages of 0's into the correct
location.
8) Before capturing the main file, type in and
save the following hexdump which will move
everything back into place and start the game.
2900; AB 5A AI 9B A2 25 28 48 © $C200
2988: 29 AD 2A AD 6B A2 36 20 © $2EEF
2918; 4B 29 A 46 85 E6 20 F2 $0416
2918; F3 AQ 40 A9 09 A2 86 20 © $8B5D
2928: 4B 29 Ad 49 A9 90 A2 OB $9080
2928: 26 4B 29 AO 22 A9 G2 A2 $5D67
2930: 97 26 4B 29 AO 09 B9 OG SAASC
2938: 20 99 00 00 C8 DO F7 B9 $1371
2940; 08 21 99 69 81 C8 DOF? $eBCe
2948: 4C 00 60 84 01 85 03 AD $7A14
2950: 00 85 06 85 62 Ad G0 Bl $FEBE
2958: 00 91 02 CB DB F9 EG 81 scsa2
2960: £6 03 CA DO FO 60 $8038
9) Check your typing with CHECKBIN and
now save it to another disk (one other than our
Lode Runner disk) with a
BSAVE LODE RUNNER.MOVES,
A$2900,L$66
10) Enter the monitor
CALL -151
MINN
11) Clear memory
220:0 N 221<220.BFFEM
12) With the Modified ROM installed, insert
LODE RUNNER and boot it up
C606G
13) When the title screen appears, Press RESET
and then a “‘:’’ (colon) to move $0-$8FF to
$2000-$28FF,
14) From the monitor, tuck the code in safely
and compactly to prepare for booting a DOS
3.3 disk (which wipes out memory except for
$900-$9SFF)
2A00<6000.8FFEM
5A00<9B00.BFFFM
With the code relocated, the new memory
map looks like this:
OFOO. [FFF
2008. 28FF
2900. 29FF
2A00, S9FF
5A00_7EFF
same as before (OFOB. 1FFF)
destination of 0000. O8FF
move routines go here
destination of 6808. 8FFF
destination of 9800. BFFF
15) Preface the compacted code with a jump
to our move routines
EFD:4C @@ 29
16) Insert a DOS 3.3 disk and boot it
C600G
17) Install the move routines
BLOAD LODE RUNNER.MOVES
18) Insert the disk with the copied game boards
‘on it and save the main Lode Runner file to disk
BSAVE LODE RUNNER.B,
ASEFD,L$7003
19) You should make a backup copy
immediately by COPY Aing the disk to a blank
or no longer needed disk.
You're done! Have fun!
Lode Runner Controller
1906 REM LODE RUNNER CONTROLLER
1018 TK = 3 :LT = 13 :CD = WR :MB = 151
1028 T1 = TK : GOSUB 490 : RESTORE : GOSUB 179 ;
GOSUB 278
1930 GOSUB 436 : GOSUS 100 :ST=ST+1: IF ST<
16 THEN 1630
1040 |F BF THEN 1868
1050 ST =0 :TK=TK+ 1: IF TK < LT THEN 1030
1060 GOSUB 230 -TK =T1 ;ST=@ : GOSUB 490
1078 GOSUB 430 : GOSUB 100 -$T = ST +1: IFST<
16 THEN 1876
ITN
12 Hardcore COMPUTIST No, 22
1086 ST = 9 :TK=TK +1. IF BF =@ AND TK < LT THEN
1978
1090 IF TK < LT THEN 1020
1190 HOME :AS = "ALL“DONE" : GOSUB 459 ; END
5808 DATA 222 ,235 222 ,170
Controller Checksums
1908 - $3568 1960 ~ $A2E5
1619 - S9BCC 1070 - $2133
1620 = $4A02 1088 - $9A47
1638 - $CCO5 1996 - $00CC
1848 - $EC60 1108 - $B68C
1958 - SECDF 5008 - $5471
Hardcore COMPUTIST welcomes
articles of interest to users of the Apple
J (@r compatible) computers and would
like fo publish well-written material
Including:
* Softkeys
* Hardware Modifications
* Advanced Playing Techniques
* DOS modifications
* Utilities
* Product reviews
* Adventure Tips
* Original programs
* Do-it-yourself hardware projects
* General Interest articles
* Bit-Copy Parameters
Have you
written
an ARTICLE or
PROGRAM
you'd like to see
published in
Hardcore
COMPUTIST ?
We would like to hear
trom youl
Hardcore COMPUTIST
Writer's Guide
PO Box 110846-K
Tacoma, WA 98411
Softkey For
A2-PB1 Pinball
By Joseph W. Leathlean
“Just like all the other programs that make it to the pages of Hardcore
COMPUTIST, the only REAL problem with A2-PB1 is that it Is protected. To make
things worse (as If being copy protected isn't bad enough), the protection
scheme causes a very slow booting process.”
Use the procedure below to change all that!
A2-PBI Night Mission Pinball
subLOGIC Communications Corp.
713 Edgebrook Drive
Champaign, IL 61820
$34.95
Requirements:
A2-PB1 Night Mission Pinball
1 blank disk
64K Apple II, //+, i/e
2-PBI is, in my opinion, the best
pinball game that you can get for the
Apple. The game itself is well
designed and, with the ability to
change certain parameters to control the action
of the game, you can make various versions of
the game which can be either challenging, or
easy. The graphics are superb and the
unmodified ball motion is smooth as well. To
play the game you may use the keyboard or two
paddle buttons, either on (?) two paddles, a
joystick or the open and closed apple keys on
the //e.
The Problem
Just like all the other programs that make it
to the pages of Hardcore COMPUTIST, the
only REAL problem with the game is that it is
protected, To make things worse (as if being
copy protected isn't bad enough), the protection
scheme causes a very slow booting process. It
takes approximately 30 seconds to boot up the
game.
After examining the disk using TRAX from
Bag of Tricks, I determined that I would have
to either use a WILDCARD device on the
game, or boot code trace it. While any
WILDCARD device will work, the boot
process is still somewhat slow since 64K of
memory must be loaded in, As you will see
later, the game itself is only 36K in length. My
first attempt at boot code tracing, it took me
two hours to unprotect the program. This was
almost a year and a half ago but, before I was
able to write the article, I misplaced my notes.
‘When I finally decided to redo the procedure,
it only took 15 minutes to break it down. Using
these notes (the successful boot tracing venture
under my belt) I was able to complete the
procedure in less than five minutes. If you are
experienced in boot code tracing it should take
no more than five minutes to unprotect your
A2-PB1.
Iam presenting my procedure in two parts.
The boot code trace with explanations of each
‘step so newcomers might learn from it, and the
procedure in cookbook form.
The Procedure Explained
Initialize a diskette using DOS 3.3 or a high-
speed DOS such as PRONTO-DOS, Please use
the method below so that there is a null HELLO
program.
NEW
INIT HELLO
Clear the computer's memory
CALL -151
C081
C081
F800<F800.FFFFM
C083
C083
300:8
301<300.BFFFM
1D000<1000.37FFM
This clears out all memory and copies the
monitor over to the language card so it can be
used. Because of the length of the program and
the boot process, the boot code trace cannot be
done on a 48L machine.
Move the disk controller ROM into the
language card so it can be modified. Modify
it to exit to $F701 instead of $801 and inscrt
@ routine to shut off the disk drive at $F701.
1D600<C600.COFFM
D6FA:F7
F7@1:AD E8 Cé 4C 59 FF
Executing this modified boot stage will load
track 0, sector @ into $800.
D600G
After a moment the computer will sound off
its somewhat annoying beep and the disk drive
will stop. At this point memory location $800
contains the total number of sectors to be loaded
by the $C600 code (normally and, in this case,
a one (1)) and $801 is the next address to be
executed.
Move the first stage code into the language
card so that it can be modified,
1D806<800.8FFM
Now examine the code at $D800, You should
notice that it jumps to a routine at $D8DA
which moves page eight down to page three and
executes the moved code. We must modify this
routine so that it moves the code from $D800
to $300 and locate where the page three code
exits and force it to exit instead to $F700. The
location I refer to is at $D8B4 which normally
jumps to $800. Make the following
modifications:
D8@3:D8
D8DE:D8
D8B6:F7
Now modify the boot code ROM to jump to
this modified routine and load the next stage
of the boot code by re-executing the controller
ROM in RAM.
D6FA:D8
D6OOG
After a moment the drive will again stop and
the next stage of the boot code will be loaded.
This stage occupies memory from $800 to
$1000. Even so, the only location that we need
to modify is the first routine, listed below,
which loads the rest of the program.
Hardcore COMPUTIST No. 22 3
9880: 4C 83 G8 JMP $6863
9803: A9 90 LOA #§98
9805: C5 7B CMP $7B
9887: FO 84 BNE $0860
6809: 20 GE 63 JSR S03GE
O30C: 60 BRK
@80D: AD E8 CB LDA SCOES
You should be able to figure out that the
Toutine at $30E loads a page of memory from
the disk and jumps to $800, This routine uses
the same exit point as the last modification, so
we can modify it to exit to the new location
where we will put a modified version of the
above routine.
E800<880.80CM
E8@2:E8
E80D:4C 06 F7
DSB6:E8
Now execute the controller routine to re-
execute the boot code.
D6MG
The program will be loaded in about 20 to
25 seconds, and occupies memory from
$810-$90FF, but you just can’t save that portion
and later re-execute it. This is because the page
three code contains something needed by the
program. We have to save that code and have
it reload when first executed.
If you remember, the boot code has a routine
which moves memory from $800 to $300 and
executes it, This routine is now in page three
and can be modified. First we have to move
page three to $910@ and modify the routine to
move it back and jump to $819 or, better yet,
make it into a subroutine which can be called
from $88D.
9100<306.3FFM
91DE:91
91E6:68
80D:28 DA 91
Now we can save the program as one whole
chunk and recall it by simply BRUNing it, but
we must also get DOS into memory so we can
BSAVE it. Because booting a DOS diskette
destroys page eight, we must first protect it. If
a HELLO program is present, it can destroy
other areas. That is why you should have typed
NEW before initializing the diskette.
9200<800.8FFM
Insert new diskette now and boot it
COG
When the diskette has completed booting,
restore page eight, modify DOS so it can save
programs longer than $8000 bytes and save
A2-PB1
CALL -151
806<9200.92FFM
A964:FF
BSAVE NIGHT MISSION,A$8@D,
L$89F3
You now have an unprotected A2-PBI
program, To use it, either modify your HELLO
program to autornatically BRUN it or, after
booting, type BRUN NIGHT MISSION.
14 Hardcore COMPUTIST No. 22
1) Boot DOS 3.3 or high-speed DOS and
format it with a null greeting program
NEW
INIT HELLO
CALL -151
2) Enable the language card RAM and
copy the monitor into it
C081
C081
F800<F800.FFFFM
C083
CH83
3) Wipe out most of memory
0:0
W1<300.BFFFM
1D000<1000.37FFM
4) Move the controller ROM to RAM and
modify the boot slightly
D600<C600.C6FFM
DO6FA:F7
F701:AD E8 C@ 4C 59 FF
5) Insert your A2-PBI disk and execute the
partial boot
D6OeG
6) Copy $800 into $D800, modify the copy
so it will work at the new location and then
jump into the monitor and execute this
partial boot
1D800<800.8FFM
D803:D8
D8DE:D8
ea eo
Ney
“il
Shbhhhhhs
D8B6:F7
D6FA:D8
D68G
7) Modify the boot some more and execute it
E860<800.80CM
E802:E8
E8@D:4C 6@ F7
D8B6:E8
D680G
8) Compact the code
9100<300.3FFM
SIDE:91
S1E6:68
80D:20 DA 91
9200<800.8FFM
9) Insert the disk you initialized in Step 1
and boot it
C68G
10) Enter the monitor and move the $800
code back to its original location
CALL -151
800<9260.92FFM
11) Modify DOS so that it can save more
than 32K and save Night Mission
A964: FF
BSAVE NIGHT MISSION, A$86D,
L$89F3
Enjoy your deprotected version.
Bie Customized
rive Speed
Control
By William Wingfield, Jr.
Requirements:
Two disk drives recommended
Low-wattage soldering iron
Small hook-up. wire
1K 10-turn pot and dial
Two 2.2K 1/4W or more resistors
A few screwdrivers
An Exacto blade
A small amount of heat shrink or spaghetti
tubing
(a Multitester is recommended)
Note: The procedure described below requres
dismantling of the disk drive which voids its
warranty. Hardcore COMPUTIST will not be
held responsible for any damages incurred
while following this procedure.
ike myself, many of you would
probably like to be able to adjust the
drive speed on your Apple's disk
drive without removing its cover.
In fact, you may have already drilled a hole in
the case to reach the speed control with a small
screwdriver. Although this is much more
convenient than removing the drive cover to
adjust the speed, it still doesn’t compare with
simply turning a knob and being done with it.
The following article details a procedure in
which a 1K (instead of the usual 5K) variable
resistor is mounted on the front of the disk drive
to provide easy access to the disk drive and a
much finer control over its speed (you'll
appreciate this modification to your disk drive
the very first time you have to match a nibble
count while making a backup).
A Bit of Background
The speed control pot for the Apple Drive
is on the back circuit board in the drive. You
must use a very small screwdriver to access it,
and a slight turn is usually all that is needed to
adjust the drive speed.
This speed control, a 5,000 ohm (5K), 10-
turn mini-potentiometer, has three contacts
(we'll call them A, B and C) which are arranged
as shown in Diagram A.
The resistance between points A and C is
always SK ohms, Point B slides along the
resistive ’) surface as you turn the knob.
This has ffect of varying the resistance
between point A and B and between point B and
C. The resistance levels (from A to B and from
B to C) vary inversely so that the resistance
between A and B plus the resistance between
B and C always equals 5K ohms.
Diagram A
+
pac | 2K
“WV
ika,
We are going to replace this control with a
standard-sized 1K pot (padded to SK) that will
be mounted on the front of the drive where it
is easily accessible. See resulting schematic
below in Diagram B.
SKR
Notice how the characteristics of this
schematic match those of the original 5K pot
schematic. This similarity is a necessity.
Digging Into The Drive
1) Turn off the power to your Apple, touch the
power supply to remove excess static and, just
to be safe, disconnect the power cord.
2) Disconnect the drive cable from the
controller card by firmly and evenly puiling
upward on it.
3) Remove the four screws that secure the cover
of the disk drive (located on the bottom surface
of the Apple drive) and slide the cover in a
backwards direction so that it slips away from
the unit. Place the drive cover and
accompanying screws in an out-of-the-way
place.
4) Open the drive door, remove the four screws
(located on the left and right sides of the face
plate) from the face-plate and gently pull it
forward to allow the door to slide out of the
guide tracks,
5) Use a small screwdriver or knife to pop the
Hardcore COMPUTIST No. 22 15
@Z "ON LSLLNdWOD s0oprey or
3
“pofoid Burxjsnes
pue ajqeAofua we puy [],n04
UIP | ‘uoReoyrpour ay ayEUT
0} aploep pue Surop ai,nok
yYM MOY NOX JI ‘IZAQMOHL
“Suyjpuey sedoidwr qi
AAUP Inok oBeup Ajsnoies
pros nok -ypsinok 2 An
LNO 20m Jo od. sryp ysis
paouoriadxs 3,008 nok jy
“ABATES UETR ID9G SOO] YJ “SU
RQ B 398 “perp & Furseyound
uaym s0]O9 jo aat0yo
% aaey nox yr puy “Suryooy
3.ue1e nok vay Buryos
3uy yn Kejd 01 ayqe aq 1,00%
ajdoad os jerp Suryoo, & 103
“aro nod Jy :rydjay puy 14yStu
nod YoTYA suOTepUsMTOO[T
jo ajdno> & om d19qH
“TPO ap JO
auasixe auo o} Ay[ny porn st
tod ap ey) Wes amp UT OAL
2 weBeig
fh
and vt
ay yo wonsaioid sapraoid
a snyd yoxUO ayeINI9e aI0UL
40} SMOTTE YT Bang (s10STS93 SuIpped moun)
pesn aq ues yod yo & sores pos sy
“spremsaye peed 1eus09 arp 0} WINJaZ NOK $39}
TIP ou) pur 279019 & are suNOD apqqru BuI0g
“yea NOK Joasuaym Ayisea pue Appomb oaup
YSIP InoX uo peeds ayy ysnfpe ue2 nok MON
"zan00 doy ou)
aoejdar ‘Suppom oaup ay aaey nod way Aa (EZ
“od arp ueWp samo
Surypausos $31 ey} MOUY NOX Uta]Qoud & [TIS st
a19qp JT "300g & AQ pur yod yeursr10 oy soujdar
“Loser yse] B SY “posn sJOWsIse1 oy YIM auO
MOU S41 JO Vue ayy UT ST aNyeA oy Jey} aINs
syeul pue urege yod jeurgiz0 94) uo souNsTs2
om ainseay Surpuey apy oALP om
PoSewep 3,usaey nox Jey eins ayeUI 0} YOY
“HOM NOK Jo |e wedsut-er pue addy om
Jo wary *Ksadoud snipe 3,u0m poods aup 31 (7Z
“S20p HI [TUN 30g OF
Bendy dooy pur perp ap wumy ‘asimzayQ "YOUN
ou pue wesSoud ys23 poads esp) “suOp ysouTTE
34,NOK S00p 41 J] “S100q 11 Jf 29s PuE OALIP Op UT
SIP B and “Arp auo eaxy Aquo noX 37 “parfeysuT
ysnf nod yetp 10d mou ay YIM Zq TO poods ou
PS “TC Ut wesBo.d 330) peads e yooq pur 7
se dn oAUp stun 1990U09 ‘seatIp ona ART NOK
J BORRIOI SIT Jo ofp ay OY jo.nUOD oup 195
pur addy moX 03 yoeq sats amp 1ouUOD (1Z
“prwog WNoIIS Bae] ay 02 2Qed
uoqqu ain dn yooq pur (39409 2y ul Sajoy yuns
saqunoD om TEM dn pour] 238 sajoy Meuds ayy
‘eyp auns Bapyeur) JaA09 whoyog ap ooejdoy (GZ
sadeys poo8 ul 212 suonjseuuco oy)
yey) ouns yew pue Apnyares
wom amok 3900 yoo] (6T
“ut yoeq
smaras oyepd cons oun ind uot
“Ajeauy JOOP aALIp YsIp op NGS
pure usdo ues nod Jem ams og:
“TL YIEM stu Je sUOTONySUT
ayy Jod 10d uim-p1 a
JUNOU PU SALIP oy) UO 4Ieq
ayejd-oory ou ynd ‘oyeyd 2ouy
oup UL eq GAT Mp Nd (ST
“Surqm mayZeds 10
STULIYS-189q YIM SuoA29MIOD
oy2 QAO *ToUTUNIOR
Jodim ayy 01 pea] Jodi pue
“RUTULI ADD AMP Uo JOrsisar
3B 03 PRT ADD “THUMBS AAD
| oyp wo soystsax amp on pea] A)
sAjquiosse yod ayy uo pes] Surpuodsaiioo op
9) preog ya a Wor sau tp LapIog (LT
“MOO
2u) 0} duo pue feUTULIAR MD op 0} U0 ‘od
UstU-9T HI 2p 01 siorstsax Surpped yz om) EP
J9pOS pur .,2/1 8 spea| soysisar ap dD (9T
*ApSurpsoooe sioysisas Surpped arp ayesuaduo9
0} BABY TI,NOA I*ust 4 JT “WORBIOI SIE Jo 19}99
ay Jeou ssoyMouNos st Jodim amp 3eIy SurMoys
ME PUR WZ UsIMIEq 9q Hog Pinoys Kay],
“ony JOWpO Op puB TeUTULIS) Jodim ai usaN9q
SOURISTSIT HP INSP “WOA ® BABY NOK Jy (ST
“sugoeds jyeurs:
aip Sutsn preog ymax TTeUIS amp wunoWeY (pI
“(q WeIsEIq 995) 21am speuru 10d
aup aray uoRIsod y2e> 0} BuO Japjos pue Su0j
S@YOUT OT Ioge aut Jo soad samp ID (ET
“yod-rurar ou J9pjosaq (ZI
“wod-turm yg au) uo payreur
SE AM 2p SE GOYA pu ALD atp st eT)
YR AON “GE Uo yd qwaunsn{pe poods
om TPM pyvog ap) svax oy UT Preoq ynoITO
Tews Ip Wo sMazos OM) ay) BAOWIAY (TT
*@pISR SMAIOS INOJ pue a[qed UoqqU
‘ZaA02 WOHOG Wf WS “I oAOWISI pue 19A09
arp so pred mioyog oy) sunoes yer (ALP om Jo
WONOY Oy) UO) sM2I98 INOJ ay1 INO xP, (OT
“powmatso stat em yore
‘Mou 0} ains 9g “pIEOg yNOND oB3e] oy) Woy
2IqeD UOggL atp JO pu IoTpo Kp lo9UMODSIC (6
“yoouwow
94 JO} Opise smayos snoy sy pue ayeyd oowy NOK
e08id pur 10d axp 404 yoy Sununou ay TLC (8
*(UonEDO] 2]o4 Sununow ax 105 C UTEIBEIG 0}
Jaya) Ino 208g Jo uoNIDes om deus pue onseyd
QU BOIS O} [MB YOIEIIS B as—) “powMoUT 9q
07 20d atp MOTTE 0} porourar oq IsnU a1ejd-eous
2qp puryaq Suroesq onsepd om Jo ,.1 ogy (L
“BALIP ITP JO 99yj JUIOd [I a1eId-20"y amp
Pure qunou! ayy Jo No CfA’T amp ind Apuag (9
“2D weIdeig ur parensnyy se
wunour GET op woy Aeme Sus Surupees onseyd
Super IRORDE v1.5
With the addition to the machine language portion of Super |.0.B. plus the
inclusion of a new subroutine, this newest version of Super 1.0.B. will copy a
disk more than 3 times faster than its predecessors.
by Ray Darrah
Requirements:
Apple ][ Plus, //e or //c
One DOS 3.3 disk drive
Somewhere near the beginning of time, as
Hardcore knows it, an Applesoft program called
IOB was written by ‘“Bobby.”’ This program
was designed to deprotect disks by interfacing
directly with a machine language program in
DOS called the Read/Write Track Sector
program (RWTS). IOB was so named because
it modified a parameter list in DOS called the
Input/Output control Block (IOB). At first, quite
a bit of confusion was generated due to the fact
that the Applesoft program had the same name
as the parameter list used by the RWTS.
Not quite as long ago (a few short eons in
the evolution of Hardcore) a program with the
same concept as IOB was introduced. This new
program was called Super IOB and, in all
modesty, the new name was justly given
because of the several advantages it offered over
the original IOB, Perhaps the most notable of
these is the controller concept in which a short
subprogram is keyed into the main portion of
the Super IOB program thus changing it
adequately to allow it to copy many disks with
varied protection schemes. Although IOB
incorporated this same concept, due to the
structure of the program, it was often necessary
to change other lines of the program in addition
to keying in a controller.
‘When you get right down to it, Super IOB's
power is derived primarily from a small
collection of Applesoft subroutines, These
subroutines are called by the inserted
subprogram (the Super IOB controller) in a
particular sequence to allow deprotection of
individual programs, The concept of Super OB
is simple, but only by understanding the
function of the subroutines in Super IOB can
an Applesoft programmer learn to create a
controller for a specific disk.
Since the introduction of Super IOB,
Hardcore COMPUTIST has used this flexible
program to deprotect (or partially deprotect)
dozens of commercial programs. In addition,
Hardcore COMPUTIST has printed several
utilities designed to aid the programmer in his
use of Super IOB. These include ‘‘CSayer’’
(Hardcore COMPUTIST No. 13), a machine
language program which helps in the merging
of the controller and Super IOB, and ‘““The
Controller Writer’? (Hardcore COMPUTIST
No. 16) an Applesoft program which asks the
user questions and then formulates the
components of a Super IOB controller
(depending upon the answers) which are needed
for that particular application.
Presented here is the second update to Super
IOB. Because of an addition to the machine
Tanguage portion of Super IOB and the inclusion
of a new subroutine this new version of Super
OB now can copy a disk up to 350% faster than
its predecessors.
Keying in Super IOB
for the First Time
If you don’t already have Super IOB, you will
have to use the procedures outlined on page 2
of this magazine to key in the Applesoft and
Machine Language portions of the program.
Save the Applesoft portion with:
SAVE SUPER IOB
And save the new machine language portion
with:
BSAVE IOB.OBJ@,A$300,LSA8
Updating Super IOB y1.2
If you have a copy of Super IOB v1.2, to
update it, you need only key in the BASIC lines
whose corresponding checksums are shaded and
key in the new hexdump. Use the commands
listed directly above to save the two portions
of your new Super [OB, You may then skip to
the section entitled “‘The New Routine."*
The Function Of Super IOB
Super IOB de-protects disks by pushing the
RWTS subroutine in DOS to its upper-most
limits. Because of this, it only copies disks with
sectors that somewhat resemble normal sectors,
Before a disk can be softkeyed, the sector
alterations must be determined. The easiest way
to do this is to use a nibble editor program [like
Bag of Tricks, DiskView or The Linguist (from
CIA)] which shows these sector differences.
Once the protection has been discovered, a
controller program (lines 1000 through 9999)
designed to deprotect such a scheme must be
inserted into Super IOB. Here is a list of the
protection schemes Super IOB was designed to
softkey:
1) Altered address, data, prologue, or
epilogue marks
2) Strangely numbered sectors or tracks
3) Modified RWTS (with same entry
conditions)
4) Half tracks for any of the above
5) 13 or 16-sector base format for any of the
above
A Little Briefing
The following is a short discussion of the
protection scheme and how each relates to
Super IOB. Keep in mind that often more than
one scheme is used at a time. This has the effect
of complicating the Super IOB controller.
Altered Marks
DOS looks for specific marks when trying
to read a sector. Changing these is a common
practice, especially on older releases. As
previously explained in the Whiz Kid column,
DOS puts certain reserved bytes on the disk
(during INITialization) so it can determine
where a sector begins and ends.
For example, a normal 16-sector disk has the
bytes DS AA AD designating the start of thedata
field which contains the 256 bytes of a sector
in encoded form. When a standard RWTS tries
to find a sector, it looks for these marks. If they
are not found, (either because they don’t exist
or they have been changed to something else)
DOS returns with the dreaded /O ERROR.
The sequences of the four reserved-byte
marks (start of address, end of address, start
of data, end of data) are handled by subroutines
in Super IOB. These subroutines change the
marks that the current RWTS looks for when
reading.
Hardcore COMPUTIST No. 22 17
Strangely Numbered Sectors
Within an address field, there are 8 bytes
which alert the RWTS to which sector is about
to pass under the read/write head. On some
disks, these are not standard. These disks are
easily softkeyed with Super IOB. The controller
instructs Super IOB to read the sectors using
the strange sector numbers and then write them
using the correct numbers. This works because
the RWTS merely compares the sector number
found on the disk with the one the controller
is looking for (even if it is higher than 15 and;
therefore, illegal).
Modified RWTS
The disk-protectors will often rearrange
and/or modify the standard RWTS subroutine.
If this is the case, you must first save the strange
RWTS onto a normal DOS disk and then. use
a controller which reads the protected disk using
the strange RWTS and then writes via the
normal 3.3 RWTS.
Such a controller is included in this article.
Tt is called the SWAP controller. This is because
of its use of the “Swap RWTS at $1900 with
the one at $B800"" routine in Super IOB.
Since the RWTS of a protected disk will be
modified to read any altered DOS marks, this
is an easy method to use if you are unable to
determine the protection scheme.
Half-Tracks
There is a motor inside your disk drive that
is responsible for moving the disk head to the
various tracks. Known as the stepper motor, it
has four (numbered © to 3) that
can be turned on or off by ing memory
locations. When one of these magnets is turned
‘on, the permanent magnets in the motor are
attracted to it and the motor shaft turns until
the permanent magnets are aligned with the
electromagnets.
To obtain continuous motion, a program
would:
1) Turn a magnet (called phase) on
2) Wait for the motor to get aligned (it
doesn’t take much time)
3) Turn off the magnet
4) Turn on the next adjacent magnet (the
next magnet differs depending on whether
you want to go to a higher or lower track)
5) Go to step 2
Because of the resolution of the disk head
combined with the accuracy of the stepper
motor, normal DOS tracks are placed only on
the even phases. This means that for every track
DOS moves, it references two magnets. As a
result, the disk head never stops at any of the
odd phases (i.e. aligned with magnets 1 or 3),
‘Therefore, the odd phases are commonly called
half-tracks.
on these phases that are inaccessible to normal
DOS. A routine called ‘‘Move S Phases’? (in
Super IOB) handles the job of getting to these
so called half-tracks and can also be used (by
a controller) to get to tracks that have been
Super IOB v1.5 Source Code
mien pe Aeros enn *
Super 10B machine routines S
BY RAY DARRAH
G3D9- RATS.B800 .EQ $0309 ENTRY POINT TO RATS #$B800
0412- INVOKERROR .£Q $0412 ROUTINE THAT CASES BASIC TO 00 THE ERROR CONTAINED IN X
1£00- RNTS.1900 .£Q $1E09 ENTRY POINT TO THE RNTS AT $1900
B9AQ- SEEKABS .£Q $B9A0 _ ENTRY POINT TO THE SEEKABS ROUTINE AT $8800
WODE- BAS ERR .£Q 222 iBASIC ON ERR ERROR CODE
OOFC- SWFRM = EQ. SFC sEXCHANGE FROM PARAMTER
GOFE- SHTO -EQ SFE ‘EXCHANGE RWTS 'TO' PARAMETER
AED- PAGES EQ SEG iNUWBER OF PAGES OF MEMORY TO EXCHANGE
9824~ CH »EQ $24 CURSOR X POSITION
FODA- PRNTBYTE .EQ $FDDA PRINTS HEXADECIMAL BYTE
.
OR $0308 STARTS AT PAGE THREE
$ .TF 108.088 *
’ si ik Sit EET Rone Severn .
3 CALL RWTS. “
0300: A9 63 10 LDA /TABLETYP ENTRY POINT FOR CALLING THE RWTS THROUGH BASIC
0302: AB BA LOY #TABLETYP A,Y POINT TO THE 10B TABLE
9304: 29 D9 03 JSR RNTS.8800 GO TO THE RWTS AT $8800
0307: BO 16 BCS DOS.ERR IF THE CARRY SET THEN CAUSE BASIC ERROR
9309: 60 RTS OTHERWISE, ALL 1S WELL SO RETURN
830A; 91 TABLETYP .HS 61 TYPE OF TABLE (1=108)
9388: 60 SLT HS 68 SLOT TO BE ACCESSED NEXT (VIA POKESLT.S0)
9300; 91 ORV AHS 61 DRIVE TO BE ACCESSED NEXT (1 OR 2}
9360: 80 VoL. AHS 08 VLUWE TO BE ACESSED (G=ANYTHING WILL DO)
B30E: 08 TRK SHS 08 TRACK TO. ACCESS
O30F: OB -HS 08 SECTOR TO ACCESS
9318: 1B 03 DCTPTR — .DA DCT POINTER TO THE DEVICE CHARACTERISTICS TABLE
9312: 68 BUFFERLO .HS 98 ALWAYS WAKE LSB OF BUFFER POINTER ZERO!
9313: 27 BUF -HS. 27 SECTOR BUFFER PAGE POINTER
9314: 00 NOTHING KS 08 NOT USED
0315: 80 BYTCOUNT .HS 9@ BYTE COUNT FOR PARTIAL SECTOR (@=256 BYTES)
9316: 60 CHD HS 66 COMMAND CODE (@=SEEK)
9317; 60 RYTS.ERR .HS 08 ERROR CODE THAT THE RWTS B80 RETURNS WITH
0318: 00 OVE HS 68 VOLUME NUMBER OF LAST ACCESSED DISK
9319: 60 OLDSLT HS 66 SLOT PREVIOUSLY ACCESSED
831A; @1 OLDORY HS @1 ORIVE PREVIOUSLY ACCESSED
9318: 68 OCT HS 68 DEVICE TYPE OF DEVICE CHARACTERISTICS TABLE
O31C: O1 PHASES HS 1 PHASES-1 PER TRACK, (8 OR 1)
9310: EF D8 MOTORCNT .HS EFD8 MOTOR-ON TIWE COUNT
O31F: AD 17 03 DOS.ERR LDA RWTS.ERR DOS HAS HAD AN ERROR, GET THE ERROR CODE
9322: 4A LSR DIVIDE IT BY 16
0323: 4A LSR
9324; 4A LSR
0325: 4A LSR
8326; AA TAX TRANSFER IT TO .X SO BASIC WLL INDUCE THE
FALSE ERROR CODE
9327; 4C 12 Ds JWP INVOKERROR CAUSE A BASIC ERROR
x MOVE THE DISK ARM “4
932A: AS 6B MOVPHASES LDA #08 ROUTINE TO SET UP REGISTERS BEFORE CALLING
SEEKABS
W320; A2 OB LOX #8068 X AND A HAVE DUWMY NUMBERS THAT WILL BE POKED
INTO BY "MOVE S PHASES”
§32E: 4C Ad BO UMP SEEKABS
? CAUSE ERROR IN CONTROLLER .
aati! Nate Rail NM lbs st ’
8331: A6 DE BASICERR LDX BAS.ERR BASIC HAS MADE AN ERROR SO CAUSE THE ERROR
NUMBER AT 222
. continued
18 Hardcore COMPUTIST No. 22
0333: 4C 12 04 SMP
INVOKERROR
ara Ero Calas ann Gas Wl BIE te ee
POP OFF RETURN Le
2 68 PoP PLA
1 AB TAY
+ 68 PLA
ROUTINE TO POP OFF ONE RETURN (BASIC) ‘ORES
: 84 FC sty
2 AG OF LDX BAS.ERR+1 GET WHAT STACK WOULO BE IF GOSUB WASN'T THERE
i TXS PUT THAT AS THE STACK POINTER
2 48 PHA
: 98 TYA RESTORE THE LAST RETURN ADDRESS
2 48 PHA
60 RTS
EXCHANGE RATS's Li
Bs .
2 AD 90 LOY #0 jZERO THE LSB's
SWFRM =; AND HAVE Y AT ZERO FOR START
SHTO
sty
ier bier rhvaiale iGET A BYTE
sAND SAVE IT
+ Bl FE tee car (GET THE BYTE WHERE THE SAVED ONE GOES
: 91 FC a (SNFRM) ,Y ;AND STORE IT WHERE THE SAVED ONE WAS
: 68 jGET THE SAVED BYTE
: 91 FE si (SHTO),Y ;AND STORE |T WHERE |T GOES
2 8 {DONE WITH A PAGE
: 00 FB BRE WOVE.PAGE NO KEEP WORKING ON IT
+ £6 FD INC SWERM+1 ;GET NEXT MSB's:
+ E6 FF INC SNTO+1
2 C6 EO DEC PAGES —_|DECREMENT THE NUWBER OF PAGES TO NOVE
: OO EB BNE MOVE.PAGE |{F NOT DONE, MOVE ANOTHER PAGE
2 68 RTS1 RTS sFINISHED, RTS
READ OR THE ae BUFFER ¢
BS
97 HIGHEST BUFFER PAGE+1
: 5 tT LHS. 35 LAST TRACK TO GET+1
2 OF is AHS OF (LAST SECTOR TO GET-1)MODI6
O35F; AS 68 LOA #0 DO A VTAB3
0361: 85 28 STA $28
9363; A9 05 LOA #5
0365: 85 29 STA $29
0367: Ad 16 NEWTRK LDA #16 HTAB
9369: 85 24 STA CH
§36B; AD OE 03 LDA TRK
§36E; 20 DA FD JSR PRNTBYTE PRINT IT
0371; Ad 1C LDA #28 HTAB
9373: 85 26 STA CH
9375: AD OF 83 LOA SCT
9378: 20 DA FD JSR PRNTBYTE
8378: 20 00 63 JSR 10 GET A SECTOR
§37E: CE BF 03 DEC SCT NEXT SECTOR
9381: 18 68 BPL NXT.PG
9383: AS OF LDA #15 RESTORE TO SECTOR 15
9385: 8D OF 63 STA SCT
0388: EE GE 63 INC TRK NEXT TRK
9388: EE 13 63 NXT.PG INC BUF NEXT PAGE OF MEWORY
Q38E: AD 13 G3 LDA BUF
9391: CD 5C 03 CMP NB
9394: BO C5 BCS RTSI BUFFER FULL, RETURN
0396: AD OF 03 LDA SCT LAST SECTOR?
9399: CD 5E 03 CMP LS
939C: DB C9 BNE NEWTRK
939E: AD BE 03 LDA TRK
@3A1: CO 50 93 CWP LT
O3A4: 90 CL BCC NENTRK
@3A6: BO 83 BCS RTSI END OF DISK
end of Super IOB source code
marked as other tracks. A complete discussion
of how to use the routine appears later in this
article.
Anatomy Of A Controller
Before we attempt to write a controller, let’s
look at the subroutines at the controller's
disposal. During this explanation, it would be
wise to refer to the listing of Super IOB to see
how each is accomplished.
The New Routine
There has only been one routine added to
Super IOB to arrive at version 1.5. The
explanation of its workings follows.
Name: R/W A RANGE
Line Number(s): 610 -
Entry Conditions: TK,ST = first sector to read
or write, LT,LS= last sector (minus one
MOD 16) to read or write, MB= maximum
buffer page, CD= command code
This routine quickly reads or writes a range of
sectors by calling a machine language program.
To be faster, this machine language program
stores the sectors in memory in a decreasing
manner. That is: sector $0F is followed by
sector $0E and sector SOD and so on.
Storing the sectors in memory in a different
sequence than ascending is O.K. as long as, 1)
the sectors are written in the same order they
are read, and 2) ‘‘The Sector Editor’’ routine
knows that the sectors were stored in
descending order by setting the variable FAST
equal to 1.
The Older Routines
The following is an explanation of the
remainder of the routines found in Super IOB
Version 1.5. These routines were included in
the older Super IOB programs.
Name: START UP
Line Number(s): 18 - 60
Entry Conditions: Not Applicable
The first few lines merely identify the program;
however, line sixty sets HIMEM and LOMEM
so that they fit the memory usage requirements
(see Memory Map following). It then goes to
“CONFIGURATION TIME".
Name: INITIAL IOB SETUP
Line Number(s): 88
Entry Conditions: DV = drive to be accessed,
VL= volume of disk to be accessed, SO=
slot to be accessed
This subroutine is normally GOSUBed via
“TOGGLE READ/WRITE”. Its purpose is to
reset the buffer page and set the drive, slot and
volume number to the disk to be accessed next.
Hardcore COMPUTIST No, 22 19
Name; R/W SECTOR
Line Number(s): 18@ - 110
Entry Conditions: TK= Track to be accessed,
ST= Sector to be accessed, CD=
Command code for the RWTS
This subroutine is GOSUBed directly from the
controller. It reads or writes (depending upon
CD) at the specified track and sector.
Name: MOVE S PHASES
Line Number(s): 138 - 140
Entry Conditions: SO= Slot of drive to move,
DV= Drive number of drive to move,
PH= Phase number that the disk head is
currently over, S= Number of phases to
move
This routine moves the disk read head the
number of phases specified by S (one phase
‘equals one half-track) and is capable of moving
in either direction up to 128 phases (or 64
tracks). Care should be taken that PH + S isn’t
greater than 255 or less than @ or an error will
occur,
Name: ALTERED ENDING MARKS
Line Number(s): 178
Entry Conditions: Proper DATA pointers
‘This routine changes the address field and data
field epilogue markers in the normal RWTS.
The values to change these to should be
contained in a DATA statement. Because
normal DOS only checks the first two bytes of
these markers, only four values are required.
The address field is changed first and should
appear first in the data statement.
Name: ALTERED ADDRESS MARKS
Entry Conditions: Proper DATA pointers
‘This routine modifies the RWTS (via POKE)
‘so that it looks for a different sequence of
address field prologue marks. The decimal
‘values of the marks to look for should be stored
as the next DATA elements.
Name: ALTERED DATA MARKS
Line Number(s): 218
Entry Conditions: Proper DATA pointers
Same as previous subroutine except for DATA.
field prologue marks.
Name: NORMALIZER
Line Number(s): 238 - 250
Entry Conditions: None
This routine restores the values in the RWTS
subroutine that are changed by any routine in
Super IOB. This routine should be called just
before writing in order to fix the RWTS so that
it can access normal DOS disks,
Name: IGNORE ADDRESS CHECKSUM
Line Number(s): 278
Entry Conditions: none
This routine modifies the RWTS subroutine so
that it doesn’t examine the checksum byte of
the address field. This routine has been
incorporated in many controllers.
Name: ALTERED DATA CHECKSUM
Line Number(s): 298
Entry Conditions: Proper DATA pointers
This routine alters the starting checksum byte
that the RWTS subroutine will use when
reading a DATA field, The normal value for
the RWTS is 0. The value to change the
checksum to should be the next DATA element.
Name: THE SECTOR EDITOR
Line Number(s): 31@ - 340
Entry Conditions: Proper DATA pointers and
Elements, T1 = lowest track in buffer,
TK = highest track in buffer
This routine automatically performs sector
edits as the copy process goes on. It must be
called (via GOSUB) just after reading a range
of tracks, To indicate how many sector edits
are to be performed, you must have a DATA
element that has the number of sector edits
followed by the word “CHANGES.” For
example:
110@ DATA 7 CHANGES, 1,1,3,4
would tell the sector editor that the next 28
DATA elements are sector edits. This is
because each sector edit is defined in four
DATA elements, The location of the “x
CHANGES" element in the DATA string does
hot matter because the sector editor will search
it out and use the elements immediately
following it.
The format for the four bytes that define a
sector edit is: TRACK, SECTOR, BYTE,
CHANGE TO. Each element is decimal and
should be within the correct ranges since no
error checking is done.
If you use the “R/W A Range Quickly’*
routine and you wish to perform some sector
edits, you must set FAST equal to | so that this
routine will be able to locate the specified sector
in memory.
Name: EXCHANGE RWTS’s
Line Number(s): 360
Entry Conditions: A RWTS at $1900
This is the standard swap RWTS's routine. It
uses a routine in IOB.OBJ@ to exchange the
RWTS at $1900 with that which is located at
$B800, the norma! location for an RWTS. To
tell the machine language swap routine (invoked
by a CALL 832) what to exchange, a few
POKE’s must be executed, They’ are:
POKE 253, _ start of first location
POKE 255, _ start of second location
POKE 224, _ number of pages to exchange
(a standard RWTS is eight pages long)
Name: FORMAT DISK
Line Number(s): 388 - 410
Entry Conditions: $2= slot of disk to format,
D2= drive number of disk to format
This routine formats the target disk. It was
meant to be used before the controller takes hold
of Super IOB (and is GOSUBed by
20 Hardcore COMPUTIST No. 22
“Configuration Time’*) but can be called by
the controller should the need arise.
Name: PRINT TRACK & SECTOR #
Line Number(s): 430
Entry Conditions: TK = The track number to
display, ST= The sector number to
display
This is the subroutine that puts the current track
and sector number at the top of the screen in
hexadecimal during the softkey operation. It
should be invoked just before reading or writing
each sector.
Name: CENTER MESSAGE
Line Number(s): 458
Entry Conditions: A$= The message
This routine prints a message in the center of
the screen at the current VTAB position. Care
should be taken that the message to print is not
longer than 40 characters. If so, an error will
occur,
Name: PRINT MESSAGE AND WAIT
Line Number(s): 470
Entry Conditions: A$= The message
This routine uses ‘*Center Message”’ to print
the intended message at a VTAB of 11 and then
it prints ‘PRESS ANY KEY TO
CONTINUE."’ It waits for a keypress before
RETURNing.
Name: TOGGLE READ/WRITE
Line Number(s): 490 - 530
Entry Conditions: CD= current command code
This routine toggles the state of CD (from ReaD
to WRite and vice versa) and prints the current
mode in flashing letters at the very top of the
screen. In addition, if the user has only one
drive, it asks him to swap disks. It then exits
via “INITIAL IOB SETUP,”* thus making the
sector buffer ready for the next operation.
Name; IGNORE UNREADABLE
SECTORS
Line Number(s): 55@ - 590
Entry Conditions: Not Applicable
If the controller should pay no attention to
unreadable sectors, then somewhere in the
beginning of it should be an *‘ONERR GOTO
550."" This is used usually with RWTS.13
(since DOS 3.2 sectors are unreadable until they
have been written to) but can be used with any
disk that has unreadable sectors which should
be ignored.
Note that this routine will not function
correctly if you are using “R/W A
Quickly’’. To ignore errors when using this
routine, insert a POKE 775,96 into the
beginning of your controller.
The Remainder Of The Program
Lines 1000 through 9999 are meant for the
controller and all DATA statements it
contains. All lines greater than 9999 are used
by the error trapper or the configurer which
consists of all the prompts when the program
is run. The error trapper will print a disk error
and stop the program. If the error wasn't a disk
error, the error trapper will let it occur.
Now that you have an idea of the subroutines,
take a look at the Variable Usage Table (Table
1) and note how the variables relate to them.
Memory Usage
Before actually looking at some controllers,
let's say a few words about memory usage.
Following is a memory allocation table for
the various parts of Super IOB. It is extremely
important to stay within the boundaries when
writing a controller. If not, horrible things may
happen (the least of which would be the
production of an incorrect copy).
Memory Allocation Table
$0800.$18FF (2048-6399)
intended for the Applesoft part of
Super IOB
$1900.$20FF (6400-8447)
space allocated for a moved
RWTS.
$2100.$26FF (8448-9983)
Super IOB Applesoft variable space
$2700.$96FF (9984-38655)
enough space for 7 tracks, this is
the sector buffer
First, notice the amount of space available
for the BASIC program. The Super IOB
program as listed (with all REM's) ends about
290 bytes short of the
Showing the first 100000 of 150788 characters.