Read/Write the requested address

read_block and write_block were always using address zero rather than the requested address. Thanks Mark for pointing out this bug.