mirror of
https://github.com/iKarith/beneath-apple-dos.git
synced 2024-12-26 02:30:09 +00:00
Remove trailing nulls, .pp tags
PIEWriter dot codes are case-insensitive, and I've deciphered that .pp is a paragraph break. Replace those with blank lines. The NUL at EOF was escaped, but it can be simply deleted. Did so.
This commit is contained in:
parent
1d9b739d80
commit
27bcf5f79c
@ -12,7 +12,7 @@
|
|||||||
.ce
|
.ce
|
||||||
CHAPTER 1 - INTRODUCTION
|
CHAPTER 1 - INTRODUCTION
|
||||||
.sp 2
|
.sp 2
|
||||||
.pp
|
|
||||||
Beneath Apple DOS is intended
|
Beneath Apple DOS is intended
|
||||||
to serve as a companion to Apple's
|
to serve as a companion to Apple's
|
||||||
DOS Manual, providing additional
|
DOS Manual, providing additional
|
||||||
@ -35,7 +35,7 @@ contents of the DOS Manual. Since
|
|||||||
all chapters presented here may not
|
all chapters presented here may not
|
||||||
be of use to each Apple owner, each
|
be of use to each Apple owner, each
|
||||||
has been written to stand on its own.
|
has been written to stand on its own.
|
||||||
.pp
|
|
||||||
The information presented here is a
|
The information presented here is a
|
||||||
result of intensive disassembly and
|
result of intensive disassembly and
|
||||||
annotation of various versions of DOS
|
annotation of various versions of DOS
|
||||||
@ -53,7 +53,7 @@ presented here, all of the material
|
|||||||
included in Beneath Apple DOS has
|
included in Beneath Apple DOS has
|
||||||
been thoroughly researched and
|
been thoroughly researched and
|
||||||
tested.
|
tested.
|
||||||
.pp
|
|
||||||
There were several reasons
|
There were several reasons
|
||||||
for writing Beneath Apple DOS:
|
for writing Beneath Apple DOS:
|
||||||
.SP1
|
.SP1
|
||||||
@ -68,7 +68,7 @@ To allow you to customize DOS to fit your needs.
|
|||||||
.br
|
.br
|
||||||
To provide complete information on diskette formatting.
|
To provide complete information on diskette formatting.
|
||||||
.br
|
.br
|
||||||
.pp
|
|
||||||
When Apple Computer Inc. introduced
|
When Apple Computer Inc. introduced
|
||||||
its Disk Operating System (DOS)
|
its Disk Operating System (DOS)
|
||||||
version 3 in 1978 to support the
|
version 3 in 1978 to support the
|
||||||
@ -95,7 +95,7 @@ where the
|
|||||||
Disk Operating System
|
Disk Operating System
|
||||||
Manual leaves off.
|
Manual leaves off.
|
||||||
.bp
|
.bp
|
||||||
.pp
|
|
||||||
Throughout this manual, discussion
|
Throughout this manual, discussion
|
||||||
centers primarily on DOS version
|
centers primarily on DOS version
|
||||||
3.3. The reasons for this are that 3.3
|
3.3. The reasons for this are that 3.3
|
||||||
@ -106,7 +106,7 @@ would imagine. Wherever there is a
|
|||||||
major difference between the various
|
major difference between the various
|
||||||
DOS releases in a given topic, each
|
DOS releases in a given topic, each
|
||||||
release will be covered.
|
release will be covered.
|
||||||
.pp
|
|
||||||
In addition to the DOS dependent
|
In addition to the DOS dependent
|
||||||
information provided, many of the
|
information provided, many of the
|
||||||
discussions also apply to
|
discussions also apply to
|
||||||
@ -117,4 +117,3 @@ the track and sector level is, for
|
|||||||
the most part, the same.
|
the most part, the same.
|
||||||
.br
|
.br
|
||||||
.nx ch2
|
.nx ch2
|
||||||
\x00
|
|
@ -3,7 +3,7 @@
|
|||||||
.ce
|
.ce
|
||||||
CHAPTER 2 - THE EVOLUTION OF DOS
|
CHAPTER 2 - THE EVOLUTION OF DOS
|
||||||
.sp 2
|
.sp 2
|
||||||
.pp
|
|
||||||
Since its introduction, Apple DOS has
|
Since its introduction, Apple DOS has
|
||||||
gone through three major versions.
|
gone through three major versions.
|
||||||
All of these versions look
|
All of these versions look
|
||||||
@ -22,7 +22,7 @@ fit on a track from 13 to 16.
|
|||||||
DOS 3 - 29 June 1978
|
DOS 3 - 29 June 1978
|
||||||
.br
|
.br
|
||||||
DOS 3.1 - 20 July 1978
|
DOS 3.1 - 20 July 1978
|
||||||
.pp
|
|
||||||
The first release of DOS was
|
The first release of DOS was
|
||||||
apparently a victim of a rush at
|
apparently a victim of a rush at
|
||||||
Apple to introduce the DISK II. As
|
Apple to introduce the DISK II. As
|
||||||
@ -32,7 +32,7 @@ and the introduction of the AUTOSTART
|
|||||||
ROM, a new release was needed.
|
ROM, a new release was needed.
|
||||||
.SP1
|
.SP1
|
||||||
DOS 3.2 - 16 February 1979
|
DOS 3.2 - 16 February 1979
|
||||||
.pp
|
|
||||||
Although DOS 3.2 embodied more
|
Although DOS 3.2 embodied more
|
||||||
changes from its
|
changes from its
|
||||||
predecessor than any other release of
|
predecessor than any other release of
|
||||||
@ -44,37 +44,37 @@ are listed below:
|
|||||||
.pi-2
|
.pi-2
|
||||||
.in2
|
.in2
|
||||||
.ps0
|
.ps0
|
||||||
.pp
|
|
||||||
- NOMON C,I,O is the initial default
|
- NOMON C,I,O is the initial default
|
||||||
under DOS 3.2. MON C,I,O was the
|
under DOS 3.2. MON C,I,O was the
|
||||||
default under DOS 3.1.
|
default under DOS 3.1.
|
||||||
.pp
|
|
||||||
- Input prompts (>,],*) are echoed
|
- Input prompts (>,],*) are echoed
|
||||||
when MON O is in effect, not under
|
when MON O is in effect, not under
|
||||||
MON I as was the case under 3.1.
|
MON I as was the case under 3.1.
|
||||||
.pp
|
|
||||||
- When a DOS command was entered from
|
- When a DOS command was entered from
|
||||||
the keyboard, DOS executed it and
|
the keyboard, DOS executed it and
|
||||||
then passed a blank followed by a
|
then passed a blank followed by a
|
||||||
carriage return to BASIC under 3.1. Under 3.2
|
carriage return to BASIC under 3.1. Under 3.2
|
||||||
only a carriage return is passed.
|
only a carriage return is passed.
|
||||||
.pp
|
|
||||||
- Under 3.2, certain commands may not
|
- Under 3.2, certain commands may not
|
||||||
be entered from the keyboard but may
|
be entered from the keyboard but may
|
||||||
only be used within a BASIC program
|
only be used within a BASIC program
|
||||||
(READ, WRITE, POSITION, OPEN,
|
(READ, WRITE, POSITION, OPEN,
|
||||||
APPEND).
|
APPEND).
|
||||||
.pp
|
|
||||||
- Under 3.2, when LOADing an APPLESOFT program,
|
- Under 3.2, when LOADing an APPLESOFT program,
|
||||||
DOS automatically
|
DOS automatically
|
||||||
converts from APPLESOFT ROM format to
|
converts from APPLESOFT ROM format to
|
||||||
APPLESOFT RAM format if the RAM version of
|
APPLESOFT RAM format if the RAM version of
|
||||||
BASIC is in use and vice versa.
|
BASIC is in use and vice versa.
|
||||||
.pp
|
|
||||||
- DOS 3.1 could not read lower case
|
- DOS 3.1 could not read lower case
|
||||||
characters from a text file; DOS 3.2
|
characters from a text file; DOS 3.2
|
||||||
can.
|
can.
|
||||||
.pp
|
|
||||||
.bp
|
.bp
|
||||||
- Some DOS commands are allowed to
|
- Some DOS commands are allowed to
|
||||||
create a new file, others will not.
|
create a new file, others will not.
|
||||||
@ -88,30 +88,30 @@ XYZ, and then printed the file not
|
|||||||
found error message.) Under 3.2, OPEN
|
found error message.) Under 3.2, OPEN
|
||||||
is allowed to create a file if one
|
is allowed to create a file if one
|
||||||
does not exist, but LOAD may not.
|
does not exist, but LOAD may not.
|
||||||
.pp
|
|
||||||
- Under 3.1, exiting to the monitor
|
- Under 3.1, exiting to the monitor
|
||||||
required that the monitor status
|
required that the monitor status
|
||||||
register location ($48) be set to
|
register location ($48) be set to
|
||||||
zero before reentering DOS. Under DOS
|
zero before reentering DOS. Under DOS
|
||||||
3.2 this is no longer necessary.
|
3.2 this is no longer necessary.
|
||||||
.pp
|
|
||||||
- The Read/Write-Track/Sector (RWTS)
|
- The Read/Write-Track/Sector (RWTS)
|
||||||
section of DOS disables interrupts
|
section of DOS disables interrupts
|
||||||
while it is executing. Under 3.1,
|
while it is executing. Under 3.1,
|
||||||
RWTS could be interrupted by a
|
RWTS could be interrupted by a
|
||||||
peripheral while writing to a disk,
|
peripheral while writing to a disk,
|
||||||
destroying the disk.
|
destroying the disk.
|
||||||
.pp
|
|
||||||
- The default for the B (byte offset) keyword is 0
|
- The default for the B (byte offset) keyword is 0
|
||||||
under 3.2.
|
under 3.2.
|
||||||
.pp
|
|
||||||
- DOS was reassembled for 3.2 causing most of
|
- DOS was reassembled for 3.2 causing most of
|
||||||
its interesting locations and
|
its interesting locations and
|
||||||
routines to move slightly. This
|
routines to move slightly. This
|
||||||
played havoc with user programs and
|
played havoc with user programs and
|
||||||
utilities which had DOS addresses
|
utilities which had DOS addresses
|
||||||
built into them.
|
built into them.
|
||||||
.pp
|
|
||||||
- Additional file types (beyond
|
- Additional file types (beyond
|
||||||
T, I, A, and B) are defined within
|
T, I, A, and B) are defined within
|
||||||
DOS 3.2, although no commands yet
|
DOS 3.2, although no commands yet
|
||||||
@ -122,14 +122,14 @@ DOS TOOLKIT for relocatable object
|
|||||||
module assembler files. At present,
|
module assembler files. At present,
|
||||||
no other use is made of these
|
no other use is made of these
|
||||||
extra file types.
|
extra file types.
|
||||||
.pp
|
|
||||||
- Support was added under 3.2 for the
|
- Support was added under 3.2 for the
|
||||||
AUTOSTART ROM.
|
AUTOSTART ROM.
|
||||||
.pp
|
|
||||||
- All files open when a disk full
|
- All files open when a disk full
|
||||||
condition occurs are closed by DOS
|
condition occurs are closed by DOS
|
||||||
3.2.
|
3.2.
|
||||||
.pp
|
|
||||||
- As with each new release of DOS,
|
- As with each new release of DOS,
|
||||||
several new programs were added to
|
several new programs were added to
|
||||||
the master diskette for 3.2. Among
|
the master diskette for 3.2. Among
|
||||||
@ -145,7 +145,7 @@ renamed.
|
|||||||
.ps1
|
.ps1
|
||||||
.sp1
|
.sp1
|
||||||
DOS 3.2.1 - 31 July 1979
|
DOS 3.2.1 - 31 July 1979
|
||||||
.PP
|
|
||||||
DOS 3.2.1 was essentially a
|
DOS 3.2.1 was essentially a
|
||||||
"maintenance release" of DOS 3.2.
|
"maintenance release" of DOS 3.2.
|
||||||
Minor patches were made to RWTS and
|
Minor patches were made to RWTS and
|
||||||
@ -155,7 +155,7 @@ done. Additional delays were added
|
|||||||
following a switch between drives.
|
following a switch between drives.
|
||||||
.bp
|
.bp
|
||||||
DOS 3.3 - 25 August 1980
|
DOS 3.3 - 25 August 1980
|
||||||
.PP
|
|
||||||
Introduced in mid 1980 as a
|
Introduced in mid 1980 as a
|
||||||
hardware/software upgrade from DOS
|
hardware/software upgrade from DOS
|
||||||
3.2.1, the DOS 3.3 package includes
|
3.2.1, the DOS 3.3 package includes
|
||||||
@ -183,7 +183,7 @@ received a few patches:
|
|||||||
.pi-2
|
.pi-2
|
||||||
.in2
|
.in2
|
||||||
.ps0
|
.ps0
|
||||||
.pp
|
|
||||||
- The initial DOS bootstrap loader
|
- The initial DOS bootstrap loader
|
||||||
was moved to $800 under 3.3. It was
|
was moved to $800 under 3.3. It was
|
||||||
at $300 under 3.2. In addition, as
|
at $300 under 3.2. In addition, as
|
||||||
@ -191,16 +191,16 @@ stored on the diskette (track 0
|
|||||||
sector 0) it is nibbilized in the
|
sector 0) it is nibbilized in the
|
||||||
same way as all other sectors under
|
same way as all other sectors under
|
||||||
3.3.
|
3.3.
|
||||||
.pp
|
|
||||||
- A bug in APPEND which caused it to
|
- A bug in APPEND which caused it to
|
||||||
position improperly if the file was a
|
position improperly if the file was a
|
||||||
multiple of 256 bytes long was fixed
|
multiple of 256 bytes long was fixed
|
||||||
under 3.3.
|
under 3.3.
|
||||||
.pp
|
|
||||||
- A VERIFY command is internally
|
- A VERIFY command is internally
|
||||||
executed after every SAVE or BSAVE
|
executed after every SAVE or BSAVE
|
||||||
under 3.3.
|
under 3.3.
|
||||||
.pp
|
|
||||||
- All 4 bytes are used in the Volume
|
- All 4 bytes are used in the Volume
|
||||||
Table Of Contents (VTOC) free sector bit map when
|
Table Of Contents (VTOC) free sector bit map when
|
||||||
keeping track of free sectors. This
|
keeping track of free sectors. This
|
||||||
@ -208,20 +208,20 @@ allows DOS to handle up to 32 sectors
|
|||||||
per track. Of course, RWTS will only
|
per track. Of course, RWTS will only
|
||||||
handle 16 sectors due to hardware
|
handle 16 sectors due to hardware
|
||||||
limitations.
|
limitations.
|
||||||
.pp
|
|
||||||
- If a LANGUAGE CARD is present, DOS
|
- If a LANGUAGE CARD is present, DOS
|
||||||
stores a zero on it at $E000 during
|
stores a zero on it at $E000 during
|
||||||
bootstrap to force the HELLO program
|
bootstrap to force the HELLO program
|
||||||
on the master diskette to reload
|
on the master diskette to reload
|
||||||
BASIC.
|
BASIC.
|
||||||
.pp
|
|
||||||
- DOS is read into memory from the
|
- DOS is read into memory from the
|
||||||
top down (backwards) under 3.3 rather than the
|
top down (backwards) under 3.3 rather than the
|
||||||
bottom up. Its image is
|
bottom up. Its image is
|
||||||
still stored in the same order on the
|
still stored in the same order on the
|
||||||
diskette (tracks 0, 1, and 2),
|
diskette (tracks 0, 1, and 2),
|
||||||
however.
|
however.
|
||||||
.pp
|
|
||||||
- Additional programs added to the
|
- Additional programs added to the
|
||||||
master diskette under 3.3 include
|
master diskette under 3.3 include
|
||||||
FID, a generalized file utility which
|
FID, a generalized file utility which
|
||||||
@ -234,7 +234,7 @@ will boot a 13 sector diskette,
|
|||||||
and a new COPY program
|
and a new COPY program
|
||||||
which will also support single drive
|
which will also support single drive
|
||||||
copies.
|
copies.
|
||||||
.pp
|
|
||||||
- Under 3.2, speed differences in
|
- Under 3.2, speed differences in
|
||||||
some drives prevented their use
|
some drives prevented their use
|
||||||
together with the DOS COPY program.
|
together with the DOS COPY program.
|
||||||
@ -246,4 +246,3 @@ applies.
|
|||||||
.in0
|
.in0
|
||||||
.ps1
|
.ps1
|
||||||
.nx ch3.1
|
.nx ch3.1
|
||||||
\x00
|
|
@ -3,7 +3,7 @@
|
|||||||
.ce
|
.ce
|
||||||
CHAPTER 3 - DISK II HARDWARE AND TRACK FORMATTING
|
CHAPTER 3 - DISK II HARDWARE AND TRACK FORMATTING
|
||||||
.sp 2
|
.sp 2
|
||||||
.pp
|
|
||||||
Apple Computer's excellent manual on
|
Apple Computer's excellent manual on
|
||||||
the Disk Operating System (DOS)
|
the Disk Operating System (DOS)
|
||||||
provides only very basic information
|
provides only very basic information
|
||||||
@ -14,7 +14,7 @@ diskette. The first section will
|
|||||||
contain a brief introduction to the
|
contain a brief introduction to the
|
||||||
hardware, and may be skipped by those
|
hardware, and may be skipped by those
|
||||||
already familiar with the DOS manual.
|
already familiar with the DOS manual.
|
||||||
.pp
|
|
||||||
For system housekeeping, DOS divides
|
For system housekeeping, DOS divides
|
||||||
diskettes into tracks and sectors.
|
diskettes into tracks and sectors.
|
||||||
This is done during the
|
This is done during the
|
||||||
@ -43,7 +43,7 @@ tracks, although they are invisible
|
|||||||
to the eye on a real diskette.
|
to the eye on a real diskette.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.1 HERE ***
|
*** INSERT FIGURE 3.1 HERE ***
|
||||||
.pp
|
|
||||||
It should be pointed out, for the
|
It should be pointed out, for the
|
||||||
sake of accuracy, that the disk arm
|
sake of accuracy, that the disk arm
|
||||||
can position itself over 70 "phases".
|
can position itself over 70 "phases".
|
||||||
@ -67,7 +67,7 @@ two phases from one another. See
|
|||||||
APPENDIX B for more information on
|
APPENDIX B for more information on
|
||||||
protection schemes.
|
protection schemes.
|
||||||
.bp
|
.bp
|
||||||
.pp
|
|
||||||
A sector is a subdivision of a track.
|
A sector is a subdivision of a track.
|
||||||
It is the smallest unit of
|
It is the smallest unit of
|
||||||
"updatable" data on the diskette.
|
"updatable" data on the diskette.
|
||||||
@ -130,14 +130,14 @@ USABLE* BYTES PER DISKETTE
|
|||||||
* Excludes DOS, VTOC, and CATALOG
|
* Excludes DOS, VTOC, and CATALOG
|
||||||
.bp
|
.bp
|
||||||
TRACK FORMATTING
|
TRACK FORMATTING
|
||||||
.pp
|
|
||||||
Up to this point we have broken down
|
Up to this point we have broken down
|
||||||
the structure of data to the track
|
the structure of data to the track
|
||||||
and sector level. To better
|
and sector level. To better
|
||||||
understand how
|
understand how
|
||||||
data is stored and retrieved, we will
|
data is stored and retrieved, we will
|
||||||
start at the bottom and work up.
|
start at the bottom and work up.
|
||||||
.pp
|
|
||||||
As this manual is primarily concerned
|
As this manual is primarily concerned
|
||||||
with software, no attempt will be
|
with software, no attempt will be
|
||||||
made to deal with the specifics of
|
made to deal with the specifics of
|
||||||
@ -150,7 +150,7 @@ hardware converts analog data to
|
|||||||
digital data but how this is
|
digital data but how this is
|
||||||
accomplished is beyond the scope of
|
accomplished is beyond the scope of
|
||||||
this manual.
|
this manual.
|
||||||
.pp
|
|
||||||
Data is recorded on the diskette
|
Data is recorded on the diskette
|
||||||
using frequency modulation as the
|
using frequency modulation as the
|
||||||
recording mode. Each data bit
|
recording mode. Each data bit
|
||||||
@ -163,7 +163,7 @@ pattern shown represents a binary
|
|||||||
value of 101.
|
value of 101.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.2 HERE ***
|
*** INSERT FIGURE 3.2 HERE ***
|
||||||
.pp
|
|
||||||
As can be seen in Figure 3.3, the
|
As can be seen in Figure 3.3, the
|
||||||
clock bits and data bits (if present)
|
clock bits and data bits (if present)
|
||||||
are interleaved. The presence of a
|
are interleaved. The presence of a
|
||||||
@ -177,7 +177,7 @@ bit and the leading edge of the next
|
|||||||
clock bit.
|
clock bit.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.3 HERE ***
|
*** INSERT FIGURE 3.3 HERE ***
|
||||||
.PP
|
|
||||||
A byte would consist of eight (8)
|
A byte would consist of eight (8)
|
||||||
consecutive bit cells. The most
|
consecutive bit cells. The most
|
||||||
significant bit cell is usually
|
significant bit cell is usually
|
||||||
@ -200,7 +200,7 @@ illustrates the relationship of the
|
|||||||
bits within a byte.
|
bits within a byte.
|
||||||
.bp
|
.bp
|
||||||
*** INSERT FIGURE 3.4 HERE ***
|
*** INSERT FIGURE 3.4 HERE ***
|
||||||
.PP
|
|
||||||
To graphically show how bits are
|
To graphically show how bits are
|
||||||
stored and retrieved, we must take
|
stored and retrieved, we must take
|
||||||
certain liberties. The diagrams are
|
certain liberties. The diagrams are
|
||||||
@ -218,7 +218,7 @@ embodies the function of data flow to
|
|||||||
and from the diskette.
|
and from the diskette.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.5 HERE ***
|
*** INSERT FIGURE 3.5 HERE ***
|
||||||
.pp
|
|
||||||
Figure 3.5 shows the three bits, 101,
|
Figure 3.5 shows the three bits, 101,
|
||||||
being read from the diskette data
|
being read from the diskette data
|
||||||
stream into the data latch. Of
|
stream into the data latch. Of
|
||||||
@ -229,7 +229,7 @@ clock bits. This task is done by the
|
|||||||
hardware and is shown more for
|
hardware and is shown more for
|
||||||
accuracy than for its importance to
|
accuracy than for its importance to
|
||||||
our discussion.
|
our discussion.
|
||||||
.pp
|
|
||||||
Writing data can be depicted in much
|
Writing data can be depicted in much
|
||||||
the same way (see Figure 3.6).
|
the same way (see Figure 3.6).
|
||||||
The clock bits which
|
The clock bits which
|
||||||
@ -250,7 +250,7 @@ Self-sync bytes will be covered in
|
|||||||
detail shortly.
|
detail shortly.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.6 HERE ***
|
*** INSERT FIGURE 3.6 HERE ***
|
||||||
.PP
|
|
||||||
A "field" is made up of a group of
|
A "field" is made up of a group of
|
||||||
consecutive
|
consecutive
|
||||||
bytes. The number of bytes varies,
|
bytes. The number of bytes varies,
|
||||||
@ -273,7 +273,7 @@ computer time
|
|||||||
to decode the address field before
|
to decode the address field before
|
||||||
the corresponding data field can pass
|
the corresponding data field can pass
|
||||||
beneath the read/write head.
|
beneath the read/write head.
|
||||||
.pp
|
|
||||||
All gaps are primarily alike in
|
All gaps are primarily alike in
|
||||||
content, consisting of self-sync
|
content, consisting of self-sync
|
||||||
hexadecimal FF's, and vary only in
|
hexadecimal FF's, and vary only in
|
||||||
@ -283,7 +283,7 @@ of a typical track, broken into its
|
|||||||
major components.
|
major components.
|
||||||
.bp
|
.bp
|
||||||
*** INSERT FIGURE 3.7 HERE ***
|
*** INSERT FIGURE 3.7 HERE ***
|
||||||
.PP
|
|
||||||
Self-sync or auto-sync bytes are
|
Self-sync or auto-sync bytes are
|
||||||
special bytes that make up the three
|
special bytes that make up the three
|
||||||
different types of gaps on a track.
|
different types of gaps on a track.
|
||||||
@ -325,14 +325,14 @@ have been stripped out and 0's and
|
|||||||
1's have been used for clarity.
|
1's have been used for clarity.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.8 HERE ***
|
*** INSERT FIGURE 3.8 HERE ***
|
||||||
.pp
|
|
||||||
There is no way from looking at the
|
There is no way from looking at the
|
||||||
data to tell what bytes are
|
data to tell what bytes are
|
||||||
represented, because we don't know
|
represented, because we don't know
|
||||||
where to start. This is exactly the
|
where to start. This is exactly the
|
||||||
problem that self-sync bytes
|
problem that self-sync bytes
|
||||||
overcome.
|
overcome.
|
||||||
.pp
|
|
||||||
A self-sync byte is defined to be a
|
A self-sync byte is defined to be a
|
||||||
hexadecimal FF with a special
|
hexadecimal FF with a special
|
||||||
difference. It is, in fact, a 10 bit
|
difference. It is, in fact, a 10 bit
|
||||||
@ -344,7 +344,7 @@ elsewhere on the disk and a self-sync
|
|||||||
hex FF byte.
|
hex FF byte.
|
||||||
.bp
|
.bp
|
||||||
*** INSERT FIGURE 3.9 HERE ***
|
*** INSERT FIGURE 3.9 HERE ***
|
||||||
.pp
|
|
||||||
A self-sync is generated by using a
|
A self-sync is generated by using a
|
||||||
40 cycle (micro-second) loop while
|
40 cycle (micro-second) loop while
|
||||||
writing an FF. A bit is written
|
writing an FF. A bit is written
|
||||||
@ -378,7 +378,7 @@ the data unless there is an error on
|
|||||||
the track.
|
the track.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.10 ***
|
*** INSERT FIGURE 3.10 ***
|
||||||
.PP
|
|
||||||
We can now discuss the particular
|
We can now discuss the particular
|
||||||
portions of a track in detail. The
|
portions of a track in detail. The
|
||||||
three gaps will be covered first.
|
three gaps will be covered first.
|
||||||
@ -395,7 +395,7 @@ bytes must be maintained for
|
|||||||
each gap type (as discussed earlier).
|
each gap type (as discussed earlier).
|
||||||
The result is fairly uniform gap
|
The result is fairly uniform gap
|
||||||
sizes within each particular track.
|
sizes within each particular track.
|
||||||
.pp
|
|
||||||
Gap 1 is the first data written to a
|
Gap 1 is the first data written to a
|
||||||
track during initialization. Its
|
track during initialization. Its
|
||||||
purpose is twofold. The gap
|
purpose is twofold. The gap
|
||||||
@ -422,7 +422,7 @@ as a Gap 3 type for Address Field
|
|||||||
number 0 (See Figure 3.7 for
|
number 0 (See Figure 3.7 for
|
||||||
clarity).
|
clarity).
|
||||||
.bp
|
.bp
|
||||||
.pp
|
|
||||||
Gap 2 appears after each Address
|
Gap 2 appears after each Address
|
||||||
Field and before each Data Field.
|
Field and before each Data Field.
|
||||||
Its length varies from five to ten bytes
|
Its length varies from five to ten bytes
|
||||||
@ -474,7 +474,7 @@ byte. Figure 3.12 illustrates this.
|
|||||||
*** INSERT FIGURE 3.11 HERE ***
|
*** INSERT FIGURE 3.11 HERE ***
|
||||||
.SP1
|
.SP1
|
||||||
*** INSERT FIGURE 3.12 HERE ***
|
*** INSERT FIGURE 3.12 HERE ***
|
||||||
.PP
|
|
||||||
Gap 3 appears after each
|
Gap 3 appears after each
|
||||||
Data Field and before each Address
|
Data Field and before each Address
|
||||||
Field. It is longer than Gap 2 and
|
Field. It is longer than Gap 2 and
|
||||||
@ -498,7 +498,7 @@ the first part of the gap can be
|
|||||||
overwritten or damaged. (See Figure
|
overwritten or damaged. (See Figure
|
||||||
3.11 for clarity)
|
3.11 for clarity)
|
||||||
.bp
|
.bp
|
||||||
.pp
|
|
||||||
An examination of the contents of the
|
An examination of the contents of the
|
||||||
two types of fields is in order.
|
two types of fields is in order.
|
||||||
The Address Field contains
|
The Address Field contains
|
||||||
@ -516,7 +516,7 @@ detailed illustration is given in
|
|||||||
Figure 3.13.
|
Figure 3.13.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.13 HERE ***
|
*** INSERT FIGURE 3.13 HERE ***
|
||||||
.PP
|
|
||||||
The prologue consists of three bytes
|
The prologue consists of three bytes
|
||||||
which form a unique sequence, found
|
which form a unique sequence, found
|
||||||
in no other component of the track.
|
in no other component of the track.
|
||||||
@ -552,7 +552,7 @@ that the drive is still in sync with
|
|||||||
the bytes on the disk. These bytes
|
the bytes on the disk. These bytes
|
||||||
are probably unnecessary, but do
|
are probably unnecessary, but do
|
||||||
provide a means of double checking.
|
provide a means of double checking.
|
||||||
.pp
|
|
||||||
The other field type is the Data
|
The other field type is the Data
|
||||||
Field. Much like the Address Field,
|
Field. Much like the Address Field,
|
||||||
it consists of a prologue, data,
|
it consists of a prologue, data,
|
||||||
@ -575,4 +575,3 @@ in the Address Field and it serves
|
|||||||
the same function.
|
the same function.
|
||||||
.bp
|
.bp
|
||||||
.nx ch3.2
|
.nx ch3.2
|
||||||
\x00
|
|
@ -3,7 +3,7 @@
|
|||||||
.ce
|
.ce
|
||||||
CHAPTER 3 - DISK II HARDWARE AND TRACK FORMATTING
|
CHAPTER 3 - DISK II HARDWARE AND TRACK FORMATTING
|
||||||
.sp 2
|
.sp 2
|
||||||
.pp
|
|
||||||
Apple Computer's excellent manual on
|
Apple Computer's excellent manual on
|
||||||
the Disk Operating System (DOS)
|
the Disk Operating System (DOS)
|
||||||
provides only very basic information
|
provides only very basic information
|
||||||
@ -14,7 +14,7 @@ diskette. The first section will
|
|||||||
contain a brief introduction to the
|
contain a brief introduction to the
|
||||||
hardware, and may be skipped by those
|
hardware, and may be skipped by those
|
||||||
already familiar with the DOS manual.
|
already familiar with the DOS manual.
|
||||||
.pp
|
|
||||||
For system housekeeping, DOS divides
|
For system housekeeping, DOS divides
|
||||||
diskettes into tracks and sectors.
|
diskettes into tracks and sectors.
|
||||||
This is done during the
|
This is done during the
|
||||||
@ -43,7 +43,7 @@ tracks, although they are invisible
|
|||||||
to the eye on a real diskette.
|
to the eye on a real diskette.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.1 HERE ***
|
*** INSERT FIGURE 3.1 HERE ***
|
||||||
.pp
|
|
||||||
It should be pointed out, for the
|
It should be pointed out, for the
|
||||||
sake of accuracy, that the disk arm
|
sake of accuracy, that the disk arm
|
||||||
can position itself over 70 "phases".
|
can position itself over 70 "phases".
|
||||||
@ -67,7 +67,7 @@ two phases from one another. See
|
|||||||
APPENDIX B for more information on
|
APPENDIX B for more information on
|
||||||
protection schemes.
|
protection schemes.
|
||||||
.bp
|
.bp
|
||||||
.pp
|
|
||||||
A sector is a subdivision of a track.
|
A sector is a subdivision of a track.
|
||||||
It is the smallest unit of
|
It is the smallest unit of
|
||||||
"updatable" data on the diskette.
|
"updatable" data on the diskette.
|
||||||
@ -130,14 +130,14 @@ USABLE* BYTES PER DISKETTE
|
|||||||
* Excludes DOS, VTOC, and CATALOG
|
* Excludes DOS, VTOC, and CATALOG
|
||||||
.bp
|
.bp
|
||||||
TRACK FORMATTING
|
TRACK FORMATTING
|
||||||
.pp
|
|
||||||
Up to this point we have broken down
|
Up to this point we have broken down
|
||||||
the structure of data to the track
|
the structure of data to the track
|
||||||
and sector level. To better
|
and sector level. To better
|
||||||
understand how
|
understand how
|
||||||
data is stored and retrieved, we will
|
data is stored and retrieved, we will
|
||||||
start at the bottom and work up.
|
start at the bottom and work up.
|
||||||
.pp
|
|
||||||
As this manual is primarily concerned
|
As this manual is primarily concerned
|
||||||
with software, no attempt will be
|
with software, no attempt will be
|
||||||
made to deal with the specifics of
|
made to deal with the specifics of
|
||||||
@ -150,7 +150,7 @@ hardware converts analog data to
|
|||||||
digital data but how this is
|
digital data but how this is
|
||||||
accomplished is beyond the scope of
|
accomplished is beyond the scope of
|
||||||
this manual.
|
this manual.
|
||||||
.pp
|
|
||||||
Data is recorded on the diskette
|
Data is recorded on the diskette
|
||||||
using frequency modulation as the
|
using frequency modulation as the
|
||||||
recording mode. Each data bit
|
recording mode. Each data bit
|
||||||
@ -163,7 +163,7 @@ pattern shown represents a binary
|
|||||||
value of 101.
|
value of 101.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.2 HERE ***
|
*** INSERT FIGURE 3.2 HERE ***
|
||||||
.pp
|
|
||||||
As can be seen in Figure 3.3, the
|
As can be seen in Figure 3.3, the
|
||||||
clock bits and data bits (if present)
|
clock bits and data bits (if present)
|
||||||
are interleaved. The presence of a
|
are interleaved. The presence of a
|
||||||
@ -177,7 +177,7 @@ bit and the leading edge of the next
|
|||||||
clock bit.
|
clock bit.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.3 HERE ***
|
*** INSERT FIGURE 3.3 HERE ***
|
||||||
.PP
|
|
||||||
A byte would consist of eight (8)
|
A byte would consist of eight (8)
|
||||||
consecutive bit cells. The most
|
consecutive bit cells. The most
|
||||||
significant bit cell is usually
|
significant bit cell is usually
|
||||||
@ -200,7 +200,7 @@ illustrates the relationship of the
|
|||||||
bits within a byte.
|
bits within a byte.
|
||||||
.bp
|
.bp
|
||||||
*** INSERT FIGURE 3.4 HERE ***
|
*** INSERT FIGURE 3.4 HERE ***
|
||||||
.PP
|
|
||||||
To graphically show how bits are
|
To graphically show how bits are
|
||||||
stored and retrieved, we must take
|
stored and retrieved, we must take
|
||||||
certain liberties. The diagrams are
|
certain liberties. The diagrams are
|
||||||
@ -218,7 +218,7 @@ embodies the function of data flow to
|
|||||||
and from the diskette.
|
and from the diskette.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.5 HERE ***
|
*** INSERT FIGURE 3.5 HERE ***
|
||||||
.pp
|
|
||||||
Figure 3.5 shows the three bits, 101,
|
Figure 3.5 shows the three bits, 101,
|
||||||
being read from the diskette data
|
being read from the diskette data
|
||||||
stream into the data latch. Of
|
stream into the data latch. Of
|
||||||
@ -229,7 +229,7 @@ clock bits. This task is done by the
|
|||||||
hardware and is shown more for
|
hardware and is shown more for
|
||||||
accuracy than for its importance to
|
accuracy than for its importance to
|
||||||
our discussion.
|
our discussion.
|
||||||
.pp
|
|
||||||
Writing data can be depicted in much
|
Writing data can be depicted in much
|
||||||
the same way (see Figure 3.6).
|
the same way (see Figure 3.6).
|
||||||
The clock bits which
|
The clock bits which
|
||||||
@ -250,7 +250,7 @@ Self-sync bytes will be covered in
|
|||||||
detail shortly.
|
detail shortly.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.6 HERE ***
|
*** INSERT FIGURE 3.6 HERE ***
|
||||||
.PP
|
|
||||||
A "field" is made up of a group of
|
A "field" is made up of a group of
|
||||||
consecutive
|
consecutive
|
||||||
bytes. The number of bytes varies,
|
bytes. The number of bytes varies,
|
||||||
@ -273,7 +273,7 @@ computer time
|
|||||||
to decode the address field before
|
to decode the address field before
|
||||||
the corresponding data field can pass
|
the corresponding data field can pass
|
||||||
beneath the read/write head.
|
beneath the read/write head.
|
||||||
.pp
|
|
||||||
All gaps are primarily alike in
|
All gaps are primarily alike in
|
||||||
content, consisting of self-sync
|
content, consisting of self-sync
|
||||||
hexadecimal FF's, and vary only in
|
hexadecimal FF's, and vary only in
|
||||||
@ -283,7 +283,7 @@ of a typical track, broken into its
|
|||||||
major components.
|
major components.
|
||||||
.bp
|
.bp
|
||||||
*** INSERT FIGURE 3.7 HERE ***
|
*** INSERT FIGURE 3.7 HERE ***
|
||||||
.PP
|
|
||||||
Self-sync or auto-sync bytes are
|
Self-sync or auto-sync bytes are
|
||||||
special bytes that make up the three
|
special bytes that make up the three
|
||||||
different types of gaps on a track.
|
different types of gaps on a track.
|
||||||
@ -325,14 +325,14 @@ have been stripped out and 0's and
|
|||||||
1's have been used for clarity.
|
1's have been used for clarity.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.8 HERE ***
|
*** INSERT FIGURE 3.8 HERE ***
|
||||||
.pp
|
|
||||||
There is no way from looking at the
|
There is no way from looking at the
|
||||||
data to tell what bytes are
|
data to tell what bytes are
|
||||||
represented, because we don't know
|
represented, because we don't know
|
||||||
where to start. This is exactly the
|
where to start. This is exactly the
|
||||||
problem that self-sync bytes
|
problem that self-sync bytes
|
||||||
overcome.
|
overcome.
|
||||||
.pp
|
|
||||||
A self-sync byte is defined to be a
|
A self-sync byte is defined to be a
|
||||||
hexadecimal FF with a special
|
hexadecimal FF with a special
|
||||||
difference. It is, in fact, a 10 bit
|
difference. It is, in fact, a 10 bit
|
||||||
@ -344,7 +344,7 @@ elsewhere on the disk and a self-sync
|
|||||||
hex FF byte.
|
hex FF byte.
|
||||||
.bp
|
.bp
|
||||||
*** INSERT FIGURE 3.9 HERE ***
|
*** INSERT FIGURE 3.9 HERE ***
|
||||||
.pp
|
|
||||||
A self-sync is generated by using a
|
A self-sync is generated by using a
|
||||||
40 cycle (micro-second) loop while
|
40 cycle (micro-second) loop while
|
||||||
writing an FF. A bit is written
|
writing an FF. A bit is written
|
||||||
@ -378,7 +378,7 @@ the data unless there is an error on
|
|||||||
the track.
|
the track.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.10 ***
|
*** INSERT FIGURE 3.10 ***
|
||||||
.PP
|
|
||||||
We can now discuss the particular
|
We can now discuss the particular
|
||||||
portions of a track in detail. The
|
portions of a track in detail. The
|
||||||
three gaps will be covered first.
|
three gaps will be covered first.
|
||||||
@ -395,7 +395,7 @@ bytes must be maintained for
|
|||||||
each gap type (as discussed earlier).
|
each gap type (as discussed earlier).
|
||||||
The result is fairly uniform gap
|
The result is fairly uniform gap
|
||||||
sizes within each particular track.
|
sizes within each particular track.
|
||||||
.pp
|
|
||||||
Gap 1 is the first data written to a
|
Gap 1 is the first data written to a
|
||||||
track during initialization. Its
|
track during initialization. Its
|
||||||
purpose is twofold. The gap
|
purpose is twofold. The gap
|
||||||
@ -422,7 +422,7 @@ as a Gap 3 type for Address Field
|
|||||||
number 0 (See Figure 3.7 for
|
number 0 (See Figure 3.7 for
|
||||||
clarity).
|
clarity).
|
||||||
.bp
|
.bp
|
||||||
.pp
|
|
||||||
Gap 2 appears after each Address
|
Gap 2 appears after each Address
|
||||||
Field and before each Data Field.
|
Field and before each Data Field.
|
||||||
Its length varies from five to ten bytes
|
Its length varies from five to ten bytes
|
||||||
@ -474,7 +474,7 @@ byte. Figure 3.12 illustrates this.
|
|||||||
*** INSERT FIGURE 3.11 HERE ***
|
*** INSERT FIGURE 3.11 HERE ***
|
||||||
.SP1
|
.SP1
|
||||||
*** INSERT FIGURE 3.12 HERE ***
|
*** INSERT FIGURE 3.12 HERE ***
|
||||||
.PP
|
|
||||||
Gap 3 appears after each
|
Gap 3 appears after each
|
||||||
Data Field and before each Address
|
Data Field and before each Address
|
||||||
Field. It is longer than Gap 2 and
|
Field. It is longer than Gap 2 and
|
||||||
@ -498,7 +498,7 @@ the first part of the gap can be
|
|||||||
overwritten or damaged. (See Figure
|
overwritten or damaged. (See Figure
|
||||||
3.11 for clarity)
|
3.11 for clarity)
|
||||||
.bp
|
.bp
|
||||||
.pp
|
|
||||||
An examination of the contents of the
|
An examination of the contents of the
|
||||||
two types of fields is in order.
|
two types of fields is in order.
|
||||||
The Address Field contains
|
The Address Field contains
|
||||||
@ -516,7 +516,7 @@ detailed illustration is given in
|
|||||||
Figure 3.13.
|
Figure 3.13.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.13 HERE ***
|
*** INSERT FIGURE 3.13 HERE ***
|
||||||
.PP
|
|
||||||
The prologue consists of three bytes
|
The prologue consists of three bytes
|
||||||
which form a unique sequence, found
|
which form a unique sequence, found
|
||||||
in no other component of the track.
|
in no other component of the track.
|
||||||
@ -552,7 +552,7 @@ that the drive is still in sync with
|
|||||||
the bytes on the disk. These bytes
|
the bytes on the disk. These bytes
|
||||||
are probably unnecessary, but do
|
are probably unnecessary, but do
|
||||||
provide a means of double checking.
|
provide a means of double checking.
|
||||||
.pp
|
|
||||||
The other field type is the Data
|
The other field type is the Data
|
||||||
Field. Much like the Address Field,
|
Field. Much like the Address Field,
|
||||||
it consists of a prologue, data,
|
it consists of a prologue, data,
|
||||||
@ -560,4 +560,4 @@ checksum, and an epilogue. (Refer to
|
|||||||
Figure 3.14) The prologue is
|
Figure 3.14) The prologue is
|
||||||
different only in the third byte.
|
different only in the third byte.
|
||||||
The bytes are $D5, $AA, and $AD,
|
The bytes are $D5, $AA, and $AD,
|
||||||
which again form a
|
which again form a
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.SP2
|
.SP2
|
||||||
DATA FIELD ENCODING
|
DATA FIELD ENCODING
|
||||||
.pp
|
|
||||||
Due to Apple's hardware, it is not
|
Due to Apple's hardware, it is not
|
||||||
possible to read all 256 possible
|
possible to read all 256 possible
|
||||||
byte values from a diskette.
|
byte values from a diskette.
|
||||||
@ -22,7 +22,7 @@ This amounts to about 88K of data per
|
|||||||
diskette, or roughly 72K of space
|
diskette, or roughly 72K of space
|
||||||
available to the user; typical for 5
|
available to the user; typical for 5
|
||||||
1/4 single density drives.
|
1/4 single density drives.
|
||||||
.pp
|
|
||||||
Fortunately, a second technique for
|
Fortunately, a second technique for
|
||||||
writing data to diskette was devised
|
writing data to diskette was devised
|
||||||
that allows 13
|
that allows 13
|
||||||
@ -39,7 +39,7 @@ track format used by DOS 3 through
|
|||||||
DOS 3.2.1. The "5 and 3" scheme
|
DOS 3.2.1. The "5 and 3" scheme
|
||||||
represented a hefty 33% increase over
|
represented a hefty 33% increase over
|
||||||
comparable drives of the day.
|
comparable drives of the day.
|
||||||
.pp
|
|
||||||
Currently, of course, DOS 3.3
|
Currently, of course, DOS 3.3
|
||||||
features 16 sectors per track and
|
features 16 sectors per track and
|
||||||
provides a 23% increase in disk
|
provides a 23% increase in disk
|
||||||
@ -52,7 +52,7 @@ was to the logic of the "state
|
|||||||
machine" in the P6 PROM, now allowing
|
machine" in the P6 PROM, now allowing
|
||||||
two consecutive zero bits in data
|
two consecutive zero bits in data
|
||||||
bytes.
|
bytes.
|
||||||
.pp
|
|
||||||
These three different encoding
|
These three different encoding
|
||||||
techniques
|
techniques
|
||||||
will now be covered in some detail.
|
will now be covered in some detail.
|
||||||
@ -74,7 +74,7 @@ are all set to one to guarantee
|
|||||||
meeting the two requirements.
|
meeting the two requirements.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.15 HERE ***
|
*** INSERT FIGURE 3.15 HERE ***
|
||||||
.PP
|
|
||||||
No matter what value the original
|
No matter what value the original
|
||||||
data data byte has, this technique
|
data data byte has, this technique
|
||||||
insures that the high bit is set and
|
insures that the high bit is set and
|
||||||
@ -90,7 +90,7 @@ the byte containing the even bits.
|
|||||||
This is illustrated in Figure 3.16.
|
This is illustrated in Figure 3.16.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.16 HERE ***
|
*** INSERT FIGURE 3.16 HERE ***
|
||||||
.PP
|
|
||||||
It is important that the least
|
It is important that the least
|
||||||
significant bit contain a 1 when the
|
significant bit contain a 1 when the
|
||||||
odd-bits byte is left shifted. The
|
odd-bits byte is left shifted. The
|
||||||
@ -98,7 +98,7 @@ entire
|
|||||||
operation is carried out in the
|
operation is carried out in the
|
||||||
RDADR subroutine at $B944 in DOS
|
RDADR subroutine at $B944 in DOS
|
||||||
(48K).
|
(48K).
|
||||||
.pp
|
|
||||||
The major difficulty with the above
|
The major difficulty with the above
|
||||||
technique is that it takes up a lot of
|
technique is that it takes up a lot of
|
||||||
room on the track. To overcome this
|
room on the track. To overcome this
|
||||||
@ -126,7 +126,7 @@ An overview is diagrammed in Figure
|
|||||||
3.17.
|
3.17.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.17 HERE ***
|
*** INSERT FIGURE 3.17 HERE ***
|
||||||
.PP
|
|
||||||
First, the 256 bytes that will make
|
First, the 256 bytes that will make
|
||||||
up a sector must be translated to
|
up a sector must be translated to
|
||||||
five bit bytes. This is done by the
|
five bit bytes. This is done by the
|
||||||
@ -150,7 +150,7 @@ contains three areas, graphically
|
|||||||
illustrating the name "5 and 3".
|
illustrating the name "5 and 3".
|
||||||
.bp
|
.bp
|
||||||
*** INSERT FIGURE 3.18 HERE ***
|
*** INSERT FIGURE 3.18 HERE ***
|
||||||
.PP
|
|
||||||
A total of 410 bytes are needed to
|
A total of 410 bytes are needed to
|
||||||
store the original 256. This can be
|
store the original 256. This can be
|
||||||
calculated by finding the total bits
|
calculated by finding the total bits
|
||||||
@ -166,7 +166,7 @@ involving a one to one look-up in the
|
|||||||
table given in Figure 3.19.
|
table given in Figure 3.19.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.19 HERE ***
|
*** INSERT FIGURE 3.19 HERE ***
|
||||||
.pp
|
|
||||||
The Data Field has a checksum much
|
The Data Field has a checksum much
|
||||||
like the one in the Address Field,
|
like the one in the Address Field,
|
||||||
used to verify the integrity of the
|
used to verify the integrity of the
|
||||||
@ -181,7 +181,7 @@ Figure 3.19. This can best be
|
|||||||
illustrated by Figure 3.20 on the following page.
|
illustrated by Figure 3.20 on the following page.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.20 HERE ***
|
*** INSERT FIGURE 3.20 HERE ***
|
||||||
.PP
|
|
||||||
The reason for this transformation
|
The reason for this transformation
|
||||||
can be better understood by examining
|
can be better understood by examining
|
||||||
how the information is retrieved from
|
how the information is retrieved from
|
||||||
@ -205,7 +205,7 @@ for that point in the series.
|
|||||||
This process is diagrammed in Figure 3.21.
|
This process is diagrammed in Figure 3.21.
|
||||||
.bp
|
.bp
|
||||||
*** INSERT FIGURE 3.21 HERE ***
|
*** INSERT FIGURE 3.21 HERE ***
|
||||||
.pp
|
|
||||||
The third encoding technique, currently
|
The third encoding technique, currently
|
||||||
used by DOS 3.3, is similar to the "5
|
used by DOS 3.3, is similar to the "5
|
||||||
and 3". It was made possible by a
|
and 3". It was made possible by a
|
||||||
@ -238,7 +238,7 @@ is done by the prenibble routine
|
|||||||
results are shown in Figure 3.22.
|
results are shown in Figure 3.22.
|
||||||
.sp1
|
.sp1
|
||||||
*** INSERT FIGURE 3.22 (20) HERE ***
|
*** INSERT FIGURE 3.22 (20) HERE ***
|
||||||
.PP
|
|
||||||
A total of 342 bytes are needed,
|
A total of 342 bytes are needed,
|
||||||
shown by finding the total number of
|
shown by finding the total number of
|
||||||
bits (256 x 8 = 2048) and dividing by
|
bits (256 x 8 = 2048) and dividing by
|
||||||
@ -255,7 +255,7 @@ of exclusive-ORs, exactly as with the
|
|||||||
*** INSERT FIGURE 3.23 (21) HERE ***
|
*** INSERT FIGURE 3.23 (21) HERE ***
|
||||||
.sp1
|
.sp1
|
||||||
SECTOR INTERLEAVING
|
SECTOR INTERLEAVING
|
||||||
.PP
|
|
||||||
Sector interleaving is the staggering
|
Sector interleaving is the staggering
|
||||||
of sectors on a track to maximize
|
of sectors on a track to maximize
|
||||||
access speed. There is usually a
|
access speed. There is usually a
|
||||||
@ -287,7 +287,7 @@ are stored in descending sequential
|
|||||||
order, no single interleaving scheme
|
order, no single interleaving scheme
|
||||||
works well for both booting and
|
works well for both booting and
|
||||||
sequentially accessing a file.
|
sequentially accessing a file.
|
||||||
.pp
|
|
||||||
A different approach has been used in
|
A different approach has been used in
|
||||||
DOS 3.3 in an attempt to maximize
|
DOS 3.3 in an attempt to maximize
|
||||||
performance. The interleaving is now
|
performance. The interleaving is now
|
||||||
@ -309,7 +309,7 @@ problem if RWTS is used for disk
|
|||||||
access, but would become a
|
access, but would become a
|
||||||
consideration if access were made
|
consideration if access were made
|
||||||
without RWTS.
|
without RWTS.
|
||||||
.pp
|
|
||||||
To eliminate the access differences
|
To eliminate the access differences
|
||||||
between booting and reading files,
|
between booting and reading files,
|
||||||
another change has been made. During
|
another change has been made. During
|
||||||
@ -319,7 +319,7 @@ order into memory, just as files are
|
|||||||
accessed. This means one
|
accessed. This means one
|
||||||
interleaving scheme can minimize disk
|
interleaving scheme can minimize disk
|
||||||
access time.
|
access time.
|
||||||
.pp
|
|
||||||
It is interesting to point out that
|
It is interesting to point out that
|
||||||
Pascal, Fortran, and CP/M diskettes
|
Pascal, Fortran, and CP/M diskettes
|
||||||
all use software interleaving also.
|
all use software interleaving also.
|
||||||
@ -331,4 +331,3 @@ differences is presented in Figure
|
|||||||
*** INSERT FIGURE 3.24 (22) HERE ***
|
*** INSERT FIGURE 3.24 (22) HERE ***
|
||||||
.br
|
.br
|
||||||
.nxch4
|
.nxch4
|
||||||
\x00
|
|
@ -2,7 +2,7 @@
|
|||||||
.np
|
.np
|
||||||
.ce
|
.ce
|
||||||
CHAPTER 4 - DISKETTE DATA FORMATS
|
CHAPTER 4 - DISKETTE DATA FORMATS
|
||||||
.pp
|
|
||||||
As was described in CHAPTER 3, a 16
|
As was described in CHAPTER 3, a 16
|
||||||
sector diskette consists of 560 data
|
sector diskette consists of 560 data
|
||||||
areas of 256 bytes each, called
|
areas of 256 bytes each, called
|
||||||
@ -12,7 +12,7 @@ rings or tracks of 16 sectors each.
|
|||||||
The way DOS allocates these tracks of
|
The way DOS allocates these tracks of
|
||||||
sectors is the subject of
|
sectors is the subject of
|
||||||
this chapter.
|
this chapter.
|
||||||
.pp
|
|
||||||
A file (be it APPLESOFT,
|
A file (be it APPLESOFT,
|
||||||
INTEGER, BINARY, or TEXT type)
|
INTEGER, BINARY, or TEXT type)
|
||||||
consists of one or more sectors
|
consists of one or more sectors
|
||||||
@ -42,7 +42,7 @@ DOS uses sectors is given in Figure
|
|||||||
*** INSERT FIGURE 4.1 ***
|
*** INSERT FIGURE 4.1 ***
|
||||||
.sp1
|
.sp1
|
||||||
DISKETTE SPACE ALLOCATION
|
DISKETTE SPACE ALLOCATION
|
||||||
.pp
|
|
||||||
The map in Figure 4.1 shows that the
|
The map in Figure 4.1 shows that the
|
||||||
first three tracks of each diskette
|
first three tracks of each diskette
|
||||||
are always reserved for the bootstrap
|
are always reserved for the bootstrap
|
||||||
@ -80,7 +80,7 @@ track is allocated elsewhere on the
|
|||||||
disk in the manner described above.
|
disk in the manner described above.
|
||||||
.bp
|
.bp
|
||||||
THE VTOC
|
THE VTOC
|
||||||
.pp
|
|
||||||
The Volume Table Of Contents is the "anchor" of the
|
The Volume Table Of Contents is the "anchor" of the
|
||||||
entire diskette. On any diskette
|
entire diskette. On any diskette
|
||||||
accessible by any version of DOS, the
|
accessible by any version of DOS, the
|
||||||
@ -146,7 +146,7 @@ BIT MAPS OF FREE SECTORS ON A GIVEN TRACK
|
|||||||
If all sectors are free:
|
If all sectors are free:
|
||||||
|
|
||||||
FFFF0000
|
FFFF0000
|
||||||
.pp
|
|
||||||
An example of a VTOC sector is given
|
An example of a VTOC sector is given
|
||||||
in Figure 4.2. This VTOC corresponds
|
in Figure 4.2. This VTOC corresponds
|
||||||
to the map of the diskette given in
|
to the map of the diskette given in
|
||||||
@ -156,7 +156,7 @@ Figure 4.1.
|
|||||||
.bp
|
.bp
|
||||||
THE CATALOG
|
THE CATALOG
|
||||||
.ll30
|
.ll30
|
||||||
.pp
|
|
||||||
In order for DOS to find a given
|
In order for DOS to find a given
|
||||||
file, it must first read the VTOC to
|
file, it must first read the VTOC to
|
||||||
find out where the first catalog
|
find out where the first catalog
|
||||||
@ -189,7 +189,7 @@ that there are no more catalog
|
|||||||
sectors in the chain.
|
sectors in the chain.
|
||||||
.SP1
|
.SP1
|
||||||
*** INSERT FIGURE 4.3 ***
|
*** INSERT FIGURE 4.3 ***
|
||||||
.PP
|
|
||||||
In each catalog
|
In each catalog
|
||||||
sector up to seven files may be
|
sector up to seven files may be
|
||||||
listed and described. Thus, on a
|
listed and described. Thus, on a
|
||||||
@ -251,7 +251,7 @@ BYTE DESCRIPTION
|
|||||||
this length giving 1-255 but a full 65,535 may be
|
this length giving 1-255 but a full 65,535 may be
|
||||||
stored here.
|
stored here.
|
||||||
.sp
|
.sp
|
||||||
.pp
|
|
||||||
Figure 4.4 is an example of a typical
|
Figure 4.4 is an example of a typical
|
||||||
catalog sector. In this example there
|
catalog sector. In this example there
|
||||||
are only four files on the entire
|
are only four files on the entire
|
||||||
@ -264,7 +264,7 @@ and contain zeros.
|
|||||||
*** INSERT FIGURE 4.4 ***
|
*** INSERT FIGURE 4.4 ***
|
||||||
.SP1
|
.SP1
|
||||||
THE TRACK/SECTOR LIST
|
THE TRACK/SECTOR LIST
|
||||||
.PP
|
|
||||||
Each file has
|
Each file has
|
||||||
associated with it a "Track/Sector
|
associated with it a "Track/Sector
|
||||||
List" sector. This sector contains a
|
List" sector. This sector contains a
|
||||||
@ -309,7 +309,7 @@ BYTE DESCRIPTION
|
|||||||
0E-0F Track and sector of second data sector or zeros
|
0E-0F Track and sector of second data sector or zeros
|
||||||
10-FF Up to 120 more Track/Sector pairs
|
10-FF Up to 120 more Track/Sector pairs
|
||||||
.sp1
|
.sp1
|
||||||
.pp
|
|
||||||
A sequential file will end when the first zero T/S List entry
|
A sequential file will end when the first zero T/S List entry
|
||||||
is encountered. A random file, however, can have spaces within
|
is encountered. A random file, however, can have spaces within
|
||||||
it which were never allocated and therefore
|
it which were never allocated and therefore
|
||||||
@ -318,7 +318,7 @@ in the T/S List. This distinction is not always handled
|
|||||||
correctly by DOS. The VERIFY command, for instance, stops when
|
correctly by DOS. The VERIFY command, for instance, stops when
|
||||||
it gets to the first zero T/S List entry and can not be used
|
it gets to the first zero T/S List entry and can not be used
|
||||||
to verify some random organization text files.
|
to verify some random organization text files.
|
||||||
.pp
|
|
||||||
An example T/S List sector is given in Figure 4.6.
|
An example T/S List sector is given in Figure 4.6.
|
||||||
The example file (HELLO, from our
|
The example file (HELLO, from our
|
||||||
previous examples) has only one data
|
previous examples) has only one data
|
||||||
@ -352,7 +352,7 @@ that the data was broken up into
|
|||||||
sectors at all.
|
sectors at all.
|
||||||
.SP1
|
.SP1
|
||||||
TEXT FILES
|
TEXT FILES
|
||||||
.pp
|
|
||||||
The TEXT data type is the least
|
The TEXT data type is the least
|
||||||
complicated
|
complicated
|
||||||
file data structure. It consists of
|
file data structure. It consists of
|
||||||
@ -393,7 +393,7 @@ file.
|
|||||||
*** INSERT FIGURE 4.7 ***
|
*** INSERT FIGURE 4.7 ***
|
||||||
.bp
|
.bp
|
||||||
BINARY FILES
|
BINARY FILES
|
||||||
.pp
|
|
||||||
The structure of a BINARY type file is
|
The structure of a BINARY type file is
|
||||||
shown in Figure 4.8. An exact copy of
|
shown in Figure 4.8. An exact copy of
|
||||||
the memory involved is written to the
|
the memory involved is written to the
|
||||||
@ -423,7 +423,7 @@ the diskette.
|
|||||||
*** INSERT FIGURE 4.8 ***
|
*** INSERT FIGURE 4.8 ***
|
||||||
.SP1
|
.SP1
|
||||||
APPLESOFT AND INTEGER FILES
|
APPLESOFT AND INTEGER FILES
|
||||||
.pp
|
|
||||||
A BASIC program, be it APPLESOFT or
|
A BASIC program, be it APPLESOFT or
|
||||||
INTEGER, is saved to the diskette in
|
INTEGER, is saved to the diskette in
|
||||||
a way that is similar to BSAVE. The
|
a way that is similar to BSAVE. The
|
||||||
@ -457,7 +457,7 @@ BASIC program is given in Figure
|
|||||||
*** INSERT FIGURES 4.9 AND 4.10 ***
|
*** INSERT FIGURES 4.9 AND 4.10 ***
|
||||||
.bp
|
.bp
|
||||||
OTHER FILE TYPES (S,R,A,B)
|
OTHER FILE TYPES (S,R,A,B)
|
||||||
.pp
|
|
||||||
Additional file types have been
|
Additional file types have been
|
||||||
defined within DOS as can be seen in
|
defined within DOS as can be seen in
|
||||||
the file descriptive entry format,
|
the file descriptive entry format,
|
||||||
@ -485,7 +485,7 @@ about R files he should refer to that
|
|||||||
documentation.
|
documentation.
|
||||||
.sp1
|
.sp1
|
||||||
EMERGENCY REPAIRS
|
EMERGENCY REPAIRS
|
||||||
.PP
|
|
||||||
From time to time the information on
|
From time to time the information on
|
||||||
a diskette can become damaged or
|
a diskette can become damaged or
|
||||||
lost. This can create various
|
lost. This can create various
|
||||||
@ -499,7 +499,7 @@ and a few program tools can allow any
|
|||||||
reasonably sharp APPLE II user to
|
reasonably sharp APPLE II user to
|
||||||
patch up most errors on his
|
patch up most errors on his
|
||||||
diskettes.
|
diskettes.
|
||||||
.pp
|
|
||||||
A first question would be, "how do
|
A first question would be, "how do
|
||||||
errors occur". The most common cause
|
errors occur". The most common cause
|
||||||
of an error is a worn or physically
|
of an error is a worn or physically
|
||||||
@ -517,7 +517,7 @@ the files on
|
|||||||
the aged diskette to a brand new one
|
the aged diskette to a brand new one
|
||||||
and discards the old one or keeps it
|
and discards the old one or keeps it
|
||||||
as a backup.
|
as a backup.
|
||||||
.pp
|
|
||||||
Another cause of damaged diskettes is
|
Another cause of damaged diskettes is
|
||||||
the practice of hitting the RESET key
|
the practice of hitting the RESET key
|
||||||
to abort the execution of a program
|
to abort the execution of a program
|
||||||
@ -553,7 +553,7 @@ checksum (see CHAPTER 3) it may be
|
|||||||
possible to read the bad sector and
|
possible to read the bad sector and
|
||||||
ignore the error and get most of the
|
ignore the error and get most of the
|
||||||
data.
|
data.
|
||||||
.pp
|
|
||||||
An I/O error usually means that one
|
An I/O error usually means that one
|
||||||
of two conditions has occured. Either
|
of two conditions has occured. Either
|
||||||
a bad checksum was detected on the
|
a bad checksum was detected on the
|
||||||
@ -571,7 +571,7 @@ to copy all readable sectors from the
|
|||||||
damaged diskette to another formatted
|
damaged diskette to another formatted
|
||||||
diskette and then reconstruct the
|
diskette and then reconstruct the
|
||||||
lost data there.
|
lost data there.
|
||||||
.pp
|
|
||||||
Many commercially available utilities
|
Many commercially available utilities
|
||||||
exist which allow the user to
|
exist which allow the user to
|
||||||
read and display the contents of
|
read and display the contents of
|
||||||
@ -616,7 +616,7 @@ files periodically to simplify
|
|||||||
recovery. More information on the
|
recovery. More information on the
|
||||||
above procedures is given in APPENDIX
|
above procedures is given in APPENDIX
|
||||||
A.
|
A.
|
||||||
.pp
|
|
||||||
A less significant form of diskette
|
A less significant form of diskette
|
||||||
clobber, but very annoying, is the
|
clobber, but very annoying, is the
|
||||||
loss of free sectors. Since DOS
|
loss of free sectors. Since DOS
|
||||||
@ -644,7 +644,7 @@ another diskette (note that FID must
|
|||||||
be used, not COPY, since COPY copies
|
be used, not COPY, since COPY copies
|
||||||
an image of the diskette, bad VTOC
|
an image of the diskette, bad VTOC
|
||||||
and all).
|
and all).
|
||||||
.pp
|
|
||||||
If a file is deleted it can usually
|
If a file is deleted it can usually
|
||||||
be recovered, providing that
|
be recovered, providing that
|
||||||
additional sector allocations have
|
additional sector allocations have
|
||||||
@ -661,4 +661,3 @@ and then the original deleted so that
|
|||||||
the VTOC freespace bit map will
|
the VTOC freespace bit map will
|
||||||
be updated.
|
be updated.
|
||||||
.nx ch5
|
.nx ch5
|
||||||
\x00
|
|
@ -4,7 +4,7 @@
|
|||||||
CHAPTER 5 - THE STRUCTURE OF DOS
|
CHAPTER 5 - THE STRUCTURE OF DOS
|
||||||
.sp 2
|
.sp 2
|
||||||
DOS MEMORY USE
|
DOS MEMORY USE
|
||||||
.pp
|
|
||||||
DOS is an assembly language program
|
DOS is an assembly language program
|
||||||
which is loaded into RAM memory when
|
which is loaded into RAM memory when
|
||||||
the user boots his disk. If the
|
the user boots his disk. If the
|
||||||
@ -39,7 +39,7 @@ occupied does not exist on a smaller
|
|||||||
machine.
|
machine.
|
||||||
.SP1
|
.SP1
|
||||||
*** INSERT FIGURE 5.1 ***
|
*** INSERT FIGURE 5.1 ***
|
||||||
.pp
|
|
||||||
A diagram of DOS's memory for a 48K
|
A diagram of DOS's memory for a 48K
|
||||||
APPLE II is given in
|
APPLE II is given in
|
||||||
Figure 5.1. As can be seen, there are
|
Figure 5.1. As can be seen, there are
|
||||||
@ -58,7 +58,7 @@ the file buffers also changes. This
|
|||||||
affects the placement of HIMEM,
|
affects the placement of HIMEM,
|
||||||
moving it up or down with fewer or
|
moving it up or down with fewer or
|
||||||
more buffers respectively.
|
more buffers respectively.
|
||||||
.pp
|
|
||||||
The 3.5K
|
The 3.5K
|
||||||
above the file buffers is occupied by
|
above the file buffers is occupied by
|
||||||
the main DOS routines. It is here
|
the main DOS routines. It is here
|
||||||
@ -86,7 +86,7 @@ of DOS. This interface is generalized
|
|||||||
through a group of vectors in page 3
|
through a group of vectors in page 3
|
||||||
of RAM and is documented in the next
|
of RAM and is documented in the next
|
||||||
chapter.
|
chapter.
|
||||||
.pp
|
|
||||||
The last 2.5K of DOS is the
|
The last 2.5K of DOS is the
|
||||||
Read/Write Track/Sector (RWTS)
|
Read/Write Track/Sector (RWTS)
|
||||||
package. RWTS is the next step lower
|
package. RWTS is the next step lower
|
||||||
@ -107,7 +107,7 @@ the next chapter.
|
|||||||
.ne5
|
.ne5
|
||||||
THE DOS VECTORS IN PAGE 3
|
THE DOS VECTORS IN PAGE 3
|
||||||
.ll30
|
.ll30
|
||||||
.pp
|
|
||||||
In addition to the approximately 10K
|
In addition to the approximately 10K
|
||||||
of RAM occupied by DOS in high
|
of RAM occupied by DOS in high
|
||||||
memory, DOS maintains a group of what
|
memory, DOS maintains a group of what
|
||||||
@ -199,7 +199,7 @@ ADDR USAGE
|
|||||||
a maskable interrupt occurs.
|
a maskable interrupt occurs.
|
||||||
.bp
|
.bp
|
||||||
WHAT HAPPENS DURING BOOTING
|
WHAT HAPPENS DURING BOOTING
|
||||||
.PP
|
|
||||||
When an APPLE is powered on its
|
When an APPLE is powered on its
|
||||||
memory is essentially devoid of any
|
memory is essentially devoid of any
|
||||||
programs. In order to get DOS
|
programs. In order to get DOS
|
||||||
@ -218,7 +218,7 @@ in Figure 5.2 and a description of
|
|||||||
the bootstrap process follows.
|
the bootstrap process follows.
|
||||||
.SP1
|
.SP1
|
||||||
*** INSERT FIGURE 5.2 ***
|
*** INSERT FIGURE 5.2 ***
|
||||||
.pp
|
|
||||||
The first boot stage (let's call it
|
The first boot stage (let's call it
|
||||||
Boot 0) is the execution of the ROM
|
Boot 0) is the execution of the ROM
|
||||||
on the disk controller card. When the
|
on the disk controller card. When the
|
||||||
@ -242,7 +242,7 @@ $300). Once this sector is read, the
|
|||||||
first stage boot jumps (GOTO's) $800
|
first stage boot jumps (GOTO's) $800
|
||||||
which is the second stage boot (Boot
|
which is the second stage boot (Boot
|
||||||
1).
|
1).
|
||||||
.pp
|
|
||||||
Boot 1, also about 256 bytes long,
|
Boot 1, also about 256 bytes long,
|
||||||
uses part of the Boot 0 ROM as a
|
uses part of the Boot 0 ROM as a
|
||||||
subroutine and, in a loop, reads the
|
subroutine and, in a loop, reads the
|
||||||
@ -336,7 +336,7 @@ that it will execute properly at its
|
|||||||
new home. The relocator then jumps to
|
new home. The relocator then jumps to
|
||||||
the high memory copy of DOS and the
|
the high memory copy of DOS and the
|
||||||
old image is forgotten.
|
old image is forgotten.
|
||||||
.pp
|
|
||||||
The DOS boot is completed by the DOS
|
The DOS boot is completed by the DOS
|
||||||
coldstart routine. This code
|
coldstart routine. This code
|
||||||
initializes DOS, making space for the
|
initializes DOS, making space for the
|
||||||
@ -363,7 +363,7 @@ form of nibbilization (see chapter 3)
|
|||||||
than any other sector on the
|
than any other sector on the
|
||||||
diskette, making its raw appearance
|
diskette, making its raw appearance
|
||||||
in memory at $3600 non-executable.
|
in memory at $3600 non-executable.
|
||||||
.pp
|
|
||||||
The various stages of the bootstrap
|
The various stages of the bootstrap
|
||||||
process will be covered again in greater
|
process will be covered again in greater
|
||||||
detail in Chapter 8, DOS PROGRAM
|
detail in Chapter 8, DOS PROGRAM
|
||||||
@ -372,4 +372,3 @@ LOGIC.
|
|||||||
*** INSERT FIGURE 5.3 HERE ***
|
*** INSERT FIGURE 5.3 HERE ***
|
||||||
.BR
|
.BR
|
||||||
.NX CH6.1
|
.NX CH6.1
|
||||||
\x00
|
|
@ -4,7 +4,7 @@
|
|||||||
CHAPTER 6 - USING DOS FROM ASSEMBLY LANGUAGE
|
CHAPTER 6 - USING DOS FROM ASSEMBLY LANGUAGE
|
||||||
.sp1
|
.sp1
|
||||||
CAVEAT
|
CAVEAT
|
||||||
.PP
|
|
||||||
This chapter is aimed at the advanced
|
This chapter is aimed at the advanced
|
||||||
assembly language programmer who
|
assembly language programmer who
|
||||||
wishes to access the disk without
|
wishes to access the disk without
|
||||||
@ -17,7 +17,7 @@ present) of a programmer who has
|
|||||||
never used assembly language.
|
never used assembly language.
|
||||||
.sp2
|
.sp2
|
||||||
DIRECT USE OF DISK DRIVE
|
DIRECT USE OF DISK DRIVE
|
||||||
.PP
|
|
||||||
It is often desirable or necessary to
|
It is often desirable or necessary to
|
||||||
access the Apple's disk drives
|
access the Apple's disk drives
|
||||||
directly from assembly language,
|
directly from assembly language,
|
||||||
@ -78,7 +78,7 @@ generally desirable to write code
|
|||||||
that is not slot dependent, one would
|
that is not slot dependent, one would
|
||||||
normally use $C08A,X (where the
|
normally use $C08A,X (where the
|
||||||
X register contains the value $s0).
|
X register contains the value $s0).
|
||||||
.pp
|
|
||||||
In general, the above addresses need
|
In general, the above addresses need
|
||||||
only be accessed with any valid 6502
|
only be accessed with any valid 6502
|
||||||
instruction. However, in the case of
|
instruction. However, in the case of
|
||||||
@ -92,7 +92,7 @@ number 1. (Assume slot number 6)
|
|||||||
LDA $C0EA
|
LDA $C0EA
|
||||||
BIT $C08A,X (where X-reg contains $60)
|
BIT $C08A,X (where X-reg contains $60)
|
||||||
CMP $C08A,X (where X-reg contains $60)
|
CMP $C08A,X (where X-reg contains $60)
|
||||||
.pp
|
|
||||||
Below are typical examples
|
Below are typical examples
|
||||||
demonstrating the use of the device
|
demonstrating the use of the device
|
||||||
address assignments. For more
|
address assignments. For more
|
||||||
@ -101,7 +101,7 @@ assumed and the X-register contains
|
|||||||
$60.
|
$60.
|
||||||
.sp1
|
.sp1
|
||||||
STEPPER PHASE OFF/ON:
|
STEPPER PHASE OFF/ON:
|
||||||
.PP
|
|
||||||
Basically, each of the four phases
|
Basically, each of the four phases
|
||||||
(0-3) must be turned on and then off
|
(0-3) must be turned on and then off
|
||||||
again. Done in ascending order, this
|
again. Done in ascending order, this
|
||||||
@ -169,7 +169,7 @@ NOTE: $C08F,X must already have been
|
|||||||
accessed to insure Write mode and a
|
accessed to insure Write mode and a
|
||||||
100 microsecond delay should be
|
100 microsecond delay should be
|
||||||
invoked before writing.
|
invoked before writing.
|
||||||
.pp
|
|
||||||
Due to hardware constraints, data
|
Due to hardware constraints, data
|
||||||
bytes must be written in 32 cycle
|
bytes must be written in 32 cycle
|
||||||
loops. Below is an example for an
|
loops. Below is an example for an
|
||||||
@ -197,7 +197,7 @@ without an adjustment.
|
|||||||
RTS (6)
|
RTS (6)
|
||||||
.SP2
|
.SP2
|
||||||
CALLING READ/WRITE TRACK/SECTOR (RWTS)
|
CALLING READ/WRITE TRACK/SECTOR (RWTS)
|
||||||
.pp
|
|
||||||
Read/Write Track/Sector (RWTS) exists
|
Read/Write Track/Sector (RWTS) exists
|
||||||
in every version of DOS as a
|
in every version of DOS as a
|
||||||
collection of subroutines, occupying
|
collection of subroutines, occupying
|
||||||
@ -206,11 +206,11 @@ program. The interface to RWTS is
|
|||||||
standardized and thoroughly documented by Apple
|
standardized and thoroughly documented by Apple
|
||||||
and may be called by a
|
and may be called by a
|
||||||
program running outside of DOS.
|
program running outside of DOS.
|
||||||
.pp
|
|
||||||
There are two subroutines which must
|
There are two subroutines which must
|
||||||
be called or whose function must be
|
be called or whose function must be
|
||||||
performed.
|
performed.
|
||||||
.pp
|
|
||||||
JSR $3E3 - When this subroutine is
|
JSR $3E3 - When this subroutine is
|
||||||
called, the Y and A registers are
|
called, the Y and A registers are
|
||||||
loaded with the address of the
|
loaded with the address of the
|
||||||
@ -227,7 +227,7 @@ to RWTS. Of course, you may set up
|
|||||||
your own IOB as long as the Y and A
|
your own IOB as long as the Y and A
|
||||||
registers point to your IOB upon
|
registers point to your IOB upon
|
||||||
calling RWTS.
|
calling RWTS.
|
||||||
.pp
|
|
||||||
JSR $3D9 - This is the main entry to
|
JSR $3D9 - This is the main entry to
|
||||||
the RWTS routine. Prior to making
|
the RWTS routine. Prior to making
|
||||||
this call, the Y and A registers must
|
this call, the Y and A registers must
|
||||||
@ -356,4 +356,3 @@ Output: Byte 0D - Return code (See previous definition)
|
|||||||
10 - Current Drive number
|
10 - Current Drive number
|
||||||
.bp
|
.bp
|
||||||
.nx ch6.2
|
.nx ch6.2
|
||||||
\x00
|
|
@ -1,5 +1,5 @@
|
|||||||
CALLING THE DOS FILE MANAGER
|
CALLING THE DOS FILE MANAGER
|
||||||
.pp
|
|
||||||
The DOS file manager exists in every
|
The DOS file manager exists in every
|
||||||
version of DOS as a collection of
|
version of DOS as a collection of
|
||||||
subroutines occupying approximately
|
subroutines occupying approximately
|
||||||
@ -20,7 +20,7 @@ these routines may be relied upon as
|
|||||||
program
|
program
|
||||||
uses these routines to process files
|
uses these routines to process files
|
||||||
on the diskette.
|
on the diskette.
|
||||||
.pp
|
|
||||||
There are
|
There are
|
||||||
two subroutines which must be called
|
two subroutines which must be called
|
||||||
in order to access the file manager.
|
in order to access the file manager.
|
||||||
@ -289,7 +289,7 @@ Input: Byte 00 - 0C
|
|||||||
Output: Byte 0A - Return code
|
Output: Byte 0A - Return code
|
||||||
.bp
|
.bp
|
||||||
DOS BUFFERS
|
DOS BUFFERS
|
||||||
.pp
|
|
||||||
Usually it is desirable to use one of DOS's buffers when
|
Usually it is desirable to use one of DOS's buffers when
|
||||||
calling the file manager to save memory. DOS buffers consist of
|
calling the file manager to save memory. DOS buffers consist of
|
||||||
each of the three buffers used by the file manager (file
|
each of the three buffers used by the file manager (file
|
||||||
@ -336,7 +336,7 @@ BYTE DESCRIPTION
|
|||||||
the chain then this field contains zeros.
|
the chain then this field contains zeros.
|
||||||
.bp
|
.bp
|
||||||
THE FILE MANAGER WORKAREA
|
THE FILE MANAGER WORKAREA
|
||||||
.pp
|
|
||||||
The file manager workarea contains
|
The file manager workarea contains
|
||||||
the variables which, taken together,
|
the variables which, taken together,
|
||||||
constitute all of the information the
|
constitute all of the information the
|
||||||
@ -398,13 +398,13 @@ BYTE DESCRIPTION
|
|||||||
2A/2C Not used
|
2A/2C Not used
|
||||||
.bp
|
.bp
|
||||||
COMMON ALGORITHMS
|
COMMON ALGORITHMS
|
||||||
.PP
|
|
||||||
Given below are several pieces of code
|
Given below are several pieces of code
|
||||||
which are used when working with DOS:
|
which are used when working with DOS:
|
||||||
.SP1
|
.SP1
|
||||||
.ne5
|
.ne5
|
||||||
LOCATE A FREE DOS BUFFER
|
LOCATE A FREE DOS BUFFER
|
||||||
.PP
|
|
||||||
The following subroutine may be used
|
The following subroutine may be used
|
||||||
to locate an unallocated DOS buffer
|
to locate an unallocated DOS buffer
|
||||||
for use with the DOS file manager.
|
for use with the DOS file manager.
|
||||||
@ -438,7 +438,7 @@ NBUF SEC INDICATE-NO FREE BUFFERS
|
|||||||
RTS RETURN TO CALLER
|
RTS RETURN TO CALLER
|
||||||
.bp
|
.bp
|
||||||
IS DOS IN THE MACHINE?
|
IS DOS IN THE MACHINE?
|
||||||
.PP
|
|
||||||
The following series of instructions
|
The following series of instructions
|
||||||
should be used prior to attempting to
|
should be used prior to attempting to
|
||||||
call RWTS or the file manager to
|
call RWTS or the file manager to
|
||||||
@ -452,7 +452,7 @@ machine.
|
|||||||
.SP2
|
.SP2
|
||||||
.ne5
|
.ne5
|
||||||
WHICH VERSION OF DOS IS ACTIVE?
|
WHICH VERSION OF DOS IS ACTIVE?
|
||||||
.pp
|
|
||||||
In case the program has version dependent code, a check of
|
In case the program has version dependent code, a check of
|
||||||
the DOS version may be required:
|
the DOS version may be required:
|
||||||
.sp1
|
.sp1
|
||||||
@ -498,7 +498,7 @@ SETBSC CMP $E000 CORRECT BASIC ALREADY THERE?
|
|||||||
\x2c\x40\x42\x5b\x33\x03\x61\x9fTS RTS IN ANY CASE, EXIT TO CALLER
|
\x2c\x40\x42\x5b\x33\x03\x61\x9fTS RTS IN ANY CASE, EXIT TO CALLER
|
||||||
.bp
|
.bp
|
||||||
SEE IF A BASIC PROGRAM IS IN EXECUTION
|
SEE IF A BASIC PROGRAM IS IN EXECUTION
|
||||||
.PP
|
|
||||||
To determine if there is a BASIC program running or
|
To determine if there is a BASIC program running or
|
||||||
if BASIC is in immediate command mode, use the following
|
if BASIC is in immediate command mode, use the following
|
||||||
statements:
|
statements:
|
||||||
@ -519,4 +519,3 @@ statements:
|
|||||||
BNE EXEC ELSE, PROGRAM IS EXECUTING
|
BNE EXEC ELSE, PROGRAM IS EXECUTING
|
||||||
.br
|
.br
|
||||||
.nx ch7
|
.nx ch7
|
||||||
\x00
|
|
@ -3,7 +3,7 @@
|
|||||||
.ce
|
.ce
|
||||||
CHAPTER 7 - CUSTOMIZING DOS
|
CHAPTER 7 - CUSTOMIZING DOS
|
||||||
.sp1
|
.sp1
|
||||||
.PP
|
|
||||||
Although DOS usually provides most of
|
Although DOS usually provides most of
|
||||||
the functionality needed by the BASIC
|
the functionality needed by the BASIC
|
||||||
or assembly language programmer, at
|
or assembly language programmer, at
|
||||||
@ -22,7 +22,7 @@ implications of each change can
|
|||||||
result in an unreliable system.
|
result in an unreliable system.
|
||||||
.sp1
|
.sp1
|
||||||
SLAVE VS MASTER PATCHING
|
SLAVE VS MASTER PATCHING
|
||||||
.PP
|
|
||||||
The usual procedure for making
|
The usual procedure for making
|
||||||
changes to DOS involves "patching"
|
changes to DOS involves "patching"
|
||||||
the object or machine language code
|
the object or machine language code
|
||||||
@ -78,7 +78,7 @@ DOS.
|
|||||||
.SP1
|
.SP1
|
||||||
.ne5
|
.ne5
|
||||||
AVOIDING RELOAD OF LANGUAGE CARD
|
AVOIDING RELOAD OF LANGUAGE CARD
|
||||||
.PP
|
|
||||||
A rather annoying addition to DOS 3.3
|
A rather annoying addition to DOS 3.3
|
||||||
was a patch to the Boot 2 code to
|
was a patch to the Boot 2 code to
|
||||||
store a binary zero in the first byte
|
store a binary zero in the first byte
|
||||||
@ -122,7 +122,7 @@ store instruction for a 32K DOS is
|
|||||||
7FD3 and for a 16K DOS is 3FD3.
|
7FD3 and for a 16K DOS is 3FD3.
|
||||||
.sp1
|
.sp1
|
||||||
INSERTING A PROGRAM BETWEEN DOS AND ITS BUFFERS
|
INSERTING A PROGRAM BETWEEN DOS AND ITS BUFFERS
|
||||||
.pp
|
|
||||||
Once in a while it is useful to find
|
Once in a while it is useful to find
|
||||||
a "safe" place to load a machine
|
a "safe" place to load a machine
|
||||||
language program (a printer driver,
|
language program (a printer driver,
|
||||||
@ -154,7 +154,7 @@ since its HIMEM is below the DOS
|
|||||||
buffers.
|
buffers.
|
||||||
.bp
|
.bp
|
||||||
BRUN OR EXEC THE HELLO FILE
|
BRUN OR EXEC THE HELLO FILE
|
||||||
.pp
|
|
||||||
Ordinarily, when DOS finishes booting
|
Ordinarily, when DOS finishes booting
|
||||||
into memory, it performs a RUN
|
into memory, it performs a RUN
|
||||||
command on the HELLO file in its file
|
command on the HELLO file in its file
|
||||||
@ -170,7 +170,7 @@ following patch to DOS (48K):
|
|||||||
.sp1
|
.sp1
|
||||||
.ne5
|
.ne5
|
||||||
REMOVING THE PAUSE DURING A LONG CATALOG
|
REMOVING THE PAUSE DURING A LONG CATALOG
|
||||||
.pp
|
|
||||||
Normally, when a CATALOG command is
|
Normally, when a CATALOG command is
|
||||||
done on a disk with many files, DOS
|
done on a disk with many files, DOS
|
||||||
will pause every time the screen
|
will pause every time the screen
|
||||||
@ -186,4 +186,3 @@ patch to DOS (48K):
|
|||||||
.bp
|
.bp
|
||||||
.st waiting for ch8 diskette
|
.st waiting for ch8 diskette
|
||||||
.nx ch8
|
.nx ch8
|
||||||
\x00
|
|
@ -12,7 +12,7 @@
|
|||||||
.ce
|
.ce
|
||||||
CHAPTER 8 - DOS PROGRAM LOGIC
|
CHAPTER 8 - DOS PROGRAM LOGIC
|
||||||
.sp1
|
.sp1
|
||||||
.PP
|
|
||||||
This chapter will take a detailed
|
This chapter will take a detailed
|
||||||
look at the operation of the DOS
|
look at the operation of the DOS
|
||||||
program itself to aid the APPLE user
|
program itself to aid the APPLE user
|
||||||
@ -377,4 +377,3 @@ ADDRESS
|
|||||||
9FCD-A179 DOS command parse routine.
|
9FCD-A179 DOS command parse routine.
|
||||||
.br
|
.br
|
||||||
.nx ch8.1
|
.nx ch8.1
|
||||||
\x00
|
|
@ -163,4 +163,3 @@ A298-A2A2 APPEND command handler.
|
|||||||
and turn flag off.
|
and turn flag off.
|
||||||
Exit via a call to POSITION.
|
Exit via a call to POSITION.
|
||||||
.nx ch8.2
|
.nx ch8.2
|
||||||
\x00
|
|
@ -218,4 +218,3 @@ A54F-A56D INIT command handler.
|
|||||||
.np
|
.np
|
||||||
A56E-A579 CATALOG command handler.
|
A56E-A579 CATALOG command handler.
|
||||||
.nx ch8.3
|
.nx ch8.3
|
||||||
\x00
|
|
@ -219,4 +219,3 @@ A851-A883 Replace DOS keyboard/video intercept vectors.
|
|||||||
address.
|
address.
|
||||||
Exit to caller.
|
Exit to caller.
|
||||||
.nx ch8.4
|
.nx ch8.4
|
||||||
\x00
|
|
@ -253,4 +253,3 @@ AB28-ABDB Common open routine.
|
|||||||
And write it back (AF3A).
|
And write it back (AF3A).
|
||||||
Set return code to 6 ("FILE NOT FOUND").
|
Set return code to 6 ("FILE NOT FOUND").
|
||||||
.nx ch8.5
|
.nx ch8.5
|
||||||
\x00
|
|
@ -278,4 +278,3 @@ AF34-AF4A Checkpoint write T/S List sector buffer to disk.
|
|||||||
need of checkpoint.
|
need of checkpoint.
|
||||||
Exit to caller.
|
Exit to caller.
|
||||||
.nx ch8.6
|
.nx ch8.6
|
||||||
\x00
|
|
@ -406,4 +406,3 @@ B600-B6FF Start of Boot 2/RWTS image.
|
|||||||
B6FF Number of sectors (pages) in Boot 2.
|
B6FF Number of sectors (pages) in Boot 2.
|
||||||
.br
|
.br
|
||||||
.nx ch8.7
|
.nx ch8.7
|
||||||
\x00
|
|
@ -402,4 +402,3 @@ BFED-BFFF Patch called from $B377.
|
|||||||
Exit through $B385 ("DISK FULL ERROR").
|
Exit through $B385 ("DISK FULL ERROR").
|
||||||
.br
|
.br
|
||||||
.nx ch8 zpage use
|
.nx ch8 zpage use
|
||||||
\x00
|
|
@ -50,4 +50,3 @@ D6 APPLESOFT BASIC PROGRAM protection flag (DOS)
|
|||||||
D8,D9 INTEGER BASIC line number (DOS)
|
D8,D9 INTEGER BASIC line number (DOS)
|
||||||
APPLESOFT BASIC ONERR (DOS)
|
APPLESOFT BASIC ONERR (DOS)
|
||||||
.br
|
.br
|
||||||
\x00
|
|
@ -112,4 +112,3 @@ GLOSSARY
|
|||||||
.SP3
|
.SP3
|
||||||
INDEX
|
INDEX
|
||||||
.BR
|
.BR
|
||||||
\x00
|
|
@ -12,7 +12,7 @@
|
|||||||
.ce
|
.ce
|
||||||
APPENDIX A - EXAMPLE PROGRAMS
|
APPENDIX A - EXAMPLE PROGRAMS
|
||||||
.sp1
|
.sp1
|
||||||
.PP
|
|
||||||
This section is intended to supply
|
This section is intended to supply
|
||||||
the reader with utility programs
|
the reader with utility programs
|
||||||
which can be used to examine and
|
which can be used to examine and
|
||||||
@ -47,7 +47,7 @@ Five programs are provided:
|
|||||||
DUMP TRACK DUMP UTILITY
|
DUMP TRACK DUMP UTILITY
|
||||||
.pi8
|
.pi8
|
||||||
.in8
|
.in8
|
||||||
.pp
|
|
||||||
This is an example of how to directly
|
This is an example of how to directly
|
||||||
access the disk drive through its I/O
|
access the disk drive through its I/O
|
||||||
select addresses. DUMP may be used
|
select addresses. DUMP may be used
|
||||||
@ -63,7 +63,7 @@ diskettes.
|
|||||||
ZAP DISK UPDATE UTILITY
|
ZAP DISK UPDATE UTILITY
|
||||||
.pi8
|
.pi8
|
||||||
.in8
|
.in8
|
||||||
.pp
|
|
||||||
This program is the backbone of any
|
This program is the backbone of any
|
||||||
attempt to patch a diskette directory
|
attempt to patch a diskette directory
|
||||||
back together. It is also useful in
|
back together. It is also useful in
|
||||||
@ -81,7 +81,7 @@ Read/Write Track/Sector (RWTS).
|
|||||||
INIT REFORMAT A SINGLE TRACK
|
INIT REFORMAT A SINGLE TRACK
|
||||||
.pi8
|
.pi8
|
||||||
.in8
|
.in8
|
||||||
.pp
|
|
||||||
This program will initialize a single
|
This program will initialize a single
|
||||||
track on a diskette. Any volume
|
track on a diskette. Any volume
|
||||||
number ($00-$FF) may be specified.
|
number ($00-$FF) may be specified.
|
||||||
@ -95,7 +95,7 @@ diskette. DOS 3.3 and 48K is assumed.
|
|||||||
FTS FIND T/S LISTS UTILITY
|
FTS FIND T/S LISTS UTILITY
|
||||||
.pi8
|
.pi8
|
||||||
.in8
|
.in8
|
||||||
.pp
|
|
||||||
FTS may be used when the directory
|
FTS may be used when the directory
|
||||||
for a diskette has been destroyed.
|
for a diskette has been destroyed.
|
||||||
It searches every sector on a
|
It searches every sector on a
|
||||||
@ -111,7 +111,7 @@ together a new catalog using ZAP.
|
|||||||
COPY CONVERT FILES
|
COPY CONVERT FILES
|
||||||
.pi8
|
.pi8
|
||||||
.in8
|
.in8
|
||||||
.pp
|
|
||||||
COPY is provided as an example of
|
COPY is provided as an example of
|
||||||
direct use of the DOS File Manager
|
direct use of the DOS File Manager
|
||||||
package from assembly language. The
|
package from assembly language. The
|
||||||
@ -146,7 +146,7 @@ non-assembly language programmer, the
|
|||||||
binary object code of each program
|
binary object code of each program
|
||||||
may be entered from the monitor using
|
may be entered from the monitor using
|
||||||
the following procedure.
|
the following procedure.
|
||||||
.pp
|
|
||||||
The assembly language listings
|
The assembly language listings
|
||||||
consist of columns of information as
|
consist of columns of information as
|
||||||
follows:
|
follows:
|
||||||
@ -185,7 +185,7 @@ CALL -151 (Enter the monitor from BASIC)
|
|||||||
0879:85 3F
|
0879:85 3F
|
||||||
087B:4C B3 FD
|
087B:4C B3 FD
|
||||||
BSAVE DUMP,A$800,L$7E (Save program to disk)
|
BSAVE DUMP,A$800,L$7E (Save program to disk)
|
||||||
.pp
|
|
||||||
Note that if a line (such as line 4
|
Note that if a line (such as line 4
|
||||||
in DUMP) has no object bytes
|
in DUMP) has no object bytes
|
||||||
associated with it, it may be
|
associated with it, it may be
|
||||||
@ -210,7 +210,7 @@ BSAVE COPY,A$800,L$1EC
|
|||||||
.bp
|
.bp
|
||||||
DUMP -- TRACK DUMP UTILITY
|
DUMP -- TRACK DUMP UTILITY
|
||||||
.sp1
|
.sp1
|
||||||
.pp
|
|
||||||
The DUMP program will dump any track
|
The DUMP program will dump any track
|
||||||
on a diskette in its raw,
|
on a diskette in its raw,
|
||||||
pre-nibbilized format, allowing the
|
pre-nibbilized format, allowing the
|
||||||
@ -231,7 +231,7 @@ as an example of direct use of the
|
|||||||
DISK II hardware from assembly
|
DISK II hardware from assembly
|
||||||
language, with little or no use of
|
language, with little or no use of
|
||||||
DOS.
|
DOS.
|
||||||
.pp
|
|
||||||
To use DUMP, first store the number
|
To use DUMP, first store the number
|
||||||
of the track you wish dumped at
|
of the track you wish dumped at
|
||||||
location $02, then begin execution at
|
location $02, then begin execution at
|
||||||
@ -257,7 +257,7 @@ The output might look like this...
|
|||||||
1010- 9E FF FF FF FF FF D5 AA (Start of sector data)
|
1010- 9E FF FF FF FF FF D5 AA (Start of sector data)
|
||||||
1018- AD AE B2 9D AC AE 96 96 (Sector data)
|
1018- AD AE B2 9D AC AE 96 96 (Sector data)
|
||||||
...etc...
|
...etc...
|
||||||
.pp
|
|
||||||
Quite often, a sector with an I/O
|
Quite often, a sector with an I/O
|
||||||
error will have only one bit which is
|
error will have only one bit which is
|
||||||
in error, either in the address or
|
in error, either in the address or
|
||||||
@ -273,7 +273,7 @@ is necessary to accomplish this feat.
|
|||||||
.bp
|
.bp
|
||||||
ZAP -- DISK UPDATE UTILITY
|
ZAP -- DISK UPDATE UTILITY
|
||||||
.sp1
|
.sp1
|
||||||
.pp
|
|
||||||
The next step up the ladder from DUMP
|
The next step up the ladder from DUMP
|
||||||
is to access data on the diskette at
|
is to access data on the diskette at
|
||||||
the sector level. The ZAP program
|
the sector level. The ZAP program
|
||||||
@ -288,7 +288,7 @@ when it is necessary to patch up a
|
|||||||
damaged directory. Its use in this
|
damaged directory. Its use in this
|
||||||
regard will be covered in more detail
|
regard will be covered in more detail
|
||||||
when FTS is explained.
|
when FTS is explained.
|
||||||
.pp
|
|
||||||
To use ZAP, store the number of the
|
To use ZAP, store the number of the
|
||||||
track and sector you wish to access
|
track and sector you wish to access
|
||||||
in $02 and $03 respectively. Tracks
|
in $02 and $03 respectively. Tracks
|
||||||
@ -327,7 +327,7 @@ The output might look like this...
|
|||||||
0810- 00 00 00 00 00 00 00 00
|
0810- 00 00 00 00 00 00 00 00
|
||||||
0818- 00 00 00 00 00 00 00 00
|
0818- 00 00 00 00 00 00 00 00
|
||||||
...etc...
|
...etc...
|
||||||
.pp
|
|
||||||
In the above example, if the byte at
|
In the above example, if the byte at
|
||||||
offset 3 (the version of DOS which
|
offset 3 (the version of DOS which
|
||||||
INITed this diskette) is to be
|
INITed this diskette) is to be
|
||||||
@ -342,7 +342,7 @@ Note that ZAP will remember the
|
|||||||
previous
|
previous
|
||||||
values in $02, $03, and $04.
|
values in $02, $03, and $04.
|
||||||
.bp
|
.bp
|
||||||
.pp
|
|
||||||
If something is wrong with the sector
|
If something is wrong with the sector
|
||||||
to be read (an I/O error, perhaps),
|
to be read (an I/O error, perhaps),
|
||||||
ZAP will print an error message of
|
ZAP will print an error message of
|
||||||
@ -362,7 +362,7 @@ these errors.
|
|||||||
.bp
|
.bp
|
||||||
INIT -- REFORMAT A SINGLE TRACK
|
INIT -- REFORMAT A SINGLE TRACK
|
||||||
.sp1
|
.sp1
|
||||||
.pp
|
|
||||||
Occasionally the sectoring information
|
Occasionally the sectoring information
|
||||||
on a diskette can become damaged so
|
on a diskette can become damaged so
|
||||||
that one or more sectors can no
|
that one or more sectors can no
|
||||||
@ -387,7 +387,7 @@ run they can be copied back to the
|
|||||||
repaired diskette and data can be
|
repaired diskette and data can be
|
||||||
written to the previously damaged
|
written to the previously damaged
|
||||||
sector.
|
sector.
|
||||||
.pp
|
|
||||||
To run INIT, first store the number
|
To run INIT, first store the number
|
||||||
of the track you wish reformatted at
|
of the track you wish reformatted at
|
||||||
location $02, the volume number of
|
location $02, the volume number of
|
||||||
@ -418,7 +418,7 @@ sizes.
|
|||||||
.bp
|
.bp
|
||||||
FTS -- FIND T/S LISTS UTILITY
|
FTS -- FIND T/S LISTS UTILITY
|
||||||
.sp1
|
.sp1
|
||||||
.pp
|
|
||||||
From time to time one of your
|
From time to time one of your
|
||||||
diskettes will develop an I/O error
|
diskettes will develop an I/O error
|
||||||
smack in the middle of the catalog
|
smack in the middle of the catalog
|
||||||
@ -456,7 +456,7 @@ necessary to restore all the files
|
|||||||
and copy them to another diskette,
|
and copy them to another diskette,
|
||||||
and later delete the duplicate or
|
and later delete the duplicate or
|
||||||
unwanted ones.
|
unwanted ones.
|
||||||
.pp
|
|
||||||
To run FTS, simply load the program
|
To run FTS, simply load the program
|
||||||
and start execution at $900. FTS
|
and start execution at $900. FTS
|
||||||
will print the track and sector
|
will print the track and sector
|
||||||
@ -477,7 +477,7 @@ T=13 S=0F
|
|||||||
T=14 S=0D
|
T=14 S=0D
|
||||||
T=14 S=0F
|
T=14 S=0F
|
||||||
.bp
|
.bp
|
||||||
.pp
|
|
||||||
Here, only four possible files were
|
Here, only four possible files were
|
||||||
found. ZAP should now be used to
|
found. ZAP should now be used to
|
||||||
read track $12, sector $0F. At +$0C
|
read track $12, sector $0F. At +$0C
|
||||||
@ -523,7 +523,7 @@ BLOAD ZAP
|
|||||||
:A0 A0
|
:A0 A0
|
||||||
02:11 0F 02 N 900G (Write new sector image out as
|
02:11 0F 02 N 900G (Write new sector image out as
|
||||||
first (and only) catalog sector)
|
first (and only) catalog sector)
|
||||||
.pp
|
|
||||||
The file should immediately be copied
|
The file should immediately be copied
|
||||||
to another diskette and then the
|
to another diskette and then the
|
||||||
process repeated for each T/S List
|
process repeated for each T/S List
|
||||||
@ -537,7 +537,7 @@ damaged disk may be re-INITialized.
|
|||||||
.bp
|
.bp
|
||||||
COPY -- CONVERT FILES
|
COPY -- CONVERT FILES
|
||||||
.sp1
|
.sp1
|
||||||
.pp
|
|
||||||
The COPY program demonstrates the use
|
The COPY program demonstrates the use
|
||||||
of the DOS File Manager subroutine
|
of the DOS File Manager subroutine
|
||||||
package from assembly language. COPY
|
package from assembly language. COPY
|
||||||
@ -553,7 +553,7 @@ name of the output file is "OUTPUT".
|
|||||||
COPY is a single drive operation,
|
COPY is a single drive operation,
|
||||||
using the last drive which was
|
using the last drive which was
|
||||||
referenced.
|
referenced.
|
||||||
.pp
|
|
||||||
To run COPY, load it and begin
|
To run COPY, load it and begin
|
||||||
execution at $800:
|
execution at $800:
|
||||||
.sp1
|
.sp1
|
||||||
@ -562,7 +562,7 @@ CALL -151 (Get into the monitor from BASIC)
|
|||||||
BLOAD COPY (Load the COPY program)
|
BLOAD COPY (Load the COPY program)
|
||||||
...Now insert the disk containing INPUT...
|
...Now insert the disk containing INPUT...
|
||||||
900G (Run the COPY program)
|
900G (Run the COPY program)
|
||||||
.pp
|
|
||||||
When COPY finishes, it will return to
|
When COPY finishes, it will return to
|
||||||
BASIC. If any errors occur, the
|
BASIC. If any errors occur, the
|
||||||
return code passed back from the File
|
return code passed back from the File
|
||||||
@ -572,4 +572,3 @@ parameter list in Chapter 6
|
|||||||
for a list of these return codes.
|
for a list of these return codes.
|
||||||
.br
|
.br
|
||||||
.nx appendix b
|
.nx appendix b
|
||||||
\x00
|
|
@ -3,7 +3,7 @@
|
|||||||
.ce
|
.ce
|
||||||
APPENDIX B - DISK PROTECTION SCHEMES
|
APPENDIX B - DISK PROTECTION SCHEMES
|
||||||
.sp1
|
.sp1
|
||||||
.PP
|
|
||||||
As the quantity and quality
|
As the quantity and quality
|
||||||
of Apple II software
|
of Apple II software
|
||||||
has increased, so has the incidence
|
has increased, so has the incidence
|
||||||
@ -16,7 +16,7 @@ schemes involve a modified or custom
|
|||||||
Disk Operating System, it seems
|
Disk Operating System, it seems
|
||||||
appropriate to discuss disk
|
appropriate to discuss disk
|
||||||
protection in general.
|
protection in general.
|
||||||
.pp
|
|
||||||
Typically, a protection scheme's
|
Typically, a protection scheme's
|
||||||
purpose is to stop unauthorized
|
purpose is to stop unauthorized
|
||||||
duplication of the contents of the
|
duplication of the contents of the
|
||||||
@ -31,7 +31,7 @@ the reader is unclear about how a
|
|||||||
normal diskette is formatted, he
|
normal diskette is formatted, he
|
||||||
should refer to Chapter 3 for more
|
should refer to Chapter 3 for more
|
||||||
information.
|
information.
|
||||||
.pp
|
|
||||||
Early protection methods were
|
Early protection methods were
|
||||||
primitive in comparison to what is
|
primitive in comparison to what is
|
||||||
being done now. Just as the methods
|
being done now. Just as the methods
|
||||||
@ -43,7 +43,7 @@ are developed, they are soon broken,
|
|||||||
prompting the software vendor to try
|
prompting the software vendor to try
|
||||||
to create even more sophisticated
|
to create even more sophisticated
|
||||||
systems.
|
systems.
|
||||||
.pp
|
|
||||||
It seems reasonable at this time to
|
It seems reasonable at this time to
|
||||||
say that it is impossible to protect
|
say that it is impossible to protect
|
||||||
a disk in such a way that it can't be
|
a disk in such a way that it can't be
|
||||||
@ -68,14 +68,14 @@ which take advantage of this
|
|||||||
are limited and must
|
are limited and must
|
||||||
involve only certain changes which
|
involve only certain changes which
|
||||||
will be discussed below.
|
will be discussed below.
|
||||||
.pp
|
|
||||||
Most protected disks use a modified
|
Most protected disks use a modified
|
||||||
version of Apple's DOS. This is a
|
version of Apple's DOS. This is a
|
||||||
much easier task than writing one's
|
much easier task than writing one's
|
||||||
own Disk Operating System and will be
|
own Disk Operating System and will be
|
||||||
the primary area covered by this
|
the primary area covered by this
|
||||||
discussion.
|
discussion.
|
||||||
.pp
|
|
||||||
Although there are a vast array of
|
Although there are a vast array of
|
||||||
different protection schemes, they
|
different protection schemes, they
|
||||||
all consist of having some portion of
|
all consist of having some portion of
|
||||||
@ -87,7 +87,7 @@ number of bytes which, if changed,
|
|||||||
will cause a sector to be unreadable.
|
will cause a sector to be unreadable.
|
||||||
We will examine how that is done in
|
We will examine how that is done in
|
||||||
some detail.
|
some detail.
|
||||||
.pp
|
|
||||||
The Address Field normally starts
|
The Address Field normally starts
|
||||||
with the bytes $D5/$AA/$96. If any
|
with the bytes $D5/$AA/$96. If any
|
||||||
one of these bytes were changed, DOS
|
one of these bytes were changed, DOS
|
||||||
@ -122,7 +122,7 @@ whatever two bytes follow the
|
|||||||
information field, using them for
|
information field, using them for
|
||||||
verification, but not to locate the
|
verification, but not to locate the
|
||||||
field itself.
|
field itself.
|
||||||
.pp
|
|
||||||
The Data Field is quite similar to
|
The Data Field is quite similar to
|
||||||
the Address Field in that its three
|
the Address Field in that its three
|
||||||
parts correspond almost identically,
|
parts correspond almost identically,
|
||||||
@ -141,7 +141,7 @@ that the checksum computation will be
|
|||||||
non-zero, causing an error. The
|
non-zero, causing an error. The
|
||||||
closing bytes are identical to those
|
closing bytes are identical to those
|
||||||
of the Address Field ($DE/$AA).
|
of the Address Field ($DE/$AA).
|
||||||
.pp
|
|
||||||
As mentioned earlier, the PROM on the
|
As mentioned earlier, the PROM on the
|
||||||
disk controller skips certain parts
|
disk controller skips certain parts
|
||||||
of both types of fields. In
|
of both types of fields. In
|
||||||
@ -155,7 +155,7 @@ defeated by making slight
|
|||||||
modifications to DOS's RWTS
|
modifications to DOS's RWTS
|
||||||
routines, rendering it
|
routines, rendering it
|
||||||
unreliable as a protective measure.
|
unreliable as a protective measure.
|
||||||
.pp
|
|
||||||
In the early days of disk protection,
|
In the early days of disk protection,
|
||||||
a single alteration was all that was
|
a single alteration was all that was
|
||||||
needed to stop all but a few from
|
needed to stop all but a few from
|
||||||
@ -171,7 +171,7 @@ non-standard formats written even
|
|||||||
.ul
|
.ul
|
||||||
between
|
between
|
||||||
tracks.
|
tracks.
|
||||||
.pp
|
|
||||||
A state of the art protection scheme
|
A state of the art protection scheme
|
||||||
consists of two elements. First, the
|
consists of two elements. First, the
|
||||||
data is stored on the diskette in
|
data is stored on the diskette in
|
||||||
@ -184,7 +184,7 @@ text page or certain zero page
|
|||||||
locations) This is to prevent the
|
locations) This is to prevent the
|
||||||
software from being removed from
|
software from being removed from
|
||||||
memory intact.
|
memory intact.
|
||||||
.pp
|
|
||||||
Recently, several "nibble" or byte
|
Recently, several "nibble" or byte
|
||||||
copy programs have become available.
|
copy programs have become available.
|
||||||
Unlike traditional copy programs
|
Unlike traditional copy programs
|
||||||
@ -239,7 +239,7 @@ hardware device to help find the sync
|
|||||||
bytes, a software program must make
|
bytes, a software program must make
|
||||||
some assumptions about how the data
|
some assumptions about how the data
|
||||||
is structured on the diskette.
|
is structured on the diskette.
|
||||||
.pp
|
|
||||||
The result of the
|
The result of the
|
||||||
introduction of nibble copy programs
|
introduction of nibble copy programs
|
||||||
has been to "force the hand" of the
|
has been to "force the hand" of the
|
||||||
@ -260,4 +260,3 @@ techniques cannot be used to defeat
|
|||||||
them.
|
them.
|
||||||
.br
|
.br
|
||||||
.nx appendix c.1
|
.nx appendix c.1
|
||||||
\x00
|
|
@ -7,12 +7,12 @@ APPENDIX C - GLOSSARY
|
|||||||
.pn5
|
.pn5
|
||||||
.IN20
|
.IN20
|
||||||
.PI-20
|
.PI-20
|
||||||
.PP
|
|
||||||
ACCESS TIME]>The time required to
|
ACCESS TIME]>The time required to
|
||||||
locate and read or write data on a
|
locate and read or write data on a
|
||||||
direct access storage device, such as
|
direct access storage device, such as
|
||||||
a diskette drive.
|
a diskette drive.
|
||||||
.pp
|
|
||||||
ADDRESS]>The numeric location of a
|
ADDRESS]>The numeric location of a
|
||||||
piece of data in memory. Usually
|
piece of data in memory. Usually
|
||||||
given as a hexadecimal number from
|
given as a hexadecimal number from
|
||||||
@ -20,33 +20,33 @@ $0000 to $FFFF (65535 decimal). A
|
|||||||
disk address is the location of a
|
disk address is the location of a
|
||||||
data sector, expressed in terms of its
|
data sector, expressed in terms of its
|
||||||
track and sector numbers.
|
track and sector numbers.
|
||||||
.pp
|
|
||||||
ALGORITHM]>A sequence of steps which
|
ALGORITHM]>A sequence of steps which
|
||||||
may be performed by a program or
|
may be performed by a program or
|
||||||
other process, which will produce a
|
other process, which will produce a
|
||||||
given result.
|
given result.
|
||||||
.pp
|
|
||||||
ALPHANUMERIC]>An alphabetic character
|
ALPHANUMERIC]>An alphabetic character
|
||||||
(A-Z) or a numeric digit (0-9). The
|
(A-Z) or a numeric digit (0-9). The
|
||||||
term used to refer to the class of all
|
term used to refer to the class of all
|
||||||
characters and digits.
|
characters and digits.
|
||||||
.pp
|
|
||||||
ANALOG]>As opposed to digital.
|
ANALOG]>As opposed to digital.
|
||||||
Having a value which is continuous,
|
Having a value which is continuous,
|
||||||
such as a voltage or electrical
|
such as a voltage or electrical
|
||||||
resistance.
|
resistance.
|
||||||
.pp
|
|
||||||
AND]>The logical process of
|
AND]>The logical process of
|
||||||
determining whether two bits are both
|
determining whether two bits are both
|
||||||
ones. 0 AND 1 results in 0 (false),
|
ones. 0 AND 1 results in 0 (false),
|
||||||
1 AND 1 results in 1 (true).
|
1 AND 1 results in 1 (true).
|
||||||
.pp
|
|
||||||
ARM]>The portion of a disk drive
|
ARM]>The portion of a disk drive
|
||||||
which suspends the read/write head
|
which suspends the read/write head
|
||||||
over the disk's surface. The arm can
|
over the disk's surface. The arm can
|
||||||
be moved radially to allow access to
|
be moved radially to allow access to
|
||||||
different tracks.
|
different tracks.
|
||||||
.pp
|
|
||||||
ASCII]>American Standard Code for
|
ASCII]>American Standard Code for
|
||||||
Information Interchange. A
|
Information Interchange. A
|
||||||
hexadecimal to character conversion
|
hexadecimal to character conversion
|
||||||
@ -57,7 +57,7 @@ special, or control character. ASCII
|
|||||||
is used when interfacing to
|
is used when interfacing to
|
||||||
peripherals, such as keyboards,
|
peripherals, such as keyboards,
|
||||||
printers, or video text displays.
|
printers, or video text displays.
|
||||||
.pp
|
|
||||||
ASSEMBLY LANGUAGE]>Also known as
|
ASSEMBLY LANGUAGE]>Also known as
|
||||||
MACHINE LANGUAGE. The native
|
MACHINE LANGUAGE. The native
|
||||||
programming language of the
|
programming language of the
|
||||||
@ -67,40 +67,40 @@ and is not humanized, as is BASIC,
|
|||||||
PASCAL, or FORTRAN. An assembler is
|
PASCAL, or FORTRAN. An assembler is
|
||||||
used to convert assembly language
|
used to convert assembly language
|
||||||
statements to an executable program.
|
statements to an executable program.
|
||||||
.pp
|
|
||||||
BACKUP]>The process of making a copy
|
BACKUP]>The process of making a copy
|
||||||
of a program or data against the
|
of a program or data against the
|
||||||
possibility of its accidental loss or
|
possibility of its accidental loss or
|
||||||
destruction.
|
destruction.
|
||||||
.pp
|
|
||||||
BASE]>The number system in use.
|
BASE]>The number system in use.
|
||||||
Decimal is base 10, since each digit
|
Decimal is base 10, since each digit
|
||||||
represents a power of 10
|
represents a power of 10
|
||||||
(1,10,100,...). Hexadecimal is base
|
(1,10,100,...). Hexadecimal is base
|
||||||
16 (1,16,256,...). Binary is base 2
|
16 (1,16,256,...). Binary is base 2
|
||||||
(1,2,4,8,...).
|
(1,2,4,8,...).
|
||||||
.pp
|
|
||||||
BINARY]>A number system based upon
|
BINARY]>A number system based upon
|
||||||
powers of 2. Only the digits 0 and 1
|
powers of 2. Only the digits 0 and 1
|
||||||
are used. 101 in binary, for
|
are used. 101 in binary, for
|
||||||
example, is 1 units digit, 0 twos,
|
example, is 1 units digit, 0 twos,
|
||||||
and 1 fours, or 5 in decimal.
|
and 1 fours, or 5 in decimal.
|
||||||
.pp
|
|
||||||
BIT]>A single binary digit (a 1 or a
|
BIT]>A single binary digit (a 1 or a
|
||||||
0). A bit is the smallest unit of
|
0). A bit is the smallest unit of
|
||||||
storage or information in a computer.
|
storage or information in a computer.
|
||||||
.PP
|
|
||||||
BIT CELL]>The space on a diskette,
|
BIT CELL]>The space on a diskette,
|
||||||
between two clock pulses, which can
|
between two clock pulses, which can
|
||||||
hold the value of a single binary 0
|
hold the value of a single binary 0
|
||||||
or 1 (bit).
|
or 1 (bit).
|
||||||
.pp
|
|
||||||
BIT SLIP MARKS]>The epilogue of a
|
BIT SLIP MARKS]>The epilogue of a
|
||||||
disk field. Used to double check
|
disk field. Used to double check
|
||||||
that the disk head is still in read
|
that the disk head is still in read
|
||||||
sync and the sector has not been
|
sync and the sector has not been
|
||||||
damaged.
|
damaged.
|
||||||
.pp
|
|
||||||
BOOT/BOOTSTRAP]>The process of
|
BOOT/BOOTSTRAP]>The process of
|
||||||
loading a very large program into
|
loading a very large program into
|
||||||
memory by loading successively larger
|
memory by loading successively larger
|
||||||
@ -108,50 +108,50 @@ pieces, each of which loads its
|
|||||||
successor. The program loads itself
|
successor. The program loads itself
|
||||||
by "pulling itself up by its
|
by "pulling itself up by its
|
||||||
bootstraps".
|
bootstraps".
|
||||||
.pp
|
|
||||||
BRK]>BREAK. An assembly langauge instruction
|
BRK]>BREAK. An assembly langauge instruction
|
||||||
which can be used to force an
|
which can be used to force an
|
||||||
interrupt and immediate suspension of
|
interrupt and immediate suspension of
|
||||||
execution of a program.
|
execution of a program.
|
||||||
.pp
|
|
||||||
BUFFER]>An area of memory used to
|
BUFFER]>An area of memory used to
|
||||||
temporarily hold data as it is being
|
temporarily hold data as it is being
|
||||||
transferred to or from a peripheral,
|
transferred to or from a peripheral,
|
||||||
such as a disk drive.
|
such as a disk drive.
|
||||||
.pp
|
|
||||||
BUG]>A programming error. Faulty
|
BUG]>A programming error. Faulty
|
||||||
operation of a program.
|
operation of a program.
|
||||||
.pp
|
|
||||||
BYTE]>The smallest unit of
|
BYTE]>The smallest unit of
|
||||||
addressable memory in a computer. A
|
addressable memory in a computer. A
|
||||||
byte usually consists of 8 bits and
|
byte usually consists of 8 bits and
|
||||||
can contain a decimal number ranging
|
can contain a decimal number ranging
|
||||||
from 0 to 255 or a single
|
from 0 to 255 or a single
|
||||||
alphanumeric character.
|
alphanumeric character.
|
||||||
.pp
|
|
||||||
CARRIAGE RETURN]>A control character
|
CARRIAGE RETURN]>A control character
|
||||||
which instructs the printer to end
|
which instructs the printer to end
|
||||||
one line and begin another. When
|
one line and begin another. When
|
||||||
printing a carriage return is usually
|
printing a carriage return is usually
|
||||||
followed by a line feed.
|
followed by a line feed.
|
||||||
.pp
|
|
||||||
CARRY FLAG]>A 6502 processor flag
|
CARRY FLAG]>A 6502 processor flag
|
||||||
which indicates that a previous
|
which indicates that a previous
|
||||||
addition resulted in a carry. Also
|
addition resulted in a carry. Also
|
||||||
used
|
used
|
||||||
as an error indicator by many system
|
as an error indicator by many system
|
||||||
programs.
|
programs.
|
||||||
.PP
|
|
||||||
CATALOG]>A directory of the files on
|
CATALOG]>A directory of the files on
|
||||||
a diskette. See DIRECTORY.
|
a diskette. See DIRECTORY.
|
||||||
.pp
|
|
||||||
CHAIN]>A linked list of data
|
CHAIN]>A linked list of data
|
||||||
elements. Data is chained if its
|
elements. Data is chained if its
|
||||||
elements need not be contiguous in
|
elements need not be contiguous in
|
||||||
storage and
|
storage and
|
||||||
each element can be found from its
|
each element can be found from its
|
||||||
predecessor via an address pointer.
|
predecessor via an address pointer.
|
||||||
.pp
|
|
||||||
CHECKSUM/CRC]>A method for verifying
|
CHECKSUM/CRC]>A method for verifying
|
||||||
that data has not been damaged. When
|
that data has not been damaged. When
|
||||||
data is written, the sum of all its
|
data is written, the sum of all its
|
||||||
@ -159,34 +159,34 @@ constituent bytes is stored with it.
|
|||||||
If, when the data is later read, its
|
If, when the data is later read, its
|
||||||
sum no longer matches the checksum,
|
sum no longer matches the checksum,
|
||||||
it has been damaged.
|
it has been damaged.
|
||||||
.pp
|
|
||||||
CLOBBERED]>Damaged or destroyed. A
|
CLOBBERED]>Damaged or destroyed. A
|
||||||
clobbered sector is one which has
|
clobbered sector is one which has
|
||||||
been overwritten such that it is
|
been overwritten such that it is
|
||||||
unrecoverable.
|
unrecoverable.
|
||||||
.pp
|
|
||||||
CODE]>Executable instructions to the
|
CODE]>Executable instructions to the
|
||||||
computer, usually in machine
|
computer, usually in machine
|
||||||
language.
|
language.
|
||||||
.pp
|
|
||||||
COLDSTART]>A restart of a program
|
COLDSTART]>A restart of a program
|
||||||
which reinitializes all of its
|
which reinitializes all of its
|
||||||
parameters, usually erasing any work
|
parameters, usually erasing any work
|
||||||
which was in progress at the time of
|
which was in progress at the time of
|
||||||
the restart. A DOS coldstart erases
|
the restart. A DOS coldstart erases
|
||||||
the BASIC program in memory.
|
the BASIC program in memory.
|
||||||
.pp
|
|
||||||
CONTIGUOUS]>Physically next to. Two
|
CONTIGUOUS]>Physically next to. Two
|
||||||
bytes are contiguous if they are
|
bytes are contiguous if they are
|
||||||
adjoining each other in memory or on
|
adjoining each other in memory or on
|
||||||
the disk.
|
the disk.
|
||||||
.pp
|
|
||||||
CONTROL BLOCK]>A collection of data
|
CONTROL BLOCK]>A collection of data
|
||||||
which is used by the operating system
|
which is used by the operating system
|
||||||
to manage resources. Examples of a
|
to manage resources. Examples of a
|
||||||
control block used by DOS are the
|
control block used by DOS are the
|
||||||
file buffers.
|
file buffers.
|
||||||
.pp
|
|
||||||
CONTROL CHARACTER]>A special ASCII
|
CONTROL CHARACTER]>A special ASCII
|
||||||
code which is used to perform a
|
code which is used to perform a
|
||||||
unique function on a peripheral, but
|
unique function on a peripheral, but
|
||||||
@ -195,7 +195,7 @@ character.
|
|||||||
Carriage return, line feed, form
|
Carriage return, line feed, form
|
||||||
feed, and bell are all control
|
feed, and bell are all control
|
||||||
characters.
|
characters.
|
||||||
.pp
|
|
||||||
CONTROLLER CARD]>A hardware circuit
|
CONTROLLER CARD]>A hardware circuit
|
||||||
board which is plugged into an APPLE
|
board which is plugged into an APPLE
|
||||||
connector which allows communication
|
connector which allows communication
|
||||||
@ -203,11 +203,11 @@ with a peripheral device, such as a
|
|||||||
disk or printer. A controller card
|
disk or printer. A controller card
|
||||||
usually contains a small driver
|
usually contains a small driver
|
||||||
program in ROM.
|
program in ROM.
|
||||||
.PP
|
|
||||||
CSWL]>A vector in zero-page through
|
CSWL]>A vector in zero-page through
|
||||||
which output data is passed for
|
which output data is passed for
|
||||||
display on the CRT or for printing.
|
display on the CRT or for printing.
|
||||||
.pp
|
|
||||||
CYCLE]>The smallest unit of time
|
CYCLE]>The smallest unit of time
|
||||||
within the central processor of the
|
within the central processor of the
|
||||||
computer. Each machine language
|
computer. Each machine language
|
||||||
@ -215,9 +215,9 @@ instruction requires two or more
|
|||||||
cycles to complete. One cycle (on
|
cycles to complete. One cycle (on
|
||||||
the APPLE) is one micro-second or one
|
the APPLE) is one micro-second or one
|
||||||
millionth of a second.
|
millionth of a second.
|
||||||
.pp
|
|
||||||
DATA]>Units of information.
|
DATA]>Units of information.
|
||||||
.pp
|
|
||||||
DATA SECTOR BUFFER]>On the APPLE, a
|
DATA SECTOR BUFFER]>On the APPLE, a
|
||||||
256 byte buffer used by DOS to hold
|
256 byte buffer used by DOS to hold
|
||||||
the image of any given sector on the
|
the image of any given sector on the
|
||||||
@ -226,29 +226,29 @@ from the file, data is extracted from
|
|||||||
the data sector buffer until it is
|
the data sector buffer until it is
|
||||||
exhausted, at which time it is
|
exhausted, at which time it is
|
||||||
refilled with the next sector image.
|
refilled with the next sector image.
|
||||||
.pp
|
|
||||||
DATA TYPE]>The type of information
|
DATA TYPE]>The type of information
|
||||||
stored in a byte. A byte might
|
stored in a byte. A byte might
|
||||||
contain a printable ASCII character, binary
|
contain a printable ASCII character, binary
|
||||||
numeric data, or a machine language
|
numeric data, or a machine language
|
||||||
instruction.
|
instruction.
|
||||||
.pp
|
|
||||||
DCT]>Device Characteristics Table.
|
DCT]>Device Characteristics Table.
|
||||||
Used as an input parameter table to
|
Used as an input parameter table to
|
||||||
Read/Write Track/Sector (RWTS) to
|
Read/Write Track/Sector (RWTS) to
|
||||||
describe the hardware characteristics
|
describe the hardware characteristics
|
||||||
of the diskette drive.
|
of the diskette drive.
|
||||||
.pp
|
|
||||||
DECIMAL]>A number system based upon
|
DECIMAL]>A number system based upon
|
||||||
powers of 10. Digits range from 0 to
|
powers of 10. Digits range from 0 to
|
||||||
9.
|
9.
|
||||||
.pp
|
|
||||||
DEFERRED COMMANDS]>DOS commands which
|
DEFERRED COMMANDS]>DOS commands which
|
||||||
may (or must) be invoked from within
|
may (or must) be invoked from within
|
||||||
an executing BASIC program. OPEN,
|
an executing BASIC program. OPEN,
|
||||||
READ, WRITE, and CLOSE are all
|
READ, WRITE, and CLOSE are all
|
||||||
examples of deferred commands.
|
examples of deferred commands.
|
||||||
.pp
|
|
||||||
DIGITAL]>As opposed to analog.
|
DIGITAL]>As opposed to analog.
|
||||||
Discrete values as opposed to
|
Discrete values as opposed to
|
||||||
continuous ones. Only digital values
|
continuous ones. Only digital values
|
||||||
@ -259,7 +259,7 @@ light outside, must be converted into
|
|||||||
a numerical value which, of
|
a numerical value which, of
|
||||||
necessity, must be "rounded off" to a
|
necessity, must be "rounded off" to a
|
||||||
discrete value.
|
discrete value.
|
||||||
.pp
|
|
||||||
DIRECT ACCESS]>Peripheral storage
|
DIRECT ACCESS]>Peripheral storage
|
||||||
allowing rapid access of any piece of
|
allowing rapid access of any piece of
|
||||||
data, regardless of its placement on
|
data, regardless of its placement on
|
||||||
@ -270,14 +270,14 @@ read to locate the last byte. A
|
|||||||
diskette is direct access, since the
|
diskette is direct access, since the
|
||||||
arm may be rapidly moved to any
|
arm may be rapidly moved to any
|
||||||
track and sector.
|
track and sector.
|
||||||
.pp
|
|
||||||
DIRECTORY]>A catalog of all files
|
DIRECTORY]>A catalog of all files
|
||||||
stored on a diskette. The directory
|
stored on a diskette. The directory
|
||||||
must contain each file's name and its
|
must contain each file's name and its
|
||||||
location on the disk as well as other
|
location on the disk as well as other
|
||||||
information regarding the type of
|
information regarding the type of
|
||||||
data stored there.
|
data stored there.
|
||||||
.pp
|
|
||||||
DISK INITIALIZATION]>The process
|
DISK INITIALIZATION]>The process
|
||||||
which places track formatting
|
which places track formatting
|
||||||
information, including sectors and
|
information, including sectors and
|
||||||
@ -286,7 +286,7 @@ During disk initialization, DOS also
|
|||||||
places a VTOC and directory on the
|
places a VTOC and directory on the
|
||||||
newly formatted disk, as well as
|
newly formatted disk, as well as
|
||||||
saving the HELLO program.
|
saving the HELLO program.
|
||||||
.pp
|
|
||||||
DISPLACEMENT]>The distance from the
|
DISPLACEMENT]>The distance from the
|
||||||
beginning of a block of data to a
|
beginning of a block of data to a
|
||||||
particular byte or field.
|
particular byte or field.
|
||||||
@ -294,59 +294,59 @@ Displacements are usually given
|
|||||||
beginning with 0, for the first byte,
|
beginning with 0, for the first byte,
|
||||||
1 for the second, etc. Also known as
|
1 for the second, etc. Also known as
|
||||||
an offset.
|
an offset.
|
||||||
.pp
|
|
||||||
DRIVER]>A program which provides an
|
DRIVER]>A program which provides an
|
||||||
input stream to another program or an
|
input stream to another program or an
|
||||||
output device. A printer driver
|
output device. A printer driver
|
||||||
accepts input from a user program in
|
accepts input from a user program in
|
||||||
the form of lines to be printed, and
|
the form of lines to be printed, and
|
||||||
sends them to the printer.
|
sends them to the printer.
|
||||||
.pp
|
|
||||||
DUMP]>An unformatted or partially
|
DUMP]>An unformatted or partially
|
||||||
formatted listing of the contents of
|
formatted listing of the contents of
|
||||||
memory or a diskette in hexadecimal.
|
memory or a diskette in hexadecimal.
|
||||||
Used for diagnostic purposes.
|
Used for diagnostic purposes.
|
||||||
.pp
|
|
||||||
ENCODE]>To translate data from one
|
ENCODE]>To translate data from one
|
||||||
form to another for any of a number
|
form to another for any of a number
|
||||||
of reasons. In DOS 3.3,
|
of reasons. In DOS 3.3,
|
||||||
Data is encoded from 8
|
Data is encoded from 8
|
||||||
bit bytes to 6 bit bytes for storage
|
bit bytes to 6 bit bytes for storage
|
||||||
on a DISK II.
|
on a DISK II.
|
||||||
.pp
|
|
||||||
ENTRY POINT (EPA)]>The entry point
|
ENTRY POINT (EPA)]>The entry point
|
||||||
address is the location within a
|
address is the location within a
|
||||||
program where execution is to start.
|
program where execution is to start.
|
||||||
This is not necessarily the same as
|
This is not necessarily the same as
|
||||||
the load point (or lowest memory
|
the load point (or lowest memory
|
||||||
address in the program).
|
address in the program).
|
||||||
.pp
|
|
||||||
EOF]>End Of File. This mark signals
|
EOF]>End Of File. This mark signals
|
||||||
the end of a data file. $00 for
|
the end of a data file. $00 for
|
||||||
APPLE DOS text files.
|
APPLE DOS text files.
|
||||||
.pp
|
|
||||||
EPILOGUE]>The last three bytes of a
|
EPILOGUE]>The last three bytes of a
|
||||||
field on a track. These unique bytes
|
field on a track. These unique bytes
|
||||||
are used to insure the integrity of
|
are used to insure the integrity of
|
||||||
the data which preceeds them.
|
the data which preceeds them.
|
||||||
.pp
|
|
||||||
EXCLUSIVE OR]>A logical operation
|
EXCLUSIVE OR]>A logical operation
|
||||||
which compares two bits to determine
|
which compares two bits to determine
|
||||||
if they are different. 1 EOR 0
|
if they are different. 1 EOR 0
|
||||||
results in 1. 1 EOR 1 results in 0.
|
results in 1. 1 EOR 1 results in 0.
|
||||||
.pp
|
|
||||||
FIELD]>A group of contiguous bytes
|
FIELD]>A group of contiguous bytes
|
||||||
forming a single piece of data, such
|
forming a single piece of data, such
|
||||||
as a person's name, his age, or his
|
as a person's name, his age, or his
|
||||||
social security number. In disk
|
social security number. In disk
|
||||||
formatting, a group of data bytes
|
formatting, a group of data bytes
|
||||||
surrounded by gaps.
|
surrounded by gaps.
|
||||||
.pp
|
|
||||||
FILE]>A named collection of data on a
|
FILE]>A named collection of data on a
|
||||||
diskette or other mass storage
|
diskette or other mass storage
|
||||||
medium. Files can contain data or
|
medium. Files can contain data or
|
||||||
programs.
|
programs.
|
||||||
.pp
|
|
||||||
FILE BUFFERS]>In APPLE DOS, a
|
FILE BUFFERS]>In APPLE DOS, a
|
||||||
collection of buffers used to manage
|
collection of buffers used to manage
|
||||||
one open file. Included are a data
|
one open file. Included are a data
|
||||||
@ -356,51 +356,51 @@ workarea buffer, the name of the
|
|||||||
file, and pointers. The DOS command,
|
file, and pointers. The DOS command,
|
||||||
MAXFILES 3, causes 3 of these file
|
MAXFILES 3, causes 3 of these file
|
||||||
buffers to be allocated.
|
buffers to be allocated.
|
||||||
.pp
|
|
||||||
FILE DESCRIPTOR]>A single entry in a
|
FILE DESCRIPTOR]>A single entry in a
|
||||||
diskette directory which describes
|
diskette directory which describes
|
||||||
one file. Included are the name of
|
one file. Included are the name of
|
||||||
the file, its data type, its length,
|
the file, its data type, its length,
|
||||||
and its location on the diskette.
|
and its location on the diskette.
|
||||||
.pp
|
|
||||||
FILE MANAGER]>That portion of DOS
|
FILE MANAGER]>That portion of DOS
|
||||||
which manages files. The file
|
which manages files. The file
|
||||||
manager handles such general
|
manager handles such general
|
||||||
operations as OPEN, CLOSE, READ,
|
operations as OPEN, CLOSE, READ,
|
||||||
WRITE, POSITION, RENAME, DELETE, etc.
|
WRITE, POSITION, RENAME, DELETE, etc.
|
||||||
.pp
|
|
||||||
FILE TYPE]>The type of data held by a
|
FILE TYPE]>The type of data held by a
|
||||||
file. Valid DOS file types are
|
file. Valid DOS file types are
|
||||||
Binary, Applesoft, Integer-BASIC,
|
Binary, Applesoft, Integer-BASIC,
|
||||||
Text, Relocatable, S, A, and B.
|
Text, Relocatable, S, A, and B.
|
||||||
.pp
|
|
||||||
FIRMWARE]>A middle ground between
|
FIRMWARE]>A middle ground between
|
||||||
hardware and software. Usually used
|
hardware and software. Usually used
|
||||||
to describe micro-code or programs
|
to describe micro-code or programs
|
||||||
which have been stored in read-only
|
which have been stored in read-only
|
||||||
memory.
|
memory.
|
||||||
.pp
|
|
||||||
GAPS]>The spaces between fields of
|
GAPS]>The spaces between fields of
|
||||||
data on a diskette. Gaps on an APPLE
|
data on a diskette. Gaps on an APPLE
|
||||||
diskette contain self-sync bytes.
|
diskette contain self-sync bytes.
|
||||||
.pp
|
|
||||||
HARD ERROR]>An unrecoverable
|
HARD ERROR]>An unrecoverable
|
||||||
Input/Output error. The data stored
|
Input/Output error. The data stored
|
||||||
in the disk sector can never be
|
in the disk sector can never be
|
||||||
successfully read again.
|
successfully read again.
|
||||||
.pp
|
|
||||||
HARDWARE]>Physical computer
|
HARDWARE]>Physical computer
|
||||||
equipment, as opposed to programs
|
equipment, as opposed to programs
|
||||||
which run on the equipment.
|
which run on the equipment.
|
||||||
A disk drive is an example of a
|
A disk drive is an example of a
|
||||||
hardware component.
|
hardware component.
|
||||||
.pp
|
|
||||||
HEAD]>The read/write head on a
|
HEAD]>The read/write head on a
|
||||||
diskette drive. A magnetic pickup,
|
diskette drive. A magnetic pickup,
|
||||||
similar in nature to the head on a
|
similar in nature to the head on a
|
||||||
stereo tapedeck, which rests on the
|
stereo tapedeck, which rests on the
|
||||||
spinning surface of the diskette.
|
spinning surface of the diskette.
|
||||||
.pp
|
|
||||||
HEXADECIMAL/HEX]>A numeric system
|
HEXADECIMAL/HEX]>A numeric system
|
||||||
based on powers of 16. Valid hex
|
based on powers of 16. Valid hex
|
||||||
digits range from 0 to 9 and A to F,
|
digits range from 0 to 9 and A to F,
|
||||||
@ -412,39 +412,39 @@ represent the contents of one byte.
|
|||||||
Hexadecimal is used with computers
|
Hexadecimal is used with computers
|
||||||
because it easily converts with
|
because it easily converts with
|
||||||
binary.
|
binary.
|
||||||
.pp
|
|
||||||
HIGH MEMORY]>Those memory locations
|
HIGH MEMORY]>Those memory locations
|
||||||
which have high address values.
|
which have high address values.
|
||||||
$FFFF is the highest memory location.
|
$FFFF is the highest memory location.
|
||||||
Also called the "top" of memory.
|
Also called the "top" of memory.
|
||||||
.pp
|
|
||||||
HIMEM]>APPLE's zero-page address
|
HIMEM]>APPLE's zero-page address
|
||||||
which identifies the first byte past
|
which identifies the first byte past
|
||||||
the available memory which can be
|
the available memory which can be
|
||||||
used to store BASIC programs and
|
used to store BASIC programs and
|
||||||
their variables.
|
their variables.
|
||||||
.pp
|
|
||||||
IMMEDIATE COMMAND]>A DOS command
|
IMMEDIATE COMMAND]>A DOS command
|
||||||
which may be entered at any time,
|
which may be entered at any time,
|
||||||
especially when DOS is waiting for a
|
especially when DOS is waiting for a
|
||||||
command from the keyboard. Deferred
|
command from the keyboard. Deferred
|
||||||
commands are the opposite of
|
commands are the opposite of
|
||||||
immediate commands.
|
immediate commands.
|
||||||
.pp
|
|
||||||
INDEX]>A displacement into a table or
|
INDEX]>A displacement into a table or
|
||||||
block of storage.
|
block of storage.
|
||||||
.pp
|
|
||||||
INSTRUCTION]>A single step to be
|
INSTRUCTION]>A single step to be
|
||||||
performed in an assembly language or
|
performed in an assembly language or
|
||||||
machine language program.
|
machine language program.
|
||||||
Instructions perform such operations
|
Instructions perform such operations
|
||||||
as addition, subtraction, store, or
|
as addition, subtraction, store, or
|
||||||
load.
|
load.
|
||||||
.pp
|
|
||||||
INTEGER]>As opposed to floating
|
INTEGER]>As opposed to floating
|
||||||
point. A "whole" number with no
|
point. A "whole" number with no
|
||||||
fraction associated with it.
|
fraction associated with it.
|
||||||
.pp
|
|
||||||
INTERCEPT]>A program which logically
|
INTERCEPT]>A program which logically
|
||||||
places itself in the execution path
|
places itself in the execution path
|
||||||
of another program, or pair of
|
of another program, or pair of
|
||||||
@ -452,13 +452,13 @@ programs. A video intercept
|
|||||||
is used to re-direct program output
|
is used to re-direct program output
|
||||||
from the screen to a printer,
|
from the screen to a printer,
|
||||||
for example.
|
for example.
|
||||||
.pp
|
|
||||||
INTERLEAVE]>The practice of selecting
|
INTERLEAVE]>The practice of selecting
|
||||||
the order of sectors on a diskette
|
the order of sectors on a diskette
|
||||||
track to minimize access time due to
|
track to minimize access time due to
|
||||||
rotational delay. Also called
|
rotational delay. Also called
|
||||||
"skewing" or interlacing.
|
"skewing" or interlacing.
|
||||||
.pp
|
|
||||||
INTERRUPT]>A hardware signal which
|
INTERRUPT]>A hardware signal which
|
||||||
causes the computer to halt execution
|
causes the computer to halt execution
|
||||||
of a program and enter a special
|
of a program and enter a special
|
||||||
@ -466,103 +466,103 @@ handler routine. Interrupts are used
|
|||||||
to service real-time clock
|
to service real-time clock
|
||||||
time-outs, BRK instructions, and
|
time-outs, BRK instructions, and
|
||||||
RESET.
|
RESET.
|
||||||
.pp
|
|
||||||
IOB]>Input/Output Block. A
|
IOB]>Input/Output Block. A
|
||||||
collection of parameter data, passed
|
collection of parameter data, passed
|
||||||
to Read/Write Track/Sector,
|
to Read/Write Track/Sector,
|
||||||
describing the operation to be
|
describing the operation to be
|
||||||
performed.
|
performed.
|
||||||
.pp
|
|
||||||
I/O ERROR]>Input/Output Error.
|
I/O ERROR]>Input/Output Error.
|
||||||
An error which occurs
|
An error which occurs
|
||||||
during transmission of data to or
|
during transmission of data to or
|
||||||
from a peripheral device, such as a
|
from a peripheral device, such as a
|
||||||
disk or cassette tape.
|
disk or cassette tape.
|
||||||
.pp
|
|
||||||
JMP]>A 6502 assembly langauge
|
JMP]>A 6502 assembly langauge
|
||||||
instruction which causes the computer
|
instruction which causes the computer
|
||||||
to begin executing instructions at a
|
to begin executing instructions at a
|
||||||
different location in memory.
|
different location in memory.
|
||||||
Similar to a GOTO statement in BASIC.
|
Similar to a GOTO statement in BASIC.
|
||||||
.pp
|
|
||||||
JSR]>A 6502 assembly langauge
|
JSR]>A 6502 assembly langauge
|
||||||
instruction which causes the computer
|
instruction which causes the computer
|
||||||
to "call" a subroutine. Similar to a
|
to "call" a subroutine. Similar to a
|
||||||
CALL statement in BASIC.
|
CALL statement in BASIC.
|
||||||
.pp
|
|
||||||
K]>A unit of measurement, usually
|
K]>A unit of measurement, usually
|
||||||
applied to bytes. 1 K bytes is
|
applied to bytes. 1 K bytes is
|
||||||
equivalent to 1024 bytes.
|
equivalent to 1024 bytes.
|
||||||
.PP
|
|
||||||
KSWL]>A vector in zero-page through
|
KSWL]>A vector in zero-page through
|
||||||
which input data is passed for
|
which input data is passed for
|
||||||
from the keyboard or a remote
|
from the keyboard or a remote
|
||||||
terminal.
|
terminal.
|
||||||
.pp
|
|
||||||
LABEL]>A name associated with a
|
LABEL]>A name associated with a
|
||||||
location in a program or in memory.
|
location in a program or in memory.
|
||||||
Labels are used in assembly langauge
|
Labels are used in assembly langauge
|
||||||
much like statement numbers are used
|
much like statement numbers are used
|
||||||
in BASIC.
|
in BASIC.
|
||||||
.PP
|
|
||||||
LATCH]>A component into which the
|
LATCH]>A component into which the
|
||||||
Input/Output
|
Input/Output
|
||||||
hardware can store a byte value,
|
hardware can store a byte value,
|
||||||
which will hold that value until the
|
which will hold that value until the
|
||||||
central processor has time to read
|
central processor has time to read
|
||||||
it (or vice versa).
|
it (or vice versa).
|
||||||
.pp
|
|
||||||
LINK]>An address pointer in an
|
LINK]>An address pointer in an
|
||||||
element of a linked chain of data or
|
element of a linked chain of data or
|
||||||
buffers.
|
buffers.
|
||||||
.pp
|
|
||||||
LIST]>A one dimensional sequential
|
LIST]>A one dimensional sequential
|
||||||
array of data items.
|
array of data items.
|
||||||
.pp
|
|
||||||
LOAD POINT (LP)]>The lowest address
|
LOAD POINT (LP)]>The lowest address
|
||||||
of a loaded assembly language
|
of a loaded assembly language
|
||||||
program -- the first byte loaded.
|
program -- the first byte loaded.
|
||||||
Not necessarily the same as the entry
|
Not necessarily the same as the entry
|
||||||
point address (EPA).
|
point address (EPA).
|
||||||
.pp
|
|
||||||
LOGICAL]>A form of arithmetic which
|
LOGICAL]>A form of arithmetic which
|
||||||
operates with binary "truth" or
|
operates with binary "truth" or
|
||||||
"false", 1 or 0. AND, OR, NAND, NOR,
|
"false", 1 or 0. AND, OR, NAND, NOR,
|
||||||
and EXCLUSIVE OR are all logical
|
and EXCLUSIVE OR are all logical
|
||||||
operations.
|
operations.
|
||||||
.pp
|
|
||||||
LOOP]>A programming construction in
|
LOOP]>A programming construction in
|
||||||
which a
|
which a
|
||||||
group of instructions or statements
|
group of instructions or statements
|
||||||
are repeatedly executed.
|
are repeatedly executed.
|
||||||
.pp
|
|
||||||
LOW MEMORY]>The memory locations with
|
LOW MEMORY]>The memory locations with
|
||||||
the lowest addresses. $0000 is the
|
the lowest addresses. $0000 is the
|
||||||
lowest memory location. Also called
|
lowest memory location. Also called
|
||||||
the "bottom" of memory.
|
the "bottom" of memory.
|
||||||
.pp
|
|
||||||
LOMEM]>APPLE's zero-page address
|
LOMEM]>APPLE's zero-page address
|
||||||
which identifies the first byte of
|
which identifies the first byte of
|
||||||
the available memory which can be
|
the available memory which can be
|
||||||
used to store BASIC programs and
|
used to store BASIC programs and
|
||||||
their variables.
|
their variables.
|
||||||
.pp
|
|
||||||
LSB/LO ORDER]>Least Significant Bit
|
LSB/LO ORDER]>Least Significant Bit
|
||||||
or Least Significant Byte. The 1's
|
or Least Significant Byte. The 1's
|
||||||
bit in a byte or the second pair of
|
bit in a byte or the second pair of
|
||||||
hexadecimal digits forming an
|
hexadecimal digits forming an
|
||||||
address. In the address $8030, $30
|
address. In the address $8030, $30
|
||||||
is the LO order part of the address.
|
is the LO order part of the address.
|
||||||
.pp
|
|
||||||
MASTER DISK]>A DOS diskette which
|
MASTER DISK]>A DOS diskette which
|
||||||
will boot in an APPLE II of any size
|
will boot in an APPLE II of any size
|
||||||
memory and take full advantage of it.
|
memory and take full advantage of it.
|
||||||
.pp
|
|
||||||
MICROSECOND]>A millionth of a
|
MICROSECOND]>A millionth of a
|
||||||
second. Equivalent to one cycle of
|
second. Equivalent to one cycle of
|
||||||
the APPLE II central processor.
|
the APPLE II central processor.
|
||||||
Also written as "Usec".
|
Also written as "Usec".
|
||||||
.pp
|
|
||||||
MONITOR]>A machine language program
|
MONITOR]>A machine language program
|
||||||
which always resides in the computer
|
which always resides in the computer
|
||||||
and which is the first to receive
|
and which is the first to receive
|
||||||
@ -571,35 +571,35 @@ up. The APPLE monitor resides in ROM
|
|||||||
and allows examination and
|
and allows examination and
|
||||||
modification of memory at a byte
|
modification of memory at a byte
|
||||||
level.
|
level.
|
||||||
.pp
|
|
||||||
MSB/HI ORDER]>Most Significant Bit or
|
MSB/HI ORDER]>Most Significant Bit or
|
||||||
Most Significant Byte. The 128's bit
|
Most Significant Byte. The 128's bit
|
||||||
of a byte (the left-most) or the
|
of a byte (the left-most) or the
|
||||||
first pair of hexadecimal digits in
|
first pair of hexadecimal digits in
|
||||||
an address. In the byte value $83,
|
an address. In the byte value $83,
|
||||||
the MSB is on (is a 1).
|
the MSB is on (is a 1).
|
||||||
.pp
|
|
||||||
NULL]>Empty, having no length or
|
NULL]>Empty, having no length or
|
||||||
value. A null string is one which
|
value. A null string is one which
|
||||||
contains no characters. The null
|
contains no characters. The null
|
||||||
control character ($00) produces no
|
control character ($00) produces no
|
||||||
effect on a printer (also called an
|
effect on a printer (also called an
|
||||||
idle).
|
idle).
|
||||||
.pp
|
|
||||||
NIBBLE/NYBBLE]>A portion of a byte,
|
NIBBLE/NYBBLE]>A portion of a byte,
|
||||||
usually 4 bits and represented by a
|
usually 4 bits and represented by a
|
||||||
single hexadecimal digit. $FE
|
single hexadecimal digit. $FE
|
||||||
contains two nibbles, $F and $E.
|
contains two nibbles, $F and $E.
|
||||||
.pp
|
|
||||||
OBJECT CODE]>A machine language
|
OBJECT CODE]>A machine language
|
||||||
program in binary form, ready to
|
program in binary form, ready to
|
||||||
execute. Object code is the output
|
execute. Object code is the output
|
||||||
of an assembler.
|
of an assembler.
|
||||||
.pp
|
|
||||||
OBJECT MODULE]>A complete machine
|
OBJECT MODULE]>A complete machine
|
||||||
language program in object code form,
|
language program in object code form,
|
||||||
stored as a file on a diskette.
|
stored as a file on a diskette.
|
||||||
.pp
|
|
||||||
OFFSET]>The distance from the
|
OFFSET]>The distance from the
|
||||||
beginning of a block of data to a
|
beginning of a block of data to a
|
||||||
particular byte or field.
|
particular byte or field.
|
||||||
@ -607,26 +607,26 @@ Offsets are usually given
|
|||||||
beginning with 0, for the first byte,
|
beginning with 0, for the first byte,
|
||||||
1 for the second, etc. Also known as
|
1 for the second, etc. Also known as
|
||||||
a displacement.
|
a displacement.
|
||||||
.pp
|
|
||||||
OPCODE]>Operation Code. The three
|
OPCODE]>Operation Code. The three
|
||||||
letter mnemonic representing a single
|
letter mnemonic representing a single
|
||||||
assembly langauge instruction. JMP
|
assembly langauge instruction. JMP
|
||||||
is the opcode for the jump
|
is the opcode for the jump
|
||||||
instruction.
|
instruction.
|
||||||
.pp
|
|
||||||
OPERATING SYSTEM]>A machine language
|
OPERATING SYSTEM]>A machine language
|
||||||
program which manages the memory and
|
program which manages the memory and
|
||||||
peripherals automatically,
|
peripherals automatically,
|
||||||
simplifying the job of the
|
simplifying the job of the
|
||||||
applications programmer.
|
applications programmer.
|
||||||
.pp
|
|
||||||
OR]>The logical operation comparing
|
OR]>The logical operation comparing
|
||||||
two bits to determine if either of
|
two bits to determine if either of
|
||||||
them are 1. 1 OR 1 results in 1
|
them are 1. 1 OR 1 results in 1
|
||||||
(true), 1
|
(true), 1
|
||||||
OR 0 results in 1, 0 OR 0 results in
|
OR 0 results in 1, 0 OR 0 results in
|
||||||
0 (false).
|
0 (false).
|
||||||
.pp
|
|
||||||
OVERHEAD]>The space required by the
|
OVERHEAD]>The space required by the
|
||||||
system, either in memory or on the
|
system, either in memory or on the
|
||||||
disk, to manage either. The disk
|
disk, to manage either. The disk
|
||||||
@ -634,4 +634,3 @@ directory and VTOC are part of a
|
|||||||
diskette's overhead.
|
diskette's overhead.
|
||||||
.br
|
.br
|
||||||
.nx appendix c.2
|
.nx appendix c.2
|
||||||
\x00
|
|
@ -1,21 +1,21 @@
|
|||||||
.pp
|
|
||||||
PAGE]>256 bytes of memory which share
|
PAGE]>256 bytes of memory which share
|
||||||
a common high order address byte.
|
a common high order address byte.
|
||||||
Zero page is the first 256 bytes of
|
Zero page is the first 256 bytes of
|
||||||
memory ($0000 through $00FF).
|
memory ($0000 through $00FF).
|
||||||
.pp
|
|
||||||
PARALLEL]>Opposite of serial. A
|
PARALLEL]>Opposite of serial. A
|
||||||
communication mode which sends all of
|
communication mode which sends all of
|
||||||
the bits in a byte at once, each over
|
the bits in a byte at once, each over
|
||||||
a separate line or wire.
|
a separate line or wire.
|
||||||
.pp
|
|
||||||
PARAMETER LIST]>An area of storage
|
PARAMETER LIST]>An area of storage
|
||||||
set aside for communication between
|
set aside for communication between
|
||||||
a calling program and a subroutine.
|
a calling program and a subroutine.
|
||||||
The parameter list contains input and
|
The parameter list contains input and
|
||||||
output variables which will be used
|
output variables which will be used
|
||||||
by the subroutine.
|
by the subroutine.
|
||||||
.pp
|
|
||||||
PARITY]>A scheme, similar to
|
PARITY]>A scheme, similar to
|
||||||
checksums but on a bit level rather
|
checksums but on a bit level rather
|
||||||
than a byte level, which allows
|
than a byte level, which allows
|
||||||
@ -27,54 +27,54 @@ used in expensive memory to detect or
|
|||||||
correct single bit failures, and when
|
correct single bit failures, and when
|
||||||
sending data over communications
|
sending data over communications
|
||||||
lines to detect noise errors.
|
lines to detect noise errors.
|
||||||
.pp
|
|
||||||
PARSE]>The process of interpreting
|
PARSE]>The process of interpreting
|
||||||
character string data, such as a
|
character string data, such as a
|
||||||
command with keywords.
|
command with keywords.
|
||||||
.pp
|
|
||||||
PATCH]>A small change to the object
|
PATCH]>A small change to the object
|
||||||
code of an assembly language program.
|
code of an assembly language program.
|
||||||
Also called a "zap".
|
Also called a "zap".
|
||||||
.pp
|
|
||||||
PERIPHERAL]>A device which is
|
PERIPHERAL]>A device which is
|
||||||
external to the computer itself, such
|
external to the computer itself, such
|
||||||
as a disk drive or a printer. Also
|
as a disk drive or a printer. Also
|
||||||
called an Input/Output device.
|
called an Input/Output device.
|
||||||
.pp
|
|
||||||
PHYSICAL RECORD]>A collection of data
|
PHYSICAL RECORD]>A collection of data
|
||||||
corresponding to the smallest unit of
|
corresponding to the smallest unit of
|
||||||
storage on a peripheral device.
|
storage on a peripheral device.
|
||||||
For disks, a physical record
|
For disks, a physical record
|
||||||
is a sector.
|
is a sector.
|
||||||
.pp
|
|
||||||
POINTER]>The address or memory
|
POINTER]>The address or memory
|
||||||
location of a block of data or a
|
location of a block of data or a
|
||||||
single data item. The address
|
single data item. The address
|
||||||
"points" to the data.
|
"points" to the data.
|
||||||
.pp
|
|
||||||
PROLOGUE]>The three bytes at the
|
PROLOGUE]>The three bytes at the
|
||||||
beginning of a disk field which
|
beginning of a disk field which
|
||||||
uniquely identify it from any other
|
uniquely identify it from any other
|
||||||
data on the track.
|
data on the track.
|
||||||
.pp
|
|
||||||
PROM]>Programmable Read Only Memory.
|
PROM]>Programmable Read Only Memory.
|
||||||
PROMs are usually used on controller
|
PROMs are usually used on controller
|
||||||
cards associated with peripherals to
|
cards associated with peripherals to
|
||||||
hold the driver program which
|
hold the driver program which
|
||||||
interfaces the device to applications
|
interfaces the device to applications
|
||||||
programs.
|
programs.
|
||||||
.pp
|
|
||||||
PROMPT]>An output string which lets
|
PROMPT]>An output string which lets
|
||||||
the user know that input is expected.
|
the user know that input is expected.
|
||||||
A "*" is the prompt character for the
|
A "*" is the prompt character for the
|
||||||
APPLE monitor.
|
APPLE monitor.
|
||||||
.pp
|
|
||||||
PROTECTED DISK]>A diskette whose
|
PROTECTED DISK]>A diskette whose
|
||||||
format or content has been modified
|
format or content has been modified
|
||||||
to prevent its being copied. Most
|
to prevent its being copied. Most
|
||||||
retail software today is distributed
|
retail software today is distributed
|
||||||
on protected disks to prevent theft.
|
on protected disks to prevent theft.
|
||||||
.pp
|
|
||||||
PSEUDO-OPCODE]>A special assembly
|
PSEUDO-OPCODE]>A special assembly
|
||||||
language opcode which does not
|
language opcode which does not
|
||||||
translate into a machine instruction.
|
translate into a machine instruction.
|
||||||
@ -83,17 +83,17 @@ assembler to perform some function,
|
|||||||
such as skipping a page in an
|
such as skipping a page in an
|
||||||
assembly listing or reserving data
|
assembly listing or reserving data
|
||||||
space in the output object code.
|
space in the output object code.
|
||||||
.pp
|
|
||||||
RANDOM ACCESS]>Direct access. The
|
RANDOM ACCESS]>Direct access. The
|
||||||
capability to rapidly access any
|
capability to rapidly access any
|
||||||
single piece of data on a storage
|
single piece of data on a storage
|
||||||
medium without having to sequentially
|
medium without having to sequentially
|
||||||
read all of its predecessors.
|
read all of its predecessors.
|
||||||
.pp
|
|
||||||
RAM]>Random Access Memory. Computer
|
RAM]>Random Access Memory. Computer
|
||||||
memory which will allow storage and
|
memory which will allow storage and
|
||||||
retrieval of values by address.
|
retrieval of values by address.
|
||||||
.pp
|
|
||||||
RECAL]>Recalibrate the disk arm so
|
RECAL]>Recalibrate the disk arm so
|
||||||
that the read/write head is
|
that the read/write head is
|
||||||
positioned over track zero. This is
|
positioned over track zero. This is
|
||||||
@ -101,13 +101,13 @@ done by pulling the arm as far as it
|
|||||||
will go to the outside of the
|
will go to the outside of the
|
||||||
diskette until it hits a stop,
|
diskette until it hits a stop,
|
||||||
producing a "clacking" sound.
|
producing a "clacking" sound.
|
||||||
.pp
|
|
||||||
RECORD]>A collection of associated
|
RECORD]>A collection of associated
|
||||||
data items or fields. One or more
|
data items or fields. One or more
|
||||||
records are usually associated with a
|
records are usually associated with a
|
||||||
file. Each record might correspond
|
file. Each record might correspond
|
||||||
to an employee, for example.
|
to an employee, for example.
|
||||||
.pp
|
|
||||||
REGISTER]>A named temporary storage
|
REGISTER]>A named temporary storage
|
||||||
location in the central processor
|
location in the central processor
|
||||||
itself. The 6502 has 5 registers;
|
itself. The 6502 has 5 registers;
|
||||||
@ -115,18 +115,18 @@ the A, X, Y, S, and P registers.
|
|||||||
Registers are used by an assembly
|
Registers are used by an assembly
|
||||||
language program to access memory and
|
language program to access memory and
|
||||||
perform arithmetic.
|
perform arithmetic.
|
||||||
.pp
|
|
||||||
RELEASE]>A version of a distributed
|
RELEASE]>A version of a distributed
|
||||||
piece of software. There have been
|
piece of software. There have been
|
||||||
several releases of DOS.
|
several releases of DOS.
|
||||||
.pp
|
|
||||||
RELOCATABLE]>The attribute of
|
RELOCATABLE]>The attribute of
|
||||||
an object module file
|
an object module file
|
||||||
which contains a machine language
|
which contains a machine language
|
||||||
program and the information necessary
|
program and the information necessary
|
||||||
to make it run at any memory
|
to make it run at any memory
|
||||||
location.
|
location.
|
||||||
.pp
|
|
||||||
RETURN CODE]>A numeric value returned
|
RETURN CODE]>A numeric value returned
|
||||||
from a subroutine, indicating the
|
from a subroutine, indicating the
|
||||||
success or failure of the operation
|
success or failure of the operation
|
||||||
@ -135,74 +135,74 @@ usually means there were no errors.
|
|||||||
Any other value indicates the nature
|
Any other value indicates the nature
|
||||||
of the error, as defined by the
|
of the error, as defined by the
|
||||||
design of the subroutine.
|
design of the subroutine.
|
||||||
.PP
|
|
||||||
ROM]>Read Only Memory. Memory which
|
ROM]>Read Only Memory. Memory which
|
||||||
has a permanent value. The APPLE
|
has a permanent value. The APPLE
|
||||||
monitor and BASIC interpreters are
|
monitor and BASIC interpreters are
|
||||||
stored in ROM.
|
stored in ROM.
|
||||||
.PP
|
|
||||||
RWTS]>Read/Write Track/Sector. A
|
RWTS]>Read/Write Track/Sector. A
|
||||||
collection of subroutines which allow
|
collection of subroutines which allow
|
||||||
access to the diskette at a
|
access to the diskette at a
|
||||||
track and sector level. RWTS is
|
track and sector level. RWTS is
|
||||||
part of DOS and may be called by
|
part of DOS and may be called by
|
||||||
external assembly language programs.
|
external assembly language programs.
|
||||||
.pp
|
|
||||||
SEARCH]>The process of scanning a
|
SEARCH]>The process of scanning a
|
||||||
track for a given sector.
|
track for a given sector.
|
||||||
.PP
|
|
||||||
SECTOR]>The smallest updatable unit
|
SECTOR]>The smallest updatable unit
|
||||||
of data on a disk track. One sector
|
of data on a disk track. One sector
|
||||||
on an APPLE DISK II contains 256
|
on an APPLE DISK II contains 256
|
||||||
data bytes.
|
data bytes.
|
||||||
.pp
|
|
||||||
SECTOR ADDRESS]>A disk field which
|
SECTOR ADDRESS]>A disk field which
|
||||||
identifies the sector data field which
|
identifies the sector data field which
|
||||||
follows in terms of its volume,
|
follows in terms of its volume,
|
||||||
track, and sector number.
|
track, and sector number.
|
||||||
.pp
|
|
||||||
SECTOR DATA]>A disk field which
|
SECTOR DATA]>A disk field which
|
||||||
contains the actual sector data in
|
contains the actual sector data in
|
||||||
nibbilized form.
|
nibbilized form.
|
||||||
.pp
|
|
||||||
SEEK]>The process of moving the disk
|
SEEK]>The process of moving the disk
|
||||||
arm to a given track.
|
arm to a given track.
|
||||||
.pp
|
|
||||||
SELF-SYNC]>Also called "auto-sync"
|
SELF-SYNC]>Also called "auto-sync"
|
||||||
bytes. Special disk bytes which
|
bytes. Special disk bytes which
|
||||||
contain more than 8 bits, allowing
|
contain more than 8 bits, allowing
|
||||||
synchronization of the hardware to
|
synchronization of the hardware to
|
||||||
byte boundaries when reading.
|
byte boundaries when reading.
|
||||||
.pp
|
|
||||||
SEQUENTIAL ACCESS]>A mode of data
|
SEQUENTIAL ACCESS]>A mode of data
|
||||||
retreival where each byte of data is
|
retreival where each byte of data is
|
||||||
read in the order in which it was
|
read in the order in which it was
|
||||||
written to the disk.
|
written to the disk.
|
||||||
.pp
|
|
||||||
SERIAL]>As opposed to parallel. A
|
SERIAL]>As opposed to parallel. A
|
||||||
communication mode which sends data
|
communication mode which sends data
|
||||||
bits one at a time over a single line
|
bits one at a time over a single line
|
||||||
or wire.
|
or wire.
|
||||||
.pp
|
|
||||||
SHIFT]>A logical operation which
|
SHIFT]>A logical operation which
|
||||||
moves the bits of a byte either left
|
moves the bits of a byte either left
|
||||||
or right one position, moving a 0
|
or right one position, moving a 0
|
||||||
into the bit at the other end.
|
into the bit at the other end.
|
||||||
.pp
|
|
||||||
SLAVE DISK]>A diskette with a copy of
|
SLAVE DISK]>A diskette with a copy of
|
||||||
DOS which is not relocatable. The
|
DOS which is not relocatable. The
|
||||||
DOS image will always be loaded into
|
DOS image will always be loaded into
|
||||||
the same memory location, regadless
|
the same memory location, regadless
|
||||||
of the size of the machine.
|
of the size of the machine.
|
||||||
.pp
|
|
||||||
SOFT ERROR]>A recoverable I/O error.
|
SOFT ERROR]>A recoverable I/O error.
|
||||||
A worn diskette might produce soft
|
A worn diskette might produce soft
|
||||||
errors occasionally.
|
errors occasionally.
|
||||||
.pp
|
|
||||||
SOFTWARE]>Computer programs and data
|
SOFTWARE]>Computer programs and data
|
||||||
which can be loaded into RAM memory
|
which can be loaded into RAM memory
|
||||||
and executed.
|
and executed.
|
||||||
.pp
|
|
||||||
SOURCE CODE]>A program in a form
|
SOURCE CODE]>A program in a form
|
||||||
which is understandable to humans;
|
which is understandable to humans;
|
||||||
in character form as opposed
|
in character form as opposed
|
||||||
@ -211,10 +211,10 @@ Source assembly code must be
|
|||||||
processed by an assembler to
|
processed by an assembler to
|
||||||
translate it into machine or "object"
|
translate it into machine or "object"
|
||||||
code.
|
code.
|
||||||
.pp
|
|
||||||
SKEWING]>The process of interleaving
|
SKEWING]>The process of interleaving
|
||||||
sectors. See INTERLEAVE.
|
sectors. See INTERLEAVE.
|
||||||
.pp
|
|
||||||
STATE MACHINE]>A process (in software
|
STATE MACHINE]>A process (in software
|
||||||
or hardware) which defines a
|
or hardware) which defines a
|
||||||
unique target state, given an input
|
unique target state, given an input
|
||||||
@ -223,18 +223,18 @@ state machine approach is used in DOS
|
|||||||
to keep track of its video intercepts
|
to keep track of its video intercepts
|
||||||
and by the hardware on the disk
|
and by the hardware on the disk
|
||||||
controller card to process disk data.
|
controller card to process disk data.
|
||||||
.pp
|
|
||||||
STROBE]>The act of triggering an I/O
|
STROBE]>The act of triggering an I/O
|
||||||
function by momentarily referencing a
|
function by momentarily referencing a
|
||||||
special I/O address. Strobing $C030
|
special I/O address. Strobing $C030
|
||||||
produces a click on the speaker.
|
produces a click on the speaker.
|
||||||
Also called "toggling".
|
Also called "toggling".
|
||||||
.pp
|
|
||||||
SUBROUTINE]>A program whose function
|
SUBROUTINE]>A program whose function
|
||||||
is required repeatedly during
|
is required repeatedly during
|
||||||
execution, and therefore is called by
|
execution, and therefore is called by
|
||||||
a main program in several places.
|
a main program in several places.
|
||||||
.pp
|
|
||||||
TABLE]>A collection of data entries,
|
TABLE]>A collection of data entries,
|
||||||
having similar format, residing in
|
having similar format, residing in
|
||||||
memory. Each entry might contain the
|
memory. Each entry might contain the
|
||||||
@ -242,13 +242,13 @@ name of a program and its address,
|
|||||||
for example. A "lookup" can be
|
for example. A "lookup" can be
|
||||||
performed on such a table to locate
|
performed on such a table to locate
|
||||||
any given program by name.
|
any given program by name.
|
||||||
.pp
|
|
||||||
TOGGLE]>The act of triggering an I/O
|
TOGGLE]>The act of triggering an I/O
|
||||||
function by momentarily referencing a
|
function by momentarily referencing a
|
||||||
special I/O address. Toggling $C030
|
special I/O address. Toggling $C030
|
||||||
produces a click on the speaker.
|
produces a click on the speaker.
|
||||||
Also called "strobe".
|
Also called "strobe".
|
||||||
.pp
|
|
||||||
TOKENS]>A method where human
|
TOKENS]>A method where human
|
||||||
recognizable words may be coded to
|
recognizable words may be coded to
|
||||||
single binary byte values for memory
|
single binary byte values for memory
|
||||||
@ -256,68 +256,68 @@ compression and faster processing.
|
|||||||
BASIC statements are tokenized, where
|
BASIC statements are tokenized, where
|
||||||
hex codes are assigned to words like
|
hex codes are assigned to words like
|
||||||
IF, PRINT, and END.
|
IF, PRINT, and END.
|
||||||
.pp
|
|
||||||
TRACK]>One complete circular path of
|
TRACK]>One complete circular path of
|
||||||
magnetic storage on a diskette.
|
magnetic storage on a diskette.
|
||||||
There are 35 concentric tracks on an APPLE
|
There are 35 concentric tracks on an APPLE
|
||||||
diskette.
|
diskette.
|
||||||
.pp
|
|
||||||
TRANSLATE TABLE]>A table of single
|
TRANSLATE TABLE]>A table of single
|
||||||
byte codes which are to replace
|
byte codes which are to replace
|
||||||
input codes on a one-for-one
|
input codes on a one-for-one
|
||||||
basis. A translate table is used to
|
basis. A translate table is used to
|
||||||
convert from 6 bit codes to disk
|
convert from 6 bit codes to disk
|
||||||
codes.
|
codes.
|
||||||
.PP
|
|
||||||
T/S LIST]>Track/Sector List. A
|
T/S LIST]>Track/Sector List. A
|
||||||
sector which describes the location
|
sector which describes the location
|
||||||
of a file by listing the track and
|
of a file by listing the track and
|
||||||
sector number for each of its data
|
sector number for each of its data
|
||||||
sectors in the order that they are to
|
sectors in the order that they are to
|
||||||
be read or written.
|
be read or written.
|
||||||
.pp
|
|
||||||
TTL]>Transistor to Transistor Logic.
|
TTL]>Transistor to Transistor Logic.
|
||||||
A standard for the interconnection of
|
A standard for the interconnection of
|
||||||
integrated circuits which also
|
integrated circuits which also
|
||||||
defines the which voltages
|
defines the which voltages
|
||||||
represent 0's and 1's.
|
represent 0's and 1's.
|
||||||
.pp
|
|
||||||
UTILITY]>A program which is used to
|
UTILITY]>A program which is used to
|
||||||
maintain, or assist in the development
|
maintain, or assist in the development
|
||||||
of, other programs or disk files.
|
of, other programs or disk files.
|
||||||
.pp
|
|
||||||
VECTOR]>A collection of pointers or
|
VECTOR]>A collection of pointers or
|
||||||
JMP instructions at a fixed location
|
JMP instructions at a fixed location
|
||||||
in memory which allow access to a
|
in memory which allow access to a
|
||||||
relocatable program or data.
|
relocatable program or data.
|
||||||
.pp
|
|
||||||
VOLUME]>An identification for a
|
VOLUME]>An identification for a
|
||||||
diskette, disk platter, or cassette,
|
diskette, disk platter, or cassette,
|
||||||
containing one or more files.
|
containing one or more files.
|
||||||
.pp
|
|
||||||
VTOC]>Volume Table Of Contents.
|
VTOC]>Volume Table Of Contents.
|
||||||
Based upon the IBM OS/VS VTOC. On
|
Based upon the IBM OS/VS VTOC. On
|
||||||
the APPLE, a sector mapping the
|
the APPLE, a sector mapping the
|
||||||
free sectors on the diskette and
|
free sectors on the diskette and
|
||||||
giving the location of the directory.
|
giving the location of the directory.
|
||||||
.pp
|
|
||||||
WARMSTART]>A restart of a program
|
WARMSTART]>A restart of a program
|
||||||
which retains, as much as is
|
which retains, as much as is
|
||||||
possible, the work which was in
|
possible, the work which was in
|
||||||
progress at the time. A DOS
|
progress at the time. A DOS
|
||||||
warmstart retains the BASIC program
|
warmstart retains the BASIC program
|
||||||
in memory.
|
in memory.
|
||||||
.PP
|
|
||||||
WRITE PROTECTED]>A diskette whose
|
WRITE PROTECTED]>A diskette whose
|
||||||
write protect notch is covered,
|
write protect notch is covered,
|
||||||
preventing the disk drive from
|
preventing the disk drive from
|
||||||
writing on it.
|
writing on it.
|
||||||
.pp
|
|
||||||
ZAP]>From the IBM utility program,
|
ZAP]>From the IBM utility program,
|
||||||
SUPERZAP. A program which allows
|
SUPERZAP. A program which allows
|
||||||
updates to a disk at a byte level,
|
updates to a disk at a byte level,
|
||||||
using hexadecimal.
|
using hexadecimal.
|
||||||
.pp
|
|
||||||
ZERO PAGE]>The first 256 bytes of
|
ZERO PAGE]>The first 256 bytes of
|
||||||
memory in a 6502 based machine. Zero
|
memory in a 6502 based machine. Zero
|
||||||
page locations have special
|
page locations have special
|
||||||
@ -325,4 +325,3 @@ significance to the central
|
|||||||
processor, making their management
|
processor, making their management
|
||||||
and assignment critical.
|
and assignment critical.
|
||||||
.br
|
.br
|
||||||
\x00
|
|
@ -130,4 +130,3 @@ A-20
|
|||||||
.nf
|
.nf
|
||||||
800G (Run the COPY program)
|
800G (Run the COPY program)
|
||||||
.br
|
.br
|
||||||
\x00
|
|
@ -33,4 +33,3 @@ utilities called BENEATH APPLE DOS'
|
|||||||
BAG OF TRICKS. See the page facing
|
BAG OF TRICKS. See the page facing
|
||||||
1-1 for more details.
|
1-1 for more details.
|
||||||
.br
|
.br
|
||||||
\x00
|
|
@ -123,4 +123,3 @@ C-15
|
|||||||
.sp1
|
.sp1
|
||||||
the voltages which represent 0's and
|
the voltages which represent 0's and
|
||||||
.br
|
.br
|
||||||
\x00
|
|
Loading…
Reference in New Issue
Block a user