[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