) I
) )
)
) )
) ) )
) ) )
) I )
I
) ) I
) >
THE
SOFTWARE PROTECTION HANDBOOK For
the
DAVID
C-6U-
THOM
...
22 downloads
825 Views
17MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
) I
) )
)
) )
) ) )
) ) )
) I )
I
) ) I
) >
THE
SOFTWARE PROTECTION HANDBOOK For
the
DAVID
C-6U-
THOM
and
VIC
COVER
and
ACE
NUMBERS
ILLUSTRATION
CAMPBELL
(S) 19814 PSIDAC ALL
RIGHTS
RESERVED
PUBLISHER'S
NOTE
This book is written as an information guide for those who wish to learn about and experiment with software protection and duplication methods. It is not intended to encourage theft or illegal uses of copyrighted
software.
All information in this book is accurate insofar as can be determined by the authors and publisher. No liability can be assumed for any inaccuracies which may be inadvertently contained herein. The user of this information must assume all liabilities associated with its use. The user must also assume all risk to person or property associated with the use of the circuitry described in this book. It is recommended that the user be technically competent to determine the suitability of the application. In no event shall the authors or publisher be liable for incidental or consequential damages in connection with the use of the information
in this book. C-64,
VIC-20,and
MONITOR$8000
Commodore Business Machine, Romulatorf
Tapeworm,
are
Inc.
PSIPACK and
are all trademarks of PSIDAC.
trademarks of
its program names
^~ ~
L
C
c *** PROGRAM NOTES
use
Most of the
CBM
***
Basic programs will
"shorthand"
when typing
to
Q
require that you
avoid
excess memory
C
(~ .
use.
Programs have been
disk and 1525 tested
on a
printer.
written for the
Commodore
1541
Many of the programs have been
version of the
MSD.
The programs
"talk" to the drive controller such as error analyzers will not work with MSD.
which
Diskpicker and The others may
work.
/—
^-
(^ ^ v_ r
c
THE SOFTWARE PROTECTION HANDBOOK Copyright
part
c
of this
1984 by PSIDAC.
publication
All
may be
rights
^
reserved.
distributed
No
by any
means. The circuits and programs contained herein and on the PSIPACK disk may be copied for personal use. No
_
L
£
part of this book may be reproduced for publication.
C
SPH-64
C
VI284 THIRD PRINTING
2
USD19*95
c
O
O
Ike, pkiLoAOpy. of
tki/L book e.mb/iace.A
thn.e.e. main
I,
lo pnovide.
btioad vLe.w of
Lclwa. and
2.
lo aZe-zit
"v La Lou a.
p/Lote,ctLon
e,tkicA. th/ioug,k "LooLa.
j£ouj
tke, consume,il}
cLiLdLe,"
pote,ntLal co&t of
of. ike.
natu/ie,
p/iote,ctLon/p/tote.atLon bne.a,ke,nA.,
and
of
and
tke,
g,e,ttin$. caug,kt Ln tki/L
/LpL/iaL, 3-
lo
ne.move,
/Lome, of
tke,
muA.te.nu.
&u/L/toundine^ tke, Aub'j.e,at wkiLe. p/ioviding, a. UAe.fuL /ie.fe./ie,nce, doc.ume.nt.
***
CONTENTS
***
Preface
Pg.
6
Chapter Pg.
1 7
Chapter Pg.
2 21
Introduct ion. for
copying
Tools. book
Descr i pt ion
as
well
break ing
Chapter
Pg.
3
47
Rules,
Maps.
as
and
explanat ions. and
of
other
protected
C-6U
Regulat ions,
and Ethics
software.
tools
provided
helpful
tools
in
this
for
programs.
15U-1
Also
disk
memory maps
special
conf igurat ions
used
memory
for
with
Iocat ions
protect ion
purposes.
Chapter Pg.
4 71
Chapter 5 Pg.
88
Protect ion Methods. techniques
Pg.
6
117
cartridges
Tapes.
Specific
software
to
Pg.
7
17b
Appendix A~... Pg^
and
Covers
tapes.
procedures,
dupl icate
future
tapes.
circuits
and
Tapeworm,
Trelo.
Procedures,
analyze
protect ion
and programs on disk.
Superd irectory,
D isk-Ed itor,
Error Analyzer,
Diskpicker,
to
DD-1,
copy and
Fastback,
T/S Analyzer, Re Iocate/Loader,
Linkster.
Cartr idges. tape.
Saving cartr idges
Romulat or
CBM ASCI1-CHR$-
to disk and
system.
SCREEN CODES Chart.
Monitor use with Diskpicker.
201
Appendix C..•. Pg.
and
and
software.
197
Appendix B.... Pg.
Current protect
Disks.
and
Chapter
to
disks,
Clone piug,
Chapter
used
202
Autorun Booters- Machine and Basic
version.
***
Appendix D.... Pg.
205
Reset
GCR
208
DISK TYPE
or
Resetting
files.
wiring.
sector
encoding
with
Products
explanations.
Sector maps
notes.
avaiIable
from PSIDAC.
211
Appendix H. Pg.
***
identifications.
switch
in GCR
Append ix G. Pg.
CONT.
207
Appendix F. Pg.
Sector Byte
Deleted programs
Appendix E. Pg.
CONTENTS
Interrupt
routine
techniques.
212
NAME
=
FRACK
PSIPfiCK
(C)1984
SECTOR
VBN
3RD
ED.
NAME
BLKS
PRG
17
8
1PSIMAIN
n
PRG
17
X
2PSIMAIN
"
PRG
20
12
SUPERDIRECTORY
B
2
"?
S
PRG
19
13
DISK-EDITOR
0
7
PRG
I /
19
RELOCATE/LOADER
.
2
PRQ
15
2
DISKPICKER
B
PRG
19
9
T/S
"
10
PRG
19
Q
FASTBACK
B
7
PRG
i /
15
PRG
16
7
2DUPDAC
9
17
PRG
26
2
ftDMACH
"
1
PRG
20
3
MACHRELO
a
1
PRG
20
4
3R0MULAT0R
8
4 4
ANALYZER
1DUPDAC
5
20
17
PRG
28
6
2R0MULAT0R
a
PRG
19
S
ZMACH
a
1
PRG
28
9
ANALYMACH
*
1
PRG
17
3
SUPERhON64.yi
u
1©
PRG
19
6
ERROR
ANALYZER
B
7
PRG
17
6
20
NO
HEADER
a
-|
PRG
17
7
21
ERASE
PRG
17
16
PRG
16
S
23
PRG
16
i
SYNC
PRG
19
5
HELP
22
NO
TRK
DATA
3 B
DATCHKSUM
WRITER
PRG
17
8
WRITE
PRG
1 -? x /
2
READ
HDR
!
B
4
8
1
HDR
PRG
19
14
COPY
HDR
19
7
CON
HDR
PRG
19
15
ICON
HDR
PRG
16
3
LINKSTER
u
PRG
14
9
TMACHRELO
"
PRG
14
15
TRELO
"
1 B
•
19
4
PRG
19
16
1TRKFMT
PRG
17
17
TRACK
ONLY
CHECK
1
1
■
PRG
5
1
H
PRG
SYNC
1 1
X H
5 1 7
8
1 I
*
10
PREFACE
Q
c the
The writing of this book was undertaken as a result of large number of inquiries and strong interest developed
after the release
of our first
book "The Software Pirate's
Handbook for the VIC-20" (SPH-20). This book will similar format to the SPH-20 and, although each are
books
in their
complement
to
own
right,
this
book
follow a complete
is designed
as
a
SPH-20.
Q
C r
Q *-
The SPH-64 will expand on both the philosophy and technique of duplicating software. In doing so we want to
C
about
r~
dispel many of copying
the doubts and
fears that people often have
C
understood so that we do not promote theft
v~
software.
legal issues are
We
also want
to
be
sure
that
or black-marketing of software which clearly are crimes.
the
At
the same time we will show you how to protect your own investments by making back-up copies of a variety of "protected" forms of software.
This book will
first cover our philosophy for copying,
and specific legal considerations. In the following chapters we will outline technical theory and concepts with
(^ *v_ (2
C
f~
specific numbered procedures and the program listings at the
(^
to
^
end
of
applicable
go directly
chapters.
In many cases you will be
to the specific
procedure for the
able
type of
copy you wish to make. However for a better understanding or in case of difficulty in making a copy, you may need to
refer
to the
concepts.
understanding
In
encountering
sections which give
of
this manner you
the
kinds
so
that
of
you
attention to theory
should be
able
can
deduce
protection
£ ~
and
C
you are
^~
to gain an
that
*-
possible
f-
(^
"countermeasures".
^
The ultimate purpose of this book is not to provide you with the "newest thing" in copy history, but rather, we will
£
try
to provide
of
C
but
are essential
themselves open and
v-
continually changing market. Our experience has shown that "packaged" protection breaking software becomes obsolete as
^~ V-
fast hole
as it is written, leaving the consumer with yet another to pour money into. Adaptive programs and user skills
C
this
book,
protection
you
systems.
with primary
These
tools
utilities which are
unprotected so that you can use,
are necessary to
tools
stay current.
and knowledge
are not candied
study,
for
appeal
and adapt them to a
(~
we offer
C
first technical reference document available on the subject.
^-
not
as
Together with the analytical We
package
authors.
and
final
word,
programs included,
but
that you find
USEFUL!
as what may be
the
this makes a powerful
for defeating protected
greatly hope
understandable,
The
the
In light of this,
s~
this
software.
book
informative,
s~
£ ~-
/~ j:
CHAPTER
ONE
INTRODUCTION
PIRACY...an issue
so clouded with fear,
and misinformation that safe,
familiar company.
book was
had
to be
to be
"The
fact
changed
that
the
piracy in any form. a
to
light-hearted
inspire
a
The original title
after a
several
book of
book
was
never meant
The use of
reference
certain
Unfortunately, and
puffery
brainchildren of this consumer
product
-
title
to
"Pirate"
II",
flatly
encourage
intended as
any copying process,
tendancy
of
there
is
being
used to
software -
humankind;
is
and
the
secret.
a great deal
new market.
but
in spite of
to
was
in
of this
advertisers
that
attraction to things mysterious or
pocus
to utter it
Software Pirate's Handbook
refused to advertise the
you dare only
intrigue,
cloak
of hocusthe
alleged
This reletively new
being hawked,
with all
c c the
vigor and
claims
of mysterious
patent medicines of
earlier years.
rhetoric is
with all the
warnings
replete
powers,like
the
C
technocratic
^-
rumored pitfalls and
^
This
of what may happen to you or your
if
r
you try to exercise your documented legal right to copy
C
the product. All of this has the detrimental end effect
^
of deluding the
consumer
overpriced,
*-
underperforming
products.
this will
£
most
undermine
certainly
equipment
into purchasing In our opinion
the
strong
beginning
and
C
It is
^~
knowldge,
*-
in changing
£
curiosity the home microcomputer market now has. our
goal
tools,
to
and
this
provide
the
attitudes
situation.
public
that will
I
see
microcomputing,
one
with
accepted
by many,
and used
and computers
rejected
be
a
some
start
two futures
for
home
C
software and
computers
^*
software
^
and
as
with
the
other with
expensive
"hyped"
toys
of a
bygone fad.
£
C
C At
this point
between what Quite
is
simply,
question.
we
must separate
acceptable the
Copying
intent for
study, your not
burn
and other personal original
piracy.
the
However
to
(If
another that
libraries
copying
an
copying and what of
sale,
personal uses is Piracy.
the
user will
difference
(]
is
v_
s~
archival,
(^
Loaning
v,
is not piracy.
person
for
original
temporary use
changed we
return
you
the
other non-
Copying for backup, uses
Piracy.
decide
distribution or
ever were
and
the
to
the
do
not
may
as
is
well
s~
Dark Ages!)
Q
own
is
C_
whole issue of
^
unethical.
We
should start
to
analyze this
8
9 0
copying software by
first classifying software amongst
the products with which it belongs. to peel
away
the issue.
some of the misinformation that To
instructions
get very basic, which
produce
physical
system.
Software
numbers
and can
be
such as;
verbal,
recipe
that
I
found
like
of
the
ROM
memory.
The
format
greater
just
one
of
these
expensive piece
of
should other
of
often
for
of
on
a and
forms
solid state
that
the examples
as common or
likely to be
is
listed as
reason
data
software.
software
which refers mainly
that
books
cost
and
the
of
to
more
times
it
is
to
vastly
program.
produce,
time
other
found in
contain
average
more
How strange
tens
and
are not commonly
than
itself,
take
Any more
write than a
then that
software
more money than
these
like products!
suppose
that
factor most
nature. thus
also
paper,
they inherently
equipment,
sell
I
the
that of
effect
many different
solid state, The
is
amounts
in
fact
typically printed materials this
a set
is written with letters
formats
with the exception of to
desired
is
surrounds
this book or a piece of music or
given are
in one
a
embodied
for example.
have
software
magnetic recording,
and so on...just a
This will also help
Few
important
people
program. is
that
not
on,
of
is
software,
it's
and
code-like
are professional programmers understand
Some the
and that the degree of the program is
real mystique
capitalized
cannot really the
the
a
might user be
the mysterious say that able
all
to use
and
language that
is
the program
secrecy or protection applied to concern.
9
We
feel
that this
is
a
little
like
a
homemakers
should only be not be
able
define
the end
care
less
eating, the
saying
that
you
able to eat the end result of a recipe,
to understand
the
product!
words
If
and numbers which
. *-
^
your
r
but if you like to understand what you are
Q
the
there really
you only wish to eat
Q
and
about
perogative,
magazine
ingredients,
that
is
should be no great mystery about
^
ingredients.
When
it comes
to
software many people
"Pirate's Handbook"
making a
get
cold
copy
of a
feet.
for the Vic-20,
piece of
In selling the
"for
Q
signed
C
statements and so on from our customers that they would
^
use
so
r~
thinking that they
£
might be required to make such a statement in the first
C
place. I have yet to meet a person who felt the need to
^~
sign
local
*-■
article,
C
archival use only".
it only for
an
grocery
purposes.
been bullied
affadavit
store
to
before
make
a
I
into
running
copy
of
situation even near
to
the
a magazine
Probably the only
C
in comparison would be the fear of
^~
attempting to photocopy
a dollar bill
to try in a bill
(it doesn't work!)
appears in
a
state law in
Louisiana.
mandate
that
the
opening
the package
act
inherently place the
of
this
biased
proposal being The of
^ Q
A recent manifestation of
software
am sorry that
up
pages of a book, recipe or whatever.
changer,
advertised
We recieved many promises,
"archival"
many people have
we
r-
law,
if
purchasing
a piece
of
thinking on
considered for enacted, and
would
C
r-.
Q V-
subsequently
software,
would
"opener" in a legal contract with
r-
Q)
C 10
O
c
the seller. from
The purchaser would be obligated to refrain
copying,
throw in.
distributing,
I hope they
and
whatever else they
have a lot
of
jail space
in
Louisiana!
One of my favorite analogies which may help you to
put this whole
ethical question in
recipe analogy. software
Consider
perspective is the
the fact that
a recipe like
is a set of written instructions which cause a
desired effect on a physical requires
a sequence
correct order in
system.
of steps to
real time.
Like
software,
be performed in
hardware,
a
specialized
As with
complete cooking system
costs thousands of dollars. requires
skill
the
Both require specialized
hardware to perform their respective functions. computer
it
easily
Developing a unique recipe as well
as
a great deal of
are
a
time.
Some
of
the
major differences
general perception of
a recipe as an ordinary everyday
commodity
often given
program as
a
It
is
easy
away
believe
and effort goes
that
are a
lot
would
argue
otherwise!
"professional"
quite sure that
If you can
perception
a
great
of professionally
software
Judging that
of a
and unfathomable product. deal more
knowledge
into a program than a recipe.
there
similar
and the
highly valuable to
result of the
I
trained chefs who from
have
However
some
of
seen marketed,
the I
am
they are right!
then,
consider that these diverse yet
copyrightable literary
equal treatment and
forms should be
respect when we
11
given
think of copying.
c c Are
womens
recipes pages
clubs
(many of of
church
they are
really cares!?
commiting
in
It
the
each category of
situation.
that
For
an
exchange
(^
copied from the
^-
act
strictest
the market.
of
piracy?
sense,
doesn't appear that
seriously affected
case,
groups
which are blatantly
magazines)
Probably
has
and
who
r
their doing so
C
taken case by
^~
If
but
information market has a
each of these
and general knowledge of methods for
C
making copies of the copyrighted product. Your right to
*~
and
know
disallowed.
machines,
their
protected
face
been
-.
recorders,
photocopy
r
even cameras could
have been
Q
potential for
information.
^
of these markets
_
misunderstanding
^~
of
a
blatant
use in
(^
of the
of
illegal
who would profit by use of copy technology. The current
nature
threat
Each
really
r
is not
real
never
those
software
the
has
tape
probably
due to
copying
facts
Otherwise,
and
outlawed
also
these
is
^ r
own
there
similar some
form of equipment
markets
^~
ethical
result of a but
question of
factual
(J
a
simple
in the
the typical perception of software versus more commonly like
a
difference
r~
information
rather
copying
in
understood
software
piracy by
recipe.
Historically software has
fact
that
form of protection.
copyright businesses Naturally
law. as the
prior
It
Also
did not
use
market
As
1980
most
home
necessarily high.
to
a
software
had no
under patent
software was
was
result
guarded
This results largely
fall
was
12
v-
been a closely
secret of the company owning it. from the
difference
not
limited
for
C
^
legal
*~
law or
C
larger
C
that
extensive.
and
the
companies were
C
price
rightfully
^-
C ^
C
C
C
worried about being
ripped-off by those who might copy
their software and sell unfortunatly,
example,
it without fear of punity.
happened too
Franklin
computer
Apple computer's operating the new laws
stopping
often.
More
this
apparently
court settlement/
the 3rd U.S.
in Philadelphia
ruled
current copyright
could
quite
to an out
protected
"Piracy"
of
this form
a
a system.
amount of
production
company.
A company stands to
investment
and marketing
that it takes
if
software systems to
competing computer.
In effect,
make
operating
a
system
performance^
systems
he
compatible
uses
must
legal
install a
in a
limited
If a competitor
alternate,
be
For technical reasons,
impossible Xo do
Although
100%
unscrupulous
this creates
monopoly for the original manufacturer.
to
The
closely linked
persons pirate these
wishes
of
was
operating systems of a microcomputer are
lose the fantastic
piracy.
software
bankrupt
to the hardware design of
of
Circuit Court of Appeals
law.
literally,
Apple from
case
finally came
that the
under
of
The uncertanty of
obvious
companies
set up
versions
protecting software prevented
Although the two
to
recently for
copied many system.
This
identical
the
in
this is virtually
without copying the operating system!
protection
has -been
for
ROM
upheld in court,
based the
operating
issue is long
from being settled.
The
heart of
the
copyright
intent
is
that the
specific expression of an idea is copyrightable but the
idea is not. However*
Ideas must be free of legal encumbrances.
if the
idea can only be expressed in one way
13
without
losing
its meaning/
then the
that idea becomes very limited. is true when
can
talk
about
Legal
not a
crescent
wrenches
answer may lie
is
lost.
and
Thus
skill
intent
Q v-
I
saws
r
There
(^
answer available for
operating system software.
in the
to be
legal ramifications.
clearly defined legal
this problem with
so common as
protection
without worrying about the
is
The same sort of thing
product names become
considered generic.
ability to protect
(~
The real
of the person making the
copy.
/~
Q
From
which
another viewpoint,
may take
write and an
a month or
an
so for a
average investment to
should
not
income.
This does not mean that
be
distributed mentality.
priced
as the
according to It
applications piracy
applications package
does
is going
accommodated
to
C.
produce and market
^
lifelong
r-
it should be stolen and
£
some
creates be common.
the market,
single person to
basis
mean that
software
c
C
modern the a
Robin Hoodian
over-pricing
of
^-
such
^~
the price better
£
climate where If
C
to
C
distribute copyrighted software would greatly diminish.
^~
Protection of
I would not even
the
for a
software
tendancy of people
is clearly not
recommend that
anyone buy software
the protection methods seem too strong.
make
backups
product
are rights
will bear out, schemes
and
some
can prove
expect
a reliable
of a consumer.
of the more
the answer.
As
The
v-
if
ability to
r~
compatible
Q
later chapters
v_
and
elaborate protection
rather unreliable.
they are
s-
obvious encumbrances to smooth loading and running of a
Q
14
Often
program. are
Furthermore,
not compatible
in the case of disks,
with other brands
The real clincher is that Commodore, manufacturer,
reserve the
hardware/software
at
the
system
any
"updated"
would
system!
time
to try
beyond
original
the
don't believe anyone
this
who has
The
to
difficulty
software
places
system
In
I
unacceptable backup
to
accessible
within
the
storage medium
it
is
still
possible
placed
systems
is
connectors.
the I
intermittent and solution switchable
on
As anyone
tell you,
has
If
you
up highly
protected position of
resulting data it would
a program
with
tear
could
done
be
loss. totally
without having a
Although failure
of
is more common with tapes and disks,
with cartridges
cartridges.
of
no
hardware.
minutes.
problems
is
an
try talking to
vulnerable
crash and
run
on
compatible"
backing
can think
work
what has been
problem,
in the
even
specifications
specifications.
"Commodore
of
Protection
manufacturer has
out
a real
you
facing complete many cases
drive
accepted
bought
defined
necessarily
figure
is
or any other drive
as needed.
the
not
The
obligation
of disk drives.
right to update their drive
schemes which operate beyond
of
they often
the
are
who been
slots but
that
the port
by
weakest
seen
link
them
these
in
become
expander are quite
15
and
in failure analysis
what else.
use
major
lot of wear
interface
knows to
a
The
constantly changing
experienced
mechanical have
cartridges.
many electronic
such
as
loose,
One
edge bent,
popular
boards expensive
with and
still limit the
total number of cartridges you may use
without switching.
RAM memory which
Our
solution is to use an external
can be loaded
from tape or
then emulate the original ROM cartridge.
RAM unit
is
left
loaded
be
put
and
away
r
Q
^-
the
^_
interfere
r
the cartridge
C
previously saved on disk or tape can
^
with any other operation.
be
This way,
in the computer and does not
program which was
disk and
c c
reloaded safely
and
When desired,
as needed. be
used
Your
only
cartridges
Q
The obvious problem with this system is that people who
C
donft own the cartridge could illegaly obtain copies of
^
the tape or disk and use the program without purchasing
*-
it.
an illegal act
Q
specific details on this
C
of piracy.
Chapter 7 gives
It is
make
^
backups.
We strongly discourage this.
to
can
system.
^
The point of copy of
each
Feeble
attempts
importance is that
without a backup
program you endanger yourself
of
software houses
needlessly.
by
r-
offering backups if your original fails,
simply do not
(^
solve
IF the backup
v.
the problems.
policy is
quick
This
to
C
remedy this
is true even
and promises
a
replacement within say
24hrs. What happens 'if the original company goes out of
r-
business?
a deadline or is in
Q
In some cases a delay of
C
What if
the user faces
the middle of a presentation? more
than some
opinion
heed:
there
recommend
fools fool who runs a program without a backup
C
those
backups
rule
and
all
should
our
Q
For
one
In
fool runs a program without a backup but
that
only
devastating.
r-
of the backup!
is
can be
take
Only a
it is a
minutes
really important be
16
stored
in
two
programs we different
s-
C
C
locations.
In
one
recovered from a
case,
one
of
disk which had
our
programs
it's protective cover
cut away and had been thrown in the trash around
of the
first things you should do especially with a new tape
It
is
to make
likely
program but copy.
is
show how
find
We
of
really such a
were
out
it
hear
about
you
willing to
program?
program
rewritten
valuable
and marketable.
a
with
The
no
truth
is
protection
is
The
irony
is
Is
violation
of copyrights.
accepted
industrial
your own version,
"improved"
practice
the program
software itself.
to modify a
needs. to
has
creates
is
the all
program to suit original
and
give you our
have
this
is that
lack
selling a even BE
a
an
distilling
the
a
then marketing common
a
their be
source
problem of
of
those
to
try
application but
for
ill
or
care
suited
to
to be
Without
and you may make
17
their able
adequate
nearly impossible.
if you buy our book we
listings
for
documentation of
legitimate need
the program.
is
a
people want
program may
modify
documentation, philosophy
more
engineering",
and
been
such a
much
that
of
product
always
Not
These people
list
a
issue which
who purchase
the
of
then,
products.
Another
many
"Reverse
the
it
that
program with significant modification may not
underlying principals
"great"
suffer
failure with no backup?
great
One
is uncopiable or very hard to
are
a
constructed!
backup.
that you may
ask?
consequences
a
they
after being
passed
disk or
to
was
Our
are happy to
any changes
that
suit
your special
wishes.
We
feel
that all software
c c s~
should be sold
with listings and documentation or that
(^
they should be
available
The
v_
feature of software
_
ability
to customize
for
a
reasonable price.
is a unique
which should be capitalized on instead of hidden.
Some
r
The
Q
this
*-
Occasionally a potentially valuable piece of
~
products are naturally custom car parts very fact.
customizable some are not.
industry has made
software is totally
a fortune on
useless to a person because of the
inability to modify it. The consumer has
to perform the
£ C
"normal" functions associated with that
C
In
merchantability of a
a
legal right
legal
terms
product.
fertilizer for
directions and using
this
is known
Imagine
flowers.
as
the
that you buy an
r-
After reading all
£
great but all
C
your other flowers die. Let's say that after talking to
^
your friend,
it would work on
s-
IF you had specialized knowledge of the
(^
a
other flowers -
it,
to expect
C
a product
type of product.
"all purpose"
r
chemist,
chemical compounds used
your roses do
you
find
and how they
successfully to other flowers. tell
you
that
you
have
legal
because
the
purpose
fertilizer without
how
use
to
application
product
it
is
^-
an all
(~
sufficient instructions on
C
microcomputer business,
there
require
A lawyer would probably grounds
for
not merchantable
harm
Only after purchasing
C_
s-
successfully,
the implication
could be applied
recovery
more
with
does
that
and
sold
(^
do many things.
C
might you find out that it would
^~
18
In
^ s~
specialized knowledge
good.
"normal" the
that
than
any
as
are many programs
they will
or even modification
to
^
C
C
make
it work
to reasonable expectations.
copying of owned
software
is
a
legal
a copy protected program itself of merchantability. reasonable
to
Time through that
need,
expect
and this
a
and demand
violates
to
be
various
"secrets"
this
I wonder if
the principal
game only to of
the
it
is
copyable.
industries
have
find
inside.
gone
in the
consumers have
to know what's
useability of the of
software
number
right
long as we have that right
again
large
protecting
As
Since backup
a
end
right,
Limiting
or
information
can
only
limit
the
equipment and
also
limits the growth
add-ons which make the original product more useful.
Software
houses would
certainly view this
the door wide to the pirates. of
profits
due
to
Already terrified by loss
piracy they
find
elaborate
and costly protection to be
this
the
is
very
thing
attractive to the pirates the
protection and
as opening
that in the
high price,
more
the
makes
and
more
answer.
Yet
the market
first place! and
Take
so away
who would need
a
pirate anyway!?
In strict by U.S.
legal terms,
copyright
copy of
software
direct
violation
available. well
with
Other
law since
and gives of
laws
law
The pricing
method
market
and
sells
the
determination small groups
19
and
is
a
in is
survived very
only
been set
it
prosecution
forms have as
has
been protected
Anyone who makes
away or
information
copyright
exchanging amongst
1980.
it
these
protection.
of
software has
by the
means
of
accepted
copying
and
or by friends has never
seriously affected the market.
sewing circle being
is.
occur
grocery
because
a
result
the
thought of a
ladies
sued for exchanging patterns seems
ludicrous because it as
The
of
C
piracy does not
^~
photocopy machines
^
C
legality
C
intimidated or
^
afraid to make
a copy of software for backup purposes.
,-
The
of
and
C
a
C
photocopy machine or tape recorder and the knowledge of
^-_
how to use
*~
clearly
is
store
(~ ■
it
wouldn't
original
Large scale
c c
be profitable. defined,
existance
information
should
no
priced low
With
one
copying
be
no
them!
20
the areas of
should feel
hardware,
more
enough
that
software,
threatening
than
C C C C c c c c c c c c c c c c c c c c c c c C c
***
CHAPTER
TWO
***
TOOLS
Without
a doubt the C64 is
a very versatile tool.
However,
a powerful computer and the first time that you
try to save a protected program you might like a
child
suddenly feel
given the task of decrypting a classified
and encoded top-secret document.
A myriad of questions
immediately
present
Where
What kind
program is
of
have been applied?
themselves.
Is
it?
often difficult first
What methods
there
does the program reside
do you start?
any way to
in memory?
of
list
protection
it?
And so on...
to decide which questions
to
Where
It
is
ask in the
place!
It
would be
copier that would
wonderful
just
someone
made
copy any software with the
a photocopy machine will
there is
if
copy this page.
no way that
a
21
a
super-
ease that
Unfortunately,
single answer
will cover
c c the
wide variety
protection.
The
of possibilities available only way to really be
task
is to have various
jobs
cannot
be
you
be
(^
for the
v_
equipped
tools.
Most of the
accomplished with only one
tools
s~
application of many different
(^
The key here is skill. The most effective tool
C
but will require
tools.
specialized
for copy
can posses
protected
skilled
is
so
a
sound
knowledge
that you can make
of each situation
of
how
of
the
software
a meaningful
can
analysis
r~
and apply the correct tools with the
(~
greatest amount of skill.
C
C In
this
chapter
familiarizing three
we The
of
disks,
will define
will
the kinds of software
and tapes.
concentrate
on
C
tools to use
on
^-
are,
^-
these categories
(~
as they apply.
C
you with the
^
media.
Within
"levels" of protection
descriptions of
general the
you with
categories
cartridges,
we
tools
applications of
specifics of
the
tools but we will
will list the procedures in a very detailed fashion. If
(~
breaking
this
*-
understanding of
-.
protected software should are
give you up
a
against
later
chapters,
is all new
good
r~-
to help you. This should also help you develop plans of
(~
attack
^-~
when you
you need
come
to
and
general what
up against
tools
to you,
available
that
you
the
_ s~
what
until
leave out which
chapter
use
will aquaint
These
are
a protected program
back-up.
~
—Cartridges—
C Cartridges
are unique
protection in themselves.
in that they
are a
form of
£
That is to say that the very
C
C 22
C
c
features of the
that
it
cartridge are what protect the program
contains.
designed
The
to autorun
break into and Since
burning
facilities,
cartridge"
the program
most
people
burners
Actually cartridges
The
simple excuse
back-up purposes making costs.
difficult to
or save
it to another
it
that
becomes
have developed
a
are good
reasons
avoiding
the
to want
hassle
have
all,
disk or tape real-estate,
to failure.
in view of PROM
method that
if
With this system
back-ups the
cost
why not have a
tape
of
or
for is
a
and
run in
RAM.
A
such as
plugging
and
Making a
cartridge can't
the program can be put
single
There
disk copy,
in a
all
little
a copy?
continuously
modification of a program residing accomplished unless
can be
to tape or disk and
unplugging cartridges when changing programs.
be
a
This makes the process very
to
After
to implement
prone
for many cartridges.
cartridges you own.
the
anyway.
really isn't realistic
desirable
"copy
duplicate cartridge for
used to transfer cartridge programs
it
a
Furthermore,
expensive
are not
then run in a RAM expander!
PROM memory
expect to make
cartridge.
of making a
We
cheap if applied
have
and circuit boards
copy cartridge would make
computer is
it
don't
they cannot
from an original
cost of PROM
that the
cartridges makes
list
format.
fact
into RAM
disk can contain
a whole
library of programs while the cartridge holds only one. Having drawers
pain.
If,
full
of
for example,
odd
shapped
you need
of cartridges
to work each day,
lunchbucket!
But with
your
cartridges
to transport
a
a
real
library
you would need an extra
cartridge
23
is
library on disk,
c c your
software
is
Remember
cartridge likely.
that
medium It
all
are
would
to sell all Magnetic
very transportable.
these
mostly
limitations
to
be much cheaper
of it's software
media does
the
copying
less
(^
software
house
v~
make for
a
on either tape
or disk.
enclosures.
Q
Cartridges exist largely because of the fear of piracy.
C
manufactured
is often
the
case,
a
/-
r-
As
require
C
in
board or
specially
not
Q
circuit
circuits
and
those with legitimate needs are
penalized by actions of those with illegitimate greed.
When the chores that
C64
does
is plugged in. Part of this is accomplished by two pins
C
on the cartridge edge connector which are identified by
^-
the names GAME
to
^
the memory is configured on the C64 so
r
the way
that the computer
be located as
The
job of
will allow Basic,
if
a
these pins
is
Kernal and ROM to
The initialization
routines
locations where a cartridge resides
(]
and they pass
^
information to the
start
running
the cartridge
r
Most of the time the entry point is not
Q
the beginning
program
is
an
bytes
a
typical
in cartridge memory.
Interrogate dump of ROM cartridge.
(reversed) display which
from.
the beginning of
but further on
Following of
computer so it knows
_
at
the
These
A program
to start
memory to run.
at
found there.
_.
then tell the computer that there indeed is a cartridge
doesn't need
is
^~
r
to
an access code
C
codes
where
if
check to see
EXROM.
necessary.
also check memory to see
to
^ r
and
is
the housekeeping cartridge
control
it
is powered up one of
s~
shows the 24
the
first
Notice
^
several
^
the ASCII
r
access code CBM80.
C
C C
c.
The
first four
start
bytes before this
and warm start
code give the
cold
addresses respectively.
CS
$8394
WS $83A0
34 83 R8 83 C3 C2 CD 38 38 82 BB 5R 30 5F EE 3D A3 C0 C8 80 57 88 57 EE
„•-
39182l»flPI»W 57 48 81 C4 04 40 CR 4R
13 CR
13 48 C4 84 81
C8
—ROMULATOR—
Romulator
is
three versions. systems
are
and
one
a
cartridge
One for
identified as
for tape. as
for C64 tape
C64 disk: systems.
The
C64 versions
for disk
leave
the
refer
a
special
cartridge
used.
program which moves
then
saves
A special
it
to
to
numbers
needed for specific procedures etc. of
in
one
book we will
and
comes
for the VIC-20,
2Romulator
In this
Romulator
copy system that
the
and
3Romulator
the
C64 system
out
except
when
Romulator consists the
contents
of
the
magnetic medium being
Romulator circuit
card
is
used which
allows changing the configuration of the GAME and EXROM lines
thus preventing
with
both
software. or
the
auto starting.
tape
and
The circuit
16K RAM expander.
the tape
or
disk
look
of a write
line which
program by software
can be
a
The RAM expander
The RAM is made to
like
means.
changed so that
card
versions
card also has
disk program can be
enable
This
of
socket is
is used the
for an
8K
the key since
downloaded
a ROM cartridge
to
the RAM.
by the use
prevents erasing of Finally,
C64
the
the RAM location
it will reside anywhere commonly
25
c used by commercial cartridges.
The
general
circuit
card
process
to
configuration,
next
the selected
with
RAM
is
to
determine
autorun and then to
to
is
use
s-
defeat the
£
copy the contents of the cartridge
C
left in
normal
the switches
magnetic medium.
interfere with any
Romulator
cartridge
set
the
the
the
to
The
Romulator card
computer.
other operation.
It
does
*-
not
*-■
The cartridge can
C
be stored away safely. When desired to run the program,
C
it is downloaded
then
^
write protected and switched into the configuration for
*-
the cartridge being
Q
into the expander
Romulator card is
run.
and cartridge codes,
the cartridge
A system reset button on the
then pressed to
Since the computer will
RAM which is
force a cold start.
see the cartridge configuration
it will run the program as though
*-
C
date we have not found
C
one that it will not work with. Chapter seven lists the
^
exact
^
16K cartridges.
procedures
to
follow
To
as
in!
■
This can be done
with 8K or
itself were plugged
C
well
as
the
programs
and
circuits needed.
This
book
has
Brown Fox word
system.
r~
been written with the
(^
The cartridge is safely stored in a drawer. It
C_
unexpected
to be "glitch"
free
of the
destroy
temporarily out of business. an
overworked
or
fail
edge
altogether.
system for your
run on a
C
r~
Romulator
is very nice
processor which we
aid of Quick
anxiety of having some
the
cartridge
put us
r
Also gone is the fear that
(^
connector will become
If you decide
computer you will
26
to
and
intermittent
V_
set up a Romulator find
it
a
valuable
/-
C
C
c
accessory.
—DISKS—
There are a wider variety of protection schemes in
existence
for
disk
than
any
understandable
that
many forms of
protection since an
so easy to copy.
software
other
a much
and to break
you
super
and
purchased.
and
a
few might
quality of
the
purchasing
a
As
insecurity they
to
program is
weigh the
software. second
need to make a
from
appropriate,
we will spell out
to normal
the
you should
upon best
the
if
you
disk
user.
If
thing around,
disadvantages
eventual
function
a back
disks because of the
force
original
the
consumer,
You might perhaps
protection
will
your own disk software
"super protected"
protected
will have
problems
so
protection methods we
protection when you
you have
limitations
The
you to protect
avoid purchasing
the
developed
unprotected disk is
from a friend,
lower price.
one
is
make a profit by selling pirated copies at
cover will help
up of
houses have
It
Many people would be tempted to avoid
purchasing by copying even try to
medium.
versus the settle with
need
maximum
crash.
When
specific limitations and
introduced
by some
forms
of
protection.
We will
discussion "standard
define
easier. level",
"levels"
These
but
in comparing different
also help you copy so of
that
of protection to make our
are
not
in
line
are merely to give us
kinds of protection.
with any
a yardstick
This
may
in classifying programs that you wish to you can select
the most
"attack".
27
appropriate form
c —PROTECTION LEVELS—
Level
0
Unprotected.
saving.
Contains
Can
basic
be
saved by
only or basic
loading
and
loaded machine
Q
language.
s-
Level 1 Contains auto-run feature and a STOP disable poke in program. Doesn't allow saving but can
£ r
copy
r-
be
direct copied
or Relocate/loaded and
systems;
Direct
Relocate/Loader) Level
2
Contains
"bad
prevents most commercial
saved.
Duplicator-1
sector"
[DD-1]
(see and
errors on disk which
disk duplicators from reading
past. Creates "shuts off in the middle of copying" syndrome with many disk copy programs. >Iay also contain
LI techniques. DD-1 will copy these.
Level 3
Same as
without
above except program
error sectors
being
put back
will not run
into the copy.
Requires Error Maker program or modification of program
to take out sections which "look" for bad sectors.
Level
4
protection.
normal
produce
This
what we will
drive formatting
symptoms
encoded data or
under
is
errors",
is one of
call
"advanced"
error
It involves altering the parameters of the and/or
such
as
format info,
and
so
on.
extra
The
writing.
tracks,
This
will
specially
modified headers,
so
called
"half
"data
tracking"
these non-standard writing techniques.
This
seems to be the direction of newer software and can create severe compatibility problems. Diskpicker can be
used
to both
analyze
anything that fits
and develop
into the altered
routines
that is its primary purpose. Level
5
Disk requires
"Dongle"
protected.
hardware module
Requires
to break
DOS category,
Dongle
to
operate.
synthesizer or
modification of program so that it does not look dongle. This is a "valid" form of protection if
allows
"Piracy"
backup
disks
to
while giving the
be made.
as
It
for it
will minimize
owner crash protection.
l_
^ s-
^ C _.
C
^ Q
s-
^-
_
C
r
^
C ^
^ Q _
C /-
^-
^
^-
f~
C r-
C c This
listing
does
possibility under the
common
methods that
levels which require will
need
programs
an
to make
not
sun but
we
it
to
does
cover
cover
have encountered.
modification of
understanding the
attempt
necessary
28
of
the
how
changes.
every
the
For
program,
to A
more
s-
those
Q
you
v-
disassemble full
fluency
r
C
C.
c
in
machine
language
and really is
is beyond
an aquired skill.
the process however interest
in going
probably
the one
the first place
a
further
public
is up
to you.
that you should If you can
highly
whatsoever
We will try to define
to give you some chance.
similar quality without
though/
the scope of this book
find
a
similar
the protection.
quality of the
domain programs
that
are
Level
4 is
avoid purchasing in
protected program
to the
Your own
program of
Don't
be fooled
has
no relation
program.
I have seen
significantly
better
than expensive commercial versions!
Attacking level
Diskpicker. routines
The
we
four
protection can be
error
give
making and
will
get
done with
header
you
modifying
started
in
this
direction.
—
Direct and
is
WHOLE
DISK
DUPLICATORS
Duplicator-1
listed
was written by
as a part
of this book.
copyrights on this program.
limitations
of other
especially true for
which attempt
will to
stop
DD-1
"whole disk"
some
copiers. where
the
Other
by sector duplication
of
bad
the disk.
sectors
duplicators
that
This
but
can
may be and
which does not often work. of
is
errors
copiers
errors might
1
and sector on
holds
protected disks containing
"second guess"
sector
PSIDAC
copiers.
last,
a
Vic Numbers
overcomes many of the
do those sections does
—
DD-
every track
It will transfer the contents
cannot
get
reproduce
through the
29
an
error.
errors
Most
can't
duplicate
the
are needed.
errors
so
programs
called
Error Makers
These programs and means of clearing errors
will be described
later.
disk
a version for
owners and
DD-1
has
a version for single
The
(^
single disk version (1DUPDAC and 1PSIMAIN) will require
C
swapping
disks.
2PSIMAIN)
is
The
essentially
versions will print optionally "error
gives
dual
disk version a hands
free
(2DUPDAC and system.
printer/
protection".
if the
original contains
This
is
a powerful
information
if
you have
which
very unusual
tests each
over any sector no
program
feature
byte of data
a
to
data.
This
copy but
duplicate almost in half.
will
reinstall it run.
"fast write"
in no
it can cut
The
idea
full of data
to more than one disk. would be redundant
and skips
Q
format data but
^
time
the s~
Another really handy feature
Q
DD-1
has
read
to make
of
very
rate.
fast
the
programs that you Generally,
if
the
time by
buffer
This saves the extra read
C c c r-
which
Q
since the buffer still contains the
v_
same disk
This
is
can be
Thus making
accomplished
a
c r~
(^
have written and wish to distribute.
v-
original
using the fast
30
very handy
at
for disks of
programs and you wish to make
save
a
that this data can be written
data until a new 150 block section is read. many copies
c
a
is that once
(150 blocks)
s~ £
the ability to write more than one copy per original
read.
V_
r~
way affect
the
Q
mode
on a sector
which contains normal
validity of the
is
is
in
feature that
errors or modify the copied program to make
One
Both
the type of error on the screen or
to the
needed
dual disk owners.
contains more several
than three
copies,
you will
r
write mode and
multiple
Q
O c c
copy features of DD-1. machine
language
(PSIMAIN)
Since this system is written in
(DUPDAC)
with
basic
controller
speed and flexibility are natural.
DD-1
is
simple
to
use
protection on the original. very direct,
to get an disk.
a
you will
and
usually
overcomes
Since the whole process
avoid spending the time
understanding of what
is
required
is being done
on the
It is best for the lower levels of protection.
There
are
several
other noteworthy copier programs
on the market which you might find especially suited to your needs.
We will point out
and
limitations from
the
trade name
Ware,
of
of
our viewpoint.
a
Butler,
some of their advantages
set
New
of
Clone
programs
Jersey.
It
released
offers
backup program along with other programs
variety we give other types of
Machine
you in chapter tools
Machine
is
by Micro
a whole
disk
similar to the
6.
We will
cover the
later in this
chapter.
The Clone
disk duplicater
program provides
a
"graphic"
display indicating the
reading and writing of sectors.
The
locked
version
encountered.
then
used
to
the copy
this
menu
extremely
menu process can
tiresome device
8
when
from the
cumbersome
an error
track and
options and
process
automatic error skipping
you will be
up
This meant writing down
returning
continue
found
we
then point
compared
features of DD-1.
sometimes be tedious
sector,
trying to ended.
to
The
keep telling it
each time!
31
We
the
whole
since typically
doing the same thing over and over.
having to
was
It
is
that you1re using
Clone machine uses
reasonable
a
copy times
multiple copies or
120
block buffer which allows
for backup purposes.
high speed are
copying
an original
with
would be
frustrating.
In
is
The Unguard error
writer seemed to
provides a simple
direct way of
onto
a
disk.
obsolecence
The
says
it
C
not supported,
and
C
errors
^-
Clone
*-
be useful.
C
protection
will
problem
as new forms
for
respects
Machine does what
and
though. can
function well,
it
C
back
^-
one of
^
shelves.
£
writing errors
will be
mainly
of protection hit the
Our biggest complaint would be the price. At $49.95
it
is hard to justify owning for the value obtained.
Another
good
copier
Telecommunications.
It
is
is
^
Uses
lots of most
c
Supercopy
by
relatively fast
*-*
Richvale and
has
^
a
nice menu display.
Once again,
locked up
/-
giving you little
opportunity to modify it and keep it
£
current
with
believe a
the
copy
changing
the program is
C
forms
program should be
forms of protection
of
protection.
open so
that
We
^_
as new
come along you can add routines to
accomodate them.
r-
(]
c c There
are
(mid 1984) that features
are
minute average)
several
very new entries
you may wish that and
they
by
these
certainly
does
C
times (4
^
including
^
The copy protection used
Q
indicate
In the mean
"state-of-the-art"!
32
Q
The major
copy
automatic error writing
"current popular errors".
obsolescence however.
to consider.
provide fast
the
programs
to the market
Among
their
time
inevitable
C
though they are
those we have tried
*-
c
c
c
or
that have
come well
recommended
Starpoint Software of Gazelle, available from Computron
Oregon,
MI. are
and
"ULTRA
"DI-SECTOR"
California,
Business
COPY"
are
from
"GEMINI
2.0"
Systems of Portland,
from Ultrabyte
of Dearborn,
There may be more good copiers hatching than there good
programs
We have simplify
errors.
to
copy!
included
and
speed
up
The programs
is used to
two programs which
examine
any errors found.
copying
the disk
log is
This later use or
up against.
skipped.
The original
time
the
The
checking
on each
copier
Fastback replace
waste
10
copy
can be saved
the
on see
to copy and which
in a very fast copy. error log is
backups
time
as does
DD-1
error
themselves.
go
back with
sectors
as
spread
you make.
the
error
and most
other
logging routine which
minutes can operate
can
that
repeating
is that the
programs
you
of
no
Another note
about
through
primary purpose for the
to make the
number
need
takes
T/S
and log
simply examined to
This results
spent
total
Fastback
copiers.
several
Any unused sector or a sector containing
an error are
the
log
to tell Fastback which sectors
ones to skip.
over
sector by sector
The check is made out
another disk for
with
are T/S Analyzer and Fastback.
track number 35.
what you are
disks
will greatly
unattended unlike
After an
needed,
doing
the
error maker
and
or
remove
the
sections of the program that look for the errors.
There
are
that you may whole
several
copy programs
run into.We have
disk copiers
usually
"floating"
around
commonly found that the have no
33
fast or multiple
c features
and often
Although
DD-1
are
cannot
awkward in
handling
solve every copy
situation,
we
r
tried to
easy to
C
use.
T/S Analyzer and Fastback are especially handy if
*^
intend to
itself
make several
is useful
to own and
^-
have
you
make it economical
errors.
backups.
if you want
T/S
to find
Analyzer by
out what kind of
errors you are going to find on a particular disk.
(See
listings chapter 6 ) Contrary probably
protected disks.
data
is
fed
through the
from one drive
the
first
has
a computer
diskette The
on
place
duplicate
This
relies
on
the
a
is
going
Q
is basically a
V.
protection in
inside that decides which data from the
£
could
for
bad,
care of
and which is
less,
it
users.
ugly.
writes what
any system of
low end
it ^
currently
Q
such a system. At
C
We
this are
interest.
means
running...
the
and
when you
it's
time
Load"$",8
doesn't
^
C
its name says it is.
programs which cannot load
be
tell eveything!
you
them and
whats on
the
they
C
take off
^
As you know,
Q
disk but
C
Superdirectory will
34
When
copied by whole
for Superdirectory.
tells
v_
type yet
on the market
Superdirectory is what
disk
r-
^
lot depends
into
v~
"smart"
— OTHER TOOLS —
you run
C
that your disk drive
which is
fact
considering developing and marketing this point
Dumb copier
The effectiveness of
We have not heard
the market
a
to another without
of the system.
is good,
dumb copier
sees!
it may sound,
The principle of dumb copying is that
dubbing process.
r
^-
effective way to
logic
^
c
to how
the most
c
it
tell you a
c
c
SUPERDIRECTORY
DISK HfiME = PSIPRCK VI C TYPE PRG PRG PRG PRG PRG PRG PRG PRG PPG PRG
PRG PRG PRG PRG PRG PRG
DEL
PRG PRG PRG
PRG PRG PRG PRG PRG PRG PRG ^Rfi
PRG PRG
PRG PRG
TRRCK 17 17
19 13 17 16 19 17 17
16 20 20 20 20 19 20 20 19 17 17 17 16 16 17 19 19 19 19 13 16 14 14
SECTOR 0 1 0 13 19 2 9 2 15
7 2 3 4 6
8
9 12 4
6 7 16 0 1
a
6 5 14 7 15
3
9 15
NfiME
ELKS
IPSIMfilN 2P3IMRIN SUPERDIRECTORY DISK-EDITOR RELOCfiTE/LORDER DISKPICKER T/S RNRLVZER FRSTERCK 1DUPDRC 2DUPDRC fiDMRCH NRCHRELO 3R0MULRT0R 2R0MULRT0R ZMRCH RNRLYMRCH MONITOR*8000 ERROR RNRLVZER 20 NO HERDER 21 ERRSE TRK 22 NO DfiTR 23 DRTCHK3UH SYNC URITER HELP NRITE HDR RERD HDR COPY HDR CON HDR ICON HDR LINKSTER TMRCHRELO TRELO
2 2 8 7 2 17 8 7 17 17 1 1 4
35
HEX.RDD 0801 0801 0801 0801 080 1 0301 0801
0801 CQ00 C000 C000 0348 0R00
4
MUlCilH
1 1 17 7
C000 CS40 0101 0801 3300 3300 3300 3300 3300
1
1
1
1 1
4 1 1
1 1 1 5 1 7
.
DEC.fiDD
2049 2043 2043 2U49 2043 2043 2043 2043
43152 43152 49152 340 2568
UnWU
0801
3300 4300 3300 530O 5300 0801 1F48
43152 51264
257 2043 13856 13056 13056 13056 13056 2043 13056 17152 13056 21248 21248 8088 2B43
lot
about whats on your disk so that you can decide how
to handle each program and file.
c c Q
C
C On
the opposite
page is a
Superdirectory listing. and number of
track
blocks,
and sector
programs
for
each.
listed.
written over/
they are
for protection
that as well as
you are
are
used
Note
sample printout of
Until
also told
C
the name
the starting
s-
Note
also
that DELeted
Q
they
have
actually been
v_
still on the disk.
/r
know they were present!
Appendix D shows how to restore
Q
scratched
The
v.
programs.
Superdirectory is program by its
the computer.
do
you
makes it easy routines
in normally
r
this info you can often load and
(_
separately. can
a
load
Without
them but
you
knowing don't
these
know where
^
are up
two primary functions.
sync
C
that as
C
Erased tracks it will also tell you if
*-
track by
been
operation can
good idea on
v-
is
This is
well as finding
you
that load
s~
quick
anything has
^
and to locate autorun and
systems
With
to separate machine
them!
formatting.
This
lists each
Q ]
Error Analyzer has to
section which
of
equivalents of its starting address in
programs
find
feature
r ,
from basic
addresses,
valuable
the
This
below hex 0801.
to
second
protection boot
"pick"
most
wouldn't
starting track and sector and gives
hex and decimal
other
the
one normally
This can be even
routines
since
a
track check
done out to
put
be
beyond
in
a
normal
track 44 so
normal
track ranges.
£
a new program disk to get an idea of what
C
The second 36
few seconds
mode is a
and
is
^
a
against.
done
the
for
One
sector by
^~
o C
sector check which
is similar but gives you a complete
listing of errors by sector. one
does
other
not
make
a
difference is
read
which operates
improves
its ability
log
of
that
Unlike T/S analyzer/ errors
it is
for
"tolerate"
normal DOS. the errors
without bumping and
grinding the head
The
can
error listings
permanent
able to
0801
The
be printed
This
it finds
in the process.
if desired for
a
record.
Relocate/Loader "picking"
Fastback.
a machine controlled
OUTSIDE of the to
this
programs.
load
but the
is For
another
useful
example you will
and pick any
tool
in
probably be
program addressed
above hex
ones starting lower than this may lock up
the computer.
The trick is to load them somewhere else
and pick them.
Once the
them and change load
back to
rather
the address on where
than even
reload it so that save
the program
lockup
"picking"
anyway!
supposed to.
a program,
you
it won't run or lock up. - which defeats The
saved
you can save
the disk so that they
they were
picking
is done,
Somtimes
may simply Then you can
the purpose of
version of
the
the
relocated
program will need two bytes changed on the disk so that
it will then
load back to its normal disk location and
run normally. relocated
A
programs.
Relocate/loader version
50K byte buffer All
efforts
itself small.
called Trelo
is
which
is a
were made
There
program
37
for your to
keep
is also a
tape
is describe^
section of this chapter and chapter
Disk-Editor
available
in the
tape
display
any
5.
that will
c sector
of
the
disk
change any bytes
ability
in that
to change
track and sector
like
and
allow
you to
This will give you the
the address contained
in the first
^
with Relocate/loader
r
Also you may find occasions when you would
Q
a
in the
computer.
This
have been saved
some
deleted
location on a disk.
are called disk
data on file
or
a
particular sector,
otherwise
Some other programs
doctors and also
confound
similar
Makers
^
to this
r
have the ability
to
programs
which can
reproduce
V'
to the computer
/r
which tells it to do something outside its
(^
on
a
disk.
machine
operating
is
paramaters.
problems
other than the
1541
by other
This
usually
language program
compatibility
used
^
C C
by sending a
normal
C
accomplished
certain errors
in the disk
are
^
some
change data on the disk. Error
C
is normally done
to
which tells where
r
^
to scramble
reactivate
sector.
of a program
that
techniques.
screen
that
program loads
on programs
on the
when
since
Often using
there
will be
these with
disks
the operating system programs
manufacturers
are not
identical
C
to the
1541.
*Q
C c Diskpicker
is a
system which allows
disk drive software
execute
^-
memory.
We have
^
which can be
r
write the errors as desired
Q
on a disk. The primary purpose of Diskpicker however is
^-
directly
provided
the more
sent to the
to
give you
devise
in
the disk drive
commom error
disk drive to
a
your own
development
error
load,
Q
and
programs
you to write,
development
routines
system
writing,
on
which you
modified
can
formating,
~
r ,
C 38
C
encrypted
data
writing,
Diskpicker is designed,
such
as an
execute
error
it
operated
and
it
then
wanted.
continually change with
find
then
into
Commercial
error
allow for this
writing
and
are
send
used
by
features
changing
locations.
Other
the
techniques for
you
may be able to
routine and you can
it
and
The
give
although other monitors can be auto
load
and
should not
monitor be
it
unique program that gives you a
current
it.
generally
by Commodore to
this
a
execute
do not
$C000 as is
if you
thus prematurely obsolete.
monitors
area
it
the market will
Alternately,
programs
Diskpicker requires Monitor$8000 it the monitor
if
you a way to develop and
an error making
to
As
disk and
to see
Since
as needed.
Diskpicker
so on.
to the
disk
machine programming,
someone with
use
it
new errors and
Diskpicker gives
use new error routines are not
send
read the
you
and
lets you develop a routine
writer,
the way
protection,
routines
is used by Diskpicker.
call
located
at
Beyond that
chance to
stay
in this volatile pastime.
Linkster is a
simple basic program that gives you
a display and printout
by a program.
It
of the
tracks
is very handy
exactly which tracks
and sectors used
when you need to know
and sectors are being used by any
given program.
There are have
some
other tools which
that we have not
included
in our kit.
tools are BAM view and Track and
are
readily available
in
to
Two notable
Sector display.
the public
39
you may like
domain
These
and are
furnished
on the
demo with your
1541
drive,
thus
we
c c r
have made no effort to include our own version. The Bam
C
view is nice
display of
^
disk.
The
^
get
£
our Disk-Editor. A block at a time can be
C
displayed or printed. The data is in hex with the ASCII
^-
representation shown off
^
what
tracks
track
to give you and
and sector
when you use
it
allows
you
"coherent"
unlike
been
next
the most
used
to
see things
It
like
is a passive
on
a
to what you
to the side.
Disk-Editor which
of these
The
have
display is similar
data.
the
contents
are
sectors
a more graphical
This
is nice as
names and
other
£
and
C
change
^-
program only,
allows
you
to
locations.
group powerful
of
^
tools
but
that
also
the
are the Editor/Assemblers.
To
allow you to write,
change,
view,
manipulate machine language most programmers and
you may need hardest
to use
to use.
the uninitiated, save,
programs.
r t
these
C
and generally
v~
The secret that that
/-
breaking
Q
protected programs you need an understanding of machine
^
in
order
language
too
to
and the
many
seeing
become
use
pirates alike
They
really
proficient
at
of editor/assemblers.
possibilities
an
try to keep
for
undefeatable
There
any likelyhood
protection
is
breaker.
of
are
ever
Get
editor/assembler and start learning how to use it. may never become
will
be
a
a machine
powerful
language programmer,
tool
even
if
but
your ability
r
an
Q)
You
t !
it
is
limited.
r
Q
c There are many
E/As that will do the
free to use one that you like. 40
job and
feel
If you have no previous
Q
C c C
c
experience we disk called System".
recommend two which Commodore sells on a
"Commodore
64 Macro Assembler
The two programs are called
"Monitor$COOO" reside.
We
after the
recommend
range of memory
which they
these partly because
the entire
accessed
extend up
of
you
the command switching
structure quite
There
major
two
unforgivable
in a
with these
area used by one
always
use
the
identical Also
this
weaknesses
be
second
so
that
have
this
it will
restored from a
fixes you should
save any range
are
of
E/As
complete
books exist on
it
saved is
"ZMACH"
be The
or
awkward
assembler.
We
that can be
the monitors to do this. find them quite
can
in memory.
cannot be
basic and
routine
machine programs and various
language
first
B which you
manner Monitor$8000
that page zero
utility
loaded when using
use
in Appendix
forth between
included a
The
The
We have included
monitor command and thus
and
nearly
the memory locations where
locations
In
problem is
to go back
is
Monitor$8000 so that this problem can
eliminated.
modified
save
are
system though.
so you can't copy them.
in
assembler
which
they reside,
should change
Also
You will need it to use Diskpicker.
commercial
of memory
other!
for each which makes
will not
range
If a
the
is that they
a
two.
into
painless.
.
are
can
is
readily available
and
in
can be
assemblers,
"Monitor$8000"
hex locations
program happens to the
Development
With these
usefull in attacking
forms of protection.
and
the
subjects
details
of
in themselves.
machine Many good
the subject and you should purchase one
along with the Commodore
64 Reference guide.
41
Two
books,
either
of
which
language
are
Leventhal
and
will
the
started
the
6502"
Scanlon.
Q;.
guide is especially important because
C'
Software Design"
which can be a great aid The
by Leo J.
complete memory maps
in trying to figure out what a two
give good expanations
the
by
machine
^
explanations and
doing.
on
Lawrence
"6502
Kernal
program is
you
"Programming
The 64 reference of
get
6502 machine
language
books
Q
of machine language commands and
C
simple examples of their use.
Many of the routines that
you
involve
will
be
routines
disassembling
along with
tracing the kernal get a
"skeleton"
specialized learn what
it.
By
to
program you can often
C
in with
what
are doing you can
the
then
been done.
a good
^ ( (~
conversions
is invaluable to a serious machine programmer. is
^~
Q
A good calculator with Hex to Decimal
Sharp EL-510S
Kernal
By
filling
machine programs has
jumps
specialized machine routines.
jumps in the of
^
as well
as
The
c r~
£
*-. C
New forms of protection are
CARTRIDGE
backups,
it
but along with them comes the questions
compatibilty
pirating.
protection
makes
or the coldstart
we disconnect certain lines on
then
turn
on
know the cartridge not
occur.
We
can
the
computer
the
there so
the
then switch
the
is
into certain areas of the computer and
contents
or
RAM system
or
save
them
to
tape
or
"look"
disk.
An
which emulates ROM through the use
84
€
^ \
C r ■)
*- • £ i
of
a
write
original
protect
cartridge
location,
then
can
later
code,
run
as
be
loaded with
switched
though
into
it
were
the
the correct
the cartridge
itself!
The
most
cartridges
difficult
is
the
configuration
used
with memory,
to
by
the
the
Although
protection in
effect.
The
procedure specifically
is required
the C64
Even
sense,
system
does
"where"
is
the GAME and
true
Romulator which
(See
cartridges can be
the
not
is
"filled"
though this
is
7)
the same
gives you a
you
seen
at.
to
know
All
that
that you determine the configuration of EXROM lines which ultimately control what
the computer does with memory and start up routines. have
3
in
has
require is
Chap.
"switched"
it
(Chap.
the cartridge
with
hardware memory
original.
place of some other memory device. not
overcome
duplication of the
Hardware Reconfiguration) up
obstacle
encountered no
other
forms
of
protection
We
with
cartridges.
TAPE
Tapes
have severe
protection others,
except tape
available
the
locations
PROTECTION
instead
compared
autorun
and method
that
limitations
the of
can and
is
autorun
in the
to disks. usually
really the routine will
kinds
As is
with the used.
same as the boot
of
in
The
disk
from the
the disk.
In the next chapter we will cover the clone system which will duplicate all tapes
85
regardless of protection
FIGURE 4.1
LOAD DATA AUDIO
&
SAVE DATA AUDIO
LOAD
IK/i
TO RICORDIR
SAVE
I Ra
TO RICORDIR
PIN # A-1
B-2
C-3
Dl
F-6
FUNCTION
Ground
+5 Volts
Cassette Cassette Cassette Cassette
Motor READ WRITE Switch
The JiOAD data audio circuit provides an audio output during LOAD operations. This is useful in determining characteristics of pre-recorded program tapes* It also provides a simple way to align the tape head by "ear". (Chapter five - Head aligoment procedure). Installation can be in the computer or on lines D-[|. and A-1 where they enter the datasette. If you are using a Tapeworm, or similar interface, parts can be mounted on the
interface unit itself.
(Use earphone for speaker)
The SAVE data audio circuit .is primarily for "Relocate Loading"
which is detailed in chapter five. You may choose to wire two aligator clips to an earphone with a 1K ohm series resistor. In this manner, you can simply clip it across E-5 and A-1 when you are performing header changes . The SAVE data audio circuit provides audio only during the time that the computer is
saving data to tape*
86
used.
As with disks,
several of
often a tape program will
sections which
each set up
the program and all
attempted after it
loading
saved
and
other
than cloneing
put
this,
requires stops
in you blank
be alert
sections.
in
certain parameters
to
run.
If
a
save
is
the program only part would be
would be useless.
section starts and and
are needed
load
so
To
duplicate
that you
this
know when each
that you can stop the
to make
a
copy.
by
Also,
tape
if you
try
for machine sections mixed between basic
You will need to use
an editor/assembler for
the machine sections.
Figure
4.1
shows
the
output which greatly helps sections. followed
A
taped
by a
tone
leader
the
program.
saving,
program consists of
followed If
one
find
distributing
one drawback
it
tone leader then another
taped
programs
is by
tapes can
is
use
is
the
nothing to prevent you
it will
just
keep you
from
them or running on more than one computer.
own use.
if
a
data burst which
copy
that
tapes,
this
itself,
to
there
As with disks, The
audio
the circuits very helpful.
However
backup
(header)
longer
you hope
protection
hardware key. from making
by a
an
in identifying separate load,
short data burst
you will
The
connections for
fries,
is not a
real is
problem then for your
the
reliance
you are out of business!
87
on the key
c c c c
***
CHAPTER
FIVE
c c c c
***
s~
C
TAPES
C
The very size of the C64 memory allows programmers to write some very powerful programs.
require large amounts quite slow if tapes are
loaded
of data, from a
they
As these programs
also tend to
datasette.
As a
not as popular as with the Vic 20.
even if you
.primarily use a
disk drive,
it
be
of a
datasette
have developed a expense of
(tm)
is still
(f
an
If you
allow you
The cost
In answer to this we
to
Chapter five
ۥ
o s-
£ \
the
features TAPEWORM
inexpensive interface
for standard
do not own a datasette this circuit
add a
\L
r
simple device which lets you avoid
datasette.
which is
recorders.
will
a
rare function.
£
However,
may prevent you from wanting to own one
for this somewhat
*~
result,
handy to have a tape drive available. You may encounter a taped version of a program you wish to have.
c c c c c c c c c
tape drive for
very little
^ Q •
C'
o
88
^ C'
oxpenso.
If
"clone"
you
tapes
Tapeworm will
drive as
already own a using
audio
such as message
is
that if
inherent Tapeworm
make
this
cassette
motor
work cannot
the datasette
since
it utilizes
Tapeworm
recorder circuits.
makes
It
turns digital the
the
for the computer.
aspects
for those
more technical
so
simple
tapes.
to
any tape
have
success
had
recorders,
it
audio signals function
tape
recorder
The
detail
severe
format.
if
An
Cloneplug
is
audio
a
with
of
digital
doing
this
with
some audio
The amount of signal degradation
data
is
not
clone is
even
been
converted to, worse
cloned
clone
digital
signals or audio-conditioned digital
method we will
done over
89
digital
in successive
The
be
two
so
purely audio clones
clone.
can
copier
Although
which have
cloning
these
which is
generations
that
to a
(tm)
dumb
can be duplicated.
well. the
of
theory of about
audio dubbing
is very unlikely that
will work very is
allows
essence,
virtually
an audio
inclined.
plug that In
all
digital signal
This chapter also features CLONEPLUG a
will
done at
opposite
digital
operation will give
be
into
output of the
signal
the
external device
converting the audio
level
interface
is entirely an
and
another
Another of
no change
computer data
recorder
the
lapse recording etc.
Audio
which
to add
to
you wish to do audio work
possible.
processing.
for
the means
playback or time
the
wish
duplication,
for dubbing purposes.
major differences
with
type
provide you with
required
datasette and
from
a
previous
show you relies
several
on
signals so generations
c without
the
inbreeding
problems.
c c
TAPEWORM
,-
DESCRIPTION
TAPEWORM between
provides
the
20 and
C64
the Vic
cassette
tape
proper
interface circuitry
computers
and
most
c C C C ^
standard
recorders.
c c FEATURES
The TAPEWORM to
is
an inexpensive
the purchase
of
*-
C C and
single use
reliable
alternative
cassette data
recorders
such as the datasette.
|~
(2
C When not
being used with
the computer,
your cassette
recorder can be used for normal recording applications.
r .
No
|T
changes
or
modifications
need
be
made
to your
recorder.
TAPEWORM
recorder
under
\- '
allows
to play
the
computer
and
program command;
security monitoring... recording...
to
control
the
record voice/sound
i.e.,
telephone
cassette
c c r
information
£ \
answering...
^'
slide show sound...
time
lapse
etc.
r
c TAPEWORM allows level
of
the
manual adjustment of the volume output cassette
recorder
90
so
that
you
havo
the
^~ r
C
q
5.1
When recording,
RECORDEt
^^^
When playing, IC1B circuitry restores the digital le
vel to the EAR signal from the cassette.
the recorder.
the Tapeworm conditions the computer signal to feed the MIC input on
Computer output and input must be 5V square waves.
IE "LTL
♦ M£
E "LTL
FIGURE
TAPEWORM BLOCK DIAGRAM
c ability to compensate
for tape quality variations.
C With an
optional modification,
during
the
load
operations
the to
data can be heard aid
in
analyzing
protection methods, A.C.
adapters
obtain
all
are
not
power
with
needed.
from
The
the
cassette
computer
and
TAPEWORM
just
like
a
£
C
^-
CLONEPLUG,
duplication
*,-
datasette does. Used
C
using
TAPEWORM
standard
facilitates
recorders
and
tape
or
one
*f-
datasette and one standard recorder, (fig. 5.7)
C
Simple to hook up. Ear, Mic, an power plugs provide all
^
cassette
*r
interface
connections
without
modifying
recorder.
£
Recommended tape Other
tape
in record
recorder:
SANYO SLIM
1 or SLIM
recorders may work with TAPEWORM.
levels,
fidelity,
voltages,
etc.
between
technical
discretion before
6VDC
Variations
connector polarity,
manufacturers requires
making
2.
C' c ^
some
Q
cassette recorder
C_
substitution.
TAPEWORM
THEORY
Refer to figure
function
5.1
of Tapeworm.
by the
computer
square
waves.
computer expects
to
r
Q
drawn at the left of the diagram
L
is
As
the cassette write
C c
and
block.
This
OPERATION
for the block diagram showing
Note
cassette read signals
OF
shown,
the normal
"see".
92
both
are
digital
five volt
signal
Cassette recorders
c
the
^
on the
Q
other hand, are much
do
not
better
suited
sinewave
shown
microphone
input
a
lOmV to
20mV
like
at
five volt square waves.
to smoother lower
on
a
fed
(0.020V)
through
and the
the
IK/100
right.
signal,
the
input
NOT 5
voltage deck
The
level
circuitry
to about
figure
5.1
For
of the The
show the
The
recorder
output circuitry
of the
of
the
This
5
is fed
square wave of the
into
the cassette read
you
can
see
from the
cassette switch line to
always
are depressed
print
"Press
If
think so that
Play...."
eliminate the need
schematic
figure
is always grounded.
cassette
depressed.
must
volt
As
switch
6 volts.
of IC1B • and Ql
cassette port on the computer.
the
in
the output
sinewave of about
the
to
cassette
taking place.
line of
the
the
signals
to the computer,
fast risetime
computer
reduces
from
as a high gain clipping amplifier and
correct polarity.
the
IC1A
squarewave of 5 volts to the computer.
IC1B is designed provides a
then
shaping
consisting
of
5V square waves
sketches
is a
to see
IC1A functions as
input
approximate
loading programs
tape
a
consisting
divider
at the Mic
20mV.
provide a clean
Ql
voltage
seen
Furthermore,
from the computer
ohm voltage divider.
computer.
the
volts!
signal
an integrator which rounds off the the
like
cassette recorder expects
To accomplish this, is
waveforms
They
you are
the
messages.
for wiring
which
the
closes
This
buttons
the
causes of
the
computer will not This
is
done to
inside the cassette deck when
technically able
93
5.2,
the
buttons
are
to determine the,
wiring on your
particular deck and wish to do so,
circuit board has ground your
link on deck.
recommend
The
As
provision for this. line F6 and this
wire
Simply
it to
is awkward
to
the
c c ^
cut the
Q
the switch in
v~
do,
we
do
not
it.
r~
Tapeworm board
from
^
Six volt DC
r
directly from the computer pin C3 to your
C
There is enough power at this output to
*-
the computer via the
power is fed cassette deck.
obtains operating power
5VDC output on pin B2.
easily drive most modern 6VDC recorders.
careful of polarity for your recorder,
You should be
^
(see note below)
£
c c ASSEMBLY
C
c Figures for
5.2-5.4 give
Tapeworm.
Appendix
the schematics and D
lists kits
layouts
_
available from
f
PSIDAC or you may use your own resources.
C
c Before
should
that
installing any
be cleaned
the copper
installed
grade
rosin core
iron of to
the board-
25
orient
scrubbing pad so
C
All parts
are
*-
the board with
the
^
the copper FOIL
Q
Soldering should be done with solder and a
IC
£
the holes on
to 40 watts maximum. the
board
shiny.
BLANK side of
through
the circuit
alcohol and
is bright and
from the
leads protruding side of
with
parts,
correctly.
small,
radio
clean soldering
Be especially careful Use
the
\_'
pin
1
dot or
notched end and the component layout for reference.
^ ^ •
C_
c The edge connector
is soldered directly to the PC 94
(^
8
EAR
RECORDER
FIGURE
5.2
I
TAPEWORM SCHEMATIC
•0047of
P-6
E-5
D-I4.
Cassette Switch
Cassette HEAD Cassette WHITE
+5 Volts
Cassette Motor
0-3
FUNCTION Ground
PIN # A-1 B-2
tl'
r COMPUTER
FIGURE PRINTED
5.3
CIRCUIT
LAYOUT
(c)
'82
tapeworm I*. I
PT#
QTY
POSITIVE
PC
LAYOUT
DESCRIPTION
C1
. 0047ufr
C2
.1uf
Disc
Disc
RADIO
Cap.
Cap.
C3
.47uF
IC1
LM3900
Quad
Q1
2N3904
NPN
Electrolytic OP
100
R4
4.7K
R5
10K
ohm
Resistor
R6
22K
ohm
Resistor
R7
100K
R8-9
1M
(All
ohm ohm
P1-2
1/8"
P3
DC
*
For
271- 1330
271- 1335 271- 1339 271- 1347
Resistor
Mini
plug
complete
271- 1311 271- 1321
Resistor
edge
phone
(to
connector
PSIDAC
plug
see
Mic.
wire,
Appendix
96
#CONN*
274-286
match recrdr)
solder,
kit,
271- 1356
1/4 Watt)
.156"
ties,
276- 1713 276- 2016
Resistor
resistors pin
272- 1417
Resistor
ohm
ohm
6
16V
Resistor
ohm
EQUIV.
272- 135
Transistor
1K
SHACK
272- 130
Amp
R2-3
EC1
12V
12V
R1
Misc — Wire
( FOIL SIOI SHOWN)
274-1551
etc. —
G-Price
List.
s
FOIL
IS
ON
nFTFRMINF
NOTE:
OPPOSITE
OF
PC
SLIM I* II
FIGURE
COMPONENT
YOUR RECORDER
BOARD.
RICORDfRS
SANYO
MOST
SIDE
nDRRFCT POLARITY ON
THE
LAYOUT
5.4
(sit mow)
board
traces.
You
"puddle" on each
should
first make
of the end
the edge connector.
By
alignment
heating
a
small
c c
solder
r
foil traces which are for
£
in
*-
your
^_
Do the same
r
with the other end. This will hold the connector firmly
(^
in place.
^-
iron,
the
and
then
you can
"tack"
holding the edge
the
If necessary,
connector
until
it's
lead
terminal
back and
with
in place.
you can remelt and reposition
it
is perfectly
.solder the middle terminals down to the
go
connector
resolder the two
aligned.
foil.
Then
-
Finally,
r
end terminals to
get a
good shiny connection.
**-
Note that the Mic ground is not soldered at the PC board
end.
prevents
It
is
"ground
(JT
soldered at loop"
the
Plug end.
interference
C
This
while
still
*-
An optional
|^
LED circuit is shown in the schematic. You can add this
t-
maintaining shield properties of the cable.
by drilling extra light
This
up when
holes
data
helps you
in the PC board.
is being
determine
The LED will
loaded to the
whether data
computer.
r-
is present as
£
well as being an aid in deducing the number of separate data
loads
prefer this
the
program must
go
through
to
run.
Some
to the audio modifications shown in chapter
4 and later in this chapter.
C c f
Q>
C
C
POLARITY
C
c c> Re extra careful in wiring the audio plug. use
will
any
recorder
need
to
other
than
determine
the
Sanyo
the polarity.
98
If you
recommended,
Most
you
recorders
(-
have
a
negative
figure
5.4
center pin.
inset.
If
system)
you
is
your recorder
lead connected to the Mic and ground
Sanyo
has
opposite! the
Ear ground pins
will not be
able
to use
See
positive
(Positive Tapeworm.
(Some Panasonics are wired this way)
If you make a mistake on the power connections, will
blow the
cause
any
computer
other
fuse.
It
it
is highly .unlikely to
damage.
USE
OF
TAPEWORM
HOOK-UP
- Always plug the
Tapeworm into the computer COMPONENT
SIDE UP with the computer TURNED OFF! -
Make
sure
all
cassette recorder switches
are up or
OFF before switching the computer on. -
Use high output,
low noise tapes of good quality.
-
Insert
EAR
marked
-
MIC and
MIC
Insert
and
plugs
the
cassette
jacks
EAR.
Tapeworm plug
jack marked
into
DC6V or
marked DC6V into
the cassette
6V power.
OPERATION
-
Turn
on
computer.
- You can advance or rewind tapes at -
The
cassette
recorder
3/4 of full volume.
volume
this time.
should
be
set
to
about
This setting may vary depending on
tape quality and recorder used. - The motor can be disabled by typing SAVE or S shift A
99
c c
RETURN then hitting Run/Stop.
r
- The computer SAVE,
LOAD,
now
accordance
function
in
and VERIFY operations will with
the
computer
instruction guide. NOTE:
The
RECORD
*-
"PRESS
ON TAPE"
C
PLAY ON TAPE"
messages
and
will not
"PRESS PLAY
AND
Q
be displayed when
C
using the unmodified Tapeworm.
- REWIND
of
tape
is
computer in READY
This
will
control
of
turn the
best
accomplished
state and using
on
tape
the motor
placing
*■
the VERIFY command.
(£
voltage
by
and give
you
deck.
-Press RUN/STOP to disable manual control. - We
C
recommend that
you always advance
leader when performing
*~ tape past the
Q
SAVE operations so that no data
C
is lost trying to record on leader.
c
c OPTIONAL MODIFICATION
When the Tapeworm recorder,
the speaker
into the jack.
r
EAR plug is in the is shut off
jack on your
by a switch
(*
By jumping this switch with a resistor,
C
like.
is present on the tape.
on a Sanyo
/r
built
a comfortable audio output will be obtained. feature you may
c c
This is a
It allows you to hear when data
s-
Figure 5.5 shows how to do this
£
Slim 1 or 2.
For other recorders,
use the
L
information in figure 4.1.
c c c c ioo
C
c
USE A
SMALL PIECE
RESISTOR
FOR
OF
TAPE
UNDER
INSULATION
FIGURE
SANYO
(USE FIG.4.1
SLIM
I
&
5.5
II
FOR OTHER RECORDERS)
HEAD ALIGNMENT
Normally all be
tapes
in alignment
However,
tapes
with
the tape
made
in difficult
older tape
recorder,
It
once
Otherwise
you will
SURE
you
it
and
each
recorders
other.
or some
to
are using an
align
using it
loads
is not a is
If you
may need
before
assure accurate
alignment
tapes,
loading.
made tape
your own tapes.
recorder will
not be aligned with your machine,
resulting
This will
head
on different
commercial tapes may
commercially
recorded on your
of
adjusted for
end up with
extensively.
commercial
good
idea
it with a
to
normal
a mess of
tapes AND
change the tracking.. misaligned
each requiring realignment to load properly. IT
IS
NECESSARY
BEFORE
ALIGNMENT!
101
PROCEEDING
WITH
BE
HEAD
If you are using a datasette you will need to wire
the
"LOAD DATA
oscilloscope. equivalent,
AUDIO" circuit
(fig.
4.1),
or
use an
If you have this circuit already or it's simply ignore
the reference to
"Ear Plug"
in the following procedure. "Ear"
c'
-
Unplug
-
Put
-
Locate alignment hole left of tape head,
-
plug.
in tape do not close cover.
- Set volume Adjust
(see sketch)
1/4 to 1/2 of full - Press Play.
screw for
c c c c c c c c
loudest output.
**Do not turn far!
A
c
slight adjustment back and forth only!**
TYPICAL
LOCATION
ALIGNMENT
ADDITIONAL
INFORMATION
102
c c c c c
OF
HOLE
HEAD
c c c c c c c c c c c c c c c c c c c c c c c c c c c
Other brands of Tapeworm.
than
However,
6VDC,
Instead,
recorders usually work
you
you
if
recorder voltage
cannot can
use the
use
the
is
different
power plug supplied.
adapter
or
normally supplied with your recorder.
power
source
This will
require
that you control
your recorder MANUALLY
normally controls
the
recorder
well with
since Tapworm
through the
6VDC
power
plug.
Another recorder
inherent
feature
with Tapeworm
recorder and as
and
can
start
such can be
The
most
using only the and
stop
the
efficient
similar to this
using
it
is
is that
control of your computer. plugs
of
used
standard
still
a
normal
for audio work under
By unplugging the Mic and Ear 6VDC
power
recorder
way
a
to do
plug,
under
this
the
computer
program
command.
is
to
use a
line
for turning motor ON:
100POKE1,PEEK(1)AND223 For
turning motor OFF:
110POKE1,PEEK(1)OR32
CLONING
Fighting
tape
protection
frustrating experience.
more time consuming just
need
original that
to
describe.
least,
than desireable a
backup
for safekeeping.
under all
"Clone"
make
In the
schemes
normal
the original
so
you
As a dumb copier,
be
a
can become
can
if you file
the
reasons we suggest
circumstances using
it
especially
that
For these
can
that
the cloneplug
you simply system
we
the cloning method does not
103
FIGURE 5.6a CLONE CIRCUITRY CASSITTI PORT
ClONI
PLUG
90° PI mi
t
FIGURE 5.6b
y' CLONE MOD. ON TAPEWORM SPOT
SWITCH
CUTAPfflT LEADING FKOM PADS
tape
Figure 5«6a is the schematic of a clone plug. You are using one or more datasettes,
90° plug.
Note that if
that you will need the
See figure £.8 for PC layout.
Figure .6b shows how to modify a Tapeworm so that you will not need a clone plug. (You must use two standard recorders which work in the normal manner with Tapeworm bo use this modification) You can either modify the artwork of figure 5.3 or remove traces from two lower pads and use jumpers fop changes indicated in solid black. Clone is C-D, normal C-N#
104
depend on or vary with the type of protection used.
Although useable and
we have
copies with
two tape
as
used
audio
tolerance
digital
but
by
The the
we do
not
reason lies
The
to wow and
people obtaining
straight audio
computer
signals.
signals.
induces
a
recorders,
very good method. signals
heard of some
that
it
in the
fact
that
not
is not
As a result,
seriously degrade
feel
frequency
flutter
problems which
are
to audio method
exactly
the
is
a
the same
requirements
and
as great with these
the audio to audio method
are minor
in
audio recordings
digital data.
If
attempted at
all,
the audio
method should use high quality reel
reel
recorders
and the
copies
should
always be
to
made
from an original.
The Cloneplug system is a simple arrangement which uses the
the Tapeworm digital
characteristics
sending them on will
and/or datasette
possible,
original
good
removed
best
is used
two
can
use
two
results
standard
with Tapeworm
available.
before
to four or
are still
However,
obtained
This five
when
when the
for cloning.
shows the different have
clones up
of
the Cloneplug
recorders
datasettes and no Tapeworm,
standard
signals
from the original.
One major feature you
the
to restore
to the recorder making the copy.
normally allow
"generations"
of
itself
and
a
and
or a
system is
one
that
Tapeworm,
or
combination of a
datasette!
Figure
5.7
hookups to match the equipment you
This
way you should
be
cloning with a minimum hardware aquisition.
105
able
to
use
FIGURE 5.7
CLONE HOOK-UPs
PLAY1ACK
C64
CASSETTE
PORT
CLONE
TAPEWORM
PLUG
RECORD DECK
TWO STANDARD RECORDERS
>°Plug 32 = P0KE253,0 30 PRINT"msKI TRELO/LOflDER IPSIDRC : P0KE251, NL 40 SVS8008:SVS8103
45 PRINT'TTTW OF BYTES* "BV; " "Efl=BG+BV 50 PRINT".«DRIGINflL STflRTING flDDRESS = M;OD:PRINT"(!»RIGINflL ENDING flBBRESS = ";0E 55 INPUT-^fiVE ON T/D";CK*:IFCK$=MT"THEN8 &0 PRINT"rFREP DISK TO COPY - F7 WHEN REflDV":POKE8047,8 POKE8049,3GOTn9 100 POKE830 >flH:P0KE829,flL:P0KE832,BH:P0KE831>BL:P0KE254,flH = P0KE253,flL 105 P0KE175,BH:P0KEl?4,BL 115 PRINT"OU * ROUTINE TO REPLflCE TflPE HEflDER *" 120 P0KEliPEEKd>flND223:PRINT"M SREWIND TflPE TO EXflCT BEGINNING"" 125 PRINT"BF7 WHEN REflDV!"
130 GETfl*:IFfl*OMirTHEN 130140 PRINT'-TTl^RESS PLFiV flND RECORDS 150 PRINT":BlffTIME FOR *XflCTLVfa 13.1 SECONDS* 160 PRIHT"«!F7 WHEN REflDY11 170 GETfl$:lFfl*Ollll"THEN170 ISO SVS8043
a ■ POKE 1,PEEKOR32 " = PRINT"jflTHEN HIT SRUN/STOFS"
200 PRINT"MUSE DISK-EDITOR TO RESETS LOflD TOk flDDRESS"
115
TMACHRELO
1F4S 1F4B 1F4D 1F4F 1F51 1F54 1F56 1F58 1F5R 1F5D 1F5F 1F61 1F63 1F66 1F69 1F6R 1F6B 1F6E
1F70 1F72 1F74 1F77
1F79
1F7B 1F7D 1F39
1F82
1F84 1F86 1F88 1F8R 1F8C 1F8E 1F91 1F34 1F95 1F97 1F9R 1F9C 1F9E 1F9F 1FR0 1FR3 1FR5 1FR6 1FR7 1FR9 1FRC
IFfiF 1FB0 1FB2
20 R9 R2 R0 20 R5 R2 R0 20 as f\6 R4 20 28 60 00 20 R9
R2 R0 20 R5 fi2 R0 20
R5 85 R5 85 R9
f\6 R4 20 28 60 R5 3D 29 85 60 00 RD 85 63 00 f\6 BD 9D CR B0 60
95 IF JSR $1F95 LDR #$01 01 01 LDX #$01 00 LBV #$00 Bfl FF JSR $FFBfl FB LDfl $FB 41 LDX #$41 LDV #$03 03 BB FF JSR $FFBD 00 LDfl #$00 FB LDX $FD FE LDV $FE D5 FF JSR $FFD5 R0 IF JSR $1FR0 RTS BRK 95 IF JSR $1F95 01 LDfl #$01 01 LDX #$01 FF LDV #$FF BR FF JSR $FFBfl LDR $FB FB Bl LDX #$B1 02 LDV #$02 BD FF JSR $FFBD FD LDft $FD STR $*FC FC FE LDR $FE STR $FD FD FC LDfl #$FC RE LDX $flE RF LDV $flF 113 FF JSR $FFD8 R0 IF JSR $1FR0 RTS 01 LDfl $01 R7 02 STfl $02fl7 FE RND #$FE 01 STfl $01 RTS BRK R7 02 LDfl $02R7 01 STfl $61 RTS BRK LDX $FB FB 40 03 LDfl $0340,X B0 02 STfl $02B0,X DEX BHE $1FR9 F7 RTS
116
***
CHAPTER
SIX
***
DISKS
If
let me
the
point
restate
has not
it here,
been,
used
on
a
single software
disks.
advertisements
can
offer a
breaking.
it's
in general,
is
endless
vicious
products
to
expense! become
a
that
a
cycle
of
true
are adaptable
to the
make
attempt
sorts
situation. to
of
for protection
the
disk drive and
becomes.
makes
What
caught
protections
in an
and
new
at
your
money
lie
in
and
to have tools
your ability to
With this
supply
117
protection
we nor anyone else
you get
Everyone
and may
the optimism
point
new
solutions of
is not now,
method
consumer
them.
"detective"
little
neither
you understand
as
break
The
of
the clearer this
happens
the chapter
solution to the
solution or
The more
potential,
There
Regardless
100%
clear enough yet,
at the beginning of
you may have turned to first. never be,
made
in mind,
overglossed,
that
we (and
c priced),
declining
developed
some
information,
term
raw
utilities
look into
disk operating systems, control
of
This
what
should
chapter
first
will
what
it
cover is,
disk,
tape,
chapter
will
follow will
several
give
some of
utilities
program.
The
listings
override
Q
and
give you
^-■
to
done.
of
^
three main
sections.
the disk utilities what
to
you
it
does,
in
a
special
two gives a shorter, the
various
The
some
the
The
in terms of
and
this
s-
procedures
to
(^
problems.
It
C
common ways you would combine logical
sequence
section gives
programs
and any
to you
breaking a
^
the
actual
£
loading
C_
pertinent
^y SECTION
1
-
UTILITIES
SUPERDIRECTORY
(»ives you an expanded directory of whats normal disk
include
directory.
identification of
for each program and and
given
t.
part of
details.
the
£
for
second
specific
less
s-
utilities
different types of
third
of the
in general,
cartridge.
in attacking
cover
and modify programs,
Chapter
and
have
r~
generally
introduction
we
to obtain
be
each of
Instead
which allow you
consists
operating details. specific
software.
files,
in
innocuous
determining
and
hex at
the
and first
what
you
The
the
file,
additional
starting
track
in
features and
sector
listing of deleted programs
starting address
decimal. glance,
may
listed
Although it
be up
us
of
is
each program
this
really
against
may seem a
on a
key
to
given
program.
If for example,
address of
the program shows a starting
less than $0801,
it will
zone and may be an autostart. be needed
blocks what
you wish to
used
its
first
if
by
the program will
likely
it
first,
often
you
it
you may
but
addition,
if
may not run
the
to
it cannot
to try disassembly
routine
In
short
If
the
list
the program can lose control
correctly as the
other
program
by
There
is
not run a
listed
after you
loaded
loaded
language,
Do be
of
loaded
it.
be machine
also.
program is
if
of
idea
routine
is probably basic and
no reason that
be ready
run
a
you will probably be able
however,
so
Again,
The number
give you an
autorun or autoboot.
begins at 0801, itself,
Relocating will probably
save or pick.
function may be.
is
affect the control
beftfre run
it.
separately,
it
sections are often
needed.
Programs
starting
usually machine the
tape
the
$033C-$03FF range
are
routines or access keys which reside
buffer.
meaningful
in
In
these
dissassembly
or
you
ASCII
should
code
look
in
for
a
representing
information.
Programs language Blocks
above
will
routines or hex data in
the
$8000 and
machine programs
in
its
is
$C000
be
machine
by the main program.
range?
utilizes
the
operation.
Supordirectory will Supordirectory
used
often
are
popular
for
and data.
Superdiroctory
"ADMACH"
$0801
Loading
automatically
simple,
after
119
machine
load
loading
and ADMACH. and
routine
running Use of
running,
it
o will give you
the option of
printer as well as the to
be
examined.
sending the output to the
screen,
We
then asking
recommend
that
for the disk
you
print
a
*^ f ,
Superdirectory for every disk you have, and make it one
C
of the first things you do with new disks.
^-
C
RELOCATE/LOADER
One
of
copiers
only
the
is that
a small
Many people so
Q;
of using
an entire disk
portion of that
like
that they
several
disadvantages
disk
may be required
when
£
used.
C
disk is actually
might
have several
on.
games on one
another,
business
In order
to "pack" a
another,
and so
different
programs you usually need
prgrams
SAVE commands.
do
^
to combine similar programs on a disk
utilities on
or machine
c
whole
not
lend
packages
know,
on
disk with
to use normal
As you well
usually
disk,
basic
commercial
themselves
to
this
operation.
r
£
l_--' fi r~
£
O
c The
premise
program
is
loaded
control
of
the
The
of
operation.
is that the address supposed
of to
Relocate/loader
is
to the WRONG PLACE,
system.
will. its
of
R/L has
the The
Thus
you
most
it will
are
SAVE routine
free
as
important
that
an
to
if
not
thing
to
at
part
remember
relocated copy will always have a starting $0A00, reside.
until its starting
regardless Thus
the
of
where
relocated
C'
take
SAVE
inherent
a
*-■'
the original
was
O ^
copy cannot
RUN
r^
That is
Q)
address has been doctored.
one' of the primary purposes of Disk-Editor.
^
If
you wish
relocated
to pick the
version
before
The disk version basic
program
programs.
basic
routines.
process.
the
are
"MACHRELO"
is
a
the vast
this
short
relocating
loaded
through
the name
the
of these
system
during the relocating size of
the basic
routines allows us to sgueeze size of
the
back.
the things done by the
switched out
The
R/L on
address
machine
This along with the compact
buffer.
use of
the
routines
One of
is
main and machine byte
. control
The machine
that basic
change
you can use
of Relocate/Loader uses
main program.
machine
is
to
you
program,
buffer
majority of
should
"long"
in a
50K
allow the
programs.
DISK-EDITOR
As one of allow you
we
to
will go
the primary uses change
the
addresses
into this next.
is
is
256
longer by
bytes 4:5
allows you to
the
block is next
can
"link"
any
third
when
all
On the
first
These
two
on the disk.
disk
of data
actual GCR format
contained bytes
Disk-Editor
of data
block.
tell
the
are
the
two
On
which
together which belong to
a
program,
starting address
the
it
the drive
Disk-Editor shows the
first block of
"resetting"
in the
In this manner,
of the blocks
bytes give
program.
"block"
see Appendix F).
the data
given program.
green.
the
dump any block on the disk to examine
or to change any of every block,
(binary,
to
on a disk,
sector of
and then a
in size
ratio,
contained
Each
contains header information which
of Disk-Editor is
bytes
address, on a
121
you
links in
the second and
(hex) need
to
of the change
relocated program.
Oncfi
these
values,
though
addresses
the
relocated
it were
the
bytes you change format
of
remember
of
have
low
that
been
reset
program
can
original!
are in hex byte
first,
These
be
their original
loaded
Remember
an
run
as
that the two
some of the
data
high
second.
Also
^
sector
r
rest of the
Q
byte
on the
starting
locations in the
^-
times when you
to
change
within a particular sector of
a disk.
postition the
change, completed
and
will
all
in the new
the
the RETURN key
It
cursor over the
type
changes
cause
([,' *-
Disk-Editor gives you this option. you
r
standard 6502
sectors contain program data. There may be
^
and in the
they are contained
the program.
to
c c
for
want
is simple to use, bytes you wish
values. a
the changes
given
When you sector,
to be
read
to
have
hitting
and
prompt
(^
C!
c • *- >
you on whether you desire to actually write the changes
(V»
onto the disk.
C
O Disk-Editor
is
a basic program
which loads its
machine subroutines under the name ADMACH. others,
you
must
machine routines. need
to re-RUN
run the basic
As with the
program to
machine
manner.
the main program,
program
This
the
If you get into a situation where you you
can always
the first line which calls the machine load, the
load
is
has
not
true of
been
all
wiped
of our
as
out
skip
long as in
some
basic/machine
programs.
LINKSTER
Linkster complete
list
is a of
basic program which sector
links
122
for
a
gives you
a
given program.
C'
^'
Linkstor
allows
you would
of
all
the
like
the
to specify which
to begin with/
tracks and
program.
beginning, point
you
will
from
the
point
than
sectors
disk,
when
a
some data.
a
and
then
to
stops
disk
sector.
In
replace
what
"repaired" ERROR
so
in the
the
the number
where
and returns
is
link
from
a
can
of be
program is
you
that
defective
program which
If
bad
list
from
printout
becomes
You can then concentrate on
previous
The
a
out which sector
really
a
linkster can be used to find bad
from. it
linking
the ones
finding out
If you have a
linkster to find
print
from that point
start
started.
sector
and printer.
program
looses
bit
you
simply
stored on your
used
Linkster also counts
screen only or screen
Other
it will
just give you
you choose.
blocks
sectors
You do not have
it
then
track and
may
cases you can
is
missing by hand
disk error,
"fixing" able
the program
some
loads
the error
be
the
to
and
the
for
use
is coming sector.
change the
"skips"
list
and
the bad
program
and
then resave
the
program!
ANALYZER
Error Analyzer checks an entire disk for errors by either a check.
sector Error
by sector check or by a
Analyzer
checks
tracks
This gives you
the ability to
protection
been
track
has
check
indicate
tracks and
is
if sync
used
primarily has
all
find out
on the
a sync
been wiped
disk.
the
if
out
way
to
44.
any level 4
The track
locator
if any has been written on the
123
track by track
by
which can
on any
"extra"
normal
inner
tracks above
35.
wiping out a extra
Many of the protection methods
track,
tracks can
bo detected
information
or
the
tracks,
"extra"
detect
that,
The
and
and
programs. more
protection
by
is
The
a
designed
so as to
it
machine
uses
a
the next.
with lots of doesn't
only
as
on
are
Error Analyzer
you a
found.
These
should
be
as
copied
program
protection you will
sound
a
as
get
"patching"
these
chores
the
program is
which can be
technigue
Instead
which
like
feature
cleaner,
its
will
options
on
paper
work
and
cow.
both checks.
the
by our programs
back
through
With
errors in various
printouts
a
listing of
supplied
you
on disks
safer,
having
it operating.
on your
is
four times and then go on
convenient
involving many
need
found
45
on new
longer but
some disk drives.
printouts
to
takes
about
test
the disk head
printer
"map"
time.
primary
is guicker,
lias
errors
the
It
of
takes
appreciate this
make your disk
used
a
programming
errors.
If any
boen written to
check
"bump"
You will
to the
program.
amount
sector test
alignment
This will give
this
writing
short
recheck each track or sector to
or
the only program that will
errors
not
detrimental
by
idea
by
When to
a
track
sector
thorough.
is
in
good
sync,
codes have
this
do so
track
seconds
erasing
such as
to work your
your
current
locations, way through
copy disk.
T/S ANALYZER
T/S Analyzer a
error
along
has
log which to
Fastback.
the primary purpose of producing
can be
stored
as
a
file
Although T/S does
124
and
passed
not have the
advanced
reading technique
have several logging for Fastback.
you should
on,
a disk especially
In this manner,
once when the
disk to be
you will build a
need to do
and
lot of copying,
to hold your
the log only need
copied
is new.
file of error logs and
the
appropriate error
program in question.
The output of T/S
errors are encountered
T/S
be done
As time goes
if you ever
another backup you can simply load
through it,
it does
options and serves as a map maker
If you plan to be doing a
format
error logs.
of Error analyzer,
Fastback
log
for the
tells both what
as well as which sectors contain
data and which sectors are unused on the disk.
This can
be helpful
but
not
to
locate
called through
sector
what
has been
sectors which
the
have data
normal linking
destroyed,
linkster
is beyond the bad sector.
method.
cannot
are
If a
find
T/S can give you a
out
clue
as where to pick up from!
T/S
loads
"ANALYMACH".
its
As before,
of the program.
T/S
analyze
the
tested.
Once this
log or
final
is
option
You can then make your
need arise.s or printout. and
logs
this
and is
is done
(3)
saving
that at
Sectors
done you
to load
print
routines under in the
on
have
out
name
first
line
it
the
for your
to your log disk.
The
time and
previously saved. This
then
appropriate,
convenience.
FASTBACK
125
disk being (2)
if you desire.
it becomes
to
of
an error log
one
First
the choice
The number of errors counted
printed
the
gives you four options.
Tracks
printing the
to
machine
allows you
later as
the
you can make a is
kept
track of
The
error
relieves
or bad are
loq
Fastback
from
loaded
into
the
Thus
copier can be.
copier
which
program.
easily
The
Fastback
just
copies
BAM
a
Fastback
the error
log
or
errors
need
be
used
to
put
copy has
errors
is
a
on.
in
the
on
fast
as DAM
not using
an
list
made,
you
can
use
where changes,
or
Diskpicker
can
Alternately you may choose
and
try to
first
its
line
modify
you
will need
machine
of
to
the
There may be data
errors that loads
of
copiable.
for the errors.
with
saved
containing
verified
Error writers
Fastback
"ANALYMACH"
it
been
the program
sectors
recover.
sectors
that
are
as
data
is comparable to a
rather
and
to be.
sections which look
the
is
about
printouts which indicate
list/disassemble
in
is
those
but
which sectors have data
Once
Only those with valid
operation
for,
bother with any empty
subsequently
difference
destroyed
to
Fastback asks
buffer and
The
only
which
having
sectors on the disk.
your copy disk. a
from T/S,
the
to
counterpart
program.
DD-1
DD-1
is the name of a group of four programs which
provide
direct duplication
programs
are
are
1DUPDAC
for single
controller
disk
2PSIMAIN
two disk drives. as
Fastback,
an
on
the
spot
and
you
via whole disk
its controller
copies.
are
used
2DUPDAC
for
whole
backup of
find a
DD-1
less
126
is
The
1PSIMAIN which
and disk
Although not as advanced will
copy.
its basic copies
with
in technique
very handy to make
protected
disk.
It
can
be quite and
fast
you make
The
if the original use
of
programs
the
are
able
level
protection disks
track
by track
BAMs,
and
allows
to copy
since
duplication
are
reading simple
handled
and
which does
A
the
by
direct
not depend on
Track and sector
machine
speed.
and
a
lower
150 block buffer is
swaps.
writing
operation
many of
they provide
minimum number of
manipulations
full
copy features.
it skips over errors.
used for a
maximum
fast
is only partially
routines
Error
for
decoding
circumvents many
error
protect ion schemes.
The
system also
features
can be sent
to a printer
writing
removal,
or
an error
display which
for logging and
DD-1
later error
will skip sectors
which
contain errors designed to stop whole disk copiers. the program requires
the errors to
If
be present you can
use diskpicker or an error writer to replace them.
The.
"fast
write"
program to skip contain
look
for
program
writing
a
data
with other
normal
checks
it and
of
over the writing
only format
compatibility
feature
format
the
if
drives,
contents
causes
the
of any sectors which
and no
of
DD-1
program
this
"ONEs"
of
or
the
data.
can
For
be set to
"ZEROs".
The
sector
before
it contains only format data
it will
skip to the next.
The
Multiple Copy
one copy per original This
will
allow
you
Option
-
without to -read
127
allows making
rereading in
a
more than
the original.
section
of
the
o original,
tlion write it to several copies,
'This
saves a great
only
read
chosing
corresponding
basic
number
of time
since
the original
^'
is
^
once.
After
the
amount
and so on.
DUPDAO
is
PSIMAIN
of
procedure
either
this chapter
or
loaded.
version
drives for
1
you
1)0-1
2
disk
Then
type
drives,
the
NEW and
load
that corresponds
are
are given
to
using.
The
in
procedure
the
the
options
*
(\
C
and
part
of
(section 2).
r ,
£>
DISKPICKER
C c
Diskpicker
development
C
system for the 1541 disk drive. It is designed to allow
^
you
is
to develop
memory space From
there,
menu
in
a
machine
machine
and the
language
language
routines
in
routines
Diskpicker.
drive memory contents
then be examined,
can
The
be
executed
from a
into the
printed,
various
editor
machine
utilizes
C64
memory
modified
assembler
language
ZMACH which
control
memory transfer features of
for
gives
It
C
Since
C
you have a
*-
accomplishing
it the
Diskpicker
the
^
also
£
ability to switch
effortlessly between its basic and machine functions. You may wish drive
ROM
ra'ther
routines to
using
large
that
FFFF and
to make
a
ROM
listing
diskpicker.
The
16K
size
of
will make
however.
The
disk
you
need
most
reside
will
thus makes
a
the
much shorter
128
a
controller
listing.
C s
^
your disk
printout
^
can
an so on.
tasks.
of
the disk
space.
Diskpicker uses the Commodore MONITOR$8000, featured
C64
then transfer them to the disk drive.
diskpicker allow you to transfer any or all
full
the
from F24D
In
addition
disk drive,
the
disk
memory
can
writing
drive
to see
and
what
is
images
created
normally.
With
routines
can be
these
out
The
given
data
other
and
the
available are
will
diskpicker,
special
This
allows
format
produce
to
the
from
to computer you to
information
Also modified
written to find
headers
errors
if
read
machine language
and
read data
gives you the
after
power to
methods of your own as well
that would otherwise
procedure
next as
see.
sent
sectors
back
,
which
specific
in
to load
Diskpicker
modified headers.
read
bo
there.
experiment with protection as
to
transfer them
you normally couldn't be
routines
you will also be able
look at header that
to
for
section
be
hidden.
Diskpicker will
but
the
menu
be
options
follows:
1...Transfer disk memory to buffer
(in C64)
2...Enable monitor
(machine E/A)
3...Transfer
buffer to disk memory space.
(C64)
4...Direct execute user program. 5...Job
Que
execute
user
program.
6...Load Sector to disk buffer. 7...Initialize disk
I/O.
8...Format Diskette.
ZMACH
Zmach load
any
is a time
short you
machine routine
are
particularly Monitor$8000.
using Zmach
129
an
which you can
editor assembler,
provides you with
a
way to save? fortli
and
between
necessary
exiting
to
from
restore
basic
and
prevent,
the
zero
machine
"lock
editor
page as you
up"
qo back and
language. of
assembler.
the
When
This
is
computer
when
loaded,
before
going to the E/A, you SAVE ZERO PAGE by typing SYS'19152
Q
RETURN. Later, after you exit from the machine monitor,
^
you
type
SYS491H4
to
RESTORE
ZERO
PAGE.
SECTION 2 — PROCEDURES
We will to
follow with
remaining
1
start
this
section with general
any new disk
individual
^
and
we will
(] !
notes to make
you aware of additional options that may
t '
not
from
Do
a
with
users standpoint.
a SUPERDIRECTORY
disk.
programs
cover
special
be obvious
utility
then
procedure
listing of what
is on your
new
If you have a printer, make a hard copy for your
records.
2
Run use if
an of
error
errors
making
3...Choose Go
ERROR ANALYZER TRACK check. protection
show up.
hardcopy
as
Next
to
do
a
tracks.
TRACK and
identify
Make hardcopy
SECTOR
analysis,
needed.
copy method.
directly
and extra
This will
DD-1,
procedure
DD-1
for
FASTBACK or RELOCATE/LOAD. method
PROCEDURE
chosen.
([ •
t-
1•..SELECT
and
LOAD
"1PSIMAIN",8
2... SELECT
and
LOAD
4...SET
a
and
change
last
line of
menu
NOTE:
if
have chosen this to
conserve
FAST COPY
NEW
and
LOAD
1
P=0 to P=l
after each error is
changed
for
STOP after
have
read
on
track
?PEEK(25G2).
If
POKE49751rl.
If
both
for
DD-1
MULTIPLE COPY
POKE49174,
Thus poke
on.
default
1
device
device number 9
few sectors
?PEEK(2561)
0,
of
and
POKE49747,1
and
then do nothing.
0
FAST COPY.
Default
makes
EXTRA copies desired].
for
value
program with
first
then
poke will produce
cycles.
6...DUAL DISKS;
the
1
option.
[number of
the value you
are
for your
space.
DD-1
one.
both PEEKs were
value
buffer
Run selected
but
been
from
method of configuratioA
memory
MODE.
to
you use this option a
copied
The
line
program
disk to be
5...SET
LOAD
wish to save the modified version
We
is default
and
then
must be pressed
to SYS49881.
lot you may
over
F7
unless
own use.
NEW
drives.
List
printer.
SYS49903
"2DUPDAC",8,1
for dual
3...PRINTER option.
printout
then
for single drive users.
"2PSIMAIN",8
turn on
"1DUPDAC",8,1
2 copies, 0
for
3
produces
one
copy.
8
for copy disk.
131
for
copy.
Note that
that many EXTRA write 2
number
one
copies
and so
original disk,
and
7...Run
J)D-1
formatted
option.
program disks
chosen.
for
copies
If you forget,
in normal way.
(Do
You
must
use previously
since DD-1
has no format
just RUN/STOP and format disks
not use wedge),
then
RUN again.
Follow PROMPTS on screen.
^ s-
Q
C 8...Bell
indicates program read or write
SECtor,
and
ERRor
displays
and any errors encountered.
is
active.
indicate current
TRack,
location
s-
You will have time to write
(^
the info down if an error was found.
You must press F7
L
after error to continue with copy process.
FASTBACK
1...LOAD and
printout
run T/S
PROCEDURE
analyzer.
if desired.
SAVE
Follow
error
PROMPTS.
log on
Make error
disk reserved
for that purpose.
&■
£
C
2
LOAD and RUN FASTBACK. Follow PROMPTS.
^ O
3...After copy is
done,
use error log
and
error maker or
Diskpicker to write errors back on copy disk.
4...As
an alternate
original these
program
routines
to error writing, and
may
Relocate/Loader
try
be
to get
in
the
boot,
into these
routines.
you may need
routines.
RELOCATE/LOADER PROCEDURE
132
C
to disassemble
remove error checking
Q
•
As
to use
1...L0AD and
2...Follow to bo
3...Type
RUN RELOCATE/LOADER.
PROMPTS
and
select
program
from
Relocate/loaded.
in
EXACT program name when asked
4...Save the
Relocated
program you can needed
for
often
as
copy.
load
picking. needed
If you are
The
for
relocated
copy can
study purposes.
need
start
"picking".
While picking,
normal machine
relocating
completed address,
the
any go
to
language
has
address
the
and
RUN
IF
track
and
which is
a
It
as
will have a
2560.
until
loaded
You do not
you are
done
changes
COPY and and
now
if
you have
need
to
reset
PROCEDURE.
PROCEDURE
DISK-EDITOR.
select
RESETTING sector
the
to
DISK-EDITOR
2...Follow PROMPTS and edit.
be
tools
routine.
DISK-EDITOR
1...L0AD
to pick the
you can save the program as a
been done
needed
it.
Editor /Assemblers or other
$0A00 or decimal
to change
for
trying
starting address of
5...If
original disk
for
first
Superdirectory
track and sector desired to
ADDRESS, the
this will
program.
track and
listing to
If
be the
you
sector you will
find
133
out.
do
not
need
first know
to do
c 3...Once desired sector display with the The
first
two
lias been loaded,
you will have i
hex values of each byte are
green
r
(Convert these to decimal to find
Q
next track and sector and convert any desired values to
^
hex before trying
to
if
and
next
track
replace
are
the
current
sector
is
NEXT
sector. and
SECTOR values IN HEX.
and
in the
*-
ones)
given as
TRACK
For example 17
10;
the
decimal value is 23 16. If you wish to change this link
C
to.
^
to say track 1 sector 12 you would type in 01 0C.
4...If you want
in
the 3rd
to change
and
the LOAD-TO address,
r ,
C
ones) Remember this only applies to the first sector of
^-
The
values
high
all
are
byte
in
load to
hex with
00
the
If
copy,
these numbers:
will
others contain data
second.
relocate/saved
(Two
is given
following the green
the program,
4th bytes.
it
C c
you 0A
location
in
low byte
you
location.
first
and
Which means
r
a
{T
this location
*-
that
at
the program
r
address back to what is used on the original disk, look
Q
up the correct start address from the HEX.ADD column of
*-
your
^
listing of
that
resetting
r
the
Superdirectory
If you are
_
the
are looking
would see in
$0A00.
this
disk.
C 5...Once all desired
PROMPTS one.
to either
changes have been
made,
SAVE changed sector
SAVED sector will
replace
itself
on
follow the
C
or get another
^-
the disk.
~
C G C C C C
8
DISKPICKER
The
uses
of
simple procedure allows will
you
to
Diskpicker
can
give you.
to use the
example error
routines
Beyond
you will need
this,
sucessful.
MONITOR$8000 disk. the
As
options
Note
cannot
is
the
occupy
locations. space
lines
that call).
the
beyond is a
fluency
that
and
to the disk.
call
Remember that
of basic
developing
information
read
routines
from the disk.
and
a
copy of
PSIPACK to change
MONITOR$8000. other monitors
RAM
You will need some free RAM to use
for
language
your
if you want
load and
we
give you some
obtain
saved on
beginning
system that
in machine
you must
be
what a
in the disk,
which you can send
which should
program
it
to use
Other monitors may be used
(SYS32768
will
go well
develop programs
explain how
to be
PROCEDURE
or
as buffer
for
Typically a
$C000
storing
couple of
K
be enough.
1...L0AD and
RUN Diskpicker.
2...MENU OPTION
1
-
Transfer disk memory to buffer.
The purpose
of
locations
in the
memory
of
the
study,
and
this option
disk drive to
C64
modify
options
will
allow
memory.
Since
the
from where
to
to allow any valid
be transfered to you
as desired. you
is
The
make
can dissassemble,
monitor printer printouts
of
total RAM in the disk is only
135
the
this 2K in
size,
you
have
for this
v
purpose. The requirements of Diskpicker do limit you to
^
using memory between
^
Option DISK
locations
you
buffer
STRONGLY
64
is
starting
transfer
to
will
recieve the
that
you
if
you want
you should use
or 4300 or
5300 etc.
NOTE:
the
$7FFF which
for the
to
to the C64
meaningful
in
the
20K.
and
ending
_
C64.
These
f
It will then ask you where you want the
which
Thus
ask
want
recommend
offset.
room
$3000 and
one will
must be in HEX!
C64
plenty of
because
We define
We
*-
page
^
$0300-$03FF
r
a buffer start such as 3300
C
will make disassembly more
^
page
00-FF as
use
to be.
the
to transfer disk
This
all
always
data
(/
addresses
location
will
same
be the
address;
same.
-
000-F00 as
C
page address; and 0000-F000 as block address.
C
c 2...MENU OPTION
This
2
-
Enable Monitor Mode.
option puts you
. use Monitor$0000
typical
you
can
machine
routine
option
3.
from a
select a can
be
looking at
an ASCII as
well as hex dump.
be
acess
meaningful
in
this mode.
For
Q
a
C_
memory,
Keep a
to
the
disk
by
that you have
s-
we recommend
Q
will give you
L
This can be useful when
codes or particular ASCII.
s-
area and write
command which
We The
information
disk through disk
assembler. purpose.
transfered
(intorrogate)
for
in
memory
using the I
looking
for this
are available
which
When
the editor
Commodore)
E/A features
example,
loaded
(by
into
f
copy of
^'
info which would
r-
figure
C
3.3
(disk
map) handy when using the monitor.
C '
C To EXIT the monitor mode,
type G C020.
This will
C
I
return
you
to
the
programs or data
intact as long on
top of
This
main
menu
that you were
in
basic mode.
Your
working on will remain
as you do not try to transfer something
them or
gives you
erase
them with a
the ability to
disk memory or machine routines
monitor
command.
keep many "images"
of
in memory at one time.
3...Transfer Buffer to Disk Memory
This option allows you to send the data or program that you have in the C64 buffer space TO the disk drive
memory. system
Remember that purposes and
programs to these 0300,
0400,
the disk uses you
will not
locations.
0500,
0600,
uses.
$0000 to $02FF for normally
The buffers
and 0700
transfer
in the disk,
are perfect
for
such
S
4...Direct Execute User Program.
Assuming
disk drive, program
address to
you have
this
to be
(hex)
begin.
executed!
in The
proper
memory*
is
in the
You
the disk at
to cause
is
a program
option will allow
Diskpicker It
transferred
you to cause that
will
be
asked
for
the
which you want execution
commands will
that program to
a good
to the
be
sent by
RUN in the
disk
idea to make sure a scratch disk
drive the first
few times you try a routine
in case it backfires.
Direct manipulate
Execute is data
reading or writing
rather
primarily than
.to sectors.
137
for routines
routines which The reason
which control
for this
is
that
direct
track and
execute
does
not
provide
for
automatic
sector preparation as does Job Que
Execute.
o ^
Q
C 5...Job
Que
Execute.
This option provides A
PART OF
r
the
r
drive will find the track and sector you have selected,
C
and then execute
your routine
*-
normally have
^
The
r
if
would
been
of
you
the
select
say
ROUTINES.
a Job Que
the
save you
might
disk routines.
the trouble of
In
WRITE,
Normally
to affect what
through
functions
lets
DISK
your routine.
be designed
done
EXISTANT
^
other
words,
one
execution of your routine AS
job que
trying to get
the
motors going, find track and sector, etc. The
following
list
gives
the
C ^
direct
execute
\~
commands:
128-READ -Reads
in selected
sector.
*-
144-WRITE -Writes to selected sector. 160-VERIFY -Compares
sector with one
176-SEEK TRACK -Locates 184-SEEK
SEC -Locates
specified
specified
Q in memory.
track.
sector.
192-BUMP -Runs head to stop and bumps 208-JUMP -Jumps 224-EXECUTE
Que,
finds
or
track and
of one of data
is
its
s-
(resets head)
£
specified memory location.
-Puts Track
goes to your routine
to
v.
and
sector,
Sector to
loads
machine routine.
Note
in
j:
header there and
s~
that your machine
Q v.
the five buffers, $0300 through $0700. Since
^
from
the disk
start
header,
drive inoiuory will bo affected.
at
affected
beginning
read
jump vector must
the
be
V
the
variables
in
the
r
Q
C 138
C
C
6...Load
Sector To Disk Buffer
This
option will
and sector) memory.
and
the headers
(track
will then load that sector to the disk
From there
for study.
ask you for
This
it can be transferred
option is useful
to C64 Memory
to examine specific
sectors.
7...Initialize disk I/O
This is essentially
the
disk to
wiping
power up conditions.
out all
Useful when you
other
a RESET command which returns
of memory like need
operations.
command any time
to be
It
a
sure
is a
It
does so without
C64 RESET the
good
disk
would do.
is
clear
idea to
for
use this
you have uncovered and error and wish
to send new commands to the disk.
This makes
sure the
disk is ready to receive the data properly.
8...Format Diskette.
This
option allows
breaking out of
to format a
program.
will typically be
diskette without
This can be useful
since you
trying to do things which can
"mess"
up your practice scratch disk!
9...Resetting.
If reset.
the
system
In extreme
locks
up,
use
SYS49184
cases you may need
turn off the computer.
a
reset
(See Appendix E).
139
for
a- warm
button or
X is used to
c c escape an input mode question.
(
C c C C c
ADVANCED TECHNIQUES In making protection,
go
beyond
simply
program test the
writing
There
an
some
error
error by trying
Error writing programs option.
there are
things which
and
r~
having the
to load the
Q
sector.
C
to date leave you with little other
are many things
possible
of which we will
s-
try to start you thinking about a few.
Consider first,
Q
how a disk sector
c
or partial
Q
track could be erased. The disk would normally find
C
this sector by its header, which
*-
has
been erased.
bad,
you can
However,
if you know which sector
front of it, which is good. Once the preceeding good
C
sector is found, the disk is programmed to wait for a
*-
certain
^
and
write
"nonexistant"
look
for the
some data.
sector.
This
sector
^ C
period
the disk to
is in
to the
tell
can't be done if it
data
then goes
A similar process can be
r
used to read this data. A quite effective means of
C
protection since it is difficult to reproduce the exact
^-
parameters used
^
be
used
on
the
Other ways
to write "extra"
the data!
tracks
to protect
GAP at the end of a
track.
This
beyond
include
variation can
35.
r
putting data
in
C
the
r-
If your copy maker is not
Q
aware that data is there it will not look there. With the machine be
road
in
a
routines
we have
included,
fashion
similar
to
the
the gap data
above
process.
C
can >
s-
C
140
C
c
Tracks and Sectors can be given
illegal numbers by
changing this data in the header.
(Appendix F)
The
normal DOS will not accept out of range values. machine routine used by the disk drive can do
A
this.
The
diskette could also be entirely or partially formatted in an abnormal pattern which would only be recognized by a modified
DOS
routine.
Another devious means would be sync pulses
pulses
could
spacing.
on
an unused
be encoded
part
have
a
to
as
These
simple
through normal
as
be
exactly according
of
the diskette which cannot
DOS routines.
routines.
is hard enough to understand how the normal
routines function/ done
idea of
if you go outside the confines of
DOS and develop both reading and writing
someone has
to a
or the program checking
These examples should give you a clearer what can be done
sync
Breaking such a system would require
sophisticated analysis
be done
disk.
"encoded"
the time between consecutive
predetermined VARIABLE spacing/ them would abort.
the
by a means
In other words,
sync pulses would
of
to write
let alone trying
beyond
this.
the It
DOS
to figure out what
These methods
will not be compatible with other drives.
by nature
It
is
also
interesting to note that copier programs usually will not copy themselves... obsoleted
in other words
by their own manufacturers
developed protection that they
can
cannot
do
copy
it,
so
itself,
can
they are since
they have
foils their OWN product!!
anybody else.
you may rest
141
If
certain
a
copy
that
If
program
within a
VERY short
time
o c
there will be many new programs out
that it also cannot copy!
r \
If the market continues to
develop in this direction, we will likely continue with our development of
a
disk
"Dumb Copier".
Such a
Q"
^~
system
will put to rest any protection that does not involve
/-
external hardware or physical modification of the disk
Q
drive.
v.
C C ERROR WRITING PROCEDURE
Following
are
some examples of
*~ c c
how
to send error
writing routines to the disk via Diskpicker. In the program section of all
the error
this chapter we have
routines
included.
C
listings for
You may prefer to
write a basic program which "sends"
Q
*r
these routines to
C
the disk and then executes them. We have chosen not to
C
as such error writers are abundant already and become
*-
outdated
^
as
fast
familiar with
as
they
are
sold.
the techniques of
If
you
become
Diskpicker,
you will be
able to add and modify routines as YOU see fit.
IMPORTANT:
Although
every
these procedures compatible
apparently
four revisions
Commodore.
As
compatibility
explained
can not guarantee on
all
past
earlier,
is of
many
forms
can of
procedures.
C
to make
there are
ROM put out
this
by
C C< **
Q
L ;
lead to
^-
protected
s-
is
Q
We
L
making routines will
^
future versions.
142
made
1541s,
questionable
that all error and
was
of the DOS
AS error making
why such protection
work
with all
problems with
software AS WELL
attempt
Q
This
validity.
s-
C
O
SPECIAL
INSTRUCTIONS AND CAUTIONS
NOTE:These techniques should not be attempted if you do not understand the underlying principles. Indiscriminate use could cause the disk head to stick which may require partial disassembly
1.
To
Escape
requested
back to
input
Main
Menu,
to correct!!
Input
letter
X for
value.
2.
To escape from Monitor$8000, space btween G & C020)
input G
C020.
(requires
3.
If disk or computer locks up, (and if you have a reset button), press reset and enter SYS49184 to restore system.
4.
Always Format disk to be written to with the same disk ID# as
5.
the original.
Never select tracks above 44 or disk head will bang against end stop and may get stuck. If this happens you will need to open disk case and gently push head back to
center.
6.
If head gets stuck, first operation or call the Job Que
7.
Always input valid header # and when using the Job Que. ERROR
20
try by using Initialize Bump command, #192.
NO
data
Load and run Diskpicker.
2.
Select menu option
3.
Input
L"20
NO
2.
track &
sector
HEADER
Erases header from specified
1.
for
track and sector.
Set printer choice
HEADER",08
After
"N". load,
Input
G
C020.
4.
Place diskette
5.
Select menu option 7.
6.
Select menu option 3.
7.
Input disk start
8.
Input disk end
9.
Input
Buffer
10.After Data 11.Input
to be written on in drive.
address
0300.
address 034F.
address
transfer
Job choice
execute address.
3300.
to disk, 224.
select menu option 5.
Select
choice
F0R
ONE
SECTOR
FOR
ALL
SECTORS.
143
SET
1
(0300)
for
MULTISECTOR*'N'
SET
MULTISECTOR*'Y'
12.For header #1,
13.For header#2, Note:
If
track # desired to write ON.
(USE 0 FOR SECTOR #s
sector
0 is to
highest sector'number
manual).
Q>
input value ONE LESS than sector desired
to write ON.
*
input
i.e.:
Input
being chosen.
14.REPEAT the above
1)
be written to,
the
C
a 20 if sector 0 on track 1 is
v-
on this track.
(see
select
O
Q
drive user
steps 8-11 for writing type 20 errors
to other headers of your choice. * Intermixing read, write and load operations may write over the error
routine being held in the disk memory buffer.
/-
Q
C. f
C
15.To test your errors, select option 5 (Job Que Execute).
^-
16. Input
v-
17.For
job choice
header #1
,
128.
enter
track #desired
to
read,
and
header#2, enter the sector number to read.
for
18.If everything went right, you will see the proper error message and OP status code.
**
For error
routines 21 ERASE
DATCHKSUM,
and
instructions
SYNC
as given
track and sector
around
thru
above
#s you wish
is
needed on sector 0)
44.
This will change
is usually used
reading
FOUND.
TRACK,
WRITER,
22 NO
repeat
DATA,
the
EXCEPT select
23
same
the EXACT
to write on.
(No wrap
The SYNC WRITER routine
to write sync pulses to tracks from 35
these areas
the error returned
from sync not
•
found
C
^
Q
C
Q
C r
^-
when
Q
to HEADER NOT
^
L
C READ HEADER
C
c This routine reads the GCR header from
a disk and
Q
allows you to put it in the computer for analysis or modification. By using this routine and the HDR WRITE you can "SPLICE:" bad headers from original disks on to your copy disks. In many cases this is more effective
^ v_ r
than
been
trying to
used
for
reproduce the header
protection.
1.
Load and run Diskpicker.
2.
Select
3.
Menu
Input
HUH",00
4.
After load,
5.
Place*
option
2
and
printer
choice
after load,
input. (] C020 to
be
read
(_ s-
Q
L"READ I!DR",08
diskette
errors that have
"N".
input
v.
LMCOPY
^
C *-
into drive.
^
C 144
C
6.
Select menu option 7 then option 3,
7.
Input disk start address
8.
Input disk end address
9.
Input buffer address 4300
10.After data
transfer,
11.Input Job choice address SECTORS
0300
034F
select
224
and
Of 0300. FOR ONE MULTISECTOR='V
12.For header #1,
menu option
enter
5.
select choice
SECTOR,
1
for execute
MULTISECTOR*'N'
FOR
ALL
track header you wish to copy is
on.
13.For header #2,
enter
sector value ONE LESS
value with header you want, ie: Input 0 choice. ** For sectors 0, seiect last sector on 14.Select menu option 15.Input disk start
16.Input disk end 17.Input
buffer
if
than sector
sector
that
1
was
track!.
1.
address
of
address of
address
of
18.After data transfer, printer option.
0400.
05FF.
6400.
select
menu option 2
19.Use memory dump command ( M ) image of the header and data memory locations from 6400 to explanation of GCR image. main menu.
and desired
of monitor to display GCR now contained in computer 65FF. See Appendix F for G C020 will return you to
COPY HEADER
Writes object
GCR image
diskette.
header from for
1.
Follow steps
2.
Insert disk to be written to
3.
Select menu option
4.
Input disk start address
5.
Input disk end address
6.
Input
7.
After
buffer
1-19
of
Useful
disk buffer
to
SPLICING.
for Read Hdr routine.
in drive,
(object disk)
3.
address
transfer of
ERROR
0300.
035F.
3300.
program
to disk,
5.
145
select menu option
c c 8.
9.
Input Job
Choice
224
and
select
choice
1
for execute
address of 0300.FOR ONE SECTOR, MULTISECTOR='N' SECTORS MULTISECTOR='Y1 For header #1/
to.
10.For
header#2,
sector
choice.
enter
to be
the
track header
sector
ie:
ONE
Input
is
LESS
to be written
than desired
0 if 1
is your
use highest sector value on THAT track,
in other procedures.
11.If everything went right, thru 19 to written! !
value
written to.
* If choice is 0, as described
enter
FOR ALL
look
you can use READ HDR steps 5
at and
verify
the
new
header
just
(~
^ C r
V ^
^-
(~
C
r~
Q ^ v-
C EXTRA NOTES
C
c Remember,
control
is written
and
give
sent
to
you
Q
is a disk development system especially for
which are
simple to use
C
programs are obsolete shortly after they are sold. With
^
DOS routines which are by nature short and easily traded, and use Diskpicker to transfer and execute these routines. Dedicated error writers generally try to keep you from getting into the program let alone
^~ v_ C
they have decided
Diskpicker you can
but restrict you
^
to
what
should be used
for errors.
concentrate on collecting
Such
modified
modify and update it.
Below are listed
some protection possibilities to
look for on original diskettes:
1.
(^
experimenting with and testing modified DOS routines. Do not confuse its intent with that of "turnkey" error
writers
what
designed to
^
It
exactly
is
the
disk.
of
Diskpicker
Missing or extra sync bytes.
this.
Use READ HDR to look for
f~
(^
C ^~
Q
C
r
2. Missing header or illegal header ID.
C
3. False header checksum.
^~
4.
Illegal
5.
False
ID
or missing
sectors.
numbers.
_ r
6. Protection data in GAP area.
Q
7. Missing or illegal data block ID byte.
^>
8.
Data
^
9.
False
block data
10.Protection
missing. checksum.
data
in end
of
track GAP.
146
11.Protection
data
combinations. ♦Note: It is
encoded
possible
using
to achieve
sync
some of
pulse
the
errors on tracks 36 thru 44 as these are available using the disk controller software.
above readily
Even though protection errors will cause loading problems under normal conditions, it is a fairly simple process to recover useable data from a bad sector. This is done by analyzing the error and writing a short machine program to recover the data. The trick is to sync up on a previous sector's sync pulse and count bytes to the location you wish to read from. When counting bytes, sync pulses show up as ONE byte even though several have occurred. A valid sync pulse does not
always
show
up
on
a
GCR sector
read
out
as
an
"FF".
The general philosophy for precise error writing is to place the GCR data you wish to record in one of the disk memory buffers, find a valid sync pulse on a nearby preceeding sector, count bytes up to the area you wish to write to, switch the disk controller to its write mode and dump the buffer to the diskette. Switching from read to write is Best accomplished during the gap time when GCR 55*s are being read. The read/write techniques just described will allow a clever programmer to read or write desired information to/from any place on the diskette!! Good luck!!!
***
IMPORTANT:
Diskpicker
When
procedures,
switching be
diskettes during
sure
to perform
Initialization - Menu option seven. This will insure that the drive page zero memory locations are initialized to the current diskette identification parameters. THIS DOES NOT HAPPEN ON POWER UP!
147
o c c c c CREATE
1.
2. 3. 4.
For
checksum
error
HEADER
ERRORS
in header,
^
load
monitor mode of Diskpicker.
ICON
If checksum in header error is not desired,
through monitor mode.
HDRthrough
t f
load CONHDR
v-
Q
Load WRITE HDR through monitor mode.
PUT
OBJECT
Select
desired.
DISKETTE
6
IN
v
DRIVE.
from main menu
and
r
enter
track#
and
sector#
C
5. Select choice 1 - (Transfer disk mem. to buffer)
^~
Start addr. 0000
■ 6.
End
addr.
Buff. addr. 6000 Interogate
mode.
8.
9.
.
memory
Refer
Locations"
7.
Q
OOFF
to
identify byte
Change locations
Disk
locations 6000 -6030
to Appendix
ID #s might
F
form monitor
"Important Disk
functions.
to value desired
normally be changed.
Memory
to create errors.
The GCR image of this hdr can be seen in computer buffer locations 6024-602B. (Which come from disk
(L.
f~
C
*-
£ _
C.
END ADDR Select 3
r
001B BUFF from main
Start addr. 0300 addr.
ADDR 6016 menu.
Q
031F
r
Buff. addr. 5300 10.Select
4
^
from main menu.
11.GCR image is now ready for transfer
Entry addr.
0300
r
in disk memory locations 03E0-03E7, to the object disk. Make sure object
disk is inserted in drive.
12.Select 3 from main menu.
r
Q
^~
Start
addr.
0300
Q
End
addr.
036F
r
Buff. addr. 3300
14.
^
memory 0024-002B) SELECT 3 FROM MAIN MENU START ADDR 0016
End
13.
r
Select
5
L
from main
menu.
Job
execute start addr, select 1
choice
(0300)
=
224.
For
For Hdr #1, use track desired. For Hdr#2, use ONE LKSS than desired. ("wraparound as in earlier procedures),
IT).To check
ie:
errors,
For
sector
follow
1
enter
read header
148
a
0.
techniques.
( *( _
C
(
\
1PSIMAIN 1 SVS49891P=0 2 SVS49844 3 SVS49516:X=PEEK:0NXGGT04,3/5/18
4 T=PEEK : S=PEEKc:49157> = PRINT#15/ MU1 "2; 0; T;S: G0SUB25 = SVS49691:60T03 5 SVS49853-2=0 6 SV349939:X=PEEKo© wen©
© o -jo
co m
mrno
ti m td cd os
i «a>
OOOOOOOO
o ©
»-* ~\| i-* Ijj
\
i
n
>
O
TJ
J8888RRi8888888888888Ri888Ri88888SS8883S» |
1 O VD OQ U1 M »-* I
)orunoooooonrn-)onqoooopppooon PPPP2G22QD22222 22222222222
2DUPDAC C2R4 C2fi5 C2R6 C2fl7 C2R8 C2fiB C2flE C2B1 C2B4
C2B5 C2B6 C2B7 C2B3 C2BB
C2BE C2C1 C2C4 C2C7 C2C8 C2C3 C2Cfi
C2CB C2CE C2D1 C2D2 C2D3
C2D4 C2D5 C2D3 C2DB
80 68
89 20 20 20 20
60
00 00 00 20 20 20 20
60 RTS BRK BRK BRK 3B C0 JSR SC83B CD C0 JSR $C8CD 46 Cl JSR $C146 R0 C0 JSR $C8R0 RTS BRK BRK BRK 3B C0 JSR $C8SB CD C0 JSR $C0CIJ 59 Cl JSR $C159 Fl C0 JSR $C8F1 8B Cl JSR $C18B RTS BRK BRK BRK 3B C0 JSR SC88B
20 60 00 80 00 20 20 5E C0 JSR *C65E 60 RTS 00 BRK 00 BRK
00 BRK 20 SB C0 JSR SC08B 20 R0 C0 JSR *C0R0 60 RTS DATA
TABLE
CDF0 93 20 20 20 20 28 20 20 CDF3 20 05 72 72 72 72 72 72 CE00 72 72 72 72 72 72 72 72
CE03 CE10 CE18 CE20 CE23 CE30
72 72 72 72 72 72 72 72 72 72 0D 20 28 20 20 20 28 20 05 43 2D 34 20 44 49 53 4B 20 41 43 4B 2D 55 50 20
44 55 50 44 41 20 R3 R3 R3 20 20 50 31 42 55 11 28 4F 20 28 56 45 28 2fl 2@ 11 11 11 11 05 20 49 4E 53 45 43 4F 58 59 20
CE38 20 20 20 20 CE40 R3 R3 R3 R3 CE48 R3 R3 R3 R3 CE50 R3 R3 R3 R3 CE58 R3 0D 20 20 CE60 20 20 20 28 CE68 23 43 29 20 CE70 41 43 20 9E CE73 0D 11 9F 9F CE80 49 43 20 4E CE88 52 53 0D 04 CE90 9E 2fl 20 2fl CE98 45 52 54 20 CER0 49 4E 41 4C CER3 4B 20 49 4E
CEB0
CEB8
43 20 R3 R3
R3 20 20 53 39 59 4D 11 49 52 44 44 2fl 2R 52 44
CEC0 CEC3 CED0 4B 20 49 4E 20 44
8D 20 R3 R3 R3 20 20 49 38 20 42 11 4E 49 49 52 8D 28 54 49 52
72 20 36 42 32 20 05 R3 R3 R3 20 IE 44 33 56 45 11 53 47 53 49 94 2fl 20 53 49
56 45 11 11 52 45 2fl 20 2R 28 29 4D CF03 41 42
CED8 CEE8 CEE3 CEF8 CEF8 CF00
CF10 CF13 CF20 CF23 CF30 CF33 CF48 CF48 CF50 CF53 CF60 CF63 CF70 CF73 CF30 CF33 CF90 CF93 CFR0 CFR3 CFB0 CFB8 CFC0 CFC3 CFD0 CFD3 CFE0 CFE3 CFF0 CFF3
158
2R 2R 4D 42 3D 2R 41 4D
20 28 44 0D 00 15 00
07 03
0B 15 0F 15 00 FF 00 IB 12 IF 11 BB 00
0D 20 4F 4C 04 20 54 50 2fl 52 49 04 00 02 15 00 15 00 0E 06 12 13
16
13 00 IE 02 22 00 00
20 2fl 28 2R 9F 2fl 20 2R 53 53 28 46 2R 8D 84 11 2R 28 52 45 4F 44 45 20 4C 45 44 26
04
11
11 57 52 49 44 45 20 45 44 20 11 11 9F 44 55 50 49 4F 4E 4C 45 54 0D 11 11 45 4D 4F 53 43 20 00 00 08 88 00 00 80 15 03 85 00 15 15 03 00 09 00 15 15 0C 00 00 15 0F 15 10 80 00 13 13 15 00 13 11 13 17 19 00 12 12 1C 00 00 12 IF 11 20 00 00 11 23 00 00 88 00 00 80
05 54 45 2R
9F
©4 58 20 9E 44 45 4E 8D 28 37 11 41
2R 28 2R 28
45 28 4E 41 20 2R 2R 26 49 43 43 4F 20 2R 20 2R 45 28
4C 20 45 2R 56 2R 20 2R 00 88 66 00 81 68
60 15 84 86 00 15 83 FF 63 8R 00 15 15 8D 68 86 86 FF 15 11 68 00 13 14 16 86 11 68 13 13 1R 66 12 12 ID 88 06 02 FF 11 21 66 00 11 FF 88 86 68 80 86 66
SUPERDIRECTORY 5 IFfl=0THENfl=l:LOflD"ADMflCH11,8,1 10 POKE53280,11 P0KE532S1,11:TR=18 SE=1:DIMfl:DIMB 15 HX*="0123456783RBCDEF" 18 P^INPUT'TlaPRINTER V/N";VN$: IFVH*="V"THENP=1
20 25 30 35
PR I NT" 7X1 SUPERBIRECTORVil 34 PSIDRC VfiN4" IFP=1THEHOPEN4,4 = PRINT84 = PRINT#4,CHR$< 16) " 15SUPERDI RECTORV" : PR I NT #4: CL0SE4 PRINTMMINSERT SOURCE BISK IN BRIVE" INPUT°MDISK NRME";BN*
40 IFPD=1THEN50 41 PRINTMM«PRESS F7"
42 GETA$:1FR*OI1II'ITHEN42 45 IFP=1THENOPEN4,4:PRINT#4,"DISK HRME = "BN$:pRINT#4 CL0SE4
50 OPEH15,3>15:OPEN2,3,2>"#M:PRIHT#15,1IUl:ll2;0;TR;3E
60 SVS49152 70 CL0SE2 CLGSE15 80 FORRP=0TO255
100 R