tofro wrote:What you normally should be able to do from your driver is calling the below device driver directly instead of trap - ing into the OS to make that call. You'd need to find the open, close and I/O entry points from the device driver linkage block, set up the registers according to their specific requirement (it's all in the docs), and directly JSR to those addresses. I have never tried this myself, because in my driver I could find another, simpler, work-around, but I think that has the highest chance of working.
Gave this a try yesterday, and first impressions look good. Did a dozen LBYTES without crashing, Also LOAD and COPY looked good. I think I will now rip all the debugging stuff out of the source code, and do some tiding up, as it's a bit of a mess at the moment, with bits commented out all over the place.
On a slightly different note, can I ask...
1. On the original driver there are checksums on the data sent. At the moment I have disabled them while I was tracing the routines. Should I re-enable them, or are they unnecessary. Shouldn't the TCP connection handle data errors?
2. The original driver would send an acknowledgement after every packet received, so the sender knew it got through OK. At the moment I have this turned off. Should I reinstate it? Again wont TCP ensure that all the data gets to the receiver, and in the right order?
3. This is tied in with 2 above. If I don't send acknowledgements to say the data packet has been received, then data packets will queue up waiting to be read. How big is the buffer TCP uses store unread data? What happens when it fills? Will data get lost? Or will the sender be told to hold until there is space available?
Thanks in advance
Martin Head