Xref: utzoo comp.os.msdos.programmer:2799 comp.sys.ibm.pc.misc:5460 comp.periphs:3358 comp.sys.misc:3197 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!spool2.mu.edu!uwm.edu!linac!att!pacbell.com!pacbell!barn!everexn!thomas From: thomas@everexn.com (Thomas Poff) Newsgroups: comp.os.msdos.programmer,comp.sys.ibm.pc.misc,comp.periphs,comp.sys.misc Subject: GPIB (IEEE-488) driver from National Instruments Message-ID: <1991Jan10.005515.26738@everexn.com> Date: 10 Jan 91 00:55:15 GMT Distribution: na Organization: Everex Systems, Inc. Lines: 71 [flame on] Oooooooooooooooh I'm glad you brought this up. I had exactly the same problem with National Instruments very recently. I called them up, and they gave me the old sales pitch for their $300 software package, otherwise known as God's (pricey) gift to mankind. I wonder what ESP really stands for? It's pure greed. I urge everyone NOT to support these people until they alter their software support for their boards. These people are end-user hostile. [flame off] The problem with is with their software configuration. They have written a Microsoft C interface that talks to an MS-DOS driver which is loaded when the machine boots up. At first this seems like a feature, as you have access to these cushy C routines that talk to the driver for you. This causes two problems for programmers. Firstly, the total amount of code that is required for use with this board is more than it should be. By the time you add up the [memory] cost of the driver, the C code, and the C runtime library, the total is in excess of 80kb. Since it gnaws on so much System Memory, it is a problem for my project. Secondly, since the C runtime library must be included, this means that the interface cannot realistically be put in a TSR. DOS reentrancy problems abound if you try. So, what did I do? Well I gnawed on the ear of a National representative, and then my boss evidently gnawed on the ear of a National representative, AND THEN, lo and behold it became apparent that there was a $80 assembly language interface package available. We thought our problems were solved. Alas, it was not to be. National Instruments delivered the assembler interface package. The software was delivered in a similar configuration to that of the C GPIB interface. It included assembler source code that talks to an assembled module that talks to the driver that talks to your output device. This seemed mediocre to me, so I started modifying my driver (a TSR program) to interface with it. I compiled it and ran my code. It crashed. After checking everything, I elected to take a look at their driver interface code, (which they DID NOT include sources for), via CODEVIEW. I immediately found an INT 21h call, meaning that my next step is to make the INT 21h not allow itself to be called more than once at a time. This change will probably allow the program to work alright. Meanwhile, 100 other things have been going on here, and I have no more immediate time to spend on this project. This should have been a nearly trivial project, really. The bottom line is that if you are using the Nationalist Software interface that is included with the GPIB board, you will not be able to make an TSR version of the program unless you have totally unlimited patience and time. If you order the $80 Assembly language interface, the project will simplify itself by an order of magnitude but you will still need to have a lot of time to figure what the heck's going on and how to make everything work correctly and consistently. Apparently, if you wanna buy the $300 software package (which really should be free), a TSR version of your program should be a pretty easy thing to write. Make sure you read the fine print in the NATIONAL propaganda sheet before you order it though. If anyone else has any other solutions, I'd sure like to hear them.. [ The opinions contained in this posting do not reflect the opinions of EVEREX, but just might be shared by individuals within earshot of my desk. ] thomas@everexn.com -- Bruce Springsteen is to Rock and Roll what Guy Lombardo was to Jazz.