From: Erik Berglund Newsgroups: comp.os.msdos.djgpp Subject: Re: Need help with BIOS-level floppy commands. Lines: 42 Message-ID: <_wWq4.6881$al3.89734@newsc.telia.net> Date: Thu, 17 Feb 2000 17:49:46 GMT NNTP-Posting-Host: 194.237.158.197 X-Complaints-To: abuse AT telia DOT com X-Trace: newsc.telia.net 950809786 194.237.158.197 (Thu, 17 Feb 2000 18:49:46 MET) NNTP-Posting-Date: Thu, 17 Feb 2000 18:49:46 MET Organization: Telia Internet To: djgpp AT Delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com kconder AT interaccess DOT com (Kevin Conder) wrote: > I am trying to read a floppy diskette that has been formatted with > an Ensoniq EPS keyboard (think synthesizer, not typing). This diskette is > DS DD and uses 10 sectors/track. Normal DOS diskettes are formatted as > 9 sectors/track. > > I have written a program that reads a normal DOS diskette using > biosdisk() commands. I haven't been able to use those commands to read > the EPS formatted diskette. Somehow I need to get the floppy drive > controller to use 10 sectors/track. I wrote a program that reads AKAI S1000 disks, it's probably the same format as in Ensoniq EPS. However I'm not sure about the `bytcod' used for EPS, maybe you should try both 2 and 3. Use DOS interrupt 0x21, 0x35 to get the address of interrupt vector 0x1e (it's not an interrupt but a far pointer to the `base table' used by the floppy driver). See also Ralf Brown's interrupt list, INT 1E. ; ; Define byte offsets in diskette unit base table. ; The interrupt vector for interrupt 0x1e points to this table. ; byte1 equ 0 ; Specified byte 1 (= 223) (bit(3:0)=step-rate time) byte2 equ 1 ; Specified byte 2 (= 2, DMA mode) offtim equ 2 ; Time to shut off motor (= 37 ticks = 2 sec) bytcod equ 3 ; Bytes per sector code (= 3 for S1000 disks) ; (0 - 128, 1 - 256, 2 - 512, 3 - 1024) maxsect equ 4 ; Max sector number (= 10 for S1000 disks) sectdist equ 5 ; Distance between sectors when read/write (= 27) dtl equ 6 ; Max data transfer length (= 255) if bytcod unspec. formdist equ 7 ; Distance between sectors when formatting (= 84) formdata equ 8 ; Data to be written when formatting (= 0xf6) headtim equ 9 ; Time to adjust head (= 15 ms) ontim equ 10 ; Time to start-up motor (= 8 * 1/8 sec) -- Erik Berglund erik2 DOT berglund AT telia DOT com