Yeah, i can try to make that more clear.  It's just the byte offset from the start of the chip so basically (number of ````sectors * sizeof(sector)````.  This gets a bit awkward when the device has varying sized sectors.

Size is just ````(last_sector_num - first_sector_num + 1) * sizeof(sector)````.  The ````last - first + 1```` is just trying to make it more clear that the numbers are the sector numbers.