2017-07-20 21:50:14 +00:00
|
|
|
.bp
|
|
|
|
.np
|
|
|
|
.ce
|
|
|
|
CHAPTER 2 - THE EVOLUTION OF DOS
|
|
|
|
.sp 2
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
Since its introduction, Apple DOS has
|
|
|
|
gone through three major versions.
|
|
|
|
All of these versions look
|
|
|
|
very much the same on the surface.
|
|
|
|
All commands supported by DOS 3.3
|
|
|
|
are also supported in 3.2 and 3.1.
|
|
|
|
The need for additional versions has
|
|
|
|
been more to fix errors in DOS and to
|
|
|
|
make minor enhancements than to
|
|
|
|
provide additional functionality.
|
|
|
|
Only DOS 3.3 has offered any major
|
|
|
|
improvement in function; an increase
|
|
|
|
in the number of sectors that will
|
|
|
|
fit on a track from 13 to 16.
|
|
|
|
.sp1
|
|
|
|
DOS 3 - 29 June 1978
|
|
|
|
.br
|
|
|
|
DOS 3.1 - 20 July 1978
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
The first release of DOS was
|
|
|
|
apparently a victim of a rush at
|
|
|
|
Apple to introduce the DISK II. As
|
|
|
|
such, it had a number of bugs. With the
|
|
|
|
movement towards the APPLE II PLUS
|
|
|
|
and the introduction of the AUTOSTART
|
|
|
|
ROM, a new release was needed.
|
|
|
|
.SP1
|
|
|
|
DOS 3.2 - 16 February 1979
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
Although DOS 3.2 embodied more
|
|
|
|
changes from its
|
|
|
|
predecessor than any other release of
|
|
|
|
DOS, 90% of the basic structure of DOS 3.1
|
|
|
|
was retained. The major differences
|
|
|
|
between DOS 3.1 and 3.2 and later versions of DOS
|
|
|
|
are listed below:
|
|
|
|
.sp1
|
|
|
|
.pi-2
|
|
|
|
.in2
|
|
|
|
.ps0
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- NOMON C,I,O is the initial default
|
|
|
|
under DOS 3.2. MON C,I,O was the
|
|
|
|
default under DOS 3.1.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- Input prompts (>,],*) are echoed
|
|
|
|
when MON O is in effect, not under
|
|
|
|
MON I as was the case under 3.1.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- When a DOS command was entered from
|
|
|
|
the keyboard, DOS executed it and
|
|
|
|
then passed a blank followed by a
|
|
|
|
carriage return to BASIC under 3.1. Under 3.2
|
|
|
|
only a carriage return is passed.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- Under 3.2, certain commands may not
|
|
|
|
be entered from the keyboard but may
|
|
|
|
only be used within a BASIC program
|
|
|
|
(READ, WRITE, POSITION, OPEN,
|
|
|
|
APPEND).
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- Under 3.2, when LOADing an APPLESOFT program,
|
|
|
|
DOS automatically
|
|
|
|
converts from APPLESOFT ROM format to
|
|
|
|
APPLESOFT RAM format if the RAM version of
|
|
|
|
BASIC is in use and vice versa.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- DOS 3.1 could not read lower case
|
|
|
|
characters from a text file; DOS 3.2
|
|
|
|
can.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
.bp
|
|
|
|
- Some DOS commands are allowed to
|
|
|
|
create a new file, others will not.
|
|
|
|
Under DOS 3.1, any reference to a
|
|
|
|
file that didn't exist, caused it to
|
|
|
|
be created. This forced DOS 3.1 to
|
|
|
|
then delete it if a new file was not
|
|
|
|
desired. (LOAD XYZ under 3.1 if XYZ
|
|
|
|
did not exist, created XYZ, deleted
|
|
|
|
XYZ, and then printed the file not
|
|
|
|
found error message.) Under 3.2, OPEN
|
|
|
|
is allowed to create a file if one
|
|
|
|
does not exist, but LOAD may not.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- Under 3.1, exiting to the monitor
|
|
|
|
required that the monitor status
|
|
|
|
register location ($48) be set to
|
|
|
|
zero before reentering DOS. Under DOS
|
|
|
|
3.2 this is no longer necessary.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- The Read/Write-Track/Sector (RWTS)
|
|
|
|
section of DOS disables interrupts
|
|
|
|
while it is executing. Under 3.1,
|
|
|
|
RWTS could be interrupted by a
|
|
|
|
peripheral while writing to a disk,
|
|
|
|
destroying the disk.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- The default for the B (byte offset) keyword is 0
|
|
|
|
under 3.2.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- DOS was reassembled for 3.2 causing most of
|
|
|
|
its interesting locations and
|
|
|
|
routines to move slightly. This
|
|
|
|
played havoc with user programs and
|
|
|
|
utilities which had DOS addresses
|
|
|
|
built into them.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- Additional file types (beyond
|
|
|
|
T, I, A, and B) are defined within
|
|
|
|
DOS 3.2, although no commands yet
|
|
|
|
support them. The new types are S,
|
|
|
|
R, a new A, and a new B.
|
|
|
|
R has subsequently been used by the
|
|
|
|
DOS TOOLKIT for relocatable object
|
|
|
|
module assembler files. At present,
|
|
|
|
no other use is made of these
|
|
|
|
extra file types.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- Support was added under 3.2 for the
|
|
|
|
AUTOSTART ROM.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- All files open when a disk full
|
|
|
|
condition occurs are closed by DOS
|
|
|
|
3.2.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- As with each new release of DOS,
|
|
|
|
several new programs were added to
|
|
|
|
the master diskette for 3.2. Among
|
|
|
|
these was UPDATE 3.2, a replacement
|
|
|
|
for MASTER.CREATE, the utility for
|
|
|
|
creating master diskettes. UPDATE
|
|
|
|
3.2 converts a slave into a master
|
|
|
|
and allows the HELLO file to be
|
|
|
|
renamed.
|
|
|
|
.br
|
|
|
|
.pi0
|
|
|
|
.in0
|
|
|
|
.ps1
|
|
|
|
.sp1
|
|
|
|
DOS 3.2.1 - 31 July 1979
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
DOS 3.2.1 was essentially a
|
|
|
|
"maintenance release" of DOS 3.2.
|
|
|
|
Minor patches were made to RWTS and
|
|
|
|
the COPY program to correct a timing
|
|
|
|
problem when a dual drive copy was
|
|
|
|
done. Additional delays were added
|
|
|
|
following a switch between drives.
|
|
|
|
.bp
|
|
|
|
DOS 3.3 - 25 August 1980
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
Introduced in mid 1980 as a
|
|
|
|
hardware/software upgrade from DOS
|
|
|
|
3.2.1, the DOS 3.3 package includes
|
|
|
|
new bootstrap and state ROM chips for
|
|
|
|
the disk controller card which
|
|
|
|
provide the capability to
|
|
|
|
format, read, and write a
|
|
|
|
diskette with 16 sectors.
|
|
|
|
(These ROMs are the
|
|
|
|
same ones used with the LANGUAGE
|
|
|
|
SYSTEM.)
|
|
|
|
This improvement
|
|
|
|
represents almost a 25% increase in
|
|
|
|
available disk space over the old
|
|
|
|
13 sector format.
|
|
|
|
Also included in the 3.3
|
|
|
|
package is an updated version of the
|
|
|
|
DOS manual, a BASICS diskette (for 13
|
|
|
|
sector boots), and a master diskette.
|
|
|
|
Although the RWTS portion of DOS was
|
|
|
|
almost totally rewritten, the rest of
|
|
|
|
DOS was not reassembled and only
|
|
|
|
received a few patches:
|
|
|
|
.sp1
|
|
|
|
.pi-2
|
|
|
|
.in2
|
|
|
|
.ps0
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- The initial DOS bootstrap loader
|
|
|
|
was moved to $800 under 3.3. It was
|
|
|
|
at $300 under 3.2. In addition, as
|
|
|
|
stored on the diskette (track 0
|
|
|
|
sector 0) it is nibbilized in the
|
|
|
|
same way as all other sectors under
|
|
|
|
3.3.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- A bug in APPEND which caused it to
|
|
|
|
position improperly if the file was a
|
|
|
|
multiple of 256 bytes long was fixed
|
|
|
|
under 3.3.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- A VERIFY command is internally
|
|
|
|
executed after every SAVE or BSAVE
|
|
|
|
under 3.3.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- All 4 bytes are used in the Volume
|
|
|
|
Table Of Contents (VTOC) free sector bit map when
|
|
|
|
keeping track of free sectors. This
|
|
|
|
allows DOS to handle up to 32 sectors
|
|
|
|
per track. Of course, RWTS will only
|
|
|
|
handle 16 sectors due to hardware
|
|
|
|
limitations.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- If a LANGUAGE CARD is present, DOS
|
|
|
|
stores a zero on it at $E000 during
|
|
|
|
bootstrap to force the HELLO program
|
|
|
|
on the master diskette to reload
|
|
|
|
BASIC.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- DOS is read into memory from the
|
|
|
|
top down (backwards) under 3.3 rather than the
|
|
|
|
bottom up. Its image is
|
|
|
|
still stored in the same order on the
|
|
|
|
diskette (tracks 0, 1, and 2),
|
|
|
|
however.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- Additional programs added to the
|
|
|
|
master diskette under 3.3 include
|
|
|
|
FID, a generalized file utility which
|
|
|
|
allows individual files or groups of
|
|
|
|
files to be copied, MUFFIN, a
|
|
|
|
conversion copy routine to allow 3.2
|
|
|
|
files to be moved to 16 sector 3.3
|
|
|
|
diskettes, BOOT 13, a program which
|
|
|
|
will boot a 13 sector diskette,
|
|
|
|
and a new COPY program
|
|
|
|
which will also support single drive
|
|
|
|
copies.
|
2017-07-20 22:08:22 +00:00
|
|
|
|
2017-07-20 21:50:14 +00:00
|
|
|
- Under 3.2, speed differences in
|
|
|
|
some drives prevented their use
|
|
|
|
together with the DOS COPY program.
|
|
|
|
Because the COPY program was rewritten
|
|
|
|
under 3.3, that restriction no longer
|
|
|
|
applies.
|
|
|
|
.br
|
|
|
|
.pi0
|
|
|
|
.in0
|
|
|
|
.ps1
|
|
|
|
.nx ch3.1
|