From a5492de2b587c43caaa9fae9f0ce6b6b90652ade Mon Sep 17 00:00:00 2001 From: 4am Date: Mon, 18 Mar 2019 13:52:43 -0400 Subject: [PATCH] hook up ProBoot --- Makefile | 4 +++- bin/changebootloader.py | 20 ++++++++++++++++++++ res/work.bin | Bin 143360 -> 143360 bytes 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100755 bin/changebootloader.py diff --git a/Makefile b/Makefile index b486045..27faeb7 100644 --- a/Makefile +++ b/Makefile @@ -22,9 +22,11 @@ VOLUME=ANTI.M asm: mkdir -p build $(ACME) -r build/anti-m.lst src/anti-m.a - cp res/work.bin $(BUILDDISK) + cp res/work.bin "$(BUILDDISK)" cp res/_FileInformation.txt build/ >>build/log $(CADIUS) ADDFILE "$(BUILDDISK)" "/${VOLUME}/" "build/ANTI.M.SYSTEM" >>build/log + $(ACME) -r build/proboot.lst src/proboot.a + bin/changebootloader.py "$(BUILDDISK)" build/proboot clean: rm -rf build/ diff --git a/bin/changebootloader.py b/bin/changebootloader.py new file mode 100755 index 0000000..5ad571d --- /dev/null +++ b/bin/changebootloader.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python3 + +import sys +import os.path + +target_disk_image, bootloader = sys.argv[1:] +ext = os.path.splitext(target_disk_image)[-1].lower() +assert(ext in (".dsk", ".do", ".po", ".2mg")) +if ext == ".2mg": + offset = 64 +else: + offset = 0 +with open(bootloader, 'rb') as f: + boot = f.read() +assert(len(boot) == 512) +with open(target_disk_image, 'rb') as f: + data = bytearray(f.read()) +data[offset:offset+len(boot)] = boot +with open(target_disk_image, 'wb') as f: + f.write(data) diff --git a/res/work.bin b/res/work.bin index c25e31858dbedeac8e5c1ef7ebdddde27ae993af..42b22ca7305a7a1759b72a45243783bfb95a39b6 100644 GIT binary patch delta 64 zcmZp8z|ru4V}lrrXpx!`F9QRFe5?*+vN1?7Zf0b<%D9M)jg|2~5Nu}U`OVmT!F~G$ OcSeI3n=iOuumk{BDi!1a literal 143360 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