Author |
Message |
mbbrutman
Joined: 21 Dec 2005
Posts: 66
|
Posted:
Sat Oct 25, 2008 1:26 pm |
  |
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 |
|
|
  |
 |
T-R-A

Joined: 02 Oct 2004
Posts: 594
Location: Western NC
|
Posted:
Sat Oct 25, 2008 9:50 pm |
  |
Cool! Works like it oughta...! |
|
|
  |
 |
mbbrutman
Joined: 21 Dec 2005
Posts: 66
|
Posted:
Sun Oct 26, 2008 6:17 pm |
  |
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.
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 ...) |
|
|
  |
 |
Erik

Joined: 28 Feb 2006
Posts: 127
Location: LI, NY
|
Posted:
Mon Nov 17, 2008 5:57 pm |
  |
|
    |
 |
mbbrutman
Joined: 21 Dec 2005
Posts: 66
|
Posted:
Sun Nov 23, 2008 2:35 pm |
  |
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 |
|
|
  |
 |
mbbrutman
Joined: 21 Dec 2005
Posts: 66
|
Posted:
Thu Dec 18, 2008 4:01 am |
  |
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.
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 |
|
|
  |
 |
mbbrutman
Joined: 21 Dec 2005
Posts: 66
|
Posted:
Mon Jan 19, 2009 4:48 am |
  |
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 |
|
|
  |
 |
k2x4b524p
Joined: 20 Feb 2009
Posts: 217
Location: Nor here nor there.
|
Posted:
Tue Mar 10, 2009 8:07 am |
  |
found this interesting, would like to give it a shot, but vista doesn't include a telnet doohickey |
|
|
   |
 |
mbbrutman
Joined: 21 Dec 2005
Posts: 66
|
Posted:
Thu Apr 16, 2009 4:29 am |
  |
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 |
|
|
  |
 |
T-R-A

Joined: 02 Oct 2004
Posts: 594
Location: Western NC
|
Posted:
Thu Apr 16, 2009 7:37 am |
  |
Mike, you're so talented with the PCjr, I know you'll eventually get a browser written for it that'll work in 256K...
 |
|
|
  |
 |
mbbrutman
Joined: 21 Dec 2005
Posts: 66
|
Posted:
Thu Apr 16, 2009 2:19 pm |
  |
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...
 |
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. |
|
|
  |
 |
mbbrutman
Joined: 21 Dec 2005
Posts: 66
|
Posted:
Sat Jun 20, 2009 4:25 am |
  |
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 |
|
|
  |
 |
k2x4b524p
Joined: 20 Feb 2009
Posts: 217
Location: Nor here nor there.
|
Posted:
Tue Jun 23, 2009 5:42 am |
  |
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... |
|
|
   |
 |
mbbrutman
Joined: 21 Dec 2005
Posts: 66
|
Posted:
Tue Jun 23, 2009 4:58 pm |
  |
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 |
|
|
  |
 |
mbbrutman
Joined: 21 Dec 2005
Posts: 66
|
Posted:
Sat Jun 27, 2009 2:42 pm |
  |
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 |
|
|
  |
 |
|