This is a transcription of my original outline for what became known as RETRO. It dates back to August or September 1998. I planned on having everything but the virtual machine done by 1999. Yeah right :) It's March 2000 and I haven't done half the stuff on this list. The goals haven't changed much, though... I set aside a few things: encryption, security, parallel processing, and the *-windows inspired GUI. Forth-based OS -------------- Startup - read kernel, protected mode Forth interpreter Load block file w/ basic words Assembler Important traits ---------------- Fast Simple/efficient Integrated encryption Secure from viruses & intrusion Ease of use (once learned) Shared memory "Fresh start" - no old baggage Projects -------- 1. Boot loader 2. Startup code (get BIOS info, enter protected mode, etc...) 3. I/O (direct screen writes + keyboard input + disk block I/O) 4. Basic Forth system (a few core words + disk blocks) 5. Simple assembler to create primitive words (only a few asm instructions) + Cleanup, p-mode, block editor, metacompiler --- Now development can be done within the new OS 6. Flest out Forth 7. Filesystem (using Forth block routines)(?) Add hard disk support now? 8. Write basic system utilities - file/text handling 9. Multi-tasking / Multiuser / multithreading / Parallel (F*F) --- Now it's usable 10. Write applications (editor, communications...) 11. GUI (or whatever) - must be easy (and still powerful) 12. Other languages (like C) - Forth-style 13. Highly accurate 386+ virtual machine (capable of running Linux & Win.NT) (running partly in kernel for efficiency) + other emulators - 68k, etc. 14. Networking (TCP/IP, PPP, etc...) + browser, email, telnet, FTP, etc. 15. CAD 16. Internationalization - fonts for other languages, ex.: Chinese, Nagari, Arabic, Hebrew. Translate Forth words. GUI --- Full keyboard control (mouse is mainly for drawing, ie, CAD & Paint) Configurable keys Efficient window-switching (F-keys, not Alt-Tab) Keys for full-screen/window/iconify Switching etween graphics & textmode & resolution/color depth Ability to run console programs in a window (by rasterizing fonts instead of the video card doing it) Focus sharing? (keyboard control of multiple windows at once) Building it ----------- Enter/exit graphics mode, horiz/vert lines Fonts/textwin-graphics, console terminal (memory-mapped), TTY terminal Dialog management routines