I am using uV2 V2.40a with the Silicon Labs C8051F120 processor ... I can't make a program larger that 64K and the chip will take 128K ... the device description has 128K but the project options only seem to allow 64K
what do I need to do to get access to the full 128K?
The 8051 has a 64KB program store address space. You need to build a load that uses code banking to have program code in excess of 64KB.
See section 16 of the C8051F120 manual, where it discusses the SFLE and COBANK registers. This chip uses the scheme where the 64KB address space is divided into two 32KB banks, and the upper bannk is swapped to different physical locations.
Also, read the Keil documentation and app notes on banking, particularly
http://www.keil.com/support/man/docs/lx51/lx51_codebanking.htm http://www.keil.com/support/docs/158.htm http://www.keil.com/support/docs/1059.htm