• Please review our updated Terms and Rules here

Problem with memory on 286 (SCAT)

jh1523

Experienced Member
Joined
Jan 15, 2009
Messages
298
Location
coastal New England
I have recently obtained a Biostar MB-1212C motherboard, 286 with SCAT chipset (82c235), comes with a 12MHz CPU and 1M of memory in DIP sockets. It also has 4 SIPP sockets for up to 4MB memory. There is no jumper to select between the DIP and the SIPP. Here is the entry in TH99: https://stason.org/TULARC/pc/mother...OTECH-INTERNATIONAL-CORPORATION-286-MB-2.html

It comes with an AMI BIOS that allows for setting some SCAT chipset specific features, but the only thing related to memory is whether to enable/disable shadow RAM, move 384k above 1MB and use as extended memory (mutually exclusive with the shadow RAM of course) and some memory timings.

With the on-board memory, if I enable shadow RAM it counts the base memory at boot, finds the shadow RAM and no extended memory. If I disable the shadow RAM, it finds 384k of extended memory. This is all as expected.

I am trying to add more RAM however. I haven't been successful so far.

If I add memory to the SIPP slots but don't remove the DIP chips, it acts as if the SIPP didn't exist. Occasionally on boot it will find only 512k base memory, but that's not consistent. If I remove the DIP chips and leave only 4x1MB memory in the SIPP slots, it doesn't boot. Only gives me 3 short beeps at boot, which for AMI means failure of the first 64k memory.

Moreover, with the original DIPs installed I tested several extended memory cards trying to add memory above 1MB. None of the memory on the cards is recognized, even by an extended memory testing program (testext.exe), The cards were correctly jumpered to add between 512kB and 2MB of extended RAM just above the first megabyte. The cards I used were: Compaq Portable II extended memory card (2MB), AST Rampage286 (512kB) and Kouwei KW-518 (2MB). All 3 cards are known working in other machines. Similarly the memory sticks work in other computers. I tried each card in several ISA slots with the same results. The ISA slots on this motherboard are all good, they work well with other cards (VGA, I/O etc). The motherboard is very clean, with absolutely no corrosion and no bad solder joints.

I also tried a BIOS from another SCAT motherboard (GW-286CT); this BIOS is probably somewhat newer, but the options in it are more or less equivalent to the original BIOS. It works with the DIP memory, but like the original BIOS doesn't boot with the SIPP, and memory on ISA cards isn't recognized.

I don't know how to proceed from here.
 
Are all the SIPPS known to be good?

Have you tried all the various SIPP combinations?

Try only two SIPPS in Bank 2. Then try all the various combination of two SIPPS in Bank 2. If none of these attempts works you either have 3 or 4 bad SIPPs or a board with a SIPP problem.
 
Here is the deal. I haven't used actual SIPP memory. I used SIMMs placed in SIMM slots inserted in the SIPP contacts. I have used this solution before in other SIPP motherboards and it works fine. I used a total of 8 SIMMs to test. All 8 are known good. I pulled another SIPP motherboard and tested in it the combinations of SIMM+slots and they worked fine. I tried various combinations of 2 or 4 memory sticks in the Biostar motherboard, either in bank 2, in bank 3 or both. Nothing worked.
It's easy to say I have a motherboard with a SIPP problem, but how does that explain not detecting the memory on the ISA cards? That is the part that puzzles me the most.
 
If I add memory to the SIPP slots but don't remove the DIP chips, it acts as if the SIPP didn't exist. Occasionally on boot it will find only 512k base memory, but that's not consistent.
I have come across motherboards where the motherboard RAM rule is, 'either SIMM/SIPP, or DIP, but not both'. If the TH99 entry that you pointed to is to be trusted, then to be noted is that the 'DRAM CONFIGURATION' table (presumably showing the valid motherboard RAM configurations) is reflecting 'either SIMM/SIPP, or DIP, but not both'.

It's easy to say I have a motherboard with a SIPP problem, but how does that explain not detecting the memory on the ISA cards? That is the part that puzzles me the most.
Why should it? If I am a doctor, and a patient presents to me with multiple symptoms, I should not assume that all symptoms have the one ailment/cause.
 
Does the battery show any signs of leakage?

It seems like the memory problem is global.

There is no battery. It was removed before I acquired the motherboard. There is absolutely no sign of any previous leakage, corrosion or repair anywhere on the motherboard. I am using an external battery pack with it (the usual 4xAA holder).

I have come across motherboards where the motherboard RAM rule is, 'either SIMM/SIPP, or DIP, but not both'. If the TH99 entry that you pointed to is to be trusted, then to be noted is that the 'DRAM CONFIGURATION' table (presumably showing the valid motherboard RAM configurations) is reflecting 'either SIMM/SIPP, or DIP, but not both'.
Which is why apart from an initial test, I did all the further tests with either DIP or SIPP, but not both.
Why should it? If I am a doctor, and a patient presents to me with multiple symptoms, I should not assume that all symptoms have the one ailment/cause.
I didn't say it has the same cause, but I'm interested in finding a solution - for either, or for both.

FWIW this is what I'm using to adapt SIMMs to SIPP. Got them from Jameco a while ago - Jameco still sells them.

100302.jpg
 
Last edited:
Using the DRAMs, test the extended memory it supplies.

Make a 384k Ramdrive and see how it works.

Fill it up. Read and execute the files you copied into it. Note the problem(s), if any.

If extended memory is available and working properly via this route it might be useful in eliminating and tracking down the root cause(s) of the problem.
 
I did test the 384k of XMS that the chipset can supply using the DIP DRAM. I didn't use a ramdrive for that but rather an extended memory testing program which I mentioned above (testext.exe). There are no errors, the 384kB are functional. For testing the ISA cards I disabled that built-in XMS so that the card memory can be mapped directly at the boundary of the first megabyte.
https://archive.org/details/msdos_TESX34_shareware
 
What happens if, using an add-on card, you try to fill the area from 640k to 1 MB? Obviously this will not enable any XMS but it might give a clue as to how the motherboard is handling the card in filling the area between 640k and 1 MB. If you don't have the 64k DRAMs to yield 640k remove the DRAMs from Bank 1 and P-1 so you've only got 512k onboard and configure the memory card accordingly.
 
That's a good idea. Will try it when I get home after work today. I don't think I have 4464 chips so I'll probably go with the 512k onboard.
 
Another thing to try (when you get home) is to load himem.sys and also add DOS=HIGH to your config.sys. Maybe there's an issue with the board's A20 Gate handling capability.
 
Yup, should have done that. I forgot that 286s can use HMA though they can't use emm386. :)
I don't have a strong suspicion of A20 problems, since the 384k XMS tested fine - but I haven't run anything from it. Apart from doing that I may try to reseat the KBC, or maybe exchange it temporarily for another one.
 
Last edited:
Tests I've run so far:

1. Configured the system with 1M DIP memory for 640k conventional + 384k XMS. Boothed with himem.sys and "DOS=high". DOS is loaded in the HMA and functions correctly. That IMHO eliminates any A20 concerns. If A20 wasn't enabled correctly, no XMS would be available no matter what its source.

2. Removed the memory chips from bank 1. Confirmed that 512k are recognized at boot and adjusted CMOS parameters. Added a memory card (KW-518 ) configured with 18x64k chips in bank 1 (128k total) and the other banks empty, and switches set to fill 128k starting at 512k. On boot, 640k are counted and are available for DOS. So this card can fill conventional memory. In tests from yesterday, the same card couldn't add any extended memory if it was configured to fill from 1024k.

Still testing.
 
Hey, some progress!

3. Went back to testing the Compaq Portable II extended memory card. This one has 2MB on-board, and jumpers to locate the extended memory at: 1M-3M, 2.5M-4.5M, 4.5M-6.5M or 6.5M-8.5M. I started testing it again, set as before to 1M-3M. Before that I noticed in BIOS that parity was disabled. I enabled it, and what do you know, 2M of XMS are recognized by the BIOS. Himem can activate it, and DOS can be loaded in the HMA provided by the card. It's also tested good with the extended memory tester.

4. Tried to do the same with the AST Rampage 286, but the memory on that one still isn't recognized.

Still testing.

(edit) Even with parity enabled, the board won't boot with memory only in the SIPP sockets. Yes, I used parity (9-chip) memory modules. :(
 
Last edited:
5. Tested AST Rampage 286 again, this time with parity enabled both on the motherboard and the card. It works. The manual however seems to have been written by someone half brain-dead for users that are 3/4 brain-dead. Took me a while to translate correctly the indications in it into useful switch configuration. But hey, it works. Incorrect switch configuration was the cause of failure at #4. (long version: with parity disabled, regardless of switches the extended memory tester couldn't find the RAM on the AST card anywhere between 1M and 16M; with parity enabled it did find the memory but it was further up than expected and being non-contiguous the motherboard wasn't detecting it; correcting the switches brought it back to the 1M boundary and it was found by the motherboard as well)

So it seems that it's very important for this motherboard that parity is enabled everywhere. Still doesn't work with SIPP but at least I have a way of adding memory. With UMBs provided by the chipset and extended/expanded memory from the ISA boards I can start progressing towards getting a useful system. The SCAT chipset also has a driver that allows conversion of XMS to EMS so you can get the best of both worlds on a 286.
 
Last edited:
So it seems that it's very important for this motherboard that parity is enabled everywhere. Still doesn't work with SIPP but at least I have a way of adding memory.
Maybe the SIMM to SIPP converters you are using don't support the parity chips on your SIMMs and they're being read as non-parity memory.

With UMBs provided by the chipset and extended/expanded memory from the ISA boards I can start progressing towards getting a useful system. The SCAT chipset also has a driver that allows conversion of XMS to EMS so you can get the best of both worlds on a 286.
FWIW, QRAM should work with that chipset.

QRAM is basically like QEMM but for a 286 and it's only for the C&T chipset. It's quite a powerful memory manager for a lowly 80286! :) :) :)
 
Maybe the SIMM to SIPP converters you are using don't support the parity chips on your SIMMs and they're being read as non-parity memory.
Doubtful. Essentially it's a pin-for-pin conversion from 30-pin SIMM to 30-pin SIPP. Which have the same pinout.
FWIW, QRAM should work with that chipset.

QRAM is basically like QEMM but for a 286 and it's only for the C&T chipset. It's quite a powerful memory manager for a lowly 80286! :) :) :)

I know. I have used qram together with scatemm.sys and himem.sys to get UMBs, EMS and XMS together on a SCAT chipset system before. Pretty much the pinnacle of the 286 world. :)

Even works in emulators e.g. in PCem when emulating a 286 with a SCAT BIOS.

Code:
DOS=HIGH,UMB
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\QRAM\QRAM.SYS
DEVICEHIGH=C:\SCATEMM.SYS

With a 2MB extended memory card and the BIOS configured to allocate 1MB to EMS this gets me: 192kB UMBs, 1MB XMS and 1MB EMS.
 
Last edited:
I was trying to enhance this computer by sticking the XTIDE BIOS extension into the main BIOS area, which I've done successfully in the past if the main BIOS chip has enough empty space. The GW286 BIOS that I've been using for testing doesn't have empty spaces, but the motherboard's original BIOS (which I'll be attaching to this post for reference) at first look has some holes in it, including a yummy one right at 0xF4000 and big enough to fit a 12kB extension. So I downloaded the latest XTIDE AT large (r598 ), calculated the checksum and adjusted it, then pasted it in there... and the computer doesn't boot, halts with a BIOS checksum error.
But I adjusted the checksum! Even the whole BIOS checksum is the same! WTF.
I tried different things for a while until it occurred to me.

What if that empty space isn't in fact empty? The very beginning of the ROM code is another extension, in fact the motherboard's setup program. It ends way before F4000. There is another smaller piece of code right before F8000, which I hadn't looked closely before. It turns out that the second piece of code is still part of the setup program. And the header of the setup program claims 0x40 512-byte blocks of code, i.e. 32kB or half the ROM. Dammit.
Whoever compiled this ROM got greedy and took over a bunch of empty space which I can't use for anything now. I'll have to put XTIDE somewhere in the C, D or E segment. :(

(edit) Unless.... unless I decide to delete all of the setup program from the ROM and put XTIDE and other stuff there instead. And will have no setup in ROM anymore. Maybe I can convert the setup from a BIOS extension to a .com or .exe program. Gonna have to start looking that up. Then I could run it from floppy when needed.
(edit2) no that won't work... I did a little bit of code disassembly, the code used absolute jumps which make it tied to the range of addresses where it's originally located. Won't run unless at 0xE0000.
 

Attachments

  • biostar mb-1212c.zip
    32 KB · Views: 6
Last edited:
Back
Top