def get_bytes(self, dlg): xex = dlg.get_bytes() title, author = dlg.get_extra_text()[0:2] byte_values = add_xexboot_header(xex, title=title, author=author) byte_values = add_atr_header(byte_values) rawdata = SegmentData(byte_values) atr = BootDiskImage(rawdata) return atr.raw_bytes.tobytes()
def make_bootable_atr(xex_path, header_path, atr_path): xex = np.fromfile(xex_path, dtype=np.uint8) bootcode = np.fromfile(header_path, dtype=np.uint8) bootdata = add_xexboot_header(xex, bootcode) atrdata = add_atr_header(bootdata) rawdata = SegmentData(atrdata) atr = BootDiskImage(rawdata, atr_path) print atr.header atr.save()
def get_bytes(self, dlg): xex = dlg.get_bytes() title, author = dlg.get_extra_text()[0:2] print title, author bytes = add_xexboot_header(xex, title=title, author=author) bytes = add_atr_header(bytes) rawdata = SegmentData(bytes) atr = BootDiskImage(rawdata) print atr.header return atr.bytes.tostring()
def check_size(self, data): xex_size = len(data) bytes = add_xexboot_header(data) # rawdata = SegmentData(bytes) # size = len(rawdata) # atr = KBootImage(rawdata) # newatr = atr.as_new_format("ATR") image_size = len(bytes) bytes = add_atr_header(bytes) rawdata = SegmentData(bytes) newatr = KBootImage(rawdata) image = newatr.bytes print image[0:16] paragraphs = image_size / 16 print newatr.header, paragraphs assert int(image[2:4].view(dtype='<u2')) == paragraphs assert int(image[16 + 9:16 + 9 + 2].view('<u2')) == xex_size return image