• Please review our updated Terms and Rules here

80286 memory parity error

Wawavoun

Experienced Member
Joined
May 17, 2020
Messages
53
Location
Alsace Yo !
Good morning,

Quite suddenly (after formatting and a reinstallation of dos 6.22) my pc 80286 gives memory errors.

The message is:

ON BOARD PARITY ERROR
ADDR(HEX) = (1000:2DF8)
HALTED SYSTEM

It's written in big letters. I think the message comes from the bios. CtrlAltDelete no longer gives anything, I have to use the bp reset.
I also see sometime 1000:2DF2 address.

There is only one application which causes the problem: it appears when launching an ftp transfer (with Mr. Brutman's MTCP ftp) just after the return which follows the get command.

With some small transfer (say file size < ~100 ko) sometime it works at least for the first transfer.
Usually the second transfer fail.
Also with bigger file size the error come every time.
MTCP dhcp or ping are working well.

The boot bios memory test passes well and the 3C509B network card passes the 3Com tests.

Before the new installation, FTP transfers worked perfectly.
No other apps seem to have a problem.

I run several times Checkit 3.0 memory test in deep test mode and he dont report any problem with the memory....
I try different configurations : with and without the packed driver, with and without the RJ45 cable connected and so on with always the same result, no memory problem.

My questions :
- Can msdos, a driver or an application (in fact software) create this kind of problem or is it solely and exclusively hardware ?
- I know it could be a nmi related problem, how can I check that ?
- Your opinions on the problem ?

Thank you, best regards.
Philippe
 
Did you clean install or install over-top? Maybe rename the packet driver and install a fresh copy. Here's a link with someone going back to an older version of the packet driver.
 
Whoops. The link is for a 3C905. But you might still try a different driver for the 3C509.
 
Doing everything from floppies (boot and ftp networking) with exactly the same configuration (memory, drivers etc...) and it works !
Something is wrong on the dd.
 
ON BOARD PARITY ERROR
ADDR(HEX) = (1000:2DF8)
Address 12DF8 hex = Address 75.5 KB roughly

- Can msdos, a driver or an application (in fact software) create this kind of problem or is it solely and exclusively hardware ?
It sounds like you are homing in on the cause, but to answer that question, software can also trigger a PARITY ERROR.

For example, the following is a record that I have:
PARITY CHECK 1 message when running 3c503.exe
Fix: Run 3c503.exe with /S switch ("If the /S switch is specified, the diagnostic program will test DMA transfers using the single-byte mode. If the switch is omitted, DMA demand mode is used. ")
 
Well I found it!

The network is set up using a bat file which links the commands:
- setting up environment variables
- loading the packet driver
- dhcp launch.

On floppy disk a 'certain' time separates the different commands and it works, this time is shorter if I run the bat from the hd and it no longer works...
On the hd if I decompose the bat by executing each command by hand one by one it works perfectly.
So I think that if the dhcp command comes too quickly after launching the driver there is a corruption somewhere.
For now I put a pause instruction between each line of the bat file and that's it...

It's quite a weird thing but I've done it several times and it's unstoppable!

The before/after explanation:
Following the formatting of the hd I had to rewrite this bat file.
Afterwards I seem to remember that in the original file on the 286 there was a kind of wait or sleep command somewhere.
And I didn't put it back!

In short, my memory failed me!

Note that on my 386sx25 the bat file works like a charm without pause, wait or sleep...

It remains to find how to create a timer in the bat file because with pause you have to do return to resume.

Have a good day.
Philippe
 
Last edited:
Floppy disk transfers use DMA, and IDE hard disk transfers do not. You may have a DMA problem.

Writing a small timing loop program in assembly (even in DEBUG) is not particularly hard.
 
Well I found it!

The network is set up using a bat file which links the commands:
- setting up environment variables
- loading the packet driver
- dhcp launch.

On floppy disk a 'certain' time separates the different commands and it works, this time is shorter if I run the bat from the hd and it no longer works...
On the hd if I decompose the bat by executing each command by hand one by one it works perfectly.
So I think that if the dhcp command comes too quickly after launching the driver there is a corruption somewhere.
For now I put a pause instruction between each line of the bat file and that's it...

It's quite a weird thing but I've done it several times and it's unstoppable!

The before/after explanation:
Following the formatting of the hd I had to rewrite this bat file.
Afterwards I seem to remember that in the original file on the 286 there was a kind of wait or sleep command somewhere.
And I didn't put it back!

In short, my memory failed me!

Note that on my 386sx25 the bat file works like a charm without pause, wait or sleep...

It remains to find how to create a timer in the bat file because with pause you have to do return to resume.

Have a good day.
Philippe
I'd recommend, if you haven't, adding comments as to why those pause statements are there. You'll thank yourself in the future.
 
Back
Top