Skip to content

Releases: mbbsemu/MBBSEmu

Stable Alpha - v1.0-alpha-050321

03 May 19:54
c4394f7
Compare
Choose a tag to compare
Pre-release

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

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

21 Feb 19:07
031497a
Compare
Choose a tag to compare
Pre-release

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 and NTVARS 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
  • #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

30 Jan 20:12
bb40eb3
Compare
Choose a tag to compare
Pre-release

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

05 Jan 01:35
Compare
Choose a tag to compare
Pre-release

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 setting Timer.Hertz
    • Recommended value for Timer.Hertz is 18 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!
  • #364, #350, #348, #343, #342, #338: New x86 Opcodes and Exported Ordinals

Stable Alpha v1.0-alpha-122220

22 Dec 20:11
9db34ae
Compare
Choose a tag to compare
Pre-release

This is a smaller bug-fix Release which includes the following PR's:

  • #331, #335: New Ordinals
    • Adds new MAJORBBS Ordinals CONDEX, HDLUID, UIDXRF
  • #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

19 Dec 20:04
6b16092
Compare
Choose a tag to compare
Pre-release

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
  • #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)
  • #307, #309, #311, #317, #326: Bug Fixes
  • #304, #308, #310: Additional Unit Tests

Stable Alpha v1.0-alpha-111920

19 Nov 13:51
c71f226
Compare
Choose a tag to compare
Pre-release

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 granted SYSOP 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 with SYSOP Key
    • Commands added to modify users keys while Online
    • System Management (running cleanup, etc.) commands Added
    • Use /SYSOP to see list of available functions
  • #270, #273, #300: New x86/x87 Opcodes
    • Added FSIN, FCOS, LODSW, POPF, FSUBP, FCHS Opcodes
    • Fixed STOSW and STOSB Opcodes to property handle REP prefix

Stable Alpha - v1.0-alpha-110120

01 Nov 20:18
248e4c4
Compare
Choose a tag to compare
Pre-release

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
  • 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)

Stable Alpha - v1.0-alpha-103120 🎃

31 Oct 04:31
7a5adc7
Compare
Choose a tag to compare
Pre-release

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
  • #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

... and many other bug fixes and enhancements!

Stable Alpha - v1.0-alpha-101420

14 Oct 12:58
717e2e8
Compare
Choose a tag to compare
Pre-release

We'll go ahead and just call this The MajorMUD Release 😃

This Release has initial support for MajorMUD deferred execution, meaning functions which implement a delay such as movement, exiting, casting, etc. now work properly. There are probably still many, many issues related to properly emulating MajorMUD -- but this was a major milestone 👍

Even though our last Release was tagged just 12 days ago, there has been a ton of progress in that time included in this Release!

PR's included in this Release include:

  • #163: Retrieve Physical Record Length from Btrieve File
    • Fix for Btrieve Files which had additional bytes at the end of the records that weren't accounted for in the Record Length Property
    • Findings added to Wiki Documentation on Btrieve File Format
  • #165, #184, #188 New x86/x87 Opcodes
    • Many new Floating Point x87 Opcodes Added with Unit Tests for both new and existing Opcodes
    • Refactored and Fixed multiple existing x87 FPU Opcodes
  • #173, #178, #183, #187, #193 New Ordinals
    • New Ordinals Supported: cncint, cnclon, cncnum, filelength, fscanf, nkyrec, stp4cs
    • Multiple existing Ordinals Refactored & Fixed
    • Additional Unit Tests for existing Ordinals
  • #194 SYSCYC Processing
    • Added SYSCYC routine processing to the main loop
    • Fixed MajorMUD Deferred Execution (Movement, Castingi, Exiting, etc.)

... and several other bug fixes and enhancements!