Javacomm escrevendo e lendo byte

Estou tendo problemas em ler inteiros maiores que 127 que quando e feito um cast ele muda de valor… faço assim

    saida = serialPort.getOutputStream();
    entrada = serialPort.getInputStream();

Enviando:

        this.saida.write( 0xFF ); [u]//Envio -1[/u]

Lendo

            byte[] bufferLeitura = new byte[ getTamanhoDoPacote() ];

                while ( entrada.available() > 0 ) {
                    nodeBytes = entrada.read(bufferLeitura);
                }

                for (int i = 0; i < bufferLeitura.length ;i++) {
                    System.out.println( bufferLeitura[i] ); [u]//e ele lê 127[/u]
                }

Estou fazendo um programa p/ comunicação pela portal serial
[/b]

acho q de descobri mais ou menos o q tah acontecendo…
quando mando um número maior q 127 ele chega do outro lado fazendo um resto…

tipo envio N do outro lado ele lê (N % 128)…

como resolvo isso ? :confused: faço nem idéia… pior q não posso gastar ne um byte a mais com isso… pq tenho q respeitar o protocolo BSC3… o caractere q to enviando é o PAD