beneath-apple-dos/D1S1/CH2#064000.txt

249 lines
6.2 KiB
Plaintext

.bp
.np
.ce
CHAPTER 2 - THE EVOLUTION OF DOS
.sp2
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
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
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
- NOMON C,I,O is the initial default
under DOS 3.2. MON C,I,O was the
default under DOS 3.1.
- Input prompts (>,],*) are echoed
when MON O is in effect, not under
MON I as was the case under 3.1.
- 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.
- 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).
- 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.
- DOS 3.1 could not read lower case
characters from a text file; DOS 3.2
can.
.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.
- 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.
- 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.
- The default for the B (byte offset) keyword is 0
under 3.2.
- 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.
- 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.
- Support was added under 3.2 for the
AUTOSTART ROM.
- All files open when a disk full
condition occurs are closed by DOS
3.2.
- 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
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
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
- 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.
- 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.
- A VERIFY command is internally
executed after every SAVE or BSAVE
under 3.3.
- 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.
- 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.
- 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.
- 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.
- 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