private void write (int address, byte buf [], int off, int len)
    throws IOException
    {
	int val;

	if ((len % BLOCKSIZE) != 0)
	    throw new IllegalArgumentException ();
	if ((val = get (RIO_UNKNOWN_4C, address, 0)) == 0
		|| (val = get (RIO_UNKNOWN_4F, address, 0)) == 0
		|| (val = get (RIO_WRITE,
				len / IO_SIZE_BIG,
				len % IO_SIZE_BIG)) == 0)
	    throw new IOException ("rio write");
	socket.getOutputStream ().write (buf, off, len);
    }