Current State Valid Commands Next State Functions
--------------------------------------------------------------
OFF CMD_POWER_ON ON initialize, status
CMD_CHK_STATUS OFF status
ON CMD_POWER_OFF OFF power off
CMD_INSERT READY status
CMD_CHK_STATUS ON status
READY CMD_POWER_OFF OFF eject, power off
CMD_EJECT ON eject
CMD_RECORD RECORD record
CMD_PLAY PLAY play
CMD_FFORWARD FFORWARD fforward
CMD_REWIND REWIND rewind
CMD_CHK_STATUS READY status
RECORD CMD_STOP READY stop
CMD_EJECT ON stop, eject
CMD_FFORWARD FFORWARD stop, fforward
CMD_PLAY PLAY stop, play
CMD_REWIND REWIND stop, rewind
RECORD RECORD status
PLAY CMD_STOP READY stop
CMD_EJECT ON stop, eject
CMD_FFORWARD FFORWARD stop, fforward
CMD_REWIND REWIND stop, rewind
CMD_RECORD RECORD stop, record
CMD_CHK_STATUS PLAY status
FFORWARD CMD_STOP READY stop
CMD_EJECT ON stop, eject
CMD_PLAY PLAY stop, play
CMD_REWIND REWIND stop, rewind
CMD_RECORD RECORD stop, record
CMD_CHK_STATUS FFORWARD status
REWIND CMD_STOP READY stop
CMD_EJECT ON stop, eject
CMD_PLAY PLAY stop, play
CMD_RECORD RECORD stop, record
CMD_FFORWARD FFORWARD stop, fforward
CMD_CHK_STATUS REWIND status