summaryrefslogtreecommitdiff
path: root/tools/read_charmap.py
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi@gmail.com>2020-08-09 13:49:34 -0400
committerRangi <remy.oukaour+rangi@gmail.com>2020-08-09 13:49:34 -0400
commitb7da8dbb0e2236f37e4b4c99b88598369da3a008 (patch)
tree7dd6391629d3c80572ed2af73205851d4122d72b /tools/read_charmap.py
parentfaa37936780b8e04733310024bd621a8f2c635cb (diff)
tools/ contains what's needed to build the ROMs; utils/ contains disassembly utilites
Diffstat (limited to 'tools/read_charmap.py')
-rw-r--r--tools/read_charmap.py42
1 files changed, 0 insertions, 42 deletions
diff --git a/tools/read_charmap.py b/tools/read_charmap.py
deleted file mode 100644
index af290c3..0000000
--- a/tools/read_charmap.py
+++ /dev/null
@@ -1,42 +0,0 @@
-import os, io
-from re import compile
-from sys import stderr
-
-charmap_regex = compile('[ \t]*charmap[ \t]+"(.*?)",[ \t]*(\$[0-9A-Fa-f]{2}|%[01]{8}|[0-9]{3})')
-# A charmap line is
-# [ \t]* - zero or more space chars
-# charmap - literal charmap
-# [ \t]+ - one or more space chars
-# "(.*?)" - a lazily-matched text identifier in quotes
-# , - literal comma
-# [ \t]* - zero or more space chars
-# ( - either of
-# \$[0-9A-Fa-f]{2} - two hexadecimal digits preceeded by literal $
-# %[01]{8} - eight dual digits preceeded by literal %
-# [0-9]{3} - three decimal digits
-# )
-
-def parse_int(s):
- # assumes integers are literal; no +-*/, etc
- s = s.strip()
- if s.startswith('$'):
- return int(s[1:], 16)
- if s.startswith('%'):
- return int(s[1:], 2)
- return int(s)
-
-def read_charmap(charmap_path):
- charmap = {}
- with io.open(charmap_path, 'r', encoding='utf-8') as f:
- lines = f.readlines()
- for line in lines:
- m = charmap_regex.match(line)
- if m is None:
- continue
- char = m.group(1)
- value = parse_int(m.group(2))
- if value in charmap:
- print('Value {0:s} already in charmap, dropping it in favor of first charmap entry'.format(m.group(2)))
- continue
- charmap[value] = char
- return charmap