-ROM16='out/rom16.bin'
-ROM32='out/rom32.bin'
-OFFSETS16='out/rom16.offset.auto.h'
-OFFSETS32='out/rom32.offset.auto.h'
-OUT='out/rom.bin'
-
-def align(v, a):
- return (v + a - 1) // a * a
-
-def scanconfig(file):
- f = open(file, 'rb')
- opts = {}
- for l in f.readlines():
- parts = l.split()
- if len(parts) != 3:
- continue
- if parts[0] != '#define':
- continue
- opts[parts[1]] = parts[2]
- return opts
-
-def alteraddr(data, offset, ptr):
- rel = struct.pack("<i", ptr)
- return data[:offset] + rel + data[offset+4:]
+def alignpos(pos, alignbytes):
+ mask = alignbytes - 1
+ return (pos + mask) & ~mask