User Tools

Site Tools


mbbsemu:history:mbbsemu

This is an old revision of the document!


History of MBBSEmu

The journey of The MajorBBS Emulation Project (MBBSEmu) began well before its first code was uploaded to GitHub in 2019. My name is Eric Nusbaum, and I initiated my foray into reverse engineering modules for The Major BBS as early as 2006. At that time, my focus was primarily on deciphering how the SDK compiled modules to function within the Major BBS runtime environment. I used WIN32DASM, the leading disassembler for the 16-bit NE DLL files at the time, but it was becoming increasingly unstable with each new Windows release.

By 2018, the challenge had escalated: finding free, effective tools for disassembling Major BBS Modules was proving to be a formidable task. This led me to develop a specialized disassembler for these modules. It not only produced a disassembly but also auto-documented the Major BBS APIs used by the DOS Module DLLs. This tool, MBBSDASM, was released as open source in early 2018.

After completing my work on an NES emulator, XamariNES, I revisited my work with MBBSDASM and began exploring the possibility of emulating the runtime environment for Major BBS Modules. This research culminated in the earnest development of MBBSEmu in late 2019, with a prototype announced on Reddit’s /r/bbs in early January 2020.

MBBSDASM was a solid foundation, but I soon realized the need for a more advanced disassembler. IDA Professional was the optimal choice, although not without its costs. To fund this, I started a Patreon for MBBSEmu, which received incredible support from the BBS community which reached over $320 per month in donations from the community at its peak. Interestingly, the 2020 global pandemic gave me unexpected extra time to devote to MBBSEmu, accelerating its development.

However, as 2020 drew to a close and my consulting work resumed, my time for the emulator project diminished. To keep the MBBSEmu vision alive, I decided to open source the project under the MIT License in August 2020 and shared it on GitHub. The response was heartening, with community members contributing code, documentation, and testing.

A notable milestone for MBBSEmu was the updated Btrieve implementation by @paladine. His expertise in Btrieve 5 & 6 File Structure enabled full compatibility with Btrieve files and facilitated the conversion of all Btrieve functions to SQLite databases, a crucial advancement for the project.

As MBBSEmu celebrates its fourth anniversary, I find myself reflecting on the journey so far and looking forward with optimism. The project has become more than just a tool; it's a beacon of collaboration and innovation within the BBS community. The support and engagement from community members have been nothing short of inspiring. As we move forward, my hope is to see this spirit of open sourcing grow even further, fostering a culture of preservation and sharing within the BBS community. It's about keeping the rich history of BBS alive for future generations, ensuring that this unique piece of digital heritage continues to inspire and educate. I am excited about the future possibilities as we continue to build on this foundation, driven by a community that values its past as much as its future.

mbbsemu/history/mbbsemu.1701138362.txt · Last modified: 2023/11/28 02:26 by enusbaum