From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Given Subject: Re: Future of ELKS Date: Fri, 21 May 2004 00:43:02 +0100 Sender: linux-8086-owner@vger.kernel.org Message-ID: <40AD4286.1090801@cowlark.com> References: <1084985870.3062.23.camel@talena.hsol.net> <40AC99A5.9030809@agora-2000.com> <1085066127.3062.35.camel@talena.hsol.net> <20040520153744.GL24490@duckman.distro.conectiva> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20040520153744.GL24490@duckman.distro.conectiva> List-Id: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: linux-8086@vger.kernel.org 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.