;---------------------------------------------------------- ; Code Produced by the Proton 3.5.0.6 ; Copyright Rosetta Technologies/Crownhill Associates Ltd ; Written by Les Johnson. June 2010 ;---------------------------------------------------------- ; #DEFINE CONFIG_REQ 1 #DEFINE DEBUG@REQ 1 LIST P = 18F2525, F = INHX32, W = 2, X = ON, R = DEC, MM = ON, N = 0, C = 255, T=ON PORTA EQU 0X0F80 PORTB EQU 0X0F81 PORTC EQU 0X0F82 PORTE EQU 0X0F84 LATA EQU 0X0F89 LATB EQU 0X0F8A LATC EQU 0X0F8B DDRA EQU 0X0F92 TRISA EQU 0X0F92 DDRB EQU 0X0F93 TRISB EQU 0X0F93 DDRC EQU 0X0F94 TRISC EQU 0X0F94 OSCTUNE EQU 0X0F9B PIE1 EQU 0X0F9D PIR1 EQU 0X0F9E IPR1 EQU 0X0F9F PIE2 EQU 0X0FA0 PIR2 EQU 0X0FA1 IPR2 EQU 0X0FA2 EECON1 EQU 0X0FA6 EECON2 EQU 0X0FA7 EEDATL EQU 0X0FA8 EEDATA EQU 0X0FA8 EEADR EQU 0X0FA9 EEADRH EQU 0X0FAA RCSTA EQU 0X0FAB TXSTA EQU 0X0FAC TXREG EQU 0X0FAD RCREG EQU 0X0FAE SPBRG EQU 0X0FAF SPBRGH EQU 0X0FB0 T3CON EQU 0X0FB1 TMR3L EQU 0X0FB2 TMR3LH EQU 0X0FB3 TMR3H EQU 0X0FB3 CMCON EQU 0X0FB4 CVRCON EQU 0X0FB5 BAUDCON EQU 0X0FB8 BAUDCTL EQU 0X0FB8 CCP2CON EQU 0X0FBA CCPR2 EQU 0X0FBB CCPR2L EQU 0X0FBB CCPR2LH EQU 0X0FBC CCPR2H EQU 0X0FBC CCP1CON EQU 0X0FBD CCPR1 EQU 0X0FBE CCPR1L EQU 0X0FBE CCPR1LH EQU 0X0FBF CCPR1H EQU 0X0FBF ADCON2 EQU 0X0FC0 ADCON1 EQU 0X0FC1 ADCON0 EQU 0X0FC2 ADRES EQU 0X0FC3 ADRESL EQU 0X0FC3 ADRESLH EQU 0X0FC4 ADRESH EQU 0X0FC4 SSPCON2 EQU 0X0FC5 SSPCON1 EQU 0X0FC6 SSPSTAT EQU 0X0FC7 SSPADD EQU 0X0FC8 SSPBUF EQU 0X0FC9 T2CON EQU 0X0FCA PR2 EQU 0X0FCB TMR2 EQU 0X0FCC T1CON EQU 0X0FCD TMR1L EQU 0X0FCE TMR1LH EQU 0X0FCF TMR1H EQU 0X0FCF RCON EQU 0X0FD0 WDTCON EQU 0X0FD1 HLVDCON EQU 0X0FD2 LVDCON EQU 0X0FD2 OSCCON EQU 0X0FD3 DEBUG EQU 0X0FD4 T0CON EQU 0X0FD5 TMR0L EQU 0X0FD6 TMR0LH EQU 0X0FD7 TMR0H EQU 0X0FD7 STATUS EQU 0X0FD8 FSR2L EQU 0X0FD9 FSR2LH EQU 0X0FDA FSR2H EQU 0X0FDA PLUSW2 EQU 0X0FDB PREINC2 EQU 0X0FDC POSTDEC2 EQU 0X0FDD POSTINC2 EQU 0X0FDE INDF2 EQU 0X0FDF BSR EQU 0X0FE0 FSR1L EQU 0X0FE1 FSR1LH EQU 0X0FE2 FSR1H EQU 0X0FE2 PLUSW1 EQU 0X0FE3 PREINC1 EQU 0X0FE4 POSTDEC1 EQU 0X0FE5 POSTINC1 EQU 0X0FE6 INDF1 EQU 0X0FE7 WREG EQU 0X0FE8 FSR0L EQU 0X0FE9 FSR0LH EQU 0X0FEA FSR0H EQU 0X0FEA PLUSW0 EQU 0X0FEB PREINC0 EQU 0X0FEC POSTDEC0 EQU 0X0FED POSTINC0 EQU 0X0FEE INDF0 EQU 0X0FEF INTCON3 EQU 0X0FF0 INTCON2 EQU 0X0FF1 INTCON EQU 0X0FF2 PRODL EQU 0X0FF3 PRODLH EQU 0X0FF4 PRODH EQU 0X0FF4 TABLAT EQU 0X0FF5 TBLPTRL EQU 0X0FF6 TBLPTRLH EQU 0X0FF7 TBLPTRH EQU 0X0FF7 TBLPTRU EQU 0X0FF8 TBLPTRLHH EQU 0X0FF8 PC EQU 0X0FF9 PCL EQU 0X0FF9 PCLATH EQU 0X0FFA PCLATU EQU 0X0FFB STKPTR EQU 0X0FFC TOS EQU 0X0FFD TOSL EQU 0X0FFD TOSLH EQU 0X0FFE TOSH EQU 0X0FFE TOSU EQU 0X0FFF _I2C_SCL_PORT = TRISC _I2C_SCL_PIN = 3 _I2C_SDA_PORT = TRISC _I2C_SDA_PIN = 4 RA0=0 RA1=1 RA2=2 RA3=3 RA4=4 RA5=5 RA6=6 RA7=7 T0CKI=4 AN4=5 SS=5 NOT_SS=5 LVDIN=5 HLVDIN=5 RB0=0 RB1=1 RB2=2 RB3=3 RB4=4 RB5=5 RB6=6 RB7=7 INT0=0 INT1=1 INT2=2 CCP2_PORTB=3 KBI0=4 KBI1=5 KBI2=6 KBI3=7 AN12=0 AN10=1 AN8=2 AN9=3 AN11=4 PGM=5 PGC=6 PGD=7 RC0=0 RC1=1 RC2=2 RC3=3 RC4=4 RC5=5 RC6=6 RC7=7 T1OSO=0 T1OSI=1 CCP1=2 SCK=3 SDI=4 SDO=5 TX=6 RX=7 T13CKI=0 CCP2_PORTC=1 SCL=3 SDA=4 CK=6 T1CKI=0 RE3=3 MCLR=3 NOT_MCLR=3 VPP=3 LATA0=0 LATA1=1 LATA2=2 LATA3=3 LATA4=4 LATA5=5 LATA6=6 LATA7=7 LATB0=0 LATB1=1 LATB2=2 LATB3=3 LATB4=4 LATB5=5 LATB6=6 LATB7=7 LATC0=0 LATC1=1 LATC2=2 LATC3=3 LATC4=4 LATC5=5 LATC6=6 LATC7=7 TRISA0=0 TRISA1=1 TRISA2=2 TRISA3=3 TRISA4=4 TRISA5=5 TRISA6=6 TRISA7=7 TRISB0=0 TRISB1=1 TRISB2=2 TRISB3=3 TRISB4=4 TRISB5=5 TRISB6=6 TRISB7=7 TRISC0=0 TRISC1=1 TRISC2=2 TRISC3=3 TRISC4=4 TRISC5=5 TRISC6=6 TRISC7=7 TUN0=0 TUN1=1 TUN2=2 TUN3=3 TUN4=4 PLLEN=6 INTSRC=7 TMR1IE=0 TMR2IE=1 CCP1IE=2 SSPIE=3 TXIE=4 RCIE=5 ADIE=6 TMR1IF=0 TMR2IF=1 CCP1IF=2 SSPIF=3 TXIF=4 PP_TXIF=4 RCIF=5 PP_RCIF=5 ADIF=6 TMR1IP=0 TMR2IP=1 CCP1IP=2 SSPIP=3 TXIP=4 RCIP=5 ADIP=6 CCP2IE=0 TMR3IE=1 LVDIE=2 BCLIE=3 EEIE=4 CMIE=6 OSCFIE=7 HLVDIE=2 CCP2IF=0 TMR3IF=1 LVDIF=2 BCLIF=3 EEIF=4 CMIF=6 OSCFIF=7 HLVDIF=2 CCP2IP=0 TMR3IP=1 LVDIP=2 BCLIP=3 EEIP=4 CMIP=6 OSCFIP=7 HLVDIP=2 RD=0 PP_RD=0 WR=1 PP_WR=1 WREN=2 PP_WREN=2 WRERR=3 FREE=4 CFGS=6 EEPGD=7 PP_EEPGD=7 RX9D=0 OERR=1 PP_OERR=1 FERR=2 ADEN=3 CREN=4 PP_CREN=4 SREN=5 RX9=6 SPEN=7 ADDEN=3 TX9D=0 TRMT=1 BRGH=2 SENDB=3 SYNC=4 TXEN=5 TX9=6 CSRC=7 TMR3ON=0 TMR3CS=1 T3SYNC=2 T3CCP1=3 T3CKPS0=4 T3CKPS1=5 T3CCP2=6 RD16=7 NOT_T3SYNC=2 CM0=0 CM1=1 CM2=2 CIS=3 C1INV=4 C2INV=5 C1OUT=6 C2OUT=7 CVR0=0 CVR1=1 CVR2=2 CVR3=3 CVRSS=4 CVRR=5 CVROE=6 CVREN=7 ABDEN=0 WUE=1 BRG16=3 SCKP=4 RCIDL=6 ABDOVF=7 TXCKP=4 RXDTP=5 RCMT=6 CCP2M0=0 CCP2M1=1 CCP2M2=2 CCP2M3=3 CCP2Y=4 CCP2X=5 DC2B0=4 DC2B1=5 CCP1M0=0 CCP1M1=1 CCP1M2=2 CCP1M3=3 CCP1Y=4 CCP1X=5 DC1B0=4 DC1B1=5 ADCS0=0 ADCS1=1 ADCS2=2 ACQT0=3 ACQT1=4 ACQT2=5 ADFM=7 PCFG0=0 PCFG1=1 PCFG2=2 PCFG3=3 VCFG0=4 VCFG1=5 ADON=0 PP_ADON=0 GO=1 CHS0=2 CHS1=3 CHS2=4 CHS3=5 DONE=1 NOT_DONE=1 GO_DONE=1 PP_GO_DONE=1 SEN=0 PP_SEN=0 RSEN=1 PP_RSEN=1 PEN=2 PP_PEN=2 RCEN=3 PP_RCEN=3 ACKEN=4 PP_ACKEN=4 ACKDT=5 PP_ACKDT=5 ACKSTAT=6 GCEN=7 SSPM0=0 SSPM1=1 SSPM2=2 SSPM3=3 CKP=4 SSPEN=5 SSPOV=6 WCOL=7 BF=0 UA=1 R=2 S=3 P=4 D=5 CKE=6 SMP=7 NOT_W=2 NOT_A=5 R_W=2 PP_R_W=2 D_A=5 NOT_WRITE=2 NOT_ADDRESS=5 T2CKPS0=0 PP_T2CKPS0=0 T2CKPS1=1 PP_T2CKPS1=1 TMR2ON=2 PP_TMR2ON=2 T2OUTPS0=3 T2OUTPS1=4 T2OUTPS2=5 T2OUTPS3=6 TOUTPS0=3 TOUTPS1=4 TOUTPS2=5 TOUTPS3=6 TMR1ON=0 TMR1CS=1 T1SYNC=2 T1OSCEN=3 T1CKPS0=4 T1CKPS1=5 T1RUN=6 NOT_T1SYNC=2 BOR=0 POR=1 PD=2 TO=3 RI=4 SBOREN=6 IPEN=7 NOT_BOR=0 NOT_POR=1 NOT_PD=2 NOT_TO=3 NOT_RI=4 SWDTEN=0 SWDTE=0 LVDL0=0 LVDL1=1 LVDL2=2 LVDL3=3 LVDEN=4 IRVST=5 LVV0=0 LVV1=1 LVV2=2 LVV3=3 BGST=5 HLVDL0=0 HLVDL1=1 HLVDL2=2 HLVDL3=3 HLVDEN=4 VDIRMAG=7 IVRST=5 SCS0=0 SCS1=1 IOFS=2 OSTS=3 IRCF0=4 IRCF1=5 IRCF2=6 IDLEN=7 FLTS=2 T0PS0=0 T0PS1=1 T0PS2=2 PSA=3 T0SE=4 T0CS=5 T016BIT=6 TMR0ON=7 T08BIT=6 C=0 DC=1 Z=2 OV=3 N=4 INT1F=0 INT2F=1 INT1E=3 INT2E=4 INT1P=6 INT2P=7 INT1IF=0 INT2IF=1 INT1IE=3 INT2IE=4 INT1IP=6 INT2IP=7 RBIP=0 TMR0IP=2 INTEDG2=4 INTEDG1=5 INTEDG0=6 RBPU=7 NOT_RBPU=7 RBIF=0 INT0F=1 TMR0IF=2 RBIE=3 INT0E=4 TMR0IE=5 PEIE=6 GIE=7 INT0IF=1 T0IF=2 INT0IE=4 T0IE=5 GIEL=6 GIEH=7 STKPTR0=0 STKPTR1=1 STKPTR2=2 STKPTR3=3 STKPTR4=4 STKUNF=6 STKOVF=7 SP0=0 SP1=1 SP2=2 SP3=3 SP4=4 STKFUL=7 __MAXRAM 0X0FFF __BADRAM 0X0F83 __BADRAM 0X0F85-0X0F88 __BADRAM 0X0F8C-0X0F91 __BADRAM 0X0F95-0X0F9A __BADRAM 0X0F9C __BADRAM 0X0FA3-0X0FA5 __BADRAM 0X0FB6-0X0FB7 __BADRAM 0X0FB9 CONFIG1H EQU 0X300001 CONFIG2L EQU 0X300002 CONFIG2H EQU 0X300003 CONFIG3H EQU 0X300005 CONFIG4L EQU 0X300006 CONFIG5L EQU 0X300008 CONFIG5H EQU 0X300009 CONFIG6L EQU 0X30000A CONFIG6H EQU 0X30000B CONFIG7L EQU 0X30000C CONFIG7H EQU 0X30000D OSC_LP_1 EQU 0XF0 OSC_XT_1 EQU 0XF1 OSC_HS_1 EQU 0XF2 OSC_RC_1 EQU 0XF3 OSC_EC_1 EQU 0XF4 OSC_ECIO6_1 EQU 0XF5 OSC_HSPLL_1 EQU 0XF6 OSC_RCIO6_1 EQU 0XF7 OSC_INTIO67_1 EQU 0XF8 OSC_INTIO7_1 EQU 0XF9 FCMEN_OFF_1 EQU 0XBF FCMEN_ON_1 EQU 0XFF IESO_OFF_1 EQU 0X7F IESO_ON_1 EQU 0XFF PWRT_ON_2 EQU 0XFE PWRT_OFF_2 EQU 0XFF BOREN_OFF_2 EQU 0XF9 BOREN_ON_2 EQU 0XFB BOREN_NOSLP_2 EQU 0XFD BOREN_SBORDIS_2 EQU 0XFF BORV_0_2 EQU 0XE7 BORV_1_2 EQU 0XEF BORV_2_2 EQU 0XF7 BORV_3_2 EQU 0XFF WDT_OFF_2 EQU 0XFE WDT_ON_2 EQU 0XFF WDTPS_1_2 EQU 0XE1 WDTPS_2_2 EQU 0XE3 WDTPS_4_2 EQU 0XE5 WDTPS_8_2 EQU 0XE7 WDTPS_16_2 EQU 0XE9 WDTPS_32_2 EQU 0XEB WDTPS_64_2 EQU 0XED WDTPS_128_2 EQU 0XEF WDTPS_256_2 EQU 0XF1 WDTPS_512_2 EQU 0XF3 WDTPS_1024_2 EQU 0XF5 WDTPS_2048_2 EQU 0XF7 WDTPS_4096_2 EQU 0XF9 WDTPS_8192_2 EQU 0XFB WDTPS_16384_2 EQU 0XFD WDTPS_32768_2 EQU 0XFF MCLRE_OFF_3 EQU 0X7F MCLRE_ON_3 EQU 0XFF LPT1OSC_OFF_3 EQU 0XFB LPT1OSC_ON_3 EQU 0XFF PBADEN_OFF_3 EQU 0XFD PBADEN_ON_3 EQU 0XFF CCP2MX_PORTBE_3 EQU 0XFE CCP2MX_PORTC_3 EQU 0XFF STVREN_OFF_4 EQU 0XFE STVREN_ON_4 EQU 0XFF LVP_OFF_4 EQU 0XFB LVP_ON_4 EQU 0XFF XINST_OFF_4 EQU 0XBF XINST_ON_4 EQU 0XFF DEBUG_ON_4 EQU 0X7F DEBUG_OFF_4 EQU 0XFF CP0_ON_5 EQU 0XFE CP0_OFF_5 EQU 0XFF CP1_ON_5 EQU 0XFD CP1_OFF_5 EQU 0XFF CP2_ON_5 EQU 0XFB CP2_OFF_5 EQU 0XFF CPB_ON_5 EQU 0XBF CPB_OFF_5 EQU 0XFF CPD_ON_5 EQU 0X7F CPD_OFF_5 EQU 0XFF WRT0_ON_6 EQU 0XFE WRT0_OFF_6 EQU 0XFF WRT1_ON_6 EQU 0XFD WRT1_OFF_6 EQU 0XFF WRT2_ON_6 EQU 0XFB WRT2_OFF_6 EQU 0XFF WRTB_ON_6 EQU 0XBF WRTB_OFF_6 EQU 0XFF WRTC_ON_6 EQU 0XDF WRTC_OFF_6 EQU 0XFF WRTD_ON_6 EQU 0X7F WRTD_OFF_6 EQU 0XFF EBTR0_ON_7 EQU 0XFE EBTR0_OFF_7 EQU 0XFF EBTR1_ON_7 EQU 0XFD EBTR1_OFF_7 EQU 0XFF EBTR2_ON_7 EQU 0XFB EBTR2_OFF_7 EQU 0XFF EBTRB_ON_7 EQU 0XBF EBTRB_OFF_7 EQU 0XFF DEVID1 EQU 0X3FFFFE DEVID2 EQU 0X3FFFFF IDLOC0 EQU 0X200000 __IDLOC0 EQU 0X200000 IDLOC1 EQU 0X200001 __IDLOC1 EQU 0X200001 IDLOC2 EQU 0X200002 __IDLOC2 EQU 0X200002 IDLOC3 EQU 0X200003 __IDLOC3 EQU 0X200003 IDLOC4 EQU 0X200004 __IDLOC4 EQU 0X200004 IDLOC5 EQU 0X200005 __IDLOC5 EQU 0X200005 IDLOC6 EQU 0X200006 __IDLOC6 EQU 0X200006 IDLOC7 EQU 0X200007 __IDLOC7 EQU 0X200007 #DEFINE __18F2525 1 #DEFINE XTAL 40 #DEFINE _CORE 16 #DEFINE _MAXRAM 3673 #DEFINE _RAM_END 3968 #DEFINE _MAXMEM 49152 #DEFINE _ADC 10 #DEFINE _ADC_RES 10 #DEFINE _EEPROM 1024 #DEFINE RAM_BANKS 15 #DEFINE _USART 1 #DEFINE _USB 0 #DEFINE _USB#RAM_START 0 #DEFINE _FLASH 1 #DEFINE _CWRITE_BLOCK 64 #DEFINE BANK0_START 128 #DEFINE BANK0_END 255 #DEFINE BANK1_START 256 #DEFINE BANK1_END 511 #DEFINE BANK2_START 512 #DEFINE BANK2_END 767 #DEFINE BANK3_START 768 #DEFINE BANK3_END 1023 #DEFINE BANK4_START 1024 #DEFINE BANK4_END 1279 #DEFINE BANK5_START 1280 #DEFINE BANK5_END 1535 #DEFINE BANK6_START 1536 #DEFINE BANK6_END 1791 #DEFINE BANK7_START 1792 #DEFINE BANK7_END 2047 #DEFINE BANK8_START 2048 #DEFINE BANK8_END 2303 #DEFINE BANK9_START 2304 #DEFINE BANK9_END 2559 #DEFINE BANK10_START 2560 #DEFINE BANK10_END 2815 #DEFINE BANK11_START 2816 #DEFINE BANK11_END 3071 #DEFINE BANK12_START 3072 #DEFINE BANK12_END 3327 #DEFINE BANK13_START 3328 #DEFINE BANK13_END 3583 #DEFINE BANK14_START 3584 #DEFINE BANK14_END 3839 #DEFINE BANKA_START 0 #DEFINE BANKA_END 127 #DEFINE _SYSTEM_VARIABLE_COUNT 48 #DEFINE LCD#TYPE 0 #DEFINE __HIGH_INTERRUPTS_ENABLED 1 #DEFINE __LOW_INTERRUPTS_ENABLED 1 #DEFINE _HIGH_INT_SUB_ADDRESS 3689 #DEFINE _HIGH_INT_SUB_AMOUNT 12 #DEFINE _LOW_INT_SUB_ADDRESS 3674 #DEFINE _LOW_INT_SUB_AMOUNT 15 #DEFINE CLRW CLRF WREG #DEFINE NEGW NEGF WREG #DEFINE SKPC BTFSS STATUS,0 #DEFINE SKPNC BTFSC STATUS,0 #DEFINE CLRC BCF STATUS,0 #DEFINE SETC BSF STATUS,0 #DEFINE SKPZ BTFSS STATUS,2 #DEFINE SKPNZ BTFSC STATUS,2 #DEFINE CLRZ BCF STATUS,2 #DEFINE SETZ BSF STATUS,2 #DEFINE INIT_USART_INTERRUPT#REQ 1 #DEFINE CLEAR_SERIAL_BUFFER#REQ 1 GEN = 0 PBP#VAR0 = 1 PBP#VAR0H = 2 PBP#VAR1 = 3 PBP#VAR1H = 4 PBP#VAR2 = 5 PP0 = 6 PP0H = 7 PP1 = 8 PP1H = 9 PP2 = 10 PP2H = 11 PP3 = 12 PP3H = 13 PP4H = 14 CNT = 15 CNTH = 16 CNTHH = 17 CNTHHH = 18 BYTEIN = 19 _I = 20 STATUSBYTE = 21 NOTEUIT = 22 RELEASE = 23 NOTEAAN = 24 VELO = 25 OLDVELO = 26 NOTEPRES = 27 PRES = 28 CTRL = 29 VALUE = 30 PROG = 31 VELTIM = 32 VELTIMH = 33 VELTIMHH = 34 VELTIMHHH = 35 VELFLAGS = 36 VELFLAGSH = 37 CC66 = 38 ST = 39 B1 = 40 B2 = 41 LITES = 42 PW1 = 43 USART_FSR1_SAVE = 44 USART_FSR1_SAVEH = 45 INDEXIN = 46 INDEXOUT = 47 TASK_RSI = 48 TASK_RSIH = 49 VARIABLE TASK_RSI#0=48,TASK_RSI#0H=49,TASK_RSI#1=50,TASK_RSI#1H=51 VARIABLE TASK_RSI#2=52,TASK_RSI#2H=53 VELMSB = 54 VELMSBH = 55 VARIABLE VELMSB#0=54,VELMSB#0H=55,VELMSB#1=56,VELMSB#1H=57 VARIABLE VELMSB#2=58,VELMSB#2H=59 VELLSB = 60 VELLSBH = 61 VARIABLE VELLSB#0=60,VELLSB#0H=61,VELLSB#1=62,VELLSB#1H=63 VARIABLE VELLSB#2=64,VELLSB#2H=65 DUR = 66 DURH = 67 VARIABLE DUR#0=66,DUR#0H=67,DUR#1=68,DUR#1H=69 VARIABLE DUR#2=70,DUR#2H=71,DUR#3=72,DUR#3H=73 VARIABLE DUR#4=74,DUR#4H=75,DUR#5=76,DUR#5H=77 VARIABLE DUR#6=78,DUR#6H=79,DUR#7=80,DUR#7H=81 VARIABLE DUR#8=82,DUR#8H=83,DUR#9=84,DUR#9H=85 VARIABLE DUR#10=86,DUR#10H=87,DUR#11=88,DUR#11H=89 VARIABLE DUR#12=90,DUR#12H=91,DUR#13=92,DUR#13H=93 VARIABLE DUR#14=94,DUR#14H=95,DUR#15=96,DUR#15H=97 VARIABLE DUR#16=98,DUR#16H=99,DUR#17=100,DUR#17H=101 VARIABLE DUR#18=102,DUR#18H=103,DUR#19=104,DUR#19H=105 VARIABLE DUR#20=106,DUR#20H=107,DUR#21=108,DUR#21H=109 VARIABLE DUR#22=110,DUR#22H=111,DUR#23=112,DUR#23H=113 VARIABLE DUR#24=114,DUR#24H=115,DUR#25=116,DUR#25H=117 VARIABLE DUR#26=118,DUR#26H=119,DUR#27=120,DUR#27H=121 VARIABLE DUR#28=122,DUR#28H=123,DUR#29=124,DUR#29H=125 VARIABLE DUR#30=126,DUR#30H=127,DUR#31=128,DUR#31H=129 VARIABLE DUR#32=130,DUR#32H=131,DUR#33=132,DUR#33H=133 VARIABLE DUR#34=134,DUR#34H=135,DUR#35=136,DUR#35H=137 VARIABLE DUR#36=138,DUR#36H=139,DUR#37=140,DUR#37H=141 VARIABLE DUR#38=142,DUR#38H=143,DUR#39=144,DUR#39H=145 VARIABLE DUR#40=146,DUR#40H=147,DUR#41=148,DUR#41H=149 VARIABLE DUR#42=150,DUR#42H=151,DUR#43=152,DUR#43H=153 VARIABLE DUR#44=154,DUR#44H=155,DUR#45=156,DUR#45H=157 VARIABLE DUR#46=158,DUR#46H=159,DUR#47=160,DUR#47H=161 VARIABLE DUR#48=162,DUR#48H=163,DUR#49=164,DUR#49H=165 VARIABLE DUR#50=166,DUR#50H=167,DUR#51=168,DUR#51H=169 VARIABLE DUR#52=170,DUR#52H=171,DUR#53=172,DUR#53H=173 VARIABLE DUR#54=174,DUR#54H=175,DUR#55=176,DUR#55H=177 VARIABLE DUR#56=178,DUR#56H=179,DUR#57=180,DUR#57H=181 VARIABLE DUR#58=182,DUR#58H=183,DUR#59=184,DUR#59H=185 VARIABLE DUR#60=186,DUR#60H=187,DUR#61=188,DUR#61H=189 VARIABLE DUR#62=190,DUR#62H=191,DUR#63=192,DUR#63H=193 VARIABLE DUR#64=194,DUR#64H=195,DUR#65=196,DUR#65H=197 VARIABLE DUR#66=198,DUR#66H=199,DUR#67=200,DUR#67H=201 VARIABLE DUR#68=202,DUR#68H=203,DUR#69=204,DUR#69H=205 VARIABLE DUR#70=206,DUR#70H=207,DUR#71=208,DUR#71H=209 VARIABLE DUR#72=210,DUR#72H=211,DUR#73=212,DUR#73H=213 VARIABLE DUR#74=214,DUR#74H=215,DUR#75=216,DUR#75H=217 VARIABLE DUR#76=218,DUR#76H=219,DUR#77=220,DUR#77H=221 VARIABLE DUR#78=222,DUR#78H=223,DUR#79=224,DUR#79H=225 VARIABLE DUR#80=226,DUR#80H=227,DUR#81=228,DUR#81H=229 VARIABLE DUR#82=230,DUR#82H=231,DUR#83=232,DUR#83H=233 VARIABLE DUR#84=234,DUR#84H=235,DUR#85=236,DUR#85H=237 VARIABLE DUR#86=238,DUR#86H=239,DUR#87=240,DUR#87H=241 VARIABLE DUR#88=242,DUR#88H=243,DUR#89=244,DUR#89H=245 VARIABLE DUR#90=246,DUR#90H=247,DUR#91=248,DUR#91H=249 VARIABLE DUR#92=250,DUR#92H=251,DUR#93=252,DUR#93H=253 VARIABLE DUR#94=254,DUR#94H=255,DUR#95=256,DUR#95H=257 VARIABLE DUR#96=258,DUR#96H=259,DUR#97=260,DUR#97H=261 VARIABLE DUR#98=262,DUR#98H=263,DUR#99=264,DUR#99H=265 VARIABLE DUR#100=266,DUR#100H=267,DUR#101=268,DUR#101H=269 VARIABLE DUR#102=270,DUR#102H=271,DUR#103=272,DUR#103H=273 VARIABLE DUR#104=274,DUR#104H=275,DUR#105=276,DUR#105H=277 VARIABLE DUR#106=278,DUR#106H=279,DUR#107=280,DUR#107H=281 VARIABLE DUR#108=282,DUR#108H=283,DUR#109=284,DUR#109H=285 VARIABLE DUR#110=286,DUR#110H=287,DUR#111=288,DUR#111H=289 VARIABLE DUR#112=290,DUR#112H=291,DUR#113=292,DUR#113H=293 VARIABLE DUR#114=294,DUR#114H=295,DUR#115=296,DUR#115H=297 VARIABLE DUR#116=298,DUR#116H=299,DUR#117=300,DUR#117H=301 VARIABLE DUR#118=302,DUR#118H=303,DUR#119=304,DUR#119H=305 VARIABLE DUR#120=306,DUR#120H=307,DUR#121=308,DUR#121H=309 VARIABLE DUR#122=310,DUR#122H=311,DUR#123=312,DUR#123H=313 VARIABLE DUR#124=314,DUR#124H=315,DUR#125=316,DUR#125H=317 VARIABLE DUR#126=318,DUR#126H=319,DUR#127=320,DUR#127H=321 BRAK = 322 BRAKH = 323 VARIABLE BRAK#0=322,BRAK#0H=323,BRAK#1=324,BRAK#1H=325 VARIABLE BRAK#2=326,BRAK#2H=327,BRAK#3=328,BRAK#3H=329 VARIABLE BRAK#4=330,BRAK#4H=331,BRAK#5=332,BRAK#5H=333 VARIABLE BRAK#6=334,BRAK#6H=335,BRAK#7=336,BRAK#7H=337 VARIABLE BRAK#8=338,BRAK#8H=339,BRAK#9=340,BRAK#9H=341 VARIABLE BRAK#10=342,BRAK#10H=343,BRAK#11=344,BRAK#11H=345 VARIABLE BRAK#12=346,BRAK#12H=347,BRAK#13=348,BRAK#13H=349 VARIABLE BRAK#14=350,BRAK#14H=351,BRAK#15=352,BRAK#15H=353 VARIABLE BRAK#16=354,BRAK#16H=355,BRAK#17=356,BRAK#17H=357 VARIABLE BRAK#18=358,BRAK#18H=359,BRAK#19=360,BRAK#19H=361 VARIABLE BRAK#20=362,BRAK#20H=363,BRAK#21=364,BRAK#21H=365 VARIABLE BRAK#22=366,BRAK#22H=367,BRAK#23=368,BRAK#23H=369 VARIABLE BRAK#24=370,BRAK#24H=371,BRAK#25=372,BRAK#25H=373 VARIABLE BRAK#26=374,BRAK#26H=375,BRAK#27=376,BRAK#27H=377 VARIABLE BRAK#28=378,BRAK#28H=379,BRAK#29=380,BRAK#29H=381 VARIABLE BRAK#30=382,BRAK#30H=383,BRAK#31=384,BRAK#31H=385 VARIABLE BRAK#32=386,BRAK#32H=387,BRAK#33=388,BRAK#33H=389 VARIABLE BRAK#34=390,BRAK#34H=391,BRAK#35=392,BRAK#35H=393 VARIABLE BRAK#36=394,BRAK#36H=395,BRAK#37=396,BRAK#37H=397 VARIABLE BRAK#38=398,BRAK#38H=399,BRAK#39=400,BRAK#39H=401 VARIABLE BRAK#40=402,BRAK#40H=403,BRAK#41=404,BRAK#41H=405 VARIABLE BRAK#42=406,BRAK#42H=407,BRAK#43=408,BRAK#43H=409 VARIABLE BRAK#44=410,BRAK#44H=411,BRAK#45=412,BRAK#45H=413 VARIABLE BRAK#46=414,BRAK#46H=415,BRAK#47=416,BRAK#47H=417 VARIABLE BRAK#48=418,BRAK#48H=419,BRAK#49=420,BRAK#49H=421 VARIABLE BRAK#50=422,BRAK#50H=423,BRAK#51=424,BRAK#51H=425 VARIABLE BRAK#52=426,BRAK#52H=427,BRAK#53=428,BRAK#53H=429 VARIABLE BRAK#54=430,BRAK#54H=431,BRAK#55=432,BRAK#55H=433 VARIABLE BRAK#56=434,BRAK#56H=435,BRAK#57=436,BRAK#57H=437 VARIABLE BRAK#58=438,BRAK#58H=439,BRAK#59=440,BRAK#59H=441 VARIABLE BRAK#60=442,BRAK#60H=443,BRAK#61=444,BRAK#61H=445 VARIABLE BRAK#62=446,BRAK#62H=447,BRAK#63=448,BRAK#63H=449 VARIABLE BRAK#64=450,BRAK#64H=451,BRAK#65=452,BRAK#65H=453 VARIABLE BRAK#66=454,BRAK#66H=455,BRAK#67=456,BRAK#67H=457 VARIABLE BRAK#68=458,BRAK#68H=459,BRAK#69=460,BRAK#69H=461 VARIABLE BRAK#70=462,BRAK#70H=463,BRAK#71=464,BRAK#71H=465 VARIABLE BRAK#72=466,BRAK#72H=467,BRAK#73=468,BRAK#73H=469 VARIABLE BRAK#74=470,BRAK#74H=471,BRAK#75=472,BRAK#75H=473 VARIABLE BRAK#76=474,BRAK#76H=475,BRAK#77=476,BRAK#77H=477 VARIABLE BRAK#78=478,BRAK#78H=479,BRAK#79=480,BRAK#79H=481 VARIABLE BRAK#80=482,BRAK#80H=483,BRAK#81=484,BRAK#81H=485 VARIABLE BRAK#82=486,BRAK#82H=487,BRAK#83=488,BRAK#83H=489 VARIABLE BRAK#84=490,BRAK#84H=491,BRAK#85=492,BRAK#85H=493 VARIABLE BRAK#86=494,BRAK#86H=495,BRAK#87=496,BRAK#87H=497 VARIABLE BRAK#88=498,BRAK#88H=499,BRAK#89=500,BRAK#89H=501 VARIABLE BRAK#90=502,BRAK#90H=503,BRAK#91=504,BRAK#91H=505 VARIABLE BRAK#92=506,BRAK#92H=507,BRAK#93=508,BRAK#93H=509 VARIABLE BRAK#94=510,BRAK#94H=511,BRAK#95=512,BRAK#95H=513 VARIABLE BRAK#96=514,BRAK#96H=515,BRAK#97=516,BRAK#97H=517 VARIABLE BRAK#98=518,BRAK#98H=519,BRAK#99=520,BRAK#99H=521 VARIABLE BRAK#100=522,BRAK#100H=523,BRAK#101=524,BRAK#101H=525 VARIABLE BRAK#102=526,BRAK#102H=527,BRAK#103=528,BRAK#103H=529 VARIABLE BRAK#104=530,BRAK#104H=531,BRAK#105=532,BRAK#105H=533 VARIABLE BRAK#106=534,BRAK#106H=535,BRAK#107=536,BRAK#107H=537 VARIABLE BRAK#108=538,BRAK#108H=539,BRAK#109=540,BRAK#109H=541 VARIABLE BRAK#110=542,BRAK#110H=543,BRAK#111=544,BRAK#111H=545 VARIABLE BRAK#112=546,BRAK#112H=547,BRAK#113=548,BRAK#113H=549 VARIABLE BRAK#114=550,BRAK#114H=551,BRAK#115=552,BRAK#115H=553 VARIABLE BRAK#116=554,BRAK#116H=555,BRAK#117=556,BRAK#117H=557 VARIABLE BRAK#118=558,BRAK#118H=559,BRAK#119=560,BRAK#119H=561 VARIABLE BRAK#120=562,BRAK#120H=563,BRAK#121=564,BRAK#121H=565 VARIABLE BRAK#122=566,BRAK#122H=567,BRAK#123=568,BRAK#123H=569 VARIABLE BRAK#124=570,BRAK#124H=571,BRAK#125=572,BRAK#125H=573 VARIABLE BRAK#126=574,BRAK#126H=575,BRAK#127=576,BRAK#127H=577 RINGBUFFER = 3712 VARIABLE RINGBUFFER#0=3712,RINGBUFFER#1=3713,RINGBUFFER#2=3714,RINGBUFFER#3=3715 VARIABLE RINGBUFFER#4=3716,RINGBUFFER#5=3717,RINGBUFFER#6=3718,RINGBUFFER#7=3719 VARIABLE RINGBUFFER#8=3720,RINGBUFFER#9=3721,RINGBUFFER#10=3722,RINGBUFFER#11=3723 VARIABLE RINGBUFFER#12=3724,RINGBUFFER#13=3725,RINGBUFFER#14=3726,RINGBUFFER#15=3727 VARIABLE RINGBUFFER#16=3728,RINGBUFFER#17=3729,RINGBUFFER#18=3730,RINGBUFFER#19=3731 VARIABLE RINGBUFFER#20=3732,RINGBUFFER#21=3733,RINGBUFFER#22=3734,RINGBUFFER#23=3735 VARIABLE RINGBUFFER#24=3736,RINGBUFFER#25=3737,RINGBUFFER#26=3738,RINGBUFFER#27=3739 VARIABLE RINGBUFFER#28=3740,RINGBUFFER#29=3741,RINGBUFFER#30=3742,RINGBUFFER#31=3743 VARIABLE RINGBUFFER#32=3744,RINGBUFFER#33=3745,RINGBUFFER#34=3746,RINGBUFFER#35=3747 VARIABLE RINGBUFFER#36=3748,RINGBUFFER#37=3749,RINGBUFFER#38=3750,RINGBUFFER#39=3751 VARIABLE RINGBUFFER#40=3752,RINGBUFFER#41=3753,RINGBUFFER#42=3754,RINGBUFFER#43=3755 VARIABLE RINGBUFFER#44=3756,RINGBUFFER#45=3757,RINGBUFFER#46=3758,RINGBUFFER#47=3759 VARIABLE RINGBUFFER#48=3760,RINGBUFFER#49=3761,RINGBUFFER#50=3762,RINGBUFFER#51=3763 VARIABLE RINGBUFFER#52=3764,RINGBUFFER#53=3765,RINGBUFFER#54=3766,RINGBUFFER#55=3767 VARIABLE RINGBUFFER#56=3768,RINGBUFFER#57=3769,RINGBUFFER#58=3770,RINGBUFFER#59=3771 VARIABLE RINGBUFFER#60=3772,RINGBUFFER#61=3773,RINGBUFFER#62=3774,RINGBUFFER#63=3775 VARIABLE RINGBUFFER#64=3776,RINGBUFFER#65=3777,RINGBUFFER#66=3778,RINGBUFFER#67=3779 VARIABLE RINGBUFFER#68=3780,RINGBUFFER#69=3781,RINGBUFFER#70=3782,RINGBUFFER#71=3783 VARIABLE RINGBUFFER#72=3784,RINGBUFFER#73=3785,RINGBUFFER#74=3786,RINGBUFFER#75=3787 VARIABLE RINGBUFFER#76=3788,RINGBUFFER#77=3789,RINGBUFFER#78=3790,RINGBUFFER#79=3791 VARIABLE RINGBUFFER#80=3792,RINGBUFFER#81=3793,RINGBUFFER#82=3794,RINGBUFFER#83=3795 VARIABLE RINGBUFFER#84=3796,RINGBUFFER#85=3797,RINGBUFFER#86=3798,RINGBUFFER#87=3799 VARIABLE RINGBUFFER#88=3800,RINGBUFFER#89=3801,RINGBUFFER#90=3802,RINGBUFFER#91=3803 VARIABLE RINGBUFFER#92=3804,RINGBUFFER#93=3805,RINGBUFFER#94=3806,RINGBUFFER#95=3807 VARIABLE RINGBUFFER#96=3808,RINGBUFFER#97=3809,RINGBUFFER#98=3810,RINGBUFFER#99=3811 VARIABLE RINGBUFFER#100=3812,RINGBUFFER#101=3813,RINGBUFFER#102=3814,RINGBUFFER#103=3815 VARIABLE RINGBUFFER#104=3816,RINGBUFFER#105=3817,RINGBUFFER#106=3818,RINGBUFFER#107=3819 VARIABLE RINGBUFFER#108=3820,RINGBUFFER#109=3821,RINGBUFFER#110=3822,RINGBUFFER#111=3823 VARIABLE RINGBUFFER#112=3824,RINGBUFFER#113=3825,RINGBUFFER#114=3826,RINGBUFFER#115=3827 VARIABLE RINGBUFFER#116=3828,RINGBUFFER#117=3829,RINGBUFFER#118=3830,RINGBUFFER#119=3831 VARIABLE RINGBUFFER#120=3832,RINGBUFFER#121=3833,RINGBUFFER#122=3834,RINGBUFFER#123=3835 VARIABLE RINGBUFFER#124=3836,RINGBUFFER#125=3837,RINGBUFFER#126=3838,RINGBUFFER#127=3839 VARIABLE RINGBUFFER#128=3840,RINGBUFFER#129=3841,RINGBUFFER#130=3842,RINGBUFFER#131=3843 VARIABLE RINGBUFFER#132=3844,RINGBUFFER#133=3845,RINGBUFFER#134=3846,RINGBUFFER#135=3847 VARIABLE RINGBUFFER#136=3848,RINGBUFFER#137=3849,RINGBUFFER#138=3850,RINGBUFFER#139=3851 VARIABLE RINGBUFFER#140=3852,RINGBUFFER#141=3853,RINGBUFFER#142=3854,RINGBUFFER#143=3855 VARIABLE RINGBUFFER#144=3856,RINGBUFFER#145=3857,RINGBUFFER#146=3858,RINGBUFFER#147=3859 VARIABLE RINGBUFFER#148=3860,RINGBUFFER#149=3861,RINGBUFFER#150=3862,RINGBUFFER#151=3863 VARIABLE RINGBUFFER#152=3864,RINGBUFFER#153=3865,RINGBUFFER#154=3866,RINGBUFFER#155=3867 VARIABLE RINGBUFFER#156=3868,RINGBUFFER#157=3869,RINGBUFFER#158=3870,RINGBUFFER#159=3871 VARIABLE RINGBUFFER#160=3872,RINGBUFFER#161=3873,RINGBUFFER#162=3874,RINGBUFFER#163=3875 VARIABLE RINGBUFFER#164=3876,RINGBUFFER#165=3877,RINGBUFFER#166=3878,RINGBUFFER#167=3879 VARIABLE RINGBUFFER#168=3880,RINGBUFFER#169=3881,RINGBUFFER#170=3882,RINGBUFFER#171=3883 VARIABLE RINGBUFFER#172=3884,RINGBUFFER#173=3885,RINGBUFFER#174=3886,RINGBUFFER#175=3887 VARIABLE RINGBUFFER#176=3888,RINGBUFFER#177=3889,RINGBUFFER#178=3890,RINGBUFFER#179=3891 VARIABLE RINGBUFFER#180=3892,RINGBUFFER#181=3893,RINGBUFFER#182=3894,RINGBUFFER#183=3895 VARIABLE RINGBUFFER#184=3896,RINGBUFFER#185=3897,RINGBUFFER#186=3898,RINGBUFFER#187=3899 VARIABLE RINGBUFFER#188=3900,RINGBUFFER#189=3901,RINGBUFFER#190=3902,RINGBUFFER#191=3903 VARIABLE RINGBUFFER#192=3904,RINGBUFFER#193=3905,RINGBUFFER#194=3906,RINGBUFFER#195=3907 VARIABLE RINGBUFFER#196=3908,RINGBUFFER#197=3909,RINGBUFFER#198=3910,RINGBUFFER#199=3911 VARIABLE RINGBUFFER#200=3912,RINGBUFFER#201=3913,RINGBUFFER#202=3914,RINGBUFFER#203=3915 VARIABLE RINGBUFFER#204=3916,RINGBUFFER#205=3917,RINGBUFFER#206=3918,RINGBUFFER#207=3919 VARIABLE RINGBUFFER#208=3920,RINGBUFFER#209=3921,RINGBUFFER#210=3922,RINGBUFFER#211=3923 VARIABLE RINGBUFFER#212=3924,RINGBUFFER#213=3925,RINGBUFFER#214=3926,RINGBUFFER#215=3927 VARIABLE RINGBUFFER#216=3928,RINGBUFFER#217=3929,RINGBUFFER#218=3930,RINGBUFFER#219=3931 VARIABLE RINGBUFFER#220=3932,RINGBUFFER#221=3933,RINGBUFFER#222=3934,RINGBUFFER#223=3935 VARIABLE RINGBUFFER#224=3936,RINGBUFFER#225=3937,RINGBUFFER#226=3938,RINGBUFFER#227=3939 VARIABLE RINGBUFFER#228=3940,RINGBUFFER#229=3941,RINGBUFFER#230=3942,RINGBUFFER#231=3943 VARIABLE RINGBUFFER#232=3944,RINGBUFFER#233=3945,RINGBUFFER#234=3946,RINGBUFFER#235=3947 VARIABLE RINGBUFFER#236=3948,RINGBUFFER#237=3949,RINGBUFFER#238=3950,RINGBUFFER#239=3951 VARIABLE RINGBUFFER#240=3952,RINGBUFFER#241=3953,RINGBUFFER#242=3954,RINGBUFFER#243=3955 VARIABLE RINGBUFFER#244=3956,RINGBUFFER#245=3957,RINGBUFFER#246=3958,RINGBUFFER#247=3959 VARIABLE RINGBUFFER#248=3960,RINGBUFFER#249=3961,RINGBUFFER#250=3962,RINGBUFFER#251=3963 VARIABLE RINGBUFFER#252=3964,RINGBUFFER#253=3965,RINGBUFFER#254=3966,RINGBUFFER#255=3967 #DEFINE CNTHW CNTHH #DEFINE CNTHWH CNTHHH #DEFINE CNTLW TMR0L #DEFINE CNTLWH TMR0LH #DEFINE STBIT BYTEIN,7 #DEFINE VELFLAGS0 VELFLAGS #DEFINE POWERON CC66,0 #DEFINE FSR0SAVEINT PP0 #DEFINE FSR0SAVEINTH PP0H #DEFINE USART_FSR0_SAVE FSR0SAVEINT #DEFINE USART_FSR0_SAVEH FSR0SAVEINTH #DEFINE USART_FSR0 FSR0L #DEFINE USART_FSR0H FSR0LH #DEFINE USART_FSR1 FSR1L #DEFINE USART_FSR1H FSR1LH #DEFINE __OPTIMISER_LEVEL 3 #DEFINE __XTAL 40 #DEFINE PWMMINF 2442 #DEFINE PWMMINFH 9 #DEFINE MIDICHANNEL 13 #DEFINE NOTEOFF_STATUS 141 #DEFINE NOTEON_STATUS 157 #DEFINE KEYPRES_STATUS 173 #DEFINE CONTROL_STATUS 189 #DEFINE PROGCHANGE_STATUS 205 #DEFINE AFTERTOUCH_STATUS 221 #DEFINE PITCHBEND_STATUS 237 #DEFINE NRTASKS 3 #DEFINE FPWM 9768 #DEFINE FPWMH 38 #DEFINE __HSERIAL_BAUD 31250 #DEFINE __HSERIAL_TXSTA 36 #DEFINE __START_OF_RESERVE_RAM 3712 #DEFINE __RESERVE_RAM_SIZE 256 HSERIAL_SPBRG = 79 HSERIAL_TXSTA = 36 HSERIAL_RCSTA = 144 HSERIAL_BAUD = 31250 PROTON#CODE#START ORG 0X000000 GOTO PROTON#MAIN#START ORG 0X000008 BRA HIGH_PRIOR_INTERRUPT ORG 0X000018 BRA LOW_PRIOR_INTERRUPT HRSIN#REQ = 1 HRSINX#REQ = 1 HRSIN#CLROERR = 1 H@PWM MOVWF 14 MOVLW 150 MOVWF 6 MOVLW 152 MOVWF 7 RCALL D@VD BTFSC 4056,2 BCF 4042,PP_T2CKPS0 BTFSS 4056,2 BSF 4042,PP_T2CKPS0 ADDLW 252 BTFSS 4056,0 BCF 4042,PP_T2CKPS1 BTFSC 4056,0 BSF 4042,PP_T2CKPS1 MOVLW 128 MOVWF 6 MOVLW 150 MOVWF 7 MOVLW 152 MOVWF 10 CLRF 11 BTFSC 4042,PP_T2CKPS0 RCALL HPW@2S BTFSC 4042,PP_T2CKPS1 RCALL HPW@2S RCALL D@VD2 DECF 6,W MOVWF 4043 MOVFF 6,8 MOVFF 7,9 MOVF 0,W MOVWF 12 MOVWF 13 INCFSZ 0,W CLRF 13 RCALL M@PY MOVF 11,W DECFSZ 14,F BRA HPW@SK1 MOVWF 4030 MOVLW 12 MOVWF 4029 BTFSC 10,7 BSF 4029,5 BTFSC 10,6 BSF 4029,4 BCF TRISB,2 HPWM@FIN BSF 4042,PP_TMR2ON RETURN HPW@SK1 MOVWF 4027 MOVLW 12 MOVWF 4026 BTFSC 10,7 BSF 4026,5 BTFSC 10,6 BSF 4026,4 BCF TRISC,1 BRA HPWM@FIN HPW@2S RCALL HPW@2L HPW@2L BCF 4056,0 RRCF 10,F RRCF 7,F RRCF 6,F RETURN DL@MS CLRF 9 DLY@W MOVWF 8 DLY@P MOVLW 255 ADDWF 8,F ADDWFC 9,F BRA $ + 2 BTFSS 4056,0 RETURN MOVLW 3 MOVWF 7 MOVLW 231 RCALL DLUS@W BRA DLY@P DL@US CLRF 7 DLUS@W ADDLW 254 MOVWF 6 CLRF 4072 SUBWFB 7,F BTFSS 4056,0 RETURN NOP DECF 6,F BRA $ + 2 BRA $ - 14 D@VD CLRF 11 CLRF 10 D@VD2 MOVLW 16 MOVWF 4083 DV@LP RLCF 7,W RLCF 10,F RLCF 11,F MOVF 8,W SUBWF 10,W MOVF 9,W SUBWFB 11,W BNC D@K MOVF 8,W SUBWF 10,F MOVF 9,W SUBWFB 11,F BSF 4056,0 D@K RLCF 6,F RLCF 7,F DECFSZ 4083,F BRA DV@LP MOVF 6,W RETURN M@PY MOVF 8,W MULWF 12 MOVFF 4083,10 MOVFF 4084,11 MOVF 9,W MULWF 12 MOVF 4083,W ADDWF 11,F MOVF 8,W MULWF 13 MOVF 4083,W ADDWF 11,F MOVF 10,W RETURN PROTON#MAIN#START CLRF 4088 MOVLW 79 MOVWF 4015 MOVLW 36 MOVWF 4012 MOVLW 144 MOVWF 4011 MOVLB 0 F2_SOF EQU $ ; PROPELLER3.PRP F2_EOF EQU $ ; PROPELLER3.PRP F1_SOF EQU $ ; PROPELLER3.BAS F3_SOF EQU $ ; 18F2525.INC F3_EOF EQU $ ; 18F2525.INC F1_000045 EQU $ ; IN [PROPELLER3.BAS] CLEAR SSPCON1.5 BCF SSPCON1,5,0 F1_000046 EQU $ ; IN [PROPELLER3.BAS] TRISA = %01000111 MOVLW 71 MOVWF TRISA,0 F1_000047 EQU $ ; IN [PROPELLER3.BAS] TRISB = %11100000 MOVLW 224 MOVWF TRISB,0 F1_000048 EQU $ ; IN [PROPELLER3.BAS] TRISC = %11000000 MOVLW 192 MOVWF TRISC,0 F4_SOF EQU $ ; PROPELLER_IRQ.INC F4_000053 EQU $ ; IN [PROPELLER_IRQ.INC] GOTO _OVER_IRQ_HANDLER BRA _OVER_IRQ_HANDLER HIGH_PRIOR_INTERRUPT F4_000064 EQU $ ; IN [PROPELLER_IRQ.INC] IF PIR1.5 = 1 THEN BTFSS PIR1,5 BRA BC@LL2 F4_000065 EQU $ ; IN [PROPELLER_IRQ.INC] MOVLW 6 MOVLW 6 F4_000066 EQU $ ; IN [PROPELLER_IRQ.INC] ANDWF RCSTA,W ANDWF RCSTA,W F4_000067 EQU $ ; IN [PROPELLER_IRQ.INC] BNZ _UART_ERROR BNZ _UART_ERROR F4_000068 EQU $ ; IN [PROPELLER_IRQ.INC] USART_FSR1_SAVE = USART_FSR1 MOVFF FSR1L,USART_FSR1_SAVE MOVFF FSR1LH,USART_FSR1_SAVEH F4_000069 EQU $ ; IN [PROPELLER_IRQ.INC] INC INDEXIN INCF INDEXIN,F,0 F4_000079 EQU $ ; IN [PROPELLER_IRQ.INC] USART_FSR1 = VARPTR RINGBUFFER LFSR 1,RINGBUFFER F4_000080 EQU $ ; IN [PROPELLER_IRQ.INC] USART_FSR1 = USART_FSR1 + INDEXIN MOVF INDEXIN,W,0 ADDWF FSR1L,F,0 MOVLW 0 ADDWFC FSR1LH,F,0 F4_000081 EQU $ ; IN [PROPELLER_IRQ.INC] INDF1 = RCREG MOVFF RCREG,INDF1 F4_000082 EQU $ ; IN [PROPELLER_IRQ.INC] USART_FSR1 = USART_FSR1_SAVE MOVFF USART_FSR1_SAVE,FSR1L MOVFF USART_FSR1_SAVEH,FSR1LH F4_000084 EQU $ ; IN [PROPELLER_IRQ.INC] RETFIE FAST RETFIE 1 _UART_ERROR F4_000086 EQU $ ; IN [PROPELLER_IRQ.INC] WREG = RCREG MOVF RCREG,W,0 F4_000087 EQU $ ; IN [PROPELLER_IRQ.INC] WREG = RCREG MOVF RCREG,W,0 F4_000088 EQU $ ; IN [PROPELLER_IRQ.INC] CLEAR RCSTA.4 BCF RCSTA,4,0 F4_000089 EQU $ ; IN [PROPELLER_IRQ.INC] SET RCSTA.4 BSF RCSTA,4,0 F4_000090 EQU $ ; IN [PROPELLER_IRQ.INC] RETFIE FAST RETFIE 1 BRA BC@LL3 BC@LL2 F4_000091 EQU $ ; IN [PROPELLER_IRQ.INC] ELSE _TIMER0_IRQ F4_000093 EQU $ ; IN [PROPELLER_IRQ.INC] IF INTCON.2 = 1 THEN BTFSS INTCON,2 BRA BC@LL5 F4_000094 EQU $ ; IN [PROPELLER_IRQ.INC] CLEAR INTCON.2 BCF INTCON,2,0 F4_000095 EQU $ ; IN [PROPELLER_IRQ.INC] INC CNTHW INFSNZ CNTHH,F,0 INCF CNTHHH,F,0 F4_000102 EQU $ ; IN [PROPELLER_IRQ.INC] BTG PORTB,5 BTG PORTB,5 F4_000103 EQU $ ; IN [PROPELLER_IRQ.INC] CLEAR CNT.BYTE1 CLRF CNTH,0 F4_000104 EQU $ ; IN [PROPELLER_IRQ.INC] CNT.BYTE0 = TMR0L MOVFF TMR0L,CNT F4_000105 EQU $ ; IN [PROPELLER_IRQ.INC] RETFIE FAST RETFIE 1 F4_000106 EQU $ ; IN [PROPELLER_IRQ.INC] ENDIF BC@LL5 F4_000107 EQU $ ; IN [PROPELLER_IRQ.INC] ENDIF BC@LL3 F4_000108 EQU $ ; IN [PROPELLER_IRQ.INC] RETFIE FAST RETFIE 1 HRSIN: F4_000112 EQU $ ; IN [PROPELLER_IRQ.INC] IF INDEXIN <> INDEXOUT THEN MOVF INDEXIN,W,0 SUBWF INDEXOUT,W,0 BZ BC@LL7 F4_000113 EQU $ ; IN [PROPELLER_IRQ.INC] INC INDEXOUT INCF INDEXOUT,F,0 F4_000114 EQU $ ; IN [PROPELLER_IRQ.INC] USART_FSR0_SAVE = USART_FSR0 MOVFF FSR0L,FSR0SAVEINT MOVFF FSR0LH,FSR0SAVEINTH F4_000115 EQU $ ; IN [PROPELLER_IRQ.INC] USART_FSR0 = VARPTR RINGBUFFER LFSR 0,RINGBUFFER F4_000116 EQU $ ; IN [PROPELLER_IRQ.INC] USART_FSR0 = USART_FSR0 + INDEXOUT MOVF INDEXOUT,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0LH,F,0 F4_000117 EQU $ ; IN [PROPELLER_IRQ.INC] WREG = INDF0 MOVF INDF0,W,0 F4_000118 EQU $ ; IN [PROPELLER_IRQ.INC] PP0 = WREG MOVWF PP0,0 F4_000119 EQU $ ; IN [PROPELLER_IRQ.INC] USART_FSR0 = USART_FSR0_SAVE MOVFF FSR0SAVEINT,FSR0L MOVFF FSR0SAVEINTH,FSR0LH F4_000120 EQU $ ; IN [PROPELLER_IRQ.INC] SET STATUS.0 BSF STATUS,0,0 F4_000121 EQU $ ; IN [PROPELLER_IRQ.INC] RET RETURN 0 BRA BC@LL8 BC@LL7 F4_000122 EQU $ ; IN [PROPELLER_IRQ.INC] ELSE F4_000123 EQU $ ; IN [PROPELLER_IRQ.INC] WREG = 255 SETF WREG,0 F4_000124 EQU $ ; IN [PROPELLER_IRQ.INC] PP0 = WREG MOVWF PP0,0 F4_000125 EQU $ ; IN [PROPELLER_IRQ.INC] BTFSS STATUS,C BTFSS STATUS,C F4_000126 EQU $ ; IN [PROPELLER_IRQ.INC] RET RETURN 0 F4_000127 EQU $ ; IN [PROPELLER_IRQ.INC] ENDIF BC@LL8 F4_000128 EQU $ ; IN [PROPELLER_IRQ.INC] RET RETURN 0 _INIT_USART F4_000144 EQU $ ; IN [PROPELLER_IRQ.INC] CLEAR INDEXIN CLRF INDEXIN,0 F4_000145 EQU $ ; IN [PROPELLER_IRQ.INC] CLEAR INDEXOUT CLRF INDEXOUT,0 F4_000146 EQU $ ; IN [PROPELLER_IRQ.INC] SET PIE1.5 BSF PIE1,5,0 F4_000148 EQU $ ; IN [PROPELLER_IRQ.INC] SET IPR1.5 BSF IPR1,5,0 F4_000150 EQU $ ; IN [PROPELLER_IRQ.INC] SET INTCON.7 BSF INTCON,7,0 F4_000151 EQU $ ; IN [PROPELLER_IRQ.INC] SET INTCON.6 BSF INTCON,6,0 F4_000153 EQU $ ; IN [PROPELLER_IRQ.INC] RETURN RETURN 0 _CLEAR_USART_BUFFER F4_000168 EQU $ ; IN [PROPELLER_IRQ.INC] PIE1.5 = 0 BCF PIE1,5,0 F4_000169 EQU $ ; IN [PROPELLER_IRQ.INC] CLEAR RINGBUFFER LFSR 0,RINGBUFFER MOVLW 0 CLRF POSTINC0,0 DECFSZ WREG,F,0 BRA $ - 4 F4_000170 EQU $ ; IN [PROPELLER_IRQ.INC] CLEAR INDEXIN CLRF INDEXIN,0 F4_000171 EQU $ ; IN [PROPELLER_IRQ.INC] CLEAR INDEXOUT CLRF INDEXOUT,0 F4_000172 EQU $ ; IN [PROPELLER_IRQ.INC] SET PIE1.5 BSF PIE1,5,0 F4_000173 EQU $ ; IN [PROPELLER_IRQ.INC] RETURN RETURN 0 LOW_PRIOR_INTERRUPT TIMER3_ISR F4_000182 EQU $ ; IN [PROPELLER_IRQ.INC] CONTEXT SAVE BCF INTCON,7,0 MOVFF STATUS,3674 MOVFF WREG,3675 MOVFF BSR,3676 MOVFF FSR0L,3677 MOVFF FSR0H,3678 MOVFF FSR1L,3679 MOVFF FSR1H,3680 MOVFF FSR2L,3681 MOVFF FSR2H,3682 MOVFF TBLPTRL,3683 MOVFF TBLPTRH,3684 MOVFF TABLAT,3685 MOVFF PRODL,3686 MOVFF PRODH,3687 MOVFF EECON1,3688 BSF INTCON,7,0 MOVLB 0 F4_000183 EQU $ ; IN [PROPELLER_IRQ.INC] CLEAR PIR2.1 BCF PIR2,1,0 F4_000189 EQU $ ; IN [PROPELLER_IRQ.INC] CONTEXT RESTORE BCF INTCON,7,0 MOVFF 3674,STATUS MOVFF 3675,WREG MOVFF 3676,BSR MOVFF 3677,FSR0L MOVFF 3678,FSR0H MOVFF 3679,FSR1L MOVFF 3680,FSR1H MOVFF 3681,FSR2L MOVFF 3682,FSR2H MOVFF 3683,TBLPTRL MOVFF 3684,TBLPTRH MOVFF 3685,TABLAT MOVFF 3686,PRODL MOVFF 3687,PRODH MOVFF 3688,EECON1 BSF INTCON,7,0 RETFIE HRSOUT F4_000200 EQU $ ; IN [PROPELLER_IRQ.INC] BTFSS PIR1.4 BTFSS PIR1,4 F4_000201 EQU $ ; IN [PROPELLER_IRQ.INC] BRA ($ - 2) BRA ($ - 2) F4_000202 EQU $ ; IN [PROPELLER_IRQ.INC] MOVWF TXREG MOVWF TXREG F4_000203 EQU $ ; IN [PROPELLER_IRQ.INC] RETURN RETURN 0 _OVER_IRQ_HANDLER F4_EOF EQU $ ; PROPELLER_IRQ.INC F1_000128 EQU $ ; IN [PROPELLER3.BAS] LOW PORTC.4 BCF TRISC,4,0 BCF LATC,4,0 F1_000129 EQU $ ; IN [PROPELLER3.BAS] LOW PORTC.1 BCF TRISC,1,0 BCF LATC,1,0 F1_000130 EQU $ ; IN [PROPELLER3.BAS] LOW PORTC.2 BCF TRISC,2,0 BCF LATC,2,0 F1_000131 EQU $ ; IN [PROPELLER3.BAS] LOW PORTC.3 BCF TRISC,3,0 BCF LATC,3,0 F1_000132 EQU $ ; IN [PROPELLER3.BAS] LOW PORTB.5 BCF TRISB,5,0 BCF LATB,5,0 F1_000133 EQU $ ; IN [PROPELLER3.BAS] HPWM 2, 0, FPWM CLRF GEN,0 MOVLW 40 MOVWF PP1,0 MOVLW 38 MOVWF PP1H,0 MOVLW 2 RCALL H@PWM F1_000134 EQU $ ; IN [PROPELLER3.BAS] HIGH PORTC.5 BCF TRISC,5,0 BSF LATC,5,0 F1_000135 EQU $ ; IN [PROPELLER3.BAS] CLEAR OLDVELO CLRF OLDVELO,0 F1_000136 EQU $ ; IN [PROPELLER3.BAS] CLEAR CC66 CLRF CC66,0 F1_000137 EQU $ ; IN [PROPELLER3.BAS] GOSUB DUR_LOOKUP CALL DUR_LOOKUP F1_000138 EQU $ ; IN [PROPELLER3.BAS] GOSUB BRAKE_LOOKUP CALL BRAKE_LOOKUP F1_000139 EQU $ ; IN [PROPELLER3.BAS] LOW PORTA CLRF TRISA,0 CLRF LATA,0 F1_000140 EQU $ ; IN [PROPELLER3.BAS] LOW PORTC.0 BCF TRISC,0,0 BCF LATC,0,0 MAIN F1_000147 EQU $ ; IN [PROPELLER3.BAS] HIGH PORTB.5 BCF TRISB,5,0 BSF LATB,5,0 F1_000148 EQU $ ; IN [PROPELLER3.BAS] DELAYMS 50 MOVLW 50 RCALL DL@MS F1_000149 EQU $ ; IN [PROPELLER3.BAS] LOW PORTB.5 BCF TRISB,5,0 BCF LATB,5,0 F1_000150 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0 CLRF VELFLAGS,0 F1_000151 EQU $ ; IN [PROPELLER3.BAS] CLEAR LITES CLRF LITES,0 F1_000152 EQU $ ; IN [PROPELLER3.BAS] INIT_USART_INTERRUPT VARIABLE MAX_PARAMS=10,INIT_USART_INTERRUPT_RETURN=0,PRM_COUNT=0 RCALL _INIT_USART F1_000154 EQU $ ; IN [PROPELLER3.BAS] CLEAR_SERIAL_BUFFER VARIABLE MAX_PARAMS=10,CLEAR_SERIAL_BUFFER_RETURN=0,PRM_COUNT=0 RCALL _CLEAR_USART_BUFFER F1_000164 EQU $ ; IN [PROPELLER3.BAS] CLEAR T1CON CLRF T1CON,0 F1_000165 EQU $ ; IN [PROPELLER3.BAS] CLEAR INTCON.2 BCF INTCON,2,0 F1_000166 EQU $ ; IN [PROPELLER3.BAS] SET INTCON.5 BSF INTCON,5,0 F1_000167 EQU $ ; IN [PROPELLER3.BAS] T0CON = %10000111 MOVLW 135 MOVWF T0CON,0 F1_000188 EQU $ ; IN [PROPELLER3.BAS] CLEAR T3CON CLRF T3CON,0 F1_000189 EQU $ ; IN [PROPELLER3.BAS] CLEAR PIR2.1 BCF PIR2,1,0 F1_000190 EQU $ ; IN [PROPELLER3.BAS] SET PIE2.1 BSF PIE2,1,0 F1_000192 EQU $ ; IN [PROPELLER3.BAS] SET RCON.7 BSF RCON,7,0 F1_000193 EQU $ ; IN [PROPELLER3.BAS] CLEAR IPR2.1 BCF IPR2,1,0 F1_000195 EQU $ ; IN [PROPELLER3.BAS] T3CON = %10110000 MOVLW 176 MOVWF T3CON,0 LOOP F1_000208 EQU $ ; IN [PROPELLER3.BAS] BYTEIN = HRSIN RCALL HRSIN MOVWF BYTEIN,0 MIDI_PARSE F1_000211 EQU $ ; IN [PROPELLER3.BAS] IF BYTEIN > CONTROL_STATUS THEN MOVLW 190 SUBWF BYTEIN,W,0 BNC BC@LL10 F1_000212 EQU $ ; IN [PROPELLER3.BAS] IF BYTEIN > 253 THEN MOVLW 254 SUBWF BYTEIN,W,0 BNC BC@LL12 F1_000216 EQU $ ; IN [PROPELLER3.BAS] GOTO CHECK_TIMERS BRA CHECK_TIMERS BRA BC@LL13 BC@LL12 F1_000217 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000218 EQU $ ; IN [PROPELLER3.BAS] CLEAR STATUSBYTE CLRF STATUSBYTE,0 F1_000219 EQU $ ; IN [PROPELLER3.BAS] GOTO CHECK_TIMERS BRA CHECK_TIMERS F1_000220 EQU $ ; IN [PROPELLER3.BAS] END IF BC@LL13 F1_000221 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL10 F1_000222 EQU $ ; IN [PROPELLER3.BAS] IF STBIT =1 THEN BTFSS BYTEIN,7 BRA BC@LL15 F1_000224 EQU $ ; IN [PROPELLER3.BAS] CLEAR STATUSBYTE CLRF STATUSBYTE,0 F1_000225 EQU $ ; IN [PROPELLER3.BAS] SELECT BYTEIN F1_000226 EQU $ ; IN [PROPELLER3.BAS] CASE NOTEOFF_STATUS MOVLW 141 SUBWF BYTEIN,W,0 BNZ BC@LL17 F1_000227 EQU $ ; IN [PROPELLER3.BAS] STATUSBYTE = BYTEIN MOVFF BYTEIN,STATUSBYTE F1_000228 EQU $ ; IN [PROPELLER3.BAS] SET NOTEUIT SETF NOTEUIT,0 F1_000229 EQU $ ; IN [PROPELLER3.BAS] SET RELEASE SETF RELEASE,0 BRA BC@LL16 BC@LL17 F1_000230 EQU $ ; IN [PROPELLER3.BAS] CASE NOTEON_STATUS MOVLW 157 SUBWF BYTEIN,W,0 BNZ BC@LL20 F1_000231 EQU $ ; IN [PROPELLER3.BAS] STATUSBYTE = BYTEIN MOVFF BYTEIN,STATUSBYTE F1_000232 EQU $ ; IN [PROPELLER3.BAS] SET NOTEAAN SETF NOTEAAN,0 F1_000233 EQU $ ; IN [PROPELLER3.BAS] SET VELO SETF VELO,0 BRA BC@LL16 BC@LL20 F1_000234 EQU $ ; IN [PROPELLER3.BAS] CASE KEYPRES_STATUS MOVLW 173 SUBWF BYTEIN,W,0 BNZ BC@LL22 F1_000235 EQU $ ; IN [PROPELLER3.BAS] STATUSBYTE = BYTEIN MOVFF BYTEIN,STATUSBYTE F1_000236 EQU $ ; IN [PROPELLER3.BAS] SET NOTEPRES SETF NOTEPRES,0 F1_000237 EQU $ ; IN [PROPELLER3.BAS] SET PRES SETF PRES,0 BRA BC@LL16 BC@LL22 F1_000238 EQU $ ; IN [PROPELLER3.BAS] CASE CONTROL_STATUS MOVLW 189 SUBWF BYTEIN,W,0 BNZ BC@LL24 F1_000239 EQU $ ; IN [PROPELLER3.BAS] STATUSBYTE = BYTEIN MOVFF BYTEIN,STATUSBYTE F1_000240 EQU $ ; IN [PROPELLER3.BAS] SET CTRL SETF CTRL,0 F1_000241 EQU $ ; IN [PROPELLER3.BAS] SET VALUE SETF VALUE,0 F1_000252 EQU $ ; IN [PROPELLER3.BAS] END SELECT BC@LL24 BC@LL16 BRA BC@LL25 BC@LL15 F1_000253 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000254 EQU $ ; IN [PROPELLER3.BAS] SELECT STATUSBYTE F1_000255 EQU $ ; IN [PROPELLER3.BAS] CASE 0 MOVF STATUSBYTE,F,0 BNZ BC@LL27 F1_000256 EQU $ ; IN [PROPELLER3.BAS] GOTO CHECK_TIMERS BRA CHECK_TIMERS BRA BC@LL26 BC@LL27 F1_000257 EQU $ ; IN [PROPELLER3.BAS] CASE NOTEOFF_STATUS MOVLW 141 SUBWF STATUSBYTE,W,0 BTFSS STATUS,2 BRA BC@LL30 F1_000258 EQU $ ; IN [PROPELLER3.BAS] IF NOTEUIT = 255 THEN INCF NOTEUIT,W,0 BNZ BC@LL32 F1_000259 EQU $ ; IN [PROPELLER3.BAS] NOTEUIT = BYTEIN MOVFF BYTEIN,NOTEUIT BRA BC@LL33 BC@LL32 F1_000260 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000261 EQU $ ; IN [PROPELLER3.BAS] RELEASE = BYTEIN MOVFF BYTEIN,RELEASE F1_000262 EQU $ ; IN [PROPELLER3.BAS] SELECT NOTEUIT F1_000263 EQU $ ; IN [PROPELLER3.BAS] CASE 36 MOVLW 36 SUBWF NOTEUIT,W,0 BTFSS STATUS,2 BRA BC@LL35 F1_000264 EQU $ ; IN [PROPELLER3.BAS] HPWM 2, 0, FPWM CLRF GEN,0 MOVLW 40 MOVWF PP1,0 MOVLW 38 MOVWF PP1H,0 MOVLW 2 RCALL H@PWM F1_000267 EQU $ ; IN [PROPELLER3.BAS] IF RELEASE = 0 THEN MOVF RELEASE,F,0 BNZ BC@LL38 F1_000269 EQU $ ; IN [PROPELLER3.BAS] SET VELFLAGS0.2 BSF VELFLAGS,2,0 F1_000270 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.4 BCF LATC,4,0 F1_000271 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.5 BSF LATC,5,0 F1_000272 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000273 EQU $ ; IN [PROPELLER3.BAS] I = OLDVELO - VELO MOVF VELO,W,0 SUBWF OLDVELO,W,0 MOVWF _I,0 F1_000274 EQU $ ; IN [PROPELLER3.BAS] IF I > 0 THEN MOVF _I,F,0 BZ BC@LL40 F1_000275 EQU $ ; IN [PROPELLER3.BAS] I = 128 - I MOVF _I,W,0 SUBLW 128 MOVWF _I,0 F1_000276 EQU $ ; IN [PROPELLER3.BAS] TASK_RSI[2] = BRAK[I] LFSR 0,BRAK BCF STATUS,0,0 RLCF _I,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0H,F,0 MOVFF POSTINC0,PBP#VAR0 MOVFF INDF0,PBP#VAR0H MOVFF PBP#VAR0,TASK_RSI#2 MOVFF PBP#VAR0H,TASK_RSI#2H F1_000279 EQU $ ; IN [PROPELLER3.BAS] VELTIM = CNT + TASK_RSI[2] MOVFF TASK_RSI#2,PBP#VAR0 MOVFF TASK_RSI#2H,PBP#VAR0H MOVF PBP#VAR0,W,0 ADDWF CNT,W,0 MOVWF VELTIM,0 MOVF PBP#VAR0H,W,0 ADDWFC CNTH,W,0 MOVWF VELTIMH,0 MOVLW 0 ADDWFC CNTHH,W,0 MOVWF VELTIMHH,0 MOVLW 0 ADDWFC CNTHHH,W,0 MOVWF VELTIMHHH,0 F1_000280 EQU $ ; IN [PROPELLER3.BAS] VELMSB[2] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#2 MOVFF VELTIMHHH,VELMSB#2H F1_000281 EQU $ ; IN [PROPELLER3.BAS] VELLSB[2] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#2 MOVFF VELTIMH,VELLSB#2H F1_000282 EQU $ ; IN [PROPELLER3.BAS] SET PORTB.2 BSF LATB,2,0 F1_000283 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL40 F1_000285 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELO CLRF VELO,0 F1_000286 EQU $ ; IN [PROPELLER3.BAS] CLEAR OLDVELO CLRF OLDVELO,0 BRA BC@LL41 BC@LL38 F1_000287 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000289 EQU $ ; IN [PROPELLER3.BAS] SET VELFLAGS0.2 BSF VELFLAGS,2,0 F1_000290 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.4 BCF LATC,4,0 F1_000291 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.5 BSF LATC,5,0 F1_000292 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000293 EQU $ ; IN [PROPELLER3.BAS] TASK_RSI[2] = RELEASE << 9 MOVFF RELEASE,PBP#VAR0H CLRF PBP#VAR0,0 BCF STATUS,0,0 RLCF PBP#VAR0H,F,0 MOVFF PBP#VAR0,TASK_RSI#2 MOVFF PBP#VAR0H,TASK_RSI#2H F1_000295 EQU $ ; IN [PROPELLER3.BAS] VELTIM = CNT + TASK_RSI[2] MOVFF TASK_RSI#2,PBP#VAR0 MOVFF TASK_RSI#2H,PBP#VAR0H MOVF PBP#VAR0,W,0 ADDWF CNT,W,0 MOVWF VELTIM,0 MOVF PBP#VAR0H,W,0 ADDWFC CNTH,W,0 MOVWF VELTIMH,0 MOVLW 0 ADDWFC CNTHH,W,0 MOVWF VELTIMHH,0 MOVLW 0 ADDWFC CNTHHH,W,0 MOVWF VELTIMHHH,0 F1_000296 EQU $ ; IN [PROPELLER3.BAS] VELMSB[2] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#2 MOVFF VELTIMHHH,VELMSB#2H F1_000297 EQU $ ; IN [PROPELLER3.BAS] VELLSB[2] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#2 MOVFF VELTIMH,VELLSB#2H F1_000298 EQU $ ; IN [PROPELLER3.BAS] SET PORTB.2 BSF LATB,2,0 F1_000299 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL41 BRA BC@LL34 BC@LL35 F1_000300 EQU $ ; IN [PROPELLER3.BAS] CASE 124 MOVLW 124 SUBWF NOTEUIT,W,0 BNZ BC@LL43 F1_000301 EQU $ ; IN [PROPELLER3.BAS] CLEAR LITES.0 BCF LITES,0,0 F1_000302 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.0 BCF VELFLAGS,0,0 F1_000303 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.2 BCF LATC,2,0 BRA BC@LL34 BC@LL43 F1_000304 EQU $ ; IN [PROPELLER3.BAS] CASE 125 MOVLW 125 SUBWF NOTEUIT,W,0 BNZ BC@LL45 F1_000305 EQU $ ; IN [PROPELLER3.BAS] CLEAR LITES.1 BCF LITES,1,0 F1_000306 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.1 BCF VELFLAGS,1,0 F1_000307 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.3 BCF LATC,3,0 F1_000308 EQU $ ; IN [PROPELLER3.BAS] END SELECT BC@LL45 BC@LL34 F1_000309 EQU $ ; IN [PROPELLER3.BAS] SET NOTEUIT SETF NOTEUIT,0 F1_000310 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL33 F1_000311 EQU $ ; IN [PROPELLER3.BAS] GOTO CHECK_TIMERS BRA CHECK_TIMERS BRA BC@LL26 BC@LL30 F1_000312 EQU $ ; IN [PROPELLER3.BAS] CASE NOTEON_STATUS MOVLW 157 SUBWF STATUSBYTE,W,0 BTFSS STATUS,2 BRA BC@LL47 F1_000313 EQU $ ; IN [PROPELLER3.BAS] IF NOTEAAN = 255 THEN INCF NOTEAAN,W,0 BNZ BC@LL49 F1_000314 EQU $ ; IN [PROPELLER3.BAS] NOTEAAN = BYTEIN MOVFF BYTEIN,NOTEAAN BRA BC@LL50 BC@LL49 F1_000315 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000316 EQU $ ; IN [PROPELLER3.BAS] VELO = BYTEIN MOVFF BYTEIN,VELO F1_000317 EQU $ ; IN [PROPELLER3.BAS] IF VELO = 0 THEN MOVF VELO,F,0 BTFSS STATUS,2 BRA BC@LL52 F1_000318 EQU $ ; IN [PROPELLER3.BAS] SELECT NOTEAAN F1_000319 EQU $ ; IN [PROPELLER3.BAS] CASE 36 MOVLW 36 SUBWF NOTEAAN,W,0 BTFSS STATUS,2 BRA BC@LL54 F1_000321 EQU $ ; IN [PROPELLER3.BAS] HPWM 2, 0, FPWM CLRF GEN,0 MOVLW 40 MOVWF PP1,0 MOVLW 38 MOVWF PP1H,0 MOVLW 2 CALL H@PWM F1_000322 EQU $ ; IN [PROPELLER3.BAS] SET VELFLAGS0.2 BSF VELFLAGS,2,0 F1_000323 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.4 BCF LATC,4,0 F1_000324 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.5 BSF LATC,5,0 F1_000325 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000326 EQU $ ; IN [PROPELLER3.BAS] I = OLDVELO MOVFF OLDVELO,_I F1_000327 EQU $ ; IN [PROPELLER3.BAS] IF I > 0 THEN MOVF _I,F,0 BZ BC@LL57 F1_000328 EQU $ ; IN [PROPELLER3.BAS] I = 128 - I MOVF _I,W,0 SUBLW 128 MOVWF _I,0 F1_000329 EQU $ ; IN [PROPELLER3.BAS] TASK_RSI[2] = BRAK[I] LFSR 0,BRAK BCF STATUS,0,0 RLCF _I,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0H,F,0 MOVFF POSTINC0,PBP#VAR0 MOVFF INDF0,PBP#VAR0H MOVFF PBP#VAR0,TASK_RSI#2 MOVFF PBP#VAR0H,TASK_RSI#2H F1_000332 EQU $ ; IN [PROPELLER3.BAS] VELTIM = CNT + TASK_RSI[2] MOVFF TASK_RSI#2,PBP#VAR0 MOVFF TASK_RSI#2H,PBP#VAR0H MOVF PBP#VAR0,W,0 ADDWF CNT,W,0 MOVWF VELTIM,0 MOVF PBP#VAR0H,W,0 ADDWFC CNTH,W,0 MOVWF VELTIMH,0 MOVLW 0 ADDWFC CNTHH,W,0 MOVWF VELTIMHH,0 MOVLW 0 ADDWFC CNTHHH,W,0 MOVWF VELTIMHHH,0 F1_000333 EQU $ ; IN [PROPELLER3.BAS] VELMSB[2] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#2 MOVFF VELTIMHHH,VELMSB#2H F1_000334 EQU $ ; IN [PROPELLER3.BAS] VELLSB[2] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#2 MOVFF VELTIMH,VELLSB#2H F1_000335 EQU $ ; IN [PROPELLER3.BAS] SET PORTB.2 BSF LATB,2,0 F1_000336 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL57 F1_000338 EQU $ ; IN [PROPELLER3.BAS] CLEAR OLDVELO CLRF OLDVELO,0 BRA BC@LL53 BC@LL54 F1_000339 EQU $ ; IN [PROPELLER3.BAS] CASE 124 MOVLW 124 SUBWF NOTEAAN,W,0 BNZ BC@LL59 F1_000340 EQU $ ; IN [PROPELLER3.BAS] CLEAR LITES.0 BCF LITES,0,0 F1_000341 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.0 BCF VELFLAGS,0,0 F1_000342 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.2 BCF LATC,2,0 BRA BC@LL53 BC@LL59 F1_000343 EQU $ ; IN [PROPELLER3.BAS] CASE 125 MOVLW 125 SUBWF NOTEAAN,W,0 BNZ BC@LL61 F1_000344 EQU $ ; IN [PROPELLER3.BAS] CLEAR LITES.1 BCF LITES,1,0 F1_000345 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.1 BCF VELFLAGS,1,0 F1_000346 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.3 BCF LATC,3,0 F1_000347 EQU $ ; IN [PROPELLER3.BAS] END SELECT BC@LL61 BC@LL53 F1_000348 EQU $ ; IN [PROPELLER3.BAS] SET NOTEAAN SETF NOTEAAN,0 F1_000349 EQU $ ; IN [PROPELLER3.BAS] GOTO CHECK_TIMERS BRA CHECK_TIMERS F1_000350 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL52 F1_000351 EQU $ ; IN [PROPELLER3.BAS] SELECT NOTEAAN F1_000352 EQU $ ; IN [PROPELLER3.BAS] CASE 36 MOVLW 36 SUBWF NOTEAAN,W,0 BTFSS STATUS,2 BRA BC@LL63 F1_000355 EQU $ ; IN [PROPELLER3.BAS] IF VELO >= OLDVELO THEN MOVF OLDVELO,W,0 SUBWF VELO,W,0 BNC BC@LL66 F1_000357 EQU $ ; IN [PROPELLER3.BAS] HPWM 2, VELO, FPWM MOVFF VELO,GEN MOVLW 40 MOVWF PP1,0 MOVLW 38 MOVWF PP1H,0 MOVLW 2 CALL H@PWM F1_000358 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.4 BSF LATC,4,0 F1_000359 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.5 BCF LATC,5,0 F1_000360 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.2 BCF VELFLAGS,2,0 F1_000361 EQU $ ; IN [PROPELLER3.BAS] OLDVELO = VELO MOVFF VELO,OLDVELO F1_000362 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTB.2 BCF LATB,2,0 BRA BC@LL67 BC@LL66 F1_000363 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000366 EQU $ ; IN [PROPELLER3.BAS] SET VELFLAGS0.2 BSF VELFLAGS,2,0 F1_000367 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.4 BCF LATC,4,0 F1_000368 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.5 BSF LATC,5,0 F1_000369 EQU $ ; IN [PROPELLER3.BAS] HPWM 2, VELO, FPWM MOVFF VELO,GEN MOVLW 40 MOVWF PP1,0 MOVLW 38 MOVWF PP1H,0 MOVLW 2 CALL H@PWM F1_000370 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000371 EQU $ ; IN [PROPELLER3.BAS] I = OLDVELO - VELO MOVF VELO,W,0 SUBWF OLDVELO,W,0 MOVWF _I,0 F1_000372 EQU $ ; IN [PROPELLER3.BAS] I = 128 -I MOVF _I,W,0 SUBLW 128 MOVWF _I,0 F1_000373 EQU $ ; IN [PROPELLER3.BAS] TASK_RSI[2] = BRAK[I] LFSR 0,BRAK BCF STATUS,0,0 RLCF _I,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0H,F,0 MOVFF POSTINC0,PBP#VAR0 MOVFF INDF0,PBP#VAR0H MOVFF PBP#VAR0,TASK_RSI#2 MOVFF PBP#VAR0H,TASK_RSI#2H F1_000374 EQU $ ; IN [PROPELLER3.BAS] VELTIM = CNT + TASK_RSI[2] MOVFF TASK_RSI#2,PBP#VAR0 MOVFF TASK_RSI#2H,PBP#VAR0H MOVF PBP#VAR0,W,0 ADDWF CNT,W,0 MOVWF VELTIM,0 MOVF PBP#VAR0H,W,0 ADDWFC CNTH,W,0 MOVWF VELTIMH,0 MOVLW 0 ADDWFC CNTHH,W,0 MOVWF VELTIMHH,0 MOVLW 0 ADDWFC CNTHHH,W,0 MOVWF VELTIMHHH,0 F1_000375 EQU $ ; IN [PROPELLER3.BAS] VELMSB[2] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#2 MOVFF VELTIMHHH,VELMSB#2H F1_000376 EQU $ ; IN [PROPELLER3.BAS] VELLSB[2] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#2 MOVFF VELTIMH,VELLSB#2H F1_000377 EQU $ ; IN [PROPELLER3.BAS] SET PORTB.2 BSF LATB,2,0 F1_000378 EQU $ ; IN [PROPELLER3.BAS] END IF BC@LL67 BRA BC@LL62 BC@LL63 F1_000380 EQU $ ; IN [PROPELLER3.BAS] CASE 124 MOVLW 124 SUBWF NOTEAAN,W,0 BNZ BC@LL69 F1_000381 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.2 BSF LATC,2,0 F1_000382 EQU $ ; IN [PROPELLER3.BAS] SET LITES.0 BSF LITES,0,0 F1_000383 EQU $ ; IN [PROPELLER3.BAS] IF VELO < 127 THEN MOVLW 127 SUBWF VELO,W,0 BC BC@LL71 F1_000384 EQU $ ; IN [PROPELLER3.BAS] SET VELFLAGS0.0 BSF VELFLAGS,0,0 F1_000385 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000387 EQU $ ; IN [PROPELLER3.BAS] TASK_RSI[0] = DUR[VELO] LFSR 0,DUR BCF STATUS,0,0 RLCF VELO,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0H,F,0 MOVFF POSTINC0,PBP#VAR0 MOVFF INDF0,PBP#VAR0H MOVFF PBP#VAR0,TASK_RSI#0 MOVFF PBP#VAR0H,TASK_RSI#0H F1_000388 EQU $ ; IN [PROPELLER3.BAS] VELTIM = CNT + TASK_RSI[0] MOVFF TASK_RSI#0,PBP#VAR0 MOVFF TASK_RSI#0H,PBP#VAR0H MOVF PBP#VAR0,W,0 ADDWF CNT,W,0 MOVWF VELTIM,0 MOVF PBP#VAR0H,W,0 ADDWFC CNTH,W,0 MOVWF VELTIMH,0 MOVLW 0 ADDWFC CNTHH,W,0 MOVWF VELTIMHH,0 MOVLW 0 ADDWFC CNTHHH,W,0 MOVWF VELTIMHHH,0 F1_000389 EQU $ ; IN [PROPELLER3.BAS] VELMSB[0] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#0 MOVFF VELTIMHHH,VELMSB#0H F1_000390 EQU $ ; IN [PROPELLER3.BAS] VELLSB[0] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#0 MOVFF VELTIMH,VELLSB#0H BRA BC@LL72 BC@LL71 F1_000391 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000392 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.0 BCF VELFLAGS,0,0 F1_000393 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL72 BRA BC@LL62 BC@LL69 F1_000394 EQU $ ; IN [PROPELLER3.BAS] CASE 125 MOVLW 125 SUBWF NOTEAAN,W,0 BNZ BC@LL74 F1_000395 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.3 BSF LATC,3,0 F1_000396 EQU $ ; IN [PROPELLER3.BAS] SET LITES.1 BSF LITES,1,0 F1_000397 EQU $ ; IN [PROPELLER3.BAS] IF VELO < 127 THEN MOVLW 127 SUBWF VELO,W,0 BC BC@LL76 F1_000398 EQU $ ; IN [PROPELLER3.BAS] SET VELFLAGS0.1 BSF VELFLAGS,1,0 F1_000399 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000400 EQU $ ; IN [PROPELLER3.BAS] TASK_RSI[1] = DUR[VELO] LFSR 0,DUR BCF STATUS,0,0 RLCF VELO,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0H,F,0 MOVFF POSTINC0,PBP#VAR0 MOVFF INDF0,PBP#VAR0H MOVFF PBP#VAR0,TASK_RSI#1 MOVFF PBP#VAR0H,TASK_RSI#1H F1_000401 EQU $ ; IN [PROPELLER3.BAS] VELTIM = CNT + TASK_RSI[1] MOVFF TASK_RSI#1,PBP#VAR0 MOVFF TASK_RSI#1H,PBP#VAR0H MOVF PBP#VAR0,W,0 ADDWF CNT,W,0 MOVWF VELTIM,0 MOVF PBP#VAR0H,W,0 ADDWFC CNTH,W,0 MOVWF VELTIMH,0 MOVLW 0 ADDWFC CNTHH,W,0 MOVWF VELTIMHH,0 MOVLW 0 ADDWFC CNTHHH,W,0 MOVWF VELTIMHHH,0 F1_000402 EQU $ ; IN [PROPELLER3.BAS] VELMSB[1] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#1 MOVFF VELTIMHHH,VELMSB#1H F1_000403 EQU $ ; IN [PROPELLER3.BAS] VELLSB[1] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#1 MOVFF VELTIMH,VELLSB#1H BRA BC@LL77 BC@LL76 F1_000404 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000405 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.1 BCF VELFLAGS,1,0 F1_000406 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL77 F1_000407 EQU $ ; IN [PROPELLER3.BAS] END SELECT BC@LL74 BC@LL62 F1_000408 EQU $ ; IN [PROPELLER3.BAS] SET NOTEAAN SETF NOTEAAN,0 F1_000409 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL50 F1_000410 EQU $ ; IN [PROPELLER3.BAS] GOTO CHECK_TIMERS BRA CHECK_TIMERS BRA BC@LL26 BC@LL47 F1_000411 EQU $ ; IN [PROPELLER3.BAS] CASE KEYPRES_STATUS MOVLW 173 SUBWF STATUSBYTE,W,0 BNZ BC@LL79 F1_000412 EQU $ ; IN [PROPELLER3.BAS] IF NOTEPRES = 255 THEN INCF NOTEPRES,W,0 BNZ BC@LL81 F1_000413 EQU $ ; IN [PROPELLER3.BAS] NOTEPRES = BYTEIN MOVFF BYTEIN,NOTEPRES BRA BC@LL82 BC@LL81 F1_000414 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000415 EQU $ ; IN [PROPELLER3.BAS] PRES = BYTEIN MOVFF BYTEIN,PRES F1_000416 EQU $ ; IN [PROPELLER3.BAS] GOSUB KEYPRES RCALL KEYPRES F1_000417 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL82 F1_000418 EQU $ ; IN [PROPELLER3.BAS] GOTO CHECK_TIMERS BRA CHECK_TIMERS BRA BC@LL26 BC@LL79 F1_000419 EQU $ ; IN [PROPELLER3.BAS] CASE CONTROL_STATUS MOVLW 189 SUBWF STATUSBYTE,W,0 BNZ BC@LL84 F1_000420 EQU $ ; IN [PROPELLER3.BAS] IF CTRL = 255 THEN INCF CTRL,W,0 BNZ BC@LL86 F1_000421 EQU $ ; IN [PROPELLER3.BAS] CTRL = BYTEIN MOVFF BYTEIN,CTRL BRA BC@LL87 BC@LL86 F1_000422 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000423 EQU $ ; IN [PROPELLER3.BAS] VALUE = BYTEIN MOVFF BYTEIN,VALUE F1_000424 EQU $ ; IN [PROPELLER3.BAS] GOSUB CONTROLLER RCALL CONTROLLER F1_000425 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL87 F1_000426 EQU $ ; IN [PROPELLER3.BAS] GOTO CHECK_TIMERS BRA CHECK_TIMERS F1_000432 EQU $ ; IN [PROPELLER3.BAS] END SELECT BC@LL84 BC@LL26 F1_000433 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL25 CHECK_TIMERS F1_000438 EQU $ ; IN [PROPELLER3.BAS] IF VELFLAGS0 > 0 THEN MOVF VELFLAGS,F,0 BTFSC STATUS,2 BRA BC@LL89 F1_000439 EQU $ ; IN [PROPELLER3.BAS] IF VELFLAGS0.0 = 1 THEN BTFSS VELFLAGS,0 BRA BC@LL91 F1_000440 EQU $ ; IN [PROPELLER3.BAS] VELTIM.WORD1 = VELMSB[0] MOVFF VELMSB#0,VELTIMHH MOVFF VELMSB#0H,VELTIMHHH F1_000441 EQU $ ; IN [PROPELLER3.BAS] VELTIM.WORD0 = VELLSB[0] MOVFF VELLSB#0,VELTIM MOVFF VELLSB#0H,VELTIMH F1_000442 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000443 EQU $ ; IN [PROPELLER3.BAS] IF CNT >= VELTIM THEN GOSUB TASK0 MOVF VELTIM,W,0 SUBWF CNT,W,0 MOVF VELTIMH,W,0 SUBWFB CNTH,W,0 MOVF VELTIMHH,W,0 SUBWFB CNTHH,W,0 MOVF VELTIMHHH,W,0 SUBWFB CNTHHH,W,0 MOVF CNTHHH,W,0 XORWF VELTIMHHH,W,0 BTFSC STATUS,0,0 XORLW 128 BTFSC STATUS,4 RCALL TASK0 BC@LL93 F1_000444 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL91 F1_000445 EQU $ ; IN [PROPELLER3.BAS] IF VELFLAGS0.1 = 1 THEN BTFSS VELFLAGS,1 BRA BC@LL95 F1_000446 EQU $ ; IN [PROPELLER3.BAS] VELTIM.WORD1 = VELMSB[1] MOVFF VELMSB#1,VELTIMHH MOVFF VELMSB#1H,VELTIMHHH F1_000447 EQU $ ; IN [PROPELLER3.BAS] VELTIM.WORD0 = VELLSB[1] MOVFF VELLSB#1,VELTIM MOVFF VELLSB#1H,VELTIMH F1_000448 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000449 EQU $ ; IN [PROPELLER3.BAS] IF CNT >= VELTIM THEN GOSUB TASK1 MOVF VELTIM,W,0 SUBWF CNT,W,0 MOVF VELTIMH,W,0 SUBWFB CNTH,W,0 MOVF VELTIMHH,W,0 SUBWFB CNTHH,W,0 MOVF VELTIMHHH,W,0 SUBWFB CNTHHH,W,0 MOVF CNTHHH,W,0 XORWF VELTIMHHH,W,0 BTFSC STATUS,0,0 XORLW 128 BTFSC STATUS,4 RCALL TASK1 BC@LL97 F1_000450 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL95 F1_000451 EQU $ ; IN [PROPELLER3.BAS] IF VELFLAGS0.2 = 1 THEN BTFSS VELFLAGS,2 BRA BC@LL99 F1_000452 EQU $ ; IN [PROPELLER3.BAS] VELTIM.WORD1 = VELMSB[2] MOVFF VELMSB#2,VELTIMHH MOVFF VELMSB#2H,VELTIMHHH F1_000453 EQU $ ; IN [PROPELLER3.BAS] VELTIM.WORD0 = VELLSB[2] MOVFF VELLSB#2,VELTIM MOVFF VELLSB#2H,VELTIMH F1_000454 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000455 EQU $ ; IN [PROPELLER3.BAS] IF CNT >= VELTIM THEN MOVF VELTIM,W,0 SUBWF CNT,W,0 MOVF VELTIMH,W,0 SUBWFB CNTH,W,0 MOVF VELTIMHH,W,0 SUBWFB CNTHH,W,0 MOVF VELTIMHHH,W,0 SUBWFB CNTHHH,W,0 MOVF CNTHHH,W,0 XORWF VELTIMHHH,W,0 BTFSC STATUS,0,0 XORLW 128 BNN BC@LL101 F1_000456 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.5 BCF LATC,5,0 F1_000457 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.2 BCF VELFLAGS,2,0 F1_000458 EQU $ ; IN [PROPELLER3.BAS] IF VELO > 0 THEN MOVF VELO,F,0 BZ BC@LL103 F1_000459 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.4 BSF LATC,4,0 F1_000460 EQU $ ; IN [PROPELLER3.BAS] HPWM 2, VELO, FPWM MOVFF VELO,GEN MOVLW 40 MOVWF PP1,0 MOVLW 38 MOVWF PP1H,0 MOVLW 2 CALL H@PWM F1_000461 EQU $ ; IN [PROPELLER3.BAS] OLDVELO = VELO MOVFF VELO,OLDVELO BRA BC@LL104 BC@LL103 F1_000462 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000463 EQU $ ; IN [PROPELLER3.BAS] HPWM 2, 0, FPWM CLRF GEN,0 MOVLW 40 MOVWF PP1,0 MOVLW 38 MOVWF PP1H,0 MOVLW 2 CALL H@PWM F1_000464 EQU $ ; IN [PROPELLER3.BAS] CLEAR OLDVELO CLRF OLDVELO,0 F1_000465 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL104 F1_000466 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTB.2 BCF LATB,2,0 F1_000467 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL101 F1_000468 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL99 BRA BC@LL105 BC@LL89 F1_000469 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000470 EQU $ ; IN [PROPELLER3.BAS] IF CNTHW > 0XFF THEN CLEAR CNTHW MOVLW 1 SUBWF CNTHHH,W,0 BNC BC@LL107 CLRF CNTHH,0 CLRF CNTHHH,0 BC@LL107 F1_000471 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL105 F1_000472 EQU $ ; IN [PROPELLER3.BAS] GOTO LOOP GOTO LOOP KEYPRES F1_000477 EQU $ ; IN [PROPELLER3.BAS] SELECT NOTEPRES F1_000478 EQU $ ; IN [PROPELLER3.BAS] CASE 124 MOVLW 124 SUBWF NOTEPRES,W,0 BNZ BC@LL109 F1_000479 EQU $ ; IN [PROPELLER3.BAS] IF LITES.0 = 1 THEN BTFSS LITES,0 BRA BC@LL112 F1_000480 EQU $ ; IN [PROPELLER3.BAS] SET VELFLAGS0.0 BSF VELFLAGS,0,0 F1_000481 EQU $ ; IN [PROPELLER3.BAS] TASK_RSI[0] = DUR[PRES] LFSR 0,DUR BCF STATUS,0,0 RLCF PRES,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0H,F,0 MOVFF POSTINC0,PBP#VAR0 MOVFF INDF0,PBP#VAR0H MOVFF PBP#VAR0,TASK_RSI#0 MOVFF PBP#VAR0H,TASK_RSI#0H BRA BC@LL113 BC@LL112 F1_000482 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000483 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.0 BCF VELFLAGS,0,0 F1_000484 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.2 BCF LATC,2,0 F1_000485 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL113 BRA BC@LL108 BC@LL109 F1_000486 EQU $ ; IN [PROPELLER3.BAS] CASE 125 MOVLW 125 SUBWF NOTEPRES,W,0 BNZ BC@LL115 F1_000487 EQU $ ; IN [PROPELLER3.BAS] IF LITES.1 = 1 THEN BTFSS LITES,1 BRA BC@LL117 F1_000488 EQU $ ; IN [PROPELLER3.BAS] SET VELFLAGS0.1 BSF VELFLAGS,1,0 F1_000489 EQU $ ; IN [PROPELLER3.BAS] TASK_RSI[1] = DUR[PRES] LFSR 0,DUR BCF STATUS,0,0 RLCF PRES,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0H,F,0 MOVFF POSTINC0,PBP#VAR0 MOVFF INDF0,PBP#VAR0H MOVFF PBP#VAR0,TASK_RSI#1 MOVFF PBP#VAR0H,TASK_RSI#1H BRA BC@LL118 BC@LL117 F1_000490 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000491 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.1 BCF VELFLAGS,1,0 F1_000492 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.3 BCF LATC,3,0 F1_000493 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL118 F1_000494 EQU $ ; IN [PROPELLER3.BAS] END SELECT BC@LL115 BC@LL108 F1_000495 EQU $ ; IN [PROPELLER3.BAS] SET NOTEPRES SETF NOTEPRES,0 F1_000496 EQU $ ; IN [PROPELLER3.BAS] RETURN RETURN 0 CONTROLLER F1_000513 EQU $ ; IN [PROPELLER3.BAS] SELECT CTRL F1_000514 EQU $ ; IN [PROPELLER3.BAS] CASE 66 MOVLW 66 SUBWF CTRL,W,0 BNZ BC@LL120 F1_000516 EQU $ ; IN [PROPELLER3.BAS] IF VALUE = 0 THEN MOVF VALUE,F,0 BNZ BC@LL123 F1_000517 EQU $ ; IN [PROPELLER3.BAS] CLEAR POWERON BCF CC66,0,0 F1_000518 EQU $ ; IN [PROPELLER3.BAS] GOSUB POWERDOWN RCALL POWERDOWN BRA BC@LL124 BC@LL123 F1_000519 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000520 EQU $ ; IN [PROPELLER3.BAS] SET POWERON BSF CC66,0,0 F1_000521 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.4 BSF LATC,4,0 F1_000522 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL124 BRA BC@LL119 BC@LL120 F1_000523 EQU $ ; IN [PROPELLER3.BAS] CASE 123 MOVLW 123 SUBWF CTRL,W,0 BTFSC STATUS,2 F1_000524 EQU $ ; IN [PROPELLER3.BAS] GOSUB ALLNOTESOFF RCALL ALLNOTESOFF F1_000525 EQU $ ; IN [PROPELLER3.BAS] END SELECT BC@LL126 BC@LL119 F1_000526 EQU $ ; IN [PROPELLER3.BAS] SET CTRL SETF CTRL,0 F1_000527 EQU $ ; IN [PROPELLER3.BAS] RETURN RETURN 0 ALLNOTESOFF F1_000530 EQU $ ; IN [PROPELLER3.BAS] HPWM 2, 0, FPWM CLRF GEN,0 MOVLW 40 MOVWF PP1,0 MOVLW 38 MOVWF PP1H,0 MOVLW 2 CALL H@PWM F1_000531 EQU $ ; IN [PROPELLER3.BAS] CLEAR OLDVELO CLRF OLDVELO,0 F1_000532 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.4 BCF LATC,4,0 F1_000533 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.5 BSF LATC,5,0 F1_000535 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.0 BCF VELFLAGS,0,0 F1_000536 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.1 BCF VELFLAGS,1,0 F1_000537 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.2 BCF VELFLAGS,2,0 F1_000538 EQU $ ; IN [PROPELLER3.BAS] LOW PORTC.2 BCF TRISC,2,0 BCF LATC,2,0 F1_000539 EQU $ ; IN [PROPELLER3.BAS] LOW PORTC.3 BCF TRISC,3,0 BCF LATC,3,0 F1_000540 EQU $ ; IN [PROPELLER3.BAS] CLEAR LITES CLRF LITES,0 F1_000541 EQU $ ; IN [PROPELLER3.BAS] RETURN RETURN 0 POWERDOWN F1_000544 EQU $ ; IN [PROPELLER3.BAS] HPWM 2, 0, FPWM CLRF GEN,0 MOVLW 40 MOVWF PP1,0 MOVLW 38 MOVWF PP1H,0 MOVLW 2 CALL H@PWM F1_000545 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.4 BCF LATC,4,0 F1_000546 EQU $ ; IN [PROPELLER3.BAS] SET PORTC.5 BSF LATC,5,0 F1_000548 EQU $ ; IN [PROPELLER3.BAS] CLEAR OLDVELO CLRF OLDVELO,0 F1_000549 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0 CLRF VELFLAGS,0 F1_000550 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.2 BCF LATC,2,0 F1_000551 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.3 BCF LATC,3,0 F1_000552 EQU $ ; IN [PROPELLER3.BAS] CLEAR LITES CLRF LITES,0 F1_000553 EQU $ ; IN [PROPELLER3.BAS] CLEAR PW1 CLRF PW1,0 F1_000554 EQU $ ; IN [PROPELLER3.BAS] RETURN RETURN 0 TASK0 F1_000557 EQU $ ; IN [PROPELLER3.BAS] IF LITES.0 = 0 THEN BTFSC LITES,0 BRA BC@LL128 F1_000558 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.0 BCF VELFLAGS,0,0 F1_000559 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.2 BCF LATC,2,0 BRA BC@LL129 BC@LL128 F1_000560 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000563 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000564 EQU $ ; IN [PROPELLER3.BAS] VELTIM = CNT + TASK_RSI[0] MOVFF TASK_RSI#0,PBP#VAR0 MOVFF TASK_RSI#0H,PBP#VAR0H MOVF PBP#VAR0,W,0 ADDWF CNT,W,0 MOVWF VELTIM,0 MOVF PBP#VAR0H,W,0 ADDWFC CNTH,W,0 MOVWF VELTIMH,0 MOVLW 0 ADDWFC CNTHH,W,0 MOVWF VELTIMHH,0 MOVLW 0 ADDWFC CNTHHH,W,0 MOVWF VELTIMHHH,0 F1_000565 EQU $ ; IN [PROPELLER3.BAS] VELMSB[0] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#0 MOVFF VELTIMHHH,VELMSB#0H F1_000566 EQU $ ; IN [PROPELLER3.BAS] VELLSB[0] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#0 MOVFF VELTIMH,VELLSB#0H F1_000567 EQU $ ; IN [PROPELLER3.BAS] BTG PORTC.2 BTG PORTC,2 F1_000568 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL129 F1_000569 EQU $ ; IN [PROPELLER3.BAS] RETURN RETURN 0 TASK1 F1_000572 EQU $ ; IN [PROPELLER3.BAS] IF LITES.1 = 0 THEN BTFSC LITES,1 BRA BC@LL131 F1_000573 EQU $ ; IN [PROPELLER3.BAS] CLEAR VELFLAGS0.1 BCF VELFLAGS,1,0 F1_000574 EQU $ ; IN [PROPELLER3.BAS] CLEAR PORTC.3 BCF LATC,3,0 BRA BC@LL132 BC@LL131 F1_000575 EQU $ ; IN [PROPELLER3.BAS] ELSE F1_000576 EQU $ ; IN [PROPELLER3.BAS] CNT.WORD0 = CNTLW MOVFF TMR0L,CNT MOVFF TMR0LH,CNTH F1_000577 EQU $ ; IN [PROPELLER3.BAS] VELTIM = CNT + TASK_RSI[1] MOVFF TASK_RSI#1,PBP#VAR0 MOVFF TASK_RSI#1H,PBP#VAR0H MOVF PBP#VAR0,W,0 ADDWF CNT,W,0 MOVWF VELTIM,0 MOVF PBP#VAR0H,W,0 ADDWFC CNTH,W,0 MOVWF VELTIMH,0 MOVLW 0 ADDWFC CNTHH,W,0 MOVWF VELTIMHH,0 MOVLW 0 ADDWFC CNTHHH,W,0 MOVWF VELTIMHHH,0 F1_000578 EQU $ ; IN [PROPELLER3.BAS] VELMSB[1] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#1 MOVFF VELTIMHHH,VELMSB#1H F1_000579 EQU $ ; IN [PROPELLER3.BAS] VELLSB[1] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#1 MOVFF VELTIMH,VELLSB#1H F1_000580 EQU $ ; IN [PROPELLER3.BAS] BTG PORTC.3 BTG PORTC,3 F1_000581 EQU $ ; IN [PROPELLER3.BAS] ENDIF BC@LL132 F1_000582 EQU $ ; IN [PROPELLER3.BAS] RETURN RETURN 0 DUR_LOOKUP F1_000606 EQU $ ; IN [PROPELLER3.BAS] DUR[ 1 ] = 59896 MOVLW 248 MOVWF DUR#1,0 MOVLW 233 MOVWF DUR#1H,0 F1_000607 EQU $ ; IN [PROPELLER3.BAS] DUR[ 2 ] = 29948 MOVLW 252 MOVWF DUR#2,0 MOVLW 116 MOVWF DUR#2H,0 F1_000608 EQU $ ; IN [PROPELLER3.BAS] DUR[ 3 ] = 19965 MOVLW 253 MOVWF DUR#3,0 MOVLW 77 MOVWF DUR#3H,0 F1_000609 EQU $ ; IN [PROPELLER3.BAS] DUR[ 4 ] = 14974 MOVLW 126 MOVWF DUR#4,0 MOVLW 58 MOVWF DUR#4H,0 F1_000610 EQU $ ; IN [PROPELLER3.BAS] DUR[ 5 ] = 11979 MOVLW 203 MOVWF DUR#5,0 MOVLW 46 MOVWF DUR#5H,0 F1_000611 EQU $ ; IN [PROPELLER3.BAS] DUR[ 6 ] = 9983 SETF DUR#6,0 MOVLW 38 MOVWF DUR#6H,0 F1_000612 EQU $ ; IN [PROPELLER3.BAS] DUR[ 7 ] = 8557 MOVLW 109 MOVWF DUR#7,0 MOVLW 33 MOVWF DUR#7H,0 F1_000613 EQU $ ; IN [PROPELLER3.BAS] DUR[ 8 ] = 7487 MOVLW 63 MOVWF DUR#8,0 MOVLW 29 MOVWF DUR#8H,0 F1_000614 EQU $ ; IN [PROPELLER3.BAS] DUR[ 9 ] = 6655 SETF DUR#9,0 MOVLW 25 MOVWF DUR#9H,0 F1_000615 EQU $ ; IN [PROPELLER3.BAS] DUR[ 10 ] = 5990 MOVLW 102 MOVWF DUR#10,0 MOVLW 23 MOVWF DUR#10H,0 F1_000616 EQU $ ; IN [PROPELLER3.BAS] DUR[ 11 ] = 5445 MOVLW 69 MOVWF DUR#11,0 MOVLW 21 MOVWF DUR#11H,0 F1_000617 EQU $ ; IN [PROPELLER3.BAS] DUR[ 12 ] = 4991 MOVLW 127 MOVWF DUR#12,0 MOVLW 19 MOVWF DUR#12H,0 F1_000618 EQU $ ; IN [PROPELLER3.BAS] DUR[ 13 ] = 4607 SETF DUR#13,0 MOVLW 17 MOVWF DUR#13H,0 F1_000619 EQU $ ; IN [PROPELLER3.BAS] DUR[ 14 ] = 4278 MOVLW 182 MOVWF DUR#14,0 MOVLW 16 MOVWF DUR#14H,0 F1_000620 EQU $ ; IN [PROPELLER3.BAS] DUR[ 15 ] = 3993 MOVLW 153 MOVWF DUR#15,0 MOVLW 15 MOVWF DUR#15H,0 F1_000621 EQU $ ; IN [PROPELLER3.BAS] DUR[ 16 ] = 3743 MOVLW 159 MOVWF DUR#16,0 MOVLW 14 MOVWF DUR#16H,0 F1_000622 EQU $ ; IN [PROPELLER3.BAS] DUR[ 17 ] = 3523 MOVLW 195 MOVWF DUR#17,0 MOVLW 13 MOVWF DUR#17H,0 F1_000623 EQU $ ; IN [PROPELLER3.BAS] DUR[ 18 ] = 3328 CLRF DUR#18,0 MOVWF DUR#18H,0 F1_000624 EQU $ ; IN [PROPELLER3.BAS] DUR[ 19 ] = 3152 MOVLW 80 MOVWF DUR#19,0 MOVLW 12 MOVWF DUR#19H,0 F1_000625 EQU $ ; IN [PROPELLER3.BAS] DUR[ 20 ] = 2995 MOVLW 179 MOVWF DUR#20,0 MOVLW 11 MOVWF DUR#20H,0 F1_000626 EQU $ ; IN [PROPELLER3.BAS] DUR[ 21 ] = 2852 MOVLW 36 MOVWF DUR#21,0 MOVLW 11 MOVWF DUR#21H,0 F1_000627 EQU $ ; IN [PROPELLER3.BAS] DUR[ 22 ] = 2723 MOVLW 163 MOVWF DUR#22,0 MOVLW 10 MOVWF DUR#22H,0 F1_000628 EQU $ ; IN [PROPELLER3.BAS] DUR[ 23 ] = 2604 MOVLW 44 MOVWF DUR#23,0 MOVLW 10 MOVWF DUR#23H,0 F1_000629 EQU $ ; IN [PROPELLER3.BAS] DUR[ 24 ] = 2496 MOVLW 192 MOVWF DUR#24,0 MOVLW 9 MOVWF DUR#24H,0 F1_000630 EQU $ ; IN [PROPELLER3.BAS] DUR[ 25 ] = 2396 MOVLW 92 MOVWF DUR#25,0 MOVLW 9 MOVWF DUR#25H,0 F1_000631 EQU $ ; IN [PROPELLER3.BAS] DUR[ 26 ] = 2304 CLRF DUR#26,0 MOVWF DUR#26H,0 F1_000632 EQU $ ; IN [PROPELLER3.BAS] DUR[ 27 ] = 2218 MOVLW 170 MOVWF DUR#27,0 MOVLW 8 MOVWF DUR#27H,0 F1_000633 EQU $ ; IN [PROPELLER3.BAS] DUR[ 28 ] = 2139 MOVLW 91 MOVWF DUR#28,0 MOVLW 8 MOVWF DUR#28H,0 F1_000634 EQU $ ; IN [PROPELLER3.BAS] DUR[ 29 ] = 2065 MOVLW 17 MOVWF DUR#29,0 MOVLW 8 MOVWF DUR#29H,0 F1_000635 EQU $ ; IN [PROPELLER3.BAS] DUR[ 30 ] = 1997 MOVLW 205 MOVWF DUR#30,0 MOVLW 7 MOVWF DUR#30H,0 F1_000636 EQU $ ; IN [PROPELLER3.BAS] DUR[ 31 ] = 1932 MOVLW 140 MOVWF DUR#31 MOVLW 7 MOVWF DUR#31H F1_000637 EQU $ ; IN [PROPELLER3.BAS] DUR[ 32 ] = 1872 MOVLW 80 MOVWF DUR#32 MOVLW 7 MOVWF DUR#32H F1_000638 EQU $ ; IN [PROPELLER3.BAS] DUR[ 33 ] = 1815 MOVLW 23 MOVWF DUR#33 MOVLW 7 MOVWF DUR#33H F1_000639 EQU $ ; IN [PROPELLER3.BAS] DUR[ 34 ] = 1762 MOVLW 226 MOVWF DUR#34 MOVLW 6 MOVWF DUR#34H F1_000640 EQU $ ; IN [PROPELLER3.BAS] DUR[ 35 ] = 1711 MOVLW 175 MOVWF DUR#35 MOVLW 6 MOVWF DUR#35H F1_000641 EQU $ ; IN [PROPELLER3.BAS] DUR[ 36 ] = 1664 MOVLW 128 MOVWF DUR#36 MOVLW 6 MOVWF DUR#36H F1_000642 EQU $ ; IN [PROPELLER3.BAS] DUR[ 37 ] = 1619 MOVLW 83 MOVWF DUR#37 MOVLW 6 MOVWF DUR#37H F1_000643 EQU $ ; IN [PROPELLER3.BAS] DUR[ 38 ] = 1576 MOVLW 40 MOVWF DUR#38 MOVLW 6 MOVWF DUR#38H F1_000644 EQU $ ; IN [PROPELLER3.BAS] DUR[ 39 ] = 1536 CLRF DUR#39 MOVWF DUR#39H F1_000645 EQU $ ; IN [PROPELLER3.BAS] DUR[ 40 ] = 1497 MOVLW 217 MOVWF DUR#40 MOVLW 5 MOVWF DUR#40H F1_000646 EQU $ ; IN [PROPELLER3.BAS] DUR[ 41 ] = 1461 MOVLW 181 MOVWF DUR#41 MOVLW 5 MOVWF DUR#41H F1_000647 EQU $ ; IN [PROPELLER3.BAS] DUR[ 42 ] = 1426 MOVLW 146 MOVWF DUR#42 MOVLW 5 MOVWF DUR#42H F1_000648 EQU $ ; IN [PROPELLER3.BAS] DUR[ 43 ] = 1393 MOVLW 113 MOVWF DUR#43 MOVLW 5 MOVWF DUR#43H F1_000649 EQU $ ; IN [PROPELLER3.BAS] DUR[ 44 ] = 1361 MOVLW 81 MOVWF DUR#44 MOVLW 5 MOVWF DUR#44H F1_000650 EQU $ ; IN [PROPELLER3.BAS] DUR[ 45 ] = 1331 MOVLW 51 MOVWF DUR#45 MOVLW 5 MOVWF DUR#45H F1_000651 EQU $ ; IN [PROPELLER3.BAS] DUR[ 46 ] = 1302 MOVLW 22 MOVWF DUR#46 MOVLW 5 MOVWF DUR#46H F1_000652 EQU $ ; IN [PROPELLER3.BAS] DUR[ 47 ] = 1274 MOVLW 250 MOVWF DUR#47 MOVLW 4 MOVWF DUR#47H F1_000653 EQU $ ; IN [PROPELLER3.BAS] DUR[ 48 ] = 1248 MOVLW 224 MOVWF DUR#48 MOVLW 4 MOVWF DUR#48H F1_000654 EQU $ ; IN [PROPELLER3.BAS] DUR[ 49 ] = 1222 MOVLW 198 MOVWF DUR#49 MOVLW 4 MOVWF DUR#49H F1_000655 EQU $ ; IN [PROPELLER3.BAS] DUR[ 50 ] = 1198 MOVLW 174 MOVWF DUR#50 MOVLW 4 MOVWF DUR#50H F1_000656 EQU $ ; IN [PROPELLER3.BAS] DUR[ 51 ] = 1174 MOVLW 150 MOVWF DUR#51 MOVLW 4 MOVWF DUR#51H F1_000657 EQU $ ; IN [PROPELLER3.BAS] DUR[ 52 ] = 1152 MOVLW 128 MOVWF DUR#52 MOVLW 4 MOVWF DUR#52H F1_000658 EQU $ ; IN [PROPELLER3.BAS] DUR[ 53 ] = 1130 MOVLW 106 MOVWF DUR#53 MOVLW 4 MOVWF DUR#53H F1_000659 EQU $ ; IN [PROPELLER3.BAS] DUR[ 54 ] = 1109 MOVLW 85 MOVWF DUR#54 MOVLW 4 MOVWF DUR#54H F1_000660 EQU $ ; IN [PROPELLER3.BAS] DUR[ 55 ] = 1089 MOVLW 65 MOVWF DUR#55 MOVLW 4 MOVWF DUR#55H F1_000661 EQU $ ; IN [PROPELLER3.BAS] DUR[ 56 ] = 1070 MOVLW 46 MOVWF DUR#56 MOVLW 4 MOVWF DUR#56H F1_000662 EQU $ ; IN [PROPELLER3.BAS] DUR[ 57 ] = 1051 MOVLW 27 MOVWF DUR#57 MOVLW 4 MOVWF DUR#57H F1_000663 EQU $ ; IN [PROPELLER3.BAS] DUR[ 58 ] = 1033 MOVLW 9 MOVWF DUR#58 MOVLW 4 MOVWF DUR#58H F1_000664 EQU $ ; IN [PROPELLER3.BAS] DUR[ 59 ] = 1015 MOVLW 247 MOVWF DUR#59 MOVLW 3 MOVWF DUR#59H F1_000665 EQU $ ; IN [PROPELLER3.BAS] DUR[ 60 ] = 998 MOVLW 230 MOVWF DUR#60 MOVLW 3 MOVWF DUR#60H F1_000666 EQU $ ; IN [PROPELLER3.BAS] DUR[ 61 ] = 982 MOVLW 214 MOVWF DUR#61 MOVLW 3 MOVWF DUR#61H F1_000667 EQU $ ; IN [PROPELLER3.BAS] DUR[ 62 ] = 966 MOVLW 198 MOVWF DUR#62 MOVLW 3 MOVWF DUR#62H F1_000668 EQU $ ; IN [PROPELLER3.BAS] DUR[ 63 ] = 951 MOVLW 183 MOVWF DUR#63 MOVLW 3 MOVWF DUR#63H F1_000669 EQU $ ; IN [PROPELLER3.BAS] DUR[ 64 ] = 936 MOVLW 168 MOVWF DUR#64 MOVLW 3 MOVWF DUR#64H F1_000670 EQU $ ; IN [PROPELLER3.BAS] DUR[ 65 ] = 921 MOVLW 153 MOVWF DUR#65 MOVLW 3 MOVWF DUR#65H F1_000671 EQU $ ; IN [PROPELLER3.BAS] DUR[ 66 ] = 908 MOVLW 140 MOVWF DUR#66 MOVLW 3 MOVWF DUR#66H F1_000672 EQU $ ; IN [PROPELLER3.BAS] DUR[ 67 ] = 894 MOVLW 126 MOVWF DUR#67 MOVLW 3 MOVWF DUR#67H F1_000673 EQU $ ; IN [PROPELLER3.BAS] DUR[ 68 ] = 881 MOVLW 113 MOVWF DUR#68 MOVLW 3 MOVWF DUR#68H F1_000674 EQU $ ; IN [PROPELLER3.BAS] DUR[ 69 ] = 868 MOVLW 100 MOVWF DUR#69 MOVLW 3 MOVWF DUR#69H F1_000675 EQU $ ; IN [PROPELLER3.BAS] DUR[ 70 ] = 856 MOVLW 88 MOVWF DUR#70 MOVLW 3 MOVWF DUR#70H F1_000676 EQU $ ; IN [PROPELLER3.BAS] DUR[ 71 ] = 844 MOVLW 76 MOVWF DUR#71 MOVLW 3 MOVWF DUR#71H F1_000677 EQU $ ; IN [PROPELLER3.BAS] DUR[ 72 ] = 832 MOVLW 64 MOVWF DUR#72 MOVLW 3 MOVWF DUR#72H F1_000678 EQU $ ; IN [PROPELLER3.BAS] DUR[ 73 ] = 820 MOVLW 52 MOVWF DUR#73 MOVLW 3 MOVWF DUR#73H F1_000679 EQU $ ; IN [PROPELLER3.BAS] DUR[ 74 ] = 809 MOVLW 41 MOVWF DUR#74 MOVLW 3 MOVWF DUR#74H F1_000680 EQU $ ; IN [PROPELLER3.BAS] DUR[ 75 ] = 799 MOVLW 31 MOVWF DUR#75 MOVLW 3 MOVWF DUR#75H F1_000681 EQU $ ; IN [PROPELLER3.BAS] DUR[ 76 ] = 788 MOVLW 20 MOVWF DUR#76 MOVLW 3 MOVWF DUR#76H F1_000682 EQU $ ; IN [PROPELLER3.BAS] DUR[ 77 ] = 778 MOVLW 10 MOVWF DUR#77 MOVLW 3 MOVWF DUR#77H F1_000683 EQU $ ; IN [PROPELLER3.BAS] DUR[ 78 ] = 768 CLRF DUR#78 MOVWF DUR#78H F1_000684 EQU $ ; IN [PROPELLER3.BAS] DUR[ 79 ] = 758 MOVLW 246 MOVWF DUR#79 MOVLW 2 MOVWF DUR#79H F1_000685 EQU $ ; IN [PROPELLER3.BAS] DUR[ 80 ] = 749 MOVLW 237 MOVWF DUR#80 MOVLW 2 MOVWF DUR#80H F1_000686 EQU $ ; IN [PROPELLER3.BAS] DUR[ 81 ] = 739 MOVLW 227 MOVWF DUR#81 MOVLW 2 MOVWF DUR#81H F1_000687 EQU $ ; IN [PROPELLER3.BAS] DUR[ 82 ] = 730 MOVLW 218 MOVWF DUR#82 MOVLW 2 MOVWF DUR#82H F1_000688 EQU $ ; IN [PROPELLER3.BAS] DUR[ 83 ] = 722 MOVLW 210 MOVWF DUR#83 MOVLW 2 MOVWF DUR#83H F1_000689 EQU $ ; IN [PROPELLER3.BAS] DUR[ 84 ] = 713 MOVLW 201 MOVWF DUR#84 MOVLW 2 MOVWF DUR#84H F1_000690 EQU $ ; IN [PROPELLER3.BAS] DUR[ 85 ] = 705 MOVLW 193 MOVWF DUR#85 MOVLW 2 MOVWF DUR#85H F1_000691 EQU $ ; IN [PROPELLER3.BAS] DUR[ 86 ] = 696 MOVLW 184 MOVWF DUR#86 MOVLW 2 MOVWF DUR#86H F1_000692 EQU $ ; IN [PROPELLER3.BAS] DUR[ 87 ] = 688 MOVLW 176 MOVWF DUR#87 MOVLW 2 MOVWF DUR#87H F1_000693 EQU $ ; IN [PROPELLER3.BAS] DUR[ 88 ] = 681 MOVLW 169 MOVWF DUR#88 MOVLW 2 MOVWF DUR#88H F1_000694 EQU $ ; IN [PROPELLER3.BAS] DUR[ 89 ] = 673 MOVLW 161 MOVWF DUR#89 MOVLW 2 MOVWF DUR#89H F1_000695 EQU $ ; IN [PROPELLER3.BAS] DUR[ 90 ] = 666 MOVLW 154 MOVWF DUR#90 MOVLW 2 MOVWF DUR#90H F1_000696 EQU $ ; IN [PROPELLER3.BAS] DUR[ 91 ] = 658 MOVLW 146 MOVWF DUR#91 MOVLW 2 MOVWF DUR#91H F1_000697 EQU $ ; IN [PROPELLER3.BAS] DUR[ 92 ] = 651 MOVLW 139 MOVWF DUR#92 MOVLW 2 MOVWF DUR#92H F1_000698 EQU $ ; IN [PROPELLER3.BAS] DUR[ 93 ] = 644 MOVLW 132 MOVWF DUR#93 MOVLW 2 MOVWF DUR#93H F1_000699 EQU $ ; IN [PROPELLER3.BAS] DUR[ 94 ] = 637 MOVLW 125 MOVWF DUR#94 MOVLW 2 MOVWF DUR#94H F1_000700 EQU $ ; IN [PROPELLER3.BAS] DUR[ 95 ] = 630 MOVLW 118 MOVLB 1 MOVWF DUR#95 MOVLW 2 MOVWF DUR#95H F1_000701 EQU $ ; IN [PROPELLER3.BAS] DUR[ 96 ] = 624 MOVLW 112 MOVWF DUR#96 MOVLW 2 MOVWF DUR#96H F1_000702 EQU $ ; IN [PROPELLER3.BAS] DUR[ 97 ] = 617 MOVLW 105 MOVWF DUR#97 MOVLW 2 MOVWF DUR#97H F1_000703 EQU $ ; IN [PROPELLER3.BAS] DUR[ 98 ] = 611 MOVLW 99 MOVWF DUR#98 MOVLW 2 MOVWF DUR#98H F1_000704 EQU $ ; IN [PROPELLER3.BAS] DUR[ 99 ] = 605 MOVLW 93 MOVWF DUR#99 MOVLW 2 MOVWF DUR#99H F1_000705 EQU $ ; IN [PROPELLER3.BAS] DUR[ 100 ] = 599 MOVLW 87 MOVWF DUR#100 MOVLW 2 MOVWF DUR#100H F1_000706 EQU $ ; IN [PROPELLER3.BAS] DUR[ 101 ] = 593 MOVLW 81 MOVWF DUR#101 MOVLW 2 MOVWF DUR#101H F1_000707 EQU $ ; IN [PROPELLER3.BAS] DUR[ 102 ] = 587 MOVLW 75 MOVWF DUR#102 MOVLW 2 MOVWF DUR#102H F1_000708 EQU $ ; IN [PROPELLER3.BAS] DUR[ 103 ] = 582 MOVLW 70 MOVWF DUR#103 MOVLW 2 MOVWF DUR#103H F1_000709 EQU $ ; IN [PROPELLER3.BAS] DUR[ 104 ] = 576 MOVLW 64 MOVWF DUR#104 MOVLW 2 MOVWF DUR#104H F1_000710 EQU $ ; IN [PROPELLER3.BAS] DUR[ 105 ] = 570 MOVLW 58 MOVWF DUR#105 MOVLW 2 MOVWF DUR#105H F1_000711 EQU $ ; IN [PROPELLER3.BAS] DUR[ 106 ] = 565 MOVLW 53 MOVWF DUR#106 MOVLW 2 MOVWF DUR#106H F1_000712 EQU $ ; IN [PROPELLER3.BAS] DUR[ 107 ] = 560 MOVLW 48 MOVWF DUR#107 MOVLW 2 MOVWF DUR#107H F1_000713 EQU $ ; IN [PROPELLER3.BAS] DUR[ 108 ] = 555 MOVLW 43 MOVWF DUR#108 MOVLW 2 MOVWF DUR#108H F1_000714 EQU $ ; IN [PROPELLER3.BAS] DUR[ 109 ] = 550 MOVLW 38 MOVWF DUR#109 MOVLW 2 MOVWF DUR#109H F1_000715 EQU $ ; IN [PROPELLER3.BAS] DUR[ 110 ] = 545 MOVLW 33 MOVWF DUR#110 MOVLW 2 MOVWF DUR#110H F1_000716 EQU $ ; IN [PROPELLER3.BAS] DUR[ 111 ] = 540 MOVLW 28 MOVWF DUR#111 MOVLW 2 MOVWF DUR#111H F1_000717 EQU $ ; IN [PROPELLER3.BAS] DUR[ 112 ] = 535 MOVLW 23 MOVWF DUR#112 MOVLW 2 MOVWF DUR#112H F1_000718 EQU $ ; IN [PROPELLER3.BAS] DUR[ 113 ] = 530 MOVLW 18 MOVWF DUR#113 MOVLW 2 MOVWF DUR#113H F1_000719 EQU $ ; IN [PROPELLER3.BAS] DUR[ 114 ] = 525 MOVLW 13 MOVWF DUR#114 MOVLW 2 MOVWF DUR#114H F1_000720 EQU $ ; IN [PROPELLER3.BAS] DUR[ 115 ] = 521 MOVLW 9 MOVWF DUR#115 MOVLW 2 MOVWF DUR#115H F1_000721 EQU $ ; IN [PROPELLER3.BAS] DUR[ 116 ] = 516 MOVLW 4 MOVWF DUR#116 MOVLW 2 MOVWF DUR#116H F1_000722 EQU $ ; IN [PROPELLER3.BAS] DUR[ 117 ] = 512 CLRF DUR#117 MOVWF DUR#117H F1_000723 EQU $ ; IN [PROPELLER3.BAS] DUR[ 118 ] = 508 MOVLW 252 MOVWF DUR#118 MOVLW 1 MOVWF DUR#118H F1_000724 EQU $ ; IN [PROPELLER3.BAS] DUR[ 119 ] = 503 MOVLW 247 MOVWF DUR#119 MOVLW 1 MOVWF DUR#119H F1_000725 EQU $ ; IN [PROPELLER3.BAS] DUR[ 120 ] = 499 MOVLW 243 MOVWF DUR#120 MOVLW 1 MOVWF DUR#120H F1_000726 EQU $ ; IN [PROPELLER3.BAS] DUR[ 121 ] = 495 MOVLW 239 MOVWF DUR#121 MOVLW 1 MOVWF DUR#121H F1_000727 EQU $ ; IN [PROPELLER3.BAS] DUR[ 122 ] = 491 MOVLW 235 MOVWF DUR#122 MOVLW 1 MOVWF DUR#122H F1_000728 EQU $ ; IN [PROPELLER3.BAS] DUR[ 123 ] = 487 MOVLW 231 MOVWF DUR#123 MOVLW 1 MOVWF DUR#123H F1_000729 EQU $ ; IN [PROPELLER3.BAS] DUR[ 124 ] = 483 MOVLW 227 MOVWF DUR#124 MOVLW 1 MOVWF DUR#124H F1_000730 EQU $ ; IN [PROPELLER3.BAS] DUR[ 125 ] = 479 MOVLW 223 MOVWF DUR#125 MOVLW 1 MOVWF DUR#125H F1_000731 EQU $ ; IN [PROPELLER3.BAS] DUR[ 126 ] = 475 MOVLW 219 MOVWF DUR#126 MOVLW 1 MOVWF DUR#126H F1_000732 EQU $ ; IN [PROPELLER3.BAS] DUR[ 127 ] = 472 MOVLW 216 MOVWF DUR#127 MOVLW 1 MOVWF DUR#127H F1_000733 EQU $ ; IN [PROPELLER3.BAS] RETURN MOVLB 0 RETURN 0 BRAKE_LOOKUP F1_000736 EQU $ ; IN [PROPELLER3.BAS] BRAK[1] = 65535 MOVLB 1 SETF BRAK#1 SETF BRAK#1H F1_000737 EQU $ ; IN [PROPELLER3.BAS] FOR I = 2 TO 127 MOVLW 2 MOVWF _I,0 FR@LB134 MOVLB 0 MOVLW 128 SUBWF _I,W,0 BC NX@LB135 F1_000738 EQU $ ; IN [PROPELLER3.BAS] BRAK[I] = BRAK[I -1] - 473 DECF _I,W,0 MOVWF PBP#VAR2,0 LFSR 0,BRAK BCF STATUS,0,0 RLCF PBP#VAR2,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0H,F,0 MOVFF POSTINC0,PBP#VAR1 MOVFF INDF0,PBP#VAR1H MOVLW 217 SUBWF PBP#VAR1,W,0 MOVWF PBP#VAR0,0 MOVLW 1 SUBWFB PBP#VAR1H,W,0 MOVWF PBP#VAR0H,0 LFSR 0,BRAK BCF STATUS,0,0 RLCF _I,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0H,F,0 MOVFF PBP#VAR0,POSTINC0 MOVFF PBP#VAR0H,INDF0 F1_000739 EQU $ ; IN [PROPELLER3.BAS] NEXT I INCF _I,F,0 BNZ FR@LB134 NX@LB135 F1_000769 EQU $ ; IN [PROPELLER3.BAS] RETURN RETURN 0 F1_EOF EQU $ ; PROPELLER3.BAS PB@LB136 BRA PB@LB136 __EOF CONFIG DEBUG = OFF CONFIG XINST = OFF CONFIG STVREN = OFF CONFIG FCMEN = OFF CONFIG OSC = HSPLL CONFIG IESO = OFF CONFIG WDT = OFF CONFIG WDTPS = 128 CONFIG BOREN = SBORDIS CONFIG BORV = 2 CONFIG MCLRE = ON CONFIG LPT1OSC = ON CONFIG PBADEN = OFF CONFIG CCP2MX = PORTC CONFIG LVP = OFF CONFIG CP0 = OFF CONFIG CP1 = OFF CONFIG CPB = OFF CONFIG CPD = OFF CONFIG WRT0 = OFF CONFIG WRT1 = OFF CONFIG WRTB = OFF CONFIG WRTC = OFF CONFIG WRTD = OFF CONFIG EBTR0 = OFF CONFIG EBTR1 = OFF CONFIG EBTRB = OFF END