akpm@osdl.org Yes, I know these pages are boring. But they load faster than yours do!
A few things which I'm working on or maintaining.
The 1616 is a 68000-based personal computer which I developed in the late eighties. It ran an EPROM-based Unix-like operating system called 1616/OS. Read all about it!
CS++ is quite feature rich, mature and useful. Application development in this language is very rapid.For more information and download please see the CS++ page.
Despite all the competition, Dde remains my editor of choice. I started it no less than thirteen years ago, so the source isn't pretty. A few features have been put in by my old friend Conal Walsh.Dde is non-modal, fast, light and feature rich. The wonderfully obscure command set is originally based on WordStar (I said it was old). Once you've used Dde it's hard to go back to other editors - I guess this is why Conal ported it to WiNTendo.
Dde is terminfo-based. I have a hacked version of xvt (an xterm clone) with which Dde cooperates to give mouse-based functions.
There is a separate CS++ application (cs++tags) which generates tag files for Dde, although Exuberant-Ctags does a much better job.
Dde can be found here.
The Texas Instruments 34010 is a discontinued 32 bit CISC microprocessor with an on-board graphics engine.The 34010 is quite bizarre in that it is bit addressable: to advance a pointer by a byte you must add eight to it. When I discussed this with Richard Stallman he said that gcc would cope with it easily. He was wrong - at all levels gcc is littered with the assumption that
char *p;and
p = p + 1;char *pare equivalent.
p = (char *)((long)p + 1);This development system includes a port of gcc and g++ (2.5.8), a YACC-based assembler, a linker, an archiver, an nm equivalent, a disassembler, a download utility and various other bits and pieces.
The 34k development system may be accessed here.
This is a hard-realtime message passing kernel withand not much else.
- preemptive multitasking
- multiple priorities (round-robin within a single priority)
- timers
- dynamic memory manager
- a low-priority memory compacting task
- a cblock-based character device driver interface
It's written in C++ (g++) for the TMS34010. There's also infrastructure for the Motorola 68000, although I haven't used that for a while. This kernel should be quite portable, given that the 34010 is little-endian and the 68k is big-endian. The 68k-specific code is only 130 lines.
The realtime kernel source is in the lib/libk/ directory of the 34010 source tree, available here.