This is the start of the future codebase for RETRO Native Forth. It builds on the solid RETRO5 codebase, so it's pretty easy to learn. Much has changed though. The number of primitives is dropping rapidly, and nearly everything is being coded in Forth. This should help to improve reliability and make RETRO more flexible.


Key Principles
1) Use less assembly code
  a) Write most code in Forth
  b) Just low-level drivers and a minimal Forth in assembly
  c) Support other languages as needed
2) Use few loops/flow control
  a) Retro currently has no words for looping
  b) Know the possible outcomes and respond manually
  c) Only the inner system should use loops (if possible)
3) Interface
  a) Simple
    2) basic Forth console
    3) Rune Console (with split screens, sessions, sidebar)
  b) Clean
    1) No bloat
    2) Written by hand in assembly and Forth
    3) Good color/font choices
  c) Keyboard Control


The primary goal is to keep within Retro's Philosophy (A simpler alternative for those willing to make a clean break with legacy software). Along the way, we also want to implement Tom Novelli's ideals as expressed in his conclusions from his work on Retro (interface, management of programs), but keeping the legacy Unix-inspired areas out. Retro will be a clean, efficient operating system, redesigned as needed to be cruft-free and fast.

What's done?
1) Core Forth primitives
2) Interpreter/Compiler
3) Minimal Assembler
4) Implementing increasing amounts of code in Forth
5) Block Editor
6) VGA graphics
7) Initial port to Linux
   a) Textmode
   b) Works great!

What's left?
1) Nearly everything
2) Improved drawing
3) Factored code
4) Applications
  a) Block editor is mostly complete. It works well, but SAVE and LOAD are still needed
5) Interface Design
  a) This is being worked on
6) Drivers
  a) We'll use Common Driver Inititive code
  b) Port all existing RETRO drivers to CDI
7) Translate to other languages
  a) RETRO5 keymaps can be used
  b) Still need fonts
8) Improved console subsystem
  a) Being worked on
  b) This is a part of #5