Bruce,

I tried the idea of replacing the asm routine with a basic one; pared the program down to just the ini and setup stuff and a display routine. Two versions, one all PBP and the other with the asm block.

Now... I really feel stupid, the all basic one will not run, the other works just fine. So before I can actually try your idea I now have to figure out what I am doing wrong with the ini code in basic. ( and just in case everyone is wondering at this point... yes, I did write the asm block)

I have included both below so that anyone who wants ( after they get up off the floor from laughing) can point out my mistake if they would.

hope I got the code formatting command right so it is easy to read.

Robert

[code]
'************************************************* ***************
' MCU Setup - inline assembly block *
'************************************************* ***************
INIMCU:
asm
bsf STATUS,RP0 ; Select Bank 1

movlw 07h ; turn off comparators
movwf CMCON0

movlw 0xEC ; set A<5,1,0> as digital I/O
movwf ANSEL ; A<3:2> and E<2:0> as analog

movlw 0xFF ; set A<7:0> input; (A<3:2> analog; A<7:4,1:0> digital)
movwf TRISA

movlw 50h ; set A2D Clock 10h:Fosc/8 50h:Fosc/16
movwf ADCON1

movlw 00h ; set PORTB as outputs
movwf TRISB

movlw 0xF8 ; set PORTC C<7:3> as inputs; C<2:0> as outputs
movwf TRISC

movlw 0x00 ; set PORTD as inputs
movwf TRISD

movlw 0Fh ; set PORTE as inputs
movwf TRISE

bcf STATUS,RP0 ; Select Bank 2
bsf STATUS,RP1 ;

clrf LCDCON ; Disable VLCD<3:1>
; inputs on RC<2:0>

bcf STATUS,RP0 ; Select Bank 0
bcf STATUS,RP1
endasm
return



'******************************
' MCU Setup - PBP
'******************************
INIMCU:
CMCON0 = 7
ANSEL = $EC
TRISA = $FF
ADCON1 = $50
TRISB = 0
TRISC = $F8
TRISD = 0
TRISE = $0F
LCDCON = 0
return

[\code]