; Archelon URCC C 3.18 2004/03/09
; MSP430 CIF 2004/03/02
; Compiled "H:\ESP\gen2\software\msp430\dwarves\rvalve.c" Mon Dec 06 10:21:51 2004
; 
	.dbgseg dbg_syms
	.align 0x2
	.long 0x6c69662e
	.long 0x65
	.long 0x1
	.long 0x0
	.long 0x167fffe
	.long 0x0
	.long DBG5
	.long 0x0
	.long 0x0
	.long 0x0
; __builtin__ unsigned short _BIS_SR(unsigned short);
; __builtin__ unsigned short _BIC_SR(unsigned short);
; __builtin__ unsigned short _BIS_SR_IRQ(unsigned short);
; __builtin__ unsigned short _BIC_SR_IRQ(unsigned short);
;  __builtin__ void _DINT(void);
; __builtin__ void _EINT(void);
; __builtin__ void _NOP(void);
; __builtin__ void _OPC(const unsigned short op);
; __builtin__ short _SWPB(short);  
; __builtin__ long _SWPB_LONG(long);  
; __builtin__ float _SWPB_FLOAT(float);  
; sfrb    IE1               = (0x0000) ;
; sfrb    IFG1              = (0x0002) ;
; sfrb    ME1               = (0x0004) ;
; sfrb    IE2               = (0x0001) ;
; sfrb    IFG2              = (0x0003) ;
; sfrb    ME2               = (0x0005) ;
; sfrw    WDTCTL            = (0x0120) ;
; sfrw    MPY               = (0x0130) ;
; sfrw    MPYS              = (0x0132) ;
; sfrw    MAC               = (0x0134) ;
; sfrw    MACS              = (0x0136) ;
; sfrw    OP2               = (0x0138) ;
; sfrw    RESLO             = (0x013A) ;
; sfrw    RESHI             = (0x013C) ;
; const sfrw SUMEXT         = (0x013E) ;
; const sfrb P1IN           = (0x0020) ;
; sfrb    P1OUT             = (0x0021) ;
; sfrb    P1DIR             = (0x0022) ;
; sfrb    P1IFG             = (0x0023) ;
; sfrb    P1IES             = (0x0024) ;
; sfrb    P1IE              = (0x0025) ;
; sfrb    P1SEL             = (0x0026) ;
; const sfrb P2IN           = (0x0028) ;
; sfrb    P2OUT             = (0x0029) ;
; sfrb    P2DIR             = (0x002A) ;
; sfrb    P2IFG             = (0x002B) ;
; sfrb    P2IES             = (0x002C) ;
; sfrb    P2IE              = (0x002D) ;
; sfrb    P2SEL             = (0x002E) ;
; const sfrb P3IN           = (0x0018) ;
; sfrb    P3OUT             = (0x0019) ;
; sfrb    P3DIR             = (0x001A) ;
; sfrb    P3SEL             = (0x001B) ;
; const sfrb P4IN           = (0x001C) ;
; sfrb    P4OUT             = (0x001D) ;
; sfrb    P4DIR             = (0x001E) ;
; sfrb    P4SEL             = (0x001F) ;
; const sfrb P5IN           = (0x0030) ;
; sfrb    P5OUT             = (0x0031) ;
; sfrb    P5DIR             = (0x0032) ;
; sfrb    P5SEL             = (0x0033) ;
; const sfrb P6IN           = (0x0034) ;
; sfrb    P6OUT             = (0x0035) ;
; sfrb    P6DIR             = (0x0036) ;
; sfrb    P6SEL             = (0x0037) ;
; sfrb    U0CTL             = (0x0070) ;
; sfrb    U0TCTL            = (0x0071) ;
; sfrb    U0RCTL            = (0x0072) ;
; sfrb    U0MCTL            = (0x0073) ;
; sfrb    U0BR0             = (0x0074) ;
; sfrb    U0BR1             = (0x0075) ;
; const sfrb U0RXBUF        = (0x0076) ;
; sfrb    U0TXBUF           = (0x0077) ;
; sfrb    U1CTL             = (0x0078) ;
; sfrb    U1TCTL            = (0x0079) ;
; sfrb    U1RCTL            = (0x007A) ;
; sfrb    U1MCTL            = (0x007B) ;
; sfrb    U1BR0             = (0x007C) ;
; sfrb    U1BR1             = (0x007D) ;
; const sfrb U1RXBUF        = (0x007E) ;
; sfrb    U1TXBUF           = (0x007F) ;
; sfrb    I2CIE             = (0x0050) ;
; sfrb    I2CIFG            = (0x0051) ;
; sfrb    I2CNDAT           = (0x0052) ;
; sfrb    I2CTCTL           = (0x0071) ;
; sfrb    I2CDCTL           = (0x0072) ;
; sfrb    I2CPSC            = (0x0073) ;
; sfrb    I2CSCLH           = (0x0074) ;
; sfrb    I2CSCLL           = (0x0075) ;
; sfrb    I2CDRB            = (0x0076) ;
; sfrw    I2CDRW            = (0x0076) ;
; sfrw    I2COA             = (0x0118) ;
; sfrw    I2CSA             = (0x011A) ;
; const sfrw I2CIV          = (0x011C) ;
; const sfrw TAIV           = (0x012E) ;
; sfrw    TACTL             = (0x0160) ;
; sfrw    TACCTL0           = (0x0162) ;
; sfrw    TACCTL1           = (0x0164) ;
; sfrw    TACCTL2           = (0x0166) ;
; sfrw    TAR               = (0x0170) ;
; sfrw    TACCR0            = (0x0172) ;
; sfrw    TACCR1            = (0x0174) ;
; sfrw    TACCR2            = (0x0176) ;
; const sfrw TBIV           = (0x011E) ;
; sfrw    TBCTL             = (0x0180) ;
; sfrw    TBCCTL0           = (0x0182) ;
; sfrw    TBCCTL1           = (0x0184) ;
; sfrw    TBCCTL2           = (0x0186) ;
; sfrw    TBCCTL3           = (0x0188) ;
; sfrw    TBCCTL4           = (0x018A) ;
; sfrw    TBCCTL5           = (0x018C) ;
; sfrw    TBCCTL6           = (0x018E) ;
; sfrw    TBR               = (0x0190) ;
; sfrw    TBCCR0            = (0x0192) ;
; sfrw    TBCCR1            = (0x0194) ;
; sfrw    TBCCR2            = (0x0196) ;
; sfrw    TBCCR3            = (0x0198) ;
; sfrw    TBCCR4            = (0x019A) ;
; sfrw    TBCCR5            = (0x019C) ;
; sfrw    TBCCR6            = (0x019E) ;
; sfrb    DCOCTL            = (0x0056) ;
; sfrb    BCSCTL1           = (0x0057) ;
; sfrb    BCSCTL2           = (0x0058) ;
; sfrw    FCTL1             = (0x0128) ;
; sfrw    FCTL2             = (0x012A) ;
; sfrw    FCTL3             = (0x012C) ;
; sfrb    CACTL1            = (0x0059) ;
; sfrb    CACTL2            = (0x005A) ;
; sfrb    CAPD              = (0x005B) ;
; sfrw    ADC12CTL0         = (0x01A0) ;
; sfrw    ADC12CTL1         = (0x01A2) ;
; sfrw    ADC12IFG          = (0x01A4) ;
; sfrw    ADC12IE           = (0x01A6) ;
; sfrw    ADC12IV           = (0x01A8) ;
; sfrw    ADC12MEM0         = (0x0140) ;
; sfrw    ADC12MEM1         = (0x0142) ;
; sfrw    ADC12MEM2         = (0x0144) ;
; sfrw    ADC12MEM3         = (0x0146) ;
; sfrw    ADC12MEM4         = (0x0148) ;
; sfrw    ADC12MEM5         = (0x014A) ;
; sfrw    ADC12MEM6         = (0x014C) ;
; sfrw    ADC12MEM7         = (0x014E) ;
; sfrw    ADC12MEM8         = (0x0150) ;
; sfrw    ADC12MEM9         = (0x0152) ;
; sfrw    ADC12MEM10        = (0x0154) ;
; sfrw    ADC12MEM11        = (0x0156) ;
; sfrw    ADC12MEM12        = (0x0158) ;
; sfrw    ADC12MEM13        = (0x015A) ;
; sfrw    ADC12MEM14        = (0x015C) ;
; sfrw    ADC12MEM15        = (0x015E) ;
; sfrb    ADC12MCTL0        = (0x0080) ;
; sfrb    ADC12MCTL1        = (0x0081) ;
; sfrb    ADC12MCTL2        = (0x0082) ;
; sfrb    ADC12MCTL3        = (0x0083) ;
; sfrb    ADC12MCTL4        = (0x0084) ;
; sfrb    ADC12MCTL5        = (0x0085) ;
; sfrb    ADC12MCTL6        = (0x0086) ;
; sfrb    ADC12MCTL7        = (0x0087) ;
; sfrb    ADC12MCTL8        = (0x0088) ;
; sfrb    ADC12MCTL9        = (0x0089) ;
; sfrb    ADC12MCTL10       = (0x008A) ;
; sfrb    ADC12MCTL11       = (0x008B) ;
; sfrb    ADC12MCTL12       = (0x008C) ;
; sfrb    ADC12MCTL13       = (0x008D) ;
; sfrb    ADC12MCTL14       = (0x008E) ;
; sfrb    ADC12MCTL15       = (0x008F) ;
; sfrw    DAC12_0CTL        = (0x01c0) ;
; sfrw    DAC12_1CTL        = (0x01c2) ;
; sfrw    DAC12_0DAT        = (0x01c8) ;
; sfrw    DAC12_1DAT        = (0x01ca) ;
; sfrw    DMACTL0           = (0x0122) ;
; sfrw    DMACTL1           = (0x0124) ;
; sfrw    DMA0CTL           = (0x01e0) ;
; sfrw    DMA1CTL           = (0x01e8) ;
; sfrw    DMA2CTL           = (0x01f0) ;
; sfrw    DMA0SA            = (0x01e2) ;
; sfrw    DMA0DA            = (0x01e4) ;
; sfrw    DMA0SZ            = (0x01e6) ;
; sfrw    DMA1SA            = (0x01ea) ;
; sfrw    DMA1DA            = (0x01ec) ;
; sfrw    DMA1SZ            = (0x01ee) ;
; sfrw    DMA2SA            = (0x01f2) ;
; sfrw    DMA2DA            = (0x01f4) ;
; sfrw    DMA2SZ            = (0x01f6) ;
; typedef int ptrdiff_t;
; ptrdiff_t size 2
; typedef unsigned int size_t;
; size_t size 2
; typedef int wchar_t;
; wchar_t size 2
; typedef	  unsigned char       uint8;
; uint8 size 1
; typedef   uint8               byte;
; byte size 1
; typedef	  signed char         int8;
; int8 size 1
; typedef	  unsigned short      uint16;
; uint16 size 2
; typedef	  short               int16;
; int16 size 2
; typedef	  unsigned long       uint32;
; uint32 size 4
; typedef	  long                int32;
; int32 size 4
; typedef	  enum {false, true}  boolean;
; boolean size 1
; typedef   void voidFn (void);
; voidFn size 0
; typedef	struct {int16 P,I,D;} int16PID;
; int16PID size 6
; static __inline__  void MCLKsleep (unsigned mclks)
; }
; static __inline__  void initDWRFCLKS (void)
; }  
; static __inline__  void initDWRFBUS (void)
; }
; static __inline__ 
;   void driveDWRFbus (void)
; }
; static __inline__ 
;   void floatDWRFbus (void)
; }
; static __inline__ 
;   void setDWRFadr (byte adr)
; } 
; static __inline__  
;   void refreshDWRFadr (byte adr)
; }  
; static __inline__ 
;   void freezeDWRFadr (void)
; }
; static __inline__ 
;   byte readDWRFnext (void)
; }
; static __inline__ 
;   byte readDWRFlast (void)
; }
; static __inline__ 
;   byte readDWRFfirst (byte baseAdr)
; }
; static __inline__ 
;   byte readDWRF (byte adr)
; }
; static __inline__ 
;   void writeDWRFnext (byte value)
; }
; static __inline__ 
;   void writeDWRFlast (byte value)
; }
; static __inline__ 
;   void writeDWRFfirst (byte baseAdr, byte value)
; }
; static __inline__ 
;   void writeDWRF (byte adr, byte value)
; }
; extern
; byte DWRFIEimage;  
; static __inline__  void disableDWRFirqs (byte mask)
; }
; static __inline__  void enableDWRFirqs (byte mask)
; }
; static __inline__  void endDWRFirqs (byte mask)
; }
; static __inline__  void startDWRFirqs (byte mask)
; }
; enum {
;   SSMoff,           
;   SSMread,          
;   SSMreading,       
;   SSMbraking,       
;   SSMstart,         
;   SSMcheck,         
;   SSMrotatingUp,    
;   SSMrotatingDown   
; };
; typedef struct
; {
;    byte State;
;    int8 direction;  
;    byte Valve;	
;    byte source;
;    byte tag;
;    byte maxCurrent;   
;    byte brakeTics;    
;    byte brakeTimer;   
;    uint16 position;   
;    uint16 lashGoal;   
;    uint16 goal;       
;    uint16 lash;       
;    uint16 maxError;   
;    uint16 revCounts;  
; }RotaryValve;
; RotaryValve size 20
; void configRotaryValves(RotaryValve* rv);
; void valveISR(RotaryValve* rv, char debugFlag);
; void idleShaft (RotaryValve *rv);  
; typedef struct {   
;   byte *head, *tail;  
;   byte   buffer[1];   
; } fifoBody;
; fifoBody size 6
; typedef const struct {   
;   fifoBody *body;
;   byte *end;           
;   unsigned limit;      
; } fifo;
; ****** Warning: const variable ``fifo'' lacks initializer
; fifo size 6
; static __inline__  
; void FIFOclear (fifo *r)
; }
; static __inline__  
; unsigned FIFOdiff (fifo *r)
; }
; static __inline__  
; unsigned FIFOlen (fifo *r) {
; }
; static __inline__  
; unsigned FIFOfree (fifo *r) {
; }
; static __inline__  
; unsigned FIFOfreeFrom (fifo *r, byte *tail) {
; }
; static __inline__ 
; byte *FIFOadvance (fifo *r, byte *headOrTail, unsigned stride)
; }
; static __inline__ 
; byte *FIFOretreat (fifo *r, byte *headOrTail, unsigned stride)
; }
; static __inline__  
; unsigned FIFOdelta (fifo *r, byte *cursor, byte *base) {
; }
; static __inline__ 
; byte *FIFOinc (fifo *r, byte *headOrTail)
; }
; static __inline__ 
; byte *FIFOdec (fifo *r, byte *headOrTail)
; }
; static __inline__ 
; unsigned FIFOpoke (fifo *r)
; }
; static __inline__ 
; byte *FIFOaddChunk (fifo *r, byte *src, byte *dst, unsigned len)
; }
; static __inline__ 
; void FIFOwriteChunk (fifo *r, byte *src, unsigned len)
; }
; static __inline__ 
; unsigned FIFOpeek (fifo *r)
; }
; static __inline__ 
; byte *FIFOreadChunkAhead (fifo *r, byte *src, byte *dst, unsigned len)
; }
; static __inline__ 
; void FIFOreadChunk (fifo *r, byte *dst, unsigned len)
; }
; static __inline__  
; unsigned FIFOreadByteAhead(fifo *r, byte **headPtr)
; }
; static __inline__  
; unsigned FIFOreadByte(fifo *r)
; }
; static __inline__ 
; void FIFOwriteByte(fifo *r, byte octet)
; }
; static __inline__ 
; void FIFOwriteByteW(fifo *r, unsigned octet)
; }
; static __inline__ 
; unsigned FIFOwriteByteIfNotFull(fifo *r, unsigned octet)
; }
; static __inline__  void FIFOwrite16 (fifo *r, uint16 word) {
; }
; static __inline__  void FIFOwrite24 (fifo *r, uint32 word) {
; }
; static __inline__  void FIFOwrite32 (fifo *r, uint32 word) {
; }
; static __inline__  
; byte *FIFOaddByte (fifo *r, byte *tail, byte octet)
; }
; static __inline__  
; byte *FIFOaddByteW (fifo *r, byte *tail, unsigned octet)
; }
; static __inline__ 
; byte *bufAddByte (byte *cursor, byte octet)
; }
; static __inline__ 
; byte *bufAddByteW (byte *cursor, unsigned octet)
; }
; static __inline__  byte *FIFOadd16 (fifo *r, byte *tail, uint16 word) {
; }
; static __inline__ 
; byte *bufAdd16 (byte *cursor, unsigned word)
; }
; static __inline__  byte *FIFOadd24 (fifo *r, byte *tail, uint32 word) {
; }
; static __inline__ 
; byte *bufAdd24 (byte *cursor, uint32 word)
; }
; static __inline__  byte *FIFOadd32 (fifo *r, byte *tail, uint32 word) {
; }
; static __inline__ 
; byte *bufAdd32 (byte *cursor, uint32 word)
; }
; byte *FIFOaddBlock (fifo *r, byte *src, byte *dst, unsigned len);
; static __inline__  uint16 FIFOread16 (fifo *r) {
; }
; static __inline__  uint16 FIFOread16Ahead (fifo *r, byte **headPtr) {
; }
; static __inline__  uint32 FIFOread24 (fifo *r) {
; }
; static __inline__  uint32 FIFOread24Ahead (fifo *r, byte **headPtr) {
; }
; static __inline__  uint32 FIFOread24signed (fifo *r) {
; }
; static __inline__  uint32 FIFOread24signedAhead (fifo *r, byte **headPtr) {
; }
; static __inline__  uint32 FIFOread32 (fifo *r) {
; }
; static __inline__  uint32 FIFOread32Ahead (fifo *r, byte **headPtr) {
; }
; byte *FIFOreadBlockAhead (fifo *r, byte *src, byte *dst, unsigned len);
; void RX1ISR (void);
; static __inline__  void kickstart (void)
; }
; static __inline__  void pollInput (void)
; }
; typedef const struct parserInstance parserInstance;
; ****** Warning: const variable ``parserInstance'' lacks initializer
; parserInstance size 0
; struct parserInstance {
;   fifo *input, *output;     
;   voidFn *pollInput;        
;   voidFn *kickstartOutput;  
;   void (*resync) (byte USARTerrMask);  
; };
; void parserAwaitInput (fifo *from, unsigned length);
; unsigned parserGetByte (parserInstance *instance);
; unsigned parserGetByteAhead (parserInstance *instance, byte **head);
; uint16 parserGetWord (parserInstance *instance);
; void parserPutByte (parserInstance *instance, unsigned b);
; void parserPutWord (parserInstance *instance, uint16 word);
; void parserPutBlock (parserInstance *instance, byte *src, unsigned len);
; void parserPutString (parserInstance *instance, char *s);
; void parserSkipInput (parserInstance *instance, unsigned len);
; int parserGetHex (parserInstance *port, unsigned limit);
; typedef byte servoPosition[3];  
; servoPosition size 3
; typedef byte msg16[2];          
; msg16 size 2
; typedef byte umsg16[2];         
; umsg16 size 2
; typedef byte msg32[4];          
; msg32 size 4
; typedef byte umsg32[4];         
; umsg32 size 4
; typedef byte msg16PID[3*2];     
; msg16PID size 6
; enum servoOption {  
;   servoOptionEnable       = 0x1,  
;   servoOptionEncPolarity  = 0x2,  
;   servoOptionThreshold    = 0x4,  
;   servoOptionThresPolarity= 0x8,  
;   servoOptionHomePwr      = 0x10, 
;   servoOptionHomePolarity = 0x20, 
;   servoOptionHomeDir      = 0x40, 
;   servoOptionJog          = 0x80  
; };
; enum servoStatusBits {  
;   servoOn           = 0x1,  
;   servoLostHome     = 0x2,  
;   servoHomeFlag     = 0x4,  
;   servoPastThreshold= 0x8,  
;   servoRLS          = 0x10, 
;   servoFLS          = 0x20  
; };
; enum servoReason { 
;   noServoError, invalidServoChannel, invalidServoGoal,
;   servoAborted, servoOvercurrent, servoOverpressure,
;   servoNotReady, servoPositionErr,servoSpeedError
; };
; enum shaftReason {
;   noShaftError, invalidShaftNumber, invalidShaftAngle,
;   shaftAborted, shaftOvercurrent
; };
; struct servoStatus { 
;   enum servoStatusBits status; 
;   servoPosition    position;   
;   msg16            velocity;   
;   int8             current;    
;   uint8            inPress;    
;   uint8            outPress;   
; };
; enum heaterStates{
; heaterOn, heaterOff};
; typedef struct
; {
; 	uint16	dwell;		
; 	int16 	targetT;	
; 	uint16	errHoldoff;	
; 	int16	minT,maxT;	
; }thermalStep;
; thermalStep size 10
; typedef struct {
;    int16PID heating,cooling;  
; } thermalCalibration;
; thermalCalibration size 12
; enum CompletionCode { 
;   noError, invalidThermalProgram,hardwareFault, temperatureError
; };
; typedef struct
; {
; 	thermalStep tProgram;
; 	thermalCalibration 	tCalib;
; 	int16		currentTemperature,thermoCouple;	
; 	uint16		elapsedTics;
; 	byte 		state;
; 	byte code;
; 	uint8 source;    
; 	uint8 tag;         
;     uint8 cmdType;   
; 	int32		heaterSlope_num;
; 	int32		heaterSlope_den;
; 	int16		heaterPWM,coolerPWM;
; 	uint16		tempSense1,tempSense2;
; 	byte		tempSenseSwitch;
; 	int32		fixedPWM;
; 	int32 		sum;	 		
; 	int32      intLimitP, intLimitN;
; 	int32       Pterm;
; 	int32        Iterm;
; 	int16       temp;	
; }Heater;
; Heater size 78
; void HeaterServoLoop(Heater* h);
; void initHeater(Heater* h);
; void startHeater(Heater* h);
; void turnHeaterOff(Heater* h);
; void calculateSlope(Heater* h);
; enum ESPmsgCmd {  
;   ESPmsgNOP,          
;   ESPmsgEchoCmd,      
;   ESPmsgDupAdr,       
;   solenoidConfigCmd,    
;   solenoidStatusCmd,    
;   solenoidPulseCmd,     
;   solenoidHoldCmd,      
;   shaftConfigCmd,       
;   shaftStatusCmd,       
;   shaftRotateCmd,       
;   thermalConfigCmd,     
;   thermalStatusCmd,     
;   thermalProgramCmd,    
;   thermalRunCmd,        
;   servoConfigCmd,       
;   servoStatusCmd,       
;   servoAbsMoveCmd,      
;   servoRelMoveCmd,      
;   servoOnCmd,         
;   servoGoalCmd,         
;   servoGripCmd,		
;   servoReleaseCmd,	
;   servoGPIOCmd,		
;   servoOffCmd,			
;   ESPmsgCmds 
; };
; struct ESPdupMsg  { 
;   enum ESPmsgCmd cmd;        
;   byte  dupAdr;         
; };
; struct solenoidConfigMsg  { 
;   enum ESPmsgCmd cmd;         
;   byte  pulseDuration;  
; };
; struct solenoidConfigRequest {
;   byte dst;
;   enum ESPmsgCmd cmd;         
; };
; struct solenoidConfigReply { 
;   enum ESPmsgCmd cmd;      
;   byte pulseDuration;      
;   byte quanity;            
; };
; struct solenoidStatusRequest {
;   byte dst;
;   enum ESPmsgCmd cmd;         
; };
; struct solenoidStatusReply { 
;   enum ESPmsgCmd cmd;             
;   byte pulseWidthRemaining; 
;   byte state[1];            
; };
; enum {
;   solenoidStateOFF,
;   solenoidStateUP,
;   solenoidStateDOWN,
;   solenoidStateReserved
; };  
; struct solenoidPulseMsg {
;   enum ESPmsgCmd cmd;       
;   byte direction[1];        
; };
; struct solenoidHoldMsg {
;   enum ESPmsgCmd cmd;       
;   byte direction[1];        
; };
; enum {
;   solenoidDirectionNOP,
;   solenoidDirectionUP,
;   solenoidDirectionDOWN,
;   solenoidDirectionSTOP
; };  
; struct shaftConfigMsg  { 
;   enum ESPmsgCmd cmd;    
;   byte     shaftNumber;  
;   umsg16   maxError;     
;   byte     maxCurrent;   
; };
; struct shaftConfigRequest {
;   enum ESPmsgCmd cmd;    
;   byte     shaftNumber;  
; };
; struct shaftConfigReply  { 
;   enum ESPmsgCmd cmd;    
;   umsg16   maxError;     
;   byte     maxCurrent;   
; };
; struct shaftStatusRequest { 
;   enum ESPmsgCmd cmd;   
;   byte     shaftNumber; 
;   umsg16   repeatRate;  
; };
; struct shaftStatusReply { 
;   enum ESPmsgCmd cmd;   
;   umsg16   angle;       
;   umsg16   goal;        
;   int8     current;     
; };
; struct shaftRotateRequest {
;   enum ESPmsgCmd cmd;   
;   byte     shaftNumber;
;   umsg16   goal;        
;   int8     direction;   
; };
; struct shaftRotateReply {
;   enum ESPmsgCmd cmd;      
;   umsg16   angle;          
;   enum shaftReason reason; 
; };
; struct servoConfig {  
;   enum servoOption optionMask; 
;   servoPosition thresholdOffset; 
;   servoPosition maxPositionErr;  
;   msg16PID  gain;         
;   umsg16    maxSpeed;     
;   umsg16    minSpeed;     
;   uint16    accel;        
;   uint8     maxCurrent;     
;   int8      maxDeltaPress;  
;   uint8     maxInPress;     
;   uint8     maxOutPress;    
;   uint8     minInPress;     
;   uint8     minOutPress;    
; };
; struct servoConfigMsg {   
;   enum ESPmsgCmd  cmd;    
;   byte      channel;      
;   struct servoConfig item;  
; };
; struct servoOffMsg {  
;   enum ESPmsgCmd  cmd;     
;   byte      channel;       
; };
; struct servoConfigRequest {
;   enum ESPmsgCmd  cmd;       
;   byte        channel;       
; };
; struct servoConfigReply {   
;   enum ESPmsgCmd  cmd;      
;   struct servoConfig item;  
; };
; struct servoStatusRequest {  
;   enum ESPmsgCmd  cmd;       
;   byte      channel;      
;   umsg16    repeatRate;   
; };
; struct servoStatusReply {  
;   enum ESPmsgCmd   cmd;       
;   struct servoStatus state;   
; };
; struct servoMoveRequest {  
;   enum ESPmsgCmd  cmd;        
;   byte      channel;
;   servoPosition goal;     
; };
; struct servoMoveReply {    
;   enum ESPmsgCmd   cmd;       
;   enum servoReason    reason;       
;   struct servoStatus  stateAtAbort; 
; };
; struct servoOnRequest {  
;   enum ESPmsgCmd  cmd;     
;   byte      channel;       
; };
; struct servoOnReply {    
;   enum ESPmsgCmd   cmd;       
;   enum servoReason    reason;       
;   struct servoStatus  stateAtAbort; 
; };
; struct servoGoalRequest {  
;   enum ESPmsgCmd   cmd;       
;   byte             channel;   
; };
; struct servoGoalReply {
;   enum ESPmsgCmd   cmd;       
;   enum ESPmsgCmd   servoMode; 
;   servoPosition    goal;      
; };
; struct servoGPIORequest{
;   enum ESPmsgCmd   cmd;       
;   byte channel;
; };
; struct servoGPIOReply{
;   enum ESPmsgCmd   cmd;       
;   byte bitMask;		
; };
; struct servoGPIOMsg{
;   enum ESPmsgCmd   cmd;       
;   byte channel;
;   byte bitMask;		
; };
; struct servoGripRequest{
;   enum ESPmsgCmd   cmd;       
;   byte channel;  
; };
; struct servoGripReply{
;   enum ESPmsgCmd   cmd;       
;   enum servoReason reason;	
; };
; struct thermalConfigMsg  { 
;   enum ESPmsgCmd cmd;   
;   msg16PID  heating, cooling;  
; };
; struct thermalConfigRequest {  
;   enum ESPmsgCmd cmd;   
; };
; struct thermalConfigReply {   
;   enum ESPmsgCmd  cmd;      
;   msg16PID  heating, cooling;  
; };
; struct thermalStatusRequest {
;   enum ESPmsgCmd cmd;   
;   umsg16   repeatRate;  
; };
; struct thermalStatusReply {
;   enum ESPmsgCmd cmd;   
;   msg16    currentTemperature;   
;   umsg16   elapsedTics;          
;   byte     heaterPwr, coolerPwr; 
; };
; struct thermalRunRequest {
;   enum ESPmsgCmd  cmd;        
;   thermalStep step[1];  
; };
; struct thermalRunReply {
;   enum ESPmsgCmd  cmd;        
;   byte completionCode ;  
;   umsg16  elapsedTics;  
; };
; struct thermalProgramRequest {  
;   enum ESPmsgCmd  cmd;        
; };
; struct thermalProgramReply {  
;   enum ESPmsgCmd  cmd;       
;   thermalStep step[1];  
; };
; typedef struct
; {
; 	byte channel;	 		
; 	enum servoOption optionMask;
;         enum servoStatusBits statusMask;
; 	enum servoReason reason;  
; 	struct servoStatus status;      
; 	uint8 source;    
; 	uint8 tag;         
;     uint8 cmdType;   
; 	uint8 sourceStatus;    
; 	uint8 tagStatus;         
; 	int32 position;  		
; 	int32 lastPosition;        
;     int32 thresholdOffset; 
; 	int32 lastIntermediate; 	
; 	int32 lastDerivative;
; 	int32 goalPosition; 	
; 	int32 relative;			
; 	int32 intermediate;	 	
; 	int32 maxPositionErr;
; 	int16 pressure1;
; 	int16 pressure2;
; 	uint16 maxSpeed; 		
; 	uint16 defaultMaxSpeed;
; 	uint16 minSpeed;
; 	int16 cmdVel;	 		
; 	uint16 accel;	 		
; 	int8 stopFlag;			
; 	int16PID gain;	
; 	int32 sum;		 		
; 	int32 previousSum;
; 	int32 lastError;		
; 	int16 motorCurrent;		
; 	int16  maxPressureDelta;	
; 	int16 maxInPressure;	
; 	int16 maxOutPressure;	
; 	int16 minInPressure;	
; 	int16 minOutPressure;	
; 	int16 maxCurrent;
; 	byte limitedFlag;
;     byte pressureSenseSwitch;
;     int32 latchPosition;
;     uint16 servoTics;
;     uint16 repeatRate;
; }MotorChannel;
; MotorChannel size 112
; typedef void trapFn (MotorChannel *m);
; trapFn size 0
; extern trapFn *MoveType0, *MoveType1;
; void getNewPos(MotorChannel* mc);
; void getLatchPos(MotorChannel* mc);
; int32 getPosition(MotorChannel* mc);
; enum servoStatusBits updateStatus(MotorChannel *mc);
; void trapServoLoop(MotorChannel* mc);
; void configMotorChannel(MotorChannel* mc,byte channel);
; void initServo(void);
; void ServoDoNothing(MotorChannel* mc);
; void startAbsMove(MotorChannel* mcChan, int32 newPosition,
;                 unsigned tag, unsigned source);
; void startRelMove(MotorChannel* mcChan, int32 newPosition,
;                 unsigned tag, unsigned source);
; void MotorOverCurrent(MotorChannel* mcChan);
; void MotorPositionError(MotorChannel* mcChan);
; void servoOff(MotorChannel* mcChan);
; void convwritebyte(unsigned char tosend);
; unsigned char convreadbyte(unsigned char temp,char endCmd);
; void sendSerialData(int32 variable);
; void parseTestCmd(MotorChannel* mc,RotaryValve* rv,Heater* h,char* debugFlag);
; void sendSerialByte(byte tosend);
; enum timerIndex {   
;   dcoTimer,         
;   servoTimer,
;   valveTimer,
;   heaterTimer,
;   gripperTimer,
;   NTIMERS   
; };
; enum debugMask {  
;   debugCmds   = 0x01,    
;   debugI2C    = 0x02,    
;   debugEnc    = 0x04,    
;   debugValve  = 0x08,    
;   debugTemp   = 0x10,    
;   debugHeatPWM= 0x20,     
;   debugPressure  = 0x40
; };
; extern enum debugMask debugFlag;
; extern uint16 opComplete;
; void putDebugNewLine (void);
; void putDebugString (char *string);
; void putDebugLine (char *line);
; void reportErr (const char *errTxt, ...);
; void checkServoStatus(MotorChannel *mcChan);
; static byte drvCtlImage = 0;
	.iseg rvalve_idata
	.align 0x2
rvalve_V1:
	.byte 0x0
	.dseg	rvalve_data
	.align 0x2
rvalve_V2:
_drvCtlImage:
	.bss 0x1
; drvCtlImage size 1
; static byte drvMtrCtlImage = 0;
	.iseg rvalve_idata
	.byte 0x0
	.dseg	rvalve_data
_drvMtrCtlImage:
	.bss 0x1
; drvMtrCtlImage size 1
; static void setDrvCtl (byte mask)
	.dbgseg dbg_syms
DBG3:
	.long 0x0
	.long DBG10
	.long _setDrvCtl
	.long 0x40
	.long 0x1030001
	.long DBG1
	.long DBG7-DBG8
	.long DBG9
	.long DBG6
	.long 0x0
	.pseg rvalve_code
DBG8:
	.dbgseg dbg_syms
DBG1:
	.long 0x66622e
	.long 0x0
	.long DBG8
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x10
	.long 0x0
	.long DBG11
	.long 0x0
	.dbgseg dbg_line
	.align 0x2
DBG9:
	.long DBG3
	.long 0x0
	.long _setDrvCtl
	.long 0x1
	.long DBG13
	.long 0x2
	.long DBG14
	.long 0x3
	.long DBG15
	.long 0x4
	.long DBG16
	.long 0x5
	.long DBG25
	.long 0x6
	.long DBG26
	.long 0x7
	.pseg rvalve_code
_setDrvCtl:
; ENTRY
DBG12:
; mask at argloc 0 (0x0) in reg  size 1
; {
DBG13:
;   _DINT();
DBG14:
	dint
DBG15:
;   drvCtlImage = mask;
	mov.b	r12,&_drvCtlImage
DBG18:
DBG17:
DBG16:
;   writeDWRF ( 16 , mask);
; {
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x10,&0x21
DBG19:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG20:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	#0xfe,&0x19
DBG22:
DBG21:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	#0xfb,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	#0x5,&0x19
DBG25:
DBG24:
DBG23:
;   _EINT();
	eint
DBG27:
DBG26:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x6b73616d
	.long 0x0
	.long 0xc0102
	.long 0xc
	.long 0x11ffff
	.long 0x66652e
	.long 0x0
	.long DBG27
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x16
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg rvalve_code
DBG7:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG10
	.long DBG7
	.long 0x0
	.long 0xff0001
; }
; static void setDrvMtrCtl (byte mask)
DBG6:
	.long 0x0
	.long DBG32
	.long _setDrvMtrCtl
	.long 0x40
	.long 0x1030001
	.long DBG11
	.long DBG29-DBG30
	.long DBG31
	.long DBG28
	.long 0x0
	.pseg rvalve_code
DBG30:
	.dbgseg dbg_syms
DBG11:
	.long 0x66622e
	.long 0x0
	.long DBG30
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x18
	.long 0x0
	.long DBG33
	.long 0x0
	.dbgseg dbg_line
DBG31:
	.long DBG6
	.long 0x0
	.long _setDrvMtrCtl
	.long 0x1
	.long DBG35
	.long 0x2
	.long DBG36
	.long 0x3
	.long DBG37
	.long 0x4
	.long DBG38
	.long 0x5
	.long DBG47
	.long 0x6
	.long DBG48
	.long 0x7
	.pseg rvalve_code
_setDrvMtrCtl:
; ENTRY
DBG34:
; mask at argloc 0 (0x0) in reg  size 1
; {
DBG35:
;   _DINT();
DBG36:
	dint
DBG37:
;   drvMtrCtlImage = mask;
	mov.b	r12,&_drvMtrCtlImage
DBG40:
DBG39:
DBG38:
;   writeDWRF ( 25 , mask);
; {
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x19,&0x21
DBG41:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG42:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	#0xfe,&0x19
DBG44:
DBG43:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	#0xfb,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	#0x5,&0x19
DBG47:
DBG46:
DBG45:
;   _EINT();
	eint
DBG49:
DBG48:
; EXIT
	ret
	.dbgseg dbg_syms
	.long 0x6b73616d
	.long 0x0
	.long 0xc0102
	.long 0xc
	.long 0x11ffff
	.long 0x66652e
	.long 0x0
	.long DBG49
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x1e
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg rvalve_code
DBG29:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG32
	.long DBG29
	.long 0x0
	.long 0xff0001
; }
; static void getShaftPos(RotaryValve* rv)
DBG28:
	.long 0x0
	.long DBG54
	.long _getShaftPos
	.long 0x40
	.long 0x1030001
	.long DBG33
	.long DBG51-DBG52
	.long DBG53
	.long DBG50
	.long 0x0
	.pseg rvalve_code
DBG52:
	.dbgseg dbg_syms
DBG33:
	.long 0x66622e
	.long 0x0
	.long DBG52
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x21
	.long 0x0
	.long DBG55
	.long 0x0
	.dbgseg dbg_line
DBG53:
	.long DBG28
	.long 0x0
	.long _getShaftPos
	.long 0x1
	.long DBG57
	.long 0x2
	.long DBG58
	.long 0x5
	.long DBG59
	.long 0x6
	.long DBG60
	.long 0x1a
	.long DBG61
	.long 0x1b
	.long DBG68
	.long 0x1c
	.long DBG69
	.long 0x1d
	.long DBG70
	.long 0x1e
	.long DBG71
	.long 0x1f
	.long DBG72
	.long 0x20
	.long DBG75
	.long 0x21
	.long DBG76
	.long 0x23
	.long DBG77
	.long 0x24
	.long DBG78
	.long 0x25
	.long DBG79
	.long 0x26
	.long DBG80
	.long 0x27
	.long DBG81
	.long 0x28
	.pseg rvalve_code
_getShaftPos:
	push	r6
	push	r7
	push	r8
	push	r9
	push	r10
	push	r11
DBG58:
DBG57:
DBG56:
; ENTRY
; rv at argloc 0 (0x0) in reg  size 2
; rotaryEnc0 in reg r11 size 2
; rotaryEnc1 in reg r10 size 2
; rotaryEnc2 in reg r9 size 2
; rotaryEnc3 in reg r8 size 2
; in in reg r7 size 2
; mask in reg  size 1
; temp in reg r6 size 2
; {
;   register uint16 rotaryEnc0, rotaryEnc1, rotaryEnc2, rotaryEnc3;
;   register uint16 *in = (uint16 *)& P1IN ;
	mov	#0x20,r7
DBG59:
;   register byte mask = 0x10 ;
	mov.b	#0x10,r13
DBG60:
;   register uint16 temp;
;   _DINT(); _NOP();
	dint
	nop
DBG62:
DBG61:
;   setDWRFadr( 17 ), floatDWRFbus();  
; {
;   P1OUT  = adr;
	mov.b	#0x11,&0x21
DBG63:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG64:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	#0xfe,&0x19
DBG66:
DBG65:
; {
;   P1DIR  = 0;     
	mov.b	#0x0,&0x22
DBG68:
DBG67:
;  P3OUT  &= ~mask;
	bic.b	r13,&0x19
; /$
	mov.b	@r7,r11
; $/
;   P3OUT  |= mask;
	bis.b	r13,&0x19
;   P3OUT  &= ~mask;
	bic.b	r13,&0x19
; /$
	mov.b	@r7,r6
; $/
;   P3OUT  |= mask;
	bis.b	r13,&0x19
; /$
	swpb	r6
	bis.w	r6,r11
DBG69:
; $/
;  P3OUT  &= ~mask;
	bic.b	r13,&0x19
; /$
	mov.b	@r7,r10
; $/
;   P3OUT  |= mask;
	bis.b	r13,&0x19
;   P3OUT  &= ~mask;
	bic.b	r13,&0x19
; /$
	mov.b	@r7,r6
; $/
;   P3OUT  |= mask;
	bis.b	r13,&0x19
; /$
	swpb	r6
	bis.w	r6,r10
DBG70:
; $/
;  P3OUT  &= ~mask;
	bic.b	r13,&0x19
; /$
	mov.b	@r7,r9
; $/
;   P3OUT  |= mask;
	bis.b	r13,&0x19
;   P3OUT  &= ~mask;
	bic.b	r13,&0x19
; /$
	mov.b	@r7,r6
; $/
;   P3OUT  |= mask;
	bis.b	r13,&0x19
; /$
	swpb	r6
	bis.w	r6,r9
DBG71:
; $/
;  P3OUT  &= ~mask;
	bic.b	r13,&0x19
; /$
	mov.b	@r7,r8
; $/
;   P3OUT  |= mask;
	bis.b	r13,&0x19
;   P3OUT  &= ~mask;
	bic.b	r13,&0x19
; /$
	mov.b	@r7,r6
; $/
;   P3OUT  |= mask;
	bis.b	r13,&0x19
; /$
	swpb	r6
	bis.w	r6,r8
DBG73:
DBG72:
; $/
;   freezeDWRFadr();
; {
;  (( P3OUT ) |= ( 0x01 )) ;
	bis.b	#0x1,&0x19
DBG75:
DBG74:
;   _EINT();
	eint
DBG76:
;   mask = drvCtlImage;
	mov.b	&_drvCtlImage,r13
DBG77:
;   if (mask & 0x10 )   rv[0].position = rotaryEnc0;
	bit.b	#0x10,r13
	jeq	getShaftPos_L1
	mov	r11,0x8(r12)
DBG78:
getShaftPos_L1:
;   if (mask & 0x20 )   rv[1].position = rotaryEnc1;
	bit.b	#0x20,r13
	jeq	getShaftPos_L2
	mov	r10,0x1c(r12)
DBG79:
getShaftPos_L2:
;   if (mask & 0x40 )   rv[2].position = rotaryEnc2;
	bit.b	#0x40,r13
	jeq	getShaftPos_L3
	mov	r9,0x30(r12)
DBG80:
getShaftPos_L3:
;   if (mask & 0x80 )   rv[3].position = rotaryEnc3;
	bit.b	#0x80,r13
	jeq	getShaftPos_L4
	mov	r8,0x44(r12)
DBG81:
getShaftPos_L4:
DBG82:
; EXIT
; .temp0 at stkloc 0 (0x0) size 12
DBG83:
	pop	r11
	pop	r10
	pop	r9
	pop	r8
	pop	r7
	pop	r6
	ret
	.dbgseg dbg_syms
.3fake_1:
DBG4:
	.long 0x6166332e
	.long 0x315f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x140000
	.long 0x0
	.long DBG84
	.long 0x0
	.long 0x74617453
	.long 0x65
	.long 0x0
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG85
	.long 0x1
	.long 0x2
	.long 0x8ffff
	.long 0x766c6156
	.long 0x65
	.long 0x2
	.long 0xc
	.long 0x8ffff
	.long 0x72756f73
	.long 0x6563
	.long 0x3
	.long 0xc
	.long 0x8ffff
	.long 0x676174
	.long 0x0
	.long 0x4
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG86
	.long 0x5
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG87
	.long 0x6
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG88
	.long 0x7
	.long 0xc
	.long 0x8ffff
	.long 0x69736f70
	.long 0x6e6f6974
	.long 0x8
	.long 0xd
	.long 0x8ffff
	.long 0x6873616c
	.long 0x6c616f47
	.long 0xa
	.long 0xd
	.long 0x8ffff
	.long 0x6c616f67
	.long 0x0
	.long 0xc
	.long 0xd
	.long 0x8ffff
	.long 0x6873616c
	.long 0x0
	.long 0xe
	.long 0xd
	.long 0x8ffff
	.long 0x4578616d
	.long 0x726f7272
	.long 0x10
	.long 0xd
	.long 0x8ffff
	.long 0x0
	.long DBG89
	.long 0x12
	.long 0xd
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x14
	.long 0x0
	.long 0x166ffff
	.long DBG4
	.long 0x140000
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x7672
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x706d6574
	.long 0x0
	.long 0x60102
	.long 0xd
	.long 0x4ffff
	.long 0x6e69
	.long 0x0
	.long 0x70102
	.long 0x2d
	.long 0x4ffff
	.long 0x0
	.long DBG90
	.long 0x80102
	.long 0xd
	.long 0x4ffff
	.long 0x0
	.long DBG91
	.long 0x90102
	.long 0xd
	.long 0x4ffff
	.long 0x0
	.long DBG92
	.long 0xa0102
	.long 0xd
	.long 0x4ffff
	.long 0x0
	.long DBG93
	.long 0xb0102
	.long 0xd
	.long 0x4ffff
DBG2:
	.long 0x62622e
	.long 0x0
	.long DBG60
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1a
	.long 0x0
	.long DBG94
	.long 0x0
	.long 0x6b73616d
	.long 0x0
	.long 0xd0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG82
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x28
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG83
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x48
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg rvalve_code
DBG51:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG54
	.long DBG51
	.long 0x0
	.long 0xff0001
; }
; static const byte pwrOnx[ 4 ] = { 0x10 , 0x20 , 0x40 , 0x80 };
	.iseg rvalve_data_const
	.align 0x2
_pwrOnx:
	.byte 0x10
	.byte 0x20
	.byte 0x40
	.byte 0x80
; pwrOnx size 4
; static const byte MxS[ 4 ] = { 0xFC , 0xF3 , 0xCF , 0x3F };
_MxS:
	.byte 0xfc
	.byte 0xf3
	.byte 0xcf
	.byte 0x3f
; MxS size 4
; static const byte MxB[ 4 ] = { ( 0x02  | 0x01 ) , ( 0x08  | 0x04 ) , ( 0x20  | 0x10 ) , ( 0x80 
_MxB:
	.byte 0x3
	.byte 0xc
	.byte 0x30
	.byte 0xc0
; MxB size 4
;  | 0x40 ) };
; static const byte Mxx[2* 4 ] = { 0x01 , 0x02 , 0x04 , 0x08 , 0x10 , 0x20 , 0x40 , 0x80 };
_Mxx:
	.byte 0x1
	.byte 0x2
	.byte 0x4
	.byte 0x8
	.byte 0x10
	.byte 0x20
	.byte 0x40
	.byte 0x80
; Mxx size 8
; static int16 delta (RotaryValve *rv)
	.dbgseg dbg_syms
DBG50:
	.long 0x746c6564
	.long 0x61
	.long _delta
	.long 0x43
	.long 0x1030001
	.long DBG55
	.long DBG96-DBG97
	.long DBG98
	.long DBG95
	.long 0x0
	.pseg rvalve_code
DBG97:
	.dbgseg dbg_syms
DBG55:
	.long 0x66622e
	.long 0x0
	.long DBG97
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x53
	.long 0x0
	.long DBG99
	.long 0x0
	.dbgseg dbg_line
DBG98:
	.long DBG50
	.long 0x0
	.long _delta
	.long 0x1
	.long DBG101
	.long 0x2
	.long DBG102
	.long 0x3
	.long DBG103
	.long 0x4
	.long DBG104
	.long 0x5
	.long DBG105
	.long 0x6
	.long DBG106
	.long 0x7
	.long DBG107
	.long 0x8
	.long DBG108
	.long 0x9
	.long DBG109
	.long 0xa
	.long DBG110
	.long 0xb
	.long DBG111
	.long 0xc
	.pseg rvalve_code
_delta:
; ENTRY
DBG100:
; rv at argloc 0 (0x0) in reg  size 2
; current in reg  size 2
; goal in reg  size 2
; revCounts in reg  size 2
; halfRev in reg  size 2
; distance in reg  size 2
; offset in reg  size 2
; {
DBG101:
;   uint16 current = rv->position;
DBG102:
	mov	0x8(r12),r13
DBG103:
;   uint16 goal = rv->lashGoal;  
	mov	0xa(r12),r14
DBG104:
;   uint16 revCounts = rv->revCounts;
	mov	0x12(r12),r12
DBG105:
;   int16 halfRev = revCounts/2;
	mov	r12,r15
	clrc
	rrc	r15
DBG106:
;   int16 distance = goal - current;
	sub	r13,r14
DBG107:
;   int16 offset = 0;
	mov	#0x0,r13
DBG108:
;   if (distance > halfRev) offset = -revCounts;
	cmp	r14,r15
	jge	delta_L1
	inv	r12
	inc	r12
	mov	r12,r13
DBG109:
	jmp	delta_L2
delta_L1:
;   else if (distance < -halfRev) offset = revCounts;
	inv	r15
	inc	r15
	cmp	r15,r14
	jge	delta_L3
	mov	r12,r13
DBG110:
delta_L3:
delta_L2:
;   return distance + offset;
	mov	r14,r12
	add	r13,r12
DBG112:
DBG111:
; EXIT
	ret
	.dbgseg dbg_syms
DBG94:
	.long 0x62622e
	.long 0x0
	.long DBG100
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG113
	.long 0x0
	.long 0x7672
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
DBG113:
	.long 0x62622e
	.long 0x0
	.long DBG103
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4
	.long 0x0
	.long DBG114
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0xd
	.long 0x4ffff
DBG114:
	.long 0x62622e
	.long 0x0
	.long DBG104
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5
	.long 0x0
	.long DBG115
	.long 0x0
	.long 0x6c616f67
	.long 0x0
	.long 0xe0102
	.long 0xd
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG105
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG105
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG105
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
DBG115:
	.long 0x62622e
	.long 0x0
	.long DBG105
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG116
	.long 0x0
	.long 0x0
	.long DBG89
	.long 0xc0102
	.long 0xd
	.long 0x4ffff
	.long 0x6c616f67
	.long 0x0
	.long 0xe0102
	.long 0xd
	.long 0x4ffff
DBG116:
	.long 0x62622e
	.long 0x0
	.long DBG105
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x6
	.long 0x0
	.long DBG117
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0xd0102
	.long 0xd
	.long 0x4ffff
DBG117:
	.long 0x62622e
	.long 0x0
	.long DBG106
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x7
	.long 0x0
	.long DBG118
	.long 0x0
	.long 0x666c6168
	.long 0x766552
	.long 0xf0102
	.long 0x3
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG107
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x0
DBG118:
	.long 0x62622e
	.long 0x0
	.long DBG107
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long DBG119
	.long 0x0
	.long 0x666c6168
	.long 0x766552
	.long 0xf0102
	.long 0x3
	.long 0x4ffff
	.long 0x74736964
	.long 0x65636e61
	.long 0xe0102
	.long 0x3
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG108
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG108
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long 0x0
	.long 0x0
DBG119:
	.long 0x62622e
	.long 0x0
	.long DBG108
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long DBG120
	.long 0x0
	.long 0x74736964
	.long 0x65636e61
	.long 0xe0102
	.long 0x3
	.long 0x4ffff
	.long 0x666c6168
	.long 0x766552
	.long 0xf0102
	.long 0x3
	.long 0x4ffff
	.long 0x7366666f
	.long 0x7465
	.long 0xd0102
	.long 0x3
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG109
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
DBG120:
	.long 0x62622e
	.long 0x0
	.long DBG109
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xa
	.long 0x0
	.long DBG121
	.long 0x0
	.long 0x74736964
	.long 0x65636e61
	.long 0xe0102
	.long 0x3
	.long 0x4ffff
	.long 0x7366666f
	.long 0x7465
	.long 0xc0102
	.long 0x3
	.long 0x4ffff
DBG121:
	.long 0x62622e
	.long 0x0
	.long DBG109
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xa
	.long 0x0
	.long DBG122
	.long 0x0
	.long 0x666c6168
	.long 0x766552
	.long 0xf0102
	.long 0x3
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG110
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xb
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG111
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG111
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG112
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x5e
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg rvalve_code
DBG96:
	.dbgseg dbg_syms
	.long 0x746c6564
	.long 0x61
	.long DBG96
	.long 0x0
	.long 0xff0001
; }
; static uint16 desiredDirection (RotaryValve *rv, int16 delta)
DBG95:
	.long 0x0
	.long DBG127
	.long _desiredDirection
	.long 0x4d
	.long 0x1030001
	.long DBG99
	.long DBG124-DBG125
	.long DBG126
	.long DBG123
	.long 0x0
	.pseg rvalve_code
DBG125:
	.dbgseg dbg_syms
DBG99:
	.long 0x66622e
	.long 0x0
	.long DBG125
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x63
	.long 0x0
	.long DBG128
	.long 0x0
	.dbgseg dbg_line
DBG126:
	.long DBG95
	.long 0x0
	.long _desiredDirection
	.long 0x1
	.long DBG130
	.long 0x2
	.long DBG131
	.long 0x3
	.long DBG132
	.long 0x4
	.long DBG134
	.long 0x5
	.long DBG135
	.long 0x6
	.long DBG136
	.long 0x7
	.long DBG137
	.long 0x8
	.long DBG139
	.long 0x9
	.long DBG140
	.long 0xa
	.long DBG142
	.long 0xb
	.long DBG143
	.long 0xc
	.long DBG144
	.long 0xd
	.long DBG145
	.long 0xf
	.long DBG147
	.long 0x10
	.long DBG149
	.long 0x11
	.long DBG150
	.long 0x12
	.pseg rvalve_code
_desiredDirection:
	push	r4
DBG131:
DBG130:
DBG129:
; ENTRY
; rv at argloc 0 (0x0) in reg  size 2
; delta at argloc 0 (0x0) in reg  size 2
; direction in reg  size 2
; rvDir in reg  size 1
; closest in reg  size 2
; {
;   uint16 direction = 0;
	mov	#0x0,r15
DBG132:
;   if (delta < 0) {
	cmp	#0x0,r13
	jge	desiredDirection_L1
DBG134:
DBG133:
;     direction = 1;
	mov	#0x1,r15
DBG135:
;     delta = -delta;
	inv	r13
	inc	r13
DBG137:
DBG136:
;   }      
desiredDirection_L1:
;   {
DBG138:
;     int8 rvDir = rv->direction;
DBG139:
	mov.b	0x1(r12),r4
	mov	r15,r14
DBG140:
;     if (rvDir) {    
	cmp.b	#0x0,r4
	jeq	desiredDirection_L2
DBG143:
DBG142:
DBG141:
;       uint16 closest = direction; 
;       direction = rvDir < 0;  
	cmp.b	#0x0,r4
	jl	desiredDirection_LL2
	mov	#0x0,r14
	jmp	desiredDirection_LL3
desiredDirection_LL2:
	mov	#0x1,r14
desiredDirection_LL3:
;       if (direction == closest && delta < rv->revCounts/4) rv->direction = 0;
DBG144:
	cmp	r15,r14
	jne	desiredDirection_L3
	mov	0x12(r12),r15
	clrc
	rrc	r15
	rra	r15
	cmp	r15,r13
	jc	desiredDirection_L3
	mov.b	#0x0,0x1(r12)
DBG145:
desiredDirection_L3:
DBG146:
;     }
DBG147:
desiredDirection_L2:
DBG148:
;   }
;   return direction;
DBG149:
	mov	r14,r12
DBG151:
DBG150:
; EXIT
; .temp1 at stkloc 0 (0x0) size 2
	pop	r4
	ret
	.dbgseg dbg_syms
	.long 0x746c6564
	.long 0x61
	.long 0xd0102
	.long 0x3
	.long 0x11ffff
	.long 0x7672
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
DBG122:
	.long 0x62622e
	.long 0x0
	.long DBG132
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4
	.long 0x0
	.long DBG152
	.long 0x0
	.long 0x0
	.long DBG85
	.long 0xf0102
	.long 0xd
	.long 0x4ffff
DBG152:
	.long 0x62622e
	.long 0x0
	.long DBG140
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xa
	.long 0x0
	.long DBG153
	.long 0x0
	.long 0x69447672
	.long 0x72
	.long 0x40102
	.long 0x2
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG144
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG144
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
DBG153:
	.long 0x62622e
	.long 0x0
	.long DBG144
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long DBG154
	.long 0x0
	.long 0x69447672
	.long 0x72
	.long 0x40102
	.long 0x2
	.long 0x4ffff
	.long 0x0
	.long DBG85
	.long 0xe0102
	.long 0xd
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG150
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x12
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG151
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x74
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg rvalve_code
DBG124:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG127
	.long DBG124
	.long 0x0
	.long 0xff0001
; }
; void idleShaft (RotaryValve *rv)
DBG123:
	.long 0x0
	.long DBG159
	.long _idleShaft
	.long 0x40
	.long 0x1020001
	.long DBG128
	.long DBG156-DBG157
	.long DBG158
	.long DBG155
	.long 0x0
	.pseg rvalve_code
DBG157:
	.dbgseg dbg_syms
DBG128:
	.long 0x66622e
	.long 0x0
	.long DBG157
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x77
	.long 0x0
	.long DBG160
	.long 0x0
	.dbgseg dbg_line
DBG158:
	.long DBG123
	.long 0x0
	.long _idleShaft
	.long 0x1
	.long DBG162
	.long 0x2
	.long DBG163
	.long 0x3
	.long DBG164
	.long 0x4
	.long DBG165
	.long 0x5
	.long DBG166
	.long 0x6
	.long DBG167
	.long 0x7
	.long DBG168
	.long 0x8
	.pseg rvalve_code
	.global _idleShaft
_idleShaft:
	push	r4
DBG161:
; ENTRY
	mov	r12,r4
DBG163:
DBG162:
; rv at argloc 0 (0x0) in reg  size 2
; mtrMask in reg  size 1
; {
;   byte mtrMask = drvCtlImage & ~pwrOnx[rv->Valve];
	mov.b	0x2(r4),r12
	mov.b	_pwrOnx(r12),r12
	inv.b	r12
	and.b	&_drvCtlImage,r12
DBG164:
;   if (!(mtrMask & ( 0x10 | 0x20 | 0x40 | 0x80 )))
	bit.b	#0xf0,r12
	jne	idleShaft_L1
DBG165:
;     mtrMask &= ~ 0x04 ;
	and.b	#0xfb,r12
DBG166:
idleShaft_L1:
;   setDrvCtl(mtrMask);   
	call	#_setDrvCtl
DBG167:
;   rv->State = SSMoff;
	mov.b	#0x0,0(r4)
DBG169:
DBG168:
; EXIT
; .temp2 at stkloc 0 (0x0) size 2
	pop	r4
	ret
	.dbgseg dbg_syms
DBG154:
	.long 0x62622e
	.long 0x0
	.long DBG161
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG170
	.long 0x0
	.long 0x7672
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG162
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG170:
	.long 0x62622e
	.long 0x0
	.long DBG162
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG171
	.long 0x0
	.long 0x7672
	.long 0x0
	.long 0x40102
	.long 0x28
	.long 0x111ffff
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
DBG171:
	.long 0x62622e
	.long 0x0
	.long DBG164
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4
	.long 0x0
	.long DBG172
	.long 0x0
	.long 0x4d72746d
	.long 0x6b7361
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG167
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x7
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG168
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG169
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x7e
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg rvalve_code
DBG156:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG159
	.long DBG156
	.long 0x0
	.long 0xff0001
; }
; static void ShaftStateMachine(RotaryValve *rv)
DBG155:
	.long 0x0
	.long DBG177
	.long _ShaftStateMachine
	.long 0x40
	.long 0x1030001
	.long DBG160
	.long DBG174-DBG175
	.long DBG176
	.long DBG173
	.long 0x0
	.pseg rvalve_code
DBG175:
	.dbgseg dbg_syms
DBG160:
	.long 0x66622e
	.long 0x0
	.long DBG175
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0x81
	.long 0x0
	.long DBG178
	.long 0x0
	.dbgseg dbg_line
DBG176:
	.long DBG155
	.long 0x0
	.iseg rvalve_data_const
	.align 0x2
ShaftStateMachine_LL9:
	.data ShaftStateMachine_L14
	.data ShaftStateMachine_L3
	.data ShaftStateMachine_L13
	.data ShaftStateMachine_L18
	.data ShaftStateMachine_L5
	.data ShaftStateMachine_L6
	.data ShaftStateMachine_L15
	.data ShaftStateMachine_L16
	.dbgseg dbg_line
	.long _ShaftStateMachine
	.long 0x1
	.long DBG180
	.long 0x2
	.long DBG181
	.long 0x6
	.long DBG183
	.long 0x7
	.long DBG184
	.long 0x8
	.long DBG185
	.long 0x9
	.long DBG186
	.long 0xa
	.long DBG187
	.long 0xb
	.long DBG188
	.long 0xd
	.long DBG189
	.long 0x10
	.long DBG190
	.long 0x11
	.long DBG191
	.long 0x12
	.long DBG192
	.long 0x13
	.long DBG193
	.long 0x15
	.long DBG194
	.long 0x16
	.long DBG195
	.long 0x17
	.long DBG196
	.long 0x18
	.long DBG198
	.long 0x19
	.long DBG199
	.long 0x1a
	.long DBG200
	.long 0x1c
	.long DBG202
	.long 0x1d
	.long DBG203
	.long 0x1e
	.long DBG204
	.long 0x1f
	.long DBG205
	.long 0x20
	.long DBG207
	.long 0x21
	.long DBG208
	.long 0x22
	.long DBG209
	.long 0x23
	.long DBG210
	.long 0x24
	.long DBG211
	.long 0x25
	.long DBG212
	.long 0x26
	.long DBG213
	.long 0x27
	.long DBG214
	.long 0x28
	.long DBG216
	.long 0x29
	.long DBG217
	.long 0x2a
	.long DBG218
	.long 0x2b
	.long DBG219
	.long 0x2c
	.long DBG220
	.long 0x2d
	.long DBG221
	.long 0x2e
	.long DBG223
	.long 0x30
	.long DBG224
	.long 0x31
	.long DBG225
	.long 0x32
	.long DBG226
	.long 0x33
	.long DBG227
	.long 0x34
	.long DBG228
	.long 0x35
	.long DBG229
	.long 0x38
	.long DBG230
	.long 0x39
	.long DBG231
	.long 0x3a
	.long DBG232
	.long 0x3b
	.long DBG233
	.long 0x3d
	.long DBG234
	.long 0x3f
	.long DBG235
	.long 0x40
	.long DBG236
	.long 0x41
	.long DBG237
	.long 0x42
	.long DBG238
	.long 0x43
	.long DBG239
	.long 0x44
	.long DBG240
	.long 0x45
	.long DBG241
	.long 0x46
	.long DBG242
	.long 0x47
	.long DBG243
	.long 0x48
	.long DBG244
	.long 0x4b
	.pseg rvalve_code
_ShaftStateMachine:
	push	r4
DBG179:
; ENTRY
	mov	r12,r4
DBG181:
DBG180:
; rv at argloc 0 (0x0) in reg  size 2
; distance in reg  size 2
; direction in reg  size 2
; lash in reg  size 2
; lashGoal in reg  size 2
; v in reg  size 2
; distance in reg  size 2
; {
;   switch (rv->State) { 
	jmp	ShaftStateMachine_L2
DBG183:
DBG182:
;     case SSMread:    
ShaftStateMachine_L3:
;       if ( --rv->brakeTimer) break;
DBG184:
	sub.b	#0x1,0x7(r4)
	jne	ShaftStateMachine_L1
DBG185:
ShaftStateMachine_L4:
;       setDrvCtl (drvCtlImage | pwrOnx[rv->Valve]);
	mov.b	0x2(r4),r12
	mov.b	_pwrOnx(r12),r12
	bis.b	&_drvCtlImage,r12
	call	#_setDrvCtl
DBG186:
;       rv->State = SSMreading;
	mov.b	#0x2,0(r4)
DBG187:
;       break;
	jmp	ShaftStateMachine_LL2
DBG188:
;     case SSMstart:  
ShaftStateMachine_L5:
;       setDrvCtl (drvCtlImage | pwrOnx[rv->Valve] | 0x04 );
DBG189:
	mov.b	0x2(r4),r12
	mov.b	_pwrOnx(r12),r12
	bis.b	&_drvCtlImage,r12
	bis.b	#0x4,r12
	call	#_setDrvCtl
DBG190:
;       rv->lashGoal = rv->goal;
	mov	0xc(r4),0xa(r4)
DBG191:
;       rv->State = SSMcheck;
	mov.b	#0x5,0(r4)
DBG192:
;       break;   
	jmp	ShaftStateMachine_LL2
DBG193:
;     case SSMcheck:
ShaftStateMachine_L6:
;     {
DBG194:
;       int16 distance = delta(rv);
DBG195:
	mov	r4,r12
	call	#_delta
	mov	r12,r13
DBG196:
;       if ( ((distance)<0 ? -(distance) : (distance))  > (rv->maxError & 0x7fff) ) {
	cmp	#0x0,r13
	jge	ShaftStateMachine_LL3
	mov	r13,r12
	inv	r12
	inc	r12
	jmp	ShaftStateMachine_LL4
ShaftStateMachine_LL3:
	mov	r13,r12
ShaftStateMachine_LL4:
	mov	0x10(r4),r14
	and	#0x7fff,r14
	cmp	r12,r14
	jc	ShaftStateMachine_L7
DBG198:
DBG197:
;         uint16 direction = desiredDirection(rv, distance);
	mov	r4,r12
	call	#_desiredDirection
DBG199:
;         uint16 lash = rv->lash;
	mov	0xe(r4),r14
DBG200:
;         uint16 lashGoal;
;         if (direction) {    
	cmp	#0x0,r12
	jeq	ShaftStateMachine_L8
DBG202:
DBG201:
;           lashGoal = rv->goal - lash;
	mov	0xc(r4),r13
	sub	r14,r13
DBG203:
;           if (lashGoal >= rv->revCounts) lashGoal += rv->revCounts;
	cmp	0x12(r4),r13
	jnc	ShaftStateMachine_L9
	add	0x12(r4),r13
DBG204:
ShaftStateMachine_L9:
;           rv->direction = -1;  
	mov.b	#-0x1,0x1(r4)
DBG205:
	jmp	ShaftStateMachine_L10
ShaftStateMachine_L8:
;         }else{
DBG206:
;           lashGoal = rv->goal + lash;
DBG207:
	mov	0xc(r4),r13
	add	r14,r13
DBG208:
;           if (lashGoal >= rv->revCounts) lashGoal -= rv->revCounts;
	cmp	0x12(r4),r13
	jnc	ShaftStateMachine_L11
	sub	0x12(r4),r13
DBG209:
ShaftStateMachine_L11:
;           rv->direction = 1;   
	mov.b	#0x1,0x1(r4)
DBG210:
ShaftStateMachine_L10:
;         }
;         rv->lashGoal = lashGoal;
DBG211:
	mov	r13,0xa(r4)
DBG212:
;         rv->State = SSMrotatingUp + direction;
	mov	r12,r13
	add	#0x6,r13
	mov.b	r13,0(r4)
DBG213:
;         if (rv->maxError & 0x8000) direction ^= 1;
	bit	#0x8000,0x10(r4)
	jeq	ShaftStateMachine_L12
	xor	#0x1,r12
DBG214:
ShaftStateMachine_L12:
;         {
DBG215:
;           unsigned v = rv->Valve;
DBG216:
	mov.b	0x2(r4),r13
DBG217:
;           setDrvMtrCtl (drvMtrCtlImage & MxS[v] | Mxx[(v<<1)|direction]);
	mov	r13,r14
	rla	r14
	bis	r12,r14
	mov.b	_Mxx(r14),r14
	mov.b	_MxS(r13),r12
	and.b	&_drvMtrCtlImage,r12
	bis.b	r14,r12
	call	#_setDrvMtrCtl
DBG219:
DBG218:
;         }
;         break;
	jmp	ShaftStateMachine_LL2
DBG221:
DBG220:
;       }  
ShaftStateMachine_L7:
DBG222:
;     }
;     case SSMreading:
DBG223:
ShaftStateMachine_L13:
;       idleShaft(rv);
DBG224:
	mov	r4,r12
	call	#_idleShaft
DBG225:
;  ((opComplete) |= ( 1  << rv->Valve)) ;
	mov.b	0x2(r4),r13
	mov	#0x1,r12
	cmp	#0x0,r13
	jeq	ShaftStateMachine_LL5
ShaftStateMachine_LL6:
	rla	r12
	dec	r13
	jnz	ShaftStateMachine_LL6
ShaftStateMachine_LL5:
	bis	r12,&_opComplete
DBG226:
;  _BIC_SR( (0x0040) ) ;
	bic	#0x40,sr
DBG227:
;     case SSMoff:         
ShaftStateMachine_L14:
;       break;    
DBG228:
	jmp	ShaftStateMachine_LL2
DBG229:
;     case SSMrotatingUp:
ShaftStateMachine_L15:
;     case SSMrotatingDown:
DBG230:
ShaftStateMachine_L16:
;     {  
DBG231:
;       int16 distance = delta(rv);  
DBG232:
	mov	r4,r12
	call	#_delta
DBG233:
;       if ( ((distance)<0 ? -(distance) : (distance))  > (rv->maxError & 0x7fff)  && 
	cmp	#0x0,r12
	jge	ShaftStateMachine_LL7
	mov	r12,r13
	inv	r13
	inc	r13
	jmp	ShaftStateMachine_LL8
ShaftStateMachine_LL7:
	mov	r12,r13
ShaftStateMachine_LL8:
	mov	0x10(r4),r14
	and	#0x7fff,r14
	cmp	r13,r14
	jc	ShaftStateMachine_L17
	mov	r12,r13
	mov	r4,r12
	call	#_desiredDirection
	mov.b	@r4,r13
	sub	#0x6,r13
	cmp	r13,r12
	jeq	ShaftStateMachine_L1
DBG234:
;           desiredDirection(rv,distance) == rv->State-SSMrotatingUp)
;         break;
ShaftStateMachine_L17:
;       setDrvMtrCtl (drvMtrCtlImage | MxB[rv->Valve]);  
	mov.b	0x2(r4),r12
	mov.b	_MxB(r12),r12
	bis.b	&_drvMtrCtlImage,r12
	call	#_setDrvMtrCtl
DBG235:
;       rv->State = SSMbraking;
	mov.b	#0x3,0(r4)
DBG236:
;       rv->brakeTimer = rv->brakeTics;
	mov.b	0x6(r4),0x7(r4)
DBG238:
DBG237:
;     }
;     case SSMbraking: 
ShaftStateMachine_L18:
;       if ( --rv->brakeTimer) break;
DBG239:
	sub.b	#0x1,0x7(r4)
	jne	ShaftStateMachine_L1
DBG240:
ShaftStateMachine_L19:
;       rv->State = SSMcheck;
	mov.b	#0x5,0(r4)
DBG241:
;     default:
ShaftStateMachine_L20:
;       setDrvMtrCtl (drvMtrCtlImage & MxS[rv->Valve]);
DBG242:
	mov.b	0x2(r4),r12
	mov.b	_MxS(r12),r12
	and.b	&_drvMtrCtlImage,r12
	call	#_setDrvMtrCtl
DBG243:
	jmp	ShaftStateMachine_LL2
ShaftStateMachine_L2:
	mov.b	@r4,r13
; swcode: switch has 8 cases - min 0 max 7
	cmp	#0x0,r13
	jl	ShaftStateMachine_L20
	mov	#0x7,r12
	cmp	r13,r12
	jl	ShaftStateMachine_L20
	rla	r13
	br	ShaftStateMachine_LL9(r13)
ShaftStateMachine_L1:
;   }
DBG244:
ShaftStateMachine_LL2:
; EXIT
; .temp3 at stkloc 0 (0x0) size 2
DBG245:
	pop	r4
	ret
	.dbgseg dbg_syms
DBG172:
	.long 0x62622e
	.long 0x0
	.long DBG179
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG246
	.long 0x0
	.long 0x7672
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG246:
	.long 0x62622e
	.long 0x0
	.long DBG180
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG247
	.long 0x0
	.long 0x7672
	.long 0x0
	.long 0x40102
	.long 0x28
	.long 0x111ffff
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
DBG247:
	.long 0x62622e
	.long 0x0
	.long DBG196
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x18
	.long 0x0
	.long DBG248
	.long 0x0
	.long 0x74736964
	.long 0x65636e61
	.long 0xd0102
	.long 0x3
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG199
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1a
	.long 0x0
	.long 0x0
	.long 0x0
DBG248:
	.long 0x62622e
	.long 0x0
	.long DBG199
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1a
	.long 0x0
	.long DBG249
	.long 0x0
	.long 0x0
	.long DBG85
	.long 0xc0102
	.long 0xd
	.long 0x4ffff
DBG249:
	.long 0x62622e
	.long 0x0
	.long DBG200
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1c
	.long 0x0
	.long DBG250
	.long 0x0
	.long 0x6873616c
	.long 0x0
	.long 0xe0102
	.long 0xd
	.long 0x4ffff
DBG250:
	.long 0x62622e
	.long 0x0
	.long DBG203
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1e
	.long 0x0
	.long DBG251
	.long 0x0
	.long 0x6873616c
	.long 0x6c616f47
	.long 0xd0102
	.long 0xd
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG213
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x27
	.long 0x0
	.long 0x0
	.long 0x0
DBG251:
	.long 0x62622e
	.long 0x0
	.long DBG217
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2a
	.long 0x0
	.long DBG252
	.long 0x0
	.long 0x76
	.long 0x0
	.long 0xd0102
	.long 0xe
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG218
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2b
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG218
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2b
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG218
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2b
	.long 0x0
	.long 0x0
	.long 0x0
DBG252:
	.long 0x62622e
	.long 0x0
	.long DBG233
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x3d
	.long 0x0
	.long DBG253
	.long 0x0
	.long 0x74736964
	.long 0x65636e61
	.long 0xc0102
	.long 0x3
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG234
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x3f
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG244
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4b
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG245
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xcb
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg rvalve_code
DBG174:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG177
	.long DBG174
	.long 0x0
	.long 0xff0001
; }
; void valveISR(RotaryValve* rv, char debugFlag)
DBG173:
	.long 0x766c6176
	.long 0x52534965
	.long _valveISR
	.long 0x40
	.long 0x1020001
	.long DBG178
	.long DBG255-DBG256
	.long DBG257
	.long DBG254
	.long 0x0
	.pseg rvalve_code
DBG256:
	.dbgseg dbg_syms
DBG178:
	.long 0x66622e
	.long 0x0
	.long DBG256
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xce
	.long 0x0
	.long DBG258
	.long 0x0
	.dbgseg dbg_line
DBG257:
	.long DBG173
	.long 0x0
	.long _valveISR
	.long 0x1
	.long DBG260
	.long 0x2
	.long DBG261
	.long 0x4
	.long DBG262
	.long 0x5
	.long DBG271
	.long 0x6
	.long DBG272
	.long 0x9
	.long DBG275
	.long 0xc
	.long DBG276
	.long 0xd
	.long DBG277
	.long 0xe
	.long DBG278
	.long 0xf
	.long DBG279
	.long 0x10
	.long DBG280
	.long 0x11
	.pseg rvalve_code
	.global _valveISR
_valveISR:
	push	r4
	push	r5
DBG259:
; ENTRY
	mov	r12,r4
DBG261:
DBG260:
; rv at argloc 0 (0x0) in reg  size 2
; value in reg  size 1
; start in reg  size 2
; {
;   _DINT(); _NOP();
	dint
	nop
DBG263:
DBG262:
;   writeDWRF ( 16 , drvCtlImage | 0x01 );
; {
	mov.b	&_drvCtlImage,r12
	bis.b	#0x1,r12
DBG264:
;   setDWRFadr (adr), writeDWRFlast (value);
; {
;   P1OUT  = adr;
	mov.b	#0x10,&0x21
DBG265:
;   driveDWRFbus();
; {
;   P1DIR  = -1;    
	mov.b	#0xff,&0x22
DBG266:
;  (( P3OUT ) &= ~( 0x01 )) ;  
	and.b	#0xfe,&0x19
DBG268:
DBG267:
; {
;   P1OUT  = value;  
	mov.b	r12,&0x21
;  (( P3OUT ) &= ~( 0x04 )) ;
	and.b	#0xfb,&0x19
;  (( P3OUT ) |= ( 0x01 | 0x04 )) ;
	bis.b	#0x5,&0x19
DBG271:
DBG270:
DBG269:
;   _EINT();
	eint
DBG273:
DBG272:
;   MCLKsleep(35);  
; {
;   unsigned start = (TAR) ;
	mov	&0x170,r13
;  while( (TAR) -(start) < (unsigned)( mclks)) ;
valveISR_L1:
	mov	&0x170,r12
	sub	r13,r12
	cmp	#0x23,r12
	jnc	valveISR_L1
valveISR_L2:
DBG274:
;   getShaftPos(rv);
DBG275:
	mov	r4,r12
	call	#_getShaftPos
DBG276:
;   ShaftStateMachine(rv);
	mov	r4,r12
	call	#_ShaftStateMachine
DBG277:
;   ShaftStateMachine( ++rv);
	mov	#0x14,r5
	add	r5,r4
	mov	r4,r12
	call	#_ShaftStateMachine
DBG278:
;   ShaftStateMachine( ++rv);
	add	r5,r4
	mov	r4,r12
	call	#_ShaftStateMachine
DBG279:
;   ShaftStateMachine( ++rv);
	add	r5,r4
	mov	r4,r12
	call	#_ShaftStateMachine
DBG281:
DBG280:
; EXIT
; .temp4 at stkloc 0 (0x0) size 4
	pop	r5
	pop	r4
	ret
	.dbgseg dbg_syms
DBG253:
	.long 0x62622e
	.long 0x0
	.long DBG259
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x1
	.long 0x0
	.long DBG282
	.long 0x0
	.long 0x7672
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG260
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x0
DBG282:
	.long 0x62622e
	.long 0x0
	.long DBG260
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x2
	.long 0x0
	.long DBG283
	.long 0x0
	.long 0x7672
	.long 0x0
	.long 0x40102
	.long 0x28
	.long 0x111ffff
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
DBG283:
	.long 0x62622e
	.long 0x0
	.long DBG264
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x5
	.long 0x0
	.long DBG284
	.long 0x0
	.long 0x756c6176
	.long 0x65
	.long 0xc0102
	.long 0xc
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG274
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long 0x0
	.long 0x0
DBG284:
	.long 0x62622e
	.long 0x0
	.long DBG274
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x9
	.long 0x0
	.long DBG285
	.long 0x0
	.long 0x72617473
	.long 0x74
	.long 0xd0102
	.long 0xe
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG276
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xd
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x62652e
	.long 0x0
	.long DBG280
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x11
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG281
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xde
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg rvalve_code
DBG255:
	.dbgseg dbg_syms
	.long 0x766c6176
	.long 0x52534965
	.long DBG255
	.long 0x0
	.long 0xff0001
; }
; ****** Warning: Symbol ``debugFlag'' (function valveISR) was defined, but not used
; void configRotaryValves(RotaryValve* rv)
DBG254:
	.long 0x0
	.long DBG290
	.long _configRotaryValves
	.long 0x40
	.long 0x1020001
	.long DBG258
	.long DBG287-DBG288
	.long DBG289
	.long DBG286
	.long 0x0
	.pseg rvalve_code
DBG288:
	.dbgseg dbg_syms
DBG258:
	.long 0x66622e
	.long 0x0
	.long DBG288
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xe2
	.long 0x0
	.long DBG291
	.long 0x0
	.dbgseg dbg_line
DBG289:
	.long DBG254
	.long 0x0
	.long _configRotaryValves
	.long 0x1
	.long DBG293
	.long 0x2
	.long DBG294
	.long 0x3
	.long DBG295
	.long 0x4
	.long DBG297
	.long 0x5
	.long DBG298
	.long 0x6
	.long DBG299
	.long 0x7
	.long DBG300
	.long 0x8
	.long DBG301
	.long 0x9
	.long DBG302
	.long 0xa
	.long DBG303
	.long 0xb
	.long DBG304
	.long 0xc
	.long DBG305
	.long 0xd
	.long DBG306
	.long 0xe
	.long DBG307
	.long 0xf
	.pseg rvalve_code
	.global _configRotaryValves
_configRotaryValves:
; ENTRY
DBG292:
; rv at argloc 0 (0x0) in reg  size 2
; valveNum in reg  size 2
; {
DBG293:
;   unsigned valveNum = 0;
DBG294:
	mov	#0x0,r13
DBG295:
;   while (valveNum < 4 ) {
configRotaryValves_L1:
	cmp	#0x4,r13
	jc	configRotaryValves_L2
DBG297:
DBG296:
;     rv->Valve=valveNum;	 	
	mov.b	r13,0x2(r12)
DBG298:
;     rv->revCounts = 512;
	mov	#0x200,0x12(r12)
DBG299:
;     rv->maxError = 2;
	mov	#0x2,0x10(r12)
DBG300:
;     rv->brakeTics = 4;
	mov.b	#0x4,0x6(r12)
DBG301:
;     rv->lash = 0;
	mov	#0x0,0xe(r12)
DBG302:
;     rv->brakeTimer = 1;
	mov.b	#0x1,0x7(r12)
DBG303:
;     rv->State = SSMread;    
	mov.b	#0x1,0(r12)
DBG304:
;     rv++;
	add	#0x14,r12
DBG305:
;     valveNum++;
	add	#0x1,r13
DBG306:
	jmp	configRotaryValves_L1
configRotaryValves_L2:
;   }
DBG307:
; EXIT
DBG308:
	ret
	.dbgseg dbg_syms
	.long 0x7672
	.long 0x0
	.long 0xc0102
	.long 0x28
	.long 0x111ffff
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
DBG285:
	.long 0x62622e
	.long 0x0
	.long DBG295
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0x4
	.long 0x0
	.long DBG309
	.long 0x0
	.long 0x766c6176
	.long 0x6d754e65
	.long 0xd0102
	.long 0xe
	.long 0x4ffff
	.long 0x62652e
	.long 0x0
	.long DBG307
	.long 0x0
	.long 0x1640001
	.long 0x0
	.long 0xf
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x66652e
	.long 0x0
	.long DBG308
	.long 0x0
	.long 0x1650001
	.long 0x0
	.long 0xf0
	.long 0x0
	.long 0x0
	.long 0x0
	.pseg rvalve_code
DBG287:
	.dbgseg dbg_syms
	.long 0x0
	.long DBG290
	.long DBG287
	.long 0x0
	.long 0xff0001
; }
	.extern _DWRFIEimage
	.extern _RX1ISR
	.extern _opComplete
.0fake_2:
DBG84:
	.long 0x6166302e
	.long 0x325f656b
	.long 0x0
	.long 0xa
	.long 0x10ffffe
	.long 0x0
	.long 0x10000
	.long 0x0
	.long DBG310
	.long 0x0
	.long 0x736c6166
	.long 0x65
	.long 0x0
	.long 0xb
	.long 0x10ffff
	.long 0x65757274
	.long 0x0
	.long 0x1
	.long 0xb
	.long 0x10ffff
	.long 0x736f652e
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x166ffff
	.long DBG84
	.long 0x10000
	.long 0x0
	.long 0x0
	.long 0x0
.4fake_3:
DBG310:
	.long 0x6166342e
	.long 0x335f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x60000
	.long 0x0
	.long DBG311
	.long 0x0
	.long 0x64616568
	.long 0x0
	.long 0x0
	.long 0x2c
	.long 0x8ffff
	.long 0x6c696174
	.long 0x0
	.long 0x2
	.long 0x2c
	.long 0x8ffff
	.long 0x66667562
	.long 0x7265
	.long 0x4
	.long 0x6c
	.long 0x108ffff
	.long 0x0
	.long 0x100f4
	.long 0x1
	.long 0x0
	.long 0x0
	.long 0x736f652e
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x166ffff
	.long DBG310
	.long 0x60000
	.long 0x0
	.long 0x0
	.long 0x0
.5fake_4:
DBG311:
	.long 0x6166352e
	.long 0x345f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x60000
	.long 0x0
	.long DBG312
	.long 0x0
	.long 0x79646f62
	.long 0x0
	.long 0x0
	.long 0x28
	.long 0x108ffff
	.long .4fake_3
	.long 0x5
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x646e65
	.long 0x0
	.long 0x2
	.long 0x2c
	.long 0x8ffff
	.long 0x696d696c
	.long 0x74
	.long 0x4
	.long 0xe
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x166ffff
	.long DBG311
	.long 0x60000
	.long 0x0
	.long 0x0
	.long 0x0
parserInstance_5:
DBG312:
	.long 0x0
	.long DBG314
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0xa0000
	.long 0x0
	.long DBG313
	.long 0x0
	.long 0x75706e69
	.long 0x74
	.long 0x0
	.long 0x28
	.long 0x108ffff
	.long .5fake_4
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x7074756f
	.long 0x7475
	.long 0x2
	.long 0x28
	.long 0x108ffff
	.long .5fake_4
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG315
	.long 0x4
	.long 0x2a0
	.long 0x8ffff
	.long 0x0
	.long DBG316
	.long 0x6
	.long 0x2a0
	.long 0x8ffff
	.long 0x79736572
	.long 0x636e
	.long 0x8
	.long 0x2a0
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0xa
	.long 0x0
	.long 0x166ffff
	.long DBG312
	.long 0xa0000
	.long 0x0
	.long 0x0
	.long 0x0
.6fake_6:
DBG313:
	.long 0x6166362e
	.long 0x365f656b
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0xa0000
	.long 0x0
	.long DBG317
	.long 0x0
	.long 0x6c657764
	.long 0x6c
	.long 0x0
	.long 0xd
	.long 0x8ffff
	.long 0x67726174
	.long 0x547465
	.long 0x2
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG318
	.long 0x4
	.long 0xd
	.long 0x8ffff
	.long 0x546e696d
	.long 0x0
	.long 0x6
	.long 0x3
	.long 0x8ffff
	.long 0x5478616d
	.long 0x0
	.long 0x8
	.long 0x3
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0xa
	.long 0x0
	.long 0x166ffff
	.long DBG313
	.long 0xa0000
	.long 0x0
	.long 0x0
	.long 0x0
servoOption_7:
DBG317:
	.long 0x0
	.long DBG320
	.long 0x0
	.long 0xa
	.long 0x10ffffe
	.long 0x0
	.long 0x10000
	.long 0x0
	.long DBG319
	.long 0x0
	.long 0x0
	.long DBG321
	.long 0x1
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG322
	.long 0x2
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG323
	.long 0x4
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG324
	.long 0x8
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG325
	.long 0x10
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG326
	.long 0x20
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG327
	.long 0x40
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG328
	.long 0x80
	.long 0xb
	.long 0x10ffff
	.long 0x736f652e
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x166ffff
	.long DBG317
	.long 0x10000
	.long 0x0
	.long 0x0
	.long 0x0
servoStatusBits_8:
DBG319:
	.long 0x0
	.long DBG330
	.long 0x0
	.long 0xa
	.long 0x10ffffe
	.long 0x0
	.long 0x10000
	.long 0x0
	.long DBG329
	.long 0x0
	.long 0x76726573
	.long 0x6e4f6f
	.long 0x1
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG331
	.long 0x2
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG332
	.long 0x4
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG333
	.long 0x8
	.long 0xb
	.long 0x10ffff
	.long 0x76726573
	.long 0x534c526f
	.long 0x10
	.long 0xb
	.long 0x10ffff
	.long 0x76726573
	.long 0x534c466f
	.long 0x20
	.long 0xb
	.long 0x10ffff
	.long 0x736f652e
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x166ffff
	.long DBG319
	.long 0x10000
	.long 0x0
	.long 0x0
	.long 0x0
servoReason_9:
DBG329:
	.long 0x0
	.long DBG335
	.long 0x0
	.long 0xa
	.long 0x10ffffe
	.long 0x0
	.long 0x10000
	.long 0x0
	.long DBG334
	.long 0x0
	.long 0x0
	.long DBG336
	.long 0x0
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG337
	.long 0x1
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG338
	.long 0x2
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG339
	.long 0x3
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG340
	.long 0x4
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG341
	.long 0x5
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG342
	.long 0x6
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG343
	.long 0x7
	.long 0xb
	.long 0x10ffff
	.long 0x0
	.long DBG344
	.long 0x8
	.long 0xb
	.long 0x10ffff
	.long 0x736f652e
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x166ffff
	.long DBG329
	.long 0x10000
	.long 0x0
	.long 0x0
	.long 0x0
servoStatus_10:
DBG334:
	.long 0x0
	.long DBG346
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x90000
	.long 0x0
	.long DBG345
	.long 0x0
	.long 0x74617473
	.long 0x7375
	.long 0x0
	.long 0xa
	.long 0x108ffff
	.long servoStatusBits_8
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x69736f70
	.long 0x6e6f6974
	.long 0x1
	.long 0x6c
	.long 0x108ffff
	.long 0x0
	.long 0x300f4
	.long 0x3
	.long 0x0
	.long 0x0
	.long 0x6f6c6576
	.long 0x79746963
	.long 0x4
	.long 0x6c
	.long 0x108ffff
	.long 0x0
	.long 0x200f4
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x72727563
	.long 0x746e65
	.long 0x6
	.long 0x2
	.long 0x8ffff
	.long 0x72506e69
	.long 0x737365
	.long 0x7
	.long 0xc
	.long 0x8ffff
	.long 0x5074756f
	.long 0x73736572
	.long 0x8
	.long 0xc
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x9
	.long 0x0
	.long 0x166ffff
	.long DBG334
	.long 0x90000
	.long 0x0
	.long 0x0
	.long 0x0
.1fake_11:
DBG345:
	.long 0x0
	.long DBG348
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x60000
	.long 0x0
	.long DBG347
	.long 0x0
	.long 0x50
	.long 0x0
	.long 0x0
	.long 0x3
	.long 0x8ffff
	.long 0x49
	.long 0x0
	.long 0x2
	.long 0x3
	.long 0x8ffff
	.long 0x44
	.long 0x0
	.long 0x4
	.long 0x3
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x6
	.long 0x0
	.long 0x166ffff
	.long DBG345
	.long 0x60000
	.long 0x0
	.long 0x0
	.long 0x0
.11fake_12:
DBG347:
	.long 0x0
	.long DBG350
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x700000
	.long 0x0
	.long DBG349
	.long 0x0
	.long 0x6e616863
	.long 0x6c656e
	.long 0x0
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG351
	.long 0x1
	.long 0xa
	.long 0x108ffff
	.long servoOption_7
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG352
	.long 0x2
	.long 0xa
	.long 0x108ffff
	.long servoStatusBits_8
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x73616572
	.long 0x6e6f
	.long 0x3
	.long 0xa
	.long 0x108ffff
	.long servoReason_9
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x74617473
	.long 0x7375
	.long 0x4
	.long 0x8
	.long 0x108ffff
	.long servoStatus_10
	.long 0x9
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x72756f73
	.long 0x6563
	.long 0xd
	.long 0xc
	.long 0x8ffff
	.long 0x676174
	.long 0x0
	.long 0xe
	.long 0xc
	.long 0x8ffff
	.long 0x54646d63
	.long 0x657079
	.long 0xf
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG353
	.long 0x10
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG354
	.long 0x11
	.long 0xc
	.long 0x8ffff
	.long 0x69736f70
	.long 0x6e6f6974
	.long 0x12
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG355
	.long 0x16
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG356
	.long 0x1a
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG357
	.long 0x1e
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG358
	.long 0x22
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG359
	.long 0x26
	.long 0x5
	.long 0x8ffff
	.long 0x616c6572
	.long 0x65766974
	.long 0x2a
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG360
	.long 0x2e
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG361
	.long 0x32
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG362
	.long 0x36
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG363
	.long 0x38
	.long 0x3
	.long 0x8ffff
	.long 0x5378616d
	.long 0x64656570
	.long 0x3a
	.long 0xd
	.long 0x8ffff
	.long 0x0
	.long DBG364
	.long 0x3c
	.long 0xd
	.long 0x8ffff
	.long 0x536e696d
	.long 0x64656570
	.long 0x3e
	.long 0xd
	.long 0x8ffff
	.long 0x56646d63
	.long 0x6c65
	.long 0x40
	.long 0x3
	.long 0x8ffff
	.long 0x65636361
	.long 0x6c
	.long 0x42
	.long 0xd
	.long 0x8ffff
	.long 0x706f7473
	.long 0x67616c46
	.long 0x44
	.long 0x2
	.long 0x8ffff
	.long 0x6e696167
	.long 0x0
	.long 0x46
	.long 0x8
	.long 0x108ffff
	.long .1fake_11
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x6d7573
	.long 0x0
	.long 0x4c
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG365
	.long 0x50
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG366
	.long 0x54
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG367
	.long 0x58
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG368
	.long 0x5a
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG369
	.long 0x5c
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG370
	.long 0x5e
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG371
	.long 0x60
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG372
	.long 0x62
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG86
	.long 0x64
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG373
	.long 0x66
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG374
	.long 0x67
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG375
	.long 0x68
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG376
	.long 0x6c
	.long 0xd
	.long 0x8ffff
	.long 0x0
	.long DBG377
	.long 0x6e
	.long 0xd
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x70
	.long 0x0
	.long 0x166ffff
	.long DBG347
	.long 0x700000
	.long 0x0
	.long 0x0
	.long 0x0
.7fake_13:
DBG349:
	.long 0x0
	.long DBG379
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0xc0000
	.long 0x0
	.long DBG378
	.long 0x0
	.long 0x74616568
	.long 0x676e69
	.long 0x0
	.long 0x8
	.long 0x108ffff
	.long .1fake_11
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x6c6f6f63
	.long 0x676e69
	.long 0x6
	.long 0x8
	.long 0x108ffff
	.long .1fake_11
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x736f652e
	.long 0x0
	.long 0xc
	.long 0x0
	.long 0x166ffff
	.long DBG349
	.long 0xc0000
	.long 0x0
	.long 0x0
	.long 0x0
.8fake_14:
DBG378:
	.long 0x0
	.long DBG381
	.long 0x0
	.long 0x8
	.long 0x10afffe
	.long 0x0
	.long 0x4e0000
	.long 0x0
	.long DBG380
	.long 0x0
	.long 0x6f725074
	.long 0x6d617267
	.long 0x0
	.long 0x8
	.long 0x108ffff
	.long .6fake_6
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x6c614374
	.long 0x6269
	.long 0xa
	.long 0x8
	.long 0x108ffff
	.long .7fake_13
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG382
	.long 0x16
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG383
	.long 0x18
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG384
	.long 0x1a
	.long 0xd
	.long 0x8ffff
	.long 0x74617473
	.long 0x65
	.long 0x1c
	.long 0xc
	.long 0x8ffff
	.long 0x65646f63
	.long 0x0
	.long 0x1d
	.long 0xc
	.long 0x8ffff
	.long 0x72756f73
	.long 0x6563
	.long 0x1e
	.long 0xc
	.long 0x8ffff
	.long 0x676174
	.long 0x0
	.long 0x1f
	.long 0xc
	.long 0x8ffff
	.long 0x54646d63
	.long 0x657079
	.long 0x20
	.long 0xc
	.long 0x8ffff
	.long 0x0
	.long DBG385
	.long 0x22
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG386
	.long 0x26
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG387
	.long 0x2a
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG388
	.long 0x2c
	.long 0x3
	.long 0x8ffff
	.long 0x0
	.long DBG389
	.long 0x2e
	.long 0xd
	.long 0x8ffff
	.long 0x0
	.long DBG390
	.long 0x30
	.long 0xd
	.long 0x8ffff
	.long 0x0
	.long DBG391
	.long 0x32
	.long 0xc
	.long 0x8ffff
	.long 0x65786966
	.long 0x4d575064
	.long 0x34
	.long 0x5
	.long 0x8ffff
	.long 0x6d7573
	.long 0x0
	.long 0x38
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG392
	.long 0x3c
	.long 0x5
	.long 0x8ffff
	.long 0x0
	.long DBG393
	.long 0x40
	.long 0x5
	.long 0x8ffff
	.long 0x72657450
	.long 0x6d
	.long 0x44
	.long 0x5
	.long 0x8ffff
	.long 0x72657449
	.long 0x6d
	.long 0x48
	.long 0x5
	.long 0x8ffff
	.long 0x706d6574
	.long 0x0
	.long 0x4c
	.long 0x3
	.long 0x8ffff
	.long 0x736f652e
	.long 0x0
	.long 0x4e
	.long 0x0
	.long 0x166ffff
	.long DBG378
	.long 0x4e0000
	.long 0x0
	.long 0x0
	.long 0x0
DBG291:
DBG309:
DBG286:
DBG380:
	.long 0x7073
	.long 0x0
	.long 0x1
	.long 0x0
	.long 0x16cfffe
	.long 0x0
	.long 0x100001
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x52
	.long 0x0
	.long 0x2
	.long 0x0
	.long 0x16cfffe
	.long 0x0
	.long 0x100010
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG394
	.long _drvMtrCtlImage
	.long 0xc
	.long 0x30002
	.long 0x42784d
	.long 0x0
	.long _MxB
	.long 0x6c
	.long 0x1030002
	.long 0x0
	.long 0x400f4
	.long 0x4
	.long 0x0
	.long 0x0
	.long 0x4f727770
	.long 0x786e
	.long _pwrOnx
	.long 0x6c
	.long 0x1030002
	.long 0x0
	.long 0x400f4
	.long 0x4
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG395
	.long _drvCtlImage
	.long 0xc
	.long 0x30002
	.long 0x53784d
	.long 0x0
	.long _MxS
	.long 0x6c
	.long 0x1030002
	.long 0x0
	.long 0x400f4
	.long 0x4
	.long 0x0
	.long 0x0
	.long 0x78784d
	.long 0x0
	.long _Mxx
	.long 0x6c
	.long 0x1030002
	.long 0x0
	.long 0x800f4
	.long 0x8
	.long 0x0
	.long 0x0
	.long 0x6c6f6f62
	.long 0x6e6165
	.long 0x0
	.long 0xa
	.long 0x10dfffe
	.long .0fake_2
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x67736d75
	.long 0x3233
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x400f4
	.long 0x4
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG396
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long parserInstance_5
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG397
	.long 0x0
	.long 0x4
	.long 0xdfffe
	.long 0x67736d75
	.long 0x3631
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x200f4
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x38746e69
	.long 0x0
	.long 0x0
	.long 0x2
	.long 0xdfffe
	.long 0x0
	.long DBG398
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x300f4
	.long 0x3
	.long 0x0
	.long 0x0
	.long 0x6f666966
	.long 0x0
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .5fake_4
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x746e6975
	.long 0x3233
	.long 0x0
	.long 0xf
	.long 0xdfffe
	.long 0x64696f76
	.long 0x6e46
	.long 0x0
	.long 0x40
	.long 0xdfffe
	.long 0x746e6975
	.long 0x3631
	.long 0x0
	.long 0xd
	.long 0xdfffe
	.long 0x61686377
	.long 0x745f72
	.long 0x0
	.long 0x4
	.long 0xdfffe
	.long 0x0
	.long DBG399
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .6fake_6
	.long 0xa
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG400
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .11fake_12
	.long 0x70
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x70617274
	.long 0x6e46
	.long 0x0
	.long 0x40
	.long 0xdfffe
	.long 0x3167736d
	.long 0x44495036
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x600f4
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x3367736d
	.long 0x32
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x400f4
	.long 0x4
	.long 0x0
	.long 0x0
	.long 0x3167736d
	.long 0x36
	.long 0x0
	.long 0x6c
	.long 0x10dfffe
	.long 0x0
	.long 0x200f4
	.long 0x2
	.long 0x0
	.long 0x0
	.long 0x657a6973
	.long 0x745f
	.long 0x0
	.long 0xe
	.long 0xdfffe
	.long 0x31746e69
	.long 0x44495036
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .1fake_11
	.long 0x6
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x33746e69
	.long 0x32
	.long 0x0
	.long 0x5
	.long 0xdfffe
	.long 0x6f666966
	.long 0x79646f42
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .4fake_3
	.long 0x5
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x31746e69
	.long 0x36
	.long 0x0
	.long 0x3
	.long 0xdfffe
	.long 0x65747962
	.long 0x0
	.long 0x0
	.long 0xc
	.long 0xdfffe
	.long 0x0
	.long DBG401
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .7fake_13
	.long 0xc
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x746e6975
	.long 0x38
	.long 0x0
	.long 0xc
	.long 0xdfffe
	.long 0x74616548
	.long 0x7265
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .8fake_14
	.long 0x4e
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x0
	.long DBG402
	.long 0x0
	.long 0x8
	.long 0x10dfffe
	.long .3fake_1
	.long 0x14
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x666f652e
	.long 0x0
	.long 0x0
	.long 0x0
	.long 0x67fffe
	.dbgseg dbg_strs
	.align 0x2
	.long 0x608
DBG354:
	.long 0x74616753
	.long 0x74617475
	.long 0x73000000
DBG381:
	.long 0x2e386661
	.long 0x6b655f31
	.long 0x34000000
DBG375:
	.long 0x6c617463
	.long 0x68506f73
	.long 0x6974696f
	.long 0x6e000000
DBG316:
	.long 0x6b69636b
	.long 0x73746172
	.long 0x744f7574
	.long 0x70757400
DBG127:
	.long 0x64657369
	.long 0x72656444
	.long 0x69726563
	.long 0x74696f6e
	.long 0x0
DBG85:
	.long 0x64697265
	.long 0x6374696f
	.long 0x6e000000
DBG397:
	.long 0x70747264
	.long 0x6966665f
	.long 0x74000000
DBG396:
	.long 0x70617273
	.long 0x6572496e
	.long 0x7374616e
	.long 0x63650000
DBG376:
	.long 0x73657276
	.long 0x6f546963
	.long 0x73000000
DBG373:
	.long 0x6c696d69
	.long 0x74656446
	.long 0x6c616700
DBG324:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e54
	.long 0x68726573
	.long 0x506f6c61
	.long 0x72697479
	.long 0x0
DBG398:
	.long 0x73657276
	.long 0x6f506f73
	.long 0x6974696f
	.long 0x6e000000
DBG361:
	.long 0x6d617850
	.long 0x6f736974
	.long 0x696f6e45
	.long 0x72720000
DBG341:
	.long 0x73657276
	.long 0x6f4f7665
	.long 0x72707265
	.long 0x73737572
	.long 0x65000000
DBG394:
	.long 0x6472764d
	.long 0x74724374
	.long 0x6c496d61
	.long 0x67650000
DBG389:
	.long 0x74656d70
	.long 0x53656e73
	.long 0x65310000
DBG351:
	.long 0x6f707469
	.long 0x6f6e4d61
	.long 0x736b0000
DBG326:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e48
	.long 0x6f6d6550
	.long 0x6f6c6172
	.long 0x69747900
DBG391:
	.long 0x74656d70
	.long 0x53656e73
	.long 0x65537769
	.long 0x74636800
DBG390:
	.long 0x74656d70
	.long 0x53656e73
	.long 0x65320000
DBG88:
	.long 0x6272616b
	.long 0x6554696d
	.long 0x65720000
DBG358:
	.long 0x6c617374
	.long 0x44657269
	.long 0x76617469
	.long 0x76650000
DBG315:
	.long 0x706f6c6c
	.long 0x496e7075
	.long 0x74000000
DBG93:
	.long 0x726f7461
	.long 0x7279456e
	.long 0x63300000
DBG328:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e4a
	.long 0x6f670000
DBG290:
	.long 0x636f6e66
	.long 0x6967526f
	.long 0x74617279
	.long 0x56616c76
	.long 0x65730000
DBG92:
	.long 0x726f7461
	.long 0x7279456e
	.long 0x63310000
DBG54:
	.long 0x67657453
	.long 0x68616674
	.long 0x506f7300
DBG399:
	.long 0x74686572
	.long 0x6d616c53
	.long 0x74657000
DBG374:
	.long 0x70726573
	.long 0x73757265
	.long 0x53656e73
	.long 0x65537769
	.long 0x74636800
DBG368:
	.long 0x6d617850
	.long 0x72657373
	.long 0x75726544
	.long 0x656c7461
	.long 0x0
DBG355:
	.long 0x6c617374
	.long 0x506f7369
	.long 0x74696f6e
	.long 0x0
DBG350:
	.long 0x2e313166
	.long 0x616b655f
	.long 0x31320000
DBG91:
	.long 0x726f7461
	.long 0x7279456e
	.long 0x63320000
DBG89:
	.long 0x72657643
	.long 0x6f756e74
	.long 0x73000000
DBG86:
	.long 0x6d617843
	.long 0x75727265
	.long 0x6e740000
DBG400:
	.long 0x4d6f746f
	.long 0x72436861
	.long 0x6e6e656c
	.long 0x0
DBG362:
	.long 0x70726573
	.long 0x73757265
	.long 0x31000000
DBG344:
	.long 0x73657276
	.long 0x6f537065
	.long 0x65644572
	.long 0x726f7200
DBG325:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e48
	.long 0x6f6d6550
	.long 0x77720000
DBG90:
	.long 0x726f7461
	.long 0x7279456e
	.long 0x63330000
DBG385:
	.long 0x68656174
	.long 0x6572536c
	.long 0x6f70655f
	.long 0x6e756d00
DBG363:
	.long 0x70726573
	.long 0x73757265
	.long 0x32000000
DBG318:
	.long 0x65727248
	.long 0x6f6c646f
	.long 0x66660000
DBG177:
	.long 0x53686166
	.long 0x74537461
	.long 0x74654d61
	.long 0x6368696e
	.long 0x65000000
DBG387:
	.long 0x68656174
	.long 0x65725057
	.long 0x4d000000
DBG377:
	.long 0x72657065
	.long 0x61745261
	.long 0x74650000
DBG343:
	.long 0x73657276
	.long 0x6f506f73
	.long 0x6974696f
	.long 0x6e457272
	.long 0x0
DBG5:
	.long 0x483a5c45
	.long 0x53505c67
	.long 0x656e325c
	.long 0x736f6674
	.long 0x77617265
	.long 0x5c6d7370
	.long 0x3433305c
	.long 0x64776172
	.long 0x7665735c
	.long 0x7276616c
	.long 0x76652e63
	.long 0x0
DBG340:
	.long 0x73657276
	.long 0x6f4f7665
	.long 0x72637572
	.long 0x72656e74
	.long 0x0
DBG32:
	.long 0x73657444
	.long 0x72764d74
	.long 0x7243746c
	.long 0x0
DBG357:
	.long 0x6c617374
	.long 0x496e7465
	.long 0x726d6564
	.long 0x69617465
	.long 0x0
DBG337:
	.long 0x696e7661
	.long 0x6c696453
	.long 0x6572766f
	.long 0x4368616e
	.long 0x6e656c00
DBG335:
	.long 0x73657276
	.long 0x6f526561
	.long 0x736f6e5f
	.long 0x39000000
DBG321:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e45
	.long 0x6e61626c
	.long 0x65000000
DBG352:
	.long 0x73746174
	.long 0x75734d61
	.long 0x736b0000
DBG339:
	.long 0x73657276
	.long 0x6f41626f
	.long 0x72746564
	.long 0x0
DBG327:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e48
	.long 0x6f6d6544
	.long 0x69720000
DBG384:
	.long 0x656c6170
	.long 0x73656454
	.long 0x69637300
DBG382:
	.long 0x63757272
	.long 0x656e7454
	.long 0x656d7065
	.long 0x72617475
	.long 0x72650000
DBG395:
	.long 0x64727643
	.long 0x746c496d
	.long 0x61676500
DBG386:
	.long 0x68656174
	.long 0x6572536c
	.long 0x6f70655f
	.long 0x64656e00
DBG365:
	.long 0x70726576
	.long 0x696f7573
	.long 0x53756d00
DBG332:
	.long 0x73657276
	.long 0x6f486f6d
	.long 0x65466c61
	.long 0x67000000
DBG322:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e45
	.long 0x6e63506f
	.long 0x6c617269
	.long 0x74790000
DBG346:
	.long 0x73657276
	.long 0x6f537461
	.long 0x7475735f
	.long 0x31300000
DBG371:
	.long 0x6d696e49
	.long 0x6e507265
	.long 0x73737572
	.long 0x65000000
DBG367:
	.long 0x6d6f746f
	.long 0x72437572
	.long 0x72656e74
	.long 0x0
DBG356:
	.long 0x74687265
	.long 0x73686f6c
	.long 0x644f6666
	.long 0x73657400
DBG333:
	.long 0x73657276
	.long 0x6f506173
	.long 0x74546872
	.long 0x6573686f
	.long 0x6c640000
DBG159:
	.long 0x69646c65
	.long 0x53686166
	.long 0x74000000
DBG401:
	.long 0x74686572
	.long 0x6d616c43
	.long 0x616c6962
	.long 0x72617469
	.long 0x6f6e0000
DBG372:
	.long 0x6d696e4f
	.long 0x75745072
	.long 0x65737375
	.long 0x72650000
DBG353:
	.long 0x736f7572
	.long 0x63655374
	.long 0x61747573
	.long 0x0
DBG342:
	.long 0x73657276
	.long 0x6f4e6f74
	.long 0x52656164
	.long 0x79000000
DBG323:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e54
	.long 0x68726573
	.long 0x686f6c64
	.long 0x0
DBG369:
	.long 0x6d617849
	.long 0x6e507265
	.long 0x73737572
	.long 0x65000000
DBG336:
	.long 0x6e6f5365
	.long 0x72766f45
	.long 0x72726f72
	.long 0x0
DBG314:
	.long 0x70617273
	.long 0x6572496e
	.long 0x7374616e
	.long 0x63655f35
	.long 0x0
DBG383:
	.long 0x74686572
	.long 0x6d6f436f
	.long 0x75706c65
	.long 0x0
DBG370:
	.long 0x6d61784f
	.long 0x75745072
	.long 0x65737375
	.long 0x72650000
DBG348:
	.long 0x2e316661
	.long 0x6b655f31
	.long 0x31000000
DBG393:
	.long 0x696e744c
	.long 0x696d6974
	.long 0x4e000000
DBG388:
	.long 0x636f6f6c
	.long 0x65725057
	.long 0x4d000000
DBG359:
	.long 0x676f616c
	.long 0x506f7369
	.long 0x74696f6e
	.long 0x0
DBG87:
	.long 0x6272616b
	.long 0x65546963
	.long 0x73000000
DBG338:
	.long 0x696e7661
	.long 0x6c696453
	.long 0x6572766f
	.long 0x476f616c
	.long 0x0
DBG392:
	.long 0x696e744c
	.long 0x696d6974
	.long 0x50000000
DBG331:
	.long 0x73657276
	.long 0x6f4c6f73
	.long 0x74486f6d
	.long 0x65000000
DBG360:
	.long 0x696e7465
	.long 0x726d6564
	.long 0x69617465
	.long 0x0
DBG10:
	.long 0x73657444
	.long 0x72764374
	.long 0x6c000000
DBG364:
	.long 0x64656661
	.long 0x756c744d
	.long 0x61785370
	.long 0x65656400
DBG330:
	.long 0x73657276
	.long 0x6f537461
	.long 0x74757342
	.long 0x6974735f
	.long 0x38000000
DBG366:
	.long 0x6c617374
	.long 0x4572726f
	.long 0x72000000
DBG320:
	.long 0x73657276
	.long 0x6f4f7074
	.long 0x696f6e5f
	.long 0x37000000
DBG402:
	.long 0x526f7461
	.long 0x72795661
	.long 0x6c766500
DBG379:
	.long 0x2e376661
	.long 0x6b655f31
	.long 0x33000000
	.iseg _idesc
	.align 0x2
	.data rvalve_V1
	.data rvalve_V2
	.data 0x2
