From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about the primarily-Apple software. For the Graphics BBS, see GBBS (DOS).

GBBS is a bulletin board system (BBS) program for the Apple II. Its first series, named GBBS, was written in Applesoft and used by boards such as Demon Roach Underground in Lubbock, Texas Its successor, GBBS Pro, was ACOS-based. GBBS-Pro was used by boards like ProBOARD II in Paso Robles, California, Scotland Yard GBBS/AE Pro in Cincinnati, Ohio and Apple Elite II in Riverside, California.

GBBS (literally: Greg's Bulletin Board System) was written by Greg Schaefer, who later authored the terminal emulation program ProTERM. The GBBS-Pro system was based on the ACOS compiler and language. ACOS was a BASIC-like language wherein the modem handling routines had replaced some of the other basic functions. Arrays (for instance) were unheard of in ACOS and so it was necessary to find other ways to work around these limitations (i.e. files replaced arrays). GBBS systems could be highly customized and modified. Mods were shared between sysops (system operators) and even ProTERM support was given via a GBBS system.


The Apple IIe ran the first GBBS systems and later the Apple //gs became the game platform and multiline answer GBBS sysops had long searched for. John P. Edwards (by then good friends with Schaefer) had a small GBBS set up for a short time on an Apple //c with only a 140 kB (5.25-inch) floppy disk (but the IIc had 128 kB of RAM compared to 64 kB for the //e). The processor was 8 bit and 1 MHz on an Apple IIe. ProDOS, the operating system, took 32 k of storage space. (Compare to today's processors, operating systems and memory, etc.)

There was a fairly extensive amount of (source) code written for the ACOS compiler and much of it is still available today. There are several GBBS systems still running today (Lost Gonzo BBS: ). The GBBS software is still available for the Apple // and other systems that emulate the Apple II.

GBBS was also ported to run on the IBM PC XT using BASICA or GWBASIC. MACOS was a popular takeoff of GBBS and later became METAL, which was very ACOS-like and even more powerful.

Custom-modified GBBS systems featured EMAIL (with receipts) and message Boards as well as online games and Dating Software; they were run by hobbyists and professionals for various reasons. John once set up and modified a GBBS for an air force (F15) pilot stationed in Duran, Saudi Arabia (during the first gulf war). Logging in through an 800 number and at 300 bit/s (from his home on the central California coast), to custom modify the Duran GBBS to his standards (from Paso Robles, Calif) (fairly unheard of in that day). That system in Duran, Saudi Arabia became the (unofficial) means of communication between troops and loved ones back home. Asking only that his name be mentioned, Edwards donated the work and the software. The Duran GBBS became the model upon which other such [troop] support boards were built. Sysops from Johannesburg, South Africa and other places around the world called into the ProBOARD // for mods and support (in 1986 that was really something). The good deed had not gone unrewarded as word spread. (That put us on the map, John says of the experience.)[citation needed]

  • Up to date (state of the art) GBBS Systems had by 1989-89 adopted OggNET (by Paul Parkhurst) which effectively NETWORKED GBBS Systems via a HUB and spoke type network. GBBS users on one GBBS System could email users on another GBBS as early as 1989. Messages posted to the bulletin boards on one GBBS would be sent to the other GBBS systems on OGGNET and users from various systems could post to the same threads and share info across the United States and several other countries. Gateways were programmed to interface with FIDO NET and other NETWORKED BBS Systems.

The ProBOARD // GBBS (JpE's BBS) The World Wide support site for GBBS-Pro circa 1986-1995 was sold to and is on display at The Boston Computer Museum in Boston, MASS. This and other GBBS Systems were by 1990 so super-modified as to barely be recognizable as GBBS systems (via PSE or ANSI emulation and graphics.)

John P. Edwards (Surfer Joe who ran the ProBOARD // GBBS, SysOP Support Site) was also co-designer and developer for ProTERM Mac with Greg Schaefer and was heavily involved in both GBBS and ProTERM for the Apple // in the early days of the telephone modem. (300–1200 bit/s) Trying to figure out what would follow email, it was Edwards who first created something he called F-Mail* where a file could be attached to a short note explaining what it was (i.e. attachments). F-mail was then modified to work with OggNET and users could send FMAIL (attachments) across the multi System Network of Apple// computers. *Thusly, file attachments were born!

In 1990, a Y2K-like bug surfaced in the ACOS language which revealed that dates beyond 1989 were not supported: the year 1989 was followed by the year "198:", colon being the next character in ASCII after 9. Early attempts to reset the date to 1990 only resulted in a year of "199:". The problem was only cosmetic, but stood out as revealing a system as not being up-to-date and possibly running pirated code. The official fix was to upgrade to the next version of GBBS Pro which included a copyright statement for GBBS Pro to be sent to the user before hanging up the modem, which upset some runners of the software who ran their own source written for the ACOS interpreter and not the stock GBBS Pro source files and there was no API to suppress the copyright statement.

Code was provided to detokenize code back into text source so that lost source could be recovered, but the original version of this code had two errors: two different tokens were decoded into the same instruction, and syntactic whitespace was omitted on another. These errors prevented immediate re tokenization and interpretation of the data until the introduced errors were corrected. Comments and nonpublic labels were also not recovered as they were not encoded. Nonpublic labels were replaced with generic label names.


External links[edit]