Added interesting load effect for first HGR screen

This commit is contained in:
Rob McMullen 2017-05-10 05:44:47 -07:00
parent 38b05e6dbd
commit dc2224a191

View File

@ -98,7 +98,7 @@ class StandardDeliveryImage(DiskImageBase):
count = 0 count = 0
sector_list = [] sector_list = []
address_list = [0xd0] address_list = [0xd1]
boot_sector = dsk.header.create_sector() boot_sector = dsk.header.create_sector()
boot_sector.sector_num = 0 boot_sector.sector_num = 0
@ -106,15 +106,21 @@ class StandardDeliveryImage(DiskImageBase):
sector_list.append(boot_sector) sector_list.append(boot_sector)
for chunk_start, chunk_data in chunks: for chunk_start, chunk_data in chunks:
i = 0 count = len(chunk_data) // 256
hi = chunk_start if chunk_start == 0x20 and count == 32:
while i < len(chunk_data): # Assume this is an HGR screen, use interesting load effect,
# not the usual venetian blind
chunk_hi = [0x20, 0x24, 0x28, 0x2c, 0x30, 0x34, 0x38, 0x3c, 0x21, 0x25, 0x29, 0x2d, 0x31, 0x35, 0x39, 0x3d, 0x22, 0x26, 0x2a, 0x2e, 0x32, 0x36, 0x3a, 0x3e, 0x23, 0x27, 0x2b, 0x2f, 0x33, 0x37, 0x3b, 0x3f]
else:
chunk_hi = range(chunk_start, chunk_start + count)
for n in range(count):
i = (chunk_hi[n] - chunk_start) * 256
sector = dsk.header.create_sector(chunk_data[i:i+256]) sector = dsk.header.create_sector(chunk_data[i:i+256])
sector.sector_num = dsk.header.sector_from_track(track, sector_order[index]) sector.sector_num = dsk.header.sector_from_track(track, sector_order[index])
count += 1 count += 1
#sector.sector_num = count #sector.sector_num = count
sector_list.append(sector) sector_list.append(sector)
address_list.append(hi) address_list.append(chunk_hi[n])
# sector.data[0] = sector.sector_num # sector.data[0] = sector.sector_num
# sector.data[1] = hi # sector.data[1] = hi
# sector.data[2:16] = 0xff # sector.data[2:16] = 0xff
@ -123,9 +129,8 @@ class StandardDeliveryImage(DiskImageBase):
if index >= len(sector_order): if index >= len(sector_order):
index = 0 index = 0
track += 1 track += 1
i += 256 if chunk_start == 0x40:
hi += 1 address_list.append(0xd2)
address_list.append(0xd0)
print("address list %s" % str(address_list)) print("address list %s" % str(address_list))
boot_code = get_fstbt_code(boot_sector.data, address_list, run_addr) boot_code = get_fstbt_code(boot_sector.data, address_list, run_addr)