Return to Uncreativelabs.net front page Uncreative Labs
PC XT and AT forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

 mTCP Updates (2010-06-21) View next topic
View previous topic
Post new topicReply to topic
Author Message
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Tue Jun 22, 2010 3:56 am Reply with quoteBack to top

The latest mTCP applications have just been posted at http://www.brutman.com/mTCP !

For this release I ported the code from Turbo C++ 3.0 for DOS to Open Watcom 1.8. Turbo C++ has been my preferred compiler for years but I was a little disappointed with the quality of the code being generated. It was correct, but certainly not high performance. One of the major reasons for writing my own TCP/IP is to have the best performance possible, so being hindered by the compiler is no fun.

Open Watcom 1.8 is generally a winner, and for a few reasons:

  • The mTCP applications saw a performance improvement of anywhere from 2 to 11%
  • The size of the executable files went down quite a bit. For example, Telnet shrunk to 77KB from 89KB.
  • The compiler runs natively on Windows, letting me use a much faster machine for compiles, editing, looking up docs, etc.
  • Open Watcom is open source and is actively maintained.


What I am hoping is that you will see the same code working the same way with no bugs introduced during the porting process and slightly better speed.

This release also represents an important milestone. This code is the first version to break the 100KB/sec barrier on my PCjr. Using a Western Digital 8003 card I was able to run a throughput test and see TCP/IP sends at 108KB/sec and receives at 112KB/sec. When I first got TCP/IP sockets working 2 or 3 years ago getting 50KB/sec was tough ... and now on the same machine I have doubled the performance. (Additional performance numbers can be found here: http://www.brutman.com/mTCP/mTCP_Performance.html )

If you haven't tried mTCP out, it has FTP, Telnet, IRC, Netcat, Ping, and a DHCP client. It runs on almost any machine you can dig up, it only requires 256KB, and it doesn't waste CPU cycles. There are some screen shots and a video on the web page if you want a preview.

And of course, it runs great on a PCjr Smile

Enjoy!
Mike
View user's profileSend private message
386er



Joined: 27 Jan 2007
Posts: 274
Location: USA

PostPosted: Tue Jun 22, 2010 7:34 am Reply with quoteBack to top

nice, will have to try this. i remeber having to run this on a 386 with a dead hard drive while moving to another house to talk with some friends. good program. i wonder if theres such things as paralle port ethernet adapters...
View user's profileSend private messageSend e-mailMSN Messenger
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Tue Jun 22, 2010 1:15 pm Reply with quoteBack to top

Indeed such things exist! Look at my performance numbers ... The Xircom PE3-10BT is a parallel port attached adapter. I had to note the type of parallel port it was on to explain the performance.

They were a popular add-on for laptops in the late 90s before Ethernet became available on CardBus/PCMCIA or on the motherboard itself. I use one regularly on the machines that don't have ISA slots or that I don't want to crack open.
View user's profileSend private message
386er



Joined: 27 Jan 2007
Posts: 274
Location: USA

PostPosted: Wed Jun 23, 2010 2:35 am Reply with quoteBack to top

aw cool! i need to keep my eyes open for one! i got a couple of old 8088 lappy's i wana get on the internets
View user's profileSend private messageSend e-mailMSN Messenger
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Thu Oct 21, 2010 2:54 am Reply with quoteBack to top

Hi,

Once again, a new version of mTCP is available at http://www.brutman.com/mTCP .

On the surface this version looks like the prior versions. The biggest visible change is that FTP now has command line editing and recall, which makes it much nicer to use.

Deeper down in the TCP/IP stack the changes were pretty significant. This is the first version to support IP fragment reassembly. I have been able to get by without it for the last two years but really to be a compliant TCP/IP stack it should support sending and receiving IP fragments. This change will improve the compatibility with other networks and gateways. I was able to get IP fragmentation support in with minimal performance impact; you'll only notice it if you get fragmented packets.

For those of you not using mTCP yet, it includes a DHCP client, FTP, IRC, Telnet, Ping, SNTP and Netcat. It runs on just about any (Free)DOS machine (virtual or otherwise) that you can find.


Regards,
Mike
View user's profileSend private message
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Sat Nov 27, 2010 7:45 pm Reply with quoteBack to top

A new version of mTCP is available in the usual place: http://www.brutman.com/mTCP .

If you are on an older clone machine and you have not been able to make the larger apps run correctly, then you want this version. The Watcom compiler runtime that I am using now was incorrectly flagging some machines as NEC PC9801 compatible, which was crashing machines that were not PC9801 compatible. Some of the machines that were hit by this bug were the Compaq Portable and the Epson Equity series. It is a priority to me to make sure that these older machines run well.

(If your clone machine does hot have a normal looking copyright date in BIOS at FFFF:0005 then you were probably being hit by this bug. DHCP would work fine, but the bigger apps like FTP, IRCJR or Telnet would crash when sounding the beeper or reading the keyboard.)

There were some minor TCP/IP changes too to make it more robust if the apps run out of buffer space. This version is built using Open Watcom 1.9; previous versions of mTCP were built using Open Watcom 1.8.

One last note - if you have any problems at all, just drop an email. Also, if you are using mTCP on your machine I'd like to know what kind of machine it is - I'm compiling a list of machines that I know it works on. That will help me with compatibility testing so that I can avoid hiccups like the one above. The partial list at the moment is the PC, XT, AT, PCjr, Epson Equity, Compaq Portable, generic 386-40, Victor Technologies 'Vicky', generic 286-12, generic Pentium class machines, DOSBox (using the Hal-9000 builds), VMWare and VirtualBox.


Regards,
Mike
View user's profileSend private message
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Mon Jan 03, 2011 4:35 am Reply with quoteBack to top

Another version is available. This one includes a multi-user FTP server.

Enjoy,
Mike
View user's profileSend private message
Display posts from previous:      
Post new topicReply to topic
 Jump to:   
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001/3 phpBB Group :: FI Theme :: All times are GMT