shithub: pokecrystal

Download patch

ref: c07ffc7633fca8ccdb55856d67f5265638dcbe9a
parent: 927d392a02ba10d0070bd90e84e2ef1b3cc0af88
author: Remy Oukaour <remy.oukaour@gmail.com>
date: Wed Jan 3 09:52:32 EST 2018

Handle unused banks (notably OAM and HRAM)

--- a/tools/sort_map.py
+++ b/tools/sort_map.py
@@ -23,6 +23,7 @@
 	return sizes[type]
 
 def sorted_mapfile(input):
+	unused_rx = re.compile(r'^([A-Z]+):$')
 	bank_rx = re.compile(r'^([A-Z]+) Bank #([0-9]+)')
 	section_rx = re.compile(r' +SECTION: \$([0-9A-F]+)(?:-\$([0-9A-F]+))? \(\$([0-9A-F]+) bytes\) \["(.+)"\]')
 	label_rx = re.compile(r' +\$([0-9A-F]+) = (.+)')
@@ -39,6 +40,16 @@
 		if line.startswith('  EMPTY'):
 			# empty banks have their entire capacity as slack
 			line = '    SLACK: $%04X bytes\n' % total_bank_size(bank_type)
+
+		x = re.match(unused_rx, line)
+		if x:
+			# start an unused bank
+			bank_type = x.group(1)
+			bank_number = '00'
+			bank_size = 0
+			bank_queue.clear()
+			section_queue.clear()
+			continue
 
 		x = re.match(bank_rx, line)
 		if x: