Here you will find a collection of technical documents used in the development of MBBSEmu. Because Galacticomm has long been defunct and the software used to create
both the host BBS software package and the underlying operating system/platform are over 35 years old -- documentation is hard to come by. Luckily we've accumulated
a great collection of digital documents and book references which should help shed some insight into not only the underlying x86 & DOS platform, but also the inner
workings of The MajorBBS.
At the bottom of this page there is also a list of physical books which have been invaluable in the development of MBBSEmu as well.
Digital Technical Documents
This is THE Intel reference manual for 80286 Software development. Everything you'd ever need to know about 16-bit Assembly development on the Intel 286 Processor is in this 513 page book. This book is the gospel for the x86 Processor Emulator within MBBSEmu.
This PDF is an expert from the original document, "IA-32 Intel® Architecture Software Developer’s Manual". This PDF contains Chapter 8, "Programming With the x87 Floating Point Unit" which is a 44 page document with in-depth details on the Intel x87 Floating Point Unit (FPU) that has been included along side (or integrated within) Intel CPUs since the 286. Prior to the 486DX, the Intel x87 was also called a "Math Co-Processor". This document was used for the implementation of the x87 Registers, Stack, and OpCodes within MBBSEmu to handle any MajorBBS or Worldgroup modules which implemented Floating Point math.
Many of the internal Borland C++ routines (FOPEN, FCLOSE, UNLINK, Long Math Operations, etc.) are also incorporated as part of the MAJORBBS.DEF statically linked at compile time. This document is used as a source of information as to how these routines worked, as very little documentation is available online for 16-bit C++ reference material and modern implementations of these methods have changed in the past 30 years.
This document for Novell Btrieve contains a wealth of information on the inner workings of Btrieve, such as File Format, Keys, Pages, and how to use various Btrieve Utilities such as BUTIL. This document is helping immensely with the internal Btrieve Engine within MBBSEmu.
This is the best Btrieve reference document we were able to find from Pervasive Software, specifically on the programming interface for the Btrieve service. Specifically important in this document are the operation codes that were passed into The MajorBBS Btrieve functions. We're still looking for any documentation around the actual Btrieve file format (.DAT files), but this gives a ton of clarity around the APIs that MajorBBS and Worldgroup abstract.
While we haven't been able to locate a Worldgroup Developers Guide, this is the closest we can find in electronic form thus far. This document contains a wealth of information on APIs exposed by The MajorBBS and Worldgroup to the modules that were compiled against the SDK. Contains in-depth signature definitions,expected inputs and outputs, as well as several sample programs to get you started. Additionally the first few chapters are all around setting up your development environment to get the Modules building. Very, very helpful.
Development Guide for the Galacticomm Software Breakthrough Library (GSBL), the other critical half of MajorBBS and Worldgroup Development. This library contains many of the low level functions modules would use to intercept incoming keystrokes, quickly send data out to user buffers, or retrieve low level information about a users specific channel. The GSBL itself was written entirely in x86 Assembler and is the backbone of both The MajorBBS and Worldgroup.
Microsoft Documentation on the NE Executable file format. This is critical to understand as all MajorBBS and Worldgroup DLL files were NE format.
Advanced MS-DOS Programming (2nd Edition) (1988)
Great book on programming in MS-DOS. This has been a critical book because of its thorough documentation of the DOS INT21 APIs that are available.
Peter Norton's Assembly Language Book for the IBM PC (1989)
Not the infamous "ugly pink shirt" book, but close. If the Intel 286 Programmers Reference didn't give enough context around the implementation of a specific x86 Opcode, this book usually cleared it up.