craig@sutcase.case.syr.edu (Gary L. Craig) (12/02/88)
>I am still having problems with MINIX on the PS/2. For one thing, the >floppy disk controller appears to work differently. Does anyone know if >it is a NEC 765 chip, and if so, what are the parameters for 1.44 MB and >720K (see the current floppy.c for the 360K and 1.2MB parameters)? I spent some time on the PS/2 controller problem this summer with some success (however I was working with buggy 1.2 code, trying to use Microsoft C, etc. etc.). The Model 60 has an Intel 2765 controller chip (very similar to NEC 765). The 1.44 MByte drive is 2 heads, 18 sectors per track, 80 cylinders. Rotation speec is 360 rpm, and data rate is 500 kbps (at least under DOS control). The gap size is 1Bh. I have a version of floppy.c which seems to work (actual consistent success is using it from DOS - since we haven't completed upgrade to 1.3 and have problems with MINIX on PS/2 this past summer). I will have a student of mine send you a copy - you should do a cdiff with 1.2 floppy.c. However, some general notes. The biggest change that we found we had ot contend with on the Model 60, was not the floppy controller, but instead the DMA, Bus Arbitration - of the Micro Architecture. Example: DMA_READ = 06h and DMA_WRITE = 0Ah. Also, had to add code to DMA_setup: Port_out(DMA_INIT,6); /* set channel 2 mask bit */ (DMA_M2,DMA_READ); /* clear byte pointer */ (DMA_ADDR, low) (DMA_ADDR, high) (DMA_TOP, ..) (.._COUNT, ..) (.._COUNT, ..) (DMA_M2, mode) (DMA_M1, mode) (DMA_INIT,2) /* enable channel 2 */ unlock() Also, sometime (we did it in start_motor; probably overkill), you must set up the bus arbitration for DMA channel 2. port_out(0x31a8,2); /* Send out arbitration # for channel 2 */ port_in(0x31a6,&valu); port_out(0x31a9,valu); Finally, we had problems with clearing (reseting interrupts) so after each receive(Hardware,..) we executed the following: lock(); port_in(INT_CTLMASK,&valu); valu &= 0xbf; port_out(INT_CTLMASK,valu); unlock(); I hope to have the code to you in the next day or so. Also, I have the hardware manuals (but short memory) - So if you have any questions that I can help with, please let me know. Once we get 1.3c generated, I hope to have someone work on the PS/2 problem, but I am afraid that won't be until the xmas break. -glc Gary L. Craig Dept. ECE - Syracuse University email: craig@sutcase.case.syr.edu 111 Link Hall Syracuse, NY 13244-1240 (315) 443-4389 #! rnews 2
ast@cs.vu.nl (Andy Tanenbaum) (12/04/88)
In article <852@cmx.npac.syr.edu> craig@sutcase.case.syr.edu (Gary L. Craig) writes: >I spent some time on the PS/2 controller problem this summer with some >success I am very interested in finding out what you did and hopefully getting working code. Please send me your !...! address from uunet. My mail to you seems to bounce. Andy Tanenbaum (ast@cs.vu.nl)