Hi,thanks for the quick replies, The maze is a standard micromouse 16*16 grid (=256), but the algrorithm i'm using stores a grid potential, i.e. the number of squares to be moved to get to the goal- this takes up 16*16 squares, but in between these squares I store the wall information, e.g: |Wl=255 | Pot=2 | Wall=0 | Pot=1 | Wall=0 | Pot=0 | | | | | | | | --------------------------------------------------- | | | | | | | |Unused | Wl=255| Unused | Wall=0| Unused | Wl=255| | | | | | | | --------------------------------------------------- | | | | | | | |Wl=255 | Pot=3 | Wl=255 | Pot=2 | Wall=0 | Pot=1 | | | | | | | | I realise now this isn't terribly eficient in terms of memory, but I didn't think of that when I chose to use it (ages ago!). I stored the data as integers, which means *2* bytes per square= 2178 bytes for the whole maze! What does it mean to store the data as _bits_? Is that like NESW > directions 1010 >gap or wall I think that unless I radically alter my algorithm or data storage method, I will have to use a PIC with more memory or EEPROM as suggested. Is EEPROM easy to use in a existing program, or will it require lots of rehashing of the program and new code ( I'm running out of time for my project!)? Does anyone know of any good idiot's guides to EEPROM on the web?? thanks, ---------------------- john jay298@soton.ac.uk -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics