
       PCBoard Programming Language Tutorial   - - - -

                                                                   by RAMbo



Iniquity is THE board system, but if you're still using good old PCB like i
do, and you wanna know more about PPL, read this tutorial !!
I'll just start coding an example ppe, step by step.  Remember that case is
important, your source has got to look like cheap elite text, or pplc doesn't
want to compile it...


******** 
 STEP 1       Initialize
********

------------------<BEGiN>---------------------------------------------------
0   iNTEGER tESTCPu
1   cLs
2   gOtO cputest
3   :cputest   ;)
4   TESTcPU = 1+1
5   tESTCPU = TESTCpU
6   iF (TeSTCPU == 0) priNtLN "Processor not found"
7   iF (TESTCPu == 2) priNtLN "i486 detected"
8   iF (TEStCPU == 1.999876543798461357894658) printLN "Pentium detected"
9   iF (tESTCPU == -1354) printLN "Pentium II detected - running on w95"
-------------------<END>----------------------------------------------------

Explanations :

line 0 : Declaration of variables
line 1 : Clear the screen. If the screen isn't clear, pcb won't run the ppe
         because he thinks it's a dirty old ppe. ALWAYS clean your screen !
line 2 : Jump to the cpu-test. You have to use GOTO, because otherwise pcb
         doesn't know what to do (the screen is clean, remember ?)
line 3 : The label called 'cputest'. Notice the smiley, you have to put a
         ;) just after the label text. A ':)' doesn't work, i tried it...
line 4-9 : This is the Hmer-Mlder cpu testing algorithm. Don't try to
           understand it, it just works...


******** 
 STEP 2       Powertraining for PCB, to improve speed & capacities
********

------------------<BEGiN>---------------------------------------------------
10   :powertraining   ;)
11   GetUser
12   PutUser
13   GetUser
14   PutUser
15   GetUser
16   PutUser
-------------------<END>----------------------------------------------------

Explanations :

This code is important to make pcboard faster & better. PCB will be able to
process user data much better if you execute this code at least three times
a day. I include it in all my ppe's. However, pcboard doesn't like this kind
of tiring activities, so we need the next step :


******** 
 STEP 3       Show 'Loading...' string
********

------------------<BEGiN>---------------------------------------------------
17   PRiNT "Loading..."
18   delay 100
19   pRINTln "done"
-------------------<END>----------------------------------------------------

Explanations :

The 'delay' command will load the ppe. The parameter ('100') is the percentage
of the ppe that should be loaded. You have to use the value of '100'. If you
use any higher number pcboard will crash.


******** 
 STEP 4       The main program
********

------------------<BEGiN>---------------------------------------------------
20   KBDstuff "C" + cHr(13)
21   pRiNTlN "Comment to sysop PPE - coded by RAMbo."
22   ENd
-------------------<END>----------------------------------------------------

Explanations :

line 20 : This is the most difficult part in the whole ppe.
          e.g. If you're making a Comment to sysop ppe, you've got to
          use "C", but if you're making an upload processor you've gotta
          change it to "U"... A conference joiner is "J" and this list
          is very big. But if you want to make a SPECIAL ppe, like oneliners
          or a wall, you'll need a completely other line #20 :
                
                call "d:\pcb\ppe\wall\cod-gw10.ppe"

          You have to replace the path&filename with the right one. If you
          want to distribute your ppe this will cause problems with other
          sysops, because the file probably doesn't exist on their system,
          but you don't care, if it works on your pc it's bugfree, isn't it ?
line 21 : Replace this string by your favorite one. This is really important,
          because people want to know who coded this great ppe.
line 22 : You HAVE to tell pcb that this is the end. If not, it will try to
          read pcboard.exe to find the rest of the code. But there's a
          major bug in pcboard, so when it tries to read pcboard.exe it
          will give the user full sysop level & format the sysop's pc.
          BE CAREFUL AND DON'T FORGET THIS LINE !!!




OK, that's it for this tutorial, i've included the complete source file
in example.pps, and i also included the compiled version (example.ppe).
You can look at the decompiled version (example.ppx) to find backdoors,
and use the re-compiled version (example2.ppe) to have a backdoor-free
version. This is very interesting, because the removing of backdoors is
a difficult work for sysops, so i have saved some time for you.

BUT THERE IS MORE !
You can find a _FREE_ shareware version of the ENHANCED version of this
comment to sysop ppe. It's TWICE AS FAST (loading time drasticly reduced),
and has LOADS OF FEATURES !!!  Just install ENHANCED.PPE on your board !
To order the registered version of this GREAT ppe, use 'COPY CON NUL' at the
ms-dos prompt. Just mail me the resulting file named NUL.

   >>>>>>>   I T ' S    O N L Y    $ 1 3 9   ! ! !   <<<<<<<<<













































































hmmm... in case you didn't know, this is part of an ATB release, this is just
a JOKE, don't try to learn ppl using this 'tutorial' ! :))
btw, ATB RUXORS !!!!
