Re: Future of ELKS

David Given
2004-05-20T23:43:02Z

Eduardo Pereira Habkost wrote:
[...]
> 1. Create a good development environment that runs on elks (we don't
> have it). This environment will have all limitations that the 8086
> hardware will impose to us
> 2. Make elks build using it
>
> IMHO, this would be almost impossible.

Well... no!

People these days are used to very big computers. You don't realise just
what's possible in a small amount of space. The granddaddy of Unix
systems, the PDP11 [*], was a 64kB-64kB I/D system. Sound familiar?
That's exactly the same as what's supported by ELKS.

As for compilers... well, I have a full ANSI C compiler that runs on
CP/M. It runs in 64kB of memory shared between code and data and it'll
generate moderately decent Z80 code. If that's possible, then a
self-hosted ANSI C compiler for ELKS is certainly possible.

The problem is *finding* one... compilers are expensive technology, and
there's only a few open-source compilers around. Most of them are pretty
large. ELKS' current compiler, bcc, is a well-hacked version of Minix's
compiler. It only supports K&R, with a nasty preprocessor that converts
ANSI to K&R, but it will run self-hosted on Minix so it should run on
ELKS, too.

And a development environment is not that complicated. All you need is
to be able to run make, the compiler front end, and the compiler back
end, concurrently. Add in init and that makes four processes. If each
one of these uses its maximum of 128kB of memory that means it'll need
512kB of memory. That's pushing it on a 640kB system, what with the
kernel and system workspace in there, but manageable. On a 286 with a
real MMU it's easy.

If Minix can do it, with its slow and inefficient microkernel, ELKS can
certainly do it.

[...]
> Hey, someone know if a 8086 is fast enough run emulators for those old
> 8-bit game consoles? 8)

Nah. A 4.77MHz 8086 does not get a lot of work done. Say you want to
emulate a 2MHz 6502, such as the BBC Micro... this means you have about
two and a half cycles to emulate each 6502 cycle. Just not possible.

[*] Or maybe the PDP7. I always get the two confused.

--
dg@cowlark.com --- http://www.cowlark.com
My other account has a real signature.