It is currently Sat Nov 01, 2014 2:56 am

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 100 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 7  Next
Author Message
PostPosted: Tue Jul 14, 2009 2:23 pm 
Offline
User avatar

Joined: Mon Jun 15, 2009 6:55 pm
Posts: 79
Ok... Well. That killed my project. :lol:

Interesting. So they already have a multi-node/multi-threaded TCP BBS for the PC that has PETSCII. Very well done, too. It has PETSCII/ASCII/ANSI supports 40 or 80 column displays (auto-formatting, etc...), File transfers (X-Modem), Message board, and other features. Very complete.


Top
 Profile  
 
PostPosted: Tue Jul 14, 2009 3:37 pm 
Offline

Joined: Thu Jan 22, 2009 1:56 pm
Posts: 73
sorry I tought it was youre site :/
don't let it kill youre thing


Top
 Profile  
 
PostPosted: Tue Jul 14, 2009 5:33 pm 
Offline
User avatar

Joined: Mon Feb 13, 2006 7:44 pm
Posts: 211
Location: Toronto, Canada
mistermsk wrote:
There is not one PC BBS that supports PETSCII that I could find.


There's retrograde as mareLock posted, and also Jeff Ledger's Temporal Vortex (written in perl on Linux)

See listing here:
http://cbbsoutpost.servebbs.com/

Don't let that discourage you though, making your own with your own features sounds like a fun project.


Top
 Profile  
 
PostPosted: Tue Jul 14, 2009 11:37 pm 
Offline
User avatar

Joined: Tue Feb 20, 2007 12:05 pm
Posts: 75
Location: Toronto, CANADA
mistermsk wrote:
There is not one PC BBS that supports PETSCII that I could find.

Jeff Ledger's BBS software runs on a PC and supports PETSCII. My work-in-progress does too although mine is far from being a full BBS. Right now it's little more than a chat room with the ability to leave messages for users that aren't logged in.

_________________
Call me Golan; my parents did.


Top
 Profile  
 
PostPosted: Tue Oct 13, 2009 4:20 pm 
Offline

Joined: Thu May 17, 2007 3:00 pm
Posts: 72
Location: Duesseldorf, Germany
mistermsk wrote:
There is one thing that is already done. ContikiOS consists of not just a client but a server. Since its webserver appears to be threaded, that would lead me to believe that the telnet server is also threaded. If that is the case one of the big steps is already done.

...

Thoughts?


Well, I've experimented with the ContikiOS 2.x telnet server about a year ago. I even had the runtime part of my adventure maker implemented into the ContikiOS telnetd code. But the problem I got was this: when using the cbm library (using the functions defined in <cbm.h>) something messed up the way the ContikiOS telnetd handles its events. I use the cbm library functions for reading and writing REL files. But this never worked 100%: sometimes screeen output would only display *after* entering commands twice, sometimes reading data from disk caused system freezes etc.

So at the moment I don't think that ContikiOS may be the best way to implement a native telnet BBS, especially not as long as ContikiOS does not provide native C64 file access. I agree that some kind of multithreading mechanism is mandatory in order to have some sort of session management.

At the moment, I'm experimenting with uIP-0.9 (anyone got the 1.0 release ready to compile with cc65?) and the telnetd demo included there. But this is far from being a real project, I'm just playing around with the example code at the moment. Still I'd like to develop / help out developing a native, TFE/RRnet aware C64 BBS application.

_________________
LOAD ":*",8,1
READY.
RUN


Top
 Profile  
 
PostPosted: Wed Oct 14, 2009 3:42 am 
Offline
User avatar

Joined: Sat Feb 10, 2007 7:30 pm
Posts: 338
Location: Brisbane Australia
lodger wrote:
Still I'd like to develop / help out developing a native, TFE/RRnet aware C64 BBS application.


Music to my ear's.

How about a userport ethernet adaptor with a driver for contiki leaving the cartridge port free or a userport to ethernet device that connects to a standard home network to run a BBS from, it would need to be seen by the Commodore as a modem to run with any BBS software.

_________________
Commodore 8bit Web Services http://cbm8bit.com
Try our new browser driven disk image editor.


Top
 Profile  
 
PostPosted: Wed Oct 14, 2009 5:56 am 
Offline
User avatar

Joined: Mon Feb 13, 2006 7:44 pm
Posts: 211
Location: Toronto, Canada
There's an approach that I thought would be interesting to experiment with, and could work well for a BBS application.

Transactor magazine published a program called "REMOTE64", which let you "remote control" your 64 over a modem.

Basically, it ran in the background and took received bytes and put them into the keyboard buffer. It also hooked into the kernal CHROUT vector (I think?) and whenever a character was displayed on the screen (either from a keypress or a program), it sent it over the modem.

It would be fairly easy to write some network code using one of the netlibs that did the same thing (with limitations). So with this background task running, the BBS part would be simply coding the BBS functionality itself, and as long as it was using the kernal for display.


Top
 Profile  
 
PostPosted: Wed Oct 14, 2009 1:22 pm 
Offline

Joined: Thu May 17, 2007 3:00 pm
Posts: 72
Location: Duesseldorf, Germany
I've given the whole thing some more thought:

what I've learned so far from this thread:

1.) a "stock" C64 won't be able to handle more than two, maybe three users simultaneously.

2.) I've seen some C64 BBS programs that only allowed one user to be logged in at a time.

3.) With 1.) and 2.) in mind, it should be possible to write a telnet based BBS that would simply "lock out" any other connection attempt while someone is already logged in. Yes, that would make chat and other multi-user stuff obsolete, but it would be a starting point.

4.) If ContikiOS is capable of doing some sort multithreading ont the C64, how about the idea of doing the same thing without all the ContikiOS related functionality? Okay, this is a tough one and I must admit that I don't know how to do this. But it seems to be possible.

Regarding file transfers: how did you (BBS coding guys and sysops) manage to have file transfers back then, when the usual C64 disk storage available was only 170K? Well, there were the 1571 and 1581 3.5" disk drives, but ... (I'm really curious!)

_________________
LOAD ":*",8,1
READY.
RUN


Top
 Profile  
 
PostPosted: Fri Oct 16, 2009 2:38 am 
Offline
Site Admin

Joined: Wed Jan 11, 2006 12:22 pm
Posts: 845
Time for some serious chopping... :)

lodger wrote:
I've given the whole thing some more thought:
1.) a "stock" C64 won't be able to handle more than two, maybe three users simultaneously.
Perhaps, as long as no file transfers are being made.

Quote:
2.) I've seen some C64 BBS programs that only allowed one user to be logged in at a time.
That's how most BBS programs used to work, especially on the C64 since it only has one RS232 port.

Quote:
3.) With 1.) and 2.) in mind, it should be possible to write a telnet based BBS that would simply "lock out" any other connection attempt while someone is already logged in. Yes, that would make chat and other multi-user stuff obsolete, but it would be a starting point.
Definitly with out any doubts feasible! (Consider that most C64 BBS programs were written in BASIC which is very slow and highly memory consuming.)

Quote:
4.) If ContikiOS is capable of doing some sort multithreading ont the C64, how about the idea of doing the same thing without all the ContikiOS related functionality? Okay, this is a tough one and I must admit that I don't know how to do this. But it seems to be possible.
Yes, Contiki supports multi threading. I think using Contiki for writing a BBS would be excellent.

Quote:
Regarding file transfers: how did you (BBS coding guys and sysops) manage to have file transfers back then, when the usual C64 disk storage available was only 170K? Well, there were the 1571 and 1581 3.5" disk drives, but ... (I'm really curious!)
Most BBS' used harddrives (such as Lt.Kernel and CMD drives) but some operated entirely on floppys.

While I'd like to participate in creating the first telnet BBS for C64 my time is limited, but I'd be happy to stick my nose in there and provide suggestions and rant about the old ways :D


Top
 Profile  
 
PostPosted: Fri Oct 16, 2009 2:35 pm 
Offline
User avatar

Joined: Mon Jun 15, 2009 6:55 pm
Posts: 79
When I ran a BBS in the mid-eighties, I used multiple floppies. Not very big on file transfers on my board, but it was for posting and community, not file transfers. I had 60+ callers a day.

Anyway, if you are using a multi-threaded environment already, then you might have it where if one person is connected, all others states 'please call back later, board is being used currently or something.

GuruTerm Beta I do not think has file transfers at this time. I would think the main thing would be making the back end and a message base. Once this is done, adding stuff should be easier.


Top
 Profile  
 
PostPosted: Tue Oct 20, 2009 2:32 pm 
Offline

Joined: Thu May 17, 2007 3:00 pm
Posts: 72
Location: Duesseldorf, Germany
As I said, I'm currently playing around with uIP 0.9 and the telnet server code included there. As a result, I've come up with a small example program (included as attachment to this message). It does not do PETSCII <-> ASCII translation yet, so you have to type all command in UPPERCASE, and I have trouble connecting with CGterm but it works with any other telnet client. Once you have set your IP address and netmask, the example server starts.

The /WRITE command will enable you to write a message.
The /READ command will read a written message.

Both commands ask for the message no. you want to enter / display.

The code is far from complete and there is no multithreading yet, so concurrent logins may and certainly will produce errors. But it's a first step. Tell me what you think about it.


Attachments:
File comment: Simple example of telnet / bbs functionality.
bbs.zip [11.74 KiB]
Downloaded 163 times

_________________
LOAD ":*",8,1
READY.
RUN
Top
 Profile  
 
PostPosted: Tue Oct 20, 2009 11:20 pm 
Offline
Site Admin

Joined: Wed Jan 11, 2006 12:22 pm
Posts: 845
It's a good start! Keep it going!!


Top
 Profile  
 
PostPosted: Fri Oct 23, 2009 12:37 am 
Offline

Joined: Thu May 17, 2007 3:00 pm
Posts: 72
Location: Duesseldorf, Germany
@RaveGuru: thank you for the motivation!

I have expanded the codebase from my previous example and I've been able to merge my code into ContikiOS 2.2.1. So now you can switch between and use up to nine (1 - 9) different boards (if there's enough space on the disk :mrgreen: ) , commands can now typed in lowercase (thanks to petscii conversion) and there is a new command called "/board" which lets you select the board / message area you want to use. Oh, and thanks to contiki and multithreading, the "BBS prototype" is able to "lock up" while being in use. As usual, I've attached a D64 image for you to use (you may want run "network-setup" in order to get a proper contiki.cfg).

:?: Strange thing though: I had to use "ssprintf()" instead of "atoi()" for string->integer conversion. It sounds weird, but using atio() in the contiki shell code (whether in a process thread or in a simple C function) made the server crash everytime. Anyway, ssprintf() does the job well so I'll stick to that.


Attachments:
File comment: ContikiOS example of a simple, telnet enabled and c64 based BBS.
contiki-bbs.zip [21 KiB]
Downloaded 179 times

_________________
LOAD ":*",8,1
READY.
RUN
Top
 Profile  
 
PostPosted: Fri Oct 30, 2009 4:20 pm 
Offline
User avatar

Joined: Mon Jun 15, 2009 6:55 pm
Posts: 79
Lodger,

You are doing a great job. Looks good!

MisterMsk


Top
 Profile  
 
PostPosted: Sat Oct 31, 2009 11:24 am 
Offline
User avatar

Joined: Wed Sep 05, 2007 3:03 pm
Posts: 44
This is very interesting indeed :)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 100 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 7  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


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 post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group