- self.put(self.net_beg, self.net_end, self.out_ann, [ANN_NETWORK,
- ['ROM COMMAND: 0x%02x \'%s\'' % (self.data, rom_command[self.data])]])
- if (self.data == 0x33): # READ ROM
- self.state = "GET ROM"
- elif (self.data == 0x0f): # CONDITIONAL READ ROM
- self.state = "GET ROM"
- elif (self.data == 0xcc): # SKIP ROM
- self.state = "TRANSPORT"
- elif (self.data == 0x55): # MATCH ROM
- self.state = "GET ROM"
- elif (self.data == 0xf0): # SEARCH ROM
- self.state = "SEARCH ROM"
- elif (self.data == 0xec): # CONDITIONAL SEARCH ROM
- self.state = "SEARCH ROM"
- elif (self.data == 0x3c): # OVERDRIVE SKIP ROM
- self.state = "TRANSPORT"
- elif (self.data == 0x69): # OVERDRIVE MATCH ROM
- self.state = "GET ROM"
+ if (self.data in command):
+ self.put(self.net_beg, self.net_end, self.out_ann, [0,
+ ['ROM COMMAND: 0x%02x \'%s\'' % (self.data, command[self.data][0])]])
+ self.state = command[self.data][1]
+ else:
+ self.put(self.net_beg, self.net_end, self.out_ann, [0,
+ ['ROM COMMAND: 0x%02x \'%s\'' % (self.data, 'UNRECOGNIZED')]])
+ self.state = "COMMAND ERROR"