> Dear PICsters, > I am trying to wrap my head around the paging system that the '505 uses. If > I understand correctly, the memory is banked into four arrays of around 255 > bytes each. A call from the first bank to the second or third bank seem to > wrap around the program counter or something which means the program somehow > finds its way back to bank 0 . Does anyone have some tips or can explain > this phenomena to me please? I would really appreciate it. Many thanks. > > Regards John I don't know the '505 specifically but, the banks of RAM have addresses, say from 0 to 255. Even though there are 4 banks of 256 bytes, they don't number from 0 - 1023. they number from 0-255 bank 0, 0-255 bank1, 0-255 bank 2, and 0-255 bank 3. If you do something like collect data sequentially in a buffer, starting at address 0, bank 0, eventually, the pointer will get to the 255th address. The next byte will go into address 0, bank 0 again because 1) the address counter will 'roll over' from 255 to 0, and 2) the bank # is controlled by YOU the user. Hope this helps. Tony