Hi Braden,

> I'm running balder.img under a VMWare workstation. I have one serial 
> port connected to com0com over null-modem.

Does it work smoothly?

> Another port I've hooked up to com3 which is my Windows Softmodem.
> Does FDOS have problems using SoftModems?

Yes, but you say that com3 of your DOS is just a
virtual forward from your Windows host system, so
when DOS tries to access it VMWare will probably
just use the Windows driver to access the modem...

> What is the default settings for the com port?

Good question. After saying that /dev/ttyS1 (COM2)
should be the DOS COM1 in DOSEMU, and running our
FreeDOS MODE COM1 /STATUS tells me the following:

C:\>mode com1 /status
Port status: [ xmit-shift-empty xmit-hold-empty ]
Use MODE COM1 BAUDHARD=1 to read *configuration* from UART.

Using the FreeDOS specific BAUDHARD, I get more info:

C:\>mode com1 baudhard=1 /status
UART is 16450 or newer. Reading parameters:
  no parity, 1 stop bit, 8 bit, 2400 baud, RTS on, DTR on.

The RBIL (Ralf Brown's Interupt List) has a bit
of info in the INT 14, AH=0 (S-1400) section:

 >> the default setting used by DOS (MS-DOS 6, DR-DOS 7.03, PTS-DOS)
 >> when (re-)initializing the serial devices is AL=A3h (2400 bps,
 >> no parity, 1 stop bit, 8 data bits).

I can confirm this by looking at the InitSerialPorts()
source code from the FreeDOS kernel:

init_call_intr(0x11, &r); /* get equipment list */
serial_ports = (r.a.x >> 9) & 7; /* bits 11-9 */
for (i = 0; i < serial_ports; i++) {
     r.a.x = 0xA3; /* initialize serial port to 2400,n,8,1 */
     r.d.x = i;
     init_call_intr(0x14, &r);

However, I would recommend that you explicitly set
the port parameters to whatever your Softmodem is
known to work with, using MODE. Maximum reachable
baud rates are 9600 with old BIOS calls and 19200
or up to 115200 baud with new BIOS calls depending
on your BIOS and hardware... You can also use the
FreeDOS specific BAUDHARD=n option to program the
hardware directly to n*100 baud, instead of using
the official BAUD= option of MODE (see modeser.c).

Because you are in VMWare, it depends on what your
VMWare serial port hardware simulation and BIOS can
understand whether old or new BIOS calls or direct
hardware access are interpreted at all and whether
they are correctly translated into config updates
for your Windows Softmodem driver... I assume that
settings will always return to default when your
host Windows OS is rebooted. If your host OS is
not Windows but Linux, the situation is probably
the same - but then you can use DOSEMU instead of
VMWARE to have a less virtual and more fast place
to run your FreeDOS :-)

> Whenever I run ATDT > com2 it returns error reading
 > from device com2 : write fault.

Interesting, but I have no experience with VMWare ;-)
I would recommend that you first get the same to
work inside your host operating system, so e.g. in
Windows you would do "echo ATDT > COM3", in Linux
probably "echo ATDT > /dev/ttyS2". However, note
that you fail to give your Softmodem a chance to
send any reply to your command... You can use the
FreeDOS TERMINAL software to send the ATDT to the
modem interactively and receive the modem's answer
on your screen interactively as well:


Note: TERMINAL defaults to 1200 baud, read the docs.

Because ATDT is "dial / tone" you probably also
need to send a number, so for example you send:


Then the modem can reply CONNECT - or NO CARRIER.
Other commands have replies such as OK or ERROR.

Last but not least, I do not know why you go
all this tedious "manual" way for making your
modem dial some number - if it is just one step
on the way to making a PPP dial-up connection,


or similar software easily does what you want.

Regards, Eric

Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
Freedos-user mailing list

Reply via email to