home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
plcode1o.zip
/
plcode10.doc
< prev
Wrap
Text File
|
1996-12-16
|
15KB
|
301 lines
────────────────────────────────────────────────────────────────────────────-
▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒(TM) ▒▒ ▒▒▒▒▒▒▒
▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒▒ ▒▒ ▒▒ ▒▒
▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒
▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒ ▒▒▒ ▒▒ ▒▒ ▒▒
▒▒ ▒▒ ▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒
T H E F R I E N D L Y U U E N C O D E R / U U D E C O D E R
(c)1996 Gian Maria Romanato
aka
BitMan / Kernel Panic
─────────────────────────────────────────────────────────────────────────────
▒▒ 0. Index ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────────────────────────────────────────────────────────────────────────-
0. This Index
1. Legal Stuff
2. What it does ?
3. Did the world really need yet another UUENCODER ?
4. Why this weird name for a UUENCODER/UUDECODER ?
5. Installation
6. Instructions
7. Tech Notes
8. Thanks & Greetings
9. Contacting The Author
─────────────────────────────────────────────────────────────────────────────
▒▒ 1. Legal Stuff ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────────────────────────────────────────────────────────────────────────-
Palcode is copyright 1996 by Gian Maria Romanato.
You may distribute this software to everyone in its unmodified form, upload
it to bbs'es, internet ftp sites etc. etc., but you can not sell it.
Palcode is CARDWARE , that is if you like this program and use it, you
MUST send me a POSTCARD (see section 9). If you really can't afford a
postcard (?) an e-mail is also welcome, but I'd really like you to mail me
a postcard.
I provide you this software on an "as is" basis which means that I give
you no warranty at all, and that I can not be held responsible for damage
caused to your software or hardware by Palcode.
If you decide to run Palcode on your PC, you do it at your own risk.
All trademarks reported in this document are copyright by their respective
owners.
─────────────────────────────────────────────────────────────────────────────
▒▒ 2. What it does ? ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────────────────────────────────────────────────────────────────────────-
Palcode is a command line UUENCODER/UUDECODER.
Palcode is available for both OS/2 (Yeah!) and MS-DOS (bleah!).
Palcode was designed and programmed with the purpose of making it
easy for the user to uudecode (and also uuencode) any file.
Palcode is able to correctly decode encoded files containing empty
lines and almost any kind of garbage!
Unluckily, a remote possibility of an error occurance remains , because if
the garbage amongst the encoded lines is made of characters which respect the
uuencoding rules, Palcode will not be able to distinguish those garbage
lines from the real uuencoded ones.
─────────────────────────────────────────────────────────────────────────────
▒▒ 3. Did the world really need yet another UUENCODER ? ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────────────────────────────────────────────────────────────────────────-
Well, in my opinion the answer is YES :-)
I wrote this program for my own need: I was not able to find a command-line
uuencoder/uudecoder for OS/2 able to encode in multiple parts of a chosen
size and also able to decode almost every encoded file without the need for
the user to edit the original encoded ASCII file.
─────────────────────────────────────────────────────────────────────────────
▒▒ 4. Why this weird name for a UUENCODER/UUDECODER ? ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────────────────────────────────────────────────────────────────────────-
The original idea for this program comes from a FIDO echomail area local
to the BBS I am a point of. (Hobbiville 2:333/329).
The name of that area is PALCO, and one of the guys who writes
crap there,(yo Alessio, are you reading ?? :-)) is a proud owner of a
Commodore Amiga. Despite the immense (?) power of his machine, he did not
manage to find an encoder able to encode a large file in multiple sections,
so he used to split the file before encoding and then he encode each
splitted part.
The result was a bunch of encoded bytes that no one was able to decode
withouth having to edit the encoded file with a text editor.
That's why Palcode was born, and that's why it supports the
FORCED DECODING (-f switch, see section 6)
─────────────────────────────────────────────────────────────────────────────
▒▒ 5. Installation ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────────────────────────────────────────────────────────────────────────-
*OS/2 Version*
Unzip the file Plcode?o.zip (but I guess you already did it :-)).
Copy PALCODE.EXE in a directory listed in your PATH environment variable.
*DOS Version*
Unzip the file Plcode?d.zip (but I guess you already did it :-)).
Copy PALCODE.EXE in a directory listed in your PATH environment variable.
Now you can execute PALCODE from every directory of your hard drive.
─────────────────────────────────────────────────────────────────────────────
▒▒ 6. Instructions ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────────────────────────────────────────────────────────────────────────-
If you type PALCODE.EXE with no parameters the help message will be
displayed , and it will look like this:
┌───── PalCode/2 v1.0b6 (c)1996 G.M.Romanato ─────┐
└─────── The Friendly Uuencoder/Uudecoder! ───────┘
Usage: PALCODE [options] input.ext [output.[ext]]
Options are :
-e|d Encode/Decode (default is DECODE)
-c Encode with line checksum
-k SIZE Encode in multiple parts of SIZE Kb
-l NUM Encode in multiple parts of NUM lines
-0 Encode multiple parts with name file00.uue
rather than file.000 which is default
-i COL Decode ignoring first COL columns
-n Disable line cheksum for decoding
-f Forced decoding. See docs for further details
- You can chose between uuencoding/uudecoding with switch -e or -d
(Default is decoding, -d)
*DECODING*
- If you chose to decode a file you only have to specify the input name
because the destination file name is included in the header of the
encoded file.
- If you want to decode a multi-part encoded file you have to copy all
encoded parts (in the right order) in a unique file and run PALCODE
on that file.
- The -i COL option tells Palcode to decode ignoring the first COL
columns of each line. This option is useful when the encoded lines
are indented and do not start from the first column.
For example suppose that I encode a messagge in a fidonet echomail area
and that someone quote-replies to me.
The quoted message will look like this:
GMR> Section 1/1 of "plcode10.doc" uuencoded by PalCode/2 v1.0b6 (c)96 G.M.Romanato
GMR> begin 644 plcode10.doc
GMR> MQ,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$
|||||
12345
Normally , if you wanted to decode this file you would have to edit the
messagge and remove the "GMR> " string from the beginning of each line.
But if you use Palcode you can simply specify the -i 5 option and
Palcode will correctly decode the file.
The idea for this function comes from the one and only Giovanni Iachello.
- Palcode was designed and programmed with the purpose of making it
easy for the user to uudecode (and also uuencode) any file.
Palcode is able to correctly decode encoded files containing empty
lines and almost any kind of garbage!
Unluckily, a remote possibility of an error occurance remains , because if
the garbage amongst the encoded lines is made of characters which respect
the uuencoding rules, Palcode will not be able to distinguish those
garbage lines from the real uuencoded ones.
- Palcode properly decodes also files containing more than one encoded
file.
*FORCED DECODING*
- You probably won't need to use this feature: it has been added for own
need (see section 4).
This switch tells Palcode to ignore all "begin" (but the first one) and
all "end" statements contained in the encoded file, and treat all the
encoded files found as parts of a unique file.
This switch also disables file Checksum.
*ENCODING*
- If you want to encode a file called FILE.EXT in a single encoded file
just type: PALCODE -e FILE.EXT
and Palcode will output FILE.UUE, unless you specify a different
destination name as third parameter.
- If you want to encode a file called FILE.EXT in multiple parts
you have the chance to chose the size of the parts by specifying the
number of LINES or the number of KBYTES per part :
PALCODE -e -l 200 FILE.EXT
will encode FILE.EXT into multiple sections of 200 encoded lines
each, whose names will be FILE.000, FILE.001, FILE.002...
PALCODE -e -k 16 FILE.EXT
will encode FILE.EXT into multiple sections of 16 KBYTES each,
whose names will be FILE.000, FILE.001, FILE.002...
Note that since an encoded line has a fixed length, it is not possible
to obtain sections whose dimension is exactly a specified number of
Kbytes. When you specify "-k 16" Palcode will produce sections whose
size is very close to 16 Kbytes, but a little bit smaller.
(1 Kbyte=1024 bytes).
- If you don't like the way Palcode calls the encoded sections, i.e.
FILE.000 , you can add to the command line the switch
-0 and Palcode will produce FILE00.UUE instead.
For Os/2 users: this switch also forces the length of the encoded
file name to the usual FAT's 8+3 format.
*CRC CHECKSUMS*
- If you want to add a CRC CHECKSUM on each line of your encoded file
you must run PALCODE with the -c parameter.
This option is normally turned off (i.e. there is no LINE CRC as default)
because the evolution of the software and hardware used in delivering
mail packets removed almost every chance of errors during transfering.
Palcode puts, as default, only a global CRC on the entire file at its
end , which is useful when decoding multi-parts (because if the CRC is
right you are sure you did not miss any part).
Most recent encoders/decoders do not use any CRC checksum.
Since there is no real standard about the entire file checksum,
Palcode uses its own convention and writes (at the end of the file,
one line after "end") "size filechecksum/filesize" where filechecksum
and filesize are numbers.
For the same reason Palcode is able to read/understand file checksums
only if the file was encoded with Palcode or the remote encoder uses
a convention equal to Palcode's one.
Whenever Palcode can't understand/read/find the file checksum, it will
tell the user which value the file checksum should be, to give the user
the chance to have a look at the encoded file and compare the values.
- Some encoders use non standard line checksums algorithms.
If Palcode tries to decode a file encoded by such a program, it will
warn you every decoded line about a wrong CRC Checksum.
If this occurs, you can tell Palcode to avoid checking checksums at end
of line, by specifying the -n parameter.
─────────────────────────────────────────────────────────────────────────────
▒▒ 7. Tech Notes ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────────────────────────────────────────────────────────────────────────-
Palcode is written in C.
Both the OS/2 and MS-DOS versions are 32 bit applications.
The OS/2 version was compiled with EMX 09c, the GNU C++ compiler for OS/2
by Eberhard Mattes.
The MS-DOS version was compiled with DJGPP v2.0 , the GNU C++ compiler
for MS-DOS by DJ Delorie.
The MS-DOS version was also packed with DJP.EXE by ML and uses
PMODE/DJ v1.1, the famous PMODE v3.07 by Tran and Daredevil, ported to
DJGPP by Matthias Grimrath.
My PC is a i486dx2 80Mhz with 12 Mbyte of RAM, 540 MB IBM HD, ET4000w32p,
Gravis Ultrasound and a Mitsumi Fx400 CD-ROM drive.
─────────────────────────────────────────────────────────────────────────────
▒▒ 8. Thanks & Greetings ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────────────────────────────────────────────────────────────────────────-
My greetings go to all my friends, all C64 sceners, the whole Kernel Panic
members, all Fidonet people and all OS/2 users around the world.
Special greetings go also to all Palco's Boys and Alessio Veronese.
Remeber: Giovanni Iachello does not know the 3 rules of the dynamic
programming :-)
I want to thank:
- Giovanni Iachello for helping me whenever I have troubles with C :-)
- Eberhard Mattes for that piece of cake of EMX and the new PMGDB.
- DJ Delorie for DJGPP.
- Tran , Daredevil and Matthias Grimrath for PMODE/DJ.
- the Italian Fidonet area PRG.ITA for the informations about the
uuencoding standard (especially Roberto Favaretti for the faqs).
- The betatesters (in alphabetical order):
Emanuele Bonin (aka Sam Gamgee)
Dario De Agostini (aka VOiD / Kernel Panic)
Paolo Di Patria (aka Silent Scout / Kernel Panic)
Enrico Ferro (aka Pinco / Kernel Panic)
Giovanni Iachello (aka Giac)
Antonio Manara (aka The Toy)
─────────────────────────────────────────────────────────────────────────────
▒▒ 9. Contacting The Author ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────────────────────────────────────────────────────────────────────────-
My name is Gian Maria Romanato and I live in Padua, Italy.
As of now I am a student of software engineering at University Of Padua.
If you want to tell me about a bug you found in Palcode, please remember
to specify if you are using the OS/2 or the MS-DOS version.
You can reach me at:
Internet : domin@dei.unipd.it
Fidonet : 2:333/329.31
Snail Mail: Gian Maria Romanato <─────────────────┐
via Navagero 8 │
35126 Padova │
Italy │
Telephone : +39-49-851043 │
│
Remember to mail me the postcard :-) ───────┘
────────────────────────────────────────────────────────────────────────────-