#!/usr/bin/env python3 import sys TOP_MEM = 0xc000 - 256 # video memory - stack def main(): if len(sys.argv) != 4: sys.exit("usage: %s code_limit_hex data_limit_hex filename.map" % sys.argv[0]) sizes = {"CODE": 0, "DATA": 0} with open(sys.argv[3], "r") as fd: for line in fd.readlines(): for seg in sizes.keys(): if "l__%s" % seg in line: sizes[seg] = int(line.split()[0], base=16) print("\nROM: %(CODE)05d bytes\nRAM: %(DATA)05d bytes\n" % sizes) if sizes["CODE"] > int(sys.argv[1], 16): sys.exit("ROM is over the limit") if sizes["DATA"] > int(sys.argv[2], 16): sys.exit("RAM is over the limit") if __name__ == "__main__": main()