Atari LiteDOS
 for 400/800 XL/XE Atari Homecomputers
"just your basic DOS needs"

(previously known as TinyDOS)
Updated: December-2018

Why?: Just for the fun of coding for the Atari.
:-D

"E.T. phone home"


SMALL: uses only 2k, 4k more free memory !
FAST: boots in 2-3 seconds.
SIMPLE: load/copy files wasn't this easy.
COMPATIBLE: reads Atari DOS 2.0 2.5 MyDOS and other compatible disks.

Available memory BASIC and ASSEMBLER / Formatting a disk


Running RW-test / Loaded the 850-compatible R:handler / What is on this disk


 

The ESP8266 is a Wifi-module that can be used as modem to access BBSes found on the internet !
The interface I built is R-verter compatible, so the ESP8266 should work with any R-verter supporting software.
Get ESP8266 out of the box / ESP8266 driver / ESP8266 Tiny Terminal
(Rverter compatible modem)



 

(DOWNLOAD 1.08)
PLEASE LEAVE FEEDBACK
To: "mr-atari @ mr-atari . com" (remove the spaces).
No feedback, No nuts, No glory, No evolution.....

For those who want it built-in the OS, here is a beta:
(Download Atari-BIOS Rev2 with LiteDOS 1.08 and FMP)
Just boot your atari, instant LiteDOS... Hold SELECT to bypass.

(1.00 - 1.04) various bug-fixes, building from scratch...
10-8-2018 (1.05):  Added AUTORUN and supporting disk-sizes.
19-9-2018 (1.06) : Added ERASE, RENAME and Power-up "P" to the command-shell.
08-11-2018 (1.07): Fixed filename-id (no filecheck), Fixed MD-format (timeout), fixed RENAME (every first file/sector).
18-11-2018 (1.08): Fixed directory layout on larger disks to give some overlap-compatibility.

Upcoming (1.09): This will be the same version as on the 'ABBUC"-magazine.
Upcoming (2.00): Adding DD-write support... Optimizing code... Not sure when...
 

Quick manual:

LiteDOS is just like any other DOS version you know for the Atari 8 bit.
The difference is, that it is small (only 2k in size) and has no special functions (like append).
This means your programs can be 4k bigger or you can simply use more memory.
Wildcards are allowed (using * and ?).

Files can be loaded and saved like you used to.
SAVE or LIST will save files, where LOAD or ENTER will load them.
D:MYFILE.BAS is a valid file-name and wildcards are allowed (using * and ? to search for letters in the filename).
So D:MY*.???" will probably access the same file.
If your language supports the DIR command, files will be listed as usual.

To get started, just boot your LiteDOS disk as you would have done with any other DOS.

To make it this tiny, I made a lot of compromises with the OS resources.
Like sharing buffer-areas and not supporting other/special functions.
But then, what the hack, the standard user only wants to load/save his work.
The occasional IO on multiply files is still is possible, you just need to handle 1 READ- plus 1 WRITE-file at a time.
Same goes for devices C: and D: that share there resources, 1 device can be opened for READ at a time.

Please note:
*) You can not open files from C: and D: for reading at the same time, due to shared buffer-memory.
*) Reading from C: and writing to D: is no problem.
*) LiteDOS is so small, it even runs on a 8k unexpanded Atari 400/800, if you have one. ;-)
*) Reading DD-disks from other DOS-types is supported, but compatibility can be an issue, since in this mode it uses undefined/free memory as a sector-buffer.
*) Files can be read with another DOS that support the "no file-check" bit in the filename-status, like MyDOS.
    Never, never, NEVER -I say- NEVER ! try to write with another DOS. But that should be obvious.....
   (MyDOS will fuck up your disk where it should not touch it)



LiteDOS 1.0x formatter:
This tool is self supporting, no need anymore to load it from your LiteDOS-disk.
It can be run from any other DOS diskette/partition to format/init disks/partitions with LiteDOS.
During LiteINIT, you can set this disk/partition to be "Autorun".
Autorun, will effectively load/init/run the first file found in the directory up on boot/coldstart.
Upcoming:
1.09: You can select Fast or Slow WRITE (verify Off or On).
1.09: You can select Update LiteDOS only, this to upgrade your disks that have an older version installed.


You can manually set the autorun-function to ON, if needed, by changing the last byte on sector 1 to $FF.
Supported are:
-90k   810/1050/XF551 SD     [720 sectors, 24 or 8 files]
-130k 1050/XF551        MD    [1040 sectors, 24 files]
-256k  HardDrive/CF     HDD  [2048 sectors, 24 files]
-512k  HardDrive/CF     HDD  [4096 sectors, 56 files]
-1Mb  HardDrive/CF      HDD  [8192 sectors, 120 files], first 64 files can be read by other compatible DOS versions.
-2Mb  HardDrive/CF      HDD  [16384 sectors 248 files], first 64 files can be read by other compatible DOS versions.
-4Mb  HardDrive/CF      HDD  [32768 sectors, 510 files], first 64 files can be read by other compatible DOS versions.
-8Mb  HardDrive/CF      HDD  [65535 sectors, 510 files], first 64 files can be read by other compatible DOS versions.



Welcome message:
The welcome message found on sector 1 can be altered, to what ever you want to put on the screen during boot.
For instance if the autorun function is ON and you are loading a long program.
Then something like “Please wait, loading…”,$9B would be nice.
But remember not to touch the last byte of sector 1 (the autorun-flag).



850-style R:Driver:
This program will detect and download/install the driver from the 850 or compatible device.
Once the driver is downloaded, the 850 normally will disable another download request.



ESP8266/Rverter R:Driver:
The ESP8266 is a Wifi-module that can be used as modem to access BBSes found on the internet !
This is an experimental driver for my ESP8266-device, WiFi on the Atari !
The interface I built is R-verter compatible, so the ESP8266 should work with any R-verter supporting software.
The other way around, the driver is R-verter compatible, so it should work with any R-verter and compatible devices too.
It has a built-in Tiny Terminal to get cracking right away.



Get ESP8266 out of the box:
When you buy a new ESP8266 module (do not forget to use the 5volt breakout-adapter) it's on factory defaults.
One of them is doing IO with 115k2 baudrate.
Unusable for the Atari-SIO port, nor is this baudrate available on the Atari.....
So I wrote a little tool to get the ESP out of the box, resetting the baudrate down to 1200 baud.
It uses a clever trick to generate 115k2 IO for the ESP to understand.
Once run, the ESP is ready to be used as 1200 baud modem.
(To be precise, the baudrate is set to 1221 baud. There is a bug in the ESP-firmware making the module go mayhem when you set it to 1220 or less. Do NOT try this !!!)



Command-shell (a small DUP is built-in):

LiteDOS comes with a small built-in command-line, with some basic functions, frequently used.
Other functions, like Format/Init a new disk, are done with external programs.
Built-in functions are to support stuff we know as LOAD COPY DIRECTORY ERASE and RENAME.

You enter the command-shell with the DOS-command [ DOS <return> ] or boot without a cartridge/language installed.
Once in the command-shell, you get a prompt ">" in the left margin.

The command-shell is non destructive, so you can enter and leave it without loosing your work .
Of course this only is valid if you do not load or perform memory alternated commands....
But doing a DIRECTORY is completely safe. :-)

Exit the shell by simply pressing <return> at the beginning of any line.

RE-BOOT/POWER-UP (P):
If you want to re-boot/power-up, press P <return>

DIRECTORY (D):
Type <number> <return>
This will list all files on the disk, including free sectors if this is a LiteDOS disk.
Alternatively you can type <D1:*.*> or any other wildcard/knows letters to get a list of files from D1 (in this example).
So when you have a large LiteDOS or a MyDOS disk with subdirectories, typing Dx:ARIE*.* <enter>
will give a list of all files (in all directories) starting with ARIE on drive <x>
Large directories can be paused with CONTROL-1 or stopped with <BREAK>.

File-size is 3 digits in inverse video, values over 999 will be shown as +++.

Please note:
*) The DIRECTORY command will set the internal drive-ID to <x>

LOAD (L):
After you have done a directory-listing, simple navigate to the file you want to load.
Overtype the first character of the file-size with L and press <return>.
The loader will only load binary files, if the header is correct, it does not check the filename for EXE,OBJ,etc.
- Binary files are loaded and executed as the file-layout specifies.
If the file does not want to run/init, you will return to the command-shell.

Alternatively, if you (partially) know the filename and on what drive it is, you can
type L3:MYFILE.XEX or L3:MY*.* for example to load your program from drive-3.

COPY (C):
After you have done a directory-listing, simple navigate to the file you want to copy.
Overtype the first two characters of the file-size with C<x>. Where <x> is the destination drive.
This will copy the file to any LiteDOS formatted disk.
If you know the file to copy and are on the correct internal drive (source file), you can alternatively
type Cx:MYFILE.BAS. This will search and copy MYFILE.BAS from the internal drive-ID to drive <x>.

Please note:
*) The command-shell can only copy between drives.
*) You can copy from any supported DOS-type to LiteDOS.
*) You should not use wildcards, due to a bug/incompatibility, the matching letters are filled-in as "?" and used for the destination file.

ERASE (E):
After you have done a directory-listing, simple navigate to the file you want to erase.
Overtype the first character of the file-size with E and press <return>.
This will effectively free al sectors the file has in use and set the filename to deleted.

RENAME (R):
After you have done a directory-listing, simple navigate to the file you want to rename.
Overtype the first character of the file-size with R, navigate to the end of the file name and type ".NEW     OBJ." and press <return>.
Make sure the old and new name are 11 characters long, padded with SPACE using the SAME character as separator and end, DOT in this example.

 

Easy to find/load programs of which you forgot the name:
Go to the command-shell, using the DOS command.
Do a DIRECTORY of the drive, remember the name.
Press <return> to return to your cartridge/language.
Nothing is lost, your program/work is in tact.

 

I am ACTUALLY still writing this DOS-version from scratch just for the fun of coding.
If you have tips, tricks, remarks or incompatible files?
Just drop me an email (zip/attach the software you are running).
To: "mr-atari @ mr-atari . com" (remove the spaces).

 

Some notes/tips:
-The Command-Line is entered using the DOS-command (DOS <enter>).
-File-names are in 8.3 format, like D:MYFILE01.BAS
 Wildcards (using '*' and/or '?') is supported, like D:MYFILE01.??? or D:MY*.* or D:MY*.B??
-Loading from SubDirectories (MyDOS) is supported, LiteDOS will search subdirectories for the first matching file specified.