some of you may remember my little, Forth based BBS project (DXBBS). Well, I'm not pleased with the way the whole message system turned out. very bad coding style, bloated, yuck!

So I put everything on hold and started a new approach, one that will be compatible with my current RBBS message base format.

Below is the code and a first test I use to access those messages. The message file I am experimenting with is a copy of what is currently online on RC-BOX BBS.

#retrocoding
#forth
#dxbbs

Finished implementing a very simple line editor for DX-BBS. Sure, there's much room for improvement but at least the core functionality is now in there and works.

Time for a cuppa ... 馃珫

#DXBBS
#Forth
#RetroCoding
#BBS
#RC2014
#Z80
#CPM80

It sounds simple but I had to tackle a very annoying and naughty bug. But hey:

A)bort L)ist S)ave now works after entering the message

#DXBBS
#DXForth
#Forth
#BBS
#RetroCoding
#CPM80
#RC2014

... went back to my #DXBBS codebase today after taking a longer break from my hobbyist #coding activities. I updated the code for displaying text (ASCII) files which is now less bloated.

I also started to format and add comments to the code. I already did that long before and it helped big time when coming back to it today.

Convinced myself that my custom message base implementation isn't too bad at all but needs formatting and comments for the sake of sanity (and readability).

#BBS
#Forth
#RetroCoding
#RC2014
#CPM80

@deadbeef I actually do #dxbbs ... 馃槆

Update on #dxbbs which now allows the user to enter multiple lines of text until enter is pressed on an empty line.

The text is stored in a temporary ASCII file, line by line. This will later allow for additional line editing before saving - at least that is what I plan to do.

The final message is appened to the message base file and a new index record is written as can be seen in the screenshots.

#forth
#dxforth
#retrocoding
#rc2014
#cpm80
#bbs

For those of you who are interested in my latest project, #dxbbs you may like to know that I've done some code cleanup, renamed existing variables and introduced new ones, especially for the message base files. this is in preparation of handling multiple message bases.

I've also implemented "message flagging/unflagging" in combination with the msg_purge routine. The latter takes some time to process all messages since it actually creates a re-indexd copy of all files for the selected message base.

So I thought it would make sense to "flag" messages for deletion, effectively excluding these from being listed or read and then have the option to physically delete them and re-arrange the message file during a maintenance window, where there is enough planned downtime for such an action.

Let me note that the code is by no means an example for proper #forth programming. I'm not there yet, but in case you are interested, here's the link:

https://gitlab.com/ufud-org/rc2014-dxforth/-/tree/main/bbs?ref_type=heads

#z80
#bbs
#rc2014
#cpm
#dxforth
#retrocoding

bbs 路 main 路 lodger-c64 / rc2014-dxforth 路 GitLab

GitLab.com

GitLab

... another update on the progress with DX BBS. Today, I've updated the input routine so that it is now capable of:

1.) input length limitation ( it is not possible to enter more than 'n' characters, halting cursor movement at 'n')

and

2.) a basic mechanism of "hiding" the input instead of echoing it

these two features are implemented in one #Forth word which ( in the example screenshot ) is being called like this:

#16 #1 bbs_input | Stack: ( ulen uhide -- )

so you can enter a max of 16 chars and these will be "hidden". It's a more basic routine similar to "instr()" in #RBBS4. I use the return stack to store the length and hide-flag which works since the loops in the word definition are *not* counted (do..loop). Boy do I feel clever ... heh ... 馃槆

#DXBBS
#RetroCoding
#DXForth
#Forth
#CPM
#BBS
#rc2014

A quick update on the ominous "DX BBS" (I think the name is beginning to sink in) project of mine: yet another milestone!! 馃コ

No fancy video or screenshot this time but rest assured that I now have a 'copy_msg' function which will copy any random message from the message base to a new set of message and index files.

This means that I can now cherry-pick a selection of messages to be copied or exclude a single message from the rest of the records to be copied. Best thing: re-indexing the (new) message index comes for free ...

Looks like my initial design for the message base system pays off - yaaaay!

I need to do some more testing but things look good at the moment.

#retrocoding
#rc2014
#DXForth
#Forth
#BBS
#DXBBS