On Sun, Jul 5, 2009 at 10:29 PM, <silverdr@wfmh.org.pl> wrote: > due to memory limitations, I shall have to use some "overlaying" to load the > required code from disk on demand. Now I start wondering what would be the > best method to do this. Of course I can do everything "by hand" in assembler > but I would prefer to use some of the smart cc65 features if possible. I > shall need at least two things: > > 1. Free the RAM occupied by the startup initialisation routines (mine, not > CC65's) as those won't be needed after setting things up. > > I would like to place those next to a larger data buffer, so that once the > code is no longer needed, I would get a continuous memory chunk for the data > buffer. I guess this can be done with a smart linker instructions. > > 2. Load appropriate "drivers" on demand into a static address space. > > The "drivers" would all implement the same "protocol" (as it is called in > Obj-C), i. e. a set of routines serving the same purpose but varying in > implementation of course, probably with a jump table at the beginning. This sounds familiar to the project that I have been playing with lately. In order to have as much ram as possible available, I replaced the kernal with my ULoad IRQ loader, a custom keyboard scanner and console output, and then a barebones crt0.s. I have a small kickstart program that initializes the IRQ loader, leaving the resident loader code at the top of ram, and then loads the main program (overwriting the init code). It's not exactly what you want, but maybe close enough? Send me a mail off the list if you're interested in a copy. ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo@musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.Received on Mon Jul 6 23:16:37 2009
This archive was generated by hypermail 2.1.8 : 2009-07-06 23:16:39 CEST