On Wed, 7 Jun 2006, Phillip wrote: > Why would you write data to the program memory bus but not program memory > its self?.....unless there was device on the program memory bus that needed > the data other than program memory? > If I look at the block diagram I don't even see a connection to the outside > world. On larger PICs (I believe only the 80-pin devices), the program memory bus goes to the outside world. You could hang, e.g., a RAM on it. > I thought/assumed (most likely incorrectly) that what was this function i.e. > memmoveram2pgm (and the other similar functions) did underneath was to do > TABLE reads and writes to program memory. > If you step into the function with the debugger it looks like that is what > it is doing (but I can't really tell for certain what it is doing in there > exactly) > I can't figure what these functions are for unless they do this? Yes, they do writes to the program memory bus with table write instructions. However, writing to internal program memory requires more than just table writes as this is a "dangerous" feature. And program memory doesn't support writing a single byte. > Technically speaking program memory is the EEPROM?......ummm right??? > I thought I only had access to a portion of it. > In this case a 18F6520 I have access/ ability to read/write to 1024 bytes on > one end? The 1024 bytes of EEPROM is not part of the program memory, and don't live on the program memory bus. It is accessed differently, and is byte addressable. I don't believe C18 has any built-in functions to access it. -- John W. Temples, III -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist