03-28-2019, 08:38 AM
Cesc Wrote:Well, at the end I managed (reading the documentation) to make the code start at 24200 with the -ORG command when compiling, then when I load the data that I want to be starting at 0xC000 i put the asm org 0xC000 and at the end of this loading stuff code I return with another ORG command to the memory adress the code wat before that moment (checking memory.txt and recompiling) so I finally managed to keep everything under 0xC000 except the specific data I want. I haven't tried bank changing yet, but I think that is a good start!As answered above, it's for managing strings (i.e. a$ = b$ + c$). If you use PRINT "A" you might not need it. But if you use a$ = "XXX": PRINT a$ you will.
Also, the problem was the heap, that was overlaping some data from 0xC000; I changed ir to 1024 because now that I start the program at 24200 I have enough space, but in fact, I have no idea what is the heap for. Something related to strings? Cause all the text I show on the game is printed char by char, reading from memory, no strings. Do I nead a heap at all? What is the minimmum or recomendable size?
Also, about printing chars each by each... Is there a faster alternative to print available?
Thanks and sorry for spreading many topics around!
For small strings, like in your case, a 256 bytes heap is more than enough.