-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmove.py
executable file
·63 lines (48 loc) · 1.58 KB
/
move.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env python3
import sys
import os
source_file = "ti_fighter.fs"
block_file = "FIGHTER"
block1_start = 128
block_size = 1024
block_inc = 64
pos = 0;
cont_line = "-->>"
cont_line = "{:<64}".format(cont_line)
cont_line = cont_line.encode('utf-8')
block_file_size = os.path.getsize(block_file)
print("block_file_size: {}".format(block_file_size))
# Open the source file for read
with open(source_file, 'r') as sf:
# Open block_file as binary for read
with open(block_file, 'r+b') as bf:
pos = block1_start;
bf.seek(pos)
block_line = 0;
for line in sf:
# replace tabs with space.
# remove line endings
line = line.replace("\t"," ")
line = line.replace("\n","")
line = line.replace("\r","")
# Pad line to be 64 chars in length
line = "{:<64}".format(line)
# encode byte string
bline = line.encode('utf-8')
# Add continuation -->> to next block on line 15
if block_line == 15:
block_line = 0
bf.write(cont_line)
pos = pos + block_inc
bf.seek(pos)
bf.write(bline)
pos = pos + block_inc
bf.seek(pos)
block_line = block_line + 1
# Clear the rest of the file
blank_line = " " * 64
blank_line = blank_line.encode('utf-8')
lines_left = (block_file_size - pos) / 64;
print("lines_left: {}".format(lines_left))
for x in range(int(lines_left)):
bf.write(blank_line)