Atari ST - Atari Corporation - 1993
Atari Hard Disk Driver (AHDI)
_6_04_19930408_wip_atari_corp.png)
- Genre
- Tape / Disk / Cartridge Utility
- Year
- 1993
- Language
- Machine Language
- Publisher
- Atari Corporation
- Controls
- Mouse
- Distributor
- -
- Players
- —
- Developer
- [n/a]
- Resolution
- Low / Medium / High / VGA
- Licensed from
- -
- Programmer(s)
- Lai, Minna
- Country

- Graphic Artist(s)
- —
- Software
- English
- Game design
- —
- Box/Instructions
- English
- Musician(s)
- —
- License
- Unreleased
- Sound FX
- —
- Serial
- —
- Cover Artist(s)
- —
- ST Type
- ST, STe, TT, Falcon030 / 0.5MB
- MIDI
- —
- Version
- 6.04 [WIP]
- Dump
- Download
- Number of Disks
- 1 / Double Sided / HD Installable
- Dump format
- MSA
- Protection
- —
OTHER VERSIONS WITH THE SAME TITLE (6)
ADDITIONAL COMMENTS
Development version. Found from ex-Atari employee's hard disk. Assembler sources included.
INSTRUCTIONS
AHDI README.DOC (July 21 1992 - ml.) =============== AHDI is the hard disk driver for the Atari 680x0-line of computers. It now supports the ACSI, the SCSI and the IDE interfaces. The hardware dependent code of AHDI is also used by programs like HDX, FHDX and TSTDRIVE. Those programs will need all the .H files, and all the .S files except DRIVER.S and INSTALL.S To build the driver, just run "make" with the MAKEFILE in this directory. Refer to AHDI 3.00 Release Notes for a detail explanation of the patchable variables, the extended GEMDOS partition and the big GEMDOS partition. The main difference between version 5.00 and version 6.00 is the support of Sparrow SCSI. The new files are SPSCSI.H and SPSCSI.S. The driver code consists of : ACSI.H BLITTER.H DEFS.H ERROR.H IDE.H MACROS.H MFP.H SCSI.H SPSCSI.H SYSVAR.H DEFS.H - Most of the conditional assembly and global equates are here. When compiling for programs like HDX and FHDX, set the "DRIVER" conditional assembly flag to 0. This will include routines (e.g. format) which are not needed in the resident driver. 68030.S - Macros to access the cache registers when running on the 68030. ACSI.S - Set up the ACSI DMA channel to send commands, to send and to receive data. The clean up code is also used by the Sparrow SCSI code since Sparrow SCSI uses the same channel. When the standard _rcvacsi() and _wrtacsi() routines (e.g. the format routine) are not used to do the I/O, remember to set and clear "flock" appropiately. If not, the floppy activities may interfere with the hard disk activities. CMDBLK.S - Stuff the command block for all SCSI and ACSI commands. COOKIE.S - Allan Pratt's getcookie() code. DOIT.S - Decide which interface (SCSI, ACSI, or Sparrow SCSI) to use for a command, and send it on its way. DRIVER.S - Most changes made to the driver are documented at the beginning of this file. This file contains the hardware independent file-system level code, all the global variables, and the entry points for the BIOS. This file MUST be the FIRST file when linking, because it contains the patchable variables which locations are published. IDE.S - Set up the IDE channel to do either programmed or BLiTTER I/O. DON'T do BLiTTER I/O on the STBOOK! To do BLiTTER I/O on the Sparrow, the "badcombo" flag initialized in the file DRIVER.S needs to be set to 0. INSTALL.S - This file contains the code to look for devices and initialize the globals. This file MUST be the LAST file when linking, because the Mshrink() or Pterm() done at the end of the driver uses a label in this file to calculate how much of the driver to keep. SCSI.S - Set up the TT SCSI channel for either programmed or DMA I/O. The Falcon 040 SCSI should be able to use most of the TT SCSI code. There are a couple of fixes that I know of now. First, there is no need to use the residue register anymore, the hardware will flush the FIFO. I think the register will stay for compatibility. Second, the TT SCSI now bus errors if you try to DMA to the end of memory. That should be fixed in the Falcon 040 SCSI. For the most up-to-date information about these issues, contact John Hoenig. SPSCSI.S - Set up the Sparrow SCSI channel for either programmed or DMA I/O. Sparrow SCSI is accessed by talking through the ACSI DMA chip. Refer to the macros in SPSCSI.H to access the SCSI registers. When the standard _rcvspscsi() and _wrtspscsi() routines (e.g. the format routine) are not used to do the I/O, remember to set and clear "flock" appropiately. If not, the floppy activities may intrefere with the hard disk activities. Refer to the comments in the source files for a detail explanation of the different functions.
