makeasm.pl will create vendas11.asm, which, so far, includes every byte
[uccvend-snackrom.git] / ROM / makeasm.pl
diff --git a/ROM/makeasm.pl b/ROM/makeasm.pl
new file mode 100755 (executable)
index 0000000..c278881
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/local/bin/perl -w
+
+print "\tORG\t\$8000\n";
+
+LINE: while (<>) {
+  if (/^\s*$/) { print "\n"; next LINE; }
+  if (/^\s*;/) { print; next LINE; }
+  if (/^\s*((loop|jump82|goto91):)/) { print "${1}_$.\n"; next LINE; }
+  if (/^\s*(\w*:)/) { print "$1\n"; next LINE; }
+  if (/^\t\.word\t([a-f0-9]{4})$/) { print "\tFDB\t\$\U$1\n"; next LINE; }
+  if (/^([A-F0-9]{4}) ((([A-F0-9]{2}) )*[A-F0-9]{2})/) {
+    print ";$_";
+    @_=split(' ',$2);
+    print "\tFCB\t\$".join(', $',@_)."\n";
+
+#    print "\tFCB\t\$$3, \$$5, \$$7, \$$9\n";
+    next LINE;
+  }
+#  if (/^([A-F0-9]{4}) (([A-F0-9]{2}) )(([A-F0-9]{2}) )(([A-F0-9]{2}) )/) {
+#    print ";$_";
+#    print "\tFCB\t\$$3, \$$5, \$$7\n";
+#    next LINE;
+#  }
+#  if (/^([A-F0-9]{4}) (([A-F0-9]{2}) )(([A-F0-9]{2}) )/) {
+#    print ";$_";
+#    print "\tFCB\t\$$3, \$$5\n";
+#    next LINE;
+#  }
+#  if (/^([A-F0-9]{4}) ([A-F0-9]{2})/) {
+#    print ";$_";
+#    print "\tFCB\t\$$2\n";
+#    next LINE;
+#  }
+  if (/^\cZ$/) { next LINE; }
+  print ";$_";
+}

UCC git Repository :: git.ucc.asn.au