def charToByte(c):
elif c == '<END>':
return 0x00
elif c == '<LINE>':
return 0x01
elif c == '<WAIT>':
return 0x03
elif c == 'aps t':
return 0x88
elif c == 'aps s':
return 0x89
elif c == 's aps':
return 0x8A
elif c == '*':
return 0x8B
elif c == 'll':
return 0x8C
elif c == 'il':
return 0x8D
elif c == 'li':
return 0x8E
elif c == ' ':
return 0xA0
elif c == '!':
return 0xA1
elif c == '?':
return 0xA2
elif c == '_':
return 0xA3
elif c == '$':
return 0xA4
elif c == '"':
return 0xA6
elif c == 'aps':
到目前为止代码。我想知道这是对的吗?因为我希望字符/单词是一个特定于rom的字节。例如:
Apple = C1 F0 F0 EC E5 . rom-specific byte to c/word. C1 F0 F0 EC E5 = Apple
来自EBZero的Rom特定字节。并且将有一个命令行gui(现在)。
示例:
Line 1: TEST LINE
Binary: D4 E5 F3 F4 CC E9 EE E5
User-change: change to whatever.
我稍后会担心GUI和表格。修改代码:https://github.com/kiij/CoilSnake
研究仍在进行中。
答案 0 :(得分:2)
您可以拥有一个字典词典,而不是一个巨大的if树只是字典,您可以从文件中加载ROM。
阅读和维护字典比使用巨大的if树容易得多,而且运行速度也快得多。
AppleRomTable = {'<END>':0x00, '<LINE>':0x01, ....}
char_to_byte(c):
""" Returns FF for unknown """
return AppleRomTable.get(c, 0xff)