Releases: mbbsemu/MBBSEmu
Stable Alpha - v1.0-alpha-010222
Happy New Year!
This is the 2-Year Anniversary Build of MBBSEmu, as it was exactly two years ago on 1/2/2020 when the first Public Alpha was released to the public.
24 PR's are included in this Release with a focus on improving support for MajorMUD and the MegaMUD client within MBBSEmu.
Highlights Include:
- #525, #521, #519, #517, #496: Enhanced MajorMUD Support
- MegaMUD support added by properly implementing Line Break support so text properly wraps depending on the terminal window
- Input Issues where
\r
commands were ignored have been addressed - When running the MajorMUD Utility EXE, force the Terminal to VT100 mode so
INT 10h
calls render ANSI to move the cursor properly - Enhancements to FSD Emulation for character creation
- Pair this build with mbbsemu-docker and you can run your own MajorMUD instance in a Docker container!
- #478, #479, #481: SoftPatch Support
- SoftPatch allows you to apply hex/text patches to modules without having to edit the underlying file
- SoftPatch is the first phase of a longer term Modification System being built into MBBSEmu allowing for Mods to be coded for existing Modules.
- #430, #453: Full-Screen Editor
- Initial Support for emulating the MajorBBS/Worldgroup Full Screen Editor
- Enhancements & Upgrades
All this in addition to a new x86 Opcodes, APIs, and Unit Tests!
Stable Alpha - v1.0-alpha-050321
61 (!!) PR's included in this Release.
Highlights Include:
- #431, #435, #436, #437, #438, #440, #442, #444, #448, #463, #464, #467, #468, #471, #473, #476, #478 : DOS MZ EXE Support
- This is a HUGE update to support DOS MZ EXE's to be executed within MBBSEmu, allowing offline utilities to be executed within the context of MBBSEmu without the need for external applications or third party emulators
- Includes full Interrupt 0x7Bh support for Emulated Btrieve Driver support by DOS EXE files
- Memory Subsystem refactor to support both Real-Mode and Protected-Mode Memory
- Relocation Patching for MZ EXE Files
- Basic INT 21h (DOS API) and INT 10h (BIOS Video API) implementations
- Manually run MZ EXE files using the
-exe
flag - Add-On Utilities Defined in Module MDF Files will now execute during Cleanup
- Shoutout to @paladine for doing the heavy lifting!
- #478, #479, #481: MajorMUD 1.11p Support
- MajorMUD 1.11p will now initialize and run within MBBSEmu!
- DOS MZ EXE Supports the running of
WCCMMUTL.EXE
during cleanup so it can perform its Btrieve operations - Please test and report any issues!
- #430, #453: Hot Enable/Disable Module Support
- MBBSEmu now supports enabling/disabling modules while the system is running (without restarting)
- These commands have been added to
/SYS
commands - Modules need to be enumerated in the
modules.json
config file to be a target for Hot Enable/Disable support
- #425: Worldgroup 3 NT Rlogin Fixes
- Enabling
WG3NT
compatibilty mode for Rlogin will prevent "extra characters" from showing up when performing an Rlogin from WG3NT to MBBSEmu
- Enabling
All this in addition to a ton of new x86 Opcodes, APIs, and Unit Tests! One of the largest MBBSEmu releases to date!
Stable Alpha - v1.0-alpha-022121
17 PR's included in this Release.
Highlights Include:
- #394: POSIX File I/O Ordinals
- #392, #395, #397, #406, #409: Enhanced MajorBBS/Worldgroup Text Variable Handling
- Implement
TXTVARS
andNTVARS
Ordinals - Add support for MajorBBS/Worldgroup Format Text Variables to be used in system ANSI screens (Login, Main Menu, etc.) built using BBSDRAW
- More closely emulated the functionality of Text Variables within MajorBBS/Worldgroup
- Implement
- #402 Fix RLOGIN
lonrou
is now called for each module when a user connects via Rlogin directly to a module- First enhancement PR by @synacktic!
- #407 Handling of both ASCII & BINARY Modes for FOPEN
- #408 Enhanced Caching for Btrieve Functions
- #393, #396, #404 Additional Unit Tests
Stable Alpha - v1.0-alpha-013021
18 PR's are Included in this Release.
Highlights Include:
- #377: Swords & Sorcery Input Fixes
- Fixed Menu Navigation & Input Issues for Logicom's Swords & Sorcery
- Properly handling deferred execution status being set within
BTUCHI
routines
- #366, #365: Extending Btrieve Record Count to 32-Bit
- Allows for proper loading of all Farwest Trivia questions from a full database
- #379: Configurable Telnet and Rlogin IP Address
- Allows for machines with multiple IP Addresses to bind MBBSEmu to different IPs if desired
- #368, #371: Additional
MAJORBBS
Ordinals - #370, #369, #367: New x86 Opcodes & Opcode Optimizations
Thanks again to the entire team of folks who have contributed to testing and development of MBBSEmu!
Stable Alpha - v1.0-alpha-010421
23 PR's are Included in this Release.
Highlights Include:
- #353: Event Driven Architecture
- Decreased CPU load by only processing MajorBBS/Worldgroup events when data is ready to be processed
- Modules that have timers/require more frequent execution can be configured using the
appconfig.json
settingTimer.Hertz
- Recommended value for
Timer.Hertz
is18
for smooth operation and low CPU usage - Default value of
0
(Full CPU consumption) is still used if no configuration value is present
- #359: Multi-DLL Module Support
- MBBSEmu is now able to load modules that require multiple DLL's to be loaded for the module to execute
- Enables initial support for Farwest Trivia within MBBSEmu
- #362: Configurable Log Levels & File Logging
- Users can now specify which Log Level messages get displayed (
Debug
,Info
,Warning
,Error
,Critical
) - MBBSEmu log can now be saved to a file using the
File.LogName
appconfig.json
setting - Will help users with debugging and testing!
- Users can now specify which Log Level messages get displayed (
- #364, #350, #348, #343, #342, #338: New x86 Opcodes and Exported Ordinals
Stable Alpha v1.0-alpha-122220
This is a smaller bug-fix Release which includes the following PR's:
- #331, #335: New Ordinals
- Adds new
MAJORBBS
OrdinalsCONDEX
,HDLUID
,UIDXRF
- Adds new
- #334: Telnet Race Condition
- Fixed a race condition with the performance caused by the performance increase in .NET 5 where the Welcome Screen would be sent before the Telnet Connection routine completed, causing the screen to go blank
- #333: Query Caching
- Added LRU Cache for Btrieve SQLite Queries that are generated for Btrieve Queries
- #337: Fix Zero Padding for Integer Values in printf
- Fixes Duplicate Btrieve Key error in Infinity Complex
- #339: Fix Menu Option Key
- Using Command Line Options to load a single Module would result on crash during login because of a missing Menu Key
- The menu key for Command Line loaded modules is now defaulted to
A
Stable Alpha v1.0-alpha-121920
18 PR's are Included in this Release.
Highlights Include:
- #329: Bounded LRU Cache for Btrieve Files
- Only keeps most frequently used Btrieve Records in Memory
- Reduced memory size for some MBBSEmu systems by over 30%
- #315: MZ DOS EXE Initial Support
- MBBSEmu has initial support to run DOS EXE files on any platform using the
-exe
Command Line Option - Very limited support for the time being, will be built out over time
- Will be used to run MajorBBS/Worldgroup Offline Utilities that are used by some Modules
- MBBSEmu has initial support to run DOS EXE files on any platform using the
- #314, #327: Project Upgraded to .NET 5
- All Project files updated in MBBSEmu from .NET Core 3.1 to .NET 5
- Language upgraded from C# 8.0 to C# 9.0
- Removed
NewtonSoft.Json
Package, using .NET 5 native JSON Library (System.Text.Json
) - Updated Nuget Packages to .NET 5 Compatible Versions
- Performance increase of ~20-25% across both x86 and ARM Platforms
- #319: New Ordinals
- Added
MAJORBBS.811
(ECHSEC) - Added
GALGSBL.62
(CHIINP)
- Added
- #307, #309, #311, #317, #326: Bug Fixes
- #304, #308, #310: Additional Unit Tests
Stable Alpha v1.0-alpha-111920
31 PR's are included in this Release.
Highlights include:
- #247, #256, #268, #277, #283, #298, #301: Btrieve Processing Enhancements
- Btrieve Alternate Collating Sequence (ACS) Support
- Variable Length Record Support
- Support for Keyless Btrieve Databases
- Cleanup of Btrieve Ordinals
- Enhanced support for "Step" methods
- Versioning for MBBSEmu SQLite Btrieve Databases
- #250, #262, #265: Account Lock & Key Support
- MBBSEmu now respects the MajorBBS/Worldgroup "Lock & Key" System
Sysop
user grantedSYSOP
key by Default- Default Keys all users are granted configurable via appsettings.json
- #269, #276, #291: Added
/SYSOP
Global Command- New
/SYSOP
command added for users withSYSOP
Key - Commands added to modify users keys while Online
- System Management (running cleanup, etc.) commands Added
- Use
/SYSOP
to see list of available functions
- New
- #270, #273, #300: New x86/x87 Opcodes
- Added
FSIN
,FCOS
,LODSW
,POPF
,FSUBP
,FCHS
Opcodes - Fixed
STOSW
andSTOSB
Opcodes to property handleREP
prefix
- Added
Stable Alpha - v1.0-alpha-110120
Another day, another release! We have some great fixes in this release which include addressing some additional issues with MajorMUD.
PR's included in this Release:
- #241, #243: MajorMUD Character Creation Fixes
- Fixed a display issue where the template values were off by 1, showing the placeholder characters
- Fixed a crash if nothing was entered for a numeric FSD field
- #218: Windows Console VT100 Emulation
- Enabled VT100 Emulation on Windows Console (
CMD.EXE
) - Allows for ANSI Command Sequences to be handled by the Windows Command Line
- Fixes display issues using
-CONSOLE
on Windows
- Enabled VT100 Emulation on Windows Console (
- 9eec173: Btrieve 6-Byte Integer Support
- Adds Support for custom Btrieve 6-Byte Integer within MBBSEmu
- Fixes issues with several Modules which utilized this custom type
- #245: Additional Ordinal
- Adds Ordinal
MAJORBBS.178
- Addresses a crash in Kyrandia by Galacticomm (GALKYR)
- Adds Ordinal
Stable Alpha - v1.0-alpha-103120 🎃
Highlights of this Release which includes 24 PR's from our growing team of contributors:
- #218: SQLite for Btrieve Backend Emulation
- HUGE refactor and improvement from @paladine converting all legacy Btrieve files to SQLite Databases
- Btrieve Key Definitions and Constraints are maintained in SQLite Conversion
- All Btreve Operations from MajorBBS & Worldgroup Modules now convert to SQLite Queries
- Anyone can now view & modify Module Data using the SQLite editor of their choice!
- Major Performance Increase for Btrieve heavy games (MajorMUD, Mutants!, etc.)
- More information on the new SQLite enhancement in our Wiki
- #222, #220, #201, #198 x86 Core & Memory Performance Enhancement
- Major Optimizations to overall performance of both the CPU Core and Memory Core
- Benchmarks 85% faster than previous releases
- Raspberry Pi benchmarks at 2.8 MIPS (~386DX)
- i9-9900k benchmarks at 29 MIPS (~486DX2)
- Puts emulator performance on-par or better than original hardware that would run The MajorBBS & Worldgroup 2.0!
- #234, #213, #210, #203, #197, #196 MajorMUD Fixes
- Many Quality of Life fixes for MajorMUD thanks to all the bug reports from the community!
- MajorMUD is now very playable, but there are still missing ordinals
- More testing is needed, but support for MajorMUD continues to get better with every release!
- #232, #231, #219 Additional Automated Unit Tests and Fixes
- Many new automated Unit Tests for
MAJORBBS
ordinals - Small fixes for defects discovered by these new Automated Unit Tests
- Many new automated Unit Tests for
- #221 Friendly appsettings.json Messages
- Missing/Incorrect values in
appsettings.json
will not generate a friendly error message - Some values, if missing will display a warning and return a default
- Please see our Wiki article on
appsettings.json
options and their values
- Missing/Incorrect values in
... and many other bug fixes and enhancements!