public byte [] getCameraStatus ()
    throws IOException
    {
	// this is how NOT to do it!
	// no error handling, no framework for other calls.

	byte			temp [] = new byte [8];
	byte			response [] = new byte [258];
	int			len;

	temp [0] = 0x7F;	// send camera status table
	temp [7] = 0x1A;

	// write command, receive ack
	out.write (temp, 0, temp.length);
	len = in.read (temp, 0, 1);
	if (len != 1 || temp [0] != KODAK_ACK)
	    throw new IOException ("needed ACK");

	// get, check, and ack response (ignoring packet checksum!)
	len = in.read (response);
	if (len != 258 || temp [0] != KODAK_ACK)
	    throw new IOException ("needed status packet");
	response [0] = KODAK_CORRECT;
	out.write (response, 0, 1);

	// copy and save the table 
	temp = new byte [256];
	System.arraycopy (response, 1, temp, 0, 256);
	statusTable = temp;

	// also copy a return value
	temp = new byte [256];
	System.arraycopy (response, 1, temp, 0, 256);

	// get and check ACK
	len = in.read (temp, 0, 1);
	if (len != 1 || temp [0] != KODAK_COMPLETED)
	    throw new IOException ("needed ACK2");
	
	return temp;
    }