APPENDIX SEVENTEEN
DOS 2.5 And The 1050 Drive
The latest version of DOS (Disk Operating System) for the XL and XE
computers is 2.5. It offers several advantages over the earlier ver-
sions (including the ill-received DOS 3.0), including dual-density
formatting, new XIO formatting commands available from BASIC, a
RAMDISK program for the 130XE, and greater compatibility with DOS
2.0. If you use DOS 3.0, I suggest you get a copy of 2.5 as soon as you
can.
DOS 2.5 formats a track with 26 sectors instead of the 18 DOS 2.0 han-
dles; this means a disk with 1010 sectors free instead of 707 (leaving
931 free sectors with DOS and DUP.SYS files on a disk). The 1050 (not
the 810) drive can automatically sense which density the disk in the
drive is using. DOS 2.0 can read a 2.5 disk but the additional sectors
are invisible to it.
New BASIC Commands for DOS 2.5
When you OPEN a disk from BASIC to get a directory read (see loca-
tion 1792; $700 in the Addenda section), you normally use OPEN
#1,6,0,"D:*.*." Now, if you use OPEN #1,7,0,"D:*.*," DOS will specify
files which occupy disk sectors that can't be accessed by 2.0 with
angle brackets, like . These files are invisible to
DOS 2.0 when reading a directory; they can't be loaded, nor do they
show up in the directory.
Formatting the disk by the XIO command is enhanced. The usual
method is XIO 254, #1,0,0,"D1:." This will format the disk, trying first
for dual density, and if the drive doesn't support it, formatting in
single (2.0) density. XIO 253, #1,0,0,"D1:" formats a disk with single
density only (a new option--P--has been added to the DOS menu to
format in single density as well). XIO 253, #1,34,0,"D1:" will format a
disk in dual density only.
RAMdisk for the 130XE
DOS 2.5 includes a special program called RAMDISK.SYS. This loads
up when the disk is booted and determines if your computer is a
130XE. If so, it runs a small program which creates a "disk drive" out
of the 64K extended memory bank. The RAMdisk acts just like a real
disk, except that it's faster. It is formatted into 499 sectors and a direc-
tory and has the drive number D8:. DOS 2.5 supports drives 1-8, but
is initialized to drives 1, 2, and 8, so if you have other drives, change
location 1802 ($70A); that is, if you have three drives and the
RAMdisk, POKE 1802, 135. All bits in location 1802 now represent pos-
sible drives.
When it runs, RAMDISK.SYS copies MEM.SAV and DUPSYS to the
RAMdisk, then modifies a location so that you call up DUP.SYS from
the RAMdisk rather than D1:. This brings up DOS almost immediately
when you leave BASIC. However, if you want to delete DUP.SYS from
the memory drive and call it up from drive 1 as usual, type POKE
5439, ASC("1"), this points DOS back to the original drive. You can
also delete MEM.SAV from D8: if you don't need it.
DOS 2.5 Boot Sector and Memory Map
Locations 1792-1812 ($700-$714) are loaded directly into RAM from
the boot sector (sector 1) on a disk. Refer back to the section in the
400/800 memory map tar more explanation. These are from an article
by Neil Harris in the Atari Explorer; they are locations Atari promises
to support in the future:
1792 700 BFLG
- Boot flag; always equals 0.
1793 701 BRCNT
- Number of sectors in the disk boot; three--the first three on the
disk.
1794,1795 702,703 BLDADDR
- Boot load address; where DOS is loaded into memory; always
1792 ($700).
1796,1797 704,705 BINTAD
- DOS initialization address; always 5440 ($1540).
1798-1800 706-708 BCONT
- JMP instruction to jump to the address where the boot program
continues execution; 1812 ($714).
1801 709 SABYTE
- Maximum number of concurrently open files--usually three.
1802 70A DRVBYT
- Drive allocation byte; one bit per drive.
1803 70B SAFBFW
- Unused.
1804,1805 70C,70D SASA
- Buffer allocation address for drives and files.
1806 70E DFSFLG
- Reads zero if there is no DOS.SYS on disk, nonzero if present.
1807,1808 70F,710 DFLINK
- Points to first sector of the DOS.SYS file.
1809 711 BLDISP
- Number of displacement bytes to sector link bytes (last three);
always 125 ($7D).
1810,1811 712,713 DFLADDR
- Address of the FMS (D:) handler table; 1995 ($7CB).
1812 714 XBCONT
- Boot program begins here.
1900 76C BSIO
- BASIC SIO routines.
1906 772 BSIOR
- FMS disk handler routines.
1913 779 ....
- Write verify flag; 80 ($50) turns it off, 87 ($57) turns it on.
1995 7CB DFMSDH
- FMS handler table. Has data in it different from 2.0 handler.
2016 7E0 DINIT
- DOS initialization routine.
4993 1381 FBC
- Start of the FMS file control blocks; first of eight.
5121 1401 FILDIR
- 128-byte buffer for a disk directory sector.
5439 153F ....
- POKE with 49 (ASC("1")) to reroute DOS to call DUP.SYS from D1:
rather than D8: when using the RAMdisk--you can then delete
DUP.SYS and MEM.SAV from the RAMdisk for extra space. See
location 1923 ($783) in the Addenda.
5440 1540 MINIDUP
- Start of permanently resident portion of DUP.SYS.
5540 154A SFLOAD
- Entry to DUP.SYS's routine to load binary files.
5542 15A6 STLOAD
- Used with SFLOAD.
5545 15A9 LOAD
- Used with SFLOAD.
Return to Table of Contents
| Previous Chapter
| Next Chapter