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()
|