[Coco] UltiMusE SOURCE CODE to be released

Roger Taylor rtaylor at bayou.com
Thu Feb 3 01:48:34 EST 2005


>Roger, you understand the memory management tricks (a la Projector) about  as
>well as I do.  But I'd be glad to explain them to anyone seriously  working
>on them.  Just converting the C code to assembler, as described  above, would
>preserve the existing "soowie"* technology, by whihc one 
>subroutine  module can
>call another such module via the "mother ship".


I recall most of the conversations we had years ago about this 
subject.  Ume is more advanced than Projector-3's tricks, but I do know 
exactly what you are talking about.  Ofcourse, with 512k or more of RAM, 
most of which is just sitting there in Disk BASIC, you can put a lot of 
memory management tricks to use, much beyond what OS-9 Level II utilizes.

One good trick for overgrown programs is to separate all of your code into 
8k modules.  Make your main program as small as possible, within reason, 
and use the extra 64k space for your code modules and data modules.  You 
can switch data in and out the same way and do great things.  I like the 
idea of modules switching in other modules before calling a procedure in 
the other module.  You can really make a very large program run in a very 
small space.  Well, RAM, that is.  The modules do take up disk space.  :)

Projector-3 uses hard-origin modules that get loaded at 49152 and 57344 
like ROMs.  P-3 uses a lot of global variables (common to all modules of 
the program), but it also uses a lot of local data to each module to save 
memory and to also allow changes to be made to a module without having to 
rebuild the entire program.


-- 
Roger Taylor




More information about the Coco mailing list