mirror of
https://github.com/iKarith/beneath-apple-dos.git
synced 2024-12-13 08:29:12 +00:00
131 lines
6.2 KiB
Plaintext
131 lines
6.2 KiB
Plaintext
## 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.
|
|
|
|
DOS 3 - 29 June 1978
|
|
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.
|
|
|
|
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:
|
|
|
|
- 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.
|
|
|
|
- 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.
|
|
|
|
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.
|
|
|
|
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:
|
|
|
|
- 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.
|
|
|
|
.nx ch3.1
|