QPE v1.80 (C)94-97 by David Schmoll: 07-10-97 ------------------------------------------------------------------- | (C)QPE 94-97 V1.80 by David Schmoll | ------------------------------------------------------------------- ---------- |Copyright:| ---------- I have decided to distribute QPE as FREEWARE with the only requirement that the distribution of this software be in it's original archive. This software is distributed as is, and has no guarantee, as to the suitability for an application, other than that stated below. ---------------------- |David Schmoll | |1703 Pagosa Way | |Aurora, Colorado 80011| |USA | ---------------------- I am currently also available on the CBM and CBM-128 FIDO Echo's to answer any questions or suggestions you may have. I am able to send and receive Internet mail at the address below as well. dschmoll@nyx.net Please do not distribute this program except in the original archive! ------------------- |Program Description| ------------------- QPE IS A BASIC program written to interface with the offline readers QWKRR128 and QWKie 64 to create a more automated process of dealing with your QWK mail packets. You have the choice to un-ZIP (see note 1) or un-ARC (see note 2) your QWK packets - the archive type is now auto-detected. When QPE is run and the unpacking process is complete, either QWKRR128 is executed if you are in 128 mode, or QWKie 64 is executed if you are in 64 mode. * NOTE 1: Permission has finally been granted from Bill Lucier to allow the release of a special 64 UNZIP module (unzip4.ml) that runs under QPE, so QWKie users can now take advantage of QPE to UNZIP or use the CSX64.ml to un-ARC the QWK packets. * NOTE 2: To un-ARC packets you need a separate program called CSX01.SDA (written by Chris Smeets - see note 3). Included with CSX01.SDA are two machine language modules called CSX64.ML and CSX128.ML You need to copy these over to the same disk or partition as QPE is on - nothing else is required. * NOTE 3: No part of CSX01.SDA may be distributed in any form except the original .SDA without the expressed consent of the current copyright holder (Parsec). CSX01, CSX64.ML, CSX128ML, CSX01.SDA are not part of the UNZIP128 distribution package, and must be downloaded separately. Page 1 QPE v1.80 (C)94-97 by David Schmoll: 07-10-97 ------------------------------------------------------------------- |The count down timer uses the system TOD clock, so it works at | |any processor speed now. | | | |Obsolete code no longer needed by QWKRR V5.1 was removed. | ------------------------------------------------------------------- ----------- |First Time:| ----------- The first time QPE is run, you will see a listing of the current configuration along with the prompt "Accept Defaults". The very first time you run QPE, answer no to this default, since QPE does not know your needs. This will bring up individual prompts so you can set you own defaults. If you do not give any response, QPE will autostart in 5 seconds (see autostarting), accepting whatever defaults that are set - whether they are correct or not! It is your responsibility to answer the prompts correctly, as QPE has no way of knowing when an error has been made. The archive type is now auto-detected by reading the first two bytes of the QWK packet and comparing it to "pk". If a match is made then the packet is assumed to be ZIP, otherwise it is assumed to be an ARC. Another change is that input file type no longer matters. ------------- |Autostarting:| ------------- There is a 5 second countdown timer displayed on the screen showing you how much time is left before QPE will accept the current defaults, and then proceed to unpack the QWK packet and run the appropriate OLR. To stop this timer just answer no to "Accept Defaults" before it reaches 0 - you can also start the unpacking sooner by answering yes to the prompt instead. -------- |Prompts:| -------- The prompts you will see when you are setting your defaults are as follows: ----------------- |CRC Checking: y/n| ----------------- This prompt now shows up regardless of whether the input file is an ARC or ZIP file, because the archive type isn't known at this time, but it is only valid on Zipped packets. This is a file integrity checksum (after the file is unzipped) and can be turned on or off. Even if a CRC errors happen, the offline readers seem to work just fine, so the importance of this information and choice is yours. One reason to turn off CRC checking is if you want to run the OLR regardless of the result of the CRC check. * Note: Any error during the unpacking will cause QPE to stop when control is returned to BASIC and before control is given to the OLR. Should an error occur during the unpacking and you wish to continue (only recommended with a CRC error), you can type in "cont" and press Page 2 QPE v1.80 (C)94-97 by David Schmoll: 07-10-97 return, and the appropriate OLR will then load and run - this applies to both the un-ARC and un-ZIP option. Make sure you see the BASIC "ready" prompt before typing in "cont" and pressing return! If any other error occurs, besides a CRC, try running QPE again, and if an error occurs again, something is wrong with the QWK packet. --------------- |File to Unpack:| --------------- This is the name of the QWK packet that you downloaded. The .ARC or .ZIP extension is no longer needed unlike the full version of unzip128/64 ie: "qwk mail" works fine. Note that no error trapping is done if you give a bad name, as memory is at a premium, and this goes for all these prompts! ------------------- |MAXIMUS Kludge: y/n| ------------------- Sometimes when you have downloaded from a Maximus BBS, a extra chr$(0) needs to be appended to the QWK packet before it can be successfully unpacked. So if you have unpacking problems, try answering yes to this prompt. ------------- |Input Device:| ------------- This is the drive unit where the QWK packet that you downloaded is located. ----------- |Input Path:| ----------- This is the drive path where the QWK packet that you downloaded is located. Non CMD users will use drive 0, while CMD users will give the path location, such as "3//wherever/". Do not add the ending colon as that will be appended for you to overcome the error message that BASIC will give you should you include one. -------------- |Output Device:| -------------- This is the drive unit to where the extracted files from the QWK packet are to be extracted. ------------ |Output Path:| ------------ This is the drive path to where the extracted files from the QWK packet are to be extracted. Non CMD users will use drive 0, while CMD users will give the path location, such as "3//wherever/". Do not add the ending colon as that will be appended for you to overcome the error message that BASIC will give you should you include one. ----------- |OLR Device:| ----------- This is the drive unit number where, depending on computer mode, Page 3 QPE v1.80 (C)94-97 by David Schmoll: 07-10-97 either QWKRR128 or QWKIE 64 is located. 64 and 128 modes are set separately. --------- |OLR Path:| --------- This is the drive path where, depending on computer mode, either QWKRR128 or QWKie 64 is located. Non CMD users will use drive 0, while CMD users will give the path location, such as "3//wherever/". Do not add the ending colon as that will be appended for you to overcome the error message that BASIC will give you should you include one. 64 and 128 modes are set separately. ------------------------- |Set CONTROL.DAT Time: y/n| ------------------------- This is only seen when QPE is run in 128 mode, and it gives you the option when using QWKRR128 to set the date from the control.dat, in case you do not have a Real Time Clock (RTC) available. ------------------ |ALL/DAT/NDX: a/d/n| ------------------ This allows you to select how much of the QWK packet is extracted: 'a' extracts all files, 'd' extracts only the 'control.dat' and 'messages.dat' files, and 'n' extracts the 'control.dat', 'messages.dat', and all the files ending in '.ndx'. 64 and 128 modes are set separately. ---------------- |Exit to OLR: y/n| ---------------- This prompt allows you to chose whether you exit QPE to the OLR or reset to Basic. This change allows you to just unpack the messages.dat file and not run the OLR. The reasoning behind this has to do with how I run scripts with EZ Loader (my cool menu program), the reset returns me to EZ Loader and lets me decide when and how I unpack and read QWK packets. ------------------------ |Accept QWKRR Drives: y/n| ------------------------ You will only see this when QPE is run in 128 mode, and it allows you to bypass the usual drive prompts that QWKRR128 asks for and accept whatever is defined in the QWKRR128 default file. ------------------------ |Accept QWKRR Drives: y/n| ------------------------ You will only see this when QPE is run in 128 mode, and it allows you to bypass the usual drive prompts that QWKRR128 asks for and accept whatever is defined in the QWKRR128 default file. --------------------- |SAVING CONFIGURATION:| --------------------- After the options are set, you can save the changes to disk if you Page 4 QPE v1.80 (C)94-97 by David Schmoll: 07-10-97 desire to, otherwise the changes are for the current session only. When the changes are saved, the entire program QPE is saved using dynamic keyboard methods; so beware of renumbering QPE, as this can cause problems during the save, otherwise minor changes are possible to QPE to meet your needs! The program saved is called QPE, while the master version is called QPE.BAS. This prevents you from destroying the original should something go wrong! ------------------------ |FILES INSIDE THE PACKET:| ------------------------ The files inside of the QWK packet can vary by BBS, and the files needed depend on whether you are using QWKRR128 or QWKie. QWKRR128 currently only needs the files "CONTROL.DAT" and "MESSAGES.DAT", while QWKie needs the files "CONTROL.DAT", "MESSAGES.DAT", and the files ending in ".NDX". I have now added the ability to only extract the files actually needed by the respective OLR program in both UN-ZIP and UN-ARC format. NOTE: I have been informed that future versions of QWKRR128 may use the files ending ".NDX". If the archive is found to use PKZIP 2.04g compression then the program will immediately warn you and end. -------------- |PATH WARNINGS:| -------------- QPE, CONTROL.DAT, AND MESSAGE.DAT do not need to be on the same disk or partition as either QWKRR128 or QWKie 64, but be aware that the current version of QWKie doesn't recognize CMD paths, so if you unpack to a sub-partition that is not the current partition as well, QWKie 64 will not automatically see it until you make that path or partition the current one. Fortunately, this can be accomplished with the QWKie Dos command (wedge) very easily. The path information is for CMD drives only (Ramlink, Hard drive, Ramdrive, and FDx000) and does *NOT* support 1581 partitions. If CMD path information is entered, the it must follow the general form of "x//wherever/" - where x is the actual partition number, the "//" means start from the root partition, "wherever" is the subdirectory name, and it must end with a "/". The ending "/" is a change from the earlier version of QPX by Russell Prater! Alternately, the 0 in the path becomes the drive number that the other Commodore drives understand, and no error checking is done if things are wrong. A ":" is appended to either path style to complete the path name! ------- |RAMDOS:| ------- To use Ramdos with QPE, load and run the basic loader called rdqpe.bas. You will have a 5 second count down, giving you the chance to install Ramdos, otherwise Ramdos will be re-installed as device 15. The interface page for Ramdos is at 38 ($2600) for the 64 and at 14 ($0e00) for the 128. At the prompt "Install Ramdos", any answer Page 5 QPE v1.80 (C)94-97 by David Schmoll: 07-10-97 other than "y" will reinstall Ramdos, maintaining the Reu contents. Installing Ramdos will clear the REU, as it does in the normal Commodore Ramdos installation program. In normal operation, you do not have to answer anything as the default is to reinstall Ramdos. Keep in mind that Ramdos will crash if you try to reinstall Ramdos when it has never been installed or has been corrupted! ------------- |MEMORY USAGE:| ------------- Memory usage for the special 128 UNZIP modules is currently: $1300 - $1bff, $3400 - $3fff and $0400 - $0801. QPE memory usage will use any normal basic area not used by the ML or buffers. Memory for the buffer storage needed by the all of the UNZIP modules is from $4000 - $ffff. When running in 64 mode, QPE will set the top of free basic memory to $25ff so variable memory is not corrupted during the unzipping - otherwise the ability to call QWKie would not then be possible - note this is also due to the memory usage of the new 64 unzip module which is currently from $2700 - $3fff. * NOTES: Zero page is saved to $3f00 when the unZIP modules are called, to avoid corruption, and then restored when control is returned to QPE. ----------------- |Files in Archive:| ----------------- unzip128 Main stand alone version for 128 mode. unzip.64 Main stand alone version for 64 mode unzip128.docs UNZIP128/64 User guide. unzip1.ml part 1 of 128 unzip sub-module. unzip2.ml part 2 of 128 unzip sub-module. unzip3.ml part 3 of 128 unzip sub-module. unzip4.ml part 4 of 64 unzip sub-module. qpe.bas QPE Basic program. qpe.bas.docs QPE user guide - this file. nzp.qpe.doc.ptr Doc printer. nzp.copier.ml Machine language for Doc printer. rdqpe.bas Ramdos loader for QPE. rdqwkie.bas Ramdos loader for QWKIE rdunzip.bas Ramdos loader for UNZIP128/UNZIP.64. Page 6