Repository navigation
Expand file tree
/
Copy pathafond_create_track_ptr.py
More file actions
71 lines (55 loc) · 1.61 KB
/
Copy pathafond_create_track_ptr.py
File metadata and controls
71 lines (55 loc) · 1.61 KB
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
y = 40
x = 100
xp = 32
a = 0x6000
b = 0x6000 + 0x1900
invert_l = []
with open("afond_bitmap_ptr.asm", "w") as f:
for z in range(12):
l = []
x = 100
ptr = a
if z < 13:
x_delta = (25 - z)*64/26 - 32
nb = round(y*x_delta/x)
l.extend([ptr]*nb)
x += x_delta
ptr = b if ptr == a else a
x_delta = 32
nb = min(12, round(y*x_delta/x))
l.extend([ptr]*nb)
x += x_delta
else:
ptr = b if ptr == a else a
x_delta = round((25 - z)*64/26)
nb = round(y*x_delta/x)
l.extend([ptr]*nb)
x += x_delta
ptr = b if ptr == a else a
while len(l) < 100:
nb = min(12, max(round(y*xp/x), 1))
l.extend([ptr]*nb)
x += xp
ptr = b if ptr == a else a
print(''.join(['X' if val == a else '.' for val in l]))
l = l[:100]
l.reverse()
invert_l.append([a if val == b else b for val in l])
for i in range(100):
l[i] = l[i] + 64*i
l2 = []
for val in l:
l2.append(str(int(val/256)))
l2.append(str(val % 256))
f.write(' db ' + ','.join(l2) + '\n')
for l in invert_l:
l2 = l[:]
l2.reverse()
print(''.join(['X' if val == a else '.' for val in l2]))
for i in range(100):
l[i] = l[i] + 64*i
l2 = []
for val in l:
l2.append(str(int(val/256)))
l2.append(str(val % 256))
f.write(' db ' + ','.join(l2) + '\n')