;---------------------------------------------------------- ; 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 LIST P = 18F25K20, F = INHX32, W = 2, X = ON, R = DEC, MM = ON, N = 0, C = 255, T=ON SSPMSK EQU 0X0F77 SLRCON EQU 0X0F78 CM2CON1 EQU 0X0F79 CM2CON0 EQU 0X0F7A CM1CON0 EQU 0X0F7B WPUB EQU 0X0F7C IOCB EQU 0X0F7D ANSEL EQU 0X0F7E ANSELH EQU 0X0F7F 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 EEDAT EQU 0X0FA8 EEADR EQU 0X0FA9 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 CVRCON2 EQU 0X0FB4 CVRCON EQU 0X0FB5 ECCP1AS EQU 0X0FB6 PWM1CON EQU 0X0FB7 BAUDCON EQU 0X0FB8 BAUDCTL EQU 0X0FB8 PSTRCON EQU 0X0FB9 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 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 MSK0=0 MSK1=1 MSK2=2 MSK3=3 MSK4=4 MSK5=5 MSK6=6 MSK7=7 SLRA=0 SLRB=1 SLRC=2 SLRD=3 SLRE=4 C2RSEL=4 C1RSEL=5 MC2OUT=6 MC1OUT=7 C2CH0=0 C2CH1=1 C2R=2 C2SP=3 C2POL=4 C2OE=5 C2OUT_CM2CON0=6 C2ON=7 C1CH0=0 C1CH1=1 C1R=2 C1SP=3 C1POL=4 C1OE=5 C1OUT_CM1CON0=6 C1ON=7 WPUB0=0 WPUB1=1 WPUB2=2 WPUB3=3 WPUB4=4 WPUB5=5 WPUB6=6 WPUB7=7 IOCB4=4 IOCB5=5 IOCB6=6 IOCB7=7 ANS0=0 ANS1=1 ANS2=2 ANS3=3 ANS4=4 ANS5=5 ANS6=6 ANS7=7 ANS8=0 ANS9=1 ANS10=2 ANS11=3 ANS12=4 RA0=0 RA1=1 RA2=2 RA3=3 RA4=4 RA5=5 RA6=6 RA7=7 AN0=0 AN1=1 AN2=2 AN3=3 AN4=5 C12IN0M=0 C12IN1M=1 C2INP=2 C1INP=3 C1OUT_PORTA=4 C2OUT_PORTA=5 C12IN0N=0 C12IN1N=1 VREFM=2 VREFP=3 T0CKI=4 SS=5 VREFN=2 NOT_SS=5 CVREF=2 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 FLT0=0 C12IN3M=1 C12IN2M=3 C12IN3N=1 C12IN2N=3 P1C=1 P1B=2 P1D=4 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 P1A=2 SCL=3 SDA=4 CK=6 T1CKI=0 T3CKI=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 TUN5=5 PLLEN=6 INTSRC=7 TMR1IE=0 TMR2IE=1 CCP1IE=2 SSPIE=3 TXIE=4 RCIE=5 ADIE=6 PSPIE=7 TMR1IF=0 TMR2IF=1 CCP1IF=2 SSPIF=3 TXIF=4 PP_TXIF=4 RCIF=5 PP_RCIF=5 ADIF=6 PSPIF=7 TMR1IP=0 TMR2IP=1 CCP1IP=2 SSPIP=3 TXIP=4 RCIP=5 ADIP=6 PSPIP=7 CCP2IE=0 TMR3IE=1 LVDIE=2 BCLIE=3 EEIE=4 C2IE=5 C1IE=6 OSCFIE=7 HLVDIE=2 CCP2IF=0 TMR3IF=1 LVDIF=2 BCLIF=3 EEIF=4 C2IF=5 C1IF=6 OSCFIF=7 HLVDIF=2 CCP2IP=0 TMR3IP=1 LVDIP=2 BCLIP=3 EEIP=4 C2IP=5 C1IP=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 FVRST=6 FVREN=7 CVR0=0 CVR1=1 CVR2=2 CVR3=3 CVRSS=4 CVRR=5 CVROE=6 CVREN=7 PSSBD0=0 PSSBD1=1 PSSAC0=2 PSSAC1=3 ECCPAS0=4 ECCPAS1=5 ECCPAS2=6 ECCPASE=7 PDC0=0 PDC1=1 PDC2=2 PDC3=3 PDC4=4 PDC5=5 PDC6=6 PRSEN=7 ABDEN=0 WUE=1 BRG16=3 CKTXP=4 DTRXP=5 RCIDL=6 ABDOVF=7 SCKP=4 STRA=0 STRB=1 STRC=2 STRD=3 STRSYNC=4 CCP2M0=0 CCP2M1=1 CCP2M2=2 CCP2M3=3 DC2B0=4 DC2B1=5 CCP1M0=0 CCP1M1=1 CCP1M2=2 CCP1M3=3 DC1B0=4 DC1B1=5 P1M0=6 P1M1=7 ADCS0=0 ADCS1=1 ADCS2=2 ACQT0=3 ACQT1=4 ACQT2=5 ADFM=7 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 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 T0PS0=0 T0PS1=1 T0PS2=2 PSA=3 T0SE=4 T0CS=5 T08BIT=6 TMR0ON=7 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 SP0=0 SP1=1 SP2=2 SP3=3 SP4=4 STKUNF=6 STKOVF=7 STKFUL=7 __MAXRAM 0X0FFF __BADRAM 0X0600-0X0F5F __BADRAM 0X0F83 __BADRAM 0X0F85-0X0F88 __BADRAM 0X0F8C-0X0F91 __BADRAM 0X0F95-0X0F9A __BADRAM 0X0F9C __BADRAM 0X0FA3-0X0FA5 __BADRAM 0X0FAA __BADRAM 0X0FD4 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 FOSC_LP_1 EQU 0XF0 FOSC_XT_1 EQU 0XF1 FOSC_HS_1 EQU 0XF2 FOSC_RC_1 EQU 0XF3 FOSC_EC_1 EQU 0XF4 FOSC_ECIO6_1 EQU 0XF5 FOSC_HSPLL_1 EQU 0XF6 FOSC_RCIO6_1 EQU 0XF7 FOSC_INTIO67_1 EQU 0XF8 FOSC_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_30_2 EQU 0XE7 BORV_27_2 EQU 0XEF BORV_22_2 EQU 0XF7 BORV_18_2 EQU 0XFF WDTEN_OFF_2 EQU 0XFE WDTEN_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 HFOFST_OFF_3 EQU 0XF7 HFOFST_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 CP3_ON_5 EQU 0XF7 CP3_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 WRT3_ON_6 EQU 0XF7 WRT3_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 EBTR3_ON_7 EQU 0XF7 EBTR3_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 __18F25K20 1 #DEFINE XTAL 64 #DEFINE _CORE 16 #DEFINE _MAXRAM 1266 #DEFINE _RAM_END 1536 #DEFINE _MAXMEM 32768 #DEFINE _ADC 11 #DEFINE _ADC_RES 10 #DEFINE _EEPROM 256 #DEFINE RAM_BANKS 6 #DEFINE _USART 1 #DEFINE _USB 0 #DEFINE _USB#RAM_START 0 #DEFINE _FLASH 1 #DEFINE _CWRITE_BLOCK 32 #DEFINE BANK0_START 96 #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 BANKA_START 0 #DEFINE BANKA_END 95 #DEFINE _SYSTEM_VARIABLE_COUNT 52 RAM_BANK = 0 #DEFINE LCD#TYPE 0 #DEFINE __HIGH_INTERRUPTS_ENABLED 1 #DEFINE _HIGH_INT_SUB_ADDRESS 1267 #DEFINE _HIGH_INT_SUB_AMOUNT 13 #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 #DEFINE _OPENTIMER0#REQ 1 GEN = 0 PBP#VAR0 = 1 PBP#VAR0H = 2 PP0 = 3 PP0H = 4 PP1 = 5 PP1H = 6 PP2 = 7 PP2H = 8 PP3 = 9 PP3H = 10 PP4 = 11 PP4H = 12 PP7 = 13 PP7H = 14 CNTHW = 15 BYTEIN = 16 _I = 17 STATUSBYTE = 18 NOTEUIT = 19 RELEASE = 20 NOTEAAN = 21 VELO = 22 NOTEPRES = 23 PRES = 24 CTRL = 25 VALUE = 26 PROG = 27 AFT = 28 PBLSB = 29 PBMSB = 30 VELTIM = 31 VELTIMH = 32 VELTIMHH = 33 VELTIMHHH = 34 NEWTIM = 35 NEWTIMH = 36 NEWTIMHH = 37 NEWTIMHHH = 38 VELFLAGS = 39 VELFLAGSH = 40 CC66 = 41 ST = 42 B1 = 43 B2 = 44 CNT = 45 CNTH = 46 LITES = 47 USART_FSR1_SAVE = 48 USART_FSR1_SAVEH = 49 INDEXIN = 50 INDEXOUT = 51 TASK_RSI = 52 TASK_RSIH = 53 VARIABLE TASK_RSI#0=52,TASK_RSI#0H=53,TASK_RSI#1=54,TASK_RSI#1H=55 VARIABLE TASK_RSI#2=56,TASK_RSI#2H=57,TASK_RSI#3=58,TASK_RSI#3H=59 VARIABLE TASK_RSI#4=60,TASK_RSI#4H=61 VELMSB = 62 VELMSBH = 63 VARIABLE VELMSB#0=62,VELMSB#0H=63,VELMSB#1=64,VELMSB#1H=65 VARIABLE VELMSB#2=66,VELMSB#2H=67,VELMSB#3=68,VELMSB#3H=69 VARIABLE VELMSB#4=70,VELMSB#4H=71 VELLSB = 72 VELLSBH = 73 VARIABLE VELLSB#0=72,VELLSB#0H=73,VELLSB#1=74,VELLSB#1H=75 VARIABLE VELLSB#2=76,VELLSB#2H=77,VELLSB#3=78,VELLSB#3H=79 VARIABLE VELLSB#4=80,VELLSB#4H=81 RINGBUFFER = 1280 VARIABLE RINGBUFFER#0=1280,RINGBUFFER#1=1281,RINGBUFFER#2=1282,RINGBUFFER#3=1283 VARIABLE RINGBUFFER#4=1284,RINGBUFFER#5=1285,RINGBUFFER#6=1286,RINGBUFFER#7=1287 VARIABLE RINGBUFFER#8=1288,RINGBUFFER#9=1289,RINGBUFFER#10=1290,RINGBUFFER#11=1291 VARIABLE RINGBUFFER#12=1292,RINGBUFFER#13=1293,RINGBUFFER#14=1294,RINGBUFFER#15=1295 VARIABLE RINGBUFFER#16=1296,RINGBUFFER#17=1297,RINGBUFFER#18=1298,RINGBUFFER#19=1299 VARIABLE RINGBUFFER#20=1300,RINGBUFFER#21=1301,RINGBUFFER#22=1302,RINGBUFFER#23=1303 VARIABLE RINGBUFFER#24=1304,RINGBUFFER#25=1305,RINGBUFFER#26=1306,RINGBUFFER#27=1307 VARIABLE RINGBUFFER#28=1308,RINGBUFFER#29=1309,RINGBUFFER#30=1310,RINGBUFFER#31=1311 VARIABLE RINGBUFFER#32=1312,RINGBUFFER#33=1313,RINGBUFFER#34=1314,RINGBUFFER#35=1315 VARIABLE RINGBUFFER#36=1316,RINGBUFFER#37=1317,RINGBUFFER#38=1318,RINGBUFFER#39=1319 VARIABLE RINGBUFFER#40=1320,RINGBUFFER#41=1321,RINGBUFFER#42=1322,RINGBUFFER#43=1323 VARIABLE RINGBUFFER#44=1324,RINGBUFFER#45=1325,RINGBUFFER#46=1326,RINGBUFFER#47=1327 VARIABLE RINGBUFFER#48=1328,RINGBUFFER#49=1329,RINGBUFFER#50=1330,RINGBUFFER#51=1331 VARIABLE RINGBUFFER#52=1332,RINGBUFFER#53=1333,RINGBUFFER#54=1334,RINGBUFFER#55=1335 VARIABLE RINGBUFFER#56=1336,RINGBUFFER#57=1337,RINGBUFFER#58=1338,RINGBUFFER#59=1339 VARIABLE RINGBUFFER#60=1340,RINGBUFFER#61=1341,RINGBUFFER#62=1342,RINGBUFFER#63=1343 VARIABLE RINGBUFFER#64=1344,RINGBUFFER#65=1345,RINGBUFFER#66=1346,RINGBUFFER#67=1347 VARIABLE RINGBUFFER#68=1348,RINGBUFFER#69=1349,RINGBUFFER#70=1350,RINGBUFFER#71=1351 VARIABLE RINGBUFFER#72=1352,RINGBUFFER#73=1353,RINGBUFFER#74=1354,RINGBUFFER#75=1355 VARIABLE RINGBUFFER#76=1356,RINGBUFFER#77=1357,RINGBUFFER#78=1358,RINGBUFFER#79=1359 VARIABLE RINGBUFFER#80=1360,RINGBUFFER#81=1361,RINGBUFFER#82=1362,RINGBUFFER#83=1363 VARIABLE RINGBUFFER#84=1364,RINGBUFFER#85=1365,RINGBUFFER#86=1366,RINGBUFFER#87=1367 VARIABLE RINGBUFFER#88=1368,RINGBUFFER#89=1369,RINGBUFFER#90=1370,RINGBUFFER#91=1371 VARIABLE RINGBUFFER#92=1372,RINGBUFFER#93=1373,RINGBUFFER#94=1374,RINGBUFFER#95=1375 VARIABLE RINGBUFFER#96=1376,RINGBUFFER#97=1377,RINGBUFFER#98=1378,RINGBUFFER#99=1379 VARIABLE RINGBUFFER#100=1380,RINGBUFFER#101=1381,RINGBUFFER#102=1382,RINGBUFFER#103=1383 VARIABLE RINGBUFFER#104=1384,RINGBUFFER#105=1385,RINGBUFFER#106=1386,RINGBUFFER#107=1387 VARIABLE RINGBUFFER#108=1388,RINGBUFFER#109=1389,RINGBUFFER#110=1390,RINGBUFFER#111=1391 VARIABLE RINGBUFFER#112=1392,RINGBUFFER#113=1393,RINGBUFFER#114=1394,RINGBUFFER#115=1395 VARIABLE RINGBUFFER#116=1396,RINGBUFFER#117=1397,RINGBUFFER#118=1398,RINGBUFFER#119=1399 VARIABLE RINGBUFFER#120=1400,RINGBUFFER#121=1401,RINGBUFFER#122=1402,RINGBUFFER#123=1403 VARIABLE RINGBUFFER#124=1404,RINGBUFFER#125=1405,RINGBUFFER#126=1406,RINGBUFFER#127=1407 VARIABLE RINGBUFFER#128=1408,RINGBUFFER#129=1409,RINGBUFFER#130=1410,RINGBUFFER#131=1411 VARIABLE RINGBUFFER#132=1412,RINGBUFFER#133=1413,RINGBUFFER#134=1414,RINGBUFFER#135=1415 VARIABLE RINGBUFFER#136=1416,RINGBUFFER#137=1417,RINGBUFFER#138=1418,RINGBUFFER#139=1419 VARIABLE RINGBUFFER#140=1420,RINGBUFFER#141=1421,RINGBUFFER#142=1422,RINGBUFFER#143=1423 VARIABLE RINGBUFFER#144=1424,RINGBUFFER#145=1425,RINGBUFFER#146=1426,RINGBUFFER#147=1427 VARIABLE RINGBUFFER#148=1428,RINGBUFFER#149=1429,RINGBUFFER#150=1430,RINGBUFFER#151=1431 VARIABLE RINGBUFFER#152=1432,RINGBUFFER#153=1433,RINGBUFFER#154=1434,RINGBUFFER#155=1435 VARIABLE RINGBUFFER#156=1436,RINGBUFFER#157=1437,RINGBUFFER#158=1438,RINGBUFFER#159=1439 VARIABLE RINGBUFFER#160=1440,RINGBUFFER#161=1441,RINGBUFFER#162=1442,RINGBUFFER#163=1443 VARIABLE RINGBUFFER#164=1444,RINGBUFFER#165=1445,RINGBUFFER#166=1446,RINGBUFFER#167=1447 VARIABLE RINGBUFFER#168=1448,RINGBUFFER#169=1449,RINGBUFFER#170=1450,RINGBUFFER#171=1451 VARIABLE RINGBUFFER#172=1452,RINGBUFFER#173=1453,RINGBUFFER#174=1454,RINGBUFFER#175=1455 VARIABLE RINGBUFFER#176=1456,RINGBUFFER#177=1457,RINGBUFFER#178=1458,RINGBUFFER#179=1459 VARIABLE RINGBUFFER#180=1460,RINGBUFFER#181=1461,RINGBUFFER#182=1462,RINGBUFFER#183=1463 VARIABLE RINGBUFFER#184=1464,RINGBUFFER#185=1465,RINGBUFFER#186=1466,RINGBUFFER#187=1467 VARIABLE RINGBUFFER#188=1468,RINGBUFFER#189=1469,RINGBUFFER#190=1470,RINGBUFFER#191=1471 VARIABLE RINGBUFFER#192=1472,RINGBUFFER#193=1473,RINGBUFFER#194=1474,RINGBUFFER#195=1475 VARIABLE RINGBUFFER#196=1476,RINGBUFFER#197=1477,RINGBUFFER#198=1478,RINGBUFFER#199=1479 VARIABLE RINGBUFFER#200=1480,RINGBUFFER#201=1481,RINGBUFFER#202=1482,RINGBUFFER#203=1483 VARIABLE RINGBUFFER#204=1484,RINGBUFFER#205=1485,RINGBUFFER#206=1486,RINGBUFFER#207=1487 VARIABLE RINGBUFFER#208=1488,RINGBUFFER#209=1489,RINGBUFFER#210=1490,RINGBUFFER#211=1491 VARIABLE RINGBUFFER#212=1492,RINGBUFFER#213=1493,RINGBUFFER#214=1494,RINGBUFFER#215=1495 VARIABLE RINGBUFFER#216=1496,RINGBUFFER#217=1497,RINGBUFFER#218=1498,RINGBUFFER#219=1499 VARIABLE RINGBUFFER#220=1500,RINGBUFFER#221=1501,RINGBUFFER#222=1502,RINGBUFFER#223=1503 VARIABLE RINGBUFFER#224=1504,RINGBUFFER#225=1505,RINGBUFFER#226=1506,RINGBUFFER#227=1507 VARIABLE RINGBUFFER#228=1508,RINGBUFFER#229=1509,RINGBUFFER#230=1510,RINGBUFFER#231=1511 VARIABLE RINGBUFFER#232=1512,RINGBUFFER#233=1513,RINGBUFFER#234=1514,RINGBUFFER#235=1515 VARIABLE RINGBUFFER#236=1516,RINGBUFFER#237=1517,RINGBUFFER#238=1518,RINGBUFFER#239=1519 VARIABLE RINGBUFFER#240=1520,RINGBUFFER#241=1521,RINGBUFFER#242=1522,RINGBUFFER#243=1523 VARIABLE RINGBUFFER#244=1524,RINGBUFFER#245=1525,RINGBUFFER#246=1526,RINGBUFFER#247=1527 VARIABLE RINGBUFFER#248=1528,RINGBUFFER#249=1529,RINGBUFFER#250=1530,RINGBUFFER#251=1531 VARIABLE RINGBUFFER#252=1532,RINGBUFFER#253=1533,RINGBUFFER#254=1534,RINGBUFFER#255=1535 #DEFINE STBIT BYTEIN,7 #DEFINE VELFLAGS0 VELFLAGS #DEFINE VELFLAGS1 VELFLAGSH #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 _WTIMER1M TMR1L #DEFINE _WTIMER1MH TMR1LH #DEFINE _WTIMER3M TMR3L #DEFINE _WTIMER3MH TMR3LH #DEFINE __XTAL 64 #DEFINE MIDICHANNEL 1 #DEFINE NOTEOFF_STATUS 129 #DEFINE NOTEON_STATUS 145 #DEFINE KEYPRES_STATUS 161 #DEFINE CONTROL_STATUS 177 #DEFINE PROGCHANGE_STATUS 193 #DEFINE AFTERTOUCH_STATUS 209 #DEFINE PITCHBEND_STATUS 225 #DEFINE NRTASKS 5 #DEFINE __HSERIAL_BAUD 31250 #DEFINE __HSERIAL_TXSTA 36 #DEFINE __START_OF_RESERVE_RAM 1280 #DEFINE __RESERVE_RAM_SIZE 256 HSERIAL_SPBRG = 127 HSERIAL_TXSTA = 36 HSERIAL_RCSTA = 144 HSERIAL_BAUD = 31250 PROTON#CODE#START ORG 0X000000 GOTO PROTON#MAIN#START ORG 0X000008 GOTO HIGH_PRIOR_INTERRUPT HRSIN#REQ = 1 HRSINX#REQ = 1 HRSIN#CLROERR = 1 H@PWM MOVWF 12 MOVLW 36 MOVWF 3 MOVLW 244 MOVWF 4 CALL 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 CLRF 3 MOVLW 36 MOVWF 4 MOVLW 244 MOVWF 7 CLRF 8 BTFSC 4042,PP_T2CKPS0 RCALL HPW@2S BTFSC 4042,PP_T2CKPS1 RCALL HPW@2S CALL D@VD2 DECF 3,W MOVWF 4043 MOVFF 3,5 MOVFF 4,6 MOVF 0,W MOVWF 9 MOVWF 10 INCFSZ 0,W CLRF 10 CALL M@PY MOVF 8,W DECFSZ 12,F BRA HPW@SK1 MOVWF 4030 MOVLW 12 MOVWF 4029 BTFSC 7,7 BSF 4029,5 BTFSC 7,6 BSF 4029,4 BCF TRISB,2 HPWM@FIN BSF 4042,PP_TMR2ON RETURN HPW@SK1 MOVWF 4027 MOVLW 12 MOVWF 4026 BTFSC 7,7 BSF 4026,5 BTFSC 7,6 BSF 4026,4 BCF TRISC,1 BRA HPWM@FIN HPW@2S RCALL HPW@2L HPW@2L BCF 4056,0 RRCF 7,F RRCF 4,F RRCF 3,F RETURN D@VD CLRF 8 CLRF 7 D@VD2 MOVLW 16 MOVWF 4083 DV@LP RLCF 4,W RLCF 7,F RLCF 8,F MOVF 5,W SUBWF 7,W MOVF 6,W SUBWFB 8,W BNC D@K MOVF 5,W SUBWF 7,F MOVF 6,W SUBWFB 8,F BSF 4056,0 D@K RLCF 3,F RLCF 4,F DECFSZ 4083,F BRA DV@LP MOVF 3,W RETURN M@PY MOVF 5,W MULWF 9 MOVFF 4083,7 MOVFF 4084,8 MOVF 6,W MULWF 9 MOVF 4083,W ADDWF 8,F MOVF 5,W MULWF 10 MOVF 4083,W ADDWF 8,F MOVF 7,W RETURN PROTON#MAIN#START CLRF 4088 MOVLW 127 MOVWF 4015 MOVLW 36 MOVWF 4012 MOVLW 144 MOVWF 4011 MOVLB 0 F2_SOF EQU $ ; SIMBA_PIC1_V21.PRP F2_EOF EQU $ ; SIMBA_PIC1_V21.PRP F1_SOF EQU $ ; SIMBA_PIC1_V21.BAS F3_SOF EQU $ ; 18F25K20.INC F3_EOF EQU $ ; 18F25K20.INC F1_000045 EQU $ ; IN [SIMBA_PIC1_V21.BAS] DECLARE ALL_DIGITAL = TRUE CLRF CM1CON0,0 CLRF CM2CON0,0 CLRF ANSEL,0 CLRF ANSELH,0 MOVLW 15 MOVWF ADCON1,0 F4_SOF EQU $ ; MIDI_IRQ.INC F4_000044 EQU $ ; IN [MIDI_IRQ.INC] GOTO _OVER_IRQ_HANDLER GOTO _OVER_IRQ_HANDLER HIGH_PRIOR_INTERRUPT F4_000055 EQU $ ; IN [MIDI_IRQ.INC] IF PIR1.5 = 1 THEN BTFSS PIR1,5,0 GOTO BC@LL2 F4_000056 EQU $ ; IN [MIDI_IRQ.INC] MOVLW 6 MOVLW 6 F4_000057 EQU $ ; IN [MIDI_IRQ.INC] ANDWF RCSTA,W ANDWF RCSTA,W F4_000058 EQU $ ; IN [MIDI_IRQ.INC] BNZ _UART_ERROR BNZ _UART_ERROR F4_000059 EQU $ ; IN [MIDI_IRQ.INC] USART_FSR1_SAVE = USART_FSR1 MOVFF FSR1L,USART_FSR1_SAVE MOVFF FSR1LH,USART_FSR1_SAVEH F4_000060 EQU $ ; IN [MIDI_IRQ.INC] INC INDEXIN INCF INDEXIN,F,0 F4_000064 EQU $ ; IN [MIDI_IRQ.INC] USART_FSR1 = VARPTR RINGBUFFER LFSR 1,RINGBUFFER F4_000065 EQU $ ; IN [MIDI_IRQ.INC] USART_FSR1 = USART_FSR1 + INDEXIN MOVF INDEXIN,W,0 ADDWF FSR1L,F,0 MOVLW 0 ADDWFC FSR1LH,F,0 F4_000066 EQU $ ; IN [MIDI_IRQ.INC] INDF1 = RCREG MOVFF RCREG,INDF1 F4_000067 EQU $ ; IN [MIDI_IRQ.INC] USART_FSR1 = USART_FSR1_SAVE MOVFF USART_FSR1_SAVE,FSR1L MOVFF USART_FSR1_SAVEH,FSR1LH F4_000069 EQU $ ; IN [MIDI_IRQ.INC] RETFIE FAST RETFIE 1 _UART_ERROR F4_000071 EQU $ ; IN [MIDI_IRQ.INC] WREG = RCREG MOVF RCREG,W,0 F4_000072 EQU $ ; IN [MIDI_IRQ.INC] WREG = RCREG MOVF RCREG,W,0 F4_000073 EQU $ ; IN [MIDI_IRQ.INC] CLEAR RCSTA.4 BCF RCSTA,4,0 F4_000074 EQU $ ; IN [MIDI_IRQ.INC] SET RCSTA.4 BSF RCSTA,4,0 F4_000075 EQU $ ; IN [MIDI_IRQ.INC] RETFIE FAST RETFIE 1 GOTO BC@LL3 BC@LL2 F4_000076 EQU $ ; IN [MIDI_IRQ.INC] ELSE _TIMER0_IRQ F4_000078 EQU $ ; IN [MIDI_IRQ.INC] IF INTCON.2 = 1 THEN BTFSS INTCON,2,0 GOTO BC@LL5 F4_000079 EQU $ ; IN [MIDI_IRQ.INC] CLEAR INTCON.2 BCF INTCON,2,0 F4_000083 EQU $ ; IN [MIDI_IRQ.INC] INC CNTHW INCF CNTHW,F,0 F4_000089 EQU $ ; IN [MIDI_IRQ.INC] TOGGLE PORTB.0 BTG PORTB,0,0 BCF TRISB,0,0 F4_000092 EQU $ ; IN [MIDI_IRQ.INC] PORTB.1 = CNTHW.7 BTFSC CNTHW,7,0 BSF PORTB,1,0 BTFSS CNTHW,7,0 BCF PORTB,1,0 F4_000095 EQU $ ; IN [MIDI_IRQ.INC] RETFIE FAST RETFIE 1 F4_000096 EQU $ ; IN [MIDI_IRQ.INC] ENDIF BC@LL5 F4_000097 EQU $ ; IN [MIDI_IRQ.INC] ENDIF BC@LL3 F4_000098 EQU $ ; IN [MIDI_IRQ.INC] RETFIE FAST RETFIE 1 HRSIN: F4_000103 EQU $ ; IN [MIDI_IRQ.INC] IF INDEXIN <> INDEXOUT THEN MOVF INDEXIN,W,0 SUBWF INDEXOUT,W,0 BTFSC STATUS,2,0 GOTO BC@LL7 F4_000104 EQU $ ; IN [MIDI_IRQ.INC] INC INDEXOUT INCF INDEXOUT,F,0 F4_000108 EQU $ ; IN [MIDI_IRQ.INC] USART_FSR0_SAVE = USART_FSR0 MOVFF FSR0L,FSR0SAVEINT MOVFF FSR0LH,FSR0SAVEINTH F4_000109 EQU $ ; IN [MIDI_IRQ.INC] USART_FSR0 = VARPTR RINGBUFFER LFSR 0,RINGBUFFER F4_000110 EQU $ ; IN [MIDI_IRQ.INC] USART_FSR0 = USART_FSR0 + INDEXOUT MOVF INDEXOUT,W,0 ADDWF FSR0L,F,0 MOVLW 0 ADDWFC FSR0LH,F,0 F4_000111 EQU $ ; IN [MIDI_IRQ.INC] WREG = INDF0 MOVF INDF0,W,0 F4_000112 EQU $ ; IN [MIDI_IRQ.INC] PP0 = WREG MOVWF PP0,0 F4_000113 EQU $ ; IN [MIDI_IRQ.INC] USART_FSR0 = USART_FSR0_SAVE MOVFF FSR0SAVEINT,FSR0L MOVFF FSR0SAVEINTH,FSR0LH F4_000114 EQU $ ; IN [MIDI_IRQ.INC] SET STATUS.0 BSF STATUS,0,0 F4_000115 EQU $ ; IN [MIDI_IRQ.INC] RET RETURN 0 GOTO BC@LL8 BC@LL7 F4_000116 EQU $ ; IN [MIDI_IRQ.INC] ELSE F4_000117 EQU $ ; IN [MIDI_IRQ.INC] WREG = 255 SETF WREG,0 F4_000118 EQU $ ; IN [MIDI_IRQ.INC] PP0 = WREG MOVWF PP0,0 F4_000119 EQU $ ; IN [MIDI_IRQ.INC] BTFSS STATUS,C BTFSS STATUS,C F4_000120 EQU $ ; IN [MIDI_IRQ.INC] RET RETURN 0 F4_000121 EQU $ ; IN [MIDI_IRQ.INC] ENDIF BC@LL8 F4_000122 EQU $ ; IN [MIDI_IRQ.INC] RET RETURN 0 RAM_BANK = 0 RAM_BANK = 0 _INIT_USART F4_000168 EQU $ ; IN [MIDI_IRQ.INC] CLEAR INDEXIN CLRF INDEXIN,0 F4_000169 EQU $ ; IN [MIDI_IRQ.INC] CLEAR INDEXOUT CLRF INDEXOUT,0 F4_000170 EQU $ ; IN [MIDI_IRQ.INC] SET PIE1.5 BSF PIE1,5,0 F4_000174 EQU $ ; IN [MIDI_IRQ.INC] SET INTCON.7 BSF INTCON,7,0 F4_000175 EQU $ ; IN [MIDI_IRQ.INC] SET INTCON.6 BSF INTCON,6,0 F4_000177 EQU $ ; IN [MIDI_IRQ.INC] RETURN RETURN 0 RAM_BANK = 0 RAM_BANK = 0 _CLEAR_USART_BUFFER F4_000192 EQU $ ; IN [MIDI_IRQ.INC] PIE1.5 = 0 BCF PIE1,5,0 F4_000193 EQU $ ; IN [MIDI_IRQ.INC] CLEAR RINGBUFFER LFSR 0,RINGBUFFER MOVLW 0 CLRF POSTINC0,0 DECFSZ WREG,F,0 BRA $ - 4 F4_000194 EQU $ ; IN [MIDI_IRQ.INC] CLEAR INDEXIN CLRF INDEXIN,0 F4_000195 EQU $ ; IN [MIDI_IRQ.INC] CLEAR INDEXOUT CLRF INDEXOUT,0 F4_000196 EQU $ ; IN [MIDI_IRQ.INC] SET PIE1.5 BSF PIE1,5,0 F4_000197 EQU $ ; IN [MIDI_IRQ.INC] RETURN RETURN 0 HRSOUT F4_000238 EQU $ ; IN [MIDI_IRQ.INC] BTFSS PIR1.4 BTFSS PIR1,4 F4_000239 EQU $ ; IN [MIDI_IRQ.INC] BRA ($ - 2) BRA ($ - 2) F4_000240 EQU $ ; IN [MIDI_IRQ.INC] MOVWF TXREG MOVWF TXREG F4_000241 EQU $ ; IN [MIDI_IRQ.INC] RETURN RETURN 0 _OVER_IRQ_HANDLER F4_EOF EQU $ ; MIDI_IRQ.INC F5_SOF EQU $ ; TIMERS.INC RAM_BANK = 0 RAM_BANK = 0 RAM_BANK = 0 RAM_BANK = 0 RAM_BANK = 0 RAM_BANK = 0 RAM_BANK = 0 RAM_BANK = 0 F5_EOF EQU $ ; TIMERS.INC F1_000112 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TRISA = %01110000 MOVLW 112 MOVWF TRISA,0 F1_000113 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TRISB = %11100000 MOVLW 224 MOVWF TRISB,0 F1_000114 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TRISC = %11000000 MOVLW 192 MOVWF TRISC,0 F1_000117 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTB.3 BCF TRISB,3,0 BCF LATB,3,0 F1_000118 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.3 BCF TRISA,3,0 BCF LATA,3,0 F1_000119 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.2 BCF TRISA,2,0 BCF LATA,2,0 F1_000120 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.1 BCF TRISA,1,0 BCF LATA,1,0 F1_000121 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.0 BCF TRISA,0,0 BCF LATA,0,0 F1_000122 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTB.4 BCF TRISB,4,0 BCF LATB,4,0 F1_000123 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.2 BCF TRISC,2,0 BCF LATC,2,0 F1_000124 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.1 BCF TRISC,1,0 BCF LATC,1,0 F1_000125 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.3 BCF TRISC,3,0 BCF LATC,3,0 F1_000126 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES CLRF LITES,0 F1_000135 EQU $ ; IN [SIMBA_PIC1_V21.BAS] INIT_USART_INTERRUPT VARIABLE MAX_PARAMS=10,INIT_USART_INTERRUPT_RETURN=0,PRM_COUNT=0 RCALL _INIT_USART F1_000137 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR_SERIAL_BUFFER VARIABLE MAX_PARAMS=10,CLEAR_SERIAL_BUFFER_RETURN=0,PRM_COUNT=0 RCALL _CLEAR_USART_BUFFER F1_000150 EQU $ ; IN [SIMBA_PIC1_V21.BAS] _OPENTIMER0 %11111111 & %10111111 & %11011111 & %11110111 VARIABLE MAX_PARAMS=10,_OPENTIMER0_RETURN=0,PRM_COUNT=1 MOVLW 23 MOVWF T0CON CLRF TMR0H,0 CLRF TMR0L,0 BCF INTCON,2,0 BSF INTCON,5,0 BSF T0CON,7,0 F1_000152 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOSUB INIT_SIMBA CALL INIT_SIMBA START_LOOP F1_000156 EQU $ ; IN [SIMBA_PIC1_V21.BAS] BYTEIN = HRSIN RCALL HRSIN MOVWF BYTEIN,0 MIDI_PARSE F1_000159 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF BYTEIN > PROGCHANGE_STATUS THEN MOVLW 194 SUBWF BYTEIN,W,0 BTFSS STATUS,0,0 GOTO BC@LL10 F1_000160 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF BYTEIN > 253 THEN MOVLW 254 SUBWF BYTEIN,W,0 BTFSS STATUS,0,0 GOTO BC@LL12 F1_000164 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOTO MIDI_PARSE_END GOTO MIDI_PARSE_END GOTO BC@LL13 BC@LL12 F1_000165 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000166 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR STATUSBYTE CLRF STATUSBYTE,0 F1_000167 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOTO MIDI_PARSE_END GOTO MIDI_PARSE_END F1_000168 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END IF BC@LL13 F1_000169 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL10 F1_000170 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF STBIT =1 THEN BTFSS BYTEIN,7,0 GOTO BC@LL15 F1_000172 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR STATUSBYTE CLRF STATUSBYTE,0 F1_000173 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SELECT BYTEIN F1_000174 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE NOTEOFF_STATUS MOVLW 129 SUBWF BYTEIN,W,0 BTFSS STATUS,2,0 GOTO BC@LL17 F1_000175 EQU $ ; IN [SIMBA_PIC1_V21.BAS] STATUSBYTE = BYTEIN MOVFF BYTEIN,STATUSBYTE F1_000176 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NOTEUIT = 255 SETF NOTEUIT,0 F1_000177 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RELEASE = 255 SETF RELEASE,0 GOTO BC@LL16 BC@LL17 F1_000178 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE NOTEON_STATUS MOVLW 145 SUBWF BYTEIN,W,0 BTFSS STATUS,2,0 GOTO BC@LL20 F1_000179 EQU $ ; IN [SIMBA_PIC1_V21.BAS] STATUSBYTE = BYTEIN MOVFF BYTEIN,STATUSBYTE F1_000180 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NOTEAAN = 255 SETF NOTEAAN,0 F1_000181 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELO = 255 SETF VELO,0 GOTO BC@LL16 BC@LL20 F1_000182 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE KEYPRES_STATUS MOVLW 161 SUBWF BYTEIN,W,0 BTFSS STATUS,2,0 GOTO BC@LL22 F1_000183 EQU $ ; IN [SIMBA_PIC1_V21.BAS] STATUSBYTE = BYTEIN MOVFF BYTEIN,STATUSBYTE F1_000184 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NOTEPRES = 255 SETF NOTEPRES,0 F1_000185 EQU $ ; IN [SIMBA_PIC1_V21.BAS] PRES = 255 SETF PRES,0 GOTO BC@LL16 BC@LL22 F1_000186 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE CONTROL_STATUS MOVLW 177 SUBWF BYTEIN,W,0 BTFSS STATUS,2,0 GOTO BC@LL24 F1_000187 EQU $ ; IN [SIMBA_PIC1_V21.BAS] STATUSBYTE = BYTEIN MOVFF BYTEIN,STATUSBYTE F1_000188 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CTRL = 255 SETF CTRL,0 F1_000189 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VALUE = 255 SETF VALUE,0 GOTO BC@LL16 BC@LL24 F1_000190 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE PROGCHANGE_STATUS MOVLW 193 SUBWF BYTEIN,W,0 BTFSS STATUS,2,0 GOTO BC@LL26 F1_000191 EQU $ ; IN [SIMBA_PIC1_V21.BAS] STATUSBYTE = BYTEIN MOVFF BYTEIN,STATUSBYTE F1_000192 EQU $ ; IN [SIMBA_PIC1_V21.BAS] PROG = 255 SETF PROG,0 F1_000200 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END SELECT BC@LL26 BC@LL16 GOTO BC@LL27 BC@LL15 F1_000201 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000202 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SELECT STATUSBYTE F1_000203 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 0 MOVF STATUSBYTE,F,0 BTFSS STATUS,2,0 GOTO BC@LL29 F1_000204 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOTO MIDI_PARSE_END GOTO MIDI_PARSE_END GOTO BC@LL28 BC@LL29 F1_000205 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE NOTEOFF_STATUS MOVLW 129 SUBWF STATUSBYTE,W,0 BTFSS STATUS,2,0 GOTO BC@LL32 F1_000206 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF NOTEUIT = 255 THEN INCF NOTEUIT,W,0 BTFSS STATUS,2,0 GOTO BC@LL34 F1_000207 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NOTEUIT = BYTEIN MOVFF BYTEIN,NOTEUIT GOTO BC@LL35 BC@LL34 F1_000208 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000209 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RELEASE = BYTEIN MOVFF BYTEIN,RELEASE F1_000210 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SELECT NOTEUIT F1_000211 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 58 MOVLW 58 SUBWF NOTEUIT,W,0 BTFSS STATUS,2,0 GOTO BC@LL37 F1_000212 EQU $ ; IN [SIMBA_PIC1_V21.BAS] HPWM 1, 0 , 3906 CLRF GEN,0 MOVLW 66 MOVWF PP1,0 MOVLW 15 MOVWF PP1H,0 MOVLW 1 RCALL H@PWM F1_000213 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.2 BCF TRISC,2,0 BCF LATC,2,0 GOTO BC@LL36 BC@LL37 F1_000214 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 59 MOVLW 59 SUBWF NOTEUIT,W,0 BTFSS STATUS,2,0 GOTO BC@LL40 F1_000215 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.1 BCF TRISC,1,0 BCF LATC,1,0 GOTO BC@LL36 BC@LL40 F1_000216 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 110 MOVLW 110 SUBWF NOTEUIT,W,0 BTFSS STATUS,2,0 GOTO BC@LL42 F1_000217 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES.0 BCF LITES,0,0 F1_000218 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.0 BCF VELFLAGS,0,0 F1_000219 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.3 BCF TRISA,3,0 BCF LATA,3,0 GOTO BC@LL36 BC@LL42 F1_000220 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 111 MOVLW 111 SUBWF NOTEUIT,W,0 BTFSS STATUS,2,0 GOTO BC@LL44 F1_000221 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES.1 BCF LITES,1,0 F1_000222 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.1 BCF VELFLAGS,1,0 F1_000223 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.2 BCF TRISA,2,0 BCF LATA,2,0 GOTO BC@LL36 BC@LL44 F1_000224 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 112 MOVLW 112 SUBWF NOTEUIT,W,0 BTFSS STATUS,2,0 GOTO BC@LL46 F1_000225 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES.2 BCF LITES,2,0 F1_000226 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.2 BCF VELFLAGS,2,0 F1_000227 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.1 BCF TRISA,1,0 BCF LATA,1,0 GOTO BC@LL36 BC@LL46 F1_000228 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 113 MOVLW 113 SUBWF NOTEUIT,W,0 BTFSS STATUS,2,0 GOTO BC@LL48 F1_000229 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES.3 BCF LITES,3,0 F1_000230 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.3 BCF VELFLAGS,3,0 F1_000231 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.0 BCF TRISA,0,0 BCF LATA,0,0 GOTO BC@LL36 BC@LL48 F1_000232 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 114 MOVLW 114 SUBWF NOTEUIT,W,0 BTFSS STATUS,2,0 GOTO BC@LL50 F1_000233 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES.4 BCF LITES,4,0 F1_000234 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.4 BCF VELFLAGS,4,0 F1_000235 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTB.4 BCF TRISB,4,0 BCF LATB,4,0 F1_000236 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END SELECT BC@LL50 BC@LL36 F1_000237 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NOTEUIT = 255 SETF NOTEUIT,0 F1_000238 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL35 F1_000239 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOTO MIDI_PARSE_END GOTO MIDI_PARSE_END GOTO BC@LL28 BC@LL32 F1_000240 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE NOTEON_STATUS MOVLW 145 SUBWF STATUSBYTE,W,0 BTFSS STATUS,2,0 GOTO BC@LL52 F1_000241 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF NOTEAAN = 255 THEN INCF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL54 F1_000242 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NOTEAAN = BYTEIN MOVFF BYTEIN,NOTEAAN GOTO BC@LL55 BC@LL54 F1_000243 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000244 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELO = BYTEIN MOVFF BYTEIN,VELO F1_000245 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF VELO = 0 THEN MOVF VELO,F,0 BTFSS STATUS,2,0 GOTO BC@LL57 F1_000246 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SELECT NOTEAAN F1_000247 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 58 MOVLW 58 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL59 F1_000248 EQU $ ; IN [SIMBA_PIC1_V21.BAS] HPWM 1, 0 , 3906 CLRF GEN,0 MOVLW 66 MOVWF PP1,0 MOVLW 15 MOVWF PP1H,0 MOVLW 1 RCALL H@PWM F1_000249 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.2 BCF TRISC,2,0 BCF LATC,2,0 GOTO BC@LL58 BC@LL59 F1_000250 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 59 MOVLW 59 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL62 F1_000251 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.1 BCF TRISC,1,0 BCF LATC,1,0 GOTO BC@LL58 BC@LL62 F1_000252 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 110 MOVLW 110 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL64 F1_000253 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES.0 BCF LITES,0,0 F1_000254 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.0 BCF VELFLAGS,0,0 F1_000255 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.3 BCF TRISA,3,0 BCF LATA,3,0 GOTO BC@LL58 BC@LL64 F1_000256 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 111 MOVLW 111 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL66 F1_000257 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES.1 BCF LITES,1,0 F1_000258 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.1 BCF VELFLAGS,1,0 F1_000259 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.2 BCF TRISA,2,0 BCF LATA,2,0 GOTO BC@LL58 BC@LL66 F1_000260 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 112 MOVLW 112 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL68 F1_000261 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES.2 BCF LITES,2,0 F1_000262 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.2 BCF VELFLAGS,2,0 F1_000263 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.1 BCF TRISA,1,0 BCF LATA,1,0 GOTO BC@LL58 BC@LL68 F1_000264 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 113 MOVLW 113 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL70 F1_000265 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES.3 BCF LITES,3,0 F1_000266 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.3 BCF VELFLAGS,3,0 F1_000267 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.0 BCF TRISA,0,0 BCF LATA,0,0 GOTO BC@LL58 BC@LL70 F1_000268 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 114 MOVLW 114 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL72 F1_000269 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR LITES.4 BCF LITES,4,0 F1_000270 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.4 BCF VELFLAGS,4,0 F1_000271 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTB.4 BCF TRISB,4,0 BCF LATB,4,0 F1_000272 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END SELECT BC@LL72 BC@LL58 F1_000273 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NOTEAAN = 255 SETF NOTEAAN,0 F1_000274 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOTO MIDI_PARSE_END GOTO MIDI_PARSE_END F1_000275 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL57 F1_000276 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SELECT NOTEAAN F1_000277 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 58 MOVLW 58 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL74 F1_000279 EQU $ ; IN [SIMBA_PIC1_V21.BAS] HPWM 1, VELO + VELO, 3906 MOVF VELO,W,0 ADDWF VELO,W,0 MOVWF GEN,0 MOVLW 66 MOVWF PP1,0 MOVLW 15 MOVWF PP1H,0 MOVLW 1 CALL H@PWM GOTO BC@LL73 BC@LL74 F1_000280 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 59 MOVLW 59 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL77 F1_000281 EQU $ ; IN [SIMBA_PIC1_V21.BAS] HIGH PORTC.1 BCF TRISC,1,0 BSF LATC,1,0 GOTO BC@LL73 BC@LL77 F1_000282 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 110 MOVLW 110 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL79 F1_000283 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET LITES.0 BSF LITES,0,0 F1_000284 EQU $ ; IN [SIMBA_PIC1_V21.BAS] HIGH PORTA.3 BCF TRISA,3,0 BSF LATA,3,0 GOTO BC@LL73 BC@LL79 F1_000285 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 111 MOVLW 111 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL81 F1_000286 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET LITES.1 BSF LITES,1,0 F1_000287 EQU $ ; IN [SIMBA_PIC1_V21.BAS] HIGH PORTA.2 BCF TRISA,2,0 BSF LATA,2,0 GOTO BC@LL73 BC@LL81 F1_000288 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 112 MOVLW 112 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL83 F1_000289 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET LITES.2 BSF LITES,2,0 F1_000290 EQU $ ; IN [SIMBA_PIC1_V21.BAS] HIGH PORTA.1 BCF TRISA,1,0 BSF LATA,1,0 GOTO BC@LL73 BC@LL83 F1_000291 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 113 MOVLW 113 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL85 F1_000292 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET LITES.3 BSF LITES,3,0 F1_000293 EQU $ ; IN [SIMBA_PIC1_V21.BAS] HIGH PORTA.0 BCF TRISA,0,0 BSF LATA,0,0 GOTO BC@LL73 BC@LL85 F1_000294 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 114 MOVLW 114 SUBWF NOTEAAN,W,0 BTFSS STATUS,2,0 GOTO BC@LL87 F1_000295 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET LITES.4 BSF LITES,4,0 F1_000296 EQU $ ; IN [SIMBA_PIC1_V21.BAS] HIGH PORTB.4 BCF TRISB,4,0 BSF LATB,4,0 F1_000300 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END SELECT BC@LL87 BC@LL73 F1_000301 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NOTEAAN = 255 SETF NOTEAAN,0 F1_000302 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL55 F1_000303 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOTO MIDI_PARSE_END GOTO MIDI_PARSE_END GOTO BC@LL28 BC@LL52 F1_000304 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE KEYPRES_STATUS MOVLW 161 SUBWF STATUSBYTE,W,0 BTFSS STATUS,2,0 GOTO BC@LL89 F1_000305 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF NOTEPRES = 255 THEN INCF NOTEPRES,W,0 BTFSS STATUS,2,0 GOTO BC@LL91 F1_000306 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NOTEPRES = BYTEIN MOVFF BYTEIN,NOTEPRES GOTO BC@LL92 BC@LL91 F1_000307 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000308 EQU $ ; IN [SIMBA_PIC1_V21.BAS] PRES = BYTEIN MOVFF BYTEIN,PRES F1_000309 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOSUB KEYPRES CALL KEYPRES F1_000310 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL92 F1_000311 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOTO MIDI_PARSE_END GOTO MIDI_PARSE_END GOTO BC@LL28 BC@LL89 F1_000312 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE CONTROL_STATUS MOVLW 177 SUBWF STATUSBYTE,W,0 BTFSS STATUS,2,0 GOTO BC@LL94 F1_000313 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF CTRL = 255 THEN INCF CTRL,W,0 BTFSS STATUS,2,0 GOTO BC@LL96 F1_000314 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CTRL = BYTEIN MOVFF BYTEIN,CTRL GOTO BC@LL97 BC@LL96 F1_000315 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000316 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VALUE = BYTEIN MOVFF BYTEIN,VALUE F1_000317 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOSUB CONTROLLER CALL CONTROLLER F1_000318 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL97 F1_000319 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOTO MIDI_PARSE_END GOTO MIDI_PARSE_END GOTO BC@LL28 BC@LL94 F1_000320 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE PROGCHANGE_STATUS MOVLW 193 SUBWF STATUSBYTE,W,0 BTFSS STATUS,2,0 GOTO BC@LL99 F1_000321 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF PROG = 255 THEN INCF PROG,W,0 BTFSS STATUS,2,0 GOTO BC@LL101 F1_000322 EQU $ ; IN [SIMBA_PIC1_V21.BAS] PROG = BYTEIN MOVFF BYTEIN,PROG F1_000323 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOSUB PROGCHANGE CALL PROGCHANGE F1_000324 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL101 F1_000325 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END SELECT BC@LL99 BC@LL28 F1_000326 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL27 MIDI_PARSE_END CHECK_TIMERS F1_000332 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF VELFLAGS0 > 0 THEN MOVF VELFLAGS,F,0 BTFSC STATUS,2,0 GOTO BC@LL103 F1_000334 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF VELFLAGS0.0 = 1 THEN BTFSS VELFLAGS,0,0 GOTO BC@LL105 F1_000335 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD1 = VELMSB[0] MOVFF VELMSB#0,VELTIMHH MOVFF VELMSB#0H,VELTIMHHH F1_000336 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD0 = VELLSB[0] MOVFF VELLSB#0,VELTIM MOVFF VELLSB#0H,VELTIMH F1_000339 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000340 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000344 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF CNT >= VELTIM THEN GOSUB TASK0 BTFSC VELTIMHHH,7,0 GOTO CP@LB2 MOVF VELTIMHHH,F,0 BTFSS STATUS,2,0 GOTO BC@LL107 MOVF VELTIMHH,W,0 BTFSS STATUS,2,0 GOTO BC@LL107 MOVF VELTIMH,W,0 SUBWF CNTH,W,0 BTFSS STATUS,0,0 GOTO BC@LL107 BTFSS STATUS,2,0 GOTO CP@LB2 MOVF VELTIM,W,0 SUBWF CNT,W,0 BTFSS STATUS,0,0 GOTO BC@LL107 CP@LB2 CALL TASK0 BC@LL107 F1_000345 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL105 F1_000346 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF VELFLAGS0.1 = 1 THEN BTFSS VELFLAGS,1,0 GOTO BC@LL109 F1_000347 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD1 = VELMSB[1] MOVFF VELMSB#1,VELTIMHH MOVFF VELMSB#1H,VELTIMHHH F1_000348 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD0 = VELLSB[1] MOVFF VELLSB#1,VELTIM MOVFF VELLSB#1H,VELTIMH F1_000355 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000356 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000358 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF CNT >= VELTIM THEN GOSUB TASK1 BTFSC VELTIMHHH,7,0 GOTO CP@LB3 MOVF VELTIMHHH,F,0 BTFSS STATUS,2,0 GOTO BC@LL111 MOVF VELTIMHH,W,0 BTFSS STATUS,2,0 GOTO BC@LL111 MOVF VELTIMH,W,0 SUBWF CNTH,W,0 BTFSS STATUS,0,0 GOTO BC@LL111 BTFSS STATUS,2,0 GOTO CP@LB3 MOVF VELTIM,W,0 SUBWF CNT,W,0 BTFSS STATUS,0,0 GOTO BC@LL111 CP@LB3 CALL TASK1 BC@LL111 F1_000359 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL109 F1_000360 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF VELFLAGS0.2 = 1 THEN BTFSS VELFLAGS,2,0 GOTO BC@LL113 F1_000361 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD1 = VELMSB[2] MOVFF VELMSB#2,VELTIMHH MOVFF VELMSB#2H,VELTIMHHH F1_000362 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD0 = VELLSB[2] MOVFF VELLSB#2,VELTIM MOVFF VELLSB#2H,VELTIMH F1_000369 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000370 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000372 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF CNT >= VELTIM THEN GOSUB TASK2 BTFSC VELTIMHHH,7,0 GOTO CP@LB4 MOVF VELTIMHHH,F,0 BTFSS STATUS,2,0 GOTO BC@LL115 MOVF VELTIMHH,W,0 BTFSS STATUS,2,0 GOTO BC@LL115 MOVF VELTIMH,W,0 SUBWF CNTH,W,0 BTFSS STATUS,0,0 GOTO BC@LL115 BTFSS STATUS,2,0 GOTO CP@LB4 MOVF VELTIM,W,0 SUBWF CNT,W,0 BTFSS STATUS,0,0 GOTO BC@LL115 CP@LB4 CALL TASK2 BC@LL115 F1_000373 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL113 F1_000374 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF VELFLAGS0.3 = 1 THEN BTFSS VELFLAGS,3,0 GOTO BC@LL117 F1_000375 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD1 = VELMSB[3] MOVFF VELMSB#3,VELTIMHH MOVFF VELMSB#3H,VELTIMHHH F1_000376 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD0 = VELLSB[3] MOVFF VELLSB#3,VELTIM MOVFF VELLSB#3H,VELTIMH F1_000383 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000384 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000386 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF CNT >= VELTIM THEN GOSUB TASK3 BTFSC VELTIMHHH,7,0 GOTO CP@LB5 MOVF VELTIMHHH,F,0 BTFSS STATUS,2,0 GOTO BC@LL119 MOVF VELTIMHH,W,0 BTFSS STATUS,2,0 GOTO BC@LL119 MOVF VELTIMH,W,0 SUBWF CNTH,W,0 BTFSS STATUS,0,0 GOTO BC@LL119 BTFSS STATUS,2,0 GOTO CP@LB5 MOVF VELTIM,W,0 SUBWF CNT,W,0 BTFSS STATUS,0,0 GOTO BC@LL119 CP@LB5 CALL TASK3 BC@LL119 F1_000387 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL117 F1_000388 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF VELFLAGS0.4 = 1 THEN BTFSS VELFLAGS,4,0 GOTO BC@LL121 F1_000389 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD1 = VELMSB[4] MOVFF VELMSB#4,VELTIMHH MOVFF VELMSB#4H,VELTIMHHH F1_000390 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD0 = VELLSB[4] MOVFF VELLSB#4,VELTIM MOVFF VELLSB#4H,VELTIMH F1_000395 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000396 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000401 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF CNT >= VELTIM THEN GOSUB TASK4 BTFSC VELTIMHHH,7,0 GOTO CP@LB6 MOVF VELTIMHHH,F,0 BTFSS STATUS,2,0 GOTO BC@LL123 MOVF VELTIMHH,W,0 BTFSS STATUS,2,0 GOTO BC@LL123 MOVF VELTIMH,W,0 SUBWF CNTH,W,0 BTFSS STATUS,0,0 GOTO BC@LL123 BTFSS STATUS,2,0 GOTO CP@LB6 MOVF VELTIM,W,0 SUBWF CNT,W,0 BTFSS STATUS,0,0 GOTO BC@LL123 CP@LB6 CALL TASK4 BC@LL123 F1_000402 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL121 GOTO BC@LL124 BC@LL103 F1_000403 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000404 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR CNTHW CLRF CNTHW,0 F1_000405 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL124 F1_000406 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOTO START_LOOP GOTO START_LOOP KEYPRES F1_000412 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SELECT NOTEPRES F1_000413 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 110 MOVLW 110 SUBWF NOTEPRES,W,0 BTFSS STATUS,2,0 GOTO BC@LL126 F1_000414 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF LITES.0 = 1 THEN BTFSS LITES,0,0 GOTO BC@LL129 F1_000416 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET VELFLAGS0.0 BSF VELFLAGS,0,0 F1_000419 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000420 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000423 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TASK_RSI[0] = (128-PRES) * 2 MOVF PRES,W,0 SUBLW 128 MOVWF PP7,0 MOVLW 0 BTFSS STATUS,0,0 ADDLW 255 MOVWF PP7H,0 BCF STATUS,0,0 RLCF PP7,W,0 MOVWF PBP#VAR0,0 RLCF PP7H,W,0 MOVWF PBP#VAR0H,0 MOVFF PBP#VAR0,TASK_RSI#0 MOVFF PBP#VAR0H,TASK_RSI#0H F1_000424 EQU $ ; IN [SIMBA_PIC1_V21.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 CLRF VELTIMHH,0 ADDWFC VELTIMHH,F,0 CLRF VELTIMHHH,0 F1_000425 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELMSB[0] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#0 MOVFF VELTIMHHH,VELMSB#0H F1_000426 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELLSB[0] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#0 MOVFF VELTIMH,VELLSB#0H GOTO BC@LL130 BC@LL129 F1_000427 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000428 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.0 BCF VELFLAGS,0,0 F1_000429 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.3 BCF TRISA,3,0 BCF LATA,3,0 F1_000430 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL130 GOTO BC@LL125 BC@LL126 F1_000431 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 111 MOVLW 111 SUBWF NOTEPRES,W,0 BTFSS STATUS,2,0 GOTO BC@LL132 F1_000432 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF LITES.1 = 1 THEN BTFSS LITES,1,0 GOTO BC@LL134 F1_000433 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET VELFLAGS0.1 BSF VELFLAGS,1,0 F1_000436 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000437 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000439 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TASK_RSI[1] = (128-PRES) * 2 MOVF PRES,W,0 SUBLW 128 MOVWF PP7,0 MOVLW 0 BTFSS STATUS,0,0 ADDLW 255 MOVWF PP7H,0 BCF STATUS,0,0 RLCF PP7,W,0 MOVWF PBP#VAR0,0 RLCF PP7H,W,0 MOVWF PBP#VAR0H,0 MOVFF PBP#VAR0,TASK_RSI#1 MOVFF PBP#VAR0H,TASK_RSI#1H F1_000440 EQU $ ; IN [SIMBA_PIC1_V21.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 CLRF VELTIMHH,0 ADDWFC VELTIMHH,F,0 CLRF VELTIMHHH,0 F1_000441 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELMSB[1] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#1 MOVFF VELTIMHHH,VELMSB#1H F1_000442 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELLSB[1] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#1 MOVFF VELTIMH,VELLSB#1H GOTO BC@LL135 BC@LL134 F1_000443 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000444 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.1 BCF VELFLAGS,1,0 F1_000445 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.2 BCF TRISA,2,0 BCF LATA,2,0 F1_000446 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL135 GOTO BC@LL125 BC@LL132 F1_000447 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 112 MOVLW 112 SUBWF NOTEPRES,W,0 BTFSS STATUS,2,0 GOTO BC@LL137 F1_000448 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF LITES.2 = 1 THEN BTFSS LITES,2,0 GOTO BC@LL139 F1_000449 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET VELFLAGS0.2 BSF VELFLAGS,2,0 F1_000452 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000453 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000455 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TASK_RSI[2] = (128-PRES) * 2 MOVF PRES,W,0 SUBLW 128 MOVWF PP7,0 MOVLW 0 BTFSS STATUS,0,0 ADDLW 255 MOVWF PP7H,0 BCF STATUS,0,0 RLCF PP7,W,0 MOVWF PBP#VAR0,0 RLCF PP7H,W,0 MOVWF PBP#VAR0H,0 MOVFF PBP#VAR0,TASK_RSI#2 MOVFF PBP#VAR0H,TASK_RSI#2H F1_000456 EQU $ ; IN [SIMBA_PIC1_V21.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 CLRF VELTIMHH,0 ADDWFC VELTIMHH,F,0 CLRF VELTIMHHH,0 F1_000457 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELMSB[2] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#2 MOVFF VELTIMHHH,VELMSB#2H F1_000458 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELLSB[2] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#2 MOVFF VELTIMH,VELLSB#2H GOTO BC@LL140 BC@LL139 F1_000459 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000460 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.2 BCF VELFLAGS,2,0 F1_000461 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.1 BCF TRISA,1,0 BCF LATA,1,0 F1_000462 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL140 GOTO BC@LL125 BC@LL137 F1_000463 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 113 MOVLW 113 SUBWF NOTEPRES,W,0 BTFSS STATUS,2,0 GOTO BC@LL142 F1_000464 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF LITES.3 = 1 THEN BTFSS LITES,3,0 GOTO BC@LL144 F1_000465 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET VELFLAGS0.3 BSF VELFLAGS,3,0 F1_000468 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000469 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000471 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TASK_RSI[3] = (128-PRES) * 2 MOVF PRES,W,0 SUBLW 128 MOVWF PP7,0 MOVLW 0 BTFSS STATUS,0,0 ADDLW 255 MOVWF PP7H,0 BCF STATUS,0,0 RLCF PP7,W,0 MOVWF PBP#VAR0,0 RLCF PP7H,W,0 MOVWF PBP#VAR0H,0 MOVFF PBP#VAR0,TASK_RSI#3 MOVFF PBP#VAR0H,TASK_RSI#3H F1_000472 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM = CNT + TASK_RSI[3] MOVFF TASK_RSI#3,PBP#VAR0 MOVFF TASK_RSI#3H,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 CLRF VELTIMHH,0 ADDWFC VELTIMHH,F,0 CLRF VELTIMHHH,0 F1_000473 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELMSB[3] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#3 MOVFF VELTIMHHH,VELMSB#3H F1_000474 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELLSB[3] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#3 MOVFF VELTIMH,VELLSB#3H GOTO BC@LL145 BC@LL144 F1_000475 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000476 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.3 BCF VELFLAGS,3,0 F1_000477 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.0 BCF TRISA,0,0 BCF LATA,0,0 F1_000478 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL145 GOTO BC@LL125 BC@LL142 F1_000479 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 114 MOVLW 114 SUBWF NOTEPRES,W,0 BTFSS STATUS,2,0 GOTO BC@LL147 F1_000480 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF LITES.4 = 1 THEN BTFSS LITES,4,0 GOTO BC@LL149 F1_000481 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET VELFLAGS0.4 BSF VELFLAGS,4,0 F1_000484 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000485 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000491 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TASK_RSI[4] = (128-PRES) * 2 MOVF PRES,W,0 SUBLW 128 MOVWF PP7,0 MOVLW 0 BTFSS STATUS,0,0 ADDLW 255 MOVWF PP7H,0 BCF STATUS,0,0 RLCF PP7,W,0 MOVWF PBP#VAR0,0 RLCF PP7H,W,0 MOVWF PBP#VAR0H,0 MOVFF PBP#VAR0,TASK_RSI#4 MOVFF PBP#VAR0H,TASK_RSI#4H F1_000492 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELTIM.WORD1 CLRF VELTIMHH,0 CLRF VELTIMHHH,0 F1_000493 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD0 = TASK_RSI[4] MOVFF TASK_RSI#4,VELTIM MOVFF TASK_RSI#4H,VELTIMH F1_000494 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NEWTIM = VELTIM + CNT MOVF CNT,W,0 ADDWF VELTIM,W,0 MOVWF NEWTIM,0 MOVF CNTH,W,0 ADDWFC VELTIMH,W,0 MOVWF NEWTIMH,0 MOVLW 0 ADDWFC VELTIMHH,W,0 MOVWF NEWTIMHH,0 MOVLW 0 ADDWFC VELTIMHHH,W,0 MOVWF NEWTIMHHH,0 F1_000496 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELMSB[4] = NEWTIM.WORD1 MOVFF NEWTIMHH,VELMSB#4 MOVFF NEWTIMHHH,VELMSB#4H F1_000497 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELLSB[4] = NEWTIM.WORD0 MOVFF NEWTIM,VELLSB#4 MOVFF NEWTIMH,VELLSB#4H GOTO BC@LL150 BC@LL149 F1_000498 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000499 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.4 BCF VELFLAGS,4,0 F1_000500 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTB.4 BCF TRISB,4,0 BCF LATB,4,0 F1_000501 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL150 F1_000502 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END SELECT BC@LL147 BC@LL125 F1_000503 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NOTEPRES = 255 SETF NOTEPRES,0 F1_000504 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 PROGCHANGE F1_000507 EQU $ ; IN [SIMBA_PIC1_V21.BAS] PROG = 255 SETF PROG,0 F1_000508 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 PITCHBEND F1_000512 EQU $ ; IN [SIMBA_PIC1_V21.BAS] PBLSB = 255 SETF PBLSB,0 F1_000513 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 AFTERTOUCH F1_000517 EQU $ ; IN [SIMBA_PIC1_V21.BAS] AFT = 255 SETF AFT,0 F1_000518 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 CONTROLLER F1_000521 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SELECT CTRL F1_000522 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 66 MOVLW 66 SUBWF CTRL,W,0 BTFSS STATUS,2,0 GOTO BC@LL152 F1_000524 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF VALUE = 0 THEN MOVF VALUE,F,0 BTFSS STATUS,2,0 GOTO BC@LL155 F1_000525 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOSUB ALLNOTESOFF CALL ALLNOTESOFF F1_000526 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTB.3 BCF TRISB,3,0 BCF LATB,3,0 GOTO BC@LL156 BC@LL155 F1_000527 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000528 EQU $ ; IN [SIMBA_PIC1_V21.BAS] HIGH PORTB.3 BCF TRISB,3,0 BSF LATB,3,0 F1_000529 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL156 F1_000530 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CC66 = VALUE MOVFF VALUE,CC66 GOTO BC@LL151 BC@LL152 F1_000532 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CASE 123 MOVLW 123 SUBWF CTRL,W,0 BTFSS STATUS,2,0 GOTO BC@LL158 F1_000534 EQU $ ; IN [SIMBA_PIC1_V21.BAS] GOSUB ALLNOTESOFF CALL ALLNOTESOFF F1_000535 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END SELECT BC@LL158 BC@LL151 CTRL_PARSE_END F1_000537 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CTRL = 255 SETF CTRL,0 F1_000538 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 ALLNOTESOFF F1_000541 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0 CLRF VELFLAGS,0 F1_000542 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.3 BCF TRISA,3,0 BCF LATA,3,0 F1_000543 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.2 BCF TRISA,2,0 BCF LATA,2,0 F1_000544 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.1 BCF TRISA,1,0 BCF LATA,1,0 F1_000545 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.0 BCF TRISA,0,0 BCF LATA,0,0 F1_000546 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTB.4 BCF TRISB,4,0 BCF LATB,4,0 F1_000547 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.2 BCF TRISC,2,0 BCF LATC,2,0 F1_000548 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.1 BCF TRISC,1,0 BCF LATC,1,0 F1_000549 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.3 BCF TRISC,3,0 BCF LATC,3,0 F1_000552 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 INIT_SIMBA F1_000555 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTB.3 BCF TRISB,3,0 BCF LATB,3,0 F1_000556 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.3 BCF TRISA,3,0 BCF LATA,3,0 F1_000557 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.2 BCF TRISA,2,0 BCF LATA,2,0 F1_000558 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.1 BCF TRISA,1,0 BCF LATA,1,0 F1_000559 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.0 BCF TRISA,0,0 BCF LATA,0,0 F1_000560 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTB.4 BCF TRISB,4,0 BCF LATB,4,0 F1_000561 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.2 BCF TRISC,2,0 BCF LATC,2,0 F1_000562 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.1 BCF TRISC,1,0 BCF LATC,1,0 F1_000563 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTC.3 BCF TRISC,3,0 BCF LATC,3,0 F1_000567 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 TASK0 F1_000575 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF LITES.0 = 0 THEN BTFSC LITES,0,0 GOTO BC@LL160 F1_000576 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.0 BCF VELFLAGS,0,0 F1_000577 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.3 BCF TRISA,3,0 BCF LATA,3,0 F1_000578 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 F1_000579 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END IF BC@LL160 F1_000581 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET VELFLAGS0.0 BSF VELFLAGS,0,0 F1_000584 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000585 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000591 EQU $ ; IN [SIMBA_PIC1_V21.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 CLRF VELTIMHH,0 ADDWFC VELTIMHH,F,0 CLRF VELTIMHHH,0 F1_000592 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELMSB[0] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#0 MOVFF VELTIMHHH,VELMSB#0H F1_000593 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELLSB[0] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#0 MOVFF VELTIMH,VELLSB#0H F1_000594 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TOGGLE PORTA.3 BTG PORTA,3,0 BCF TRISA,3,0 F1_000595 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 TASK1 F1_000599 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF LITES.1 = 0 THEN BTFSC LITES,1,0 GOTO BC@LL162 F1_000600 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.1 BCF VELFLAGS,1,0 F1_000601 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.2 BCF TRISA,2,0 BCF LATA,2,0 F1_000602 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 F1_000603 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END IF BC@LL162 F1_000605 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET VELFLAGS0.1 BSF VELFLAGS,1,0 F1_000608 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000609 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000615 EQU $ ; IN [SIMBA_PIC1_V21.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 CLRF VELTIMHH,0 ADDWFC VELTIMHH,F,0 CLRF VELTIMHHH,0 F1_000616 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELMSB[1] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#1 MOVFF VELTIMHHH,VELMSB#1H F1_000617 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELLSB[1] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#1 MOVFF VELTIMH,VELLSB#1H F1_000618 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TOGGLE PORTA.2 BTG PORTA,2,0 BCF TRISA,2,0 F1_000619 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 TASK2 F1_000623 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF LITES.2 = 0 THEN BTFSC LITES,2,0 GOTO BC@LL164 F1_000624 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.2 BCF VELFLAGS,2,0 F1_000625 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.1 BCF TRISA,1,0 BCF LATA,1,0 F1_000626 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 F1_000627 EQU $ ; IN [SIMBA_PIC1_V21.BAS] END IF BC@LL164 F1_000629 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET VELFLAGS0.2 BSF VELFLAGS,2,0 F1_000632 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000633 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000639 EQU $ ; IN [SIMBA_PIC1_V21.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 CLRF VELTIMHH,0 ADDWFC VELTIMHH,F,0 CLRF VELTIMHHH,0 F1_000640 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELMSB[2] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#2 MOVFF VELTIMHHH,VELMSB#2H F1_000641 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELLSB[2] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#2 MOVFF VELTIMH,VELLSB#2H F1_000642 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TOGGLE PORTA.1 BTG PORTA,1,0 BCF TRISA,1,0 F1_000643 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 TASK3 F1_000646 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF LITES.3 = 0 THEN BTFSC LITES,3,0 GOTO BC@LL166 F1_000647 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.3 BCF VELFLAGS,3,0 F1_000648 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTA.0 BCF TRISA,0,0 BCF LATA,0,0 F1_000649 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 GOTO BC@LL167 BC@LL166 F1_000650 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000652 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET VELFLAGS0.3 BSF VELFLAGS,3,0 F1_000655 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000656 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000662 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM = CNT + TASK_RSI[3] MOVFF TASK_RSI#3,PBP#VAR0 MOVFF TASK_RSI#3H,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 CLRF VELTIMHH,0 ADDWFC VELTIMHH,F,0 CLRF VELTIMHHH,0 F1_000663 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELMSB[3] = VELTIM.WORD1 MOVFF VELTIMHH,VELMSB#3 MOVFF VELTIMHHH,VELMSB#3H F1_000664 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELLSB[3] = VELTIM.WORD0 MOVFF VELTIM,VELLSB#3 MOVFF VELTIMH,VELLSB#3H F1_000665 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TOGGLE PORTA.0 BTG PORTA,0,0 BCF TRISA,0,0 F1_000666 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL167 F1_000667 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 TASK4 F1_000670 EQU $ ; IN [SIMBA_PIC1_V21.BAS] IF LITES.4 = 0 THEN BTFSC LITES,4,0 GOTO BC@LL169 F1_000671 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELFLAGS0.4 BCF VELFLAGS,4,0 F1_000672 EQU $ ; IN [SIMBA_PIC1_V21.BAS] LOW PORTB.4 BCF TRISB,4,0 BCF LATB,4,0 GOTO BC@LL170 BC@LL169 F1_000673 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ELSE F1_000675 EQU $ ; IN [SIMBA_PIC1_V21.BAS] SET VELFLAGS0.4 BSF VELFLAGS,4,0 F1_000681 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE0 = TMR0H MOVFF TMR0H,CNT F1_000682 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CNT.BYTE1 = CNTHW MOVFF CNTHW,CNTH F1_000689 EQU $ ; IN [SIMBA_PIC1_V21.BAS] CLEAR VELTIM.WORD1 CLRF VELTIMHH,0 CLRF VELTIMHHH,0 F1_000690 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELTIM.WORD0 = TASK_RSI[4] MOVFF TASK_RSI#4,VELTIM MOVFF TASK_RSI#4H,VELTIMH F1_000691 EQU $ ; IN [SIMBA_PIC1_V21.BAS] NEWTIM = VELTIM + CNT MOVF CNT,W,0 ADDWF VELTIM,W,0 MOVWF NEWTIM,0 MOVF CNTH,W,0 ADDWFC VELTIMH,W,0 MOVWF NEWTIMH,0 MOVLW 0 ADDWFC VELTIMHH,W,0 MOVWF NEWTIMHH,0 MOVLW 0 ADDWFC VELTIMHHH,W,0 MOVWF NEWTIMHHH,0 F1_000692 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELMSB[4] = NEWTIM.WORD1 MOVFF NEWTIMHH,VELMSB#4 MOVFF NEWTIMHHH,VELMSB#4H F1_000693 EQU $ ; IN [SIMBA_PIC1_V21.BAS] VELLSB[4] = NEWTIM.WORD0 MOVFF NEWTIM,VELLSB#4 MOVFF NEWTIMH,VELLSB#4H F1_000694 EQU $ ; IN [SIMBA_PIC1_V21.BAS] TOGGLE PORTB.4 BTG PORTB,4,0 BCF TRISB,4,0 F1_000695 EQU $ ; IN [SIMBA_PIC1_V21.BAS] ENDIF BC@LL170 F1_000696 EQU $ ; IN [SIMBA_PIC1_V21.BAS] RETURN RETURN 0 F1_EOF EQU $ ; SIMBA_PIC1_V21.BAS PB@LB172 BRA PB@LB172 __EOF CONFIG DEBUG = OFF CONFIG XINST = OFF CONFIG STVREN = OFF CONFIG FCMEN = OFF CONFIG FOSC = HSPLL CONFIG IESO = OFF CONFIG BOREN = OFF 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