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); --------------------------------------------------------------------------------