TinyDOS 1.0
8-May-2018

(just your basic DOS needs)
For 400/800 and XL/XE Atari Homecomputers

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

 

TinyDOS

Atari 400 or 600XL                  Atari 800 or 800XL                  DUP-menu (needs 8k)

 

TinyDOS in GAME-MODE

Atari 400 or 600XL                  Atari 800 or 800XL                  DUP-menu (needs 8k)

 

MyDOS (reference)

Atari 400 or 600XL                  Atari 800 or 800XL                  DUP-menu (needs 48k)



(DOWNLOAD BETA#1 -removed-)
...because Beta#2 is almost [player one ready]...
BETA-USERS: PLEASE LEAVE FEEDBACK

 

I am ACTUALLY still writing this TinyDOS-/TinyDUP-/GameDOS-combo from scratch just for the fun of coding.
But 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:
-TinyDUP is entered using the DOS-command
-File-names are in 8.3 format, like D:MYFILE01.BAS
-Loading from SubDirectories (MyDOS) is supported, like LOAD"D:SUBDIR.001:MYFILE01.BAS"
-TinyDUP has no FORMAT-function (yet), so use the downloaded BETA as your copy/paste-template
-hold SHIFT until the welcome-screen, to enter GameDOS-mode
-There are no XIO-functions implied (yet), nor is the STATUS-command


Current status (working on BETA #2):
-GameDOS, 3 pages of RAM (Read Only)
-TinyDOS, 7 pages of RAM (Full Access)
-TinyDUP, 4 pages of RAM (Just your basic DOS-tools)
-Loading from various DOS formats goes just fine (Any DOS that uses VTOC-sectors 360-368)
-Added access to SUB-directories (MyDOS)
-Added 2 file access (1 read, 1 write)
-Added DOS-command, this loads TinyDOS
-Adding TinyDUP, Just your basic DUP functions (like DIR, LOAD, DELETE, RENAME, COPY, FORMAT etc)
-Added TinyDUP functions; DIRectory LOAd CARtridge BASic
-Added "No TinyDOS found !" - boot error
-Added FileSize (AnyDOS) and FreeSectors (TinyDOS)
-Changed VTOC from 256 bit to 512 bit, effectively increasing the maximum number of files to 512

Advantages:
FAST:
-Boots in just a few seconds
SMALL:
-Runs on any Atari Homecomputer with 8k minimum
-At least 4k more usable memory (compared to other DOS types)
-On average 5-10% more diskspace (compared to other DOS types on standard 810 or 1050 diskdrives)
COMPATIBLE:
-Reads AtariDOS 1.0 2.0 and 2.5
-Reads MyDOS and its SUB-Directories.
-Reads AnyDOS version using VTOC-sectors 360-368
-Reads SD and DD disks
-Writes to a TinyDOS-formatted disk
 

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.
 

TinyDOS can even be loaded as a "GameDOS", reducing size to about half......
I have implemented the SHIFT key for this, you need to hold it down when booting.
 

;-------------------------------------------------------------------
; TINYDOS SOURCE CODE (C) MR-ATARI 2018
;-------------------------------------------------------------------
; GAME DOS, SIZE 768b (GOAL), $0700-$0A00, 3 PAGES
; TINY DOS, SIZE 1.5k (GOAL), $0700-$0D00, 6 PAGES
; TINY DUP, SIZE 1.0k (GOAL), $1800-$1C00, 4 PAGES
;
; SUPPORT LOAD/SAVE/LIST/ENTER ETC CALLED BY USERS
; SUPPORT BINARY LOAD/EXECUTE (COMMAND-LINE)
;
; COMPATIBLE WITH ANYDOS USING VTOC-SECTORS 360-368 AND SUB-DIRECTORIES
;
; TO INCREASE SUPPORT OF LARGER DISKS, CLUSTERS OF 2 SECTORS MINIMUM ARE USED
; TO MINIMIZE MEMORY USAGE IT USES/SHARES THE CASSETTE BUFFER FOR IO
; TO SUPPORT MORE/LESS FILES, VTOC-SIZE IS LINKED TO CLUSTER-SIZE
;
; MAXIMUM OPEN FILES :    2 (1 READ, 1 WRITE)
; SPECIAL FUNCTIONS :     NONE (YET)
; MAXIMUM FILES ON DISK : 24-512 (DEPENDING ON DISK SIZE)
; CLUSTER SIZE :          256b-16k (DEPENDING ON DISK SIZE)
; MAXIMUM DISK SIZE :     16 Mb
; DENSITY SUPPORT :       SD / DD (READING DD CAN BE NOT COMPATIBLE WITH RUNNING SOFTWARE)
; OS-SUPPORT :            400/800 AND XL/XE
;-------------------------------------------------------------------