Fansler, David wrote: > Mathew - I think your trouble is in these subroutines - I have > modified them > - > InitPortA > BSF STATUS,RP0 ; Select bank 1 > MOVLW 0 ; Clears w register > MOVWF TRISA ; Set port a as outputs > BCF STATUS,RP0 ; Select page 0 > MOVWF PORTA > RETURN > >;--------------------------------------------------------------------- > InitPortB > BSF STATUS,RP0 ; Select bank 1 > MOVLW 255 ; > movwf TRISB ; Set port a as outputs > bcf STATUS,RP0 ; Select page 0 > RETURN Better yet, and might as well learn early: InitPortA MOVLW 0 ; Clears w register TRIS PORTA ; Set port a as outputs MOVWF PORTA RETURN >;--------------------------------------------------------------------- InitPortB MOVLW 255 ; TRIS PORTB ; Set port b as inputs RETURN This fixes the "Bank" message, but you get another, bizarre and incorrect one. Add: ERRORLEVEL -224 to the start of the program and it's fixed. If not, ERRORLEVEL -305 -- Cheers, Paul B.