Jump to content

MBBSEmu

From Galactic Empire wiki

MBBSEmu is an open-source emulator that runs 16-bit MajorBBS and Worldgroup modules on modern systems. It's an easy way to play GE without installing and configuring an entire MajorBBS installation, but it only runs modules and does not offer a complete BBS experience.

Galactic Empire support

MBBSEmu v1.0-alpha-090826 is the first release on which ge-next 0.3.2 and later run fully correctly using the standard 16-bit package. This applies to ge-arena as well. Earlier emulator versions had several compatibility issues involving host services GE uses, including output, database operations, and cleanup. Some required temporary game-side mitigations while the host behavior was corrected.

ge-next 0.3.1 therefore had a separate MBBSEmu build. By ge-next 0.3.2, that split was no longer necessary: the same 16-bit ge-next build runs under MajorBBS/Worldgroup and current MBBSEmu. New installations should use the normal 16-bit release rather than look for an emulator-specific package. This is a compatibility milestone, not a change in GE's gameplay rules. See ge-next release notes and Running Galactic Empire with MBBSEmu.

Classic GE and shared memory

Classic GE has one remaining notable difference. When a player's ship is destroyed, GE removes the ship and resets the user's input state so the next interaction returns to the game's main menu. On MajorBBS, the module and host observe the same user state. MBBSEmu has historically kept some host state in separate per-module memory or copies, so the reset made by the unmodified classic GE binary is not always observed. The player can remain stuck in the gameplay input state instead of seeing the main menu after losing a ship.

ge-next includes a small fallback: when its input handler sees a gameplay state but no active ship, it resets that state and follows the ordinary menu-entry path. This does not change MajorBBS behavior, where the state has already been reset. It lets ge-next recover from the MBBSEmu discrepancy without a separate build; it does not repair the unmodified classic binary.

The MBBSEmu developers plan to implement shared host memory and the associated state handling in a future release. That should allow classic GE's ship-destruction transition to work as it does on MajorBBS, without changing classic GE. Until that work is released and tested, support for ge-next should not be taken as proof that every classic GE lifecycle path works identically.

Resources