[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ADTPro Issue Transferring IIgs-->WinXP



On Mar 3, 8:08 am, "schmidtd" <schmi...@my-deja.com> wrote:
> On Mar 1, 3:25 pm, "Polymorph" <polymorp...@hotmail.com> wrote:
> <snip>> I downloaded the latest JDK
> > and a freeware IDE. I tried compiling and realised 2 things:
>
> > a) I need a library called "ANT" (it can't be found in my CLASSPATH)
> > b) its been a long while since I've done java   ;-)
>
> Sorry, build documentation was low on my priority list.  Rectified now
> that I've had a second request for it:http://adtpro.sourceforge.net/developing.html

David,

I sent you an email to your my-deja email address, but haven't heard
back from you yet. I'll copy the email that I sent you here:

I have found the area of code that is causing my transfers to fail -
it is in SerialTransport.java in the readByte() method. It seems that
you set the ports timeout dependent upon the argument given, however,
is this necessary for every byte? I would have thought you would setup
the port timeout at the beginning of a transfer and then leave it
alone. In my case,
it is this setting of the timeout value that is causing problems. I
verified my guess by commenting the timeout setting/diabling code as
follows:

      try
      {
        // if (timeout == 0)
        //   port.disableReceiveTimeout();
        // else
        //   port.enableReceiveTimeout(timeout);
        oneByte = inputStream.readByte();
        hasData = true;
      }

With the timeout stuff disabled (as above), I was able to transfer a
test 3.5" disk to my IIgs with no problems. So for me, it would appear
that the setting/disabling of the timeout for every byte received was
causing some sort of timing issue.

With the timeout code uncommented, that very 1st byte never gets
received. I haven't confirmed whether or not the removal of the
timeout stuff fixes problems running at different port speeds, but I
suspect it will.

I'll let you know the outcome when I get around to doing some more
testing.

By the way, my WinXP machine is a AthlonXP 3200+ - so its not running
on ancient hardware or anything.

What are your thoughts related to the problems that I've identified?
Does the timeout really need to be set/reset for every byte, or just
at the beginning of a transfer? I wonder why other people aren't
seeing this problem?


cheers,
-p