[comp.os.minix] MINIX V1.2 works with OMTI RLL HDD controller

MEGEVAND%CGEUGE51.BITNET@cunyvm.cuny.edu (02/02/88)

        Hello

        We have here some Turbo XT clones on which the version 1.1 of MINIX
worked on diskettes, but we had a lot of problems (already referenced by many
people on the net) with the hard disk driver, the printer and the screen output.

        Now we have got the version 1.2 distributed by Prentice-Hall (yes, it's
possible... even in Europe: we found it !!!). The problems with the screen
output (every second screen empty...) is fixed even with our EGA compatible
card (ATI EGA Wonder w/Bios v1.07), the problems with the printer seem to be
fixed also (as far as we tested it...), and we could modify the XT_WINI driver
to make it work with our controller.

        We have 30 MB drives (Seagate ST238) with RLL controllers (OMTI 5527).
The OMTI controller is able to control sixteen different drive types, but the
two drives should be the same type. This defines the main difference with a
IBM controller. The switches (bits 0-3) define one type, and the parameter
table located at offset 0x20 of the controller BIOS segment (usually 0xC800)
is 256 bytes long. Another difference is the number of sectors per track
which is defined to be 26 for every drive controlled by the OMTI 5527. Below
is the diff file to apply to XT_WINI.C version 1.2 to get a working driver
for a OMTI 5527 RLL Controller.

        I don't know a lot about the 20 MB drives controller OMTI 5520, but
I'm sure about at least one difference with the 5527: 17 sectors per track.
So, people using it should try to fix the XT_WINI.C by applying th diff file
except the correction of line 75.

        The first correction of line 35 is to be applied also by people
using a Western Digital controller.

================================================================================
E-Mail: megevand@cgeuge51.bitnet    ||  Denis Megevand & Charles Maire
==================================  ||  Geneva Observatory
soon to be megevand@cgeuge54.bitnet ||  SWITZERLAND
================================================================================

-----------------------------------cut here-------------------------------------

35c35
< #define AU  TO_BIOS     TRUE  /* TRUE: use Western's autoconfig BIOS */
---
> #define AUTO_BIOS      FALSE  /* TRUE: use Western's autoconfig BIOS */
75c75
< #define NR_SECTORS    0x11    /* number of sectors per track */
---
> #define NR_SECTORS    0x1A    /* number of sectors per track */
720,721c720,721
<   type_0 = i & 3;
<   type_1 = (i >> 2) & 3;
---
>   type_0 = i & 15;
>   type_1 = type_0;
729c729
<   phys_copy(address, umap(proc_addr(WINCHESTER), D, buf, 64), 64L);
---
>   phys_copy(address, umap(proc_addr(WINCHESTER), D, buf, 256), 256L);

--------------------------------------------------------------------------------