Table of Contents
9/1/20 - Emulator Progress
Wow! If you haven't seen all the action on the MBBSEmu GitHub Repo or the Discord #development channel, then let me catch you up on all the action!
Since Open Sourcing MBBSEmu on GitHub this past month, we've had over 27 Pull Requests submitted by 4 different developers!
In the coming month I hope we see this number double as more folks from the community get involved with development and chipping in to help not only improve MBBSEmu, but help give these great DOS modules a chance at a second life!
We've had a fantastic number of folks testing various modules and opening Issues so we can track what works/doesn't work. Keep the issue reports coming! The more we uncover, the more we can fix! 😃
If you would like to get involved in development, pop over to Discord for help on getting things setup. On top of our documentation, I'm always available to help getting people going and we have a great group of folks willing to welcome and help out new comers.
Testing, Testing, Testing
As part of our new Open Sourcing effort, @paladine has really helped up the game when it comes to being able to write Unit Tests/Automated Tests against MBBSEmu (in addition to his numerous other improvements!).
Over the past month we've enhanced the MBBSEmu.Tests project to not only be able to test CPU Opcodes, but also individual ordinal calls within the MAJORBBS exported functions.As of writing this we have over 154 automated tests for individual APIs, and more on the way!
We're going back and writing tests for any functions we touch as part of the normal process of development now to both ensure we don't break anything and also ensure we have coverage for weird edge cases. And believe me, some of these modules get creative with how they implement things 😜
New Console Feature
This is a new feature I'm really excited about and I feel really sets MBBSEmu apart. To date, running MBBSEmu was almost like running BBS software in that you'd fire up MBBSEmu in one console, then have to telnet into it using another. Even if you just wanted to play by yourself or a quick single player game. As of the latest Release, you're now able to play directly in the console without having to Telnet using the new -CONSOLE command line option!
This new feature will start MBBSEmu as it normally would, but will now also put you straight into the login screen after MBBSEmu starts, with MBBSEmu still running in the background. No more Telnet or Rlogin to play locally! 😁
The best part is the Telnet and Rlogin services still run in the background if they're configured, so your friends can easily join you as well. It's honestly the best of both worlds!
All this was accomplished thanks to a couple key things:
- ANSI codes being supported by Windows/Linux/macOS Terminals
- Unicode Terminal code page being supported across multiple platforms
- Converting Extended ASCII Characters (> 127) to their Unicode Counterparts
If you run into any display weirdness, please submit an Issue with a screen shot! The mapping of the Extended ASCII Characters to their Unicode Counterparts was a manual process and we might have missed some or got them completely wrong. 😜
For the Road
Please pop over to the MBBSEMu GitHub repo and give us a ⭐ if you haven't already and check out our growing Wiki!
We've got up-to-the-minute builds being posted to the website, and great Stable Alphas being tagged on GitHub.
Additional MajorBBS/Worldgroup modules have been added to our Modules page and more are on the way! All in all, pretty exciting time for MBBSEmu! I truly believe with community involvement that the best is yet to come!