lol its in c
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

16 lines
584 B

  1. import sys
  2. import re
  3. SIZE = {"ROM0": 0x4000, "ROMX": 0x4000, "WRAM0": 0x2000, "HRAM": 0x007F, "VRAM": 0x4000}
  4. area_re = re.compile(r'([A-Z0-9]+) bank #([0-9a-f]+):\n')
  5. slack_re = re.compile(r' SLACK: \$([0-9a-f]+) byte')
  6. for line in open(sys.argv[1], "rt"):
  7. area = area_re.match(line)
  8. if area:
  9. area_name = area[1]
  10. bank_nr = int(area[2])
  11. slack = slack_re.match(line)
  12. if slack:
  13. used = SIZE[area_name] - int(slack[1], 16)
  14. print("%5s:%2d %04x/%04x (%.1f%%)" % (area_name, bank_nr, used, SIZE[area_name], used * 100 / SIZE[area_name]))