XBMC USB Controller solderpad

xbmc-usb-controller / Firmware / mcci.asm

21.6 KB · raw

_GetRotaryState:

;mcci.c,45 :: 		void GetRotaryState()
;mcci.c,47 :: 		if(PORTD.B1 != rotery_mode)
	BTFSC       PORTD+0, 1 
	GOTO        L__GetRotaryState74
	BTFSS       _rotery_mode+0, BitPos(_rotery_mode+0) 
	GOTO        L_GetRotaryState0
	GOTO        L__GetRotaryState75
L__GetRotaryState74:
	BTFSS       _rotery_mode+0, BitPos(_rotery_mode+0) 
	GOTO        L__GetRotaryState75
	GOTO        L_GetRotaryState0
L__GetRotaryState75:
;mcci.c,49 :: 		Delay_us(25);
	MOVLW       99
	MOVWF       R13, 0
L_GetRotaryState1:
	DECFSZ      R13, 1, 1
	BRA         L_GetRotaryState1
	NOP
	NOP
;mcci.c,50 :: 		remote_command = 1;
	MOVLW       1
	MOVWF       _remote_command+0 
;mcci.c,51 :: 		if(PORTD.B0 == 0)
	BTFSC       PORTD+0, 0 
	GOTO        L_GetRotaryState2
;mcci.c,52 :: 		remote_id = 1;
	MOVLW       1
	MOVWF       _remote_id+0 
	MOVLW       0
	MOVWF       _remote_id+1 
	GOTO        L_GetRotaryState3
L_GetRotaryState2:
;mcci.c,54 :: 		remote_id = 2;
	MOVLW       2
	MOVWF       _remote_id+0 
	MOVLW       0
	MOVWF       _remote_id+1 
L_GetRotaryState3:
;mcci.c,55 :: 		rotery_mode = PORTD.B1;
	BTFSC       PORTD+0, 1 
	GOTO        L__GetRotaryState76
	BCF         _rotery_mode+0, BitPos(_rotery_mode+0) 
	GOTO        L__GetRotaryState77
L__GetRotaryState76:
	BSF         _rotery_mode+0, BitPos(_rotery_mode+0) 
L__GetRotaryState77:
;mcci.c,56 :: 		}
L_GetRotaryState0:
;mcci.c,57 :: 		if(PORTD.B2 != rotery_push)
	BTFSC       PORTD+0, 2 
	GOTO        L__GetRotaryState78
	BTFSS       _rotery_push+0, BitPos(_rotery_push+0) 
	GOTO        L_GetRotaryState4
	GOTO        L__GetRotaryState79
L__GetRotaryState78:
	BTFSS       _rotery_push+0, BitPos(_rotery_push+0) 
	GOTO        L__GetRotaryState79
	GOTO        L_GetRotaryState4
L__GetRotaryState79:
;mcci.c,59 :: 		if(PORTD.B2 == 0)
	BTFSC       PORTD+0, 2 
	GOTO        L_GetRotaryState5
;mcci.c,61 :: 		remote_command = 2;
	MOVLW       2
	MOVWF       _remote_command+0 
;mcci.c,62 :: 		remote_id = 0;
	CLRF        _remote_id+0 
	CLRF        _remote_id+1 
;mcci.c,63 :: 		}
L_GetRotaryState5:
;mcci.c,64 :: 		rotery_push = PORTD.B2;
	BTFSC       PORTD+0, 2 
	GOTO        L__GetRotaryState80
	BCF         _rotery_push+0, BitPos(_rotery_push+0) 
	GOTO        L__GetRotaryState81
L__GetRotaryState80:
	BSF         _rotery_push+0, BitPos(_rotery_push+0) 
L__GetRotaryState81:
;mcci.c,65 :: 		}
L_GetRotaryState4:
;mcci.c,66 :: 		if(PORTD.B4 != home_sw)
	BTFSC       PORTD+0, 4 
	GOTO        L__GetRotaryState82
	BTFSS       _home_sw+0, BitPos(_home_sw+0) 
	GOTO        L_GetRotaryState6
	GOTO        L__GetRotaryState83
L__GetRotaryState82:
	BTFSS       _home_sw+0, BitPos(_home_sw+0) 
	GOTO        L__GetRotaryState83
	GOTO        L_GetRotaryState6
L__GetRotaryState83:
;mcci.c,68 :: 		if(PORTD.B4 == 0)
	BTFSC       PORTD+0, 4 
	GOTO        L_GetRotaryState7
;mcci.c,70 :: 		remote_command = 2;
	MOVLW       2
	MOVWF       _remote_command+0 
;mcci.c,71 :: 		remote_id = 1;
	MOVLW       1
	MOVWF       _remote_id+0 
	MOVLW       0
	MOVWF       _remote_id+1 
;mcci.c,72 :: 		}
L_GetRotaryState7:
;mcci.c,73 :: 		home_sw = PORTD.B4;
	BTFSC       PORTD+0, 4 
	GOTO        L__GetRotaryState84
	BCF         _home_sw+0, BitPos(_home_sw+0) 
	GOTO        L__GetRotaryState85
L__GetRotaryState84:
	BSF         _home_sw+0, BitPos(_home_sw+0) 
L__GetRotaryState85:
;mcci.c,74 :: 		}
L_GetRotaryState6:
;mcci.c,75 :: 		if(PORTD.B5 != back_sw)
	BTFSC       PORTD+0, 5 
	GOTO        L__GetRotaryState86
	BTFSS       _back_sw+0, BitPos(_back_sw+0) 
	GOTO        L_GetRotaryState8
	GOTO        L__GetRotaryState87
L__GetRotaryState86:
	BTFSS       _back_sw+0, BitPos(_back_sw+0) 
	GOTO        L__GetRotaryState87
	GOTO        L_GetRotaryState8
L__GetRotaryState87:
;mcci.c,77 :: 		if(PORTD.B5 == 0)
	BTFSC       PORTD+0, 5 
	GOTO        L_GetRotaryState9
;mcci.c,79 :: 		remote_command = 2;
	MOVLW       2
	MOVWF       _remote_command+0 
;mcci.c,80 :: 		remote_id = 2;
	MOVLW       2
	MOVWF       _remote_id+0 
	MOVLW       0
	MOVWF       _remote_id+1 
;mcci.c,81 :: 		}
L_GetRotaryState9:
;mcci.c,82 :: 		back_sw = PORTD.B5;
	BTFSC       PORTD+0, 5 
	GOTO        L__GetRotaryState88
	BCF         _back_sw+0, BitPos(_back_sw+0) 
	GOTO        L__GetRotaryState89
L__GetRotaryState88:
	BSF         _back_sw+0, BitPos(_back_sw+0) 
L__GetRotaryState89:
;mcci.c,83 :: 		}
L_GetRotaryState8:
;mcci.c,84 :: 		}
	RETURN      0
; end of _GetRotaryState

_GetSIRCValue:

;mcci.c,86 :: 		void GetSIRCValue()
;mcci.c,88 :: 		char pos = 0;
	CLRF        GetSIRCValue_pos_L0+0 
;mcci.c,90 :: 		remote_command = 0;
	CLRF        _remote_command+0 
;mcci.c,91 :: 		remote_id = 0;
	CLRF        _remote_id+0 
	CLRF        _remote_id+1 
;mcci.c,92 :: 		while((PORTE.B0 == 0) && (pos < 26))
L_GetSIRCValue10:
	BTFSC       PORTE+0, 0 
	GOTO        L_GetSIRCValue11
	MOVLW       26
	SUBWF       GetSIRCValue_pos_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_GetSIRCValue11
L__GetSIRCValue71:
;mcci.c,94 :: 		Delay_us(100);
	MOVLW       2
	MOVWF       R12, 0
	MOVLW       141
	MOVWF       R13, 0
L_GetSIRCValue14:
	DECFSZ      R13, 1, 1
	BRA         L_GetSIRCValue14
	DECFSZ      R12, 1, 1
	BRA         L_GetSIRCValue14
	NOP
	NOP
;mcci.c,95 :: 		pos++;
	INCF        GetSIRCValue_pos_L0+0, 1 
;mcci.c,96 :: 		}
	GOTO        L_GetSIRCValue10
L_GetSIRCValue11:
;mcci.c,97 :: 		if(pos == 25)
	MOVF        GetSIRCValue_pos_L0+0, 0 
	XORLW       25
	BTFSS       STATUS+0, 2 
	GOTO        L_GetSIRCValue15
;mcci.c,99 :: 		for(i = 0; i < 21; i++)
	CLRF        R3 
L_GetSIRCValue16:
	MOVLW       21
	SUBWF       R3, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_GetSIRCValue17
;mcci.c,101 :: 		tmp_out = 0;
	CLRF        _tmp_out+0 
	CLRF        _tmp_out+1 
;mcci.c,102 :: 		while((PORTE.B0 == 1) && (tmp_out < 12001))
L_GetSIRCValue19:
	BTFSS       PORTE+0, 0 
	GOTO        L_GetSIRCValue20
	MOVLW       128
	XORWF       _tmp_out+1, 0 
	MOVWF       R0 
	MOVLW       128
	XORLW       46
	SUBWF       R0, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__GetSIRCValue90
	MOVLW       225
	SUBWF       _tmp_out+0, 0 
L__GetSIRCValue90:
	BTFSC       STATUS+0, 0 
	GOTO        L_GetSIRCValue20
L__GetSIRCValue70:
;mcci.c,104 :: 		Delay_us(1);
	MOVLW       3
	MOVWF       R13, 0
L_GetSIRCValue23:
	DECFSZ      R13, 1, 1
	BRA         L_GetSIRCValue23
	NOP
	NOP
;mcci.c,105 :: 		tmp_out++;
	INFSNZ      _tmp_out+0, 1 
	INCF        _tmp_out+1, 1 
;mcci.c,106 :: 		}
	GOTO        L_GetSIRCValue19
L_GetSIRCValue20:
;mcci.c,107 :: 		if(tmp_out<12001)
	MOVLW       128
	XORWF       _tmp_out+1, 0 
	MOVWF       R0 
	MOVLW       128
	XORLW       46
	SUBWF       R0, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__GetSIRCValue91
	MOVLW       225
	SUBWF       _tmp_out+0, 0 
L__GetSIRCValue91:
	BTFSC       STATUS+0, 0 
	GOTO        L_GetSIRCValue24
;mcci.c,109 :: 		pos = 0;
	CLRF        GetSIRCValue_pos_L0+0 
;mcci.c,110 :: 		while((PORTE.B0 == 0) && (pos < 20))
L_GetSIRCValue25:
	BTFSC       PORTE+0, 0 
	GOTO        L_GetSIRCValue26
	MOVLW       20
	SUBWF       GetSIRCValue_pos_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_GetSIRCValue26
L__GetSIRCValue69:
;mcci.c,112 :: 		Delay_us(100);
	MOVLW       2
	MOVWF       R12, 0
	MOVLW       141
	MOVWF       R13, 0
L_GetSIRCValue29:
	DECFSZ      R13, 1, 1
	BRA         L_GetSIRCValue29
	DECFSZ      R12, 1, 1
	BRA         L_GetSIRCValue29
	NOP
	NOP
;mcci.c,113 :: 		pos++;
	INCF        GetSIRCValue_pos_L0+0, 1 
;mcci.c,114 :: 		}
	GOTO        L_GetSIRCValue25
L_GetSIRCValue26:
;mcci.c,115 :: 		if(pos > 10)
	MOVF        GetSIRCValue_pos_L0+0, 0 
	SUBLW       10
	BTFSC       STATUS+0, 0 
	GOTO        L_GetSIRCValue30
;mcci.c,117 :: 		if(i<8)
	MOVLW       8
	SUBWF       R3, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_GetSIRCValue31
;mcci.c,118 :: 		remote_command |= (1<<i);
	MOVF        R3, 0 
	MOVWF       R1 
	MOVLW       1
	MOVWF       R0 
	MOVF        R1, 0 
L__GetSIRCValue92:
	BZ          L__GetSIRCValue93
	RLCF        R0, 1 
	BCF         R0, 0 
	ADDLW       255
	GOTO        L__GetSIRCValue92
L__GetSIRCValue93:
	MOVF        R0, 0 
	IORWF       _remote_command+0, 1 
	GOTO        L_GetSIRCValue32
L_GetSIRCValue31:
;mcci.c,120 :: 		remote_id |= (1<<(i-8));
	MOVLW       8
	SUBWF       R3, 0 
	MOVWF       R0 
	CLRF        R1 
	MOVLW       0
	SUBWFB      R1, 1 
	MOVF        R0, 0 
	MOVWF       R2 
	MOVLW       1
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	MOVF        R2, 0 
L__GetSIRCValue94:
	BZ          L__GetSIRCValue95
	RLCF        R0, 1 
	BCF         R0, 0 
	RLCF        R1, 1 
	ADDLW       255
	GOTO        L__GetSIRCValue94
L__GetSIRCValue95:
	MOVF        R0, 0 
	IORWF       _remote_id+0, 1 
	MOVF        R1, 0 
	IORWF       _remote_id+1, 1 
L_GetSIRCValue32:
;mcci.c,121 :: 		}
L_GetSIRCValue30:
;mcci.c,122 :: 		}
	GOTO        L_GetSIRCValue33
L_GetSIRCValue24:
;mcci.c,125 :: 		remote_command = 0;
	CLRF        _remote_command+0 
;mcci.c,126 :: 		break;
	GOTO        L_GetSIRCValue17
;mcci.c,127 :: 		}
L_GetSIRCValue33:
;mcci.c,99 :: 		for(i = 0; i < 21; i++)
	INCF        R3, 1 
;mcci.c,128 :: 		}
	GOTO        L_GetSIRCValue16
L_GetSIRCValue17:
;mcci.c,129 :: 		}
L_GetSIRCValue15:
;mcci.c,130 :: 		}
	RETURN      0
; end of _GetSIRCValue

_ResetLCD:

;mcci.c,132 :: 		void ResetLCD()
;mcci.c,134 :: 		Lcd_Cmd(_LCD_CLEAR);
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;mcci.c,135 :: 		Lcd_Out(1,1,"Welcome to XBMC");
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       ?lstr1_mcci+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?lstr1_mcci+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;mcci.c,136 :: 		}
	RETURN      0
; end of _ResetLCD

_EchoUSBInfo:

;mcci.c,138 :: 		void EchoUSBInfo()
;mcci.c,141 :: 		is_advance = 1;
	BSF         _is_advance+0, BitPos(_is_advance+0) 
;mcci.c,142 :: 		for(pos_ = 0; pos_ < 17; pos_++)
	CLRF        EchoUSBInfo_pos__L0+0 
L_EchoUSBInfo34:
	MOVLW       17
	SUBWF       EchoUSBInfo_pos__L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_EchoUSBInfo35
;mcci.c,143 :: 		if(readbuff[4+ren_pointer+pos_]==0)
	MOVF        _ren_pointer+0, 0 
	ADDLW       4
	MOVWF       R0 
	CLRF        R1 
	MOVLW       0
	ADDWFC      R1, 1 
	MOVF        EchoUSBInfo_pos__L0+0, 0 
	ADDWF       R0, 1 
	MOVLW       0
	ADDWFC      R1, 1 
	MOVLW       _readbuff+0
	ADDWF       R0, 0 
	MOVWF       FSR0L 
	MOVLW       hi_addr(_readbuff+0)
	ADDWFC      R1, 0 
	MOVWF       FSR0H 
	MOVF        POSTINC0+0, 0 
	XORLW       0
	BTFSS       STATUS+0, 2 
	GOTO        L_EchoUSBInfo37
;mcci.c,145 :: 		is_advance = 0;
	BCF         _is_advance+0, BitPos(_is_advance+0) 
;mcci.c,146 :: 		Lcd_Chr(2, pos_+1, ' ');
	MOVLW       2
	MOVWF       FARG_Lcd_Chr_row+0 
	MOVF        EchoUSBInfo_pos__L0+0, 0 
	ADDLW       1
	MOVWF       FARG_Lcd_Chr_column+0 
	MOVLW       32
	MOVWF       FARG_Lcd_Chr_out_char+0 
	CALL        _Lcd_Chr+0, 0
;mcci.c,147 :: 		}
	GOTO        L_EchoUSBInfo38
L_EchoUSBInfo37:
;mcci.c,149 :: 		Lcd_Chr(2, pos_+1, readbuff[4+ren_pointer+pos_]);
	MOVLW       2
	MOVWF       FARG_Lcd_Chr_row+0 
	MOVF        EchoUSBInfo_pos__L0+0, 0 
	ADDLW       1
	MOVWF       FARG_Lcd_Chr_column+0 
	MOVF        _ren_pointer+0, 0 
	ADDLW       4
	MOVWF       R0 
	CLRF        R1 
	MOVLW       0
	ADDWFC      R1, 1 
	MOVF        EchoUSBInfo_pos__L0+0, 0 
	ADDWF       R0, 1 
	MOVLW       0
	ADDWFC      R1, 1 
	MOVLW       _readbuff+0
	ADDWF       R0, 0 
	MOVWF       FSR0L 
	MOVLW       hi_addr(_readbuff+0)
	ADDWFC      R1, 0 
	MOVWF       FSR0H 
	MOVF        POSTINC0+0, 0 
	MOVWF       FARG_Lcd_Chr_out_char+0 
	CALL        _Lcd_Chr+0, 0
L_EchoUSBInfo38:
;mcci.c,142 :: 		for(pos_ = 0; pos_ < 17; pos_++)
	INCF        EchoUSBInfo_pos__L0+0, 1 
;mcci.c,149 :: 		Lcd_Chr(2, pos_+1, readbuff[4+ren_pointer+pos_]);
	GOTO        L_EchoUSBInfo34
L_EchoUSBInfo35:
;mcci.c,150 :: 		ren_pointer = (is_advance==1) ? (ren_pointer+1) : 0;
	CLRF        R1 
	BTFSC       _is_advance+0, BitPos(_is_advance+0) 
	INCF        R1, 1 
	MOVF        R1, 0 
	XORLW       1
	BTFSS       STATUS+0, 2 
	GOTO        L_EchoUSBInfo39
	MOVF        _ren_pointer+0, 0 
	ADDLW       1
	MOVWF       R0 
	MOVLW       0
	MOVWF       R1 
	GOTO        L_EchoUSBInfo40
L_EchoUSBInfo39:
	CLRF        R0 
	CLRF        R1 
L_EchoUSBInfo40:
	MOVF        R0, 0 
	MOVWF       _ren_pointer+0 
;mcci.c,151 :: 		}
	RETURN      0
; end of _EchoUSBInfo

_PrintUSBInfo:

;mcci.c,153 :: 		void PrintUSBInfo()
;mcci.c,156 :: 		if((readbuff[1]>67) || (readbuff[1]<65))
	MOVF        1281, 0 
	SUBLW       67
	BTFSS       STATUS+0, 0 
	GOTO        L__PrintUSBInfo72
	MOVLW       65
	SUBWF       1281, 0 
	BTFSS       STATUS+0, 0 
	GOTO        L__PrintUSBInfo72
	GOTO        L_PrintUSBInfo43
L__PrintUSBInfo72:
;mcci.c,157 :: 		ResetLCD();
	CALL        _ResetLCD+0, 0
	GOTO        L_PrintUSBInfo44
L_PrintUSBInfo43:
;mcci.c,160 :: 		Lcd_Cmd(_LCD_CLEAR);
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;mcci.c,161 :: 		switch(readbuff[1])
	GOTO        L_PrintUSBInfo45
;mcci.c,163 :: 		case 65 : Lcd_Out(1,1, "Audio"); break;
L_PrintUSBInfo47:
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       ?lstr2_mcci+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?lstr2_mcci+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
	GOTO        L_PrintUSBInfo46
;mcci.c,164 :: 		case 66 : Lcd_Out(1,1, "Video"); break;
L_PrintUSBInfo48:
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       ?lstr3_mcci+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?lstr3_mcci+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
	GOTO        L_PrintUSBInfo46
;mcci.c,165 :: 		case 67 : Lcd_Out(1,1, "Picture"); break;
L_PrintUSBInfo49:
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       ?lstr4_mcci+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?lstr4_mcci+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
	GOTO        L_PrintUSBInfo46
;mcci.c,166 :: 		}
L_PrintUSBInfo45:
	MOVF        1281, 0 
	XORLW       65
	BTFSC       STATUS+0, 2 
	GOTO        L_PrintUSBInfo47
	MOVF        1281, 0 
	XORLW       66
	BTFSC       STATUS+0, 2 
	GOTO        L_PrintUSBInfo48
	MOVF        1281, 0 
	XORLW       67
	BTFSC       STATUS+0, 2 
	GOTO        L_PrintUSBInfo49
L_PrintUSBInfo46:
;mcci.c,167 :: 		switch(readbuff[2])
	GOTO        L_PrintUSBInfo50
;mcci.c,169 :: 		case 66 : Lcd_Out(1,9, ": Play"); break;
L_PrintUSBInfo52:
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       9
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       ?lstr5_mcci+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?lstr5_mcci+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
	GOTO        L_PrintUSBInfo51
;mcci.c,170 :: 		case 67 : Lcd_Out(1,9, ": Pause"); break;
L_PrintUSBInfo53:
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       9
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       ?lstr6_mcci+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?lstr6_mcci+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
	GOTO        L_PrintUSBInfo51
;mcci.c,171 :: 		}
L_PrintUSBInfo50:
	MOVF        1282, 0 
	XORLW       66
	BTFSC       STATUS+0, 2 
	GOTO        L_PrintUSBInfo52
	MOVF        1282, 0 
	XORLW       67
	BTFSC       STATUS+0, 2 
	GOTO        L_PrintUSBInfo53
L_PrintUSBInfo51:
;mcci.c,172 :: 		update_lcd = ((readbuff[1]<67) && (readbuff[2]>65));
	MOVLW       67
	SUBWF       1281, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_PrintUSBInfo55
	MOVF        1282, 0 
	SUBLW       65
	BTFSC       STATUS+0, 0 
	GOTO        L_PrintUSBInfo55
	MOVLW       1
	MOVWF       R0 
	GOTO        L_PrintUSBInfo54
L_PrintUSBInfo55:
	CLRF        R0 
L_PrintUSBInfo54:
	BTFSC       R0, 0 
	GOTO        L__PrintUSBInfo96
	BCF         _update_lcd+0, BitPos(_update_lcd+0) 
	GOTO        L__PrintUSBInfo97
L__PrintUSBInfo96:
	BSF         _update_lcd+0, BitPos(_update_lcd+0) 
L__PrintUSBInfo97:
;mcci.c,173 :: 		if(update_lcd)
	BTFSS       _update_lcd+0, BitPos(_update_lcd+0) 
	GOTO        L_PrintUSBInfo56
;mcci.c,175 :: 		ren_pointer = 0;
	CLRF        _ren_pointer+0 
;mcci.c,176 :: 		EchoUSBInfo();
	CALL        _EchoUSBInfo+0, 0
;mcci.c,177 :: 		ren_timer = 0;
	CLRF        _ren_timer+0 
	CLRF        _ren_timer+1 
;mcci.c,178 :: 		update_lcd = 1;
	BSF         _update_lcd+0, BitPos(_update_lcd+0) 
;mcci.c,179 :: 		}
L_PrintUSBInfo56:
;mcci.c,180 :: 		}
L_PrintUSBInfo44:
;mcci.c,181 :: 		}
	RETURN      0
; end of _PrintUSBInfo

_interrupt:

;mcci.c,183 :: 		void interrupt()
;mcci.c,185 :: 		USB_Interrupt_Proc();
	CALL        _USB_Interrupt_Proc+0, 0
;mcci.c,186 :: 		}
L__interrupt98:
	RETFIE      1
; end of _interrupt

_main:

;mcci.c,188 :: 		void main(void)
;mcci.c,190 :: 		ADCON1 |= 0x0F;
	MOVLW       15
	IORWF       ADCON1+0, 1 
;mcci.c,191 :: 		CMCON  |= 7;
	MOVLW       7
	IORWF       CMCON+0, 1 
;mcci.c,192 :: 		TRISE = 7;
	MOVLW       7
	MOVWF       TRISE+0 
;mcci.c,193 :: 		TRISA = 0;
	CLRF        TRISA+0 
;mcci.c,194 :: 		TRISD = 127;
	MOVLW       127
	MOVWF       TRISD+0 
;mcci.c,196 :: 		ren_pointer = 0;
	CLRF        _ren_pointer+0 
;mcci.c,197 :: 		rotery_mode = 0;
	BCF         _rotery_mode+0, BitPos(_rotery_mode+0) 
;mcci.c,198 :: 		rotery_push = 0;
	BCF         _rotery_push+0, BitPos(_rotery_push+0) 
;mcci.c,199 :: 		update_lcd = 0;
	BCF         _update_lcd+0, BitPos(_update_lcd+0) 
;mcci.c,200 :: 		disp_switch = 0;
	BCF         _disp_switch+0, BitPos(_disp_switch+0) 
;mcci.c,201 :: 		home_sw = 0;
	BCF         _home_sw+0, BitPos(_home_sw+0) 
;mcci.c,202 :: 		back_sw = 0;
	BCF         _back_sw+0, BitPos(_back_sw+0) 
;mcci.c,204 :: 		HID_Enable(&readbuff, &writebuff);
	MOVLW       _readbuff+0
	MOVWF       FARG_HID_Enable_readbuff+0 
	MOVLW       hi_addr(_readbuff+0)
	MOVWF       FARG_HID_Enable_readbuff+1 
	MOVLW       _writebuff+0
	MOVWF       FARG_HID_Enable_writebuff+0 
	MOVLW       hi_addr(_writebuff+0)
	MOVWF       FARG_HID_Enable_writebuff+1 
	CALL        _HID_Enable+0, 0
;mcci.c,205 :: 		for(cnt=0;cnt<64;cnt++)
	CLRF        _cnt+0 
L_main57:
	MOVLW       64
	SUBWF       _cnt+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_main58
;mcci.c,206 :: 		writebuff[cnt]= 0;
	MOVLW       _writebuff+0
	MOVWF       FSR1L 
	MOVLW       hi_addr(_writebuff+0)
	MOVWF       FSR1H 
	MOVF        _cnt+0, 0 
	ADDWF       FSR1L, 1 
	BTFSC       STATUS+0, 0 
	INCF        FSR1H, 1 
	CLRF        POSTINC1+0 
;mcci.c,205 :: 		for(cnt=0;cnt<64;cnt++)
	INCF        _cnt+0, 1 
;mcci.c,206 :: 		writebuff[cnt]= 0;
	GOTO        L_main57
L_main58:
;mcci.c,207 :: 		Lcd_Init();
	CALL        _Lcd_Init+0, 0
;mcci.c,208 :: 		Lcd_Cmd(_LCD_CURSOR_OFF);
	MOVLW       12
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;mcci.c,209 :: 		ResetLCD();
	CALL        _ResetLCD+0, 0
;mcci.c,211 :: 		mainloop:
___main_mainloop:
;mcci.c,213 :: 		if(HID_Read() > 0)
	CALL        _HID_Read+0, 0
	MOVF        R0, 0 
	SUBLW       0
	BTFSC       STATUS+0, 0 
	GOTO        L_main60
;mcci.c,214 :: 		PrintUSBInfo();
	CALL        _PrintUSBInfo+0, 0
L_main60:
;mcci.c,216 :: 		GetSIRCValue();
	CALL        _GetSIRCValue+0, 0
;mcci.c,217 :: 		if(remote_command == 0)
	MOVF        _remote_command+0, 0 
	XORLW       0
	BTFSS       STATUS+0, 2 
	GOTO        L_main61
;mcci.c,218 :: 		GetRotaryState();
	CALL        _GetRotaryState+0, 0
L_main61:
;mcci.c,220 :: 		if(remote_command != 0)
	MOVF        _remote_command+0, 0 
	XORLW       0
	BTFSC       STATUS+0, 2 
	GOTO        L_main62
;mcci.c,222 :: 		writebuff[0] = 184;
	MOVLW       184
	MOVWF       1344 
;mcci.c,223 :: 		writebuff[1] = 1;
	MOVLW       1
	MOVWF       1345 
;mcci.c,224 :: 		writebuff[2] = remote_command;
	MOVF        _remote_command+0, 0 
	MOVWF       1346 
;mcci.c,225 :: 		writebuff[3] = Lo(remote_id);
	MOVF        _remote_id+0, 0 
	MOVWF       1347 
;mcci.c,226 :: 		writebuff[4] = Hi(remote_id);
	MOVF        _remote_id+1, 0 
	MOVWF       1348 
;mcci.c,228 :: 		while(!HID_Write(&writebuff,64));
L_main63:
	MOVLW       _writebuff+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_writebuff+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	MOVF        R0, 1 
	BTFSS       STATUS+0, 2 
	GOTO        L_main64
	GOTO        L_main63
L_main64:
;mcci.c,229 :: 		}
L_main62:
;mcci.c,231 :: 		disp_switch = !disp_switch;
	BTG         _disp_switch+0, BitPos(_disp_switch+0) 
;mcci.c,232 :: 		if(update_lcd && disp_switch)
	BTFSS       _update_lcd+0, BitPos(_update_lcd+0) 
	GOTO        L_main67
	BTFSS       _disp_switch+0, BitPos(_disp_switch+0) 
	GOTO        L_main67
L__main73:
;mcci.c,234 :: 		ren_timer++;
	INFSNZ      _ren_timer+0, 1 
	INCF        _ren_timer+1, 1 
;mcci.c,235 :: 		if(ren_timer >= 45000)
	MOVLW       175
	SUBWF       _ren_timer+1, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__main99
	MOVLW       200
	SUBWF       _ren_timer+0, 0 
L__main99:
	BTFSS       STATUS+0, 0 
	GOTO        L_main68
;mcci.c,237 :: 		ren_timer = 0;
	CLRF        _ren_timer+0 
	CLRF        _ren_timer+1 
;mcci.c,238 :: 		EchoUSBInfo();
	CALL        _EchoUSBInfo+0, 0
;mcci.c,239 :: 		}
L_main68:
;mcci.c,240 :: 		}
L_main67:
;mcci.c,241 :: 		goto mainloop;
	GOTO        ___main_mainloop
;mcci.c,242 :: 		}
	GOTO        $+0
; end of _main