; /\\\\\\\\\ ; /\\\///////\\\ ; \/\\\ \/\\\ /\\\ /\\\ ; \/\\\\\\\\\\\/ /\\\\\ /\\\\\\\\\\ /\\\\\\\\ /\\\\\\\\\\\ /\\\\\\\\\\\ /\\\\\\\\\ ; \/\\\//////\\\ /\\\///\\\ \/\\\////// /\\\/////\\\ \////\\\//// \////\\\//// \////////\\\ ; \/\\\ \//\\\ /\\\ \//\\\ \/\\\\\\\\\\ /\\\\\\\\\\\ \/\\\ \/\\\ /\\\\\\\\\\ ; \/\\\ \//\\\ \//\\\ /\\\ \////////\\\ \//\\/////// \/\\\ /\\ \/\\\ /\\ /\\\/////\\\ ; \/\\\ \//\\\ \///\\\\\/ /\\\\\\\\\\ \//\\\\\\\\\\ \//\\\\\ \//\\\\\ \//\\\\\\\\/\\ ; \/// \/// \///// \////////// \////////// \///// \///// \////////\// ; Let's find out together what makes a PIC Tick! ; ; Code Produced by the Positron8 Compiler. Version 4.0.3.3 ; Created and Written by Les Johnson. ; Compiler version for Pieter-Jan Mylle ;---------------------------------------------------------- ; #define config_req 1 LIST P = 16F886, F = INHX8M, W = 2, X = ON, R = DEC, MM = ON, N = 0, C = 255 ; MICROCONTROLLER'S SFRS INDF equ 0X0000 TMR0 equ 0X0001 PCL equ 0X0002 STATUS equ 0X0003 FSR equ 0X0004 PORTA equ 0X0005 PORTB equ 0X0006 PORTC equ 0X0007 PORTE equ 0X0009 PCLATH equ 0X000A INTCON equ 0X000B PIR1 equ 0X000C PIR2 equ 0X000D TMR1L equ 0X000E TMR1LH equ 0X000F TMR1H equ 0X000F T1CON equ 0X0010 TMR2 equ 0X0011 T2CON equ 0X0012 SSPBUF equ 0X0013 SSPCON equ 0X0014 CCPR1L equ 0X0015 CCPR1LH equ 0X0016 CCPR1H equ 0X0016 CCP1CON equ 0X0017 RCSTA equ 0X0018 TXREG equ 0X0019 RCREG equ 0X001A CCPR2L equ 0X001B CCPR2LH equ 0X001C CCPR2H equ 0X001C CCP2CON equ 0X001D ADRESLH equ 0X001E ADRESH equ 0X001E ADCON0 equ 0X001F OPTION_REG equ 0X0081 TRISA equ 0X0085 TRISB equ 0X0086 TRISC equ 0X0087 TRISE equ 0X0089 PIE1 equ 0X008C PIE2 equ 0X008D PCON equ 0X008E OSCCON equ 0X008F OSCTUNE equ 0X0090 SSPCON2 equ 0X0091 PR2 equ 0X0092 SSPADD equ 0X0093 SSPMSK equ 0X0093 MSK equ 0X0093 SSPSTAT equ 0X0094 WPUB equ 0X0095 IOCB equ 0X0096 VRCON equ 0X0097 TXSTA equ 0X0098 SPBRG equ 0X0099 SPBRGH equ 0X009A PWM1CON equ 0X009B ECCPAS equ 0X009C PSTRCON equ 0X009D ADRESL equ 0X009E ADCON1 equ 0X009F WDTCON equ 0X0105 CM1CON0 equ 0X0107 CM2CON0 equ 0X0108 CM2CON1 equ 0X0109 EEDATL equ 0X010C EEDATA equ 0X010C EEDAT equ 0X010C EEADR equ 0X010D EEDATLH equ 0X010E EEDATH equ 0X010E EEADRH equ 0X010F SRCON equ 0X0185 BAUDCTL equ 0X0187 ANSEL equ 0X0188 ANSELH equ 0X0189 EECON1 equ 0X018C EECON2 equ 0X018D ; I2C PINS USED BY HBUSIN AND HBUSOUT _I2C_SCL_port=TRISC _I2C_SCL_pin=3 _I2C_SDA_port=TRISC _I2C_SDA_pin=4 ; SFR BITS USED INTERNALLY BY THE COMPILER IRP=7 RP1=6 RP0=5 To=4 PD=3 Z=2 DC=1 C=0 PP_IRP=7 PP_RP1=6 PP_RP0=5 PP_RCIF=5 PP_TXIF=4 PP_TMR2ON=2 PP_T2CKPS1=1 PP_T2CKPS0=0 PP_CREN=4 PP_OERR=1 PP_GO_DONE=1 PP_ACKSTAT=6 PP_ACKDT=5 PP_ACKEN=4 PP_RCEN=3 PP_PEN=2 PP_RSEN=1 PP_SEN=0 PP_R_W=2 PP_BF=0 PP_SENDB=3 PP_BRGH=2 PP_BRG16=3 PP_EEPGD=7 PP_WRERR=3 PP_WREN=2 PP_WR=1 PP_RD=0 ; MEMORY MAP OF THE DEVICE __MAXRAM 0X1FF __BADRAM 0X18E-0X18F ; CONFIG FUSE NAME VALUES _CONFIG1 equ 0X2007 _CONFIG2 equ 0X2008 DEBUG_ON equ 0X1FFF DEBUG_OFF equ 0X3FFF LVP_ON equ 0X3FFF LVP_OFF equ 0X2FFF FCMEN_ON equ 0X3FFF FCMEN_OFF equ 0X37FF IESO_ON equ 0X3FFF IESO_OFF equ 0X3BFF BOR_ON equ 0X3FFF BOR_NSLEEP equ 0X3EFF BOR_SBODEN equ 0X3DFF BOR_OFF equ 0X3CFF CPD_ON equ 0X3F7F CPD_OFF equ 0X3FFF CP_ON equ 0X3FBF CP_OFF equ 0X3FFF MCLRE_ON equ 0X3FFF MCLRE_OFF equ 0X3FDF PWRTE_ON equ 0X3FEF PWRTE_OFF equ 0X3FFF WDT_ON equ 0X3FFF WDT_OFF equ 0X3FF7 LP_OSC equ 0X3FF8 XT_OSC equ 0X3FF9 HS_OSC equ 0X3FFA EC_OSC equ 0X3FFB INTRC_OSC_NOCLKOUT equ 0X3FFC INTRC_OSC_CLKOUT equ 0X3FFD EXTRC_OSC_NOCLKOUT equ 0X3FFE EXTRC_OSC_CLKOUT equ 0X3FFF INTOSCIO equ 0X3FFC INTOSC equ 0X3FFD EXTRCIO equ 0X3FFE EXTRC equ 0X3FFF WRT_OFF equ 0X3FFF WRT_256 equ 0X3DFF WRT_1FOURTH equ 0X3BFF WRT_HALF equ 0X39FF BOR21V equ 0X3EFF BOR40V equ 0X3FFF BOR4V_BOR21V equ 0X3EFF BOR4V_BOR40V equ 0X3FFF BOREN_NSLEEP equ 0X3EFF BOREN_OFF equ 0X3CFF BOREN_ON equ 0X3FFF BOREN_SBODEN equ 0X3DFF FOSC_EC equ 0X3FFB FOSC_EXTRC_CLKOUT equ 0X3FFF FOSC_EXTRC_NOCLKOUT equ 0X3FFE FOSC_HS equ 0X3FFA FOSC_INTRC_CLKOUT equ 0X3FFD FOSC_INTRC_NOCLKOUT equ 0X3FFC FOSC_LP equ 0X3FF8 FOSC_XT equ 0X3FF9 WDTE_OFF equ 0X3FF7 WDTE_ON equ 0X3FFF ; COMPILER'S INTERNAL CONSTANTS AND ALIASES #define __16F886 1 #define xtal 8 #define _core 14 #define _MaxRAM 368 #define _RAM_End 0X0170 #define _MaxMem 8192 #define _ADC 11 #define _ADC_res 10 #define _eeprom 256 #define _pages 4 #define _banks 3 #define ram_banks 4 #define _USART 1 #define _USB 0 #define _flash 1 #define _cwrite_block 8 #define Bank0_Start 0x20 #define Bank0_End 0x7B #define Bank1_Start 0xA0 #define Bank1_End 0xEF #define Bank2_Start 0X110 #define Bank2_End 0X16F #define Bank3_Start 0X190 #define Bank3_End 0X1EF #define _system_variable_count 42 ram_bank = 0 _current__page_ = 0 _dest__page_ = 0 #define __Interrupts_Enabled 1 _mcall macro pDest if(pDest < 1) if((pDest & 2048) == 0) bcf PCLATH,3 else bsf PCLATH,3 endif if((pDest & 4096) == 0) bcf PCLATH,4 else bsf PCLATH,4 endif else if(pDest > $) if((pDest & 2048) == 0) bcf PCLATH,3 else bsf PCLATH,3 endif if((pDest & 4096) == 0) bcf PCLATH,4 else bsf PCLATH,4 endif else if((pDest & 6144) == 0) clrf PCLATH else if((pDest & 2048) == 0) bcf PCLATH,3 else bsf PCLATH,3 endif if((pDest & 4096) == 0) bcf PCLATH,4 else bsf PCLATH,4 endif endif endif endif call pDest endm _mjump macro pDest if(pDest < 1) if((pDest & 2048) == 0) bcf PCLATH,3 else bsf PCLATH,3 endif if((pDest & 4096) == 0) bcf PCLATH,4 else bsf PCLATH,4 endif else if(pDest > $) if((pDest & 2048) == 0) bcf PCLATH,3 else bsf PCLATH,3 endif if((pDest & 4096) == 0) bcf PCLATH,4 else bsf PCLATH,4 endif else if((pDest & 6144) == 0) clrf PCLATH else if((pDest & 2048) == 0) bcf PCLATH,3 else bsf PCLATH,3 endif if((pDest & 4096) == 0) bcf PCLATH,4 else bsf PCLATH,4 endif endif endif endif goto pDest endm _set_cpage macro pDest if((pDest & 2048) == 0) bcf PCLATH,3 else bsf PCLATH,3 endif if((pDest & 4096) == 0) bcf PCLATH,4 else bsf PCLATH,4 endif endm _set_rbank macro pVarin if((pVarin & 384) == 0) if(ram_bank == 1) bcf STATUS,PP_RP0 endif if(ram_bank == 2) bcf STATUS,PP_RP1 endif if(ram_bank == 3) bcf STATUS,PP_RP0 bcf STATUS,PP_RP1 endif ram_bank = 0 endif if((pVarin & 384) == 128) if(ram_bank == 0) bsf STATUS,PP_RP0 endif if(ram_bank == 2) bsf STATUS,PP_RP0 bcf STATUS,PP_RP1 endif if(ram_bank == 3) bcf STATUS,PP_RP1 endif ram_bank = 1 endif if((pVarin & 384) == 256) if(ram_bank == 0) bsf STATUS,PP_RP1 endif if(ram_bank == 1) bcf STATUS,PP_RP0 bsf STATUS,PP_RP1 endif if(ram_bank == 3) bcf STATUS,PP_RP0 endif ram_bank = 2 endif if((pVarin & 384) == 384) if(ram_bank == 0) bsf STATUS,PP_RP0 bsf STATUS,PP_RP1 endif if(ram_bank == 1) bsf STATUS,PP_RP1 endif if(ram_bank == 2) bsf STATUS,PP_RP0 endif ram_bank = 3 endif endm _reset_rbank macro if((ram_bank & 1) != 0) bcf STATUS,PP_RP0 endif if((ram_bank & 2) != 0) bcf STATUS,PP_RP1 endif ram_bank = 0 endm variable _current__page_ = 0 variable _dest__page_ = 0 _find_cpage macro pLabelIn local current_addr = $ local dest_addr = pLabelIn if((current_addr >= 0X1800) && (current_addr <= 0X2000)) _current__page_ = 3 endif if((current_addr >= 0X1000) && (current_addr <= 0X1800)) _current__page_ = 2 endif if((current_addr >= 0X0800) && (current_addr <= 0X1000)) _current__page_ = 1 endif if((current_addr >= 0) && (current_addr <= 0X0800)) _current__page_ = 0 endif if((dest_addr >= 0X1800) && (dest_addr <= 0X2000)) _dest__page_ = 3 endif if((dest_addr >= 0X1000) && (dest_addr <= 0X1800)) _dest__page_ = 2 endif if((dest_addr >= 0X0800) && (dest_addr <= 0X1000)) _dest__page_ = 1 endif if((dest_addr >= 0) && (dest_addr <= 0X0800)) _dest__page_ = 0 endif endm jump macro pLabel goto pLabel endm wreg_byte macro pByteOut _set_rbank pByteOut movwf pByteOut _reset_rbank endm wreg_bit macro pVarOut,pBitout _set_rbank pVarOut andlw 1 btfsc STATUS,2 bcf pVarOut,pBitout btfss STATUS,2 bsf pVarOut,pBitout _reset_rbank endm wreg_word macro pWordOut _set_rbank pWordOut movwf pWordOut _set_rbank pWordOut+1 clrf pWordOut+1 _reset_rbank endm wreg_dword macro pDwordOut _set_rbank pDwordOut+3 clrf pDwordOut+3 _set_rbank pDwordOut+2 clrf pDwordOut+2 _set_rbank pDwordOut+1 clrf pDwordOut+1 _set_rbank pDwordOut movwf pDwordOut _reset_rbank endm byte_wreg macro pByteIn _set_rbank pByteIn movf pByteIn,W _reset_rbank endm num_SFR macro pNumIn,pSFROut _set_rbank pSFROut movlw pNumIn movwf pSFROut endm num16_SFR macro pNumIn,pSFROut _set_rbank pSFROut movlw (pNumIn & 255) movwf pSFROut _set_rbank pSFROut + 1 movlw ((pNumIn >> 8) & 255) movwf pSFROut + 1 _reset_rbank endm num_wreg macro pNumIn movlw (pNumIn & 255) endm num_byte macro pNumIn,pByteOut _set_rbank pByteOut if(pNumIn == 0) clrf pByteOut else movlw (pNumIn & 255) movwf pByteOut endif _reset_rbank endm num_bit macro pNumIn,pVarOut,pBitout _set_rbank pVarOut if((pNumIn & 1) == 1) bsf pVarOut,pBitout else bcf pVarOut,pBitout endif _reset_rbank endm num_word macro pNumIn,pWordOut if((pNumIn & 255) == 0) _set_rbank pWordOut clrf pWordOut else _set_rbank pWordOut movlw low (pNumIn) movwf pWordOut endif if(((pNumIn >> 8) & 255) == 0) _set_rbank pWordOut+1 clrf pWordOut+1 else _set_rbank pWordOut+1 movlw high (pNumIn) movwf pWordOut+1 endif _reset_rbank endm num_dword macro pNumIn,pDwordOut if ((pNumIn >> 24 & 255) == 0) _set_rbank pDwordOut+3 clrf pDwordOut+3 else _set_rbank pDwordOut+3 movlw ((pNumIn >> 24) & 255) movwf pDwordOut+3 endif if( ((pNumIn >> 16) & 255) == 0) _set_rbank pDwordOut+2 clrf pDwordOut+2 else _set_rbank pDwordOut+2 movlw ((pNumIn >> 16) & 255) movwf pDwordOut+2 endif if( ((pNumIn >> 8) & 255) == 0) _set_rbank pDwordOut+1 clrf pDwordOut+1 else _set_rbank pDwordOut+1 movlw high (pNumIn) movwf pDwordOut+1 endif if((pNumIn & 255) == 0) _set_rbank pDwordOut clrf pDwordOut else _set_rbank pDwordOut movlw low (pNumIn) movwf pDwordOut endif _reset_rbank endm bit_wreg macro pVarin,pBitIn _set_rbank pVarin clrw btfsc pVarin,pBitIn movlw 1 _reset_rbank endm bit_byte macro pVarin,pBitIn,pByteOut _set_rbank pVarin clrw btfsc pVarin,pBitIn movlw 1 _set_rbank pByteOut movwf pByteOut _reset_rbank endm bit_bit macro pVarin,pBitIn,pVarOut,pBitout if((pVarin & 65408) == (pVarOut & 65408)) _set_rbank pVarOut btfsc pVarin,pBitIn bsf pVarOut,pBitout btfss pVarin,pBitIn bcf pVarOut,pBitout else _set_rbank pVarin clrdc btfsc pVarin,pBitIn setdc _set_rbank pVarOut skpndc bsf pVarOut,pBitout skpdc bcf pVarOut,pBitout endif endm bit_word macro pVarin,pBitIn,pWordOut _set_rbank pWordOut+1 clrf pWordOut+1 bit_byte pVarin,pBitIn,pWordOut endm bit_dword macro pVarin,pBitIn,pDwordOut _set_rbank pDwordOut+3 clrf pDwordOut+3 _set_rbank pDwordOut+2 clrf pDwordOut+2 _set_rbank pDwordOut+1 clrf pDwordOut+1 bit_byte pVarin,pBitIn,pDwordOut endm word_wreg macro pWordIn byte_wreg pWordIn endm word_byte macro pWordIn,pByteOut byte_byte pWordIn,pByteOut endm word_bit macro pWordIn,pVarOut,pBitout byte_bit pWordIn, pVarOut, pBitout endm word_word macro pWordIn,pWordOut _set_rbank pWordIn+1 movf pWordIn+1,W _set_rbank pWordOut+1 movwf pWordOut+1 byte_byte pWordIn,pWordOut endm word_dword macro pWordIn,pDwordOut _set_rbank pDwordOut+3 clrf pDwordOut+3 _set_rbank pDwordOut+2 clrf pDwordOut+2 byte_byte pWordIn+1,pDwordOut+1 byte_byte pWordIn,pDwordOut endm byte_byte macro pByteIn,pByteOut _set_rbank pByteIn movf pByteIn,W _set_rbank pByteOut movwf pByteOut _reset_rbank endm byte_word macro pByteIn,pWordOut _set_rbank pWordOut+1 clrf pWordOut+1 byte_byte pByteIn,pWordOut endm byte_dword macro pByteIn,pDwordOut _set_rbank pDwordOut+3 clrf pDwordOut+3 _set_rbank pDwordOut+2 clrf pDwordOut+2 _set_rbank pDwordOut+1 clrf pDwordOut+1 byte_byte pByteIn,pDwordOut endm byte_bit macro pByteIn,pVarOut,pBitout if((pByteIn & 65408) == (pVarOut & 65408)) _set_rbank pByteIn btfsc pByteIn,0 bsf pVarOut,pBitout btfss pByteIn,0 bcf pVarOut,pBitout else _set_rbank pByteIn rrf pByteIn,W _set_rbank pVarOut skpnc bsf pVarOut,pBitout skpc bcf pVarOut,pBitout endif _reset_rbank endm dword_wreg macro pDwordIn byte_wreg pDwordIn endm dword_byte macro pDwordIn,pByteOut byte_byte pDwordIn,pByteOut endm dword_word macro pDwordIn,pWordOut _set_rbank pDwordIn+1 movf pDwordIn+1,W _set_rbank pWordOut+1 movwf pWordOut+1 byte_byte pDwordIn,pWordOut endm dword_dword macro pDwordIn,pDwordOut byte_byte pDwordIn+3,pDwordOut+3 byte_byte pDwordIn+2,pDwordOut+2 byte_byte pDwordIn+1,pDwordOut+1 byte_byte pDwordIn,pDwordOut endm dword_bit macro pDwordIn,pVarOut,pBitout byte_bit pDwordIn,pVarOut,pBitout endm num_float macro pNumIn,pFloatOut num_byte pNumIn,pFloatOut+3 num_byte ((pNumIn >> 8) & 255),pFloatOut+2 num_byte ((pNumIn >> 16) & 255),pFloatOut+1 num_byte ((pNumIn >> 24) & 255),pFloatOut endm wreg_float macro pFloatOut pagesel _UNS_INT08_TOFL32 call _UNS_INT08_TOFL32 byte_byte PP_AARG,pFloatOut byte_byte PP_AARGH,pFloatOut+1 byte_byte PP_AARGHH,pFloatOut+2 byte_byte PP_AARGHHH,pFloatOut+3 endm bit_float macro pVarin,pBitIn,pFloatOut bit_wreg pVarin,pBitIn pagesel _UNS_INT08_TOFL32 call _UNS_INT08_TOFL32 byte_byte PP_AARG,pFloatOut byte_byte PP_AARGH,pFloatOut+1 byte_byte PP_AARGHH,pFloatOut+2 byte_byte PP_AARGHHH,pFloatOut+3 endm byte_float macro pByteIn,pFloatOut byte_wreg pByteIn pagesel _UNS_INT08_TOFL32 call _UNS_INT08_TOFL32 byte_byte PP_AARG,pFloatOut byte_byte PP_AARGH,pFloatOut+1 byte_byte PP_AARGHH,pFloatOut+2 byte_byte PP_AARGHHH,pFloatOut+3 endm word_float macro pWordIn,pFloatOut byte_byte pWordIn,PP_AARG byte_byte pWordIn+1,PP_AARGH pagesel _UNS_INT16_TOFL32 call _UNS_INT16_TOFL32 byte_byte PP_AARG,pFloatOut byte_byte PP_AARGH,pFloatOut+1 byte_byte PP_AARGHH,pFloatOut+2 byte_byte PP_AARGHHH,pFloatOut+3 endm dword_float macro pDwordIn,pFloatOut byte_byte pDwordIn,PP_AARG byte_byte pDwordIn+1,PP_AARGH byte_byte pDwordIn+2,PP_AARGHH byte_byte pDwordIn+3,PP_AARGHHH pagesel _unsgn_int32_tofl32 call _unsgn_int32_tofl32 byte_byte PP_AARG,pFloatOut byte_byte PP_AARGH,pFloatOut+1 byte_byte PP_AARGHH,pFloatOut+2 byte_byte PP_AARGHHH,pFloatOut+3 endm float_float macro pFloatIn,pFloatOut byte_byte pFloatIn,pFloatOut byte_byte pFloatIn+1,pFloatOut+1 byte_byte pFloatIn+2,pFloatOut+2 byte_byte pFloatIn+3,pFloatOut+3 endm float_wreg macro pFloatIn float_float pFloatIn,PP_AARG pagesel _FL32_TO_INT32 call _FL32_TO_INT32 endm float_bit macro pFloatIn,pVarOut,pBitout float_float pFloatIn,PP_AARG pagesel _FL32_TO_INT32 call _FL32_TO_INT32 wreg_bit pVarOut,pBitout endm float_byte macro pFloatIn,pByteOut float_float pFloatIn,PP_AARG pagesel _FL32_TO_INT32 call _FL32_TO_INT32 wreg_byte pByteOut endm float_word macro pFloatIn,pWordOut float_float pFloatIn,PP_AARG pagesel _FL32_TO_INT32 call _FL32_TO_INT32 byte_byte PP_AARGHHH,pWordOut byte_byte PP_AARGHH,pWordOut+1 endm float_dword macro pFloatIn,pDwordOut float_float pFloatIn,PP_AARG pagesel _FL32_TO_INT32 call _FL32_TO_INT32 byte_byte PP_AARGHHH,pDwordOut byte_byte PP_AARGHH,pDwordOut+1 byte_byte PP_AARGH,pDwordOut+2 byte_byte PP_AARG,pDwordOut+3 endm num_FSR macro pNumIn num_byte pNumIn, FSR if (((pNumIn >> 8) & 255) == 1) bsf STATUS,7 else bcf STATUS,7 endif endm label_word macro pLabelIn,pWordOut movlw (pLabelIn & 255) _set_rbank pWordOut movwf pWordOut movlw ((pLabelIn >> 8) & 255) _set_rbank pWordOut+1 movwf pWordOut+1 _reset_rbank endm wreg_sword macro pWordOut _set_rbank pWordOut movwf pWordOut movlw 0 btfsc pWordOut,7 movlw 255 _set_rbank pWordOut+1 movwf pWordOut+1 _reset_rbank endm wreg_sdword macro pDwordOut _set_rbank pDwordOut movwf pDwordOut movlw 0 btfsc pDwordOut,7 movlw 255 _set_rbank pDwordOut+1 movwf pDwordOut+1 _set_rbank pDwordOut+2 movwf pDwordOut+2 _set_rbank pDwordOut+3 movwf pDwordOut+3 _reset_rbank endm byte_sword macro pByteIn,pWordOut _set_rbank pByteIn movf pByteIn,W _set_rbank pWordOut movwf pWordOut movlw 0 btfsc pWordOut,7 movlw 255 _set_rbank pWordOut+1 movwf pWordOut+1 _reset_rbank endm byte_sdword macro pByteIn,pDwordOut _set_rbank pByteIn movf pByteIn,W _set_rbank pDwordOut movwf pDwordOut movlw 0 btfsc pDwordOut,7 movlw 255 _set_rbank pDwordOut+1 movwf pDwordOut+1 _set_rbank pDwordOut+2 movwf pDwordOut+2 _set_rbank pDwordOut+3 movwf pDwordOut+3 _reset_rbank endm word_sdword macro pWordIn,pDwordOut _set_rbank pWordIn movf pWordIn,W _set_rbank pDwordOut movwf pDwordOut _set_rbank pWordIn+1 movf pWordIn+1,W _set_rbank pDwordOut+1 movwf pDwordOut+1 movlw 0 btfsc pDwordOut+1,7 movlw 255 _set_rbank pDwordOut+2 movwf pDwordOut+2 _set_rbank pDwordOut+3 movwf pDwordOut+3 _reset_rbank endm ; COMPILER SYSTEM VARIABLES GEN equ 0x20 GEN2 equ 0x21 GEN2H equ 0x22 GEN3H equ 0x23 GEN4 equ 0x24 GEN4H equ 0x25 GENH equ 0x26 GPR equ 0x27 PBL_VAR0 equ 0x28 PBS_VAR0 equ 0x29 PBS_VAR0H equ 0x2A PBS_VAR1 equ 0x2B PBS_VAR1H equ 0x2C PBS_VAR2 equ 0x2D PBS_VAR2H equ 0x2E PBS_VAR3 equ 0x2F PBS_VAR3H equ 0x30 PP0 equ 0x31 PP0H equ 0x32 PP0HH equ 0x33 PP0HHH equ 0x34 PP1 equ 0x35 PP1H equ 0x36 PP2 equ 0x37 PP2H equ 0x38 PP2HH equ 0x39 PP2HHH equ 0x3A PP3 equ 0x3B PP3H equ 0x3C PP6 equ 0x3D PP6H equ 0x3E PP7 equ 0x3F PP7H equ 0x40 PP7HH equ 0x41 PP7HHH equ 0x42 PP8 equ 0x43 PP8H equ 0x44 PPZ equ 0x45 PPZH equ 0x46 PPZHH equ 0x47 PPZHHH equ 0x48 SP__P9_ equ 0x49 FSRSAVE equ 0x7C PSAVE equ 0x7D SSAVE equ 0x7E WSAVE equ 0x7F ; BIT HOLDER VARIABLES _B__VR1 equ 0x4A _B__VR2 equ 0x4B _B__VR3 equ 0x4C _B__VR4 equ 0x4D ; STANDARD VARIABLES TXbuf equ 0x4E variable TXbuf#0=0x4E variable TXbuf#1=0x4F variable TXbuf#2=0x50 variable TXbuf#3=0x51 variable TXbuf#4=0x52 variable TXbuf#5=0x53 RXbuf equ 0x54 variable RXbuf#0=0x54 variable RXbuf#1=0x55 variable RXbuf#2=0x56 variable RXbuf#3=0x57 variable RXbuf#4=0x58 variable RXbuf#5=0x59 variable RXbuf#6=0x5A variable RXbuf#7=0x5B TXcount equ 0x5C TXcounter equ 0x5D RXcount equ 0x5E RXdone equ 0x5F dummy equ 0x60 RXnum equ 0x61 RXnumH equ 0x62 TBC1 equ 0x63 TBC2 equ 0x64 CT1 equ 0x65 CT2 equ 0x66 _I equ 0x67 Char equ 0x68 tmpwrd equ 0x69 tmpwrdH equ 0x6A tmpdwrd equ 0x6B tmpdwrdH equ 0x6C tmpdwrdHH equ 0x6D tmpdwrdHHH equ 0x6E tmpbyte equ 0x6F soundIdx equ 0x70 soundVol equ 0x71 ampUpTime equ 0x72 ampUpTimeH equ 0x73 ampDownTime equ 0x74 ampDownTimeH equ 0x75 displayBootCounter equ 0x76 audioSM equ 0x77 CDT equ 0x78 CDTH equ 0x79 perictrl equ 0x7A Vbat equ 0x7B VbatH equ 0xA0 Vpb equ 0xA1 key equ 0xA2 keys equ 0xA3 keycounter equ 0xA4 Vcc equ 0xA5 VccH equ 0xA6 VbatCount equ 0xA7 VbatCountH equ 0xA8 VbatCounter equ 0xA9 VbatCounterH equ 0xAA batLowlim equ 0xAB batLowlimH equ 0xAC ampVal equ 0xAD ampValH equ 0xAE keyVal equ 0xAF ADCctrl equ 0xB0 index equ 0xB1 loopstate equ 0xB2 passbyte equ 0xB3 dbugbyte equ 0xB4 delaycount equ 0xB5 hd_tmp equ 0xB6 Hd_data equ 0xB7 Hd_pointer equ 0xB8 hd_pos equ 0xB9 Hd_index equ 0xBA Cg_addr equ 0xBB Hd_shifter equ 0xBC Hd_shifterH equ 0xBD Hd_input equ 0xBE Hd_inputH equ 0xBF Hd_char equ 0xC0 Hd_digits equ 0xC1 Hd_loop equ 0xC2 hd_remainder equ 0xC3 hd_remainderH equ 0xC4 hd_divider equ 0xC5 hd_dividerH equ 0xC6 Print_tmp equ 0xC7 Print_loop equ 0xC8 Print_adr equ 0xC9 Print_adrH equ 0xCA JQ_idx equ 0xCB JQ_vol equ 0xCC JQ_vol_stored equ 0xCD JQ_rqst equ 0xCE JQ_files equ 0xCF JQ_status equ 0xD0 JQ_mode equ 0xD1 JQ_i equ 0xD2 JQ_num equ 0xD3 JQ_total_time equ 0xD4 JQ_total_timeH equ 0xD5 JQ_current_time equ 0xD6 JQ_current_timeH equ 0xD7 JQ_state equ 0xD8 JQ_play_idx equ 0xD9 JQ_tx equ 0xDA JQ_tx_retry equ 0xDB JQ_timeout equ 0xDC JQ_cooldown equ 0xDD JQ_command equ 0xDE JQ_commandH equ 0xDF userpin equ 0xE0 userpinH equ 0xE1 masterpin equ 0xE2 masterpinH equ 0xE3 UISM equ 0xE4 modvar equ 0xE5 modvarH equ 0xE6 modmax equ 0xE7 modmaxH equ 0xE8 modmin equ 0xE9 modminH equ 0xEA modstepl equ 0xEB modsteph equ 0xEC waste11 equ 0xED waste12 equ 0xEE waste13 equ 0xEF waste14 equ 0X110 waste21 equ 0X111 waste22 equ 0X112 waste23 equ 0X113 waste24 equ 0X114 ; HEAP VARIABLES ; INTERRUPT CONTEXT STORAGE _High__Context_Store equ 0X115 variable _High__Context_Store_0=0X115,_High__Context_Store_1=0X116,_High__Context_Store_2=0X117,_High__Context_Store_3=0X118 variable _High__Context_Store_4=0X119,_High__Context_Store_5=0X11A,_High__Context_Store_6=0X11B,_High__Context_Store_7=0X11C variable _High__Context_Store_8=0X11D,_High__Context_Store_9=0X11E,_High__Context_Store_10=0X11F,_High__Context_Store_11=0X120 ; ALIAS VARIABLES #define Vmeas PORTA,5 #define PBkey PORTB,5 #define hd_RS PORTA,7 #define hd_RW PORTA,6 #define hd_E PORTA,4 #define Hd_db7 PORTA,3 #define Hd_db6 PORTA,2 #define Hd_db5 PORTA,1 #define Hd_db4 PORTA,0 #define indicator PORTB,7 #define buzzer PORTB,6 #define IN3 PORTB,4 #define IN2 PORTB,3 #define IN1 PORTB,2 #define IN0 PORTB,1 #define RTC_INT PORTB,0 #define ALARM_OUT PORTC,2 #define PeriEnable PORTC,0 #define AmpEnable PORTC,1 #define RX PORTC,7 #define TX PORTC,6 #define BUSY PORTC,5 #define debug1 PORTC,5 #define debug2 PORTC,4 #define debug3 PORTC,3 #define debug4 PORTC,2 #define debug5 PORTC,1 #define debug6 PORTC,0 #define ADif PIR1,6 #define RXif PIR1,5 #define TXif PIR1,4 #define TXie PIE1,4 #define SSPif PIR1,3 #define T0IF INTCON,2 #define GIE INTCON,7 #define TXinProg _B__VR1,0 #define TXdone _B__VR1,1 #define timebase0 _B__VR1,2 #define timebase1 _B__VR1,3 #define tmpbit _B__VR1,4 #define periRQ perictrl,0 #define periRDY perictrl,1 #define ampRQ perictrl,2 #define ampRDY perictrl,3 #define audioRQ perictrl,4 #define audioRDY perictrl,5 #define periOR perictrl,6 #define audioERR perictrl,7 #define ADClock1 ADCctrl,7 #define ADClock2 ADCctrl,6 #define ADCdone ADCctrl,5 #define VbatRDY ADCctrl,4 #define KeyRDY ADCctrl,3 #define Hd_id _B__VR1,5 #define Hd_s _B__VR1,6 #define Hd_on _B__VR1,7 #define Hd_cursor _B__VR2,0 #define Hd_blink _B__VR2,1 #define Hd_sc _B__VR2,2 #define Hd_rl _B__VR2,3 #define Leading_zero _B__VR2,4 #define Leading_space _B__VR2,5 #define Hd_zero _B__VR2,6 #define JQ_playing _B__VR2,7 #define JQ_idle _B__VR3,0 #define JQ_err _B__VR3,1 #define JQ_reply _B__VR3,2 #define JQ_reply_ok _B__VR3,3 #define JQ_time_update _B__VR3,4 #define text _B__VR3,5 #define number _B__VR3,6 #define keyUP key,0 #define keyDOWN key,1 #define keyENTER key,2 #define keyUPL key,4 #define keyDOWNL key,5 #define keyENTERL key,6 #define UIlocked _B__VR3,7 #define varmod _B__VR4,0 #define modrol _B__VR4,1 ; CONSTANTS #define __xtal 8 #define RXsize 8 #define TXsize 6 #define jingleStopTime 100 #define periBootTime 200 #define pbval1 768 #define pbval1H 3 #define pbval2 512 #define pbval2H 2 #define pbval3 256 #define pbval3H 1 #define pbtol 10 #define shortpress 20 #define longpress 50 #define Hd_hor_res 16 #define Hd_ver_res 2 #define Hd_hor_res_half 8 #define state0 5 #define state1 6 #define state2 7 #define state3 8 #define state4 16 #define state5 9 #define state6 10 #define state7 11 #define state8 12 #define state9 13 #define stateIdle 2 #define JQtimeout 4 #define mp3boottime 100 #define playtimeout 1000 #define playtimeoutH 3 ;--------------------------------------------- ; START OF THE COMPILER'S LIBRARY ROUTINES _compiler__start_ org 0x00 nop movlw(_compiler_main_start_ >> 8) & 0xFF movwf PCLATH goto _compiler_main_start_ org 0x04 movwf WSAVE movf STATUS,W clrf STATUS movwf SSAVE movf FSR,W movwf FSRSAVE movf PCLATH,W movwf PSAVE movlw(Isr >> 8) & 0xFF movwf PCLATH goto Isr __cl_rh__ bsf STATUS,PP_IRP __cl_r__ clrf INDF incf FSR,F addlw 255 btfss STATUS,2 goto $ - 4 goto __exit_library__ __shout_8_ movlw 8 __shout_ movwf PP3 btfsc GPR,0 call __reversebits__16_ movf GEN2,W movwf FSR movf GEN2H,W btfsc GPR,2 call __set_pin_high__ btfss GPR,2 call __pull_pin_low__ movf GEN,W movwf FSR comf GENH,W bsf FSR,7 andwf INDF,F movf GEN,W movwf FSR rrf PP0H,F rrf PP0,F movf INDF,W iorwf GENH,W btfss STATUS,0 xorwf GENH,W movwf INDF call __shiftX_toggle_clock__ decfsz PP3,F goto $ - 11 goto __exit_library__ __shiftX_toggle_clock__ movf GEN2,W movwf FSR movf GEN2H,W xorwf INDF,F nop goto $ + 1 xorwf INDF,F return __delay_ms_ clrf PP1H __delay_ms_wreg_ movwf PP1 __delayms_from_regs__ movlw 255 addwf PP1,F btfss STATUS,0 addwf PP1H,F btfss STATUS,0 goto __exit_library__ movlw 3 movwf PP0H movlw 227 call __delay_us_wreg_ goto __delayms_from_regs__ __delay_us_ clrf PP0H __delay_us_wreg_ addlw 244 movwf PP0 comf PP0H,F movlw 254 btfss STATUS,0 goto $ + 4 addwf PP0,F btfsc STATUS,0 goto $ - 2 addwf PP0,F nop incfsz PP0H,F goto $ - 6 nop btfsc PP0,0 goto $ + 1 btfsc PP0,0 goto $ + 1 return __divide_u1616_ clrf PP2H clrf PP2 __divide_int_u1616_ movlw 0x10 movwf PP3 rlf PP0H,W rlf PP2,F rlf PP2H,F movf PP1,W subwf PP2,F movf PP1H,W btfss STATUS,0 incfsz PP1H,W subwf PP2H,F btfsc STATUS,0 goto $ + 8 movf PP1,W addwf PP2,F movf PP1H,W btfsc STATUS,0 incfsz PP1H,W addwf PP2H,F bcf STATUS,0 rlf PP0,F rlf PP0H,F decfsz PP3,F goto $ - 21 movf PP0,W return __multiply_u3232_ movlw 32 movwf PP3 clrf PPZ clrf PPZH clrf PPZHH clrf PPZHHH __mlt32_lp__ clrc btfss PP0,0 goto __mlt32_br__ movf PP2,W addwf PPZ,F movf PP2H,W btfsc STATUS,0 incfsz PP2H,W addwf PPZH,F movf PP2HH,W btfsc STATUS,0 incfsz PP2HH,W addwf PPZHH,F movf PP2HHH,W btfsc STATUS,0 incfsz PP2HHH,W addwf PPZHHH,F __mlt32_br__ rrf PPZHHH,F rrf PPZHH,F rrf PPZH,F rrf PPZ,F rrf PP0HHH,F rrf PP0HH,F rrf PP0H,F rrf PP0,F decfsz PP3,F goto __mlt32_lp__ return __reversebits__16_ clrf PP1 clrf PP1H goto $ + 5 rrf PP0H,F rrf PP0,F rlf PP1,F rlf PP1H,F addlw 255 btfsc STATUS,0 goto $ - 6 movf PP1H,W movwf PP0H movf PP1,W movwf PP0 goto __exit_library__ bcf STATUS,0 rlf PP0,F rlf PP0H,F __Shift__Left__ addlw 255 btfsc STATUS,0 goto $ - 5 movf PP0,W goto __exit_library__ __set_pin_high__ iorwf INDF,F goto __pin_as_output__ __pull_pin_low__ xorlw 255 andwf INDF,F goto __make_pin_output__ __pin_as_output__ xorlw 255 __make_pin_output__ bsf FSR,7 andwf INDF,F goto __exit_library__ __exit_library__ __i_nt__ bcf STATUS,PP_IRP bcf STATUS,PP_RP0 bcf STATUS,PP_RP1 return __Read__TableData_ movf PP8H,W __Read__TableData_w movwf PCLATH movf PP8,W movwf PCL _compiler_main_start_ ; CLEARING RAM FOR THE CLEAR DIRECTIVE movlw 0x20 movwf FSR movlw 0x5C call __cl_r__ movlw 0xA0 movwf FSR movlw 0x50 call __cl_r__ movlw 0x10 movwf FSR movlw 0x60 call __cl_rh__ movlw 0x90 movwf FSR movlw 0x60 call __cl_rh__ bcf STATUS,PP_RP0 bcf STATUS,PP_RP1 ;--------------------------------------------- ; START OF THE USER'S PROGRAM CODE F1_SOF equ $ ; ANNOUCER VERSION ARRAY INTERRUPT.BAS bsf STATUS,5 bsf STATUS,6 ram_bank = 3 clrf ANSEL clrf ANSELH bcf STATUS,5 ram_bank = 2 clrf CM1CON0 clrf CM2CON0 F1_000068 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] OSCCON = %01110000 bsf STATUS,5 bcf STATUS,6 ram_bank = 1 movlw 112 movwf OSCCON F1_000070 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] PORTA = 0 bcf STATUS,5 ram_bank = 0 clrf PORTA F1_000071 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TRISA = 255 bsf STATUS,5 ram_bank = 1 movlw 255 movwf TRISA F1_000072 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ANSEL = %00010000 bsf STATUS,6 ram_bank = 3 movlw 16 movwf ANSEL F1_000074 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] PORTB = 0 bcf STATUS,5 bcf STATUS,6 ram_bank = 0 clrf PORTB F1_000075 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TRISB = %00111111 bsf STATUS,5 ram_bank = 1 movlw 63 movwf TRISB F1_000076 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ANSELH = %00010000 bsf STATUS,6 ram_bank = 3 movlw 16 movwf ANSELH F1_000077 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] WPUB = 0 bcf STATUS,6 ram_bank = 1 clrf WPUB F1_000079 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] PORTC = %01000100 bcf STATUS,5 ram_bank = 0 movlw 68 movwf PORTC F1_000081 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TRISC = %10000000 bsf STATUS,5 ram_bank = 1 movlw 128 movwf TRISC F1_000084 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] SPBRG = 51 movlw 51 movwf SPBRG F1_000085 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] SPBRGH = 0 clrf SPBRGH F1_000086 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] BAUDCTL.3 = 1 bsf STATUS,6 ram_bank = 3 bsf BAUDCTL,3 F1_000087 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXSTA = $20 bcf STATUS,6 ram_bank = 1 movlw 32 movwf TXSTA F1_000088 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] RCSTA = $90 bcf STATUS,5 ram_bank = 0 movlw 144 movwf RCSTA F1_000096 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] OPTION_REG = %0000101 bsf STATUS,5 ram_bank = 1 movlw 5 movwf OPTION_REG F1_000099 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] PIE1 = %01100000 movlw 96 movwf PIE1 F1_000100 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] INTCON = %01100000 movwf INTCON F1_000207 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] goto init bcf STATUS,5 ram_bank = 0 _mjump init F2_SOF equ $ ; HD47780.BAS hd_init F2_000057 equ $ ; in [HD47780.BAS] GoSub Hd_reset_by_instruction _mcall Hd_reset_by_instruction ram_bank = 0 F2_000060 equ $ ; in [HD47780.BAS] Hd_on = 1 bsf _B__VR1,7 F2_000061 equ $ ; in [HD47780.BAS] Hd_cursor = 0 bcf _B__VR2,0 F2_000062 equ $ ; in [HD47780.BAS] Hd_blink = 0 bcf _B__VR2,1 F2_000069 equ $ ; in [HD47780.BAS] Hd_data = $20 bsf STATUS,5 ram_bank = 1 movlw 32 movwf Hd_data F2_000070 equ $ ; in [HD47780.BAS] hd_RS = 0 bcf STATUS,5 ram_bank = 0 bcf PORTA,7 F2_000071 equ $ ; in [HD47780.BAS] hd_E = 1 bsf PORTA,4 F2_000072 equ $ ; in [HD47780.BAS] Hd_db7 = 0 bcf PORTA,3 F2_000073 equ $ ; in [HD47780.BAS] Hd_db6 = 0 bcf PORTA,2 F2_000074 equ $ ; in [HD47780.BAS] Hd_db5 = 1 bsf PORTA,1 F2_000075 equ $ ; in [HD47780.BAS] Hd_db4 = 0 bcf PORTA,0 F2_000076 equ $ ; in [HD47780.BAS] DelayUs 1 nop nop F2_000077 equ $ ; in [HD47780.BAS] hd_E = 0 bcf PORTA,4 F2_000078 equ $ ; in [HD47780.BAS] DelayUs 40 movlw 40 _mcall __delay_us_ ram_bank = 0 F2_000081 equ $ ; in [HD47780.BAS] GoSub Hd_function_set _mcall Hd_function_set ram_bank = 0 F2_000083 equ $ ; in [HD47780.BAS] GoSub hd_control_set _mcall hd_control_set ram_bank = 0 F2_000085 equ $ ; in [HD47780.BAS] Hd_s = 0 bcf _B__VR1,6 F2_000086 equ $ ; in [HD47780.BAS] Hd_id = 1 bsf _B__VR1,5 F2_000087 equ $ ; in [HD47780.BAS] GoSub hd_entry _mcall hd_entry ram_bank = 0 F2_000088 equ $ ; in [HD47780.BAS] GoSub Hd_clear _mcall Hd_clear ram_bank = 0 F2_000089 equ $ ; in [HD47780.BAS] return return Hd_reset_by_instruction F2_000093 equ $ ; in [HD47780.BAS] DelayMs 40 movlw 40 _mcall __delay_ms_ ram_bank = 0 F2_000097 equ $ ; in [HD47780.BAS] Hd_db7 = 0 bcf PORTA,3 F2_000098 equ $ ; in [HD47780.BAS] Hd_db6 = 0 bcf PORTA,2 F2_000099 equ $ ; in [HD47780.BAS] Hd_db5 = 1 bsf PORTA,1 F2_000100 equ $ ; in [HD47780.BAS] Hd_db4 = 1 bsf PORTA,0 F2_000102 equ $ ; in [HD47780.BAS] hd_E = 1 bsf PORTA,4 F2_000103 equ $ ; in [HD47780.BAS] DelayUs 1 nop nop F2_000104 equ $ ; in [HD47780.BAS] hd_E = 0 bcf PORTA,4 F2_000105 equ $ ; in [HD47780.BAS] DelayMs 5 movlw 5 _mcall __delay_ms_ ram_bank = 0 F2_000106 equ $ ; in [HD47780.BAS] hd_E = 1 bsf PORTA,4 F2_000107 equ $ ; in [HD47780.BAS] DelayUs 1 nop nop F2_000108 equ $ ; in [HD47780.BAS] hd_E = 0 bcf PORTA,4 F2_000109 equ $ ; in [HD47780.BAS] DelayUs 100 movlw 100 _mcall __delay_us_ ram_bank = 0 F2_000110 equ $ ; in [HD47780.BAS] hd_E = 1 bsf PORTA,4 F2_000111 equ $ ; in [HD47780.BAS] DelayUs 1 nop nop F2_000112 equ $ ; in [HD47780.BAS] hd_E = 0 bcf PORTA,4 F2_000113 equ $ ; in [HD47780.BAS] DelayUs 40 movlw 40 _mcall __delay_us_ ram_bank = 0 F2_000114 equ $ ; in [HD47780.BAS] return return Hd_write_bus F2_000117 equ $ ; in [HD47780.BAS] hd_E = 1 bsf PORTA,4 F2_000123 equ $ ; in [HD47780.BAS] Hd_db7 = 0 bcf PORTA,3 F2_000124 equ $ ; in [HD47780.BAS] Hd_db6 = 0 bcf PORTA,2 F2_000125 equ $ ; in [HD47780.BAS] Hd_db5 = 0 bcf PORTA,1 F2_000126 equ $ ; in [HD47780.BAS] Hd_db4 = 0 bcf PORTA,0 F2_000127 equ $ ; in [HD47780.BAS] if Hd_data.7 = 1 Then Hd_db7 = 1 _set_cpage _lbl__3 bsf STATUS,5 ram_bank = 1 rlf Hd_data,W bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__3 bsf PORTA,3 _lbl__3 F2_000128 equ $ ; in [HD47780.BAS] if Hd_data.6 = 1 Then Hd_db6 = 1 _set_cpage _lbl__5 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss Hd_data,6 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__5 bsf PORTA,2 _lbl__5 F2_000129 equ $ ; in [HD47780.BAS] if Hd_data.5 = 1 Then Hd_db5 = 1 _set_cpage _lbl__7 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss Hd_data,5 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__7 bsf PORTA,1 _lbl__7 F2_000130 equ $ ; in [HD47780.BAS] if Hd_data.4 = 1 Then Hd_db4 = 1 _set_cpage _lbl__9 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss Hd_data,4 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__9 bsf PORTA,0 _lbl__9 F2_000131 equ $ ; in [HD47780.BAS] DelayUs 1 nop nop F2_000132 equ $ ; in [HD47780.BAS] hd_E = 0 bcf PORTA,4 F2_000133 equ $ ; in [HD47780.BAS] DelayUs 1 nop nop F2_000134 equ $ ; in [HD47780.BAS] hd_E = 1 bsf PORTA,4 F2_000135 equ $ ; in [HD47780.BAS] Hd_db7 = 0 bcf PORTA,3 F2_000136 equ $ ; in [HD47780.BAS] Hd_db6 = 0 bcf PORTA,2 F2_000137 equ $ ; in [HD47780.BAS] Hd_db5 = 0 bcf PORTA,1 F2_000138 equ $ ; in [HD47780.BAS] Hd_db4 = 0 bcf PORTA,0 F2_000139 equ $ ; in [HD47780.BAS] if Hd_data.3 = 1 Then Hd_db7 = 1 _set_cpage _lbl__11 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss Hd_data,3 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__11 bsf PORTA,3 _lbl__11 F2_000140 equ $ ; in [HD47780.BAS] if Hd_data.2 = 1 Then Hd_db6 = 1 _set_cpage _lbl__13 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss Hd_data,2 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__13 bsf PORTA,2 _lbl__13 F2_000141 equ $ ; in [HD47780.BAS] if Hd_data.1 = 1 Then Hd_db5 = 1 _set_cpage _lbl__15 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss Hd_data,1 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__15 bsf PORTA,1 _lbl__15 F2_000142 equ $ ; in [HD47780.BAS] if Hd_data.0 = 1 Then Hd_db4 = 1 _set_cpage _lbl__17 bsf STATUS,5 ram_bank = 1 rrf Hd_data,W bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__17 bsf PORTA,0 _lbl__17 F2_000143 equ $ ; in [HD47780.BAS] DelayUs 1 nop nop F2_000144 equ $ ; in [HD47780.BAS] hd_E = 0 bcf PORTA,4 F2_000146 equ $ ; in [HD47780.BAS] DelayUs 1 nop nop F2_000147 equ $ ; in [HD47780.BAS] hd_E = 1 bsf PORTA,4 F2_000148 equ $ ; in [HD47780.BAS] return return Hd_clear F2_000151 equ $ ; in [HD47780.BAS] Hd_data = $01 bsf STATUS,5 ram_bank = 1 movlw 1 movwf Hd_data F2_000152 equ $ ; in [HD47780.BAS] GoSub hd_write_command bcf STATUS,5 ram_bank = 0 _mcall hd_write_command ram_bank = 0 F2_000153 equ $ ; in [HD47780.BAS] DelayMs 2 movlw 2 _mcall __delay_ms_ ram_bank = 0 F2_000154 equ $ ; in [HD47780.BAS] Hd_index = 0 bsf STATUS,5 ram_bank = 1 clrf Hd_index F2_000155 equ $ ; in [HD47780.BAS] return bcf STATUS,5 ram_bank = 0 return Hd_return F2_000158 equ $ ; in [HD47780.BAS] Hd_data = $02 bsf STATUS,5 ram_bank = 1 movlw 2 movwf Hd_data F2_000159 equ $ ; in [HD47780.BAS] GoSub hd_write_command bcf STATUS,5 ram_bank = 0 _mcall hd_write_command ram_bank = 0 F2_000160 equ $ ; in [HD47780.BAS] DelayMs 2 movlw 2 _mcall __delay_ms_ ram_bank = 0 F2_000161 equ $ ; in [HD47780.BAS] Hd_index = 0 bsf STATUS,5 ram_bank = 1 clrf Hd_index F2_000162 equ $ ; in [HD47780.BAS] return bcf STATUS,5 ram_bank = 0 return hd_write_command F2_000166 equ $ ; in [HD47780.BAS] hd_RS = 0 bcf PORTA,7 F2_000167 equ $ ; in [HD47780.BAS] goto Hd_write_bus _mjump Hd_write_bus hd_write_data F2_000170 equ $ ; in [HD47780.BAS] hd_RS = 1 bsf PORTA,7 F2_000171 equ $ ; in [HD47780.BAS] goto Hd_write_bus _mjump Hd_write_bus Hd_shift F2_000174 equ $ ; in [HD47780.BAS] Hd_data = $10 bsf STATUS,5 ram_bank = 1 movlw 16 movwf Hd_data F2_000175 equ $ ; in [HD47780.BAS] if Hd_sc = 1 Then Hd_data = Hd_data | 8 _set_cpage _lbl__19 bcf STATUS,5 ram_bank = 0 btfss _B__VR2,2 goto _lbl__19 bsf STATUS,5 ram_bank = 1 bsf Hd_data,3 _lbl__19 bcf STATUS,5 ram_bank = 0 F2_000176 equ $ ; in [HD47780.BAS] if Hd_rl = 1 Then Hd_data = Hd_data | 4 _set_cpage _lbl__21 btfss _B__VR2,3 goto _lbl__21 bsf STATUS,5 ram_bank = 1 bsf Hd_data,2 _lbl__21 bcf STATUS,5 ram_bank = 0 F2_000177 equ $ ; in [HD47780.BAS] GoSub hd_write_command _mcall hd_write_command ram_bank = 0 F2_000178 equ $ ; in [HD47780.BAS] DelayUs 40 movlw 40 _mcall __delay_us_ ram_bank = 0 F2_000179 equ $ ; in [HD47780.BAS] return return hd_set_cgram_addr F2_000182 equ $ ; in [HD47780.BAS] Hd_data = Cg_addr & $3F movlw 63 bsf STATUS,5 ram_bank = 1 andwf Cg_addr,W movwf Hd_data F2_000183 equ $ ; in [HD47780.BAS] Hd_data = Hd_data | 40 movlw 40 iorwf Hd_data,F F2_000184 equ $ ; in [HD47780.BAS] GoSub hd_write_command bcf STATUS,5 ram_bank = 0 _mcall hd_write_command ram_bank = 0 F2_000185 equ $ ; in [HD47780.BAS] DelayUs 40 movlw 40 _mcall __delay_us_ ram_bank = 0 F2_000186 equ $ ; in [HD47780.BAS] return return Hd_set_ddram_addr F2_000189 equ $ ; in [HD47780.BAS] Hd_data = Hd_index & $7F movlw 127 bsf STATUS,5 ram_bank = 1 andwf Hd_index,W movwf Hd_data F2_000190 equ $ ; in [HD47780.BAS] Hd_data = Hd_data | $80 bsf Hd_data,7 F2_000191 equ $ ; in [HD47780.BAS] GoSub hd_write_command bcf STATUS,5 ram_bank = 0 _mcall hd_write_command ram_bank = 0 F2_000192 equ $ ; in [HD47780.BAS] DelayUs 40 movlw 40 _mcall __delay_us_ ram_bank = 0 F2_000193 equ $ ; in [HD47780.BAS] return return Hd_function_set F2_000196 equ $ ; in [HD47780.BAS] Hd_data = $20 bsf STATUS,5 ram_bank = 1 movlw 32 movwf Hd_data F2_000201 equ $ ; in [HD47780.BAS] Hd_data = Hd_data | 8 bsf Hd_data,3 F2_000206 equ $ ; in [HD47780.BAS] GoSub hd_write_command bcf STATUS,5 ram_bank = 0 _mcall hd_write_command ram_bank = 0 F2_000207 equ $ ; in [HD47780.BAS] DelayUs 40 movlw 40 _mcall __delay_us_ ram_bank = 0 F2_000208 equ $ ; in [HD47780.BAS] return return hd_control_set F2_000211 equ $ ; in [HD47780.BAS] Hd_data = $08 bsf STATUS,5 ram_bank = 1 movlw 8 movwf Hd_data F2_000212 equ $ ; in [HD47780.BAS] if Hd_on = 1 Then Hd_data = Hd_data | 4 _set_cpage _lbl__23 bcf STATUS,5 ram_bank = 0 btfss _B__VR1,7 goto _lbl__23 bsf STATUS,5 ram_bank = 1 bsf Hd_data,2 _lbl__23 bcf STATUS,5 ram_bank = 0 F2_000213 equ $ ; in [HD47780.BAS] if Hd_cursor = 1 Then Hd_data = Hd_data | 2 _set_cpage _lbl__25 btfss _B__VR2,0 goto _lbl__25 bsf STATUS,5 ram_bank = 1 bsf Hd_data,1 _lbl__25 bcf STATUS,5 ram_bank = 0 F2_000214 equ $ ; in [HD47780.BAS] if Hd_blink = 1 Then Hd_data = Hd_data | 1 _set_cpage _lbl__27 btfss _B__VR2,1 goto _lbl__27 bsf STATUS,5 ram_bank = 1 bsf Hd_data,0 _lbl__27 bcf STATUS,5 ram_bank = 0 F2_000215 equ $ ; in [HD47780.BAS] GoSub hd_write_command _mcall hd_write_command ram_bank = 0 F2_000216 equ $ ; in [HD47780.BAS] DelayUs 40 movlw 40 _mcall __delay_us_ ram_bank = 0 F2_000217 equ $ ; in [HD47780.BAS] return return hd_entry F2_000220 equ $ ; in [HD47780.BAS] Hd_data = $04 bsf STATUS,5 ram_bank = 1 movlw 4 movwf Hd_data F2_000221 equ $ ; in [HD47780.BAS] if Hd_id = 1 Then Hd_data = Hd_data | 2 _set_cpage _lbl__29 bcf STATUS,5 ram_bank = 0 btfss _B__VR1,5 goto _lbl__29 bsf STATUS,5 ram_bank = 1 bsf Hd_data,1 _lbl__29 bcf STATUS,5 ram_bank = 0 F2_000222 equ $ ; in [HD47780.BAS] if Hd_s = 1 Then Hd_data = Hd_data | 1 _set_cpage _lbl__31 btfss _B__VR1,6 goto _lbl__31 bsf STATUS,5 ram_bank = 1 bsf Hd_data,0 _lbl__31 bcf STATUS,5 ram_bank = 0 F2_000223 equ $ ; in [HD47780.BAS] GoSub hd_write_command _mcall hd_write_command ram_bank = 0 F2_000224 equ $ ; in [HD47780.BAS] DelayUs 40 movlw 40 _mcall __delay_us_ ram_bank = 0 F2_000225 equ $ ; in [HD47780.BAS] return return Hd_print_char F2_000235 equ $ ; in [HD47780.BAS] Hd_data = Hd_char bsf STATUS,5 ram_bank = 1 movf Hd_char,W movwf Hd_data F2_000237 equ $ ; in [HD47780.BAS] GoSub hd_write_data bcf STATUS,5 ram_bank = 0 _mcall hd_write_data ram_bank = 0 F2_000238 equ $ ; in [HD47780.BAS] DelayUs 40 movlw 40 _mcall __delay_us_ ram_bank = 0 F2_000240 equ $ ; in [HD47780.BAS] Inc Hd_index bsf STATUS,5 ram_bank = 1 incf Hd_index,F F2_000251 equ $ ; in [HD47780.BAS] if Hd_index = 16 Then movlw 16 subwf Hd_index,W _set_cpage _lbl__33 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__33 F2_000252 equ $ ; in [HD47780.BAS] Hd_index = $40 bsf STATUS,5 ram_bank = 1 movlw 64 movwf Hd_index F2_000253 equ $ ; in [HD47780.BAS] goto Hd_set_ddram_addr bcf STATUS,5 ram_bank = 0 _mjump Hd_set_ddram_addr _mjump _lbl__32 F2_000254 equ $ ; in [HD47780.BAS] ElseIf Hd_index > $50 Then _lbl__33 movlw 81 bsf STATUS,5 ram_bank = 1 subwf Hd_index,W _set_cpage _lbl__34 bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__34 F2_000255 equ $ ; in [HD47780.BAS] Hd_index = $50 bsf STATUS,5 ram_bank = 1 movlw 80 movwf Hd_index F2_000256 equ $ ; in [HD47780.BAS] goto Hd_set_ddram_addr bcf STATUS,5 ram_bank = 0 _mjump Hd_set_ddram_addr F2_000257 equ $ ; in [HD47780.BAS] end if _lbl__34 _lbl__32 F2_000259 equ $ ; in [HD47780.BAS] return return Hd_locate F2_000276 equ $ ; in [HD47780.BAS] hd_tmp = hd_pos >> 6 bsf STATUS,5 ram_bank = 1 rlf hd_pos,W movwf hd_tmp rlf hd_tmp,F rlf hd_tmp,F movlw 3 andwf hd_tmp,F F2_000277 equ $ ; in [HD47780.BAS] if hd_tmp > 1 Then movlw 2 subwf hd_tmp,W _set_cpage _lbl__36 bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__36 F2_000278 equ $ ; in [HD47780.BAS] Hd_index = $40 + 16 bsf STATUS,5 ram_bank = 1 movlw 80 movwf Hd_index bcf STATUS,5 ram_bank = 0 _mjump _lbl__37 _lbl__36 F2_000279 equ $ ; in [HD47780.BAS] else F2_000280 equ $ ; in [HD47780.BAS] if hd_tmp = 0 Then bsf STATUS,5 ram_bank = 1 movf hd_tmp,F _set_cpage _lbl__39 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__39 F2_000281 equ $ ; in [HD47780.BAS] Hd_index = 0 bsf STATUS,5 ram_bank = 1 clrf Hd_index bcf STATUS,5 ram_bank = 0 _mjump _lbl__40 _lbl__39 F2_000282 equ $ ; in [HD47780.BAS] else F2_000283 equ $ ; in [HD47780.BAS] Hd_index = $40 bsf STATUS,5 ram_bank = 1 movlw 64 movwf Hd_index F2_000284 equ $ ; in [HD47780.BAS] end if _lbl__40 bcf STATUS,5 ram_bank = 0 F2_000285 equ $ ; in [HD47780.BAS] hd_tmp = hd_pos & $3F movlw 63 bsf STATUS,5 ram_bank = 1 andwf hd_pos,W movwf hd_tmp F2_000286 equ $ ; in [HD47780.BAS] if hd_tmp < 16 Then movlw 16 subwf hd_tmp,W _set_cpage _lbl__42 bcf STATUS,5 ram_bank = 0 btfsc STATUS,0 goto _lbl__42 F2_000287 equ $ ; in [HD47780.BAS] Hd_index = Hd_index + hd_tmp bsf STATUS,5 ram_bank = 1 movf hd_tmp,W addwf Hd_index,F bcf STATUS,5 ram_bank = 0 _mjump _lbl__43 _lbl__42 F2_000288 equ $ ; in [HD47780.BAS] else F2_000289 equ $ ; in [HD47780.BAS] Hd_index = $40 + 16 bsf STATUS,5 ram_bank = 1 movlw 80 movwf Hd_index F2_000290 equ $ ; in [HD47780.BAS] end if _lbl__43 bcf STATUS,5 ram_bank = 0 F2_000291 equ $ ; in [HD47780.BAS] end if _lbl__37 F2_000293 equ $ ; in [HD47780.BAS] goto Hd_set_ddram_addr _mjump Hd_set_ddram_addr F2_000294 equ $ ; in [HD47780.BAS] return return Hd_print_digit F2_000307 equ $ ; in [HD47780.BAS] Hd_zero = 0 bcf _B__VR2,6 F2_000308 equ $ ; in [HD47780.BAS] if Hd_digits > 5 Then return movlw 6 bsf STATUS,5 ram_bank = 1 subwf Hd_digits,W _set_cpage _lbl__45 bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__45 return _lbl__45 F2_000309 equ $ ; in [HD47780.BAS] if Hd_digits < 5 Then movlw 5 bsf STATUS,5 ram_bank = 1 subwf Hd_digits,W _set_cpage _lbl__47 bcf STATUS,5 ram_bank = 0 btfsc STATUS,0 goto _lbl__47 F2_000310 equ $ ; in [HD47780.BAS] hd_divider = CRead power10 + Hd_digits movlw ((power10 >> 8) & 0xFF) movwf PBS_VAR0H movlw (power10 & 0xFF) movwf PBS_VAR0 bsf STATUS,5 ram_bank = 1 movf Hd_digits,W bcf STATUS,5 ram_bank = 0 addwf PBS_VAR0,W movwf PP8 movf PBS_VAR0H,W btfsc STATUS,0 addlw 1 movwf PP8H _mcall __Read__TableData_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movwf hd_divider bcf STATUS,5 ram_bank = 0 incf PP8,F btfsc STATUS,2 incf PP8H,F _mcall __Read__TableData_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movwf hd_dividerH F2_000311 equ $ ; in [HD47780.BAS] hd_remainder = Hd_input // hd_divider movf Hd_inputH,W bcf STATUS,5 ram_bank = 0 movwf PP0H bsf STATUS,5 ram_bank = 1 movf Hd_input,W bcf STATUS,5 ram_bank = 0 movwf PP0 bsf STATUS,5 ram_bank = 1 movf hd_divider,W bcf STATUS,5 ram_bank = 0 movwf PP1 bsf STATUS,5 ram_bank = 1 movf hd_dividerH,W bcf STATUS,5 ram_bank = 0 movwf PP1H _mcall __divide_u1616_ ram_bank = 0 movf PP2H,W bsf STATUS,5 ram_bank = 1 movwf hd_remainderH bcf STATUS,5 ram_bank = 0 movf PP2,W bsf STATUS,5 ram_bank = 1 movwf hd_remainder F2_000312 equ $ ; in [HD47780.BAS] hd_divider = hd_divider / 10 movf hd_divider,W bcf STATUS,5 ram_bank = 0 movwf PP0 bsf STATUS,5 ram_bank = 1 movf hd_dividerH,W bcf STATUS,5 ram_bank = 0 movwf PP0H clrf PP1H movlw 10 movwf PP1 _mcall __divide_u1616_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movwf hd_divider bcf STATUS,5 ram_bank = 0 movf PP0H,W bsf STATUS,5 ram_bank = 1 movwf hd_dividerH bcf STATUS,5 ram_bank = 0 _mjump _lbl__48 _lbl__47 F2_000313 equ $ ; in [HD47780.BAS] else F2_000314 equ $ ; in [HD47780.BAS] hd_divider = 10000 bsf STATUS,5 ram_bank = 1 movlw 39 movwf hd_dividerH movlw 16 movwf hd_divider F2_000315 equ $ ; in [HD47780.BAS] hd_remainder = Hd_input movf Hd_input,W movwf hd_remainder movf Hd_inputH,W movwf hd_remainderH F2_000316 equ $ ; in [HD47780.BAS] end if _lbl__48 bcf STATUS,5 ram_bank = 0 F2_000317 equ $ ; in [HD47780.BAS] For Hd_loop = Hd_digits To 1 Step -1 bsf STATUS,5 ram_bank = 1 movf Hd_digits,W movwf Hd_loop _frlb__49 bcf STATUS,5 ram_bank = 0 bsf STATUS,5 ram_bank = 1 movf Hd_loop,F _set_cpage _nxlb__50 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _nxlb__50 F2_000318 equ $ ; in [HD47780.BAS] Hd_char = hd_remainder / hd_divider bsf STATUS,5 ram_bank = 1 movf hd_remainderH,W bcf STATUS,5 ram_bank = 0 movwf PP0H bsf STATUS,5 ram_bank = 1 movf hd_remainder,W bcf STATUS,5 ram_bank = 0 movwf PP0 bsf STATUS,5 ram_bank = 1 movf hd_divider,W bcf STATUS,5 ram_bank = 0 movwf PP1 bsf STATUS,5 ram_bank = 1 movf hd_dividerH,W bcf STATUS,5 ram_bank = 0 movwf PP1H _mcall __divide_u1616_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movwf Hd_char F2_000319 equ $ ; in [HD47780.BAS] hd_remainder = hd_remainder // hd_divider movf hd_remainderH,W bcf STATUS,5 ram_bank = 0 movwf PP0H bsf STATUS,5 ram_bank = 1 movf hd_remainder,W bcf STATUS,5 ram_bank = 0 movwf PP0 bsf STATUS,5 ram_bank = 1 movf hd_divider,W bcf STATUS,5 ram_bank = 0 movwf PP1 bsf STATUS,5 ram_bank = 1 movf hd_dividerH,W bcf STATUS,5 ram_bank = 0 movwf PP1H _mcall __divide_u1616_ ram_bank = 0 movf PP2H,W bsf STATUS,5 ram_bank = 1 movwf hd_remainderH bcf STATUS,5 ram_bank = 0 movf PP2,W bsf STATUS,5 ram_bank = 1 movwf hd_remainder F2_000320 equ $ ; in [HD47780.BAS] hd_divider = hd_divider / 10 movf hd_divider,W bcf STATUS,5 ram_bank = 0 movwf PP0 bsf STATUS,5 ram_bank = 1 movf hd_dividerH,W bcf STATUS,5 ram_bank = 0 movwf PP0H clrf PP1H movlw 10 movwf PP1 _mcall __divide_u1616_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movwf hd_divider bcf STATUS,5 ram_bank = 0 movf PP0H,W bsf STATUS,5 ram_bank = 1 movwf hd_dividerH F2_000321 equ $ ; in [HD47780.BAS] if Hd_char = 0 Then movf Hd_char,F _set_cpage _lbl__53 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__53 F2_000322 equ $ ; in [HD47780.BAS] if Hd_zero = 1 Then _set_cpage _lbl__55 btfss _B__VR2,6 goto _lbl__55 F2_000323 equ $ ; in [HD47780.BAS] Hd_char = "0" bsf STATUS,5 ram_bank = 1 movlw 48 movwf Hd_char bcf STATUS,5 ram_bank = 0 _mjump _lbl__56 _lbl__55 F2_000324 equ $ ; in [HD47780.BAS] else F2_000325 equ $ ; in [HD47780.BAS] if Leading_zero = 1 Then _set_cpage _lbl__58 btfss _B__VR2,4 goto _lbl__58 F2_000326 equ $ ; in [HD47780.BAS] Hd_char = 48 bsf STATUS,5 ram_bank = 1 movlw 48 movwf Hd_char bcf STATUS,5 ram_bank = 0 _mjump _lbl__57 F2_000327 equ $ ; in [HD47780.BAS] ElseIf Leading_space = 1 Then _lbl__58 _set_cpage _lbl__59 btfss _B__VR2,5 goto _lbl__59 F2_000328 equ $ ; in [HD47780.BAS] Hd_char = 32 bsf STATUS,5 ram_bank = 1 movlw 32 movwf Hd_char F2_000329 equ $ ; in [HD47780.BAS] if Hd_loop = 1 Then Hd_char = 48 movlw 1 subwf Hd_loop,W _set_cpage _lbl__61 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__61 bsf STATUS,5 ram_bank = 1 movlw 48 movwf Hd_char _lbl__61 bcf STATUS,5 ram_bank = 0 _mjump _lbl__62 _lbl__59 F2_000330 equ $ ; in [HD47780.BAS] else F2_000331 equ $ ; in [HD47780.BAS] if Hd_loop = 1 Then movlw 1 bsf STATUS,5 ram_bank = 1 subwf Hd_loop,W _set_cpage _lbl__64 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__64 F2_000332 equ $ ; in [HD47780.BAS] Hd_char = 48 bsf STATUS,5 ram_bank = 1 movlw 48 movwf Hd_char bcf STATUS,5 ram_bank = 0 _mjump _lbl__65 _lbl__64 F2_000333 equ $ ; in [HD47780.BAS] else F2_000334 equ $ ; in [HD47780.BAS] Hd_char = 255 bsf STATUS,5 ram_bank = 1 movlw 255 movwf Hd_char F2_000335 equ $ ; in [HD47780.BAS] end if _lbl__65 bcf STATUS,5 ram_bank = 0 F2_000336 equ $ ; in [HD47780.BAS] end if _lbl__62 _lbl__57 F2_000337 equ $ ; in [HD47780.BAS] end if _lbl__56 _mjump _lbl__66 _lbl__53 F2_000338 equ $ ; in [HD47780.BAS] else F2_000339 equ $ ; in [HD47780.BAS] Hd_char = Hd_char + 48 movlw 48 bsf STATUS,5 ram_bank = 1 addwf Hd_char,F F2_000340 equ $ ; in [HD47780.BAS] Hd_zero = 1 bcf STATUS,5 ram_bank = 0 bsf _B__VR2,6 F2_000341 equ $ ; in [HD47780.BAS] end if _lbl__66 F2_000342 equ $ ; in [HD47780.BAS] if Hd_char <> 255 Then GoSub Hd_print_char bsf STATUS,5 ram_bank = 1 incf Hd_char,W _set_cpage _lbl__68 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _lbl__68 _mcall Hd_print_char ram_bank = 0 _lbl__68 _ctlb__51 F2_000343 equ $ ; in [HD47780.BAS] Next movlw 1 bsf STATUS,5 ram_bank = 1 subwf Hd_loop,F _set_cpage _frlb__49 bcf STATUS,5 ram_bank = 0 btfsc STATUS,0 goto _frlb__49 _nxlb__50 F2_000345 equ $ ; in [HD47780.BAS] return return Hd_print_flash_nc F2_000352 equ $ ; in [HD47780.BAS] if Print_adr = 65535 Then return bsf STATUS,5 ram_bank = 1 incf Print_adr,W btfsc STATUS,2 incf Print_adrH,W _set_cpage _lbl__70 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__70 return _lbl__70 F2_000353 equ $ ; in [HD47780.BAS] Print_loop = 0 bsf STATUS,5 ram_bank = 1 clrf Print_loop F2_000354 equ $ ; in [HD47780.BAS] Repeat _lbl__71 bcf STATUS,5 ram_bank = 0 F2_000355 equ $ ; in [HD47780.BAS] Print_tmp = Lread Print_adr + Print_loop bsf STATUS,5 ram_bank = 1 movf Print_loop,W addwf Print_adr,W bcf STATUS,5 ram_bank = 0 movwf PP8 bsf STATUS,5 ram_bank = 1 movf Print_adrH,W btfsc STATUS,0 addlw 1 bcf STATUS,5 ram_bank = 0 movwf PP8H _mcall __Read__TableData_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movwf Print_tmp F2_000356 equ $ ; in [HD47780.BAS] Hd_char = Print_tmp movf Print_tmp,W movwf Hd_char F2_000357 equ $ ; in [HD47780.BAS] if Print_tmp <> 0 Then GoSub Hd_print_char movf Print_tmp,F _set_cpage _lbl__75 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _lbl__75 _mcall Hd_print_char ram_bank = 0 _lbl__75 F2_000358 equ $ ; in [HD47780.BAS] Inc Print_loop bsf STATUS,5 ram_bank = 1 incf Print_loop,F _lbl__73 bcf STATUS,5 ram_bank = 0 F2_000359 equ $ ; in [HD47780.BAS] Until Print_tmp = 0 bsf STATUS,5 ram_bank = 1 movf Print_tmp,F _set_cpage _lbl__71 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__71 _lbl__72 F2_000360 equ $ ; in [HD47780.BAS] return return Hd_print_flash F2_000363 equ $ ; in [HD47780.BAS] GoSub Hd_clear _mcall Hd_clear ram_bank = 0 F2_000364 equ $ ; in [HD47780.BAS] goto Hd_print_flash_nc _mjump Hd_print_flash_nc Hd_print_bin F2_000367 equ $ ; in [HD47780.BAS] if Hd_digits = 0 Then return bsf STATUS,5 ram_bank = 1 movf Hd_digits,F _set_cpage _lbl__77 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__77 return _lbl__77 F2_000368 equ $ ; in [HD47780.BAS] Hd_shifter = 1 bsf STATUS,5 ram_bank = 1 clrf Hd_shifterH movlw 1 movwf Hd_shifter F2_000369 equ $ ; in [HD47780.BAS] Hd_shifter = Hd_shifter << (Hd_digits - 1) movlw 255 addwf Hd_digits,W bcf STATUS,5 ram_bank = 0 movwf PP7 movlw 255 btfsc STATUS,0 addlw 1 movwf PP7H bsf STATUS,5 ram_bank = 1 movf Hd_shifterH,W bcf STATUS,5 ram_bank = 0 movwf PP0H bsf STATUS,5 ram_bank = 1 movf Hd_shifter,W bcf STATUS,5 ram_bank = 0 movwf PP0 movf PP7,W _mcall __Shift__Left__ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movwf Hd_shifter bcf STATUS,5 ram_bank = 0 movf PP0H,W bsf STATUS,5 ram_bank = 1 movwf Hd_shifterH F2_000370 equ $ ; in [HD47780.BAS] Repeat _lbl__78 bcf STATUS,5 ram_bank = 0 F2_000371 equ $ ; in [HD47780.BAS] if (Hd_shifter & Hd_input) != 0 Then bsf STATUS,5 ram_bank = 1 movf Hd_shifter,W andwf Hd_input,W bcf STATUS,5 ram_bank = 0 movwf PBS_VAR0 bsf STATUS,5 ram_bank = 1 movf Hd_shifterH,W andwf Hd_inputH,W bcf STATUS,5 ram_bank = 0 movwf PBS_VAR0H movf PBS_VAR0H,W iorwf PBS_VAR0,W _set_cpage _lbl__82 btfsc STATUS,2 goto _lbl__82 F2_000372 equ $ ; in [HD47780.BAS] Hd_char = 49 bsf STATUS,5 ram_bank = 1 movlw 49 movwf Hd_char bcf STATUS,5 ram_bank = 0 _mjump _lbl__83 _lbl__82 F2_000373 equ $ ; in [HD47780.BAS] else F2_000374 equ $ ; in [HD47780.BAS] Hd_char = 48 bsf STATUS,5 ram_bank = 1 movlw 48 movwf Hd_char F2_000375 equ $ ; in [HD47780.BAS] endif _lbl__83 bcf STATUS,5 ram_bank = 0 F2_000376 equ $ ; in [HD47780.BAS] GoSub Hd_print_char _mcall Hd_print_char ram_bank = 0 F2_000377 equ $ ; in [HD47780.BAS] Hd_shifter = Hd_shifter >> 1 bcf STATUS,0 bsf STATUS,5 ram_bank = 1 rrf Hd_shifterH,F rrf Hd_shifter,F _lbl__80 bcf STATUS,5 ram_bank = 0 F2_000378 equ $ ; in [HD47780.BAS] Until Hd_shifter = 0 bsf STATUS,5 ram_bank = 1 movf Hd_shifterH,W iorwf Hd_shifter,W _set_cpage _lbl__78 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__78 _lbl__79 F2_000379 equ $ ; in [HD47780.BAS] return return power10 dt 1,10,100 dt 232,3,16 dt 39 F2_EOF equ $ ; HD47780.BAS F3_SOF equ $ ; JQ6500.BAS JQ_play_index F3_000049 equ $ ; in [JQ6500.BAS] if JQ_idx > 200 Then return movlw 201 bsf STATUS,5 ram_bank = 1 subwf JQ_idx,W _set_cpage _lbl__85 bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__85 return _lbl__85 F3_000051 equ $ ; in [JQ6500.BAS] TXbuf#1 = $04 movlw 4 movwf TXbuf#1 F3_000052 equ $ ; in [JQ6500.BAS] TXbuf#2 = $03 movlw 3 movwf TXbuf#2 F3_000053 equ $ ; in [JQ6500.BAS] TXbuf#3 = $00 clrf TXbuf#3 F3_000054 equ $ ; in [JQ6500.BAS] TXbuf#4 = JQ_idx bsf STATUS,5 ram_bank = 1 movf JQ_idx,W bcf STATUS,5 ram_bank = 0 movwf TXbuf#4 F3_000055 equ $ ; in [JQ6500.BAS] TXbuf#5 = $EF movlw 239 movwf TXbuf#5 F3_000057 equ $ ; in [JQ6500.BAS] JQ_tx = 6 bsf STATUS,5 ram_bank = 1 movlw 6 movwf JQ_tx F3_000058 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_set_mode F3_000061 equ $ ; in [JQ6500.BAS] if JQ_mode > 4 Then return movlw 5 bsf STATUS,5 ram_bank = 1 subwf JQ_mode,W _set_cpage _lbl__87 bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__87 return _lbl__87 F3_000063 equ $ ; in [JQ6500.BAS] TXbuf#1 = $03 movlw 3 movwf TXbuf#1 F3_000064 equ $ ; in [JQ6500.BAS] TXbuf#2 = $11 movlw 17 movwf TXbuf#2 F3_000065 equ $ ; in [JQ6500.BAS] TXbuf#3 = JQ_mode bsf STATUS,5 ram_bank = 1 movf JQ_mode,W bcf STATUS,5 ram_bank = 0 movwf TXbuf#3 F3_000066 equ $ ; in [JQ6500.BAS] TXbuf#4 = $EF movlw 239 movwf TXbuf#4 F3_000068 equ $ ; in [JQ6500.BAS] JQ_tx = 5 bsf STATUS,5 ram_bank = 1 movlw 5 movwf JQ_tx F3_000069 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_set_volume F3_000083 equ $ ; in [JQ6500.BAS] if JQ_vol > 30 Then return movlw 31 bsf STATUS,5 ram_bank = 1 subwf JQ_vol,W _set_cpage _lbl__89 bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__89 return _lbl__89 F3_000085 equ $ ; in [JQ6500.BAS] TXbuf#1 = $03 movlw 3 movwf TXbuf#1 F3_000086 equ $ ; in [JQ6500.BAS] TXbuf#2 = $06 movlw 6 movwf TXbuf#2 F3_000087 equ $ ; in [JQ6500.BAS] TXbuf#3 = JQ_vol bsf STATUS,5 ram_bank = 1 movf JQ_vol,W bcf STATUS,5 ram_bank = 0 movwf TXbuf#3 F3_000088 equ $ ; in [JQ6500.BAS] TXbuf#4 = $EF movlw 239 movwf TXbuf#4 F3_000090 equ $ ; in [JQ6500.BAS] JQ_tx = 5 bsf STATUS,5 ram_bank = 1 movlw 5 movwf JQ_tx F3_000091 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_pauze F3_000106 equ $ ; in [JQ6500.BAS] TXbuf#1 = $02 movlw 2 movwf TXbuf#1 F3_000107 equ $ ; in [JQ6500.BAS] TXbuf#2 = $0E movlw 14 movwf TXbuf#2 F3_000108 equ $ ; in [JQ6500.BAS] TXbuf#3 = $EF movlw 239 movwf TXbuf#3 F3_000110 equ $ ; in [JQ6500.BAS] JQ_tx = 4 bsf STATUS,5 ram_bank = 1 movlw 4 movwf JQ_tx F3_000111 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_play F3_000115 equ $ ; in [JQ6500.BAS] TXbuf#1 = $02 movlw 2 movwf TXbuf#1 F3_000116 equ $ ; in [JQ6500.BAS] TXbuf#2 = $0D movlw 13 movwf TXbuf#2 F3_000117 equ $ ; in [JQ6500.BAS] TXbuf#3 = $EF movlw 239 movwf TXbuf#3 F3_000119 equ $ ; in [JQ6500.BAS] JQ_tx = 4 bsf STATUS,5 ram_bank = 1 movlw 4 movwf JQ_tx F3_000120 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_sleep F3_000124 equ $ ; in [JQ6500.BAS] TXbuf#1 = $02 movlw 2 movwf TXbuf#1 F3_000125 equ $ ; in [JQ6500.BAS] TXbuf#2 = $0A movlw 10 movwf TXbuf#2 F3_000126 equ $ ; in [JQ6500.BAS] TXbuf#3 = $EF movlw 239 movwf TXbuf#3 F3_000128 equ $ ; in [JQ6500.BAS] JQ_tx = 4 bsf STATUS,5 ram_bank = 1 movlw 4 movwf JQ_tx F3_000129 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_reset F3_000133 equ $ ; in [JQ6500.BAS] TXbuf#1 = $02 movlw 2 movwf TXbuf#1 F3_000134 equ $ ; in [JQ6500.BAS] TXbuf#2 = $0C movlw 12 movwf TXbuf#2 F3_000135 equ $ ; in [JQ6500.BAS] TXbuf#3 = $EF movlw 239 movwf TXbuf#3 F3_000137 equ $ ; in [JQ6500.BAS] JQ_tx = 4 bsf STATUS,5 ram_bank = 1 movlw 4 movwf JQ_tx F3_000138 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_get_status F3_000148 equ $ ; in [JQ6500.BAS] JQ_rqst = 1 bsf STATUS,5 ram_bank = 1 movlw 1 movwf JQ_rqst F3_000149 equ $ ; in [JQ6500.BAS] TXbuf#1 = $02 bcf STATUS,5 ram_bank = 0 movlw 2 movwf TXbuf#1 F3_000150 equ $ ; in [JQ6500.BAS] TXbuf#2 = $42 movlw 66 movwf TXbuf#2 F3_000151 equ $ ; in [JQ6500.BAS] TXbuf#3 = $EF movlw 239 movwf TXbuf#3 F3_000153 equ $ ; in [JQ6500.BAS] JQ_tx = 4 bsf STATUS,5 ram_bank = 1 movlw 4 movwf JQ_tx F3_000154 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_get_files F3_000159 equ $ ; in [JQ6500.BAS] JQ_rqst = 1 bsf STATUS,5 ram_bank = 1 movlw 1 movwf JQ_rqst F3_000160 equ $ ; in [JQ6500.BAS] TXbuf#1 = $02 bcf STATUS,5 ram_bank = 0 movlw 2 movwf TXbuf#1 F3_000161 equ $ ; in [JQ6500.BAS] TXbuf#2 = $49 movlw 73 movwf TXbuf#2 F3_000162 equ $ ; in [JQ6500.BAS] TXbuf#3 = $EF movlw 239 movwf TXbuf#3 F3_000164 equ $ ; in [JQ6500.BAS] JQ_tx = 4 bsf STATUS,5 ram_bank = 1 movlw 4 movwf JQ_tx F3_000165 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_get_total_time F3_000170 equ $ ; in [JQ6500.BAS] JQ_rqst = 1 bsf STATUS,5 ram_bank = 1 movlw 1 movwf JQ_rqst F3_000171 equ $ ; in [JQ6500.BAS] TXbuf#1 = $02 bcf STATUS,5 ram_bank = 0 movlw 2 movwf TXbuf#1 F3_000172 equ $ ; in [JQ6500.BAS] TXbuf#2 = $51 movlw 81 movwf TXbuf#2 F3_000173 equ $ ; in [JQ6500.BAS] TXbuf#3 = $EF movlw 239 movwf TXbuf#3 F3_000175 equ $ ; in [JQ6500.BAS] JQ_tx = 4 bsf STATUS,5 ram_bank = 1 movlw 4 movwf JQ_tx F3_000176 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_get_cur_time F3_000181 equ $ ; in [JQ6500.BAS] JQ_rqst = 1 bsf STATUS,5 ram_bank = 1 movlw 1 movwf JQ_rqst F3_000182 equ $ ; in [JQ6500.BAS] TXbuf#1 = $02 bcf STATUS,5 ram_bank = 0 movlw 2 movwf TXbuf#1 F3_000183 equ $ ; in [JQ6500.BAS] TXbuf#2 = $50 movlw 80 movwf TXbuf#2 F3_000184 equ $ ; in [JQ6500.BAS] TXbuf#3 = $EF movlw 239 movwf TXbuf#3 F3_000186 equ $ ; in [JQ6500.BAS] JQ_tx = 4 bsf STATUS,5 ram_bank = 1 movlw 4 movwf JQ_tx F3_000187 equ $ ; in [JQ6500.BAS] return bcf STATUS,5 ram_bank = 0 return JQ_state_machine F3_000203 equ $ ; in [JQ6500.BAS] if JQ_state = 1 Then movlw 1 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__91 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__91 F3_000206 equ $ ; in [JQ6500.BAS] JQ_command = %00001100 bsf STATUS,5 ram_bank = 1 clrf JQ_commandH movlw 12 movwf JQ_command F3_000207 equ $ ; in [JQ6500.BAS] Inc JQ_state incf JQ_state,F bcf STATUS,5 ram_bank = 0 _mjump _lbl__92 _lbl__91 F3_000208 equ $ ; in [JQ6500.BAS] else F3_000209 equ $ ; in [JQ6500.BAS] if JQ_play_idx > 0 Then bsf STATUS,5 ram_bank = 1 movf JQ_play_idx,F _set_cpage _lbl__94 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _lbl__94 F3_000210 equ $ ; in [JQ6500.BAS] if JQ_play_idx <= JQ_files Then bsf STATUS,5 ram_bank = 1 movf JQ_play_idx,W subwf JQ_files,W _set_cpage _lbl__96 bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__96 F3_000211 equ $ ; in [JQ6500.BAS] JQ_idx = JQ_play_idx bsf STATUS,5 ram_bank = 1 movf JQ_play_idx,W movwf JQ_idx F3_000212 equ $ ; in [JQ6500.BAS] if JQ_vol != JQ_vol_stored Then movf JQ_vol,W subwf JQ_vol_stored,W _set_cpage _lbl__98 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _lbl__98 F3_000213 equ $ ; in [JQ6500.BAS] JQ_command.0 = 1 bsf STATUS,5 ram_bank = 1 bsf JQ_command,0 F3_000214 equ $ ; in [JQ6500.BAS] JQ_vol_stored = JQ_vol movf JQ_vol,W movwf JQ_vol_stored F3_000215 equ $ ; in [JQ6500.BAS] endif _lbl__98 bcf STATUS,5 ram_bank = 0 F3_000216 equ $ ; in [JQ6500.BAS] JQ_command.4 = 1 bsf STATUS,5 ram_bank = 1 bsf JQ_command,4 F3_000217 equ $ ; in [JQ6500.BAS] JQ_command.8 = 1 bsf JQ_commandH,0 F3_000218 equ $ ; in [JQ6500.BAS] JQ_command.9 = 1 bsf JQ_commandH,1 F3_000219 equ $ ; in [JQ6500.BAS] JQ_play_idx = 0 clrf JQ_play_idx F3_000220 equ $ ; in [JQ6500.BAS] endif _lbl__96 bcf STATUS,5 ram_bank = 0 F3_000221 equ $ ; in [JQ6500.BAS] endif _lbl__94 F3_000222 equ $ ; in [JQ6500.BAS] if JQ_state = stateIdle Then movlw 2 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__100 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__100 F3_000223 equ $ ; in [JQ6500.BAS] JQ_idle = 1 bsf _B__VR3,0 _mjump _lbl__101 _lbl__100 F3_000224 equ $ ; in [JQ6500.BAS] else F3_000225 equ $ ; in [JQ6500.BAS] JQ_idle = 0 bcf _B__VR3,0 F3_000226 equ $ ; in [JQ6500.BAS] endif _lbl__101 F3_000227 equ $ ; in [JQ6500.BAS] endif _lbl__92 F3_000230 equ $ ; in [JQ6500.BAS] if JQ_state.7 = 1 Then _set_cpage _lbl__103 bsf STATUS,5 ram_bank = 1 rlf JQ_state,W bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__103 F3_000231 equ $ ; in [JQ6500.BAS] if JQ_reply = 0 Then _set_cpage _lbl__105 btfsc _B__VR3,2 goto _lbl__105 F3_000235 equ $ ; in [JQ6500.BAS] JQ_cooldown = 150/5 bsf STATUS,5 ram_bank = 1 movlw 30 movwf JQ_cooldown F3_000237 equ $ ; in [JQ6500.BAS] Select JQ_state F3_000238 equ $ ; in [JQ6500.BAS] Case state0 + 128 movlw 133 subwf JQ_state,W _set_cpage _lbl__107 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__107 F3_000239 equ $ ; in [JQ6500.BAS] if JQ_reply_ok = 1 Then JQ_command.0 = 0 _set_cpage _lbl__110 btfss _B__VR3,3 goto _lbl__110 bsf STATUS,5 ram_bank = 1 bcf JQ_command,0 _lbl__110 bcf STATUS,5 ram_bank = 0 _mjump _lbl__106 _lbl__107 F3_000241 equ $ ; in [JQ6500.BAS] Case state1 + 128 movlw 134 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__112 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__112 F3_000242 equ $ ; in [JQ6500.BAS] JQ_status = RXnum movf RXnum,W bsf STATUS,5 ram_bank = 1 movwf JQ_status F3_000243 equ $ ; in [JQ6500.BAS] if JQ_status != 1 Then JQ_playing = 0 movlw 1 subwf JQ_status,W _set_cpage _lbl__114 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _lbl__114 bcf _B__VR2,7 _lbl__114 F3_000244 equ $ ; in [JQ6500.BAS] JQ_command.1 = 0 bsf STATUS,5 ram_bank = 1 bcf JQ_command,1 bcf STATUS,5 ram_bank = 0 _mjump _lbl__106 _lbl__112 F3_000246 equ $ ; in [JQ6500.BAS] Case state2 + 128 movlw 135 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__116 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__116 F3_000247 equ $ ; in [JQ6500.BAS] if JQ_reply_ok = 1 Then JQ_command.2 = 0 _set_cpage _lbl__118 btfss _B__VR3,3 goto _lbl__118 bsf STATUS,5 ram_bank = 1 bcf JQ_command,2 _lbl__118 bcf STATUS,5 ram_bank = 0 _mjump _lbl__106 _lbl__116 F3_000249 equ $ ; in [JQ6500.BAS] Case state3 + 128 movlw 136 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__120 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__120 F3_000250 equ $ ; in [JQ6500.BAS] if JQ_reply_ok = 1 Then _set_cpage _lbl__122 btfss _B__VR3,3 goto _lbl__122 F3_000251 equ $ ; in [JQ6500.BAS] JQ_files = RXnum movf RXnum,W bsf STATUS,5 ram_bank = 1 movwf JQ_files F3_000252 equ $ ; in [JQ6500.BAS] JQ_command.3 = 0 bcf JQ_command,3 F3_000253 equ $ ; in [JQ6500.BAS] endif _lbl__122 bcf STATUS,5 ram_bank = 0 _mjump _lbl__106 _lbl__120 F3_000255 equ $ ; in [JQ6500.BAS] Case state4 + 128 movlw 144 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__124 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__124 F3_000257 equ $ ; in [JQ6500.BAS] JQ_command.4 = 0 bsf STATUS,5 ram_bank = 1 bcf JQ_command,4 F3_000258 equ $ ; in [JQ6500.BAS] JQ_playing = 1 bcf STATUS,5 ram_bank = 0 bsf _B__VR2,7 F3_000259 equ $ ; in [JQ6500.BAS] JQ_command.1 = 1 bsf STATUS,5 ram_bank = 1 bsf JQ_command,1 bcf STATUS,5 ram_bank = 0 _mjump _lbl__106 _lbl__124 F3_000262 equ $ ; in [JQ6500.BAS] Case state5 + 128 movlw 137 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__126 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__126 F3_000263 equ $ ; in [JQ6500.BAS] if JQ_reply_ok = 1 Then _set_cpage _lbl__128 btfss _B__VR3,3 goto _lbl__128 F3_000264 equ $ ; in [JQ6500.BAS] JQ_command.5 = 0 bsf STATUS,5 ram_bank = 1 bcf JQ_command,5 F3_000265 equ $ ; in [JQ6500.BAS] JQ_playing = 1 bcf STATUS,5 ram_bank = 0 bsf _B__VR2,7 F3_000266 equ $ ; in [JQ6500.BAS] endif _lbl__128 _mjump _lbl__106 _lbl__126 F3_000268 equ $ ; in [JQ6500.BAS] Case state6 + 128 movlw 138 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__130 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__130 F3_000269 equ $ ; in [JQ6500.BAS] if JQ_reply_ok = 1 Then _set_cpage _lbl__132 btfss _B__VR3,3 goto _lbl__132 F3_000270 equ $ ; in [JQ6500.BAS] JQ_command.6 = 0 bsf STATUS,5 ram_bank = 1 bcf JQ_command,6 F3_000271 equ $ ; in [JQ6500.BAS] JQ_playing = 0 bcf STATUS,5 ram_bank = 0 bcf _B__VR2,7 F3_000272 equ $ ; in [JQ6500.BAS] endif _lbl__132 _mjump _lbl__106 _lbl__130 F3_000274 equ $ ; in [JQ6500.BAS] Case state7 + 128 movlw 139 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__134 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__134 F3_000275 equ $ ; in [JQ6500.BAS] JQ_command.7 = 0 bsf STATUS,5 ram_bank = 1 bcf JQ_command,7 F3_000276 equ $ ; in [JQ6500.BAS] JQ_playing = 0 bcf STATUS,5 ram_bank = 0 bcf _B__VR2,7 F3_000277 equ $ ; in [JQ6500.BAS] JQ_state = 0 bsf STATUS,5 ram_bank = 1 clrf JQ_state bcf STATUS,5 ram_bank = 0 _mjump _lbl__106 _lbl__134 F3_000279 equ $ ; in [JQ6500.BAS] Case state8 + 128 movlw 140 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__136 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__136 F3_000280 equ $ ; in [JQ6500.BAS] if JQ_reply_ok = 1 Then _set_cpage _lbl__138 btfss _B__VR3,3 goto _lbl__138 F3_000281 equ $ ; in [JQ6500.BAS] JQ_total_time = RXnum movf RXnum,W bsf STATUS,5 ram_bank = 1 movwf JQ_total_time bcf STATUS,5 ram_bank = 0 movf RXnumH,W bsf STATUS,5 ram_bank = 1 movwf JQ_total_timeH F3_000282 equ $ ; in [JQ6500.BAS] JQ_command.8 = 0 bcf JQ_commandH,0 F3_000283 equ $ ; in [JQ6500.BAS] endif _lbl__138 bcf STATUS,5 ram_bank = 0 _mjump _lbl__106 _lbl__136 F3_000285 equ $ ; in [JQ6500.BAS] Case state9 + 128 movlw 141 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__140 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__140 F3_000286 equ $ ; in [JQ6500.BAS] if JQ_reply_ok = 1 Then _set_cpage _lbl__142 btfss _B__VR3,3 goto _lbl__142 F3_000287 equ $ ; in [JQ6500.BAS] JQ_current_time = RXnum movf RXnum,W bsf STATUS,5 ram_bank = 1 movwf JQ_current_time bcf STATUS,5 ram_bank = 0 movf RXnumH,W bsf STATUS,5 ram_bank = 1 movwf JQ_current_timeH F3_000288 equ $ ; in [JQ6500.BAS] JQ_command.9 = 0 bcf JQ_commandH,1 F3_000289 equ $ ; in [JQ6500.BAS] JQ_cooldown = 500/5 movlw 100 movwf JQ_cooldown F3_000290 equ $ ; in [JQ6500.BAS] JQ_time_update = 1 bcf STATUS,5 ram_bank = 0 bsf _B__VR3,4 F3_000291 equ $ ; in [JQ6500.BAS] endif _lbl__142 F3_000293 equ $ ; in [JQ6500.BAS] end Select _lbl__140 _lbl__106 F3_000294 equ $ ; in [JQ6500.BAS] JQ_state.7 = 0 bsf STATUS,5 ram_bank = 1 bcf JQ_state,7 F3_000295 equ $ ; in [JQ6500.BAS] JQ_state.6 = 1 bsf JQ_state,6 F3_000297 equ $ ; in [JQ6500.BAS] endif _lbl__105 bcf STATUS,5 ram_bank = 0 _mjump _lbl__102 F3_000298 equ $ ; in [JQ6500.BAS] ElseIf JQ_state.6 = 1 Then _lbl__103 _set_cpage _lbl__143 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss JQ_state,6 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__143 F3_000299 equ $ ; in [JQ6500.BAS] if JQ_cooldown = 0 Then JQ_state = stateIdle bsf STATUS,5 ram_bank = 1 movf JQ_cooldown,F _set_cpage _lbl__145 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__145 bsf STATUS,5 ram_bank = 1 movlw 2 movwf JQ_state _lbl__145 bcf STATUS,5 ram_bank = 0 _mjump _lbl__146 _lbl__143 F3_000300 equ $ ; in [JQ6500.BAS] else F3_000301 equ $ ; in [JQ6500.BAS] if JQ_playing = 1 Then JQ_command.9 = 1 _set_cpage _lbl__148 btfss _B__VR2,7 goto _lbl__148 bsf STATUS,5 ram_bank = 1 bsf JQ_commandH,1 _lbl__148 bcf STATUS,5 ram_bank = 0 F3_000303 equ $ ; in [JQ6500.BAS] if JQ_command.0 = 1 Then _set_cpage _lbl__150 bsf STATUS,5 ram_bank = 1 rrf JQ_command,W bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__150 F3_000304 equ $ ; in [JQ6500.BAS] GoSub JQ_set_volume _mcall JQ_set_volume ram_bank = 0 F3_000305 equ $ ; in [JQ6500.BAS] JQ_state = state0 + 128 bsf STATUS,5 ram_bank = 1 movlw 133 movwf JQ_state bcf STATUS,5 ram_bank = 0 _mjump _lbl__149 F3_000306 equ $ ; in [JQ6500.BAS] ElseIf JQ_command.4 = 1 Then _lbl__150 _set_cpage _lbl__151 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss JQ_command,4 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__151 F3_000307 equ $ ; in [JQ6500.BAS] JQ_state = state4 + 128 bsf STATUS,5 ram_bank = 1 movlw 144 movwf JQ_state F3_000308 equ $ ; in [JQ6500.BAS] GoSub JQ_play_index bcf STATUS,5 ram_bank = 0 _mcall JQ_play_index ram_bank = 0 _mjump _lbl__149 F3_000309 equ $ ; in [JQ6500.BAS] ElseIf JQ_command.6 = 1 Then _lbl__151 _set_cpage _lbl__152 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss JQ_command,6 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__152 F3_000310 equ $ ; in [JQ6500.BAS] JQ_state = state6 + 128 bsf STATUS,5 ram_bank = 1 movlw 138 movwf JQ_state F3_000311 equ $ ; in [JQ6500.BAS] GoSub JQ_pauze bcf STATUS,5 ram_bank = 0 _mcall JQ_pauze ram_bank = 0 _mjump _lbl__149 F3_000312 equ $ ; in [JQ6500.BAS] ElseIf JQ_command.1 = 1 Then _lbl__152 _set_cpage _lbl__153 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss JQ_command,1 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__153 F3_000313 equ $ ; in [JQ6500.BAS] JQ_state = state1 + 128 bsf STATUS,5 ram_bank = 1 movlw 134 movwf JQ_state F3_000314 equ $ ; in [JQ6500.BAS] GoSub JQ_get_status bcf STATUS,5 ram_bank = 0 _mcall JQ_get_status ram_bank = 0 _mjump _lbl__149 F3_000315 equ $ ; in [JQ6500.BAS] ElseIf JQ_command.2 = 1 Then _lbl__153 _set_cpage _lbl__154 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss JQ_command,2 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__154 F3_000316 equ $ ; in [JQ6500.BAS] JQ_state = state2 + 128 bsf STATUS,5 ram_bank = 1 movlw 135 movwf JQ_state F3_000317 equ $ ; in [JQ6500.BAS] GoSub JQ_set_mode bcf STATUS,5 ram_bank = 0 _mcall JQ_set_mode ram_bank = 0 _mjump _lbl__149 F3_000318 equ $ ; in [JQ6500.BAS] ElseIf JQ_command.3 = 1 Then _lbl__154 _set_cpage _lbl__155 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss JQ_command,3 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__155 F3_000319 equ $ ; in [JQ6500.BAS] JQ_state = state3 + 128 bsf STATUS,5 ram_bank = 1 movlw 136 movwf JQ_state F3_000320 equ $ ; in [JQ6500.BAS] GoSub JQ_get_files bcf STATUS,5 ram_bank = 0 _mcall JQ_get_files ram_bank = 0 _mjump _lbl__149 F3_000321 equ $ ; in [JQ6500.BAS] ElseIf JQ_command.5 = 1 Then _lbl__155 _set_cpage _lbl__156 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss JQ_command,5 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__156 F3_000322 equ $ ; in [JQ6500.BAS] JQ_state = state5 + 128 bsf STATUS,5 ram_bank = 1 movlw 137 movwf JQ_state F3_000323 equ $ ; in [JQ6500.BAS] GoSub JQ_play bcf STATUS,5 ram_bank = 0 _mcall JQ_play ram_bank = 0 _mjump _lbl__149 F3_000324 equ $ ; in [JQ6500.BAS] ElseIf JQ_command.7 = 1 Then _lbl__156 _set_cpage _lbl__157 bsf STATUS,5 ram_bank = 1 rlf JQ_command,W bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__157 F3_000325 equ $ ; in [JQ6500.BAS] JQ_state = state7 + 128 bsf STATUS,5 ram_bank = 1 movlw 139 movwf JQ_state F3_000326 equ $ ; in [JQ6500.BAS] GoSub JQ_reset bcf STATUS,5 ram_bank = 0 _mcall JQ_reset ram_bank = 0 _mjump _lbl__149 F3_000327 equ $ ; in [JQ6500.BAS] ElseIf JQ_command.8 = 1 Then _lbl__157 _set_cpage _lbl__158 bsf STATUS,5 ram_bank = 1 rrf JQ_commandH,W bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__158 F3_000328 equ $ ; in [JQ6500.BAS] JQ_state = state8 + 128 bsf STATUS,5 ram_bank = 1 movlw 140 movwf JQ_state F3_000329 equ $ ; in [JQ6500.BAS] GoSub JQ_get_total_time bcf STATUS,5 ram_bank = 0 _mcall JQ_get_total_time ram_bank = 0 _mjump _lbl__149 F3_000330 equ $ ; in [JQ6500.BAS] ElseIf JQ_command.9 = 1 Then _lbl__158 _set_cpage _lbl__159 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss JQ_commandH,1 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__159 F3_000331 equ $ ; in [JQ6500.BAS] JQ_state = state9 + 128 bsf STATUS,5 ram_bank = 1 movlw 141 movwf JQ_state F3_000332 equ $ ; in [JQ6500.BAS] GoSub JQ_get_cur_time bcf STATUS,5 ram_bank = 0 _mcall JQ_get_cur_time ram_bank = 0 F3_000333 equ $ ; in [JQ6500.BAS] endif _lbl__159 _lbl__149 F3_000334 equ $ ; in [JQ6500.BAS] if JQ_state != stateIdle Then JQ_err = 0 movlw 2 bsf STATUS,5 ram_bank = 1 subwf JQ_state,W _set_cpage _lbl__161 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _lbl__161 bcf _B__VR3,1 _lbl__161 F3_000335 equ $ ; in [JQ6500.BAS] endif _lbl__146 _lbl__102 F3_000337 equ $ ; in [JQ6500.BAS] if JQ_tx != 0 Then bsf STATUS,5 ram_bank = 1 movf JQ_tx,F _set_cpage _lbl__163 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _lbl__163 F3_000338 equ $ ; in [JQ6500.BAS] TXcount = JQ_tx bsf STATUS,5 ram_bank = 1 movf JQ_tx,W bcf STATUS,5 ram_bank = 0 movwf TXcount F3_000339 equ $ ; in [JQ6500.BAS] JQ_reply = 1 bsf _B__VR3,2 F3_000341 equ $ ; in [JQ6500.BAS] JQ_tx_retry = JQ_tx bsf STATUS,5 ram_bank = 1 movf JQ_tx,W movwf JQ_tx_retry F3_000342 equ $ ; in [JQ6500.BAS] JQ_tx = 0 clrf JQ_tx F3_000343 equ $ ; in [JQ6500.BAS] JQ_reply_ok = 0 bcf STATUS,5 ram_bank = 0 bcf _B__VR3,3 F3_000344 equ $ ; in [JQ6500.BAS] JQ_err = 0 bcf _B__VR3,1 F3_000345 equ $ ; in [JQ6500.BAS] JQ_timeout = JQtimeout bsf STATUS,5 ram_bank = 1 movlw 4 movwf JQ_timeout F3_000346 equ $ ; in [JQ6500.BAS] endif _lbl__163 bcf STATUS,5 ram_bank = 0 F3_000347 equ $ ; in [JQ6500.BAS] return return JQ_timed_handler F3_000350 equ $ ; in [JQ6500.BAS] if JQ_reply = 1 Then _set_cpage _lbl__165 btfss _B__VR3,2 goto _lbl__165 F3_000351 equ $ ; in [JQ6500.BAS] if JQ_timeout = 0 Then bsf STATUS,5 ram_bank = 1 movf JQ_timeout,F _set_cpage _lbl__167 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__167 F3_000352 equ $ ; in [JQ6500.BAS] JQ_reply = 0 bcf _B__VR3,2 F3_000353 equ $ ; in [JQ6500.BAS] JQ_err = 1 bsf _B__VR3,1 _mjump _lbl__168 _lbl__167 F3_000354 equ $ ; in [JQ6500.BAS] else F3_000355 equ $ ; in [JQ6500.BAS] Dec JQ_timeout bsf STATUS,5 ram_bank = 1 decf JQ_timeout,F F3_000356 equ $ ; in [JQ6500.BAS] endif _lbl__168 bcf STATUS,5 ram_bank = 0 F3_000357 equ $ ; in [JQ6500.BAS] endif _lbl__165 F3_000359 equ $ ; in [JQ6500.BAS] if JQ_cooldown > 0 Then Dec JQ_cooldown bsf STATUS,5 ram_bank = 1 movf JQ_cooldown,F _set_cpage _lbl__170 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _lbl__170 bsf STATUS,5 ram_bank = 1 decf JQ_cooldown,F _lbl__170 bcf STATUS,5 ram_bank = 0 F3_000360 equ $ ; in [JQ6500.BAS] return return F3_EOF equ $ ; JQ6500.BAS F4_SOF equ $ ; SUBS.BAS disablePeri F4_000016 equ $ ; in [SUBS.BAS] TRISA = TRISA | %11011111 movlw 223 bsf STATUS,5 ram_bank = 1 iorwf TRISA,F F4_000018 equ $ ; in [SUBS.BAS] PeriEnable = 0 bcf STATUS,5 ram_bank = 0 bcf PORTC,0 F4_000019 equ $ ; in [SUBS.BAS] periRDY = 0 bcf perictrl,1 F4_000020 equ $ ; in [SUBS.BAS] return return enablePeri F4_000024 equ $ ; in [SUBS.BAS] PeriEnable = 1 bsf PORTC,0 F4_000026 equ $ ; in [SUBS.BAS] PORTA = PORTA & %00100000 movlw 32 andwf PORTA,F F4_000027 equ $ ; in [SUBS.BAS] TRISA = TRISA & %00100000 movlw 32 bsf STATUS,5 ram_bank = 1 andwf TRISA,F F4_000028 equ $ ; in [SUBS.BAS] return bcf STATUS,5 ram_bank = 0 return serialHandler F4_000031 equ $ ; in [SUBS.BAS] if (RCSTA & $06) != 0 Then movlw 6 andwf RCSTA,W clrf PBS_VAR0H movwf PBS_VAR0 movf PBS_VAR0H,W iorwf PBS_VAR0,W _set_cpage _lbl__172 btfsc STATUS,2 goto _lbl__172 F4_000033 equ $ ; in [SUBS.BAS] dummy = RCREG movf RCREG,W movwf dummy F4_000035 equ $ ; in [SUBS.BAS] endif _lbl__172 F4_000037 equ $ ; in [SUBS.BAS] if TXcount > 0 Then movf TXcount,F _set_cpage _lbl__174 btfsc STATUS,2 goto _lbl__174 F4_000038 equ $ ; in [SUBS.BAS] if TXinProg = 0 Then _set_cpage _lbl__176 btfsc _B__VR1,0 goto _lbl__176 F4_000039 equ $ ; in [SUBS.BAS] if TXSTA.1 = 1 Then _set_cpage _lbl__178 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss TXSTA,1 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__178 F4_000041 equ $ ; in [SUBS.BAS] hd_pos = $00 bsf STATUS,5 ram_bank = 1 clrf hd_pos F4_000042 equ $ ; in [SUBS.BAS] GoSub Hd_locate bcf STATUS,5 ram_bank = 0 _mcall Hd_locate ram_bank = 0 F4_000043 equ $ ; in [SUBS.BAS] Leading_zero = 0 bcf _B__VR2,4 F4_000044 equ $ ; in [SUBS.BAS] Hd_digits = 5 bsf STATUS,5 ram_bank = 1 movlw 5 movwf Hd_digits F4_000045 equ $ ; in [SUBS.BAS] Hd_char = "*" movlw 42 movwf Hd_char F4_000046 equ $ ; in [SUBS.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F4_000047 equ $ ; in [SUBS.BAS] For dbugbyte = 0 To TXcount bsf STATUS,5 ram_bank = 1 clrf dbugbyte _frlb__179 bcf STATUS,5 ram_bank = 0 bsf STATUS,5 ram_bank = 1 movf dbugbyte,W bcf STATUS,5 ram_bank = 0 subwf TXcount,W _set_cpage _nxlb__180 btfss STATUS,0 goto _nxlb__180 F4_000048 equ $ ; in [SUBS.BAS] Hd_input = TXbuf[dbugbyte] bsf STATUS,5 ram_bank = 1 movf dbugbyte,W addlw TXbuf movwf FSR movf INDF,W clrf Hd_inputH movwf Hd_input F4_000049 equ $ ; in [SUBS.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F4_000050 equ $ ; in [SUBS.BAS] Hd_char = " " bsf STATUS,5 ram_bank = 1 movlw 32 movwf Hd_char F4_000051 equ $ ; in [SUBS.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 _ctlb__181 F4_000052 equ $ ; in [SUBS.BAS] Next movlw 1 bsf STATUS,5 ram_bank = 1 addwf dbugbyte,F _set_cpage _frlb__179 bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _frlb__179 _nxlb__180 F4_000053 equ $ ; in [SUBS.BAS] TXcounter = 0 clrf TXcounter F4_000054 equ $ ; in [SUBS.BAS] TXREG = $AA movlw 170 movwf TXREG F4_000055 equ $ ; in [SUBS.BAS] Toggle indicator movlw 128 xorwf PORTB,F bsf STATUS,5 ram_bank = 1 bcf TRISB,7 F4_000056 equ $ ; in [SUBS.BAS] TXinProg = 1 bcf STATUS,5 ram_bank = 0 bsf _B__VR1,0 F4_000057 equ $ ; in [SUBS.BAS] TXdone = 0 bcf _B__VR1,1 F4_000058 equ $ ; in [SUBS.BAS] TXie = 1 bsf STATUS,5 ram_bank = 1 bsf PIE1,4 F4_000059 equ $ ; in [SUBS.BAS] endif _lbl__178 bcf STATUS,5 ram_bank = 0 F4_000060 equ $ ; in [SUBS.BAS] endif _lbl__176 F4_000062 equ $ ; in [SUBS.BAS] if TXdone = 1 And TXSTA.1 = 1 Then movlw 0 btfsc _B__VR1,1 movlw 1 movwf SP__P9_ movlw 0 bsf STATUS,5 ram_bank = 1 btfsc TXSTA,1 movlw 1 bcf STATUS,5 ram_bank = 0 andwf SP__P9_,F _set_cpage _lbl__183 btfsc STATUS,2 goto _lbl__183 F4_000063 equ $ ; in [SUBS.BAS] TXcount = 0 clrf TXcount F4_000064 equ $ ; in [SUBS.BAS] TXinProg = 0 bcf _B__VR1,0 F4_000077 equ $ ; in [SUBS.BAS] endif _lbl__183 F4_000078 equ $ ; in [SUBS.BAS] endif _lbl__174 F4_000079 equ $ ; in [SUBS.BAS] return return parseRX F4_000085 equ $ ; in [SUBS.BAS] number = 0 bcf _B__VR3,6 F4_000086 equ $ ; in [SUBS.BAS] text = 0 bcf _B__VR3,5 F4_000091 equ $ ; in [SUBS.BAS] text = 0 bcf _B__VR3,5 F4_000092 equ $ ; in [SUBS.BAS] For I = 0 To RXcount - 1 decf RXcount,W movwf PBL_VAR0 clrf _I _frlb__184 movf _I,W subwf PBL_VAR0,W _set_cpage _nxlb__185 btfss STATUS,0 goto _nxlb__185 F4_000093 equ $ ; in [SUBS.BAS] Char = RXbuf[I] movf _I,W addlw RXbuf movwf FSR movf INDF,W movwf Char F4_000094 equ $ ; in [SUBS.BAS] if Char >= "0" And Char <= "9" Then movlw 48 subwf Char,W movlw 0 btfsc STATUS,0 movlw 1 movwf SP__P9_ movlw 58 subwf Char,W _set_cpage _cplb__2 btfss STATUS,0 goto _cplb__2 clrw btfss STATUS,2 _cplb__2 movlw 1 andwf SP__P9_,F _set_cpage _lbl__188 btfsc STATUS,2 goto _lbl__188 F4_000095 equ $ ; in [SUBS.BAS] Char = Char - 48 movlw 48 subwf Char,F _mjump _lbl__187 F4_000096 equ $ ; in [SUBS.BAS] ElseIf Char >= "A" And Char <= "F" Then _lbl__188 movlw 65 subwf Char,W movlw 0 btfsc STATUS,0 movlw 1 movwf SP__P9_ movlw 71 subwf Char,W _set_cpage _cplb__3 btfss STATUS,0 goto _cplb__3 clrw btfss STATUS,2 _cplb__3 movlw 1 andwf SP__P9_,F _set_cpage _lbl__189 btfsc STATUS,2 goto _lbl__189 F4_000097 equ $ ; in [SUBS.BAS] Char = Char - 55 movlw 55 subwf Char,F _mjump _lbl__187 F4_000098 equ $ ; in [SUBS.BAS] ElseIf Char >= "A" And Char <= "F" Then _lbl__189 movlw 97 subwf Char,W movlw 0 btfsc STATUS,0 movlw 1 movwf SP__P9_ movlw 103 subwf Char,W _set_cpage _cplb__4 btfss STATUS,0 goto _cplb__4 clrw btfss STATUS,2 _cplb__4 movlw 1 andwf SP__P9_,F _set_cpage _lbl__190 btfsc STATUS,2 goto _lbl__190 F4_000099 equ $ ; in [SUBS.BAS] Char = Char - 87 movlw 87 subwf Char,F _mjump _lbl__191 _lbl__190 F4_000100 equ $ ; in [SUBS.BAS] else F4_000101 equ $ ; in [SUBS.BAS] text = 1 bsf _B__VR3,5 F4_000102 equ $ ; in [SUBS.BAS] Break _mjump _nxlb__185 F4_000103 equ $ ; in [SUBS.BAS] endif _lbl__191 _lbl__187 F4_000104 equ $ ; in [SUBS.BAS] RXnum = (RXnum*16) + Char movf RXnumH,W movwf PP7H movf RXnum,W movwf PP7 movlw 4 movwf PP0 _mulb__2 bcf STATUS,0 rlf PP7,F rlf PP7H,F decf PP0,F _set_cpage _mulb__2 btfss STATUS,2 goto _mulb__2 movf Char,W addwf PP7,W movwf RXnum movf PP7H,W btfsc STATUS,0 addlw 1 movwf RXnumH _ctlb__186 F4_000105 equ $ ; in [SUBS.BAS] Next movlw 1 addwf _I,F _set_cpage _frlb__184 btfss STATUS,0 goto _frlb__184 _nxlb__185 F4_000107 equ $ ; in [SUBS.BAS] if text = 0 Then _set_cpage _lbl__193 btfsc _B__VR3,5 goto _lbl__193 F4_000108 equ $ ; in [SUBS.BAS] JQ_reply_ok = 1 bsf _B__VR3,3 _mjump _lbl__194 _lbl__193 F4_000109 equ $ ; in [SUBS.BAS] else F4_000110 equ $ ; in [SUBS.BAS] Select RXbuf#0 F4_000111 equ $ ; in [SUBS.BAS] Case "O" movlw 79 subwf RXbuf#0,W _set_cpage _lbl__196 btfss STATUS,2 goto _lbl__196 F4_000112 equ $ ; in [SUBS.BAS] if RXbuf#1 = "K" Then JQ_reply_ok = 1 movlw 75 subwf RXbuf#1,W _set_cpage _lbl__199 btfss STATUS,2 goto _lbl__199 bsf _B__VR3,3 _lbl__199 _mjump _lbl__195 _lbl__196 F4_000113 equ $ ; in [SUBS.BAS] Case "S" movlw 83 subwf RXbuf#0,W _set_cpage _lbl__201 btfss STATUS,2 goto _lbl__201 F4_000114 equ $ ; in [SUBS.BAS] if RXbuf#1 = "T" And RXbuf#2 = "O" And RXbuf#3 = "P" Then JQ_playing = 0 movlw 84 subwf RXbuf#1,W movlw 1 btfss STATUS,2 movlw 0 movwf SP__P9_ movlw 79 subwf RXbuf#2,W movlw 1 btfss STATUS,2 movlw 0 andwf SP__P9_,F movlw 80 subwf RXbuf#3,W movlw 1 btfss STATUS,2 movlw 0 andwf SP__P9_,F _set_cpage _lbl__203 btfsc STATUS,2 goto _lbl__203 bcf _B__VR2,7 _lbl__203 _mjump _lbl__195 _lbl__201 F4_000115 equ $ ; in [SUBS.BAS] Case "E" movlw 69 subwf RXbuf#0,W _set_cpage _lbl__205 btfss STATUS,2 goto _lbl__205 F4_000116 equ $ ; in [SUBS.BAS] if RXbuf#1 = "R" And RXbuf#2 = "R" Then movlw 82 subwf RXbuf#1,W movlw 1 btfss STATUS,2 movlw 0 movwf SP__P9_ movlw 82 subwf RXbuf#2,W movlw 1 btfss STATUS,2 movlw 0 andwf SP__P9_,F _set_cpage _lbl__207 btfsc STATUS,2 goto _lbl__207 F4_000117 equ $ ; in [SUBS.BAS] JQ_err = 1 bsf _B__VR3,1 F4_000118 equ $ ; in [SUBS.BAS] JQ_reply_ok = 0 bcf _B__VR3,3 F4_000119 equ $ ; in [SUBS.BAS] endif _lbl__207 _mjump _lbl__195 _lbl__205 F4_000120 equ $ ; in [SUBS.BAS] Case "N" movlw 78 subwf RXbuf#0,W _set_cpage _lbl__209 btfss STATUS,2 goto _lbl__209 F4_000121 equ $ ; in [SUBS.BAS] if RXbuf#1 = "E" And RXbuf#2 = "X" And RXbuf#3 = "T" Then JQ_command.8 = 1 movlw 69 subwf RXbuf#1,W movlw 1 btfss STATUS,2 movlw 0 movwf SP__P9_ movlw 88 subwf RXbuf#2,W movlw 1 btfss STATUS,2 movlw 0 andwf SP__P9_,F movlw 84 subwf RXbuf#3,W movlw 1 btfss STATUS,2 movlw 0 andwf SP__P9_,F _set_cpage _lbl__211 btfsc STATUS,2 goto _lbl__211 bsf STATUS,5 ram_bank = 1 bsf JQ_commandH,0 _lbl__211 bcf STATUS,5 ram_bank = 0 F4_000122 equ $ ; in [SUBS.BAS] end Select _lbl__209 _lbl__195 F4_000123 equ $ ; in [SUBS.BAS] endif _lbl__194 F4_000124 equ $ ; in [SUBS.BAS] JQ_reply = 0 bcf _B__VR3,2 F4_000125 equ $ ; in [SUBS.BAS] return return initPeri F4_000136 equ $ ; in [SUBS.BAS] GoSub hd_init _mcall hd_init ram_bank = 0 F4_000137 equ $ ; in [SUBS.BAS] return return PeriHandler F4_000142 equ $ ; in [SUBS.BAS] Select audioSM F4_000143 equ $ ; in [SUBS.BAS] Case 0 movf audioSM,F _set_cpage _lbl__213 btfss STATUS,2 goto _lbl__213 F4_000144 equ $ ; in [SUBS.BAS] if (perictrl & $03) = 1 Then movlw 3 andwf perictrl,W clrf PBS_VAR0H movwf PBS_VAR0 decf PBS_VAR0,W iorwf PBS_VAR0H,W _set_cpage _lbl__216 btfss STATUS,2 goto _lbl__216 F4_000145 equ $ ; in [SUBS.BAS] if audioRQ = 0 Then periOR = 1 _set_cpage _lbl__218 btfsc perictrl,4 goto _lbl__218 bsf perictrl,6 _lbl__218 F4_000146 equ $ ; in [SUBS.BAS] if (perictrl & $0C) != 0 Then movlw 12 andwf perictrl,W clrf PBS_VAR0H movwf PBS_VAR0 movf PBS_VAR0H,W iorwf PBS_VAR0,W _set_cpage _lbl__220 btfsc STATUS,2 goto _lbl__220 F4_000147 equ $ ; in [SUBS.BAS] audioSM = 14 movlw 14 movwf audioSM _mjump _lbl__221 _lbl__220 F4_000148 equ $ ; in [SUBS.BAS] else F4_000149 equ $ ; in [SUBS.BAS] audioSM = 1 movlw 1 movwf audioSM F4_000150 equ $ ; in [SUBS.BAS] endif _lbl__221 _mjump _lbl__215 F4_000151 equ $ ; in [SUBS.BAS] ElseIf (perictrl & $03) = 2 Then _lbl__216 movlw 3 andwf perictrl,W clrf PBS_VAR0H movwf PBS_VAR0 movf PBS_VAR0,W xorlw 2 iorwf PBS_VAR0H,W _set_cpage _lbl__222 btfss STATUS,2 goto _lbl__222 F4_000152 equ $ ; in [SUBS.BAS] if (perictrl & $0C) != 0 Then movlw 12 andwf perictrl,W clrf PBS_VAR1H movwf PBS_VAR1 movf PBS_VAR1H,W iorwf PBS_VAR1,W _set_cpage _lbl__224 btfsc STATUS,2 goto _lbl__224 F4_000153 equ $ ; in [SUBS.BAS] audioSM = 14 movlw 14 movwf audioSM _mjump _lbl__225 _lbl__224 F4_000154 equ $ ; in [SUBS.BAS] else F4_000155 equ $ ; in [SUBS.BAS] audioSM = 12 movlw 12 movwf audioSM F4_000156 equ $ ; in [SUBS.BAS] endif _lbl__225 _mjump _lbl__215 F4_000157 equ $ ; in [SUBS.BAS] ElseIf (perictrl & $0C) = 4 Then _lbl__222 movlw 12 andwf perictrl,W clrf PBS_VAR1H movwf PBS_VAR1 movf PBS_VAR1,W xorlw 4 iorwf PBS_VAR1H,W _set_cpage _lbl__226 btfss STATUS,2 goto _lbl__226 F4_000158 equ $ ; in [SUBS.BAS] if audioRQ = 0 Then periOR = 1 _set_cpage _lbl__228 btfsc perictrl,4 goto _lbl__228 bsf perictrl,6 _lbl__228 F4_000159 equ $ ; in [SUBS.BAS] audioSM = 3 movlw 3 movwf audioSM _mjump _lbl__215 F4_000160 equ $ ; in [SUBS.BAS] ElseIf (perictrl & $0C) = 8 Then _lbl__226 movlw 12 andwf perictrl,W clrf PBS_VAR2H movwf PBS_VAR2 movf PBS_VAR2,W xorlw 8 iorwf PBS_VAR2H,W _set_cpage _lbl__229 btfss STATUS,2 goto _lbl__229 F4_000161 equ $ ; in [SUBS.BAS] audioSM = 14 movlw 14 movwf audioSM _mjump _lbl__215 F4_000162 equ $ ; in [SUBS.BAS] ElseIf audioRQ = 1 Then _lbl__229 _set_cpage _lbl__230 btfss perictrl,4 goto _lbl__230 F4_000163 equ $ ; in [SUBS.BAS] if periRDY = 0 Then _set_cpage _lbl__232 btfsc perictrl,1 goto _lbl__232 F4_000164 equ $ ; in [SUBS.BAS] if periRQ = 0 Then periRQ = 1 _set_cpage _lbl__234 btfsc perictrl,0 goto _lbl__234 bsf perictrl,0 _lbl__234 _mjump _lbl__231 F4_000165 equ $ ; in [SUBS.BAS] ElseIf ampRDY = 0 Then _lbl__232 _set_cpage _lbl__235 btfsc perictrl,3 goto _lbl__235 F4_000166 equ $ ; in [SUBS.BAS] if ampRQ = 0 Then ampRQ = 1 _set_cpage _lbl__237 btfsc perictrl,2 goto _lbl__237 bsf perictrl,2 _lbl__237 _mjump _lbl__238 _lbl__235 F4_000167 equ $ ; in [SUBS.BAS] else F4_000168 equ $ ; in [SUBS.BAS] if audioRDY = 0 Then _set_cpage _lbl__240 btfsc perictrl,5 goto _lbl__240 F4_000169 equ $ ; in [SUBS.BAS] audioSM = 5 movlw 5 movwf audioSM F4_000170 equ $ ; in [SUBS.BAS] audioERR = 0 bcf perictrl,7 F4_000171 equ $ ; in [SUBS.BAS] endif _lbl__240 F4_000172 equ $ ; in [SUBS.BAS] endif _lbl__238 _lbl__231 _mjump _lbl__215 F4_000173 equ $ ; in [SUBS.BAS] ElseIf audioRQ = 0 Then _lbl__230 _set_cpage _lbl__241 btfsc perictrl,4 goto _lbl__241 F4_000174 equ $ ; in [SUBS.BAS] if periOR = 0 Then _set_cpage _lbl__243 btfsc perictrl,6 goto _lbl__243 F4_000175 equ $ ; in [SUBS.BAS] if (perictrl & $0C) != 0 Then movlw 12 andwf perictrl,W clrf PBS_VAR2H movwf PBS_VAR2 movf PBS_VAR2H,W iorwf PBS_VAR2,W _set_cpage _lbl__245 btfsc STATUS,2 goto _lbl__245 F4_000176 equ $ ; in [SUBS.BAS] ampRQ = 0 bcf perictrl,2 F4_000177 equ $ ; in [SUBS.BAS] audioSM = 14 movlw 14 movwf audioSM _mjump _lbl__244 F4_000178 equ $ ; in [SUBS.BAS] ElseIf (perictrl & $03) != 0 Then _lbl__245 movlw 3 andwf perictrl,W clrf PBS_VAR2H movwf PBS_VAR2 movf PBS_VAR2H,W iorwf PBS_VAR2,W _set_cpage _lbl__246 btfsc STATUS,2 goto _lbl__246 F4_000179 equ $ ; in [SUBS.BAS] periRQ = 0 bcf perictrl,0 F4_000180 equ $ ; in [SUBS.BAS] audioSM = 12 movlw 12 movwf audioSM F4_000181 equ $ ; in [SUBS.BAS] endif _lbl__246 _lbl__244 F4_000182 equ $ ; in [SUBS.BAS] endif _lbl__243 F4_000183 equ $ ; in [SUBS.BAS] endif _lbl__241 _lbl__215 F4_000184 equ $ ; in [SUBS.BAS] if (perictrl & %00010101) = 0 Then movlw 21 andwf perictrl,W clrf PBS_VAR3H movwf PBS_VAR3 movf PBS_VAR3H,W iorwf PBS_VAR3,W _set_cpage _lbl__248 btfss STATUS,2 goto _lbl__248 F4_000185 equ $ ; in [SUBS.BAS] if periOR = 1 Then periOR = 0 _set_cpage _lbl__250 btfss perictrl,6 goto _lbl__250 bcf perictrl,6 _lbl__250 F4_000186 equ $ ; in [SUBS.BAS] endif _lbl__248 _mjump _lbl__212 _lbl__213 F4_000188 equ $ ; in [SUBS.BAS] Case 1 movlw 1 subwf audioSM,W _set_cpage _lbl__252 btfss STATUS,2 goto _lbl__252 F4_000189 equ $ ; in [SUBS.BAS] GoSub enablePeri _mcall enablePeri ram_bank = 0 F4_000190 equ $ ; in [SUBS.BAS] CDT = periBootTime clrf CDTH movlw 200 movwf CDT F4_000191 equ $ ; in [SUBS.BAS] Inc audioSM incf audioSM,F _mjump _lbl__212 _lbl__252 F4_000192 equ $ ; in [SUBS.BAS] Case 2 movlw 2 subwf audioSM,W _set_cpage _lbl__254 btfss STATUS,2 goto _lbl__254 F4_000193 equ $ ; in [SUBS.BAS] if CDT = 0 Then movf CDTH,W iorwf CDT,W _set_cpage _lbl__256 btfss STATUS,2 goto _lbl__256 F4_000194 equ $ ; in [SUBS.BAS] GoSub initPeri _mcall initPeri ram_bank = 0 F4_000195 equ $ ; in [SUBS.BAS] periRDY = 1 bsf perictrl,1 F4_000196 equ $ ; in [SUBS.BAS] audioSM = 0 clrf audioSM F4_000197 equ $ ; in [SUBS.BAS] if JQ_state = 0 Then JQ_state = 1 bsf STATUS,5 ram_bank = 1 movf JQ_state,F _set_cpage _lbl__258 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__258 bsf STATUS,5 ram_bank = 1 movlw 1 movwf JQ_state _lbl__258 bcf STATUS,5 ram_bank = 0 F4_000198 equ $ ; in [SUBS.BAS] endif _lbl__256 _mjump _lbl__212 _lbl__254 F4_000200 equ $ ; in [SUBS.BAS] Case 12 movlw 12 subwf audioSM,W _set_cpage _lbl__260 btfss STATUS,2 goto _lbl__260 F4_000201 equ $ ; in [SUBS.BAS] GoSub disablePeri _mcall disablePeri ram_bank = 0 F4_000202 equ $ ; in [SUBS.BAS] CDT = 50/5 clrf CDTH movlw 10 movwf CDT F4_000203 equ $ ; in [SUBS.BAS] Inc audioSM incf audioSM,F _mjump _lbl__212 _lbl__260 F4_000204 equ $ ; in [SUBS.BAS] Case 13 movlw 13 subwf audioSM,W _set_cpage _lbl__262 btfss STATUS,2 goto _lbl__262 F4_000205 equ $ ; in [SUBS.BAS] if CDT = 0 Then audioSM = 0 movf CDTH,W iorwf CDT,W _set_cpage _lbl__264 btfss STATUS,2 goto _lbl__264 clrf audioSM _lbl__264 _mjump _lbl__212 _lbl__262 F4_000208 equ $ ; in [SUBS.BAS] Case 3 movlw 3 subwf audioSM,W _set_cpage _lbl__266 btfss STATUS,2 goto _lbl__266 F4_000209 equ $ ; in [SUBS.BAS] AmpEnable = 1 bsf PORTC,1 F4_000210 equ $ ; in [SUBS.BAS] CDT = ampUpTime movf ampUpTime,W movwf CDT movf ampUpTimeH,W movwf CDTH F4_000211 equ $ ; in [SUBS.BAS] Inc audioSM incf audioSM,F _mjump _lbl__212 _lbl__266 F4_000212 equ $ ; in [SUBS.BAS] Case 4 movlw 4 subwf audioSM,W _set_cpage _lbl__268 btfss STATUS,2 goto _lbl__268 F4_000213 equ $ ; in [SUBS.BAS] if CDT = 0 Then movf CDTH,W iorwf CDT,W _set_cpage _lbl__270 btfss STATUS,2 goto _lbl__270 F4_000214 equ $ ; in [SUBS.BAS] ampRDY = 1 bsf perictrl,3 F4_000215 equ $ ; in [SUBS.BAS] audioSM = 0 clrf audioSM F4_000216 equ $ ; in [SUBS.BAS] endif _lbl__270 _mjump _lbl__212 _lbl__268 F4_000218 equ $ ; in [SUBS.BAS] Case 14 movlw 14 subwf audioSM,W _set_cpage _lbl__272 btfss STATUS,2 goto _lbl__272 F4_000219 equ $ ; in [SUBS.BAS] AmpEnable = 0 bcf PORTC,1 F4_000220 equ $ ; in [SUBS.BAS] CDT = ampDownTime movf ampDownTime,W movwf CDT movf ampDownTimeH,W movwf CDTH F4_000221 equ $ ; in [SUBS.BAS] Inc audioSM incf audioSM,F _mjump _lbl__212 _lbl__272 F4_000222 equ $ ; in [SUBS.BAS] Case 15 movlw 15 subwf audioSM,W _set_cpage _lbl__274 btfss STATUS,2 goto _lbl__274 F4_000223 equ $ ; in [SUBS.BAS] if CDT = 0 Then movf CDTH,W iorwf CDT,W _set_cpage _lbl__276 btfss STATUS,2 goto _lbl__276 F4_000224 equ $ ; in [SUBS.BAS] ampRDY = 0 bcf perictrl,3 F4_000225 equ $ ; in [SUBS.BAS] audioSM = 0 clrf audioSM F4_000226 equ $ ; in [SUBS.BAS] endif _lbl__276 _mjump _lbl__212 _lbl__274 F4_000229 equ $ ; in [SUBS.BAS] Case 5 movlw 5 subwf audioSM,W _set_cpage _lbl__278 btfss STATUS,2 goto _lbl__278 F4_000230 equ $ ; in [SUBS.BAS] if periRDY = 1 Then _set_cpage _lbl__280 btfss perictrl,1 goto _lbl__280 F4_000231 equ $ ; in [SUBS.BAS] Inc audioSM incf audioSM,F F4_000232 equ $ ; in [SUBS.BAS] CDT = mp3boottime clrf CDTH movlw 100 movwf CDT _mjump _lbl__281 _lbl__280 F4_000233 equ $ ; in [SUBS.BAS] else F4_000234 equ $ ; in [SUBS.BAS] audioSM = 0 clrf audioSM F4_000235 equ $ ; in [SUBS.BAS] endif _lbl__281 _mjump _lbl__212 _lbl__278 F4_000236 equ $ ; in [SUBS.BAS] Case 6 movlw 6 subwf audioSM,W _set_cpage _lbl__283 btfss STATUS,2 goto _lbl__283 F4_000237 equ $ ; in [SUBS.BAS] if JQ_idle = 1 Then _set_cpage _lbl__285 btfss _B__VR3,0 goto _lbl__285 F4_000238 equ $ ; in [SUBS.BAS] CDT = playtimeout movlw 3 movwf CDTH movlw 232 movwf CDT F4_000239 equ $ ; in [SUBS.BAS] audioRDY = 1 bsf perictrl,5 F4_000240 equ $ ; in [SUBS.BAS] Inc audioSM incf audioSM,F _mjump _lbl__284 F4_000241 equ $ ; in [SUBS.BAS] ElseIf CDT = 0 Then _lbl__285 movf CDTH,W iorwf CDT,W _set_cpage _lbl__286 btfss STATUS,2 goto _lbl__286 F4_000242 equ $ ; in [SUBS.BAS] audioERR = 1 bsf perictrl,7 F4_000243 equ $ ; in [SUBS.BAS] audioRQ = 0 bcf perictrl,4 F4_000244 equ $ ; in [SUBS.BAS] audioSM = 0 clrf audioSM F4_000245 equ $ ; in [SUBS.BAS] endif _lbl__286 _lbl__284 _mjump _lbl__212 _lbl__283 F4_000246 equ $ ; in [SUBS.BAS] Case 7 movlw 7 subwf audioSM,W _set_cpage _lbl__288 btfss STATUS,2 goto _lbl__288 F4_000247 equ $ ; in [SUBS.BAS] if audioRDY = 0 Then _set_cpage _lbl__290 btfsc perictrl,5 goto _lbl__290 F4_000248 equ $ ; in [SUBS.BAS] JQ_vol = soundVol movf soundVol,W bsf STATUS,5 ram_bank = 1 movwf JQ_vol F4_000249 equ $ ; in [SUBS.BAS] JQ_play_idx = soundIdx bcf STATUS,5 ram_bank = 0 movf soundIdx,W bsf STATUS,5 ram_bank = 1 movwf JQ_play_idx F4_000250 equ $ ; in [SUBS.BAS] Inc audioSM bcf STATUS,5 ram_bank = 0 incf audioSM,F F4_000251 equ $ ; in [SUBS.BAS] CDT = 500/5 clrf CDTH movlw 100 movwf CDT _mjump _lbl__289 F4_000252 equ $ ; in [SUBS.BAS] ElseIf CDT = 0 Then _lbl__290 movf CDTH,W iorwf CDT,W _set_cpage _lbl__291 btfss STATUS,2 goto _lbl__291 F4_000253 equ $ ; in [SUBS.BAS] audioRQ = 0 bcf perictrl,4 F4_000254 equ $ ; in [SUBS.BAS] audioSM = 0 clrf audioSM F4_000255 equ $ ; in [SUBS.BAS] endif _lbl__291 _lbl__289 _mjump _lbl__212 _lbl__288 F4_000256 equ $ ; in [SUBS.BAS] Case 8 movlw 8 subwf audioSM,W _set_cpage _lbl__293 btfss STATUS,2 goto _lbl__293 F4_000257 equ $ ; in [SUBS.BAS] if JQ_playing = 1 Then _set_cpage _lbl__295 btfss _B__VR2,7 goto _lbl__295 F4_000258 equ $ ; in [SUBS.BAS] CDT = 10 clrf CDTH movlw 10 movwf CDT F4_000259 equ $ ; in [SUBS.BAS] Inc audioSM incf audioSM,F _mjump _lbl__294 F4_000260 equ $ ; in [SUBS.BAS] ElseIf CDT = 0 Then _lbl__295 movf CDTH,W iorwf CDT,W _set_cpage _lbl__296 btfss STATUS,2 goto _lbl__296 F4_000261 equ $ ; in [SUBS.BAS] audioSM = 0 clrf audioSM F4_000262 equ $ ; in [SUBS.BAS] audioRQ = 0 bcf perictrl,4 F4_000263 equ $ ; in [SUBS.BAS] audioERR = 1 bsf perictrl,7 F4_000264 equ $ ; in [SUBS.BAS] endif _lbl__296 _lbl__294 _mjump _lbl__212 _lbl__293 F4_000265 equ $ ; in [SUBS.BAS] Case 9 movlw 9 subwf audioSM,W _set_cpage _lbl__298 btfss STATUS,2 goto _lbl__298 F4_000266 equ $ ; in [SUBS.BAS] if CDT = 0 Then movf CDTH,W iorwf CDT,W _set_cpage _lbl__300 btfss STATUS,2 goto _lbl__300 F4_000267 equ $ ; in [SUBS.BAS] if JQ_playing = 0 Then _set_cpage _lbl__302 btfsc _B__VR2,7 goto _lbl__302 F4_000268 equ $ ; in [SUBS.BAS] audioSM = 0 clrf audioSM F4_000269 equ $ ; in [SUBS.BAS] audioRQ = 0 bcf perictrl,4 F4_000270 equ $ ; in [SUBS.BAS] audioERR = 1 bsf perictrl,7 _mjump _lbl__303 _lbl__302 F4_000271 equ $ ; in [SUBS.BAS] else F4_000272 equ $ ; in [SUBS.BAS] Inc audioSM incf audioSM,F F4_000273 equ $ ; in [SUBS.BAS] endif _lbl__303 F4_000274 equ $ ; in [SUBS.BAS] endif _lbl__300 _mjump _lbl__212 _lbl__298 F4_000275 equ $ ; in [SUBS.BAS] Case 10 movlw 10 subwf audioSM,W _set_cpage _lbl__305 btfss STATUS,2 goto _lbl__305 F4_000276 equ $ ; in [SUBS.BAS] if JQ_playing = 0 Then _set_cpage _lbl__307 btfsc _B__VR2,7 goto _lbl__307 F4_000277 equ $ ; in [SUBS.BAS] audioRDY = 1 bsf perictrl,5 F4_000278 equ $ ; in [SUBS.BAS] CDT = jingleStopTime clrf CDTH movlw 100 movwf CDT F4_000279 equ $ ; in [SUBS.BAS] Inc audioSM incf audioSM,F F4_000280 equ $ ; in [SUBS.BAS] endif _lbl__307 _mjump _lbl__212 _lbl__305 F4_000281 equ $ ; in [SUBS.BAS] Case 11 movlw 11 subwf audioSM,W _set_cpage _lbl__309 btfss STATUS,2 goto _lbl__309 F4_000282 equ $ ; in [SUBS.BAS] if audioRDY = 0 Then _set_cpage _lbl__311 btfsc perictrl,5 goto _lbl__311 F4_000283 equ $ ; in [SUBS.BAS] audioSM = 6 movlw 6 movwf audioSM _mjump _lbl__310 F4_000284 equ $ ; in [SUBS.BAS] ElseIf CDT = 0 Then _lbl__311 movf CDTH,W iorwf CDT,W _set_cpage _lbl__312 btfss STATUS,2 goto _lbl__312 F4_000285 equ $ ; in [SUBS.BAS] audioRQ = 0 bcf perictrl,4 F4_000286 equ $ ; in [SUBS.BAS] audioSM = 0 clrf audioSM F4_000287 equ $ ; in [SUBS.BAS] endif _lbl__312 _lbl__310 F4_000288 equ $ ; in [SUBS.BAS] end Select _lbl__309 _lbl__212 F4_000289 equ $ ; in [SUBS.BAS] return return ADChandler F4_000292 equ $ ; in [SUBS.BAS] tmpbyte = ADCctrl & $03 movlw 3 bsf STATUS,5 ram_bank = 1 andwf ADCctrl,W bcf STATUS,5 ram_bank = 0 movwf tmpbyte F4_000293 equ $ ; in [SUBS.BAS] Select tmpbyte F4_000294 equ $ ; in [SUBS.BAS] Case 0 movf tmpbyte,F _set_cpage _lbl__314 btfss STATUS,2 goto _lbl__314 F4_000295 equ $ ; in [SUBS.BAS] nop nop _mjump _lbl__313 _lbl__314 F4_000296 equ $ ; in [SUBS.BAS] Case 1 movlw 1 subwf tmpbyte,W _set_cpage _lbl__317 btfss STATUS,2 goto _lbl__317 F4_000297 equ $ ; in [SUBS.BAS] GIE = 0 bcf INTCON,7 F4_000298 equ $ ; in [SUBS.BAS] if ADCdone = 1 Then _set_cpage _lbl__319 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss ADCctrl,5 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__319 F4_000299 equ $ ; in [SUBS.BAS] ADClock2 = 1 bsf STATUS,5 ram_bank = 1 bsf ADCctrl,6 F4_000300 equ $ ; in [SUBS.BAS] GIE = 1 bsf INTCON,7 F4_000301 equ $ ; in [SUBS.BAS] ADCdone = 0 bcf ADCctrl,5 F4_000302 equ $ ; in [SUBS.BAS] ADCON1 = 128 movlw 128 movwf ADCON1 F4_000303 equ $ ; in [SUBS.BAS] ADCON0 = %11010001 bcf STATUS,5 ram_bank = 0 movlw 209 movwf ADCON0 F4_000304 equ $ ; in [SUBS.BAS] Inc ADCctrl bsf STATUS,5 ram_bank = 1 incf ADCctrl,F F4_000305 equ $ ; in [SUBS.BAS] endif _lbl__319 bcf STATUS,5 ram_bank = 0 F4_000306 equ $ ; in [SUBS.BAS] GIE = 1 bsf INTCON,7 _mjump _lbl__313 _lbl__317 F4_000307 equ $ ; in [SUBS.BAS] Case 2 movlw 2 subwf tmpbyte,W _set_cpage _lbl__321 btfss STATUS,2 goto _lbl__321 F4_000308 equ $ ; in [SUBS.BAS] ADCON0.1 = 1 bsf ADCON0,1 F4_000309 equ $ ; in [SUBS.BAS] Inc ADCctrl bsf STATUS,5 ram_bank = 1 incf ADCctrl,F bcf STATUS,5 ram_bank = 0 _mjump _lbl__313 _lbl__321 F4_000310 equ $ ; in [SUBS.BAS] Case 3 movlw 3 subwf tmpbyte,W _set_cpage _lbl__323 btfss STATUS,2 goto _lbl__323 F4_000311 equ $ ; in [SUBS.BAS] if ADCdone = 1 Then _set_cpage _lbl__325 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss ADCctrl,5 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__325 F4_000312 equ $ ; in [SUBS.BAS] tmpdwrd = Vcc * ampVal * 6 bsf STATUS,5 ram_bank = 1 movf Vcc,W bcf STATUS,5 ram_bank = 0 movwf PP0 bsf STATUS,5 ram_bank = 1 movf VccH,W bcf STATUS,5 ram_bank = 0 movwf PP0H clrf PP0HH clrf PP0HHH bsf STATUS,5 ram_bank = 1 movf ampVal,W bcf STATUS,5 ram_bank = 0 movwf PP2 bsf STATUS,5 ram_bank = 1 movf ampValH,W bcf STATUS,5 ram_bank = 0 movwf PP2H clrf PP2HH clrf PP2HHH _mcall __multiply_u3232_ ram_bank = 0 movf PP0,W movwf PP7 movf PP0H,W movwf PP7H movf PP0HH,W movwf PP7HH movf PP0HHH,W movwf PP7HHH movf PP7,W movwf PP0 movf PP7H,W movwf PP0H movf PP7HH,W movwf PP0HH movf PP7HHH,W movwf PP0HHH clrf PP2HHH clrf PP2HH clrf PP2H movlw 6 movwf PP2 _mcall __multiply_u3232_ ram_bank = 0 movf PP0,W movwf tmpdwrd movf PP0H,W movwf tmpdwrdH movf PP0HH,W movwf tmpdwrdHH movf PP0HHH,W movwf tmpdwrdHHH F4_000313 equ $ ; in [SUBS.BAS] Vbat = tmpdwrd >> 10 movf tmpdwrdH,W movwf Vbat bsf STATUS,5 ram_bank = 1 clrf VbatH bcf STATUS,0 bcf STATUS,5 ram_bank = 0 rrf Vbat,F bcf STATUS,0 rrf Vbat,F F4_000314 equ $ ; in [SUBS.BAS] VbatRDY = 1 bsf STATUS,5 ram_bank = 1 bsf ADCctrl,4 F4_000315 equ $ ; in [SUBS.BAS] GIE = 0 bcf INTCON,7 F4_000316 equ $ ; in [SUBS.BAS] ADCctrl = ADCctrl & $F8 movlw 248 andwf ADCctrl,F F4_000317 equ $ ; in [SUBS.BAS] GIE = 1 bsf INTCON,7 F4_000318 equ $ ; in [SUBS.BAS] endif _lbl__325 bcf STATUS,5 ram_bank = 0 F4_000319 equ $ ; in [SUBS.BAS] end Select _lbl__323 _lbl__313 F4_000320 equ $ ; in [SUBS.BAS] return return print_time_info F4_000339 equ $ ; in [SUBS.BAS] if JQ_time_update = 1 Then _set_cpage _lbl__327 btfss _B__VR3,4 goto _lbl__327 F4_000340 equ $ ; in [SUBS.BAS] hd_pos = 0 bsf STATUS,5 ram_bank = 1 clrf hd_pos F4_000341 equ $ ; in [SUBS.BAS] Hd_digits = 2 movlw 2 movwf Hd_digits F4_000342 equ $ ; in [SUBS.BAS] Leading_zero = 0 bcf STATUS,5 ram_bank = 0 bcf _B__VR2,4 F4_000343 equ $ ; in [SUBS.BAS] Leading_space = 1 bsf _B__VR2,5 F4_000344 equ $ ; in [SUBS.BAS] GoSub Hd_locate _mcall Hd_locate ram_bank = 0 F4_000345 equ $ ; in [SUBS.BAS] Hd_input = JQ_current_time / 60 bsf STATUS,5 ram_bank = 1 movf JQ_current_time,W bcf STATUS,5 ram_bank = 0 movwf PP0 bsf STATUS,5 ram_bank = 1 movf JQ_current_timeH,W bcf STATUS,5 ram_bank = 0 movwf PP0H clrf PP1H movlw 60 movwf PP1 _mcall __divide_u1616_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movwf Hd_input bcf STATUS,5 ram_bank = 0 movf PP0H,W bsf STATUS,5 ram_bank = 1 movwf Hd_inputH F4_000346 equ $ ; in [SUBS.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F4_000347 equ $ ; in [SUBS.BAS] Hd_char = ":" bsf STATUS,5 ram_bank = 1 movlw 58 movwf Hd_char F4_000348 equ $ ; in [SUBS.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F4_000349 equ $ ; in [SUBS.BAS] Leading_zero = 1 bsf _B__VR2,4 F4_000350 equ $ ; in [SUBS.BAS] Hd_input = JQ_current_time // 60 bsf STATUS,5 ram_bank = 1 movf JQ_current_time,W bcf STATUS,5 ram_bank = 0 movwf PP0 bsf STATUS,5 ram_bank = 1 movf JQ_current_timeH,W bcf STATUS,5 ram_bank = 0 movwf PP0H clrf PP1H movlw 60 movwf PP1 _mcall __divide_u1616_ ram_bank = 0 movf PP2H,W bsf STATUS,5 ram_bank = 1 movwf Hd_inputH bcf STATUS,5 ram_bank = 0 movf PP2,W bsf STATUS,5 ram_bank = 1 movwf Hd_input F4_000351 equ $ ; in [SUBS.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F4_000353 equ $ ; in [SUBS.BAS] Hd_char = "/" bsf STATUS,5 ram_bank = 1 movlw 47 movwf Hd_char F4_000354 equ $ ; in [SUBS.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F4_000356 equ $ ; in [SUBS.BAS] Leading_zero = 0 bcf _B__VR2,4 F4_000357 equ $ ; in [SUBS.BAS] Hd_input = JQ_total_time / 60 bsf STATUS,5 ram_bank = 1 movf JQ_total_time,W bcf STATUS,5 ram_bank = 0 movwf PP0 bsf STATUS,5 ram_bank = 1 movf JQ_total_timeH,W bcf STATUS,5 ram_bank = 0 movwf PP0H clrf PP1H movlw 60 movwf PP1 _mcall __divide_u1616_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movwf Hd_input bcf STATUS,5 ram_bank = 0 movf PP0H,W bsf STATUS,5 ram_bank = 1 movwf Hd_inputH F4_000358 equ $ ; in [SUBS.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F4_000359 equ $ ; in [SUBS.BAS] Hd_char = ":" bsf STATUS,5 ram_bank = 1 movlw 58 movwf Hd_char F4_000360 equ $ ; in [SUBS.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F4_000361 equ $ ; in [SUBS.BAS] Leading_zero = 1 bsf _B__VR2,4 F4_000362 equ $ ; in [SUBS.BAS] Hd_input = JQ_total_time // 60 bsf STATUS,5 ram_bank = 1 movf JQ_total_time,W bcf STATUS,5 ram_bank = 0 movwf PP0 bsf STATUS,5 ram_bank = 1 movf JQ_total_timeH,W bcf STATUS,5 ram_bank = 0 movwf PP0H clrf PP1H movlw 60 movwf PP1 _mcall __divide_u1616_ ram_bank = 0 movf PP2H,W bsf STATUS,5 ram_bank = 1 movwf Hd_inputH bcf STATUS,5 ram_bank = 0 movf PP2,W bsf STATUS,5 ram_bank = 1 movwf Hd_input F4_000363 equ $ ; in [SUBS.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F4_000364 equ $ ; in [SUBS.BAS] JQ_time_update = 0 bcf _B__VR3,4 F4_000366 equ $ ; in [SUBS.BAS] Hd_char = "|" bsf STATUS,5 ram_bank = 1 movlw 124 movwf Hd_char F4_000367 equ $ ; in [SUBS.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F4_000369 equ $ ; in [SUBS.BAS] Hd_digits = 1 bsf STATUS,5 ram_bank = 1 movlw 1 movwf Hd_digits F4_000370 equ $ ; in [SUBS.BAS] Leading_zero = 0 bcf STATUS,5 ram_bank = 0 bcf _B__VR2,4 F4_000371 equ $ ; in [SUBS.BAS] Hd_input = index bsf STATUS,5 ram_bank = 1 clrf Hd_inputH movf index,W movwf Hd_input F4_000372 equ $ ; in [SUBS.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F4_000373 equ $ ; in [SUBS.BAS] Hd_char = "/" bsf STATUS,5 ram_bank = 1 movlw 47 movwf Hd_char F4_000374 equ $ ; in [SUBS.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F4_000375 equ $ ; in [SUBS.BAS] Leading_zero = 0 bcf _B__VR2,4 F4_000376 equ $ ; in [SUBS.BAS] Hd_input = JQ_files bsf STATUS,5 ram_bank = 1 clrf Hd_inputH movf JQ_files,W movwf Hd_input F4_000377 equ $ ; in [SUBS.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F4_000378 equ $ ; in [SUBS.BAS] endif _lbl__327 F4_000379 equ $ ; in [SUBS.BAS] return return test_audio_files F4_000382 equ $ ; in [SUBS.BAS] if audioERR = 1 Then loopstate = 0 _set_cpage _lbl__329 btfss perictrl,7 goto _lbl__329 bsf STATUS,5 ram_bank = 1 clrf loopstate _lbl__329 bcf STATUS,5 ram_bank = 0 F4_000383 equ $ ; in [SUBS.BAS] Select loopstate F4_000384 equ $ ; in [SUBS.BAS] Case 1 movlw 1 bsf STATUS,5 ram_bank = 1 subwf loopstate,W _set_cpage _lbl__331 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__331 F4_000385 equ $ ; in [SUBS.BAS] audioRQ = 1 bsf perictrl,4 F4_000386 equ $ ; in [SUBS.BAS] Inc loopstate bsf STATUS,5 ram_bank = 1 incf loopstate,F F4_000387 equ $ ; in [SUBS.BAS] index = 1 movlw 1 movwf index bcf STATUS,5 ram_bank = 0 _mjump _lbl__330 _lbl__331 F4_000388 equ $ ; in [SUBS.BAS] Case 2 movlw 2 bsf STATUS,5 ram_bank = 1 subwf loopstate,W _set_cpage _lbl__334 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__334 F4_000389 equ $ ; in [SUBS.BAS] if audioRDY = 1 Then _set_cpage _lbl__336 btfss perictrl,5 goto _lbl__336 F4_000390 equ $ ; in [SUBS.BAS] soundIdx = index bsf STATUS,5 ram_bank = 1 movf index,W bcf STATUS,5 ram_bank = 0 movwf soundIdx F4_000391 equ $ ; in [SUBS.BAS] audioRDY = 0 bcf perictrl,5 F4_000392 equ $ ; in [SUBS.BAS] Inc loopstate bsf STATUS,5 ram_bank = 1 incf loopstate,F F4_000393 equ $ ; in [SUBS.BAS] endif _lbl__336 bcf STATUS,5 ram_bank = 0 _mjump _lbl__330 _lbl__334 F4_000394 equ $ ; in [SUBS.BAS] Case 3 movlw 3 bsf STATUS,5 ram_bank = 1 subwf loopstate,W _set_cpage _lbl__338 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__338 F4_000395 equ $ ; in [SUBS.BAS] if audioRDY = 0 Then Inc loopstate _set_cpage _lbl__340 btfsc perictrl,5 goto _lbl__340 bsf STATUS,5 ram_bank = 1 incf loopstate,F _lbl__340 bcf STATUS,5 ram_bank = 0 _mjump _lbl__330 _lbl__338 F4_000396 equ $ ; in [SUBS.BAS] Case 4 movlw 4 bsf STATUS,5 ram_bank = 1 subwf loopstate,W _set_cpage _lbl__342 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__342 F4_000397 equ $ ; in [SUBS.BAS] if index < JQ_files Then bsf STATUS,5 ram_bank = 1 movf JQ_files,W subwf index,W _set_cpage _lbl__344 bcf STATUS,5 ram_bank = 0 btfsc STATUS,0 goto _lbl__344 F4_000398 equ $ ; in [SUBS.BAS] Inc index bsf STATUS,5 ram_bank = 1 incf index,F F4_000399 equ $ ; in [SUBS.BAS] loopstate = 2 movlw 2 movwf loopstate bcf STATUS,5 ram_bank = 0 _mjump _lbl__345 _lbl__344 F4_000400 equ $ ; in [SUBS.BAS] else F4_000401 equ $ ; in [SUBS.BAS] loopstate = 0 bsf STATUS,5 ram_bank = 1 clrf loopstate F4_000402 equ $ ; in [SUBS.BAS] endif _lbl__345 bcf STATUS,5 ram_bank = 0 F4_000403 equ $ ; in [SUBS.BAS] end Select _lbl__342 _lbl__330 F4_000404 equ $ ; in [SUBS.BAS] return return F4_EOF equ $ ; SUBS.BAS init F1_000213 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug3 = 1 bsf PORTC,3 F1_000215 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Shout debug4, debug5, 1,[RCSTA, TXSTA] movlw PORTC movwf GEN movlw 4 movwf GENH movlw PORTC movwf GEN2 movlw 2 movwf GEN2H movlw 1 movwf GPR movf RCSTA,W movwf PP0 _mcall __shout_8_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movf TXSTA,W bcf STATUS,5 ram_bank = 0 movwf PP0 _mcall __shout_8_ ram_bank = 0 F1_000216 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug3 = 0 bcf PORTC,3 F1_000218 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXbuf#0 = $7E movlw 126 movwf TXbuf#0 F1_000219 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] RXcount = 0 clrf RXcount F1_000220 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXcount = 0 clrf TXcount F1_000221 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXcounter = 0 clrf TXcounter F1_000222 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] JQ_mode = 4 bsf STATUS,5 ram_bank = 1 movlw 4 movwf JQ_mode F1_000224 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub readEerprom bcf STATUS,5 ram_bank = 0 _mcall readEerprom ram_bank = 0 F1_000225 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] soundVol = 30 movlw 30 movwf soundVol F1_000226 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_digits = 5 bsf STATUS,5 ram_bank = 1 movlw 5 movwf Hd_digits F1_000227 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Leading_zero = 1 bcf STATUS,5 ram_bank = 0 bsf _B__VR2,4 F1_000228 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] VbatCount = 3 bsf STATUS,5 ram_bank = 1 clrf VbatCountH movlw 3 movwf VbatCount F1_000229 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] periRQ = 1 bcf STATUS,5 ram_bank = 0 bsf perictrl,0 F1_000231 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub enablePeri _mcall enablePeri ram_bank = 0 F1_000236 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXbuf#1 = $03 movlw 3 movwf TXbuf#1 F1_000237 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXbuf#2 = $06 movlw 6 movwf TXbuf#2 F1_000238 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXbuf#3 = 30 movlw 30 movwf TXbuf#3 F1_000239 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXbuf#4 = $EF movlw 239 movwf TXbuf#4 F1_000240 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXcount = 5 movlw 5 movwf TXcount F1_000241 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXREG = $7E movlw 126 movwf TXREG F1_000242 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXinProg = 1 bsf _B__VR1,0 F1_000243 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXdone = 0 bcf _B__VR1,1 F1_000244 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXie = 1 bsf STATUS,5 ram_bank = 1 bsf PIE1,4 F1_000246 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug3 = 1 bcf STATUS,5 ram_bank = 0 bsf PORTC,3 F1_000248 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Shout debug4, debug5, 1,[RCSTA, TXSTA] movlw PORTC movwf GEN movlw 4 movwf GENH movlw PORTC movwf GEN2 movlw 2 movwf GEN2H movlw 1 movwf GPR movf RCSTA,W movwf PP0 _mcall __shout_8_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movf TXSTA,W bcf STATUS,5 ram_bank = 0 movwf PP0 _mcall __shout_8_ ram_bank = 0 F1_000249 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug3 = 0 bcf PORTC,3 F1_000251 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GIE = 1 bsf INTCON,7 main F1_000310 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if timebase1 = 1 Then _set_cpage _lbl__347 btfss _B__VR1,3 goto _lbl__347 F1_000311 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] timebase1 = 0 bcf _B__VR1,3 F1_000312 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXcount = 5 movlw 5 movwf TXcount F1_000313 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXREG = $7E movlw 126 movwf TXREG F1_000314 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXinProg = 1 bsf _B__VR1,0 F1_000315 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXdone = 0 bcf _B__VR1,1 F1_000316 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXie = 1 bsf STATUS,5 ram_bank = 1 bsf PIE1,4 F1_000317 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Toggle debug6 movlw 1 bcf STATUS,5 ram_bank = 0 xorwf PORTC,F bsf STATUS,5 ram_bank = 1 bcf TRISC,0 F1_000318 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__347 bcf STATUS,5 ram_bank = 0 F1_000319 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug3 = 1 bsf PORTC,3 F1_000321 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Shout debug4, debug5, 1,[RCSTA, TXSTA, PIE1, PIR1, INTCON] movlw PORTC movwf GEN movlw 4 movwf GENH movlw PORTC movwf GEN2 movlw 2 movwf GEN2H movlw 1 movwf GPR movf RCSTA,W movwf PP0 _mcall __shout_8_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movf TXSTA,W bcf STATUS,5 ram_bank = 0 movwf PP0 _mcall __shout_8_ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movf PIE1,W bcf STATUS,5 ram_bank = 0 movwf PP0 _mcall __shout_8_ ram_bank = 0 movf PIR1,W movwf PP0 _mcall __shout_8_ ram_bank = 0 movf INTCON,W movwf PP0 _mcall __shout_8_ ram_bank = 0 F1_000322 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug3 = 0 bcf PORTC,3 F1_000323 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] DelayMs 1 movlw 1 _mcall __delay_ms_ ram_bank = 0 F1_000326 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] goto main _mjump main F1_000327 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] hd_pos = 0 bsf STATUS,5 ram_bank = 1 clrf hd_pos F1_000328 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_locate bcf STATUS,5 ram_bank = 0 _mcall Hd_locate ram_bank = 0 F1_000329 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_digits = 3 bsf STATUS,5 ram_bank = 1 movlw 3 movwf Hd_digits F1_000330 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_input = TXcount clrf Hd_inputH bcf STATUS,5 ram_bank = 0 movf TXcount,W bsf STATUS,5 ram_bank = 1 movwf Hd_input F1_000331 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Leading_zero = 1 bcf STATUS,5 ram_bank = 0 bsf _B__VR2,4 F1_000332 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_digit _mcall Hd_print_digit ram_bank = 0 F1_000333 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_char = "/" bsf STATUS,5 ram_bank = 1 movlw 47 movwf Hd_char F1_000334 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F1_000335 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_input = TXcounter bsf STATUS,5 ram_bank = 1 clrf Hd_inputH bcf STATUS,5 ram_bank = 0 movf TXcounter,W bsf STATUS,5 ram_bank = 1 movwf Hd_input F1_000336 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F1_000337 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] hd_pos = $40 bsf STATUS,5 ram_bank = 1 movlw 64 movwf hd_pos F1_000338 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_locate bcf STATUS,5 ram_bank = 0 _mcall Hd_locate ram_bank = 0 F1_000339 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_input = PIR1 bsf STATUS,5 ram_bank = 1 clrf Hd_inputH bcf STATUS,5 ram_bank = 0 movf PIR1,W bsf STATUS,5 ram_bank = 1 movwf Hd_input F1_000340 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F1_000341 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_char = " " bsf STATUS,5 ram_bank = 1 movlw 32 movwf Hd_char F1_000342 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F1_000343 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_input = PIE1 bsf STATUS,5 ram_bank = 1 clrf Hd_inputH movf PIE1,W movwf Hd_input F1_000344 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F1_000345 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_char = " " bsf STATUS,5 ram_bank = 1 movlw 32 movwf Hd_char F1_000346 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F1_000347 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_input = INTCON bsf STATUS,5 ram_bank = 1 clrf Hd_inputH movf INTCON,W movwf Hd_input F1_000348 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F1_000349 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] goto main _mjump main print_SM F1_000352 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if periRDY = 1 Then _set_cpage _lbl__349 btfss perictrl,1 goto _lbl__349 F1_000353 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] hd_pos = $40 bsf STATUS,5 ram_bank = 1 movlw 64 movwf hd_pos F1_000354 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_locate bcf STATUS,5 ram_bank = 0 _mcall Hd_locate ram_bank = 0 F1_000355 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_digits = 4 bsf STATUS,5 ram_bank = 1 movlw 4 movwf Hd_digits F1_000356 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_input = audioSM clrf Hd_inputH bcf STATUS,5 ram_bank = 0 movf audioSM,W bsf STATUS,5 ram_bank = 1 movwf Hd_input F1_000357 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Leading_zero = 1 bcf STATUS,5 ram_bank = 0 bsf _B__VR2,4 F1_000358 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_digit _mcall Hd_print_digit ram_bank = 0 F1_000359 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_char = " " bsf STATUS,5 ram_bank = 1 movlw 32 movwf Hd_char F1_000360 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F1_000361 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_digits = 3 bsf STATUS,5 ram_bank = 1 movlw 3 movwf Hd_digits F1_000362 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_input = soundIdx clrf Hd_inputH bcf STATUS,5 ram_bank = 0 movf soundIdx,W bsf STATUS,5 ram_bank = 1 movwf Hd_input F1_000363 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F1_000364 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_char = " " bsf STATUS,5 ram_bank = 1 movlw 32 movwf Hd_char F1_000365 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_char bcf STATUS,5 ram_bank = 0 _mcall Hd_print_char ram_bank = 0 F1_000366 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Hd_input = loopstate bsf STATUS,5 ram_bank = 1 clrf Hd_inputH movf loopstate,W movwf Hd_input F1_000367 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] GoSub Hd_print_digit bcf STATUS,5 ram_bank = 0 _mcall Hd_print_digit ram_bank = 0 F1_000368 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__349 F1_000369 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] return return keyhandler F1_000372 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if KeyRDY = 0 Then return _set_cpage _lbl__351 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfsc ADCctrl,3 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__351 return _lbl__351 F1_000373 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if keyVal >= pbval1 + pbtol Then _mjump _lbl__353 F1_000374 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if keyVal <= pbval1 - pbtol Then keys = keys | 1 bsf STATUS,5 ram_bank = 1 bsf keys,0 _lbl__355 bcf STATUS,5 ram_bank = 0 _mjump _lbl__352 F1_000375 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ElseIf keyVal >= pbval2 * pbtol Then _lbl__353 _mjump _lbl__356 F1_000376 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if keyVal <= pbval2 - pbtol Then keys = keys | 2 bsf STATUS,5 ram_bank = 1 bsf keys,1 _lbl__358 bcf STATUS,5 ram_bank = 0 _mjump _lbl__352 F1_000377 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ElseIf keyVal >= pbval3 + pbtol Then _lbl__356 _mjump _lbl__359 F1_000378 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if keyVal <= pbval3 - pbtol Then keys = keys | 3 movlw 247 bsf STATUS,5 ram_bank = 1 subwf keyVal,W _set_cpage _lbl__361 bcf STATUS,5 ram_bank = 0 btfsc STATUS,0 goto _lbl__361 movlw 3 bsf STATUS,5 ram_bank = 1 iorwf keys,F _lbl__361 bcf STATUS,5 ram_bank = 0 _mjump _lbl__352 F1_000379 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ElseIf keyVal > 250 Then _lbl__359 movlw 251 bsf STATUS,5 ram_bank = 1 subwf keyVal,W _set_cpage _lbl__362 bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__362 F1_000380 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if keys != 0 Then bsf STATUS,5 ram_bank = 1 movf keys,F _set_cpage _lbl__364 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _lbl__364 F1_000381 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if keycounter < longpress And keycounter > shortpress Then movlw 50 bsf STATUS,5 ram_bank = 1 subwf keycounter,W movlw 1 btfsc STATUS,0 movlw 0 bcf STATUS,5 ram_bank = 0 movwf SP__P9_ movlw 21 bsf STATUS,5 ram_bank = 1 subwf keycounter,W _set_cpage _cplb__5 bcf STATUS,5 ram_bank = 0 btfsc STATUS,0 goto _cplb__5 clrw btfss STATUS,2 _cplb__5 movlw 1 andwf SP__P9_,F _set_cpage _lbl__366 btfsc STATUS,2 goto _lbl__366 F1_000382 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] tmpbyte = (key & $0F) movlw 15 bsf STATUS,5 ram_bank = 1 andwf key,W bcf STATUS,5 ram_bank = 0 movwf tmpbyte F1_000383 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Dec tmpbyte decf tmpbyte,F F1_000384 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] key = 1 << tmpbyte clrf PP0H movlw 1 movwf PP0 movf tmpbyte,W _mcall __Shift__Left__ ram_bank = 0 bsf STATUS,5 ram_bank = 1 movwf key F1_000385 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__366 bcf STATUS,5 ram_bank = 0 F1_000386 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] keycounter = 0 bsf STATUS,5 ram_bank = 1 clrf keycounter F1_000387 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__364 bcf STATUS,5 ram_bank = 0 F1_000388 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__362 _lbl__352 F1_000390 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] tmpbyte = keys >> 4 bsf STATUS,5 ram_bank = 1 swapf keys,W andlw 15 bcf STATUS,5 ram_bank = 0 movwf tmpbyte F1_000391 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if tmpbyte = (keys & $0F) Then movlw 15 bsf STATUS,5 ram_bank = 1 andwf keys,W bcf STATUS,5 ram_bank = 0 clrf PBS_VAR0H movwf PBS_VAR0 movf PBS_VAR0H,F _set_cpage _lbl__368 btfss STATUS,2 goto _lbl__368 movf PBS_VAR0,W subwf tmpbyte,W _set_cpage _lbl__368 btfss STATUS,2 goto _lbl__368 F1_000392 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if keycounter <= longpress Then Inc keycounter movlw 51 bsf STATUS,5 ram_bank = 1 subwf keycounter,W _set_cpage _lbl__370 bcf STATUS,5 ram_bank = 0 btfsc STATUS,0 goto _lbl__370 bsf STATUS,5 ram_bank = 1 incf keycounter,F _lbl__370 bcf STATUS,5 ram_bank = 0 F1_000393 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if keycounter = longpress Then movlw 50 bsf STATUS,5 ram_bank = 1 subwf keycounter,W _set_cpage _lbl__372 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _lbl__372 F1_000394 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] tmpbyte = tmpbyte + 3 movlw 3 addwf tmpbyte,F F1_000395 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] key = keys | (1 << tmpbyte) clrf PP0H movlw 1 movwf PP0 movf tmpbyte,W _mcall __Shift__Left__ ram_bank = 0 movwf PP7 movf PP0H,W movwf PP7H bsf STATUS,5 ram_bank = 1 movf keys,W bcf STATUS,5 ram_bank = 0 iorwf PP7,W bsf STATUS,5 ram_bank = 1 movwf key F1_000396 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__372 bcf STATUS,5 ram_bank = 0 _mjump _lbl__373 _lbl__368 F1_000397 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] else F1_000398 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] keycounter = 0 bsf STATUS,5 ram_bank = 1 clrf keycounter F1_000399 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__373 bcf STATUS,5 ram_bank = 0 F1_000400 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] keys = keys << 4 bsf STATUS,5 ram_bank = 1 swapf keys,W andlw 240 movwf keys F1_000401 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] return bcf STATUS,5 ram_bank = 0 return UIhandler F1_000485 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] return return readEerprom F1_000488 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ampUpTime = 2500/5 movlw 1 movwf ampUpTimeH movlw 244 movwf ampUpTime F1_000489 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ampDownTime = 250/5 clrf ampDownTimeH movlw 50 movwf ampDownTime F1_000490 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] VbatCounter = VbatCount + 5 movlw 5 bsf STATUS,5 ram_bank = 1 addwf VbatCount,W movwf VbatCounter movf VbatCountH,W btfsc STATUS,0 addlw 1 movwf VbatCounterH F1_000491 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] return bcf STATUS,5 ram_bank = 0 return Isr ram_bank = 0 F1_000495 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Context Save ram_bank = 0 movlw _High__Context_Store & 0xFF movwf FSR bsf STATUS,7 movf GEN3H,W movwf INDF incf FSR,F movf GEN4,W movwf INDF incf FSR,F movf GEN4H,W movwf INDF incf FSR,F movf PBS_VAR0,W movwf INDF incf FSR,F movf PBS_VAR0H,W movwf INDF incf FSR,F movf PP0,W movwf INDF incf FSR,F movf PP0H,W movwf INDF incf FSR,F movf PP3,W movwf INDF incf FSR,F movf PP3H,W movwf INDF incf FSR,F movf PP6,W movwf INDF incf FSR,F movf PP6H,W movwf INDF incf FSR,F movf SP__P9_,W movwf INDF F1_000496 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug1 = 1 bsf PORTC,5 F1_000497 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if ADif = 1 Then _set_cpage _lbl__375 btfss PIR1,6 goto _lbl__375 F1_000498 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug2 = 1 bsf PORTC,4 F1_000499 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] DelayUs 10 movlw 6 movwf PP0 _set_cpage _idlb__376 _idlb__376 decfsz PP0,F goto _idlb__376 nop F1_000500 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug2 = 0 bcf PORTC,4 F1_000501 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] goto skipadc _mjump skipadc F1_000503 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if ADClock1 = 1 Then _set_cpage _lbl__378 bsf STATUS,5 ram_bank = 1 rlf ADCctrl,W bcf STATUS,5 ram_bank = 0 btfss STATUS,0 goto _lbl__378 F1_000504 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] keyVal = ADRESH movf ADRESH,W bsf STATUS,5 ram_bank = 1 movwf keyVal F1_000505 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] KeyRDY = 1 bsf ADCctrl,3 F1_000506 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ADClock1 = 0 bcf ADCctrl,7 bcf STATUS,5 ram_bank = 0 _mjump _lbl__377 F1_000507 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ElseIf ADClock2 = 1 Then _lbl__378 _set_cpage _lbl__379 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss ADCctrl,6 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__379 F1_000508 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ampVal.HighByte = ADRESH movf ADRESH,W bsf STATUS,5 ram_bank = 1 movwf ampValH F1_000509 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ampVal.LowByte = ADRESL movf ADRESL,W movwf ampVal F1_000510 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ADCdone = 1 bsf ADCctrl,5 F1_000511 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ADClock2 = 0 bcf ADCctrl,6 F1_000512 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__379 bcf STATUS,5 ram_bank = 0 _lbl__377 skipadc F1_000514 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ADif = 0 bcf PIR1,6 F1_000515 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__375 F1_000517 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if RXif = 1 Then _set_cpage _lbl__381 btfss PIR1,5 goto _lbl__381 F1_000518 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug2 = 1 bsf PORTC,4 F1_000519 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] DelayUs 20 movlw 20 _mcall __delay_us_ ram_bank = 0 F1_000520 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug2 = 0 bcf PORTC,4 F1_000521 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if RCSTA.2 = 1 Then _set_cpage _lbl__383 btfss RCSTA,2 goto _lbl__383 F1_000522 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] dummy = RCREG movf RCREG,W movwf dummy _mjump _lbl__384 _lbl__383 F1_000523 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] else F1_000524 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if RXcount < (RXsize-1) Then movlw 7 subwf RXcount,W _set_cpage _lbl__386 btfsc STATUS,0 goto _lbl__386 F1_000525 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Inc RXcount incf RXcount,F F1_000526 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] RXbuf[RXcount] = RCREG movf RXcount,W addlw RXbuf movwf FSR movf RCREG,W movwf INDF _mjump _lbl__387 _lbl__386 F1_000527 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] else F1_000528 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] dummy = RCREG movf RCREG,W movwf dummy F1_000529 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__387 F1_000530 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] RXdone = 0 clrf RXdone F1_000531 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__384 F1_000532 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__381 F1_000534 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if TXie = 1 Then _set_cpage _lbl__389 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfss PIE1,4 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__389 F1_000536 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if TXif = 1 Then _set_cpage _lbl__391 btfss PIR1,4 goto _lbl__391 F1_000538 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug2 = 1 bsf PORTC,4 F1_000539 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] DelayUs 30 movlw 30 _mcall __delay_us_ ram_bank = 0 F1_000540 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug2 = 0 bcf PORTC,4 F1_000541 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if TXcounter < (TXcount - 1) And TXcount > 0 Then movlw 255 addwf TXcount,W movwf PBS_VAR0 movlw 255 btfsc STATUS,0 addlw 1 movwf PBS_VAR0H movf PBS_VAR0H,F _set_cpage _cplb__6 btfss STATUS,2 goto _cplb__6 movf PBS_VAR0,W subwf TXcounter,W _set_cpage _cplb__6 btfss STATUS,0 goto _cplb__6 clrw btfss STATUS,2 _cplb__6 movlw 1 movwf SP__P9_ movf TXcount,F _set_cpage _cplb__7 btfss STATUS,2 goto _cplb__7 clrw btfss STATUS,2 _cplb__7 movlw 1 andwf SP__P9_,F _set_cpage _lbl__393 btfsc STATUS,2 goto _lbl__393 F1_000542 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Inc TXcounter incf TXcounter,F F1_000543 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXREG = TXbuf[TXcounter] movf TXcounter,W addlw TXbuf movwf FSR movf INDF,W movwf TXREG _mjump _lbl__394 _lbl__393 F1_000544 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] else F1_000545 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXdone = 1 bsf _B__VR1,1 F1_000546 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXie = 0 bsf STATUS,5 ram_bank = 1 bcf PIE1,4 F1_000547 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__394 bcf STATUS,5 ram_bank = 0 F1_000548 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TXif = 0 bcf PIR1,4 F1_000549 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__391 F1_000550 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__389 F1_000552 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if SSPif = 1 Then _set_cpage _lbl__396 btfss PIR1,3 goto _lbl__396 F1_000553 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug2 = 1 bsf PORTC,4 F1_000554 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] DelayUs 40 movlw 40 _mcall __delay_us_ ram_bank = 0 F1_000555 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug2 = 0 bcf PORTC,4 F1_000556 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] SSPif = 0 bcf PIR1,3 F1_000557 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__396 F1_000564 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if T0IF = 1 Then _set_cpage _lbl__398 btfss INTCON,2 goto _lbl__398 F1_000565 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] TMR0 = 100 movlw 100 movwf TMR0 F1_000566 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] timebase0 = 1 bsf _B__VR1,2 F1_000567 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug2 = 1 bsf PORTC,4 F1_000568 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] DelayUs 50 movlw 50 _mcall __delay_us_ ram_bank = 0 F1_000569 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug2 = 0 bcf PORTC,4 F1_000570 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Inc CT1 incf CT1,F F1_000571 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if CT1 = 50 Then movlw 50 subwf CT1,W _set_cpage _lbl__400 btfss STATUS,2 goto _lbl__400 F1_000572 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] CT1 = 0 clrf CT1 F1_000573 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] timebase1 = 1 bsf _B__VR1,3 F1_000574 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if VbatCounter > 0 Then Dec VbatCounter bsf STATUS,5 ram_bank = 1 movf VbatCounter,F _set_cpage _cplb__8 bcf STATUS,5 ram_bank = 0 btfss STATUS,2 goto _cplb__8 bsf STATUS,5 ram_bank = 1 movf VbatCounterH,F _set_cpage _lbl__402 bcf STATUS,5 ram_bank = 0 btfsc STATUS,2 goto _lbl__402 _cplb__8 ram_bank = 255 bsf STATUS,5 bcf STATUS,6 ram_bank = 1 decf VbatCounter,F incf VbatCounter,W btfsc STATUS,2 decf VbatCounterH,F _lbl__402 bcf STATUS,5 ram_bank = 0 F1_000575 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__400 F1_000578 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if CT2 = 3 Then movlw 3 subwf CT2,W _set_cpage _lbl__404 btfss STATUS,2 goto _lbl__404 F1_000579 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] if ADClock2 = 0 Then _set_cpage _lbl__406 bsf STATUS,5 ram_bank = 1 bcf STATUS,1 btfsc ADCctrl,6 bsf STATUS,1 bcf STATUS,5 ram_bank = 0 btfsc STATUS,1 goto _lbl__406 F1_000580 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ADCON1 = 0 bsf STATUS,5 ram_bank = 1 clrf ADCON1 F1_000581 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ADCON0 = %11110101 bcf STATUS,5 ram_bank = 0 movlw 245 movwf ADCON0 F1_000582 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Inc CT2 incf CT2,F F1_000583 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ADClock1 = 1 bsf STATUS,5 ram_bank = 1 bsf ADCctrl,7 F1_000584 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__406 bcf STATUS,5 ram_bank = 0 _mjump _lbl__403 F1_000585 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ElseIf CT2 = 4 Then _lbl__404 movlw 4 subwf CT2,W _set_cpage _lbl__407 btfss STATUS,2 goto _lbl__407 F1_000586 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ADCON0.1 = 1 bsf ADCON0,1 F1_000587 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] CT2 = 0 clrf CT2 _mjump _lbl__403 F1_000588 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] ElseIf CT2 < 3 Then _lbl__407 movlw 3 subwf CT2,W _set_cpage _lbl__408 btfsc STATUS,0 goto _lbl__408 F1_000589 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Inc CT2 incf CT2,F F1_000590 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__408 _lbl__403 F1_000591 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] T0IF = 0 bcf INTCON,2 F1_000592 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] endif _lbl__398 F1_000593 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] debug1 = 0 bcf PORTC,5 F1_000594 equ $ ; in [ANNOUCER VERSION ARRAY INTERRUPT.BAS] Context Restore movlw _High__Context_Store & 0xFF movwf FSR bsf STATUS,7 movf INDF,W movwf GEN3H incf FSR,F movf INDF,W movwf GEN4 incf FSR,F movf INDF,W movwf GEN4H incf FSR,F movf INDF,W movwf PBS_VAR0 incf FSR,F movf INDF,W movwf PBS_VAR0H incf FSR,F movf INDF,W movwf PP0 incf FSR,F movf INDF,W movwf PP0H incf FSR,F movf INDF,W movwf PP3 incf FSR,F movf INDF,W movwf PP3H incf FSR,F movf INDF,W movwf PP6 incf FSR,F movf INDF,W movwf PP6H incf FSR,F movf INDF,W movwf SP__P9_ movf PSAVE,W movwf PCLATH movf FSRSAVE,W movwf FSR movf SSAVE,W movwf STATUS swapf WSAVE,F swapf WSAVE,W retfie F1_EOF equ $ ; ANNOUCER VERSION ARRAY INTERRUPT.BAS _PBLB__409 _mjump _PBLB__409 ;--------------------------------------------- __eof ;--------------------------------------------- ; CONFIG FUSES __config _CONFIG1, FOSC_INTRC_NOCLKOUT&WDT_OFF&DEBUG_OFF&FCMEN_OFF&LVP_OFF&CPD_OFF&CP_OFF&PWRTE_ON&IESO_ON&BOR_ON&MCLRE_ON __config _CONFIG2, WRT_OFF&BOR4V_BOR40V end