[Coco] OS9 Level I - Clock issue?

William Astle lost at l-w.ca
Mon Dec 28 14:37:17 EST 2015

On 2015-12-28 12:26, Gene Heskett wrote:
> You are right William, as its been 18 years since I was last kicking that
> codes tires.
> However, I will stand by my comments re the reason for the loss of system
> ram compared to about Nitros9-v-1.17 when I could do anything I wanted
> with my machine.  Conditional assembly, pulling in ONLY what that user
> needs to run HIS hardware, should have been the direction development
> went.  Sure, modules are nice, but each one we have to link to eats 32
> bytes of system ram.

No argument there.

It would also run faster since there would be no need for extra 
subroutine calls.

You could even take it a few steps further and make the entire kernel 
monolithic with conditional assembly. Then the kernel could be position 
dependent and would probably run faster due to fewer subroutine calls. 
Also, while code size doesn't suffer too badly for position independent 
code, cycle counts do (LBSR is slower than JSR, for instance. Likewise 
for LEAr SYM,PCR vs LDr #SYM). For heavily executed code paths, that 
makes a real difference.

Of course, if you want to provide a system where people can pick and 
choose between pre-built modules to support this or that hardware, the 
"module for everything" method is pretty much where it's at. You either 
need to do like OS9 does or you have to do runtime dynamic linking. The 
OS9 method needs less overhead.

More information about the Coco mailing list