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