home *** CD-ROM | disk | FTP | other *** search
-
- PPLD V3.00
-
- (C)1994-95 Chicken [Tools4Fools]
-
- This is No-Pain-No-Gain-Ware
- Cut off your favourite finger to register !
-
-
- -----------------------------------------------------------
-
-
- WHAT IS PPLD GOOD FOR ?
-
- Makes your potatoes grow BIGGER !
- Gives you a body IRRESTIBLE to ANY kind of girls !
- Cures your aunts gout, hunchback AND PERITONITIS !
- Makes your wedding dress DAZZLING white !
- Brings you BILLIONS of dollars ! (send me $186.43 for more details)
- Kills ANYTHING with more than four legs tickling in your hair !
-
- Ah yeah, and besides this, it decompiles the PCBoard Programming
- Language Executables (.PPE) back to what they were before the so-
- called compilation. Well, they call it compilation, in fact it's just
- a translation to tockens simple enough to be executed by the stupid
- interpreter (my C-64 did it too).
-
- [philosophical intermezzo ON]
-
- As long as Clark Development Company Inc. can't come up with a REAL
- compiler there will be decompilers by me or by others. CDC started
- to encrypt the .PPEs created with PPLC 3.0 and newer. The only
- effect is even more slowness, nothing else. Ah yes, it also makes
- it harder for talented authors to protect their work with some well
- misplaced bytes (Anti Decompiling System). Dear CDC developers, why
- not creating some real ASM code ? PPEs would run at a decent speed
- and decompilers would be dead forever. Right, real compilers are a
- bit trickier to do. But hey ! What are you getting your bucks for
- then ?
-
- Thank you.
-
- [philosophical intermezzo OFF]
-
-
- -----------------------------------------------------------
-
-
- BUT HOW TO USE IT ?
-
- ppld [options] srcname[.ext] [dstname[.ext]]
-
- Standard extensions are: for source .PPE, for destination .PPD (to
- prevent overwriting of existing source code).
-
- Options:
-
- /NOTRACE - Disable Trace Mode
- PPLD will decompile the whole code and therefore probably
- get traped by an anti decompiling trick. But if it gets
- through, you can seek for disabled features and mindless
- coders.
-
-
- -----------------------------------------------------------
-
-
- TROUBLE SHOOTINGS (BLAM BLAM, YOU'RE DEAD)
-
- PPLC replaces all FOR/WHILE/CASE/... thingies with IF/GOTO statements
- and rearranges IF [..] THEN [..] ENDIF like this (with ELSE it gets
- even worse):
-
- IF [..] THEN
- [..]
- ENDIF ..is compiled as:
-
- IF ![..] GOTO LABEL
- [..]
- :LABEL
-
- Little hint: As the usage of FOR [...] NEXT causes a real mess with
- lotta useless worstcase bound checkings, your program will run faster
- when you implement the routine using WHILE or an own IF [..] THEN
- construction.
-
- Serious crashes can be caused by the following reasons:
-
- a) A REAL big .PPE needs too many labels.
- "can't imagine"
-
- b) A REAL nasty line gets too long.
- "we think our .ppe isn't slow enough"
- (seems to get common to make 1000 times 1+1, but let me warn
- you that this costs you several kbytes of stack and makes
- your .ppe running sloooooooooow)
-
- c) A REAL ugly expression has too much iterations.
- "recursion rulez"
-
- d) I created buggy translation tables.
- "beautiful secretaries can't type"
-
- It is possible that a .PPE doesn't recompile to the same size for the
- following reasons:
-
- a) PPLD will skip unused code. (Use the /NOTRACE option to dis-
- able this feature)
- "this one is called *AI Optimation Mode*"
-
- b) PPLD just forgets about variables defined but not used in the
- code. (variables are recognized upon usage at positions where
- PPLC requieres VAR as function/statement parameter)
- "this one is called *AI Optimation Mode*"
-
- c) You have to compile with the same commandline options as the
- author for the original .PPE.
- "my two-lines-ppe takes only one kilobyte"
-
- d) There are some quite strange .PPEs with only half of the pre-
- defined user variables included.
- "public betas suck"
-
- e) There's a bug in PPLC. You'll get a note in the .PPD if this
- bug was used to protect the .PPE from decompiling.
-
- It is possible that a .PPE doesn't recompile at all for the following
- reasons:
-
- a) With some tricks, it's possible to use the ENDPROC / ENDFUNC
- statements before the real end of a procedure/function.
-
- Example: IF condition THEN
- ENDPROC ;the early end
- ENDIF
- [...]
- ENDPROC ;the real end
-
- This code will decompile to something like:
-
- IF !condition GOTO label
- ENDPROC ;the early end
- :label
- [...]
- ENDPROC ;the real end
-
- The problem with this is, that PPLC refuses to recompile this
- code as it can't find the label behind the ENDPROC statement.
- To make it recompilable, just retype it in the original IF ..
- THEN .. ENDIF style. Hope to fix this in next version.
-
-
- At the end of the source, is a list of used functions/statements. If
- you encounter some missing names or ???s the command is unknown.
-
-
- -----------------------------------------------------------
-
-
- MESSAGES:
-
- eULE! One year without computer, only school, girls and
- boozing... guess i have to finish our project myself.
-
- Lone Runner Thx for giving me back the motivation to continue
- on PPLD.
-
- PPE Coders Don't write me: PPLD is great to learn PPL...
- Be honest : Send me latest PPLD so I can go on
- ripping state-of-the-art lightbars.
-
- Real Programmer Tools 4 Fools wants YOU !
- Don't hesitate to contact us.
-
- CDC [ignore on] ?
-
-
- -----------------------------------------------------------
-
-
- REVISION HISTORY:
-
- 25.06.94 release of version 1.00 (nightmares get real!)
-
- 01.07.94 release of version 1.01 (bugs, bugs, bugs!)
- - bugfix: decompiled LANGTEXT instead of LANGEXT
- - bugfix: decompiled FPUTAD instead of FPUTPAD
- - bugfix: decompiled CDKCHON instead of CDCHKON
- - bugfix: decompiled UNOPER instead of UN_OPER
- - bugfix: decompilation errors on statement FFLUSH
- - bugfix: decompilation errors on statement REDIM
- - bugfix: decompilation errors on statement SORT
- - bugfix: added missing statement MOUSEREG
- - bugfix: added missing statement BRAG
- - bugfix: added missing statement FREALTUSER
- - bugfix: added missing function HIMSGNUM
- - bugfix: added missing function LOMSGNUM
- - bugfix: added missing function KBDFILUSED
- - bugfix: added missing function PPLBUFSIZE
- - bugfix: added missing function KBDBUFSIZE
- - bugfix: added missing function FLAGCNT
- - bugfix: out of memory on ppe without vars/constants
-
- 20.08.94 release of version 1.02 (it's alive!)
- * recursive trace mode to detect decompiling traps.
- This prevents PPLD from decompiling passages with
- unknown functions/statements.
- As side effect it won't decompile unused code.
- * added /NOTRACE option to turn off trace mode and
- its "features".
- - bugfix: decompilation errors on VARSEG, VAROFFS,
- VARADDR, SCRFILE after SORT-bugfix in last version
-
- 22.09.94 release of version 2.00 (the fake!)
- !!!!!!!! DON'T USE IT, IT'S A TROYAN !!!!!!!!
-
- 13.10.95 release of version 3.00 (who says late?)
- * added PPLC 3.0 decryption
- * added PPLC 3.0 new statements/functions/types...
- * added PPLC 3+ procedures/functions
- * added PPLC 3.10 decryption (which doesn't pack 0's
- if there's no gain in it)
- * added PPLC 3.10 new statements/functions
- * added PPLC 3.20 new statements/functions
- * added !0+!0 bug detection
- - bugfix: decrypting aborted even everything was ok
- - bugfix: trace abort on jump to program start/end
- - bugfix: 4 times more memory for BIIIIIIIG strings
- - bugfix: correct output of floatingpoint constants
- ARGH! costs 10kb of executable size!!!
- (hmm, wonder why you didn't notice this ? are PPE
- coders to stupid to use 'em ?)
-
- The version with Clark Development copyrights is a fake/ripoff/patch
- of PPLD version 1.00 by unknown losers (same code, same bugs).
-
- The version 2.00 released by an unknown lamer in september is a
- troyan and will most probably delete your harddisc.
-
-
- -----------------------------------------------------------
-
-
- CONTACT THE AUTHOR !
-
- If you got an idea for some features, dig it :).
- But for chitchat, donations, news about PPLC 4.0, hate mails...
-
- call The Lycaeum: +41 41-484-2989 [ZYX]
- +41 41-484-3289 [USR V34]
-
- email via InterNet: chicken@ezinfo.vmsmail.ethz.ch
-
- or snail mail: Adrian Studer
- Hauptstrasse 54
- 6170 Schüpfheim
- Switzerland
-
-
- -----------------------------------------------------------
-
-
- COPYRIGHTS:
-
- PPLD is copyright of the author. The author allows to: use software,
- make copies of it, give copies to anybody and distribute it through
- electronic media.
-
- It is not allowed to ask for money or donations for any copy or
- copies of the program, neither distribute the software and/or docu-
- mentation with commercial products and/or donuts.
-
-
- -----------------------------------------------------------
-
-
- DISK-LAMER:
-
- The author denies any responsibilities for illegal acts involving the
- (mis)use of PPLD. It is illegal (and lame) to spread copies of
- tampered and/or modified PPEs.
-
- Pay fair prices to fair shareware authors (like us ?)
-
- This EXCLUDES software which:
- a) contains backdoors
- or b) consists of less than 50 lines code
- or c) costs more than $20 (don't tell me you invested months in
- your one-in-thousands-so-fucking-boring-online-game)
-
- This INCLUDES the great work of the rare REAL coders doing .PPEs !
-
-
- -----------------------------------------------------------
- ! T4F, INCREASES THE QUALITY OF YOUR LIFE !
-