Serial Port Communication Under MS-DOS 6.22

Microsoft Upg-vc ms-dos 6.22 lics pack
October 22, 2010 at 10:13:12
Specs: MS-DOS 6.22, 3.0GHz / 512MB
Please I have MS-DOS 6.22 that runs on a Pentium 4 3.0 GHz machine with 512MB of ram. I use this machine to run a legacy application. The legacy application uses serial port to communicate with an external hardware. The problem is that the connection is not stable sometimes it fails and so the program fails to communicate and terminate.

I was successful to use Laplink ( a program that uses serial/parallel cables to transfer files) to transfer files using a serial cable and the files were transferred successfully although they were much slower than usual which i suspected that the serial communication is not perfect and that exactly what happens with my legacy application, but in the case of my application it does not retry and it fails if it does not find a reliable communication

The legacy application works perfectly on any machine less than 120MHz, but any other machine greater that 233 MHz the serial communication fails


Please advise
any help would be much appreciated


See More: Serial Port Communication Under MS-DOS 6.22

Report •

#1
October 22, 2010 at 10:33:26
I suppose the ports have high speed UARTS.

Did you try setting the port speed with MODE?

Try 115,200


=====================================
Life is too important to be taken seriously.

M2


Report •

#2
October 22, 2010 at 11:01:42
when i try to set it to 115200 dos returns an error of invalid parameter it only accepts a maximum speed of 19200

also a strange thing happens with me when i try to use the mode command when i try to set COM1 for example to retry using the following command for example
mode com1:9600,n,8,1,p
and then i use mode to see the status of the ports COM1 retry option is always displayed with none regardless of the parameter i use to set the retry option(b,p,e,....)


Report •

#3
October 22, 2010 at 11:11:55
You got me on the retry.

But I think I used to set at least 38400.

Any chance you have MODE from an earlier version of DOS?


=====================================
Life is too important to be taken seriously.

M2


Report •

Related Solutions

#4
October 22, 2010 at 11:13:40
no i do not have except ms-dos 6.22
I have tried 38400 and also it says invalid parameter

Report •

#5
October 22, 2010 at 13:15:37
http://www.vfrazee.com/ms-dos/6.22/...

Is there a setting in BIOS to manually assign IRQ's ??


Report •

#6
October 22, 2010 at 17:42:34
Set the com port to common default. For com1 that 3F8 and IRQ4 and for com2 it's 2F8 and IRQ3. Also if there's a 'Pnp OS' option in cmos/bios setup make sure that's set to NO.

Real men don't use AntiVirus; they just reformat


Report •

#7
October 22, 2010 at 22:27:57
While you're in BIOS see if you can slow down the CPU.

Like DAVE says, standard address and IRQ is a good bet.

Are you using a serial mouse?

And I would try disabling any drivers, progs not needed. TSRs can be very sneaky.


=====================================
Life is too important to be taken seriously.

M2


Report •

#8
October 23, 2010 at 00:18:47
X86
yes the serial bios can be set manually

DAVEINCAPS
the com1 and com2 were set exactly the way you described
the Plug and Play Operating System (PnPOS) was set to yes. I will set it to No and try to communicate again and get back to you with the results.
Another question what does PnPOS does ?

Mechanix2Go
* the only options for slowing things down i had were "HyperThreading", "Limit CPUID", "No Execute Technology", "C1 Enhanced Mode" and they are all disabled by default

* I tried the IRQs and they are set as dave said

* I am not using mouse at all just a keyboard, the system does not have except MS-DOS 6.22

*I do not have any unwanted drivers/programs the system is just built to handle the communication with the external hardware

* Another thing earlier in the conversation you told me about setting the baud rate for the serial port and I found that MS-DOS MODE command does not set values higher than 19200, but when i used laplink program to transfer files using a serial cable the baud rate is set to a default of 115200 automatically


thanks


Report •

#9
October 23, 2010 at 00:34:45
That 19200 really bothers me.

I'll boot 6.22 and try it.


=====================================
Life is too important to be taken seriously.

M2


Report •

#10
October 23, 2010 at 15:50:21
Setting PnP OS to 'no' lets the bios configure all the hardware. Setting it to 'yes' lets the OS do some of it. I've noticed some dos stuff won't load if that is set to 'yes'.

Real men don't use AntiVirus; they just reformat


Report •

#11
October 24, 2010 at 02:23:20
while I am searching for a solution for this problem I found that newer processors requests a privileged instruction to access the ports and so if this privileged instruction is not issued the processor sends an exception and does not execute the I/O instructon. Since the application run in user-mode, so there something called I/O permission bitmap and it a bit and so based on the value in this bit either the user-mode I/O instruction is executed or not. Therefore some applications might generate an exception if the I/O permission bitmap is not set and so assume that connection has problem and hence application fails to communicate. I am wondering is this problem also applicable to MS-DOS 6.22 and to my case ?

Report •

Ask Question