Yes i know... look how your program flow...

it goes to Disp1 or Disp2.. then it return to Loop... knowing that SW1 can't something else than 0 or 1.. it will never execute the IF SW4 = lines.

I would suggest to use GOSUB and RETURN for a quick fix.. and be careful with LCDOUT $FE,1 line in DISP3 & DISP4 routines...

Still possible to use another method...