Alienthe wrote:
Links to in-depth analysis of the OS for well known 6502 machines like C64, BBC and others would probably also be interesting. Also add-ons to these can be interesting, I believe I once saw a unix-shell lookalike for Apple II OS.
Some years ago, Craig Bruce wrote a
UNIX-like shell for the Commodore 128, which I actually used for a while. The shell itself performed briskly but was hobbled by the CBM floppy disk drives. When I acquired a Lt. Kernal hard drive subsystem I no longer needed Craig's shell, as the Lt. Kernal DOS provided everything that was needed.
Quote:
I read here that 65816 is more compact in code than 68000. The latter has Linux support, how about the former?
If a port of Linux to the 65C816 exists I've yet to hear of it.
As for code compactness, that would strongly depend on the skill of the programmer. One thing that the 65C816 does have going for it is direct page addressing, which instructions are smaller than the same instructions that use absolute addressing. The MC68000 has no equivalent to direct page addressing. Other '816 assembly language features can also be used to keep code size under control, especially in cases where parameters must be passed into and out of subroutines. On the negative size, the '816 doesn't have any special opcodes for handling 16 bit register operations. One must select register sizes via the REP and SEP instructions, which does add code (and also complicates interrupt servicing).
Something else that works in the '816's favor, but isn't necessarily related to code size, is its short interrupt latency, an important feature in an operating system that uses jiffy IRQs for task preemption. The MC68000 is slow in comparison, as it has a much more complicated interrupt model. It also doesn't support the SEI -- WAI programming mode that the '816 does, which can produce single cycle interrupt response.