Jump to content
IGNORED

New Atari BBS software.


tschak909

Recommended Posts

Another Status Report:

 

I've started writing the BBSCONF program.

 

For now, it's going to be very simple, a simple line by line ask questions, with each item having a default option. At the end, it spits out the config file. It will also eventually create the necessary folders etc, so that the BBS can function.

 

Basically, the <RETURN> key will provide the default option in all cases, so you can literally hold down enter through the entire configuration program, and come out with a usable configuration. (for things like printer logging, I will check for the presence of P: and adjust the default option accordingly)

 

Notice something about all of what I've written so far, UI wise, it's very spartan. I'm not doing direct console writes, i'm not doing fancy display lists, etc...not now, I just want to get it working first...and you know what? It may stay this way. Why? Well, maybe somebody wants to run this on an 80-column display. If I start using direct screen writes, display lists, etc, I can no longer use 80 column displays like an XEP-80.. I dunno, maybe I will flip on this..maybe not...

 

...but for now, the UI is simple. I want to build functionality, I want it to work well, and then i'll worry about making it look awesome. :)

 

Code has been pushed to git for those interested.

 

-Thom

Link to comment
Share on other sites

A good approach. Take it from someone who's tried doing it the other way around. ;) Really enjoying this thread.

It's one borne of many years of building software from the back to the front, and from the front to the back...both approaches have their pile of problems. :)

 

Your functional scope has also increased considerably, and quite honestly, I didn't see it going any other way, if it didn't, the GUI would have been just another Diamond.

 

I am trying _very_ hard to keep things well defined. We'll see how long that lasts. :P :)

 

-Thom

  • Like 1
Link to comment
Share on other sites

Didn't have time to play around with the BBS last night, but thinking I might remote into my home system at the office today and play around. Forgot to ask, what did you use to do your ATASCII screens, or did you just use a text editor of some kind?

W1K: Behling - "Tape Hiss" , from Bleep.com's top 100 of 2012.

 

Android8675: Funny thing...

 

I tried to find existing ATASCII images...couldn't find...

 

so, I tried to use a text editor...tried a few...until I settled on ACTION!'s editor...it seemed to work...until I went to save the file, and the ACTION! editor shit the bed (apparently I have a bad ROM.)...

 

then, I finally said, fuck it, and wrote out an Atari BASIC program that opened a file for writing and spit out the drawing, line by line.

I basically made a large sheet of paper by putting lots of lines of ? " .... " up to the 36 column mark (so it stayed on the same line)

then I....drew on it.

 

Subsequently, I changed the ? to ? #1;"...", and therefore wrote the output to a file.

 

Ghetto, I know, but, I just needed something to test. ph3ar my ATASCII art :P ;)

 

-Thom

Link to comment
Share on other sites

W1K: Behling - "Tape Hiss" , from Bleep.com's top 100 of 2012.

 

Android8675: Funny thing...

 

I tried to find existing ATASCII images...couldn't find...

 

so, I tried to use a text editor...tried a few...until I settled on ACTION!'s editor...it seemed to work...until I went to save the file, and the ACTION! editor shit the bed (apparently I have a bad ROM.)...

 

then, I finally said, fuck it, and wrote out an Atari BASIC program that opened a file for writing and spit out the drawing, line by line.

I basically made a large sheet of paper by putting lots of lines of ? " .... " up to the 36 column mark (so it stayed on the same line)

then I....drew on it.

 

Subsequently, I changed the ? to ? #1;"...", and therefore wrote the output to a file.

 

Ghetto, I know, but, I just needed something to test. ph3ar my ATASCII art :P ;)

 

-Thom

 

Yeah, I've had little experience finding a simple editor that'll open and let me input and save ATASCII. I just can't remember what I used back in the ancient days. I think I just drew when I was online with whatever terminal program I used at the time.

 

So I wrote a simple Welcome file with ED from SpartaDOS 4.46, which works great, I love it. Simple text editor, but it does not do ATASCII, just ASCII. I admit I really don't know what else is out there, but at least I can connect from the office to my Altirra emu at home. Dunno why when it connects it still tries to ATA. I played around with the bbsconf program, but I'm guessing the settings didn't take (I set it to 9600 baud, but I think it's still looking for CONNECT 115200.

 

Also not resetting correctly after the call, when Altirra gets ATH0, that works, but then it doesn't seem to respond to the ATZ command afterwards. /shrug.

 

Nice work so far.

 

-A.

Link to comment
Share on other sites

No prob.. The one thing to remember about LeBreak, it was created in the 300/1200 & possibly 2400 era, slow enough to where you could actually see the curser movement & animations. It probably wont look much like anything on an un-throttled display.

 

So with that said, Keep it up. Looks like you have quite the following of this project.

Link to comment
Share on other sites

Yup, I'm thinking for break movies, to use the jiffy clock to throttle it down (at the sending end) to the requisite display speed. There will need to be a Break Movie module to display these at the right speed... The normal file display module will simply be for things like welcome, bulletins, whatever static files will be displayed. For anything more involved, a seperate module would be written (e.g. highlighting ATASCII menus, whatever).

 

-Thom

Link to comment
Share on other sites

New status report: BBSConf is starting to work.

 

Right now, AtariBBS's core is using a binary configuration file that must be built using BBSCONF. Up until now, I was literally creating a set of sensible defaults, writing them to the BBS.CNF file, and re-loading them back in (with optional debugging output), to verify that the file format loading routines would work asexpected. This has since been broken out into BBSCONF, and at least for now, a menu driven approach has been taken where you specify all the options (all 8 or so of them), with single letter options, or with strings (as in the case of the modem strings).

 

If you press ENTER at any time, a sensible default is used, and this reflects a philosophy I am trying to instill throughout the package: It should be simple to set up SOMETHING to try, for any of the modules, but if you want to customize it, the options are also there.

 

This will be expanded in the future, but for now, it's a start.

 

A video, enjoy:

 

-Thom

 

Well, shit. Looks like Youtube decided to mute my backing track. grrr. A WORKING VIDEO ON VIMEO IS HERE:

;)
  • Like 1
Link to comment
Share on other sites

Hi,

Can you change your baud rate menu?

I see only 300,1200,2400,9600 and 56700 (emu), 115200 (emu)

 

I miss 19.200 and 38.400 for the Black Box there is a patch for 38.400 would be cool if that is supported, the Black Box can already do 19.200 so that would be required aswell when used on real HW.

The sio can do 127.000 maybe a 127.000 (emu mode) can be made aswell :-)

Link to comment
Share on other sites

Hi,

Can you change your baud rate menu?

I see only 300,1200,2400,9600 and 56700 (emu), 115200 (emu)

 

I miss 19.200 and 38.400 for the Black Box there is a patch for 38.400 would be cool if that is supported, the Black Box can already do 19.200 so that would be required aswell when used on real HW.

The sio can do 127.000 maybe a 127.000 (emu mode) can be made aswell :-)

I will add more, as soon as I start hacking up the serial driver. There are no entries in the table for 19200 or 38400 in the baud rate constant to AUX2 mapping table. I will need to add them. (They ironically are there for faster rates, because the Atari800 extended baud rates replace the never-used ones like 45.5 and 56.875).

 

I'm sensing a slight joke with the 127,000 mode, nothing uses that, so I'm gonna leave that one right here. :)

 

-Thom

Link to comment
Share on other sites

The next status is going to be considerably less visual and user facing.

 

The time has come to start breaking out the functions (like those in terminal.c, and util.c) into a shared library, so that they can be more easily used by BBS, BBSCONF, and the various modules.

 

I'll start this process, tonight, and am hoping to be done with the few functions that I Have, over the weekend, making sure that:

 

* The new makefile is sound, that the makefiles using the lib will work properly.

* The library builds

* The programs can link it.

* The programs still build after I break it out.

* The programs still RUN after I break it out.

 

After this is done, I can start thinking about the module design a bit.

 

-Thom

 

Once this is done, the programs can scale out a lot better.

Link to comment
Share on other sites

Refactor status:

 

I've managed to pull terminal, util, and config out into BBSLIB, and the program still builds correctly, and doesn't break. Yay :)

 

The break isn't completely clean, as I have to define instances of the structs in config, out in the main of each program that needs them, but, I will improve this later.

 

Now, there is a master makefile which builds BBSLIB, BBSCONF, and BBS. At some point, I will need a utility that spits out a SpartaDOS ATR containing the filesystem for the BBS (for binary distribution.), if I find one, cool, if not, i'll make one, because I want the whole process to be streamlined from make.

 

The guys from cc65 pointed me to two interesting pieces of code to handle code overlays (for modules and the like) which are very interesting:

 

https://github.com/cc65/cc65/blob/master/samples/overlaydemo.c

https://github.com/cc65/cc65/blob/master/samples/multidemo.c

 

This might be an interesting starting point... hmm... :) What do you guys think?

 

-Thom

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...