public
/
applesoft_basic.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
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