<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0">
  <channel>
    <title>Phorum 5</title>
    <link>http://retrogradebbs.com/phorum-5.1.14/index.php</link>
    <description><![CDATA[]]></description>
    <language>EN</language>
    <pubDate>Tue, 22 Apr 2008 22:47:10 -0400</pubDate>
    <lastBuildDate>Tue, 22 Apr 2008 22:47:10 -0400</lastBuildDate>
    <category>Phorum 5</category>
    <generator>Phorum 5.1.14</generator>
    <ttl>600</ttl>
    <item>
      <title>[8-Bit Retrocomputing &amp; TelBBSing] Re: CBBS</title>
      <link>http://retrogradebbs.com/phorum-5.1.14/read.php?1,17,19#msg-19</link>
      <author>Pinacolada</author>
      <description><![CDATA[Oh, and do you need an update to seq2csv, still?

I can't find my update list. I remember we discussed it on the BBS in a thread somewhere. I do remember you wanted no line wrapping, and no leading zeroes on the screen display, right?

I think I found a way to batch tag the files to operate on and speed up the display of the numeric output as well.]]></description>
      <category>8-Bit Retrocomputing &amp; TelBBSing</category>
      <guid isPermaLink="true">http://retrogradebbs.com/phorum-5.1.14/read.php?1,17,19#msg-19</guid>
      <pubDate>Tue, 22 Apr 2008 22:47:10 -0400</pubDate>
    </item>
    <item>
      <title>[8-Bit Retrocomputing &amp; TelBBSing] Re: CBBS</title>
      <link>http://retrogradebbs.com/phorum-5.1.14/read.php?1,17,18#msg-18</link>
      <author>Pinacolada</author>
      <description><![CDATA[Oh. Now I can post. I just had to log out first.

Did you get my email?]]></description>
      <category>8-Bit Retrocomputing &amp; TelBBSing</category>
      <guid isPermaLink="true">http://retrogradebbs.com/phorum-5.1.14/read.php?1,17,18#msg-18</guid>
      <pubDate>Tue, 22 Apr 2008 22:23:54 -0400</pubDate>
    </item>
    <item>
      <title>[8-Bit Retrocomputing &amp; TelBBSing] CBBS</title>
      <link>http://retrogradebbs.com/phorum-5.1.14/read.php?1,17,17#msg-17</link>
      <author>S0URC3R0R</author>
      <description><![CDATA[The CBBS Project has stood the test of time.  It has officially made it from the initial design phase to the actual implementation phase after a year of research and development.  The hardest obstacle to overcome so far was the implementation of the Xmodem/CRC/1K file transfer protocol suite.  Originally, CBBS was written in Java, since that was the language which I was most proficient with for client-server network applications development.  Unfortunately, the only open source Xmodem class library that I could find and use was written in C#, and Java did not support the ushort (unsigned 16-bit integer) datatype used in the CRC16 checksum algorithm.

As a result of my research and design projects, I had a already developed XServer utilizing the C# Xmodem class.  It supported ASCII and BINARY uploads and downloads using the Xmodem file transfer protocol over a TCP socket.  Therefore, I decided that it was finally time to migrate all of the CBBS source code to C#.NET for Windows.  But how to do it?  Using Microsoft's JCLA (Java Conversion Language Assistant) that's how!  It took only a few minutes for the .java source code files to be converted to .cs source code files.

However, nothing is ever that simple.  I had to troubleshoot and debug each subsystem class module, replacing lines of Java code that could not be converted by the JCLA program.  Eventually, I had a working prototype CBBS server written in C#.NET, which just needed some cut and paste work to convert various sections of the code which were causing some of the issues.

Unforuntately, JCLA does not convert the Java AWT/Swing GUI classes to Windows Forms/MFC classes, so I had to strip down the MDI application to just DOS console application in order to do the conversion.  I have plans to modify the code in the near future to restore the MDI GUI to CBBS.  However, right now... well I am just concerned with getting all of the subsystems up and running once again.

If I would have been able to find an open source Xmodem class library for Java, then I would have continued to develop CBBS in Java.  However, the only viable solution was to buy the only class library available from www.serialio.com, which supported both Xmodem and Ymodem, and cost $250 for a developers license.  Since CBBS is a hobby and niche project, that was never an option.  Although, Fred Potter's Xmodem for Java implementation example almost did the trick, it only supported ASCII file receive mode with no support for BINARY files or send mode.  After finding a usable C# Xmodem class library, I was going to rewrite the code in Java, but the limitations of Java made that task as hard as simply writing the code from scratch by myself, which I am not capable of doing.

Last night, I finished debugging and converting the message base subsystem module to C#.NET, which supports posting and reading messages in the subboards (SUBs) that are associated with the special interest groups (SIGs).  I thought that after converting the feedback and file library subsystem modules, this would not prove to be that difficult.  I was wrong.  The message base subsystem almost needed completely rewritten in several sections.  Apparently, JCLA created a support class for the Java classes that were converted, but some of the code statements did not behave in the same way.  This meant a lot of coding, testing, and debugging.  However, the previous Java implementation served as a road map and it was not too bad.  I say that now, but there were a few times I was very frustrated and wanted to pull out my hair and scream.  Thankfully, I also found some great examples of how to deal with really making sure TCP socket connections get disconnected during the logoff process, and how to connect to a MySQL database server using ODBC to execute SQL queries.  Luckily, thanks to www.google.com and some really good articles that were easy to find on the web, I was able to get what I needed to restore functionality when it was broken during the conversion from Java to C#.

Tonight, I plan to finish the code to the file library subsystem, which enables callers to specify the name and type of a file to be received when uploading a file to a file library (LIB), and for specifying the name of a file to be sent when downloading a file from a LIB. That finishes the coding needed for implementing a file transfer libray system so callers can upload and download files!  This has been a goal of mine since the first prototype of CBBS.

Finally, the chat room subsystem module and chat server implementation needs to be converted.  I am sure that will prove to be a challenge also, but one that should not be too difficult after all of the practice I have had with C#.NET thus far.  The chat room was one of the major milestones of development for CBBS when I was developing it in Java.

As soon as these tasks are are completed, I will take the down the old Java version and replace it with the new C# version.  Then, I will take a much deserved break for a little while.

- Dave]]></description>
      <category>8-Bit Retrocomputing &amp; TelBBSing</category>
      <guid isPermaLink="true">http://retrogradebbs.com/phorum-5.1.14/read.php?1,17,17#msg-17</guid>
      <pubDate>Wed, 02 Apr 2008 19:44:06 -0400</pubDate>
    </item>
  </channel>
</rss>
