home *** CD-ROM | disk | FTP | other *** search
- ;
- TEX.COM
-
- Size (recs) CRC Version Author/Latest Issue Disk
- 9k (70) 9D19 1.3 Jim Lill 8/89 Z3COM9
-
- 1- Syntax 2- TEX Commands 3- TEX.VAR 4- Notes 5- Examples of Use
-
- Time EXecution is a time-scheduling program for ZCPR3. It allows entry of
- entire command lines with associated absolute execution times and optional
- repeat intervals. The maximum number of command lines allowable is at present
- 20 (but alterable in the source code). TEX operates as a ZCPR3 shell, whose
- function is to determine when a command line should be executed and to put it
- in ZCPR3's Multiple Command Line Buffer when it is due.
-
- TEX requires a Z80 processor, ZCPR3 or ZCPR33, and a real-time clock. Vs
- 1.0 by Ron Murray (4/88).
- :1
-
- Syntax TEX [command file] /options
-
- ...where <command file> is an optional file containing TEX commands as
- above (these can be prepared using a text editor, and can be useful for often-
- used commands). Default filetype is .TEX if none is specified. The only
- option at present is /C, which deletes any current TEX.VAR file and thus
- starts TEX with no embedded commands.
-
- After loading, TEX will install itself as a shell (if possible), then read
- any specified input file. It will then try to read a TEX.VAR file (unless
- disabled with the /C option) to load any pending commands. It will then
- display the user prompt, which is similar to the standard ZCPR3 prompt
- (including any named directory information), but preceded by the current time,
- e.g. [21:55] B0:WORK>
-
- This time is updated once each minute, to demonstrate that TEX hasn't
- fallen over.
-
-
- At this point normal commands and TEX commands can be typed. Note that
- even a simple directory change requires reloading of TEX after completion:
- all commands (except control-C) are loaded into the Multiple Command Line
- Buffer and control is passed to the CCP. There are also some control
- functions performed by single keys, as follows:
-
- Control Keys
-
- - Line-feed gives a short help display.
- - ESCAPE will cause TEX to terminate (the current commands will be saved in
- the TEX.VAR file).
- - Control-D gives a display of current commands.
- - Control-E will allow commands to be deleted. The user is prompted with a
- request for the number of the command (obtained with the Control-D
- command), the command line is displayed, and the user asked for confirma-
- tion before the line is deleted.
- :2
- TEX Commands - 1/2
-
- The general format of a TEX command line is:
-
- TEX commands;required command line;other commands as normal
-
- Note the semicolon required between the TEX commands and command line. TEX
- will flag an error if this is omitted.
-
-
- There are presently three TEX commands to specify execution details. Their
- order in the command line is unimportant.
- TEX Commands - 2/2
-
- !X [dd:mm:yy] hh:mm[:ss]
- - Specifies an absolute execution time. The date and seconds are
- optional, as indicated by the brackets. If the date is not
- supplied, execution will proceed on the current day. If no !X
- command is supplied, execution commences immediately.
-
- !R [/days] hh:mm[:ss]
- - Specifies a time period for repeated execution of the command
- line. Days and seconds are optional. If no !R command is
- entered, the program is run once at the specified time, then
- deleted from the execution list.
-
- !P number
- - Specifies a priority for the command, in the range 1 to 254, where
- 1 is the highest priority. If no !P command is entered, the
- default priority (99) is used. Priority can be specified to
- ensure that a given program executes before another, if they are
- scheduled at the same time.
- :3
- TEX.VAR
-
- When TEX executes a program, all current commands and their time
- information are saved in a disk file called TEX.VAR. The distribution version
- of TEX saves this file in the root directory, but either a re-assembly, or
- your favorite patcher, will allow any other drive/user area combination to be
- used. Either modify the source code at the rootfl: and nrdu: labels (comments
- in the source will assist), or use a file patcher. To assist this, there are
- two "signposts" just after the beginning of the code (at 0110h). The byte
- after the ROOT> signpost should be set to 0ffh if the ROOT: directory is
- required. If not, this byte should be set to zero, and the bytes after the
- following signpost (DU:>) modified to the required drive and user area (drive
- first, (A = 0), then user area 0-15 (16-31 might work; who knows?)). If you
- have a RAM disk or hard disk, it's probably better to force the use of this as
- TEX will load and save the TEX.VAR file more quickly.
- :4
- TEX Notes - 1/2
-
- a. Since TEX is a shell, it can only schedule and run programs when it is
- itself running (when all other programs have terminated). You can use
- your computer normally while TEX is running, with a short delay after
- each program is run while TEX reloads itself and loads its variable
- file, but programs scheduled for execution while other programs are
- running will not be executed until TEX is entered after the first
- program terminates. TEX is not a multi-tasking system.
- TEX Notes - 2/2
-
- b. Vs. 1.1 updates
- - fixed bug which stopped new commands from a .TEX file from being saved
- in TEX.VAR if there were more commands on the command line.
- - ASCII command file on invocation now defaults to .TEX
-
- c. Vs 1.2 updates
- - fixed bug in shell routine which resulted in bad command lines for
- user numbers greater than 9
- - fixed bug which caused bad time addition for repeated execution
-
- d. Vs 1.3 updates
- - replaced BCDBIN with JBCD2BN from ZSLIB
- - modified GETTIME to use DSLIB/ZSLIB routines so ZSDOS, Z80DOS or CP/M+
- clocks will all work
- - assembled ok as-is with SLR Z80ASM
- - tested with ZSDOS only, see excerpt from DSLIB.HLP below
- :5
- Examples of Use
-
- a. !X 06:30 !R /1;SAK /B WAKE UP!
-
- - schedules SAK to ring the console bell continuously every day at
- 6:30 am!
-
- b. !R /2 10:5:3 !X 15/3/88 12:04;SEND NEATPROG.WOW;SAK /BP10 SENT
- >> IT!;MAKE COFFEE
-
- - schedules the program SEND at 12:04 pm on March 15, 1988 with the
- parameter NEATPROG.WOW, then schedules SAK to ring the console for 10
- seconds and type SENT IT!, then make the coffee (!). Finally the
- whole sequence would be re-scheduled to occur again 2 days, 10 hours,
- 5 minutes and 3 seconds later.