51,7 → 51,7 |
return subprocess.Popen(a, bufsize = 0, stdout = qemu_stdout, stderr = qemu_stderr, stdin = subprocess.DEVNULL, start_new_session = True) |
|
if __name__ == "__main__": |
program_files = build() |
program_name = build() |
|
os.makedirs("workspace", exist_ok = True) |
|
72,19 → 72,16 |
img.delete_path("DEMOS") |
img.delete_path("3D") |
|
log("Moving program files into kolibri image... ", end = "") |
for file_name in program_files: |
with open(file_name, "rb") as file: |
log("Moving program into kolibri image... ", end = "") |
with open(program_name, "rb") as file: |
file_data = file.read() |
if not img.add_file_path(file_name.upper(), file_data): |
print(f"Coudn't move {file_name} into IMG") |
if not img.add_file_path(program_name.upper(), file_data): |
print(f"Coudn't move {program_name} into IMG") |
log("Done") |
|
# TODO: Figure out which of compiled files is a program executable and only run it |
log("Adding program to autorun.dat", end = "") |
lines_to_add = b"" |
for file_name in program_files: |
lines_to_add += bytes(f"\r\n/SYS/{file_name.upper()}\t\t""\t0\t# Your program", "ascii") |
log("Adding program to autorun.dat... ", end = "") |
lines_to_add = bytes(f"\r\n/SYS/{program_name.upper()}\t\t""\t0\t# Your program", "ascii") |
autorun_dat = img.extract_file_path("SETTINGS\AUTORUN.DAT") |
place_for_new_lines = autorun_dat.index(b"\r\n/SYS/@TASKBAR")# b"\r\n### Hello, ASM World! ###") |
autorun_dat = autorun_dat[:place_for_new_lines] + lines_to_add + autorun_dat[place_for_new_lines:] |