---<< Foodo >>--- 1/1/94 Foodo, the FidoNet compatable, CP/M mailer and file requestor system. By, Bruce Dudley, SYSOP Z-Node 62 RCPM, Perth, Western Australia Modem speeds to 2400bps, Fido address 3:690/718, FlightNet 48:310/503 BBS Phone: 61-09-450-0200 Private Phone: 61-09-402-1119 Any queries can be directed thru the CPMTECH Fido mail system or via Netmail to the above FidoNet address to me, Bruce Dudley. Thanks go to Paul Macdiarmid for his input and bug reports and to Ron Murray who started this mess. ------------------------------------ The Foodo set of programs will allow you to, when setup, access hundreds of BBS systems from around the world. With both mailing facilities when used in conjunction with the PBBS v5.x Public Bulletin Board by Ian Cottrell, and program files requesting and much more. Prerequists to run the Foodo set of programs: 1/ A CP/M computer running CP/M 2.2, CP/M 3.0 or MyZ80 for the PC 2/ ZCPR 3.3 or better. 3/ A clock.. Can get by without one but it's best when used with a clock. 4/ A termacp that conforms to the VLIB 4.2 standard. [Look in Examples.Lbr] 5/ A modem. 6/ A BYExxx format, serial I/O routine to suit your particular computer. 7/ A BYExxx format, clock routine to suit your particular computer. 9/ The nodelist 9/ Lots of time! And when used as a mailer system as well: 10/ BYExxx installed 11/ The PBBS v5.x Public Bulleten Board System by Ian Cottrell. 12/ And more time! The Foodo set of programs comprises of: Setup.Com, Cornflax.Com, Pancake.Com, Freezer.Com, Autocook.Com and Node.Com plus six ancillary data files: Events.Cmd, Setup.Dat, Foodo.Log, Lastevnt, Default.Z3t and sometimes Arcmail.Sub. To setup the system you will need to edit at least three files, namely CornOvl.Z80, CookOvl.Z80 and PanOvl.Z80. CornOvl.Z80 needs your ZCPR environment address entered into the file. This is because Cornflax.Com gets called directly from BYE and thus the env address is not loaded. Also in CornOvl is an option for your STD area phone number. Enter the correct digit(s) where it says to do so. These digits are the ones that immedatley preface your phone number in the nodelist. Cornflax strips all the numbers upto and including the STD area code for your local area. Note also the options for modem and modem string settings. PanOvl.Z80 similar to CornOvl has an option you the enter your STD area code. It's mainly for asthetic reasons rather than for functionality. Also, again if you have a diffrent name for clock routine other than 'clock.lib' you need to alter this setting. CookOvl.Z80 only needs editing if you have a different name other than 'clock.lib' for your clock routines. All three files need to be assembled to a .HEX file and using MLOAD or similar utility to overlay their respective .COM files. A file you will need to create yourself is 'default.z3t'. This name can be altered in the Setup program. Default.Z3t is a 128 byte file of your ZCPR termcap. It's required because BYE clears the termcap buffer after a caller has log off. When Cornflax gets ran from BYE, Cornflax needs to load the correct termcap into the termcap buffer. This file 'default.z3t' is your termcap. Only really needed if your are running a BBS with BYE. The termcap has to conform to the Vlib 4.2 definition. Examples of this termcap are included in EXAMPLES.LBR. Take note. The PBBS v5.x referred to above and needed to run a BBS in a FidoNet environment has at this stage not been released to the public. Hopefully in the not-to-distance future this will change. The PBBS I use has been specialy altered and enhanced to be more functional in a FidoNet enviornment. If you are really keen please let me know and between myself and Ian Cottrell we can get a copy to you. Same applies to the BYE program too. --------------------------------------------------- << SETUP >> Setup.Com - This program is the main configuration program. 99.9% of all Foodo defaults can be altered, on the fly, using this program. It creates and maintains a data file called Setup.Dat. This is a 6 record data file that all the Foodo programs will access for their various needs. eg. Drive/User areas for different functions, Termcap information, Modem speed, Mail address , Mail names etc.. If your running a 'point' address. As a 'point' the NET number is actually your boss NODE number _plus_ a zero. For example; say your boss address is 3:690/718. You have been told that you will be 'point 5' off this system. Use this method.. EG 3:7180/5. Note that the Net address of your boss does not come into it. Also note the zero on the end of the Node address, four digits..then your point number. --------------------------------------------------- << CORNFLAX >> Cornflax.Com - As the name implies, it does serial I/O. Cornflax communicates with other Fidonet compatable systems. It will send and receive programs/mail via the modem. To use Cornflax you will need the serial I/O routines to suit your particular computer. Rather than re-invent the wheel, there are a great deal of I/O routines for the BYExxx program. Find the BYE overlay [they are usually available on many RCPM bbs's] that suits your computer, rename it to 'modem.lib' and use the supplied submit file to create a usuable Cornflax.Com program. The same applies for the clock routines. Rename it to 'clock.lib' Becuase of CP/M constraints, Cornflax uses the Telink format for file transfers. Telink is a step above Xmodem and side step of Modem7. If you are using a CP/M 3.0 system and using Simeons Cran's ZPM CP/M 3 BDOS replacement, Cornflax offers a few extra feautures. Such as during file tranfers from your machine to the remote machine, time and date information is maintained with the file being sent. This pre-supposes you have setup datestamping on your CP/M 3 system. Cornflax can do 'file attached' transfers. This is when you are sending a file or group of files to a remote system. The file(s) being sent have to be either in the default outbound DU: area OR if not, you can add the DU: reference into the attach file list. Further, if the file is not in the default outbound area the file(s) being sent have to have the F3 attribute set. This is done for two main reasons. First, in an RCPM environment having the F3 attribute set allows the file to be downloaded without question [ala ZMD.COM] and makes the files available on the BBS to a bit more secure. ie; No one can 'File Request' a file and receive it unless the F3 attribute is set on the file. [Unless the file is in the default outbound area] In the Foodo.Log file that Cornflax maintains, apart from other information if someone were to request a non F3 tagged file the log will show it as being an 'Illegal File' being requested. Second, using SD.COM one can get a listing of all the files that are available for file request. eg: SD /3 ----------------------------------------------- << PANCAKE >> Pancake.Com - The mail tosser. Pancake imports and exports mail to and from the PBBS message base. [messages.pbs and msgindex.pbs] The format of received mail packets is the .PKT format. This format is common across all Fidonet compatable BBS systems. Pancake is also the program for creating 'file(s) attached - file(s) requests, and file(s) on hold. To explain further, 'file attached' is a method of sending mail and/or a list of programs to a remote node. 'file requests' is the method used to request a list of programs from a remote node and 'files on hold' is where you can keep files and/or mail on hold for a particular node. When the designated node polls your system and a .HLO file is present, what ever files contained within the .HLO file are sent to the calling node. By the way - File Requests are a _very_ convenient way of downloading files from a remote BBS without having to actually log onto the bbs. Say for example you wanted to get a file from Z-Node 62 RCPM BBS. The syntax to request [download] 'FOOBAR.DOC' would be thus: First you need to get a request file: PANCAKE /q 3:690/718 1> FOOBAR.DOC 2> This will create three files in your outboud DU: area. 02B202CE.FLO, 02B202CE.REQ & 02B202CE.OUT Then to actually get the file: CORNFLAX /s1k Sit back and watch! The .FLO file contains a list of file names being sent. In this case it will be 02B202CE.REQ. The .OUT file or to call it by it's correct name, 'poll packet' is fundamental to the operation of Cornfalx and indeed any Fidonet mailer system, not just a CP/M mailer like Foodo. Within the .OUT file contains information the remote computer uses to identify the calling system, date, time, network address and other needed info. No .OUT file, Cornflax will do nothing! The .REQ file contains a list of file(s) in ASCII, that are being requested which inturn the remote systems looks at to see what file(s) the calling system has requested. Both the .OUT and .REQ files are sent to the remote system. The .FLO is not sent and gets erased once the session has ended. One other file that Pancake creates is the .HLO file for 'files on hold'. It's in the same format as the .REQ file except for the extension. It will sit in your outboud DU: area untill the designated system polls you or you erase it. -------------------------------------------- << FREEZER >> Freezer.Com - The automated mail unpacker. When receiving mail from a remote BBS it usually arrives in some archived format. Usually by arrangement with your main boss node you can agree on the archive method. For a CP/M system the In a nutshell, Freezer creates a submit file to do the mail unpacking. Depending on the CP/M version [2.2 or 3.0] you are using as to how Freezer will create the submit file, $$$.SUB for CP/M 2.2 and ARCMAIL.SUB for CP/M 3 systems. For CP/M 3 systems, Freezer will alter the CPM 3 search order to COM,SUB then chain to a file called 'ARCMAIL.SUB' I personally use ZEX renamed to SUBMIT.COM and it sits in the default Foodo DU: area just for this purpose. As the CP/M 3 search order gets altered to look for .COM & .SUB files, ZEX runs ARCMAIL.SUB which inturns unpacks the ARCmail that arrives and places the unpacked mail into the inboud mail DU: area. Then, all things being equal, the ARCMAIL.SUB file gets erase and you get placed back into the default Foodo DU: area. CP/M 2.2 systems are a bit simplier though and a bit less limited. A $$$.SUB file is created on A0: and then the CCP gets used to execute the instructions. In both cases UNARC.COM is expected to be somewhere in your ZCPR path. ----------------------------------------------- << AUTOCOOK >> Autocook.Com - It schedules events. It reads a user-produced ASCII file called EVENTS.CMD. Supplied is 'events.cmd' for examples. This file is a standard ASCII file and you use your text editor to edit the file. In a RCPM environment this program is called by BYE (or equivalent) at regular intervals to check for any pending events. Information about events in the following format: Hourly: H