From: "Jody" <jbruchon@nc.rr.com>
To: Linux-8086 <linux-8086@vger.kernel.org>
Subject: Re: Future of ELKS
Date: Fri, 21 May 2004 10:15:23 -0400 [thread overview]
Message-ID: <008701c43f3e$0e934030$0101a8c0@vash> (raw)
In-Reply-To: 20040521083248.GT3344@vega.vega.lgb.hu
*snip*
> Just visist www.cc65.org.
>
> It's a C compiler (OK, it does not support all of the ANSI C though) for
> 6502 CPU family like 6510 used in Commodore 64. And there IS a full
> GUI/Internet (!) enabled Operating System for C64 which is written in C,
and
> cc65 was used as C compiler for this project. This OS is named Contiki,
and
> it DOES support TCP/IP and others on an UNEXPANDED Commodore 64 (yeah,
64K
> RAM and 8bit CPU running @ ~1MHz). Just visist:
> http://www.dunkels.com/adam/contiki/ Contiki was ported to other systems
as
> well, even x86.
Contiki is certainly an example for the little guys in the computer world,
proving that we can get stuff like a primitive port of Lynx running in a
cramped memory space.
> Ok, sure, cc65 can not compile itself, but 6502 CPU is a very limited
> one compared even to 8086, the stack space is only 256 bytes, for
example.
> [so cc65 is a cross compiler]
65xx/65816 are my most favored series of CPUs, and while the '816 has no
MMU or anything, it DOES have full 24-bit addressing instructions available
(NO SEGMENTATION) and a lot of other goodies that the 65xx didn't have, and
it only had 256 instructions so I suppose you would call it a RISC 16-bit
CPU. :)
> Sorry, if this news is OT here though :)
Slightly off-topic, but of course anything discussing stuff similar to ELKS
(running modern-ish stuff on really old hardware) and the possibility of
using that to enrich ELKS would always be welcome 'off-topic' conversation
for ELKS.
> The only meaning of my mail is the fact that 8086 if far much powerfull
CPU
> than 6502, so it SHOULD BE possible to write a good C compiler for it
> which can even compile itself :) Though of course it should not be an
> amazing fact, since some (...hmm...) years ago, 8086 was new and fresh
;-)
The 8086/88's biggest limitation has to be the segmented memory model to
retain compatibility with some old CPU (8085?) and these compatibility
efforts have hindered Intel CPUs for a long time...but even then, we DO
have two advantages over 'RISC-like' CPUs such as the 65xx[x] series with
our 8086/88 CPUs:
1. CISC coding on the 80x86-series does more work with less memory
(unfortunately with more clock cycles though), thus saving us memory if we
(or our compiler) use the code very well, and
2. The 80x86 has more than 64KB of RAM, typically 256KB (our minimal
target system) and up.
Considering that we are able to save memory with a complex instruction set,
and have more memory to work with as well, I think that anyone who writes a
program (save the kernel perhaps) that uses up more than 64KB of RAM in the
first place is either A: not writing the program with memory usage in mind,
which is critical on this platform more so than the 386+ counterparts, or
B: undertaking a LEGITIMATELY LARGE task, such as an X-like GUI or a C
compiler implementation. For a minimal system of 256KB, we'll need the
core stuff (kernel, init, sh) to run in less than 128KB or so combined
(very very possible, especially with modular and optimized drivers when we
get there) and the C compiler to use around 128KB total, perhaps with some
sort of work file on a block device if it needs more space. That's what
temporary files are for, no?
Just my $0.02, let me know if any of that stuff helps anyone. I'm trying
to learn some C coding, so I can do something worth something on ELKS
instead of talking about it all the time, telling developers what direction
to go in, and saying "I'll write documentation for it but I can't yet
because it doesn't have a LILO equivalent yet..."
Jody
next prev parent reply other threads:[~2004-05-21 14:15 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-19 20:55 Future of ELKS Miguel Bolanos
2004-05-20 3:39 ` I'm in Void
2004-05-20 14:47 ` Miguel Bolanos
2004-05-20 11:42 ` Javier Sedano
2004-05-20 15:15 ` Miguel Bolanos
2004-05-20 15:37 ` Eduardo Pereira Habkost
2004-05-20 16:06 ` Andrey Romanenko
2004-05-21 5:51 ` Dan Olson
2004-05-20 17:30 ` Javier Sedano
2004-05-21 8:32 ` Gábor Lénárt
2004-05-21 14:15 ` Jody [this message]
2004-05-24 9:29 ` Gábor Lénárt
2004-05-24 18:20 ` Alan Cox
2004-05-20 23:43 ` David Given
2004-05-21 1:04 ` Stefan de Konink
2004-05-21 3:39 ` Chad Page
2004-05-29 16:58 ` Gregg C Levine
2004-05-21 5:55 ` Dan Olson
2004-05-21 6:08 ` Jody
2004-05-21 13:24 ` Eduardo Pereira Habkost
2004-05-21 16:30 ` David Given
2004-05-21 16:59 ` Michael McConnell
2004-05-22 12:12 ` David Given
2004-05-22 17:29 ` Chad Page
2004-05-21 18:38 ` Jody
2004-05-22 8:53 ` jb1
2004-05-22 17:00 ` Chad Page
2004-05-24 9:42 ` Gábor Lénárt
2004-05-20 16:54 ` Javier Sedano
2004-05-21 5:50 ` Dan Olson
2004-05-21 9:08 ` Arnaldo Carvalho de Melo
2004-05-21 10:24 ` Alan Cox
2004-05-24 12:20 ` Gábor Lénárt
-- strict thread matches above, loose matches on Subject: below --
2004-05-20 13:40 Pat Gilliland
2004-05-21 17:53 ` Miguel Bolanos
2004-05-20 20:18 Tommy McCabe
2004-05-24 13:17 BODRATO Stefano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='008701c43f3e$0e934030$0101a8c0@vash' \
--to=jbruchon@nc.rr.com \
--cc=linux-8086@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox