Below, a SBCC186-RevC single board computer. This was developed during
mid-90's by some Italian ham-radio people.
I plan to put ELKS on it. Please check also my page
about ELKS and Turbo C.
Below, the SBCC186 features (i.e.: the reasons why I want to
use ELKS on it):
- a 16MHz Intel 80c186 processor (8086-compatible but with some '286-style
instructions) with internal timers and interrupt logic;
- from 16 to 128k EPROM;
- from 32 to 768k RAM;
- one or two double-channel Zilog 85c30 (up to four serial channels);
- one Intel 82c55 parallel port interface (three 8-bit ports for I/O);
- dual port RAM support;
- some other little features not listed here.
ELKS is a funny thing. Someone may think that is a sort of DOS
(or -maybe- Linux) substitute for old machines.
Well: why ELKS instead of DOS? I would answer:
- multitasking (DOS would require rewriting of applications). This is
already done in ELKS. DOS style was "an application using, for
code and data, all remaining memory"; ELKS allows at least "small
(upto 64k+64k) applications running concurrently". This is great for
embedded machines, for learning how to program, and a lot of other things...
- sockets, tcp/ip, etc (DOS has no standard tcpip libs, no sockets,
indecent pipe support, etc). This is still in development. A "slow"
modem (14400) can be easily fitted also on a slow machine with a slow
RS232 port. A simple server (http, telnet, etc) on a serial port
doesn't always need a P4/2666 machine...! Think of an embedded system
in your pocket. Or a ham-radio task like a KISS packet-radio router.
Or a lightweight wearable computer. Or a home devices controller
working 24h for your washing machine, alarm system, and lights and
other (shut down the TV system if you got asleep while watching a
catch match). Or a data-collector in the garage that you query from
home or office using an old 2400 baud modem...
- shared libs (DOS has no standard shared-libs support). This has been
at least announced somewhere. I think it will require some hard work,
and it'll be hardly feasible for floppydrive-only systems. This will
be needed only on systems with lots of executable files. A filesystem
with only few dozens binaries does not need great shared lib support.
- ROMable kernel (very hard to do with MS/PCDOS), still in development.
Great for embedded machines, but maybe useful also for experimenting
something for more fun (diskless XT motherboards, single-applications
boards, etc). A friend of mine planned to use an old XT motherboard in
his car to control lights, speed, etc (to get statistics on a little
screen), and (perhaps) a serial-driven GPS. The hard part wasn't the
power supply, but the floppy drives to get at least 500k read-only
storage for DOS and applications! Yes, he needs an ELKS eprom!
- native long filenames, and different filesystems (DOS would require
extra drivers and hard work; actual DOS existing applications can't -
or shouldn't - use long filenames). And, even more important, you can
develop and test on a Linux platform...!
- '286 machines finally will become true multitasking - the expanded
memory of a classic 1Mb RAM 286 machine was always used only as disk
cache... and 2Mb RAM 286 machines were of too little use with a
"windowed" system (remember that those "operating" systems, after
years and years, still have their bluescreens and bugs!! remember that
the most common multitasker, DESQview, worked only in "8086 real
- finally, a software environment where experiment and learn.
If you need a system with decent security, go get a 4Mb 386 machine
with Linux. But if you want to play with assembler routines and old DOS
sources, you're welcome :-)
You get tcp/ip and multitasking and much more on a machine with
limited memory and almost no security check...! A nice toy, yes, but
very nice. Let's see if you can implement an SQL engine on a 256k
machine. Let's see if you are able to get to IRC with it. Let's see
how many relais and sensors you can control and packetize data towards
your home/office tcp/ip network...
Oh, well, these are only some initial ideas. If you think ELKS is
"only" a "Linux for 8086", you are probably censoring the fun part
(great part!) of its applications range... :-)
- continua (next page)