Free Open-Source PC Operating System
You used to buy a computer to program.  They didn't do much else.  
LoseThos is intended for hobbiest programmers.  A working knowledge of C
programming is required.  It more or less runs on least common denominator
PC hardware without networking or the Internet.  It is retro in some
respects, having no security.  As a programmer, I like having full access
to my machine -- being able to turn-off interrupts or do direct disk block
access.  It is highly textual, so things can be scripted.  It boots fast,
and you can power-off whenever you feel like, but just don't do it during
disk writes.


  • C+ compiler (little more than C, little less than C++)
  • Assembler, Disassembler, Profiler(simple)
  • Editor with rich-text like file format used everywhere, including at
    the command line.  It's ASCII with commands bracketed in "$"
    characters like HTML. Includes color changes, blinking text,
    scrolling text, links, collapsible tree widgets, expandable hidden
    text, graphics objects, margins, indentation, page size, and more.  
  • Multitasking with option of turning-off preemption
  • No virtual memory -- flat address space based at zero.  Easy to pass
    addresses between tasks.
  • No I/O port protection
  • Direct disk block access available
  • Auto-complete typing aid known as WordStat which remembers source
    code locations of items and uses statistics to predictively complete
    words and symbols.  Build glossaries and jump to words or symbol's
    source code for items under the cursor.
  • Grep() utility with ability to find AND replace text.  Has feature
    which will only replace whole symbols--not partials.
  • Diff() utility which will prompt and merge differences from one file
    to the other

  • Change Log
  • The file is only 1.2Meg.  Burn a CD-ROM using software which
    allows creation of bootable CD-ROMs such as MagicISO.  It is a
    live CD, so you can boot to it and have access to the whole
    operating system without installing to a hard disk.  If you
    can't believe it's only 1.2 Meg, disconnect your network card!  
    I wish it had networking support.  Files with names ending in
    "Z" are compressed using a LZW technique only supported by
  • Magic ISO site

Supported Hardware:
  • 640x480 or 800x600 VGA
  • PS/2 Mouse and Keyboard (Some)
  • Hard Drive <= 120 Gig. (Some)
  • CD/DVD ROM, Read-Write (Some)
  • 1.44 Meg Floppies (Some)

Hardware Not Supported:
  • Networking, including the Internet
  • USB devices
  • Wireless keyboards and Mice
  • External Drives
The command line is like being in an editor.  LoseThos' document format
supports graphics, so you can send graphics or file-links to the command
line.  The graphics in documents (
CTRL-R) are more or less vector
graphics, as opposed to bitmap.  That is, it stores coordinates of the end
points of lines, etc instead of whole images.  Potentially, it could
facilitate resolution independence, but higher-resolutions and more colors
would take too much CPU under the current scheme.

The document file format includes ASCII followed by binary data.  Graphics
are placed in the binary portion after the ASCII portion.  They are
referenced by ASCII commands indicated by '
$' characters.  An advantage of
this approach is that file text searches (Grep) work.
LoseThos is designed for programmers.  The task (process) ID is shown in
the title bar of each window.  At the top of the screen, the "wallpaper"
shows the date, the rate video memory is being updated by the CPU and
free memory.  (Refresh is not the hardware rate of the monitor.)  The
refresh rate is scaled-back when the CPU is busy.  You can customize the
wall-paper code to display whatever you want.  The routine is in the
/LT/ADAM/WINDOWS.CPZ file and is not part of the "kernel".  It gets
recompiled automatically when you reboot.  In fact, almost everything in
/LT/ADAM and /LT/UTILS gets recompiled every boot.  (Still boots in a
couple seconds.)

Below, you can see the WordStat window showing suggestions for the word
under the cursor.
In the following, a class is defined at the command line.  Since LoseThos
is intended for programmers, the compiler retains information that
assists in debugging.  For the most part, there is no difference between
typing at the command line and
#including a script.  The command line can
be used for debugging.  A function,
ClassRep(), displays members of a
class/struct.  All commands usable at the command line can be
incorporated into your programs, so you could call
ClassRep() from within
a program.  You can even use
ExecuteString("") to compile and run text
from within a program.
The LoseThos compiler will allow running code at compile time and
inserting text into the code stream of the program being compiled.  This
is very flexible and eliminates the need for lots of compiler directives
and the
#defines normally used to change builds.

Code placed in an
exe {} block is run at compile time and any ExePrintf()
statements will output text into the code stream following the conclusion
of the
exe{} block.
In depth discussions