Re: GEOS Device Drivers (again)

Edward Ballot (eballot@geoworks.com)
Tue, 17 Dec 1996 08:42:45 -0800 (PST)

Just noticed that you're getting a LIBRARY protocol error. That means
the GA_LIBRARY flag is set. I would guess this is a problem in the
C-stub setting values it shouldn't. Try setting the CX register to zero
before calling GeodeUseDriver(). You can do that like this
_asm xor cx,cx;
if you have a version of BCC that includes inline assembly support.

Hopefully that will solve the problem. If it does, let me know and I'll
post a bug report (and add this information to the knowledge database).

-Ed-

On Tue, 17 Dec 1996 diel@intbuso.boeblingen.netsurf.de wrote:

> Nathan, I have run aground with my attempts to invoke my new device
> driver. I don't see any other solution left than asking once again for
> your help. My latest try was (following your suggestion) to replace the
> existing PCMCIA driver completely by my own new device driver
>
> I found out that
> - there is no driver called PCMCIA, but only a PCMCIA library
> - there are drivers of TYPE = PCMCIA, the most complete being CIDSER,
> providing a serial interface via PCMCIA
> - the CIDSER source is under driver\ddk\... ,
> the geode etc. is under driver\pcmcia\...,
> on my target sytem CIDSEREC.GEO is under system\pcmcia\
>
> Before replacing CIDSER by my device driver, I thought it might be a good
> idea to try to invoke the CIDSER device driver from my application. Thus,
> I called GeodeUseDriver() for CIDSER ( in the same way as I tried this
> during the last days for my driver SMCARD ).
> I got the same return code, namely
> GLE_LIBRARY_PROTOCOL_ERROR
>
> Then I went back to my own driver and (based on the help you
> gave me on GREV) I modified the revision number and protocol number. I
> tried protocol numbers up to 12 without success. I still always get from
> GeodeUseDriver() the return code GLE_LIBRARY_PROTOCOL_ERROR.
>
> Here is my plea for help:
> Isn't it possible to get more detailed possible causes for the return code
> GLE_LIBRARY_PROTOCOL_ERROR ?
> - what is the exact condition being violated ?
> - which two protocol numbers are compared (if at all) ?
>
> For the developer who developed GeodeUseDriver() this must be very easy to
> tell. I admit you cannot disturb the developers for all the many
> questions you are confronted with, but if there is no other solution left,
> maybe an exception is allowed.
>
> Regards, Hans Diel
>
>
> -----------------------------------------------------------
> diel@intbuso.boeblingen.netsurf.de
> -----------------------------------------------------------
>
>