PC implementation

Introduction

EDA-PC is a full implementation of EDA, with many PC-specific enhancements.

Note that <ctrl/Z> or <break> refer to a key on your keyboard, i.e. <ctrl/Z> means hold down the <ctrl> key and touch the Z key.

In most cases you will call EDA by typing

    EDA
When you are in a multiuser setting, EDA might prompt for your name and not let you continue if you are not a registered EDA user.

As EDA may be adapted to a wide range of computing environments, you may want to read the local documentation before starting to work with EDA. In order to do so type

    EDA ?
This command form will display a message and does not enter EDA, i.e. after the message display you will be back to DOS.

System or group coordinators: Check the EDA Administrator's Guide as well as the PC supplement to find information on how to set up EDA for your local environment.

Graphics characters

The PC version uses the extended ASCII data set with the semi-graphical characters to enhance many displays. Note that the characters you will see on the screen can be modified, if you do not like them. See the SET GRAPHICS command in the manual. The character set used is defined in your profile. See also the section on printing files for potential problems.

Special keys

<ctrl-Z>
<Ctrl-Z> followed by <return> has the same effect as the // signal in EDA (end-of-input condition or cancel).
<Scroll-lock>
EDA checks the scroll lock key, used to pause display. When you hit <scroll-lock> key, EDA will stop displaying, the status line will show a blinking "SCRL LOCK". Hit the <scroll-lock> key again to let EDA continue.
<PAUSE>
(Older keyboards do not have such a key) The <PAUSE> key stops the display. Use the space bar to continue displaying.

There is a slight difference between <scroll-lock> and <pause> as <pause> will work everywhere outside EDA (DOS); <scroll-lock> however is controlled by the EDA program (and displays the "scrl lock" message on the status line).

<ESCAPE>
Hitting <ESCAPE> causes EDA to stop the current command. In fact this key is only checked during display; therefore if you are in a lengthy computing phase, you will have to wait until EDA attempts to display something on the screen. See below the section on "Running EDA" for details (Display pause).
<Break> amd <ctrl-C>
Normally <ctrl-C> or <break> is used to interrupt a program and return to DOS. EDA tries to avoid returning you to DOS. <Ctrl-C> or <break> may (sometimes) be used to interrupt the current EDA command, control then returns to the EDA command line prompt. Unfortunately depending upon the DOS version and your computer's, compatibility) this feature might not work in all conditions, i.e. <ctrl-C> will abort EDA. See <escape> above for a safe (partial) alternative to this problem.
Function Keys <F1> through <F10>
Functions keys may be used to invoke defined lines macros. Refer to the DEFMAC command for a detailed explanation. Note that these macros may also be defined from your profile, i.e. some macros may be defined at startup time. Type STAT MACROS to see whether macros are defined and what their meaning is.

Technical note: Only <F1> through <F10> are supported. The <F11> and <F12> keys on extended keyboards are currently not active.

Function keys are only treated as such when they are activated before any other key is touched (whenever EDA invites you to type a command). This means specifically that only the first key you strike at the beginning of a new command is checked; this includes all keys, specifically the <backspace> key, i.e. (it's a bit awkward, sorry for that) you may not start typing a new command, then after a few keystrokes you remember that the same command is available as a function key, you then decide to erase the characters you have already typed...this will not work...

DOS interface:

If enough memory is available you may call DOS commands or any other program by typing the command preceded by a $ sign. If the command line contains only a dollar in the first column then a new command processor is loaded and you will see the DOS prompt inviting you to enter DOS commands. Type EXIT to return to EDA.

There will not be much memory left when you access DOS this way, i.e. you will not be able to execute large programs like word-processors or data bases; on the other hand this facility is quite useful for simple tasks, like finding a file, formatting a disk etc.

Be careful to use only well behaved programs which do not corrupt memory. Never install a resident program (like Borland's Sidekick, DOS's PRINT driver or other utilities. If you do so despite the warning the following will happen: (take PRINT as an example) If you type the PRINT command for the first time since booting, DOS will install the print driver in memory after the EDA program. When you go back to EDA and later QUIT EDA, DOS will not release the memory used by EDA, as it the print program occupies the memory after EDA (this is the way DOS manages memory). The only way out is to reboot your computer in order to get all the memory. back.

Furthermore you should be careful with the current directory. A CD command changes the current directory, where EDA has possibly stored some temporary files. Therefore if you do not come back to this directory before typing the EXIT command, EDA might have problems in locating these files (producing error messages you probably have never seen).

If there is not enough RAM to load the command processor, EDA currently behaves badly, it says that there is not enough RAM and dies...try this out before entering precious data into the WA (remember the work area is held in memory).

Note: If the interface does not work (e.g. entering just a $ in order to leave temporarily to DOS), check that your command.com can be reached (via the COMPSPEC variable or a PATH definition) and there is enough memory.

Additional commands

*READ/*WRITE SPREADSHEET
The *READ and *WRITE command have a SPREADSHEET option used to read and write spreadsheet files (Lotus 1-2-3 files). This feature is documented in the section on raw data files.
STAT SYSTEM
   STAT SYSTEM TIMER or TTICKS
            FREE [letter]
            DIRECTORY
STAT SYSTEM TIMER may be used for timing purposes, it displays and stores in $0 the number of ticks after midnight. The following example illustrates a potential use of this command.
    >STAT SYSTEM TIMER
    >LET B=$0       ! Save the number of ticks to B

<sequence of commands>

>STAT SYSTEM TIMER ! get the ticks after the event >LET T=$0-B ! T now contains the number of ticks

STAT SYSTEM FREE [letter]
Shows the free disk space on the current drive or on the drive specified by <letter>.
STAT SYSTEM DIRECTORY
Displays the name of the current directory. (Also stored into Z$)

Print files and Printing

Default print files have their names constructed the following way:

dmmss.EPF

where dmmss are portions from date and time at file creation. (You may specify your own file names on the PRINT command if you wish to do so). Note that when selecting the Keep option when asked what you want to do about the print file, you will be offered the choice to change the default name, i.e. renaming the file to something more meaningful to you.

Important
Printing on the PC may take some time and tie up your machine for a lengthy period. If you use the default way of printing (answer Print when leaving EDA or use PRINT SEND from within EDA), the print file is copied to the printer and then deleted. If your printer's buffer is small or the print file longer than the buffer you will have to wait until the PC finishes printing, before you can continue to work.

There is a solution around this problem: You do not use the default method for printing, but answer K[EEP] when leaving EDA or terminating the print file with the appropriate option of the PRINT command and print the file after leaving EDA using the standard DOS commands.

(*) This could also be achieved with an EDA macro: open the print file using your own name; terminating it from within EDA and using DOS's PRINT command to send it to the printer via the system interface in EDA $PRINT filename and using your own way of managing the print file name.

The PC version uses graphics characters in plots, boxplots and the like. Many printers support these characters, others don't (your printer should support the full 8-bit ASCII character set). In the second case you will need to work with standard symbols. Issuing the SET GRAPH RESET STANDARD command will return you to the standard values (using only symbols of the 7-bit ASCII character set (on the screen as well as in the print file). If you want to come back to the PC graphics characters type SET GRAPH RESET DEFAULT. (See the SET GRAPH command and the administrators guide if you want to change the character set and/or have additional sets defined.

Note that you might have a similar problem with some word processors, i.e. they use only the standard 7-bit ASCII character set. Check this first, before loading images from EDA into your word processor. Some word processors have options, where you may instruct it to keep the 8th bit or to discard it. [This problem arises mainly with old-style word processors or other programs from the States. But in the meantime most software houses have learned that you need this full character set (it contains also the special european characters, accents etc.) and this should no longer be a serious problem.]

(*) Technical notes: Printing is done using COPY <printfile> PRN). Using the PC's PRINT command would have disadvantages: EDA (currently) cannot check if the print driver is installed and cannot remove the file after printing is actually over. Hackers: If you prefer the PRINT method by default you can use a patching program, e.g. DOS's DEBUG or another special editor (e.g. from the Norton utilities or PC-tools) and patch the EDA.EXE file; look for COPY and PRN and overlay COPY by PRINT and PRN by three spaces.

Running EDA on a PC

Numerical exceptions
The message "Watch-out: numeric exception", appearing after command termination, means that during the execution of the last command some numeric exception occurred, i.e. the results may not be what you expect. In practice the occurrence of such an exception (division by zero, underflow or overflow) means that your data has some problem, e.g. variables with no variance or two few cases; entering several times the same variable into a factor analysis or the like. Therefore the conclusion is most often that in any case the analysis does not make sense, examine your data and proceed accordingly.
PC environment
When working with a PC do not forget that your computing environment, while conveniently sitting on your desk, has some constraints and weaknesses. On a small computer you might encounter problems only system's people see on a larger ones, namely problems with disks and computer hardware; problems with electrical power, hardware and software failure usually hit the user directly. Larger systems shield you in most cases from this kind of trouble.

But fortunately most microcomputers are running quite well; disaster strikes mostly when you do not have time for it: finishing a report, after you have entered a lot of data, when the (only) knowledgeable person is on a long holiday.... you surely know the story ...or do not believe this ... yet, until it happens to you personally.

This section gives some additional information on working with EDA on PC and problems you might encounter.

Disk space warning
EDA will refuse to start when there are less than 2K Bytes of free disk space on the current drive. EDA needs some disk space for temporary storage on the current drive, i.e. the drive (and directory) from which you called EDA. [Important: This IS NOT necessarily the drive on which the EDA program resides, but the drive from which you start the EDA program].

If there is less than 20K bytes of free disk space on the current drive EDA issues a warning when you start. Heed this warning when you intend to work with work areas containing many documents or if during your session you intend to record all output into a print file or intend to save many work areas. Note that the warning is issued for the current drive only, i.e. when the the EDA libraries are not stored on the same drive, EDA will not see the problem.

Do not forget:
Display pause: scroll lock
Most EDA output fits on a screen. However commands displaying lists of numbers and the like might produce lengthy output. This output often scrolls off the screen too fast. For this situations EDA offers display control using the SET PAGE ON command, asking EDA to page its output.

The are other PC specific ways of controlling the display. [For technical reasons we cannot explain here, you cannot use the standard <ctlr-S>/<ctrl-Q> pair to stop/continue display].

There is a key labelled "scroll lock" or "scrl lck" or similar on your PC keyboard. While in EDA pressing this key pauses and no more information is displayed on the screen. The right hand corner of the status line then reads "SCRL LCK" and is flashing. The message appears only when the next screen output operation is requested. Therefore if you are within a lengthy computation producing no screen output for some time, pressing the scroll lock key will not change the status line, until something should be put on the screen. This does not mean that scroll lock has not been activated! Just wait. Hitting the scroll lock key again or touching any (operational) key [Non operational keys are: the shift, ctrl, alt, num lock and caps lock key]), except the <escape> key, continues the display of results. Hitting <escape> means that you want to stop the output of this command (the same effect as hitting the // command when using SET PAGE ON).

Hitting <escape> during normal display has the same effect, i.e. the current command is terminated.[Note that <escape> and <ctrl-c> have these same effect, as long as the DOS Break switch is off, i.e. ctrl-c is only checked during i/o operations. If BREAK is ON ctrc-c is checked continously. As it stands <escape> does not have the <ctrl-c> problem on some machines, i.e. stopping EDA.]

On standard 102-key keyboards (but not on older keyboards) you will find a <PAUSE> key. This key can be used to the same effect, i.e. pressing the key causes EDA to pause display. Pressing any operational key will continue display. <Pause> however does not alter the status line. This will probably not work with older DOS versions.

EDA files
EDA archive files (written and managed by EDA) should only be removed with the EDA DROP command (these files have usually an .EB extension and are found in the edalib directory). On the PC these files are made read only, i.e. you cannot remove or overwrite them, except with the appropriate commands. [Of course it is possible to remove the read-only attribute using the ATTRIB command (DOS), but then the directory file will not be up to date.]

EDAWORK (DOS variable)

Print files, raw data files, text files and other files not managed by the GET/PUT/DROP/DIR family of commands (i.e. EDA system files and libraries) will be written to and read from the current directory, unless you specify full path names like in *WRITE "c:\data\edadata\rawdat.asc".

Many people prefer to have their EDA related files in the same directory. Of course if you are a disciplined user you can do this by changing to that directory before calling EDA... but you might forget it sometimes.

If you define a DOS variable EDAWORK with an appropriate directory name, every time when you call EDA, EDA will change to that folder and drive automatically. If this is they way you want EDA to work include the definition of the EDAWORK variable in your AUTOEXEC.BAT file.

DOS variables are defined with the SET command (DOS SET command, not the EDA SET command!!), e.g. SET EDAWORK=D:\EDASTUFF\. Then when you call EDA, EDA will first change to drive D and the directory EDASTUFF. Note that EDA does not create that directory; you will have to do it with the MD (or MKDIR) command.

(*) Unlike the DOS CD command, EDA changes, whenever an EDAWORK variable is defined, the current directory AND the current drive if the directory in the EDAWORK variable is not on the same drive as the current drive.

Note also that EDA does not change back to the previous current directory after termination of the program, i.e. you are left in the EDAWORK directory.

(*) Technical hint: As EDA creates is temporary file on the current directory and drive, setting the EDAWORK directory to a faster disk or even an RAM-disk can speed up operations. Additional optimization hints can be found in the administator's Guide, PC Section.

Problem areas & trouble shooting

Files
EDA uses a number of temporary files, which, normally, are not visible to the user. If the program terminates abnormally (ctrl-C interrupt, a program but, turning the computer off, without QUItting EDA, reboot for any reason ...) some files might remain on the disk (either in the current directory or the EDA directory. The EDA directory contains a file called EDA.EXE and a number of files with the .OVL extension. All other files, except F77L.EER (error message file), need not be there. Files with the *.TMP extension are temporary files not removed correctly. Files of the form E&D&A... can also be removed (no matter in what directory you might find them).

Note that any abnormal termination might have left some files open, without closing them correctly. This means that DOS might have lost some information on that file (lost some clusters). In order to avoid problems on your hard disk later on you should check your hard disk by issuing a CHKDSK command. [CHDKSK checks your disk and reports problems. If you want to "repare" your disk you will have to use CHKDSK/F which writes corrections to disk. The information found in the lost clusters is written into files, you then may find in the root directory. Do not worry too much. In most cases these problems arise with EDA's temporary files, i.e. none of your data files.]

Warning: If you are using the DOS interface and change the current directory you might get a message that some temporary file cannot be removed. This will leave some temporary files on the disk in the directory from which EDA has been called.

Abort, Retry, Ignore
This message appears usually when you try to read a floppy disk. [If this message refers to a hard disk, you have a severe hardware problem.] and the drive door is not closed (or the disk is not formatted, or has some other problem. [e.g. You have a 360K drive, but the disk you have inserted is a 1.2M high density disk.]

If you intend to read or write on that disk (raw data file, print file and the like), insert a disk and close the door. Then answer R for retry.

In all other case reply I for ignore. In most cases EDA will then continue and produce (hopefully) a meaningful error message.

This message can especially appear with commands like DIR, GET or DICT, even if you do not want to use floppy disks. Here's the reason. Your profile might contain a reference to a user WA archive (library) which does not yet exist or you do not want to access. You might use the STAT WAArchives command to see what archives are searched. As this archive is mentioned in your profile, EDA checks its presence, i.e. tries to read the disk, causing that message to appear. Just answer I for ignore and EDA will continue as usual.

This message is also issued when you attempt to write to a write-protected disk, e.g. when PUTting a work area. If you want to write on that disk, remove it from the drive, remove the write protection, re-insert the disk and answer R for retry. DROPping a WA form an archive on a floppy produces the same message with write protected disks.

Caution: Do not answer A for abort (unless you really want to), causing all activities to be aborted, i.e. EDA will be terminated and you will be back in DOS.

Ctrl-C problem
<Ctrl-C trapping>: as mentioned above: Depending upon the MS-DOS version and your machine, hitting ctrl-c will not only kill the current EDA command, but kill EDA and return you to DOS.
Not enough RAM
Local storage is acquired dynamically on the stack. This means that when you have too many resident utilities loaded, EDA might abort saying that there is not enough RAM. This is most likely to occur when using the system interface (printing also uses this interface). Leaving about 30K above the EDA size is likely to be save.
Resident utilities
Before using EDA for serious work, check whether EDA runs safely with your resident utilities loaded and working when you call them.
Trouble on networks
On PC-networks additional problems may arise.