From 2682bc5d1d864341aaeb42a449db73c3ecd16d70 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Wed, 30 Dec 2020 19:07:31 +0000 Subject: Initial import --- tools/chksize | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 tools/chksize (limited to 'tools/chksize') diff --git a/tools/chksize b/tools/chksize new file mode 100755 index 0000000..f7c2d41 --- /dev/null +++ b/tools/chksize @@ -0,0 +1,30 @@ +#!/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() -- cgit v1.2.3