PCBoard Programming Executable

PCBoard Programming Executables (known as PPEs) were used to modify and enhance bulletin board systems running PCBoard. They were programmed in PCBoard Programming Language (PPL). PPL itself is a lot like the BASIC programming language, but variables need to be declared and no line numbers were needed. Access to PCBoard's own functions and settings was available by built-in library functions. PPEs were installed either by assigning them a command from the main menu or by calling them instead of displaying one of PCBoard's text messages of prompts.
PCBoard came with a so-called compiler (PPLC) that created .ppe files from their source code. These were not actually binary files containing machine code, but rather tokenized source code interpreted by PCBoard itself during runtime. Therefore, PPEs run very slow. For example, a PPE calculating prime numbers on a 500 MHz PC would run about as fast as on a Commodore 64.
PPEs were traded a lot in BBS'es as freeware, shareware or even cracked shareware during the heyday of BBS'es. Enthusiast coders created modifications for almost any screen on a BBS that were not always only cosmetic (prompt replacements) and even created new uses, such as "uploaded by:" signatures in the description of any file, MP3 ID3 tag handling, oneliner walls, votings and many games. ANSI graphics were heavily used.
Decompilation
Tools to "decompile" PPE files back into their source code (PPL) were available freely, most notably the french group Aegis Corp's PPLX written by Lone Runner. Variable and function names got lost in the process. PPLC Version 3.40 (that came with PCBoard 15.4beta) used some means of encryption to prevent decompilation of PPE files, to prevent cracking of shareware PPEs. As PPEs were rather powerful and could alter user setting and delete files, sysops liked to decompile PPEs to check them for backdoors.
Lone Runner also wrote the Aegis PPL compiler which produced smaller and faster code than Clark Development's original PPL compiler. Other helpful tools for PPE developers followed. Another PPE De-compiler was PPLDecompiler (PPLD) written by CHiCKEN, a member of the "Swiss Coding Division" of the group Electronic Rats (EcR).
Notable PPEs
The most notable PPEs are:
*EFlag to allow tagging of files for download by lightbars instead of having to type the filename
*The Lemming Pager for paging the sysop, which would display a lemming countdown and his violent death, should the sysop not show up for chat.
*For additional notable PPEs see the main article to PCBoard
Sample Source Code
Here is a short sample source code in PPL, that prompts the user to answer the question "What city are you from?" and saves the entered answer with the user name to a Log file on the BBS computers hard drive.
<pre>
STRING Question, Answer
LET Question = "What city are you from?"
GOSUB ask
END
:ask 'sub to ask a question, get an answer and log them to a file
LET Answer = ""
PRINTLN "@X0E",Question
INPUT "",Answer
FAPPEND 0,"LOG.TXT",O_WR,S_DB
NEWLINES 2
FPUTLN 0,U_NAME()
FPUTLN 0,"Q: ",STRIPATX(Question)
FPUTLN 0,"A: ",Answer
FCLOSE 0
RETURN
</pre>
 
< Prev   Next >