From b4709268bc6aad8484ffae88c76bf45292585135 Mon Sep 17 00:00:00 2001 From: Chris Pressey Date: Mon, 11 Dec 2017 13:46:06 +0000 Subject: [PATCH] Check in test appliance (dcc6502-adapter) that was missed. --- .gitignore | 1 + tests/SixtyPical Compilation.md | 2 +- tests/appliances/bin/dcc6502-adapter | 23 +++++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100755 tests/appliances/bin/dcc6502-adapter diff --git a/.gitignore b/.gitignore index 0d20b64..fa9d82d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.pyc +vicerc diff --git a/tests/SixtyPical Compilation.md b/tests/SixtyPical Compilation.md index c84b1b3..01b980e 100644 --- a/tests/SixtyPical Compilation.md +++ b/tests/SixtyPical Compilation.md @@ -7,7 +7,7 @@ SixtyPical to 6502 machine code. [Falderal]: http://catseye.tc/node/Falderal -> Functionality "Compile SixtyPical program" is implemented by - -> shell command "bin/sixtypical --basic-prelude --compile %(test-body-file) | bin/dcc6502-adapter" + -> shell command "bin/sixtypical --basic-prelude --compile %(test-body-file) | tests/appliances/bin/dcc6502-adapter" -> Tests for functionality "Compile SixtyPical program" diff --git a/tests/appliances/bin/dcc6502-adapter b/tests/appliances/bin/dcc6502-adapter new file mode 100755 index 0000000..d92339b --- /dev/null +++ b/tests/appliances/bin/dcc6502-adapter @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +# script that allows the binary output of sixtypical --basic-prelude --compile to be +# disassembled by https://github.com/tcarmelveilleux/dcc6502 + +import sys +import re +from subprocess import check_output +from tempfile import NamedTemporaryFile + +bytes = sys.stdin.read() + +bytes = bytes[14:] + +f = NamedTemporaryFile(delete=False) +filename = f.name +f.write(bytes) +f.close() + +lines = [line for line in check_output("dcc6502 -o 2061 {}".format(filename), shell=True).split('\n') if line and not line.startswith(';')] +lines = [re.sub(r'\s*\;.*$', '', line) for line in lines] +lines.pop() +sys.stdout.write('\n'.join(lines))