Jump to content
BeeryMiller

After Hours BBS Program

Recommended Posts

Posted (edited)
19 minutes ago, jedimatt42 said:

You should not do a second bind unless you know the first one has failed and is closed. Connection hangups from the outside world do not require a new bind... the server socket is capable of handling multiple accepts.

 

Hmmm, I thought I read somewhere multiple active connections was not possible.  Not sure if it was in your DSR source or if it was in your description of the READ/WRITE/BIND/ACCEPT/UNBIND notes.  Not that I think a TI BBS server would be able to handle that without some radical changes from the way they have been handled in the past.  The Geneve could in MDOS mode with multitasking not that I think anyone would even commit a Geneve to that capability.

 

Beery

Edited by BeeryMiller

Share this post


Link to post
Share on other sites
15 minutes ago, jedimatt42 said:

 

You can see in GETNAME, we have a live connection, then we close connection, which is what you should do when the user tells you to hangup, or you detect that they have been idle too long... 

It then goes to POLCON, which polls for a connection... by doing an accept... ( in the basic interface, reading from the server socket performs accept and gives you a incoming client connection...

 

If the accept fails 255, then the server socket is toast, and we jump down to ACCERR ( accept error ) which closes the server socket.. then waits a second, and goes back up to BEGIN

BEGIN binds the server socket and starts the POLCON over again.

 

When I run this, on the PI log side, you'll see that rebinding often fails... but it will then succeed... if it fails, this code goes to BINDERR, which waits 3 seconds before trying to bind again.

 

Printing your code out and about to do some modifications on my code.

 

Beery

  • Like 1

Share this post


Link to post
Share on other sites

Hi Beery,

 

this morning I managed to assemble the BBS sources with your ASS-EA batch on the mame Geneve.

I used first the modified German text source but on the TI system I get the following error after login:

  ...

  The time now is: 10:I/  ERROR=5

  

  Oh crap.. fatal *DSR* error

  ...

 

So I tried the same with all original source files and the error is the same. Did you make any changes 

to the sources you provided on saturday, May 16th and Tuesday May 18th. The program is from may 18th.

All sources are from May 16th.

 

I have to work on some texts in the German translation. Currently I only changed the file: BBSTEXTSRC.

But some other files needs also to translate texts.

 

But first of all I will make a new SD card for my tipi because the tipi is blocking ervery 8 hours or so. Any

new login from telnet or from the main monitor to the tipi doesn't work. Also the WIndows share is not available.

 

I think it has to do with the cron or something on the filesystem is broken. If the problem occure, the BBS is

running fine and I can have access to the BBS from my PC Telnet and from my ipad telnet too.

 

If I then power cycle the TI and make a CALL TIPI the TI also cannot access the tipi.
So I should power cycle the PI what I did every morning in the last day's.

 

What happens if I don't use the change for the cron? Does the BBS this realy need?

Share this post


Link to post
Share on other sites

Wolfgang,

 

In file NEWUSER, around line 397, change the following:

 

    LI  R0,RDPABA

    LI  R1,REDPAB

    LI  R2,21  (CHANGE THE 21 TO 26)

    BLWP @VMBW

 

And in file BBSSETUP, somewhere around line 900 to 920,

 

    LI  R1,PMC

    BLWP @OUTRS

    LI  R1,>5300

    BL  @RPM

 

Comment out the above lines to:

 

*    LI  R1,PMC

*    BLWP @OUTRS

*    LI  R1,>5300

*    BL  @RPM

 

I've got the screen blanking code working to avoid screen burn-in.  Trying to resolve the double login issue.  

 

As far as the CRON job, I would leave it.  That's going to be the only thing that is capable of restarting the system.

 

Beery

 

  • Like 1

Share this post


Link to post
Share on other sites

I will make the changes and then test my tranlated texts.

 

Do to the SD card refresh, I think I will do this tomorrow.

 

Thank you.

 

 

Share this post


Link to post
Share on other sites

Hi Beery,

 

is there a configuration of the keyboard in the Geneve 9640?

Or maybe in the mame emulator?

 

Something like KEYB GR in MS-DOS.

 

I use a German keyboard and the keymapping doesn't match.

Share this post


Link to post
Share on other sites

No, we don't have a keyboard configuration ... (Could be an idea for some future GeneveOS, though.)

 

You can use the "natural keyboard" in MAME, which maps your real keystrokes to emulated keystrokes, but this is somewhat limited; you can only map those keys that produce a character - basically none of the Ctrl combinations.

 

I got used to the different keys, doing the mapping in "Brain" in real-time. ;-)

  • Haha 1

Share this post


Link to post
Share on other sites
10 minutes ago, mizapf said:

I got used to the different keys, doing the mapping in "Brain" in real-time. ;-)

yes, this I try to do too. But I always remember it after I pressed the wrong key.

Share this post


Link to post
Share on other sites
On 5/24/2020 at 3:06 PM, BeeryMiller said:

Wolfgang,

 

In file NEWUSER, around line 397, change the following:

 

    LI  R0,RDPABA

    LI  R1,REDPAB

    LI  R2,21  (CHANGE THE 21 TO 26)

    BLWP @VMBW

 

And in file BBSSETUP, somewhere around line 900 to 920,

 

    LI  R1,PMC

    BLWP @OUTRS

    LI  R1,>5300

    BL  @RPM

 

Comment out the above lines to:

 

*    LI  R1,PMC

*    BLWP @OUTRS

*    LI  R1,>5300

*    BL  @RPM

 

I've got the screen blanking code working to avoid screen burn-in.  Trying to resolve the double login issue.  

 

As far as the CRON job, I would leave it.  That's going to be the only thing that is capable of restarting the system.

 

Beery

 

 

So, my fresh tipi SD card is working fine also with the cron job active and the update of tipi version 1.61

 

I did your changes but I had no success, even with your sourcefiles and only the changes you described.

 

The BBSSETUP source file I have shows the routine for checking private mail on line 891 to 894.

Spoiler

 888        LI   R1,ENUF2
 889        BLWP @OUTRS
 890 
 891        LI   R1,PMC       *CHECKING*
 892        BLWP @OUTRS       *PMAIL*
 893        LI   R1,>5300     LOAD CODE FOR PRIVATE MAIL
 894        BL   @RPM         READ PRIVATE MAIL
 895 
 896 *      SEND USER UPDATE TEXT FILE
 897 
 898        LI   R1,>5544     LOAD NAME
 899        MOV  R1,@TFILE    OF TEXT FILE
 900        BL   @SNDTXT      SEND UPDATE TO USER
 901 
 902        B    @ONTOP
 903 
 904 *---------------------------------------
 905 AXSLVL BYTE 0
 906 PMC    BYTE >D
 907        TEXT 'Checking private mail...'
 908        BYTE >D,0
 909 ENUF2  TEXT 'Updating complete!'
 910        BYTE >D0
 911 *---------------------------------------
 912 
 913 ****************************************
 914 *      UPDATE CALLER LIST
 915 ****************************************
 916 
 917 CLIST  MOV  R11,R10
 918 
 919        LI   R0,53
 920        MOV  @NMCLPT,R1   PUT USER NAME INTO
 921        LI   R2,20
 922        BLWP @VMBR        CALLER TABLE
 923 
 924        MOV  R1,R5

I assume that there was anything added before.

It assembles and link without a problem and I can run the program on the TI, but after close, unbind and bind the 

program shows a user login and asks for a account number. After three minutes there is a unbind and a bind and

again the program shows the user login and so on...

 

Do I anything missing?

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites
2 hours ago, wolhess said:

 

So, my fresh tipi SD card is working fine also with the cron job active and the update of tipi version 1.61

 

I did your changes but I had no success, even with your sourcefiles and only the changes you described.

 

The BBSSETUP source file I have shows the routine for checking private mail on line 891 to 894.

  Hide contents

 888        LI   R1,ENUF2
 889        BLWP @OUTRS
 890 
 891        LI   R1,PMC       *CHECKING*
 892        BLWP @OUTRS       *PMAIL*
 893        LI   R1,>5300     LOAD CODE FOR PRIVATE MAIL
 894        BL   @RPM         READ PRIVATE MAIL
 895 
 896 *      SEND USER UPDATE TEXT FILE
 897 
 898        LI   R1,>5544     LOAD NAME
 899        MOV  R1,@TFILE    OF TEXT FILE
 900        BL   @SNDTXT      SEND UPDATE TO USER
 901 
 902        B    @ONTOP
 903 
 904 *---------------------------------------
 905 AXSLVL BYTE 0
 906 PMC    BYTE >D
 907        TEXT 'Checking private mail...'
 908        BYTE >D,0
 909 ENUF2  TEXT 'Updating complete!'
 910        BYTE >D0
 911 *---------------------------------------
 912 
 913 ****************************************
 914 *      UPDATE CALLER LIST
 915 ****************************************
 916 
 917 CLIST  MOV  R11,R10
 918 
 919        LI   R0,53
 920        MOV  @NMCLPT,R1   PUT USER NAME INTO
 921        LI   R2,20
 922        BLWP @VMBR        CALLER TABLE
 923 
 924        MOV  R1,R5

I assume that there was anything added before.

It assembles and link without a problem and I can run the program on the TI, but after close, unbind and bind the 

program shows a user login and asks for a account number. After three minutes there is a unbind and a bind and

again the program shows the user login and so on...

 

Do I anything missing?

 

 

I don't think you missed anything.  I will upload a complete set of source in about 12 hours from now when I get home from work.

 

In your English to German translation of some of the source files, you should be good to go with BBSTEXTSRC.

 

I have moved three labels of text into BBSSRC that contain the BBS name, and the BBS exit statement that contains the BBS name, as well as the PORT.  This saves the user from having to edit multiple files and/or sector editing the source code. 

 

I have made changes to BBSSETUP and MAINMENU in the GOODBY routine trying to resolve the re-login process.  Unless Matt has another idea, I do not think it is something I can resolve in the code on my end.

 

Beery

 

  • Like 2

Share this post


Link to post
Share on other sites

I'll note I haven't set up that cron script in my system and it seems to work fine without it

Sent from my LM-G820 using Tapatalk

  • Like 1

Share this post


Link to post
Share on other sites

Hi Greg,

 

did you test the filetransfer option?

 

I used Terra Term on the PC

logged into the BBS and go to the filetransfer option.

 

Then the system asks for the file, I choosed FORCEFTP

 

The first sector will be transfered and at the end I see 5 times NACK and the sixth time an ACK

The BBS tries to send the second record.

 

At this point I get garbage on the screen and after some time the BBS told me to many retries and canceled the transfer.

The BBS monitor shows the login message and my Terra Term shows the main menu as hyroglyphs.

 

Something I'm doing wrong for transfering a file.

Do we have somewhere a step-by-step description for the file transfer function?

 

 

Share this post


Link to post
Share on other sites
Hi Greg,
 
did you test the filetransfer option?
 
I used Terra Term on the PC
logged into the BBS and go to the filetransfer option.
 
Then the system asks for the file, I choosed FORCEFTP
 
The first sector will be transfered and at the end I see 5 times NACK and the sixth time an ACK
The BBS tries to send the second record.
 
At this point I get garbage on the screen and after some time the BBS told me to many retries and canceled the transfer.
The BBS monitor shows the login message and my Terra Term shows the main menu as hyroglyphs.
 
Something I'm doing wrong for transfering a file.
Do we have somewhere a step-by-step description for the file transfer function?
 
 
I tried a download but the term I'm using has trouble downloading with xmodem I need to test another term

Sent from my LM-G820 using Tapatalk

  • Like 1

Share this post


Link to post
Share on other sites
28 minutes ago, wolhess said:

Hi Greg,

 

did you test the filetransfer option?

 

I used Terra Term on the PC

logged into the BBS and go to the filetransfer option.

 

Then the system asks for the file, I choosed FORCEFTP

 

The first sector will be transfered and at the end I see 5 times NACK and the sixth time an ACK

The BBS tries to send the second record.

 

At this point I get garbage on the screen and after some time the BBS told me to many retries and canceled the transfer.

The BBS monitor shows the login message and my Terra Term shows the main menu as hyroglyphs.

 

Something I'm doing wrong for transfering a file.

Do we have somewhere a step-by-step description for the file transfer function?

 

 

Here's the deal with file transfers.

 

File transfers should work with MXT-TIPI as long as you have IAC set to OFF in the MXT program. I had it working with MXT and MyTerm-TIPI last time tested. There is a toggle on the menu screen for MXT as there are two kinds of BBS's out there.  Those specifically written for Telnet (Windows/Linux) and TI BBS's that really know nothing about the telnet protocol with the IAC control bytes.  Heatwave and AfterHours behave the same. The problem with non-TI telnet programs with telnet clients is that they anticipate the byte >FF to be a control character for an upcoming sequence and choke on it with a TI BBS file transfer as the "filler" for some records is >FF as well as the program may have that character.  If you were using a regular terminal emulator for modems on the PC side of things with a serial interface to a WiFiModem, then it should transfer files with no issue.

 

I chose to go the route that if people are going to be transferring files to their computer, they were either going to be using a WiFimodem where the IAC does not exist using an existing TI terminal emulator, or they would be using a TIPI where either the TI or Geneve programs I have updated have the capability of turning on/off the IAC capability.  Thus, I did not mess with the data stream for sending or receiving content with the AfterHours code.

 

AfterHours already turns off some terminal control on the Windows Telnet client at login you never see as the Windows Telnet client wants to use half duplex.

 

MyTerm for the Geneve & TIPI and MXT for the TI-99/4A & TIPI both have IAC controls.  Presently working on resolving the last issue with MyTerm for the Geneve & WiModem232 that SHIFT838 has requested. 

 

Beery

 

  • Like 1

Share this post


Link to post
Share on other sites

Here is the latest update to the software.  I've got scrolling colors added to the source.  This has not resolved a repeated login from when a connecting caller "holds" the connection.  The BBS will do another 3 minute reset, then all is well.  

 

I have 3 versions in the attached zip file.  One version is the compiled image for my 9640News BBS, another for The Keep, and a third for Wolfgang's called TBOX.  Source files have all been updated along with updated notes in TIPI-DOCS.

 

Enjoy.

 

Beery

 

AFTERHOURS.zip

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Some of the color foreground / background combinations are not so good readable.

 

Sometimes I see only one color without the screen information. 

Anyway, the program is working very well. I think tomorrow I will try to assemble 

a version with German texts. 
 

Thank you!

 

Share this post


Link to post
Share on other sites
15 hours ago, BeeryMiller said:

Here is the latest update to the software.  I've got scrolling colors added to the source.  This has not resolved a repeated login from when a connecting caller "holds" the connection.  The BBS will do another 3 minute reset, then all is well.  

 

I have 3 versions in the attached zip file.  One version is the compiled image for my 9640News BBS, another for The Keep, and a third for Wolfgang's called TBOX.  Source files have all been updated along with updated notes in TIPI-DOCS.

 

Enjoy.

 

Beery

 

AFTERHOURS.zip 236.19 kB · 3 downloads

Thanks! trying it now

 

Greg

Share this post


Link to post
Share on other sites
1 minute ago, arcadeshopper said:

much better!  I like that you cycle the screen too now i can leave my monitor on

 

Greg

it cycles through the transparent color as well, so don't be surprised when the screen sorta disappears for a few cycles.

 

Beery

  • Like 1

Share this post


Link to post
Share on other sites

Yesterday while "working from home", I had some extra free time and kept going over the code for the [L]ast callers.  The "L" option is hidden but active if the key is pressed at the main menu. When a user would timeout, the BBS would corrupt the display of the in-memory Last Caller's list it maintained.  I had been through that code so many times trying to find the issue, and finally, last night I chased the issue down and discovered a variable that was being reset from a register when it shouldn't have been.

 

So, there is about 2 lines of source code that need to be changed.  For Wolfgang, the only file edited by this latest update will be BBSSETUP since he is translating the text to german.

 

I will post a message with the latest updates tonight.

 

Beery

 

  • Like 2

Share this post


Link to post
Share on other sites

So, today I managed to get my translated BBS text file "BBSTEXTSRC" running.

 

From now on, my BBS has some (not all) German texts for greeting and calvin feedback.

 

I hope Beery and Greg, you are not confused if you are calling my BBS.

 

The menu's and the controlling is the same as in the Englisch version. I think this is OK so, also for German users.

 

I will work in the other source files about German texts but that is not so much. 

 

 

At first I got a duplicate definition with my BBSTEXTSRC. The assembler told me this at line #44 in the BBS-TBOX file.

I found the BBS greeting with the lable "BYMSG1". This lable is new in the file BBS-TBOX.

I comment it out in BBSTEXTSRC and all is good.

 

If somebody will have a look to the German program, here it is the program and the sources.

 

AH0527.dsk

 

I have fun with this project. Thank you Beery!

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
10 minutes ago, wolhess said:

So, today I managed to get my translated BBS text file "BBSTEXTSRC" running.

 

From now on, my BBS has some (not all) German texts for greeting and calvin feedback.

 

I hope Beery and Greg, you are not confused if you are calling my BBS.

 

The menu's and the controlling is the same as in the Englisch version. I think this is OK so, also for German users.

 

I will work in the other source files about German texts but that is not so much. 

 

 

At first I got a duplicate definition with my BBSTEXTSRC. The assembler told me this at line #44 in the BBS-TBOX file.

I found the BBS greeting with the lable "BYMSG1". This lable is new in the file BBS-TBOX.

I comment it out in BBSTEXTSRC and all is good.

 

If somebody will have a look to the German program, here it is the program and the sources.

 

AH0527.dsk 360 kB · 0 downloads

 

I have fun with this project. Thank you Beery!

Wolfgang,

 

With the one BBSTEXTSRC file, I will see if I can add one of GenASM's conditional directives that will generate either the English or German translation.  If that works, then you should be able to see what I did and add the conditional text to the other files you may modify.

 

For right now, the file BBSSETUP would be the last one I would worry about translating and the MAINMENU source file as coding updates would likely be in those two files first.

 

I would advise caution on any editing of the letters used for the selection of the various message bases.  That piece of code is a bit tricky the way the original author coded the lookups for the appropriate message database files.

 

Beery

Edited by BeeryMiller

Share this post


Link to post
Share on other sites

Don't worry, I'm not a programmer. So I will only do what I understand.

 

And yes, the letters to control the menu's I will not change. Maybe I will add the "J"&"j" to the "Y" for anwering a "yes" (in German="Ja"). 

 

The L command I use any time I look for new callers. Sometime it works without garbage and sometimes it includes garbage. Fine you found it.

 

 

Share this post


Link to post
Share on other sites
8 hours ago, wolhess said:

 

 

AH0527.dsk 360 kB · 3 downloads

 

I have fun with this project. Thank you Beery!

I looked at the German version of your BBS this afternoon.  Fortunately, I knew enough to navigate no issue.

 

Downloading the file you uploaded earlier today.


Beery

  • Like 1

Share this post


Link to post
Share on other sites

Wolfgang/Greg,

 

Here is an update to the AfterHours BBS program.  See the README notes at the root level of this folder.  You should copy the updated AFTER\TEXTMM file to your path as it contains the [L]ast callers entry.

 

I have also combined Wolfgang's German translation of the text into part of the conditional assembly process in the source code file BBSTEXTSRC.  See the BBS-KEEP or BBS-TBOX file for the definition code to setup the conditional assembly.  Wolfgang, if you update text files into German, feel free to send them to me as you did earlier today.  It should be relatively safe to update all the source files except the BBSSETUP and MAINMENU file if you want to convert any text into those other files.

 

 

 

 

AfterHours.zip

  • Like 2

Share this post


Link to post
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.

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...