Tips and Answers November 1992

Answers:

This month Frank Leonhardt explains why all maths processors are not the same and suggests a strategy for making disks go as fast as possible for as little as possible.

Tips:

Reginald Clove has a tip which may improve Windows File Manager's reputation and Shane Devenshire has some more spreadsheet programming hints.


Computer Answers November 1992

I have a Compaq Deskpro 386/20e and I am trying to get Autocad Level 10 (bought in the USA) to work with the Witek 11/87 maths co-processor I have installed. I think this is Intel co-processor compatible and so it should work, and it is a long way to go back to the dealer - what is wrong?

David Blundel

The 80386 can only deal directly with integer numbers - those with no fractional part. Calculations with real, or floating point, values can only be accomplished by slow iterative software or by using an external floating point unit (FPU) - sometimes called a co-processor, though there are co-processors to deal with many functions other than floating point maths.

Autodesk have always said that AutoCad should work with any FPU as long as it is made by Intel. It is been tested with 80287 and 80387 FPUs (and the i486's built-in floating point instructions) but no claims are made about compatible chips. However, many people do use it successfully with Cyrex or ITT equivalents.

Alas, Witek FPUs are not compatible with the Intel devices. In fact, they work in a completely different way. A 287/387 is a co-processor and works by intercepting extra floating point instructions destined for the main processor and dealing with them itself. In order to do this they have been designed to work closely with the main processor - sharing instruction cycles and data all the time - and each new CPU will need a new FPU to work with it.

Witek FPUs are memory mapped into the address space of the CPU. To perform a calculation the CPU writes the operands into an area of memory and reads the result from a different address. This makes the FPU as easy to interface as a RAM chip because there is very little need to take the host CPU into account.

Witek FPUs are considered by many to be superior to Intel's efforts, and this was certainly the case in the past. It is, in fact, possible to install both types of FPU on one system and some CADD software can derive a significant benefit from this; but not AutoCad.

The Witek FPU you have is probably a 3167-20 - there is no such animal as a 11/87 I'm afraid. There is also a 3167-25 and a -33 to suit different CPU clock speeds. I suspect the 11/87 refers to November 1987 rather than 8087!

Even if you do have an Intel compatible FPU you may still have a problem. Early 386's had a had a bug which prevented them from working with co-processors correctly and this caused AutoCad Level 10 to break. There is a note in the manual telling you how to identify a buggy CPU - the only option is to have it changed.

American AutoCad users can register for support in the UK by 'phoning Autodesk on 0483-303322 and paying an appropriate fee, which includes an upgrade to the British version of AutoCad Level 12.

Independent support is also available, for a fee, from many CADD systems specialists such as Leonardo (0734 753477).

Frank Leonhardt.


I have an Amstrad 2086 with a hard disk. I want to run DR-DOS 6.0 and Windows 3.1 and have been considering upgrading to a 386 motherboard. Is this worthwhile or even possible?

G Tinsley.

DR-DOS 6.0 will run quite happily on your existing machine but Windows 3.1 realisticaly needs 40Mb of hard disk space, 4Mb of RAM and a 386sx processor or better. The claim that Windows will run on less is rather misleading. Windows may run on less, but the applications software which people are upgrading to Windows in order to run almost certainly will not.

The idea of swapping the motherboard in the Amstrad seems attractive but it may not be so easy because the physical dimensions and connector positions are not standard on Amstrad machines. It may be better to purchase a new case at the same time as the motherboard as this way you can guarantee it will fit. Cases generally come with a standard power supply which will have all the normal leads and connectors.

You should be able to salvage the disk drives from any Amstrad, and probably the monitor and keyboard from later models - early models such as the 1512 and 1640 were rather non-standard in this respect.

Frank Leonhardt


I have a 386 based PC with an IDE hard disk and a SCSI connected optical drive. In order to speed these up I am using Microsoft's SMARTDRV disk cache software but I would like to replace this with a controller incorporating a hardware cache in order to improve the performance and reclaim my system RAM.

As one drive is IDE and the other is SCSI I was hoping to find a hardware cache board which would handle both interfaces in the same was SMARTDRV does in software.

M Snell.

Cached controllers work by storing data in their own RAM before passing it back to the CPU. They are in a position to know what the CPU is likely to want because they are dealing with all I/O requests, and as all data passes through them they can easily store it for later re-use.

There is little benefit in designing a hardware cache outside a controller as this would incur an overhead both in passing the requests to the controller via the cache board and, more importantly, passing the data to the cache across the bus before returning it to the CPU RAM. The IBM PC bus was just not designed to make such transfers efficient and I have never heard of anyone trying, though there may be a case for implementing such a scheme under a more powerful architecture.

The best way to get your RAM back from SMARTDRV would simply be to buy more RAM - at around £120 for 4Mb (assuming standard SIMMs) it would be a lot cheaper than two caching controllers! You might like to consider a different software cache too, such as PC-Kwik (reviewed PCW ??????). This, and the PC-Tools offering, can perform considerably better than SMARTDRV in some circumstances.

Frank Leonhardt.

Computer Answers can be contacted on 081-429 3047, by Fax on 081-868 3754 or via e-mail as leo2@cix.compulink.co.uk or uab1018@dircon.UUCP.


Readers Tips November 1992

Document File Association.

Users of the Atari ST or Apple Macintosh will know how double clicking on an icon representing a data file can launch the appropriate application program, opening the file in question automatically. While browsing through the contents of a disk, this allows you to examine or modify the contents of a data file immediately; without having to remember how to run the creating application.

Many Windows users are unaware that Windows File Manager can accomplish a similar trick - once you have found an interesting data file then File Manager can automatically run a suitable application without the need to return to Program Manager or search through the disk for the necessary program.

This is most easily accomplished by selecting "Associate..." from File Manager's "File" menu having first selected an appropriate data file from a directory window. You will be presented with a dialog box asking you what you wish to associate files having that extension with. It wants you to type the full name of an application program, including the extension.

Once you have clicked on OK your choice will have been saved, and subsequent double-clicking on any similar document files will cause the application to be run.

For example, supposing you wanted to be able to un-zip any .ZIP files you selected in File Manager. First find a file ending in .ZIP and select it. Then select "Associate..." and enter "C:\BIN\PKUNZIP.EXE" (as appropriate to your configuration) and click on okay. That is all there is to it!

More advanced users can get he same effect by editing the WIN.INI file. There is a section labelled [extensions] which contains lines in the general form:

EXT=PROGRAM.EXE ^.EXT

The EXT= part means that this is the definition of what to do with files ending in .EXT and the remainder of the line is the DOS command line needed to run the program. The "^" symbol is substituted with the name of the data file minus the extension so .EXT is normally added afterwards. Knowing that this is how it works allows you to achieve more complex effects. For example, if you wanted to have File Manager list the contents of a .ZIP file when you double-clicked it you could add the line

ZIP=C:\BIN\PKZIP.EXE -V ^.ZIP

The -V option gives a verbose listing of the contents of the file. A further refinement would be to create a .PIF file named SHOWZIP, for example, which was set up to run PKZIP.EXE and had the "Windowed" radio button selected and the "Close Window on Exit" check box cleared. By changing the associated application to SHOWZIP.PIF you would get a window showing the .ZIP file contents every time you selected a .ZIP file!

Note also that you can only associate an extension with one program but you can associate one program with many extensions. Thus, by adding a number of lines to WIN.INI you could cause all .C, .H, .ASM and .INC files to launch Micro Emacs.

Reginald Clove, Paddington


Missing Data Detector

I recently wanted to enter a spreadsheet formula that would tell me if any of the formulae in a range had evaluated to zero since if they had I had left something out. I knew that all the cells in the range would contain some value - either zero or another number. While working on this problem a similar problem suggested itself: was there a way to determine if any cells in a range were blank when I knew they should contain a value.

I devised the following two formulae for these similar problems. My first suggestion is for columns of data which may contain blanks instead of a required value. Assume that you wish to see ERR in the SUM function for any column that does not contain some value in all the rows to be totalled. If the range to be summed is A1..S23 use the following formula:

@IF(@COUNT(A1..A23)=@ROWS(A1..A23),@SUM(A1..A23),@ERR)

On the other hand if each cell in the range contains a formula that either evaluates to zero or some value but is only complete when none of the formulae evaluate to zero the following solution will work. Assume the range is A2..A24 with the title "Name" at the top of the column in cell A1. Enter the formula:

@IF(@DCOUNT(A1..A24,0,CRIT)=0,@SUM(A2..A24),@ERR)

Also, enter the label "Name" in an empty cell and the value zero below it. Then name these two cells CRIT, using the Range Name Create command.

In both these situations the formulae will evaluate to ERR if the conditions are not met.


Changing Colour Display

For Lotus 1-2-3 release 2.3, if you wish to change default colours while in WYSIWYG the standard way is to issue the following commands:

: Display Color Replace then choose the colour you wish to replace, say Black:

Black

and finally type in a value from zero to sixty-three and press Enter.

Unfortunately, there are a number of disadvantages to this approach. First, most people won't remember what colours are associated with the 64 numbers. Second, even if you do remember, the result may not be what you expected. Third, to change the colour again you must go back through the whole procedure again.

There is a short cut. After you choose : Display Color Replace

Move (cursor) to the colour you want to change and press the up or down arrow keys to cycle you through all the colours without leaving the menu. As you cycle through the colours the screen will change accordingly. When you are happy you can escape form the menu, or press Ctrl-Break.

Shane Devenshire,
Walnut Creek, CA.


Moving PCW

If you are having trouble carrying the new, larger Personal Computer World back from your newsagent each month then do what I do - buy two copies instead of one. By carrying one in each hand you will find you no longer overbalance in strong winds and the tendency to drift dangerously in a wide arc is completely eliminated!

Nigel Smith, Harlow.

Computer Answers Archive Next edition Previous edition