[comp.sys.ibm.pc] 386SX and 386 Windows bug cont

palowoda@fiver.UUCP (Bob Palowoda) (02/25/90)

  About a week ago I posted a message about running 386 version of 
windows on a DataExpert 386SX machine. It appears to be a combination
of hardware and firmware that cause the problem.
 
  C&T Chipset
  Adaptec RLL controller Model 2370T
  AMI Bios 

 I use the onboard controller adpatec bios to format the drive. Also useing
AMI's bios I set the drive type to 47 user defined. Now what appearently
happens is when I try to initialize 'win386' it takes the memory mapped
in by the Bios (somewhere around the controller bios) and gives it over
to windows 386 as Extended memory to convert over to EMS memory. It's 
either that or the AMI Bios is relocateing the Adaptec controller bios.
This is my best guess. I have had previous experience with AMI's bios
incorrectly handleing disk drive controllers.  Other than changeing my
Bios over to Phenoix, or takeing the dealers suggestion like don't use
that disk controller. I there a way to get Windows 386 not to map 
certain regions of memory? Also I would like to hear from anyone else
who has run into this problem and has any workarounds or fixes.

---Bob

-- 
Bob Palowoda  pacbell!indetech!palowoda    *Home of Fiver BBS*  login: bbs
Home {sun|daisy}!ys2!fiver!palowoda         (415)-623-8809 1200/2400
Work {sun|pyramid|decwrl}!megatest!palowoda (415)-623-8806 2400/9600/19200 TB
Voice: (415)-623-7495                        Public access UNIX XBBS   

oppenhei@umd5.umd.edu (Richard Oppenheimer) (02/27/90)

There is a way to exclude memory ranges from being mapped by Windows386.
Dale Rogerson just posted a listing of WIN.INI switches he found on Genie
over the weekend. I made a copy of the file and can email it to anyone, but
I have not arced it yet so there may be some delay.

To include/exclude ranges here is a breif description:

There are now two WIN.INI entries for the [WIN386] section which will allow
the user to override the default action of WIN386 and force WIN386 to treat
a memory address range in a user specified way regardless of what may be
occupying that address range.

        emmexclude=<range>
        emminclude=<range>

        <range> is startseg-endseg where startseg and endseg are segment
        values in the range C000 - EFFF. This field is identical to the
        range given on the /X and /I switches for most EMM drivers.

To include or exclude multiple ranges, use multiple lines:

        emmexclude=<range1>
        emmexclude=<range2>
        emmexclude=<range3>

        emminclude=<range1>
        emminclude=<range2>
        emminclude=<range3>

EMMEXCLUDE specifies a range which is to be excluded from consideration for
use as an EMM page. This has the side effect of turning off the ROM RAM
search code for the range.

EMMINCLUDE specifies a range which is to be considered for use as an EMM page
regardless of what may be there.

NOTES on range:

        o Ranges specify addresses between C000 and EFFF. Segment values
                less than C000 are changed to C000. Segment values greater
                than EFFF are changed to EFFF.

                B800-F3FF is changed to become C000-EFFF

        o Ranges specify 16K pages, so the startseg is rounded DOWN to the
                nearest 16K page boundary, and the endseg is rounded UP to
                the nearest 16K page boundary - 1.

                D300-D4FF is rounded to become D000-D7FF

        o endseg must be greater than startseg (after above noted adjustments).
                Ranges that do not satisfy this are ignored.

        o Ranges are INCLUSIVE. thus:

                C000-D000 is rounded to C000-D3FF.

                To stop at D000, the correct range specification is:

                C000-CFFF

The notes go on and I do note wish to be repetitve in posting. If you need
further info let me know.

Richard Oppenheimer
oppenhei@umd5.umd.edu

chan@chansw.UUCP (Jerry H. Chan) (02/27/90)

In article <1006@fiver.UUCP>, palowoda@fiver.UUCP (Bob Palowoda) writes:
>   About a week ago I posted a message about running 386 version of 
> windows on a DataExpert 386SX machine. It appears to be a combination
> of hardware and firmware that cause the problem.
>  
>   C&T Chipset
>   Adaptec RLL controller Model 2370T
>   AMI Bios 
> 

[This is a data point; maybe someone out there may be able to use this info
 to solve this or related problems...]

I have tried the following combo with flakey results:

    C&T Chipset
    AMI Bios (Monolithic Systems Corp. 386 motherboard)
    Adaptec RLL 2372 w/2 disks attached
    Windows SMARTDRV.SYS or PC-Tools PC-Cache
    QEMM386 / 386-to-the-Max EMM manager

Symptoms:

    Directories (cached) would get munged, leading to munged directory
        listings and eventually a hang; directory fixed by a reboot
    SMARTDRV.SYS would report the wrong drive parameters (hds, cyl's,
        sectors/track) on the second drive
    Programs using timer interrupts would run 10x's slower (i.e., coretest)
    System would correct itself if one of the following were removed:

        * One of the disk caching programs
        * QEMM386 or 386MAX expanded memory manager
        * Adaptec controller

    If the Adaptec controller were replaced with a WD1003RA2, all problems
        go away.  The Adaptec seems to be the least common denominator for
        these problems.

    Noting that Windows 386 has a built-in expanded memory manager, Bob's
        problems sound extremely similar to mine.

Any ideas?

Anybody want to buy a spare Adaptec 2372 RLL controller ? :-)
-- 
Jerry Chan 508-853-0747, Fax 508-853-2262  |"My views necessarily reflect the
Chan Smart!Ware Computer Services & Prods  | views of the Company because
Worcester, MA 01606                        | I *am* the Company." :-)
{bu.edu,husc6}!m2c!chansw!chan             \---------------------------------