blob: a07cbb6cf7819ac81b55bbf9e2b29940f5831685 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 | #!/bin/python3
# read bytes from input and pack into ppu format
# each input sprite is 256 bytes
import sys
import struct
i = 0
word = 0x0000
for byte in sys.stdin.buffer.read():
	pixel_idx = i % 5
	word |= (byte & 0b111) << 3 * pixel_idx
	if pixel_idx == 4 or i == 0xff:
		sys.stdout.buffer.write(struct.pack('<H', word))
		word = 0x0000
	i += 1
	if i > 0xff: i = 0
sys.stdout.buffer.flush()
 |