mirror of
https://github.com/iKarith/beneath-apple-dos.git
synced 2024-12-26 02:30:09 +00:00
Cleanup of Chapter 2
This commit is contained in:
parent
5af72db59c
commit
7eff8384f1
310
ch02.txt
310
ch02.txt
@ -1,248 +1,130 @@
|
||||
.bp
|
||||
.np
|
||||
.ce
|
||||
CHAPTER 2 - THE EVOLUTION OF DOS
|
||||
.sp2
|
||||
## CHAPTER 2 - THE EVOLUTION OF DOS
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
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:
|
||||
|
||||
- NOMON C,I,O is the initial default
|
||||
under DOS 3.2. MON C,I,O was the
|
||||
default under DOS 3.1.
|
||||
- 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.
|
||||
- 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.
|
||||
- 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, 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.
|
||||
- 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.
|
||||
- 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.
|
||||
- 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.
|
||||
- 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 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.
|
||||
- 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.
|
||||
- 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.
|
||||
- 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.
|
||||
- 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.
|
||||
- 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.
|
||||
|
||||
- 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.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.
|
||||
|
||||
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
|
||||
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:
|
||||
|
||||
- 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.
|
||||
- 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 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.
|
||||
- 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.
|
||||
- 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.
|
||||
- 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.
|
||||
- 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.
|
||||
- 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.
|
||||
|
||||
- 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
|
||||
|
Loading…
Reference in New Issue
Block a user