def run(infile, outfile, options): ram = list(read_bin_file(infile, 49152)) org = options.org or 65536 - len(ram) ram = [0] * (org - 16384) + ram + [0] * (65536 - org - len(ram)) if options.start is None: start = org else: start = options.start if options.stack is None: stack = org else: stack = options.stack parent_dir = os.path.dirname(outfile) if parent_dir and not os.path.isdir(parent_dir): os.makedirs(parent_dir) registers = ('sp={}'.format(stack), 'pc={}'.format(start)) state = ('border={}'.format(options.border), ) write_z80v3(outfile, ram, registers, state)
def run(infile, outfile, options): ram = list(read_bin_file(infile, 49152)) org = options.org or 65536 - len(ram) snapshot = [0] * org + ram + [0] * (65536 - org - len(ram)) if options.start is None: start = org else: start = options.start if options.stack is None: stack = org else: stack = options.stack for spec in options.pokes: poke(snapshot, spec) parent_dir = os.path.dirname(outfile) if parent_dir and not os.path.isdir(parent_dir): os.makedirs(parent_dir) registers = ['sp={}'.format(stack), 'pc={}'.format(start)] + options.reg state = ['border={}'.format(options.border)] + options.state write_z80v3(outfile, snapshot[16384:], registers, state)
def _write_z80(ram, options, fname): parent_dir = os.path.dirname(fname) if parent_dir and not os.path.isdir(parent_dir): os.makedirs(parent_dir) write_line('Writing {0}'.format(fname)) write_z80v3(fname, ram, options.reg, options.state)