diff --git a/art/ex.py b/art/ex.py index 2f6460d..fbe96d0 100644 --- a/art/ex.py +++ b/art/ex.py @@ -5,21 +5,22 @@ def print_lines( dta, line_from: int, line_to: int, skip_left: int = 0, skip_right: int = 0, f=sys.stdout,): for d in dta[line_from:line_to]: print( - f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0 + skip_right, len(d) - skip_left, 2)]), + f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0 + skip_right*2, len(d) - skip_left*2, 2)]), file=f) def write_asm(atrview, out, page, line_from, line_to, skip_left, skip_right): with open(atrview, 'r', encoding='utf-8-sig') as f: s = json.load(f) for p in s['Pages']: - if (isinstance(page, int) and p['Nr'] == page) or (isinstance(page, str) and p['Name'] == page): dta = p['View'] - dta = [dta[i * 80:(i + 1) * 80][:64] for i in range(len(dta) // 80)] + width = p['Width'] * 2 # 2 hex chars per byte + dtas = [dta[i * width:(i + 1) * width] for i in range(len(dta) // width)] + print (out, dtas) break with open(out, 'wt') as f: - print_lines(dta, line_from, line_to, skip_left,skip_right, f) + print_lines(dtas, line_from, line_to, skip_left,skip_right, f) write_asm(