From 0c83eb9a9865a499e5e9aeab0c8e49030cc7d0bc Mon Sep 17 00:00:00 2001 From: Bryan Bishop Date: Tue, 3 Apr 2012 00:59:16 -0500 Subject: not sure why the scripts aren't working yet original-commit-id: 21081a08e1976a13b77057820724c2318f3f116f --- crystal.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'crystal.py') diff --git a/crystal.py b/crystal.py index f8d9baa..4394361 100644 --- a/crystal.py +++ b/crystal.py @@ -2592,7 +2592,8 @@ command_classes = create_command_classes() def parse_script_with_command_classes(start_address): """parses a script using the Command classes as an alternative to the old method using hard-coded commands""" - global command_classes + global command_classes, rom + load_rom() current_address = start_address commands = [] end = False @@ -2604,6 +2605,9 @@ def parse_script_with_command_classes(start_address): if kls.id == cur_byte: right_kls = kls if right_kls == None: + print "current_address is: " + hex(current_address) + current_address += 1 + continue asm_output = "" for command in commands: asm_output += command.to_asm() + "\n" @@ -2611,7 +2615,10 @@ def parse_script_with_command_classes(start_address): cls = right_kls(address=current_address) end = cls.end commands.append(cls) - current_address = cls.last_address + 1 + #current_address = cls.last_address + 1 + current_address += cls.size + 1 + asm_output = "".join([command.to_asm()+"\n" for command in commands]) + print asm_output return commands #use this to keep track of commands without pksv names @@ -2794,6 +2801,8 @@ class Script(): start_address = offset last_byte_address = offset + size - 1 pointer = calculate_pointer_from_bytes_at(start_address+1) + if pointer == None: + raise Exception, "pointer is None (shouldn't be None pointer on 0x0 script command" command["pointer"] = pointer if debug: print "in script starting at "+hex(original_start_address)+\ -- cgit v1.2.3