#!/bin/env python curr = 0 idx = 0 byte = 0 def push4bits(val): global curr, idx, byte val = val & 0x0f curr += val << idx idx += 4 if idx == 8: print "0x%02X," % curr, idx = 0 curr = 0 byte += 1 if byte % 16 == 0: print cluster = 0 def pushCluster(val): global cluster push4bits(val) push4bits(val >> 4) push4bits(val >> 8) cluster += 1 def pushFile(size): sectors = size / 512 count = sectors / 8 for i in range(count-1): pushCluster(cluster+1) pushCluster(0xFFF) def pushDisk(eeprom, flash): global curr, idx, byte, cluster curr = idx = byte = cluster = 0 print "Disk with %dk EEPROM and %dk FLASH:" % (eeprom, flash) pushCluster(0xFF8) pushCluster(0xFFF) pushFile(eeprom*1024) pushFile(flash*1024) while byte < 512: push4bits(0) print pushDisk(32, 512) pushDisk(64, 512)