Add /deps.sh, in /linapple remove full-screen mode to make it run properly on recent...
[applesoft_basic.git] / bin_to_tok.py
1 #!/usr/bin/env python3
2
3 import os
4 import sys
5
6 bin = list(os.read(sys.stdin.fileno(), 0x10000))
7
8 i = 0
9 def byte():
10   global i
11   value = bin[i]
12   i += 1
13   return value 
14 def word():
15   global i
16   value = bin[i] + (bin[i + 1] << 8)
17   i += 2
18   return value
19 tail = word()
20 assert tail == len(bin) - 2
21 while i < tail:
22   link = word() - 0x800
23   line_number = word()
24   assert link >= i
25   line = bin[i:link]
26   i = link
27   assert byte() == 0
28   sys.stdout.write(
29     '{0:d}{1:s}\n'.format(
30       line_number,
31       ''.join([chr(j) for j in line])
32     )
33   )
34 assert i == tail
35 assert word() == 0