Bad Classic Operating Systems (was: Micro$oft Biz'droid Lusers)
On Sun, Apr 21, 2002 at 08:36:56AM -0700, Sellam Ismail wrote:
> On Sun, 21 Apr 2002, Derek Peschel wrote:
> > memory to areas of disk and read it back again). Apple's DOS 1 and 2
> > had no files, or so I hear. FORTH often still doesn't, though it was
>
> Where'd you hear that?
On some "history of the Apple" site, probably.
>
> Any information on Apple DOS before version 3 would be interesting. I
> didn't think they HAD versions before 3.2. From what I've read, 3.2 was
> the version that was finally deemed complete and ready for release.
1 and 2 were not released (which is why I don't have any more information
than you do). You may be interested in chapter 2 of _Beneath Apple 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 lowercase 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 nibblized 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. The image is still
stored in the same order on 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 COPY program. Because the
COPY program was rewritten under 3.3, that restriction no
longer applies.
DOS 3.3 - 1 January 1983
This "maintenance release" of DOS was introduced with the
Apple IIe computer. It contains a few minor patches and no
additional function.
- A patch was introduced in DOS 3.3 to fix a bug in APPEND
processing. This patch also had bugs. Additional patches
were added to (hopefully) correct this problem.
- An error for the POSITION calculation in large files is
corrected in this release.
- A few instructions were added to properly support the 80
column display on the Apple IIe.
- The system master diskette contains some different files.
Notably, a fast loader for the language card and all of
the example programs have been moved to a separate
diskette.
No, I don't have an online copy of the book -- I just typed everything in.
Some other historical tidbits:
DOS 3.x was not written by Apple but by Optimized System Software.
They later went on to write the DOS for the Atari 8-bit machines, which has
a very polished and modular internal organization (though Atari never really
upgraded the hardware -- also it would be nice to get rid of the menu system
and mix BASIC with DOS -- I think there are software programs to do that).
FID says FIle Developer in its title screen. A few years ago I read
(on comp.sys.apple2) that it was originally called FISHEAD. (That is
a horrible acronym but I forget what for.) The Apple management protested.
Little did they know that FID really stands for Fishead In Disguise!
And MUFFIN was named for the programmer's dog. A program to convert 3.3
files back to 3.2 exists and is called (naturally enough) NIFFUM.
I'm not sure if the APPEND bug was ever completely fixed. DOS doesn't
record the length of a text file, unlike ProDOS; that undoubtedly makes
the programmer's life harder. I believe sparse text files under DOS
are also a complete pain.
-- Derek
Received on Sun Apr 21 2002 - 11:51:46 BST
This archive was generated by hypermail 2.3.0
: Fri Oct 10 2014 - 23:34:32 BST