#!/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:
	<lsn> byte
	<msn> byte
	<linelen> byte
	.... linelen characters
	
end of file:
	<lsn> == 0xFF
	<msn> == 0xFF

'''

import sys


if len(sys.argv) > 1:
    binFile = sys.argv[1]
else:
    print("Usage: python asmDecode.py <asmFile>")
    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()



'''

'''
