import struct
up = struct.Struct('>II').unpack
u32 = struct.Struct('>I').unpack

data = open('NewerASM/pal_dlrelocs.bin', 'rb').read()
addr_offset = struct.unpack('>xxxxxxxxI', data[0:0xC])[0] - 0xC
data = data[0xC:]

reloc_count = addr_offset / 8

for i in xrange(reloc_count):
	entry = up(data[i*8:i*8+8])
	reltype = entry[0] >> 24
	addr_id = entry[0] & 0xFFFFFF
	offset = entry[1]

	offs = addr_offset+(addr_id*4)
	print "%2d: %08x => %08x" % (reltype, offset, u32(data[offs:offs+4])[0])