Re: Large amounts of text seem to cause PicForth to generate bad code
David McNab <[email protected]> Fri, 03 Dec 2004 01:53:53 +1300
| Newsgroups | gmane.comp.lang.forth.picforth |
|---|---|
| Message-ID | <[email protected]> |
There's several things that could be causing this. No idea which, unless you can post some code. One thing I could suggest is to create one word for each line, something like: : line1 c" this is the first line" type ; : line2 c" this is the second line" type ; ... That's relatively inexpensive, and might give you a way to narrow down the problem area. Also, generate the disassembly file and have a look inside to see if there's anything suspicious, such as banks or pclath not being set right. Cheers David BTW - I notice that with more recent PicForth versions, the bootloader is using 512 words of prog mem, so instead of [1]e30, sermon.fs needs to org to [1]e00. Alex Holden wrote: > I just added a 'help' word to my program which sends about ten lines of > text to 'type' (defined one at a time with c" - each line is less than > 80 characters). I didn't think there would be a problem because I have > more than enough program memory spare, but the resulting program went > completely doolally- printing garbage, killing the interrupt handler, > randomly jumping to the bootloader, etc. I cut the help text down to a > single line and everything worked fine again. Then I tried to do a > binary search to find out just how much text I could use before it went > mad, and I ended up with the compilation dying with the error message > 'Bank switch over test'. I think the amount of code has just gone over > 2Kwords (pfd.py says 2216 bytes but I think it means 2216 words), but > I'm using an 8K PIC and I've adjusted the location of sermon.fs > appropriately. Does Picforth have any known problems with including > relatively large amounts of text program? >