| Index: embios/trunk/tools/libembios.py | 
| — | — | @@ -421,7 +421,7 @@ | 
| 422 | 422 |  | 
| 423 | 423 | def downloadint(self, offset, silent = 0): | 
| 424 | 424 | self.__myprint("Downloading an integer from 0x%08x..." % (offset), silent) | 
| 425 |  | -    data = self.read(offset, 0, 0)
 | 
|  | 425 | +    data = self.read(offset, 4, 0, 0) | 
| 426 | 426 | self.__myprint(" done\nValue was: 0x%08x\n" % (data), silent) | 
| 427 | 427 |  | 
| 428 | 428 | return data | 
| — | — | @@ -498,7 +498,7 @@ | 
| 499 | 499 | response = self.__getbulk(self.handle, self.__cinep, blocklen + 0x10) | 
| 500 | 500 | self.__checkstatus(response) | 
| 501 | 501 |  | 
| 502 |  | -      readbytes, buffersize, bytesleft = struct.unpack("<III", response[:12])
 | 
|  | 502 | +      readbytes, buffersize, bytesleft = struct.unpack("<III", response[4:]) | 
| 503 | 503 | out_data += response[0x10:0x10+readbytes] | 
| 504 | 504 | size -= blocklen | 
| 505 | 505 |  | 
| — | — | @@ -565,7 +565,7 @@ | 
| 566 | 566 | response = self.__getbulk(self.handle, self.__cinep, 0x10) | 
| 567 | 567 | self.__checkstatus(response) | 
| 568 | 568 |  | 
| 569 |  | -      sendbytes = struct.unpack("<I", response[4:8])[0]
 | 
|  | 569 | +      sendbytes = struct.unpack("<I", response[4:])[0] | 
| 570 | 570 | if sendbytes < blocklen:   # not everything has been written, need to resent some stuff but wait a bit before doing so | 
| 571 | 571 | time.sleep(0.1) | 
| 572 | 572 | timeoutcounter += 1 | 
| — | — | @@ -617,7 +617,7 @@ | 
| 618 | 618 | response = self.__getbulk(self.handle, self.__cinep, blocklen + 0x10) | 
| 619 | 619 | self.__checkstatus(response) | 
| 620 | 620 |  | 
| 621 |  | -      readbytes = struct.unpack("<III", response[4:8])[0]
 | 
|  | 621 | +      readbytes = struct.unpack("<III", response[4:])[0] | 
| 622 | 622 | out_data += response[0x10:0x10+readbytes] | 
| 623 | 623 | size -= blocklen | 
| 624 | 624 |  | 
| — | — | @@ -749,10 +749,10 @@ | 
| 750 | 750 | response = self.__getbulk(self.handle, self.__cinep, 0x10) | 
| 751 | 751 | self.__checkstatus(response) | 
| 752 | 752 |  | 
| 753 |  | -    if (struct.unpack("<i", response[4:8]) < 0):
 | 
| 754 |  | -      self.__myprint(" failed, error code: 0x%x" % (struct.unpack("<i", response[4:8])), silent)
 | 
|  | 753 | +    if (struct.unpack("<i", response[4:8])[0] < 0): | 
|  | 754 | +      self.__myprint(" failed, error code: 0x%x" % (struct.unpack("<i", response[4:8])[0]), silent) | 
| 755 | 755 | else: | 
| 756 |  | -      self.__myprint(" done\n, thread ID: 0x%x" % (struct.unpack("<I", response[4:8])), silent)     
 | 
|  | 756 | +      self.__myprint(" done\n, thread ID: 0x%x" % (struct.unpack("<I", response[4:8])[0]), silent) | 
| 757 | 757 |  | 
| 758 | 758 |  | 
| 759 | 759 | def getprocinfo(self, silent = 0): | 
| — | — | @@ -770,7 +770,7 @@ | 
| 771 | 771 | while ptr < len(processinfo): | 
| 772 | 772 | retval.append({}) | 
| 773 | 773 |  | 
| 774 |  | -          retval[process_n]['regs'] = struct.unpack("<IIIIIIIIIIIIIIII", processinfo[ptr:])[0]
 | 
|  | 774 | +          retval[process_n]['regs'] = struct.unpack("<IIIIIIIIIIIIIIII", processinfo[ptr:]) | 
| 775 | 775 | ptr += 16 * 0x4 | 
| 776 | 776 | retval[process_n]['cpsr'] = struct.unpack("<I", processinfo[ptr:])[0] | 
| 777 | 777 | ptr += 1 * 0x4 | 
| — | — | @@ -860,11 +860,11 @@ | 
| 861 | 861 |  | 
| 862 | 862 | # reading loop | 
| 863 | 863 | while (offset < size): | 
| 864 |  | -      self.handle.bulkWrite(self.__coutep, struct.pack("<IIII", 15, offset, size, 0))
 | 
| 865 |  | -      response = self.__getbulk(self.handle, self.__cinep, size + 0x10)
 | 
|  | 864 | +      self.handle.bulkWrite(self.__coutep, struct.pack("<IIII", 15, offset, blocklen, 0)) | 
|  | 865 | +      response = self.__getbulk(self.handle, self.__cinep, blocklen + 0x10) | 
| 866 | 866 | self.__checkstatus(response) | 
| 867 | 867 |  | 
| 868 |  | -      size = struct.unpack("<I", response[8:12])[0]
 | 
|  | 868 | +      size = struct.unpack("<I", response[8:])[0] | 
| 869 | 869 |  | 
| 870 | 870 | if size <= offset + blocklen: | 
| 871 | 871 | procinfo += response[0x10:0x10 + size] | 
| — | — | @@ -901,9 +901,9 @@ | 
| 902 | 902 | response = self.__getbulk(self.handle, self.__cinep, 0x10) | 
| 903 | 903 | self.__checkstatus(response) | 
| 904 | 904 |  | 
| 905 |  | -    self.__myprint(" done\n    execimage() return code: 0x%08x\n" % struct.unpack("<I", response[4:8]), silent)
 | 
|  | 905 | +    self.__myprint(" done\n    execimage() return code: 0x%08x\n" % struct.unpack("<I", response[4:])[0], silent) | 
| 906 | 906 |  | 
| 907 |  | -    return struct.unpack("<I", response[4:8])
 | 
|  | 907 | +    return struct.unpack("<I", response[4:])[0] | 
| 908 | 908 |  | 
| 909 | 909 |  | 
| 910 | 910 | #===================================================================================== |