#!/bin/python '''' Script to convert some TRS-80 assembler files to ASCII text fjkraan@electrickery.nl, 2025-05-03 These files are different from the EDTASM assembly files, as they use for format specified below: ASM format: header: '-c' or 0x2D 0x63 per line: byte byte byte .... linelen characters end of file: == 0xFF == 0xFF ''' import sys if len(sys.argv) > 1: binFile = sys.argv[1] else: print("Usage: python asmDecode.py ") sys.exit() f = sys.argv[1] def printHex(bin): print("0x%02x " % bin, end='') def printChar(bin): print(bin.decode("utf-8"), end='') with open(f, "rb") as f: fileHeader = f.read(2) while (lineHeader := f.read(3)): lineNumLSB = lineHeader[0] lineNumMSB = lineHeader[1] lineLen = lineHeader[2] lineStr = f.read(lineLen); if lineNumLSB == 0xFF and lineNumMSB == 0xFF: break lineNum = lineNumLSB + 256 * lineNumMSB; print("%05d" % lineNum, end='') print(' ', end='') print(lineStr.decode("utf-8")); f.close() ''' '''