From 3c381ca188cf2fcc29bb3a7b914246b905089004 Mon Sep 17 00:00:00 2001 From: flowenol Date: Sat, 16 Jan 2021 01:40:57 +0100 Subject: [PATCH] replaced applesoft version in rom content, Makefile added, scripts moved to separate directory --- Makefile | 5 +++++ build.sh | 3 --- inc/applesoft.bin | Bin 8037 -> 0 bytes a1monitor2bin.py => scripts/a1monitor2bin.py | 3 +++ bas2bin.py => scripts/bas2bin.py | 7 ++++--- bin2a1monitor.py => scripts/bin2a1monitor.py | 4 ++++ src/rom_content.xa | 4 ++-- 7 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 Makefile delete mode 100755 build.sh delete mode 100644 inc/applesoft.bin rename a1monitor2bin.py => scripts/a1monitor2bin.py (89%) rename bas2bin.py => scripts/bas2bin.py (91%) rename bin2a1monitor.py => scripts/bin2a1monitor.py (87%) diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..29d5b52 --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +cartridge.bin: + xa -W -C -v -O ASCII -c src/cartridge.xa -l cartridge.label -o cartridge.bin + +clean: + rm cartridge.bin cartridge.label diff --git a/build.sh b/build.sh deleted file mode 100755 index d9918b1..0000000 --- a/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -xa -W -C -v -O ASCII -c src/cartridge.xa -l cartridge.label -o cartridge.bin diff --git a/inc/applesoft.bin b/inc/applesoft.bin deleted file mode 100644 index dbe55fa0348713a3141b8237eea2b926aab0f57e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8037 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 Oi+#mYKmPym=l=q*WNLN* diff --git a/a1monitor2bin.py b/scripts/a1monitor2bin.py similarity index 89% rename from a1monitor2bin.py rename to scripts/a1monitor2bin.py index 2fabe65..0004ca5 100644 --- a/a1monitor2bin.py +++ b/scripts/a1monitor2bin.py @@ -1,6 +1,9 @@ import codecs import sys +""" +This utility transforms A1 monitor format data to binary and outputs to STDOUT +""" if __name__ == "__main__": byte_data = list() diff --git a/bas2bin.py b/scripts/bas2bin.py similarity index 91% rename from bas2bin.py rename to scripts/bas2bin.py index 52454a3..aaab8e8 100644 --- a/bas2bin.py +++ b/scripts/bas2bin.py @@ -2,6 +2,10 @@ import codecs import binascii import sys +""" +This utility transforms CFFA formated BASIC programs to binary, outputting +to file name with LOMEM & HIMEM appended +""" if __name__ == "__main__": byte_data = list() @@ -43,6 +47,3 @@ if __name__ == "__main__": with open(output_filename(sys.argv[1], byte_data[0:4]), 'wb') as output: for x in byte_data: output.write(x) - -# to visually compare -# paste apple30th.txt <(hexdump -e '"%08.8_Ax\n"' -e '"%08.8_ax " 8/1 " %02x"' -e '"\n"' apple30th.bin) diff --git a/bin2a1monitor.py b/scripts/bin2a1monitor.py similarity index 87% rename from bin2a1monitor.py rename to scripts/bin2a1monitor.py index 599bdd5..4935d9c 100644 --- a/bin2a1monitor.py +++ b/scripts/bin2a1monitor.py @@ -1,6 +1,10 @@ import sys import binascii +""" +This utility transforms binary data to A1 monitor format, starting offset +(in hex) is required. +""" if __name__ == "__main__": if len(sys.argv) != 3: diff --git a/src/rom_content.xa b/src/rom_content.xa index b10f2aa..f7e567e 100644 --- a/src/rom_content.xa +++ b/src/rom_content.xa @@ -68,7 +68,7 @@ disassembler_jmp_addr .word $FF1F applesoft applesoft_seg .byt $01 -applesoft_len .word $1F65 +applesoft_len .word $1FFF applesoft_addr .word $6000 applesoft_cont_start .word applesoft_cont applesoft_str .byt $15,"APPLESOFT BASIC 6000R" @@ -92,5 +92,5 @@ basic_cont .bin 0,0,"inc/basic.bin" apple30th_cont .bin 0,0,"inc/apple30th.bin" memorytest_cont .bin 0,0,"inc/a1mt.bin" disassembler_cont .bin 0,0,"inc/disassembler.bin" -applesoft_cont .bin 0,0,"inc/applesoft.bin" +applesoft_cont .bin 0,0,"inc/applesoft-lite.bin" matrix_cont .bin 0,0,"inc/basic/matrix-0800-1000.bin"