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 

 PCjr running TCP/IP and Telnet server View next topic
View previous topic
Post new topicReply to topic
Author Message
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Sat Oct 25, 2008 1:26 pm Reply with quoteBack to top

I'm getting ready for the 25th anniversary of the PCjr announcement on Nov 1st. I plan to have the machine up and running serving as an 'electronic' guestbook for anybody who wants to look at it.

(It's not a full fledged BBS yet - that's going to take a while longer, but I'm working toward it.)

Unlike a lot of BBSes running on vintage hardware, this one is running it's own TCP/IP right on the machine. There is no null modem cable to a helper machine or device to send characters from a serial port to a TCP/IP socket.

If anybody wants to preview it and help me test it, it is running. Just telnet to 97.86.233.68.

Since the last series of tests I've:

- Added user registration and passwords
- Added a session timeout
- Added a 'leave a comment' feature
- Fixed a major bug in the TCP reset segment handling code
- Added a 'memdump' command so that you and peek at me in realtime
- Recognize ASCII 127 (Rubout) as well as ASCII 8 (DEL) for editing
- And quite a few other miscellaneous changes.

I didn't do much with the telnet option negotiation. It should be usable by common Linux and Windows clients. It did pretty well with other telnet clients last time, but I didn't get around to things like auto-login or anything specific to terminal types.

The code is around 80KB in size, which includes all of the TCP/IP stack. RAM utilization is a bit higher - most of it is buffer space. It has sockets and buffers available for 10 simultaneous users; I'm kind of curious to see how it holds up. (Tracing is at a minimum to speed it up, but it is still a 4.77Mhz machine.)

Oh, and while you are on, don't forget to leave a comment!


Thanks in advance,
Mike
View user's profileSend private message
T-R-A



Joined: 02 Oct 2004
Posts: 576
Location: Western NC

PostPosted: Sat Oct 25, 2008 9:50 pm Reply with quoteBack to top

Cool! Works like it oughta...!
View user's profileSend private message
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Sun Oct 26, 2008 6:17 pm Reply with quoteBack to top

Testing is everything ..

It is still running, and I'm trying to chase down bug related to TCP Reset segments. These get sent when a connection is broken in an unceremonious way. Wink

Feel free to stop back and visit. The Sysop command will beep the machine, just like an old BBS would. (Which is my key to login and say hello to whoever rang the bell ...)
View user's profileSend private message
Erik



Joined: 28 Feb 2006
Posts: 117
Location: LI, NY

PostPosted: Mon Nov 17, 2008 5:57 pm Reply with quoteBack to top

Just tried to test it out. It timed out.

Is it still up and running?

_________________
Nukem Enterprises - http://eriks.servehttp.com
View user's profileSend private messageVisit poster's websiteICQ Number
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Sun Nov 23, 2008 2:35 pm Reply with quoteBack to top

That test has been over for a while .. I normally only test for a week or so.

I think the TCP part and the app are stable. I need to go back and do a round of performance tuning though. In my haste to get something usable for a wider audience I got pretty sloppy with my coding and it's probably slower than it should be.

(There is a lot of polling going on .. polling to check for new packets, polling for timeouts, etc. Some polling is necessary, but lots of polling on things that look redundant needs to be eliminated.)

I'm also thinking about going back and updating the IRC client - it needs timestamps and logging to a file.


Mike
View user's profileSend private message
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Thu Dec 18, 2008 4:01 am Reply with quoteBack to top

I've made some major performance improvements to the TCP/IP sockets code, and it should be quite noticable when using netcat to move files around. IRCjr won't by hurt by the changes either. Smile

You can download the latest DHCP, IRC and Netcat code from:

http://www.brutman.com/Dos_Networking/mTCP.html


I plan on adding an FTP client in the next few weeks.

Enjoy!
Mike
View user's profileSend private message
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Mon Jan 19, 2009 4:48 am Reply with quoteBack to top

And another round of updates posted!

  • New FTP client - and it's fast!
  • IRC: support for 43 and 50 line displays
  • IRCjr: Added -port option for connecting to non-standard ports
  • Some minor bug fixes


Get the latest at ... http://www.brutman.com/Dos_Networking/mTCP.html
View user's profileSend private message
k2x4b524p



Joined: 20 Feb 2009
Posts: 217
Location: Nor here nor there.

PostPosted: Tue Mar 10, 2009 8:07 am Reply with quoteBack to top

found this interesting, would like to give it a shot, but vista doesn't include a telnet doohickey
View user's profileSend private messageSend e-mail
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Thu Apr 16, 2009 4:29 am Reply with quoteBack to top

And yet another round of changes, mostly for FTP:

* Mget and Mput commands
* Prompt command for controlling prompting with mget and mput
* Rename (on server)
* LCD (local change directory)
* Environment variables for controlling buffer sizes

Once you use FTP for transferring files, you'll never go back to shuffling floppies around ...

Get the latest at ... http://www.brutman.com/Dos_Networking/mTCP.html
View user's profileSend private message
T-R-A



Joined: 02 Oct 2004
Posts: 576
Location: Western NC

PostPosted: Thu Apr 16, 2009 7:37 am Reply with quoteBack to top

Mike, you're so talented with the PCjr, I know you'll eventually get a browser written for it that'll work in 256K...
Very Happy Very Happy Very Happy
View user's profileSend private message
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Thu Apr 16, 2009 2:19 pm Reply with quoteBack to top

T-R-A wrote:
Mike, you're so talented with the PCjr, I know you'll eventually get a browser written for it that'll work in 256K...
Very Happy Very Happy Very Happy


Thanks!

But seriously, forget the PCjr for a moment. My development box is a 386-40, which is where all of this current coding goodness is coming from. Targeting the PCjr just keeps me honest on the performance and the memory utilization.

I should have started with an FTP client first - being able to connect to any standard FTP server and xfer files is far easier/faster than doing the floppy shuffle. Back when these machines were in their prime downloading a fully diskette of stuff would have taken 30+ minutes at 2400 BPS, if the connection was clean and stayed up. On my XT with a $6 Xircom PE3-10BT parallel port adapter that number is down to about 15 seconds.
View user's profileSend private message
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Sat Jun 20, 2009 4:25 am Reply with quoteBack to top

It's running again! Please drop in and help me test it ...

For those of you who are new, it is a new Telnet BBS that I am writing running on an IBM PCjr. I have written all of the TCP/IP code and the BBS code from scratch. The only thing I didn't write was the packet driver for the Ethernet adapter and the version of DOS it is running.

The IP address is 96.42.239.42 . That goes to my cable modem - the router port forwards telnet traffic directly to the PCjr. Pretty much any telnet client will do including the one built into Windows. (This URL should fire it up for you: telnet://96.42.239.42/ )

Since the last round of testing I have added the following:

  • A forum area with threads
  • A private message area
  • Bulletins (read only files that are longer in length)
  • Basic user profile editing functions
  • Better telnet protocol support with performance improvements


It is a pretty big set of changes. I am hoping there are no bugs, but having a few people on at the same time will help flush them out and give me an idea on if the machine is capable of servicing multiple users doing real BBS functions. (My previous tests were pretty limited.) The machine is setup to handle 6 online users at the same time.

I am also looking for feedback on the user interface .. if it is not usable, then there isn't much point. I am limited with what I can do given the hardware, but let me know what you think would be neat and I'll add it to the todo list. (ANSI graphics isn't there, but I know how to get it done.)

I will leave the machine running for about a week. If it falls over before then I will fix the bug and restart it as quickly as I can. If it makes it a week with no serious problems I'll be pretty happy.


Thanks,
Mike
View user's profileSend private message
k2x4b524p



Joined: 20 Feb 2009
Posts: 217
Location: Nor here nor there.

PostPosted: Tue Jun 23, 2009 5:42 am Reply with quoteBack to top

You should leave this up more than a week, it does remind me of the good ole bbs days, text based clients, text graphics, man, those WERE the days...
View user's profileSend private messageSend e-mail
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Tue Jun 23, 2009 4:58 pm Reply with quoteBack to top

I'd like to leave it up pretty much forever, but I still have a lot to add to it. The bigger issue is that the audience is fairly limited, and even though a little bit of time travel is cool now and then it might not be worth dedicating a machine and hard drive to this full time.


Mike
View user's profileSend private message
mbbrutman



Joined: 21 Dec 2005
Posts: 66

PostPosted: Sat Jun 27, 2009 2:42 pm Reply with quoteBack to top

Testing is done!

I had to shut it down around 3:30 in the morning .. it had been up for a week and we had some major thunderstorms coming in. I was copying down statistics while the lightning was illuminating the room.

Total uptime was around one week, 3 hours. In that time the machine sent 132067 TCP/IP packets and received 111346. 72 users registers and left around 70 messages.

The most visible bug was my retransmit timer. Due to a misconfiguration it was timing out on packets 10x faster than it should, so there were a lot more retransmitted packets than normal. This lead to some dropped connections - if a packet has to be retransmitted more than 6 times I assume the connection is dead.

There are some telnet options that I received and did not answer - I'm going to dig into those to see if that is something I should fix. There are also some warning from my TCP stack I'd like to look into deeper.

Overall, it was a great test. I think the machine is more than capable of handling a multi-user telnet BBS with reasonable responsiveness.

I'd like to thank everybody who signed in and poked around. I had connections from New Zealand, the UK, Canada, Brazil, and many points in the US. The oldest machine that connected was a Mac SE - most others seemed to be using Windows or Linux.


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