i have pulled out option 2 for the display , and the touchscreen interface and support at this point , , a cutdown version of the graphics lib , to just support 240x64 display , all to save space.

and that will be added back for that version of the unit

the code is always in subroutines and i have made a lot of common called routines for support in each modual

There is seperate program for the loading and coding of the serial flash for the all fonts / strings / graphic symbols / event dephalts / menus system configuration / events menus /options / record data ,
only fonts that need to be in the main code area are.

the fact is the project has gotton bigger/ features added as it progressed , but the cpu space is limited

regardless of those type of code changes and they are on going , i wont be able to find a lot more space without removing features , or get a lot better at coding what is needed , ( always plays its part)

a new board will be designed , as this one was the prototype , and although i will use it as the first version for product testing / feedback , a lot of features will need to be shelved till i have more code space to allow for them ,

but in the end i need to have those features and some future expansion options ,

so i am looking at those now , as any new board would need to have those options , and thus the thought of adding a 2nd cpu

how to do it ???

when i say duplication of code its more to do with overhead when moving say the matrix keyboard over to the 2nd cpu, but the graphics modull / support is on cpu 1

most menus/ rf selection etc are displayed based on key pressed so code " if key x then do a lot of shit in cpu1 and use those varables in cpu1 , "
so moving the code that gets the key value is of little size moved to cpu2 , a small space saving on cpu1

but the all the varables , subroutines for hardware it calls as result need to be then sent as requests to cpu1 ,

so i cant really move all the keyboard menu statements / actions as they relate to hardware/ variables in cpu1 without a very large change on both cpu1 code for most of it would need to be copied over to cpu2 in the form of requests to cpu1.

and thats just moving the keyboard , i am looking at the other hardware items , but i most cases it not an easy task to isolate them as other parts of code do use them , and any parts that are moved to cpu 2 need to be coded to the cpu1 and 2 interface varables , which in tern duplicates the variables on both cpu's , which is no real space improvement ;(

This how i thinking of it at the moment ?