Hi all. I'm working on a project where I'd like to store a long sequence of "steps" in program memory. These would be set at compile time, I'm not using the self programming features of the chip. I've done this in the past, but I recall that things didn't work exactly as I'd expected, so I'm looking to verify that my expectations were accurate. For my current project, there will be 4 (or possibly 7) bytes per step, and 255 steps. That's a minimum of 1024 bytes in memory, which should be fine, I have plenty left over. I'd like to be able to maximize the space, and here's where I start to need help. Last time I did a memory table it was for converting a digit to a pattern for display on a seven segment LED. This was pretty easy as there were only 10 works that I wanted to store. I did it like this: -- LEDTable code_pack ; Data table to convert BCD to 7 segment, with some additions db b'00111111' ; 0 db b'00000110' ; 1 db b'01011011' ; 2 db b'01001111' ; 3 db b'01100110' ; 4 -- I was able to read this just fine using the TBLRD* command. Not too bad for a few entries, but for over 1000, I'd like to avoid having to give each their own line. I remember trying this method: -- db b'00111111',b'00000110', b'01011011', b'01001111', ; 0, 1, 2,= 3 -- And having it fail. This might have been before I learned about code_pack though. So in theory, should I be able to use the "on one line" method shown above? I'd like to do a separate line for each step, then have the 4 (or 7 entries) on each line. Alternatively I might go for 4 separate blocks, so that I can use the same index and add it to 4 different bases to get the values. Thoughts? Thank you! Josh --=20 A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. =A0 =A0 =A0 =A0 -Douglas Adams --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .