timex-computer.jpg (19841 bytes)

TOS
Timex Operating System

tos2.gif (792 bytes)

FDD and FDD 3000 have in his rom routine, which reads first sector of 0 track of A drive (MFM), and then run it at internal RAM (#3f00) . This allow to use ANY operating system.
Currently avaliable TOS versions are:

-TOS v2.0 : Timex Operating System

The most popular system written by Timex. It emulates (we can say so...) Microdrive. It is BASIC workground.
TOS treats RS232 as two files: CH_A.SCP is RS232 channel A and CH_B.SCP is RS232 channel B.
TOS root looks like a big disk with a maximum of four directories (drives). In TOS root a CAT * lists the SCP files and the available disks.
And all basic commands are avaliable trough *:

ATTR *, CAT *, CLOSE #*, MOVE *, DIM *, ERASE *, FORMAT *, GO SUB *, GO TO *, INPUT *#, LIST *, LIST *#, LOAD *, MERGE *, LET *, OPEN #*, PRINT *#, DRAW * and SAVE *.

For more detailed info about TOS commands please read the FDD user manual.

There are some undocumented commands and options in TOS:

NEXT *
Syntax: NEXT * pathname
Works like the PATH variable in MS-DOS, but it can only contain one path.

FORMAT * (disk)
Syntax: FORMAT * "d" TO "diskname"d
FORMAT a disk in drive "d" with the name "diskname" in 640K format. Do not use this option with a 40 tracks disk drive, it may damage the heads! This command is for use when a 80 tracks, double sided disk drive is attached to the controller.

TOS tech info:

FDD interface is done for TOS. FDD interface activating at RST 8 and disactivating at jp or call to #604. Also call, jp, rst 0 activate FDD interface.

First three tracks are taken by system, 4 for catalouge rest for data.
System is swapped. Each track have 4K. Tracks used : 40
Cluster size is 1K for 40 tr. and 4K for 80 tr.
Only first 16K is used by TOS.

Disk capacities are:
140K for SS DD 40 tr
640K for DS DD 80 tr
if using DS 40tr drive, other side is not accesed, users making switches.

Tos V2.0 Disk Architecture :

Basically i know well TOS format.

I will describe only scructure of 80 tr DD disks, because other ones (40 ss dd disks) are P.A.S.T. (tm).

The disk contain 80 tracks on 2 sides (160 logical) formatted to 16 sectors (256)  with software interlace (data is stored in 1,7,2,8,... for faster loading (no read-ahead buffer!)

The first 0-3 tracks are reserved for system (16k, 4*4096) and the next (4) track is the directory track.

The allocation cluster is the whole track, which is 4K.

Then is the 4 track, which is divided to 128 records of 32 bytes. Each record describes whole record, or only it's part. Because each record can handle only 16 allocation clusters, then when the bigger file is created, then it encourages more records. the catalogue is on allocation cluster number 0, and it is 4096 bytes long, so it simply tells us, that here is max 127 catalogue entries (which is enough).

If we will create a subdirectory, it will be ofcourse also recorded in one of the records in catalogue.

The filetype is recorded not in catalogue, but simply in 5 byte header of each file.

the record of a file in catalogue :

0 - number of subdir in which this file is
1-8 - 8 bytes of name (capitals)
9-B - extension, plus bit 7 of 9 - invisible, bit 7 of A -
W-protected.
C -  number of the next record (if the file is big)
D - number of bytes in the last sector of file
E - number of records which file takes.
F - the same as above.
10 - 1F - the allocation table, contain which allocation areas are taken by file (0 - track 4, 1- 5, tracks are 0-156, and are - once up, once down side.)

the record of a catalogue :

0-number of the subcatalogue, in which is this subcatalogue, FF for diskname
1-8 - name
9-B - ext (same as for file)
C-F - contains 0's
10 - byte which means the current subdir number(0 for diskname)
11-1F - contain 0's

The header's structure :
(header is recorded NOT on track 4, but it at start of the file!)

for basic :
0 - 0, means BASIC
1-2 - nr of startline
3-4 lenght of variables
5-6 - program lenght

for the number table :
0- 1, means - TABLE OF NUMBERS
1-2- lenght of table
3-4 - adress of table

for char table :
0- 2- means - CHAR TABLE
1-2 - lenght of table
3-4 - adress of table

for code :
0 - 3 - means CODE
1-2 - lenght of block
3-4 - adress of block.

-TOS v4.0 - by Wise Man.

This is a remake of TOS v2.0 It have compatible user interface and commands , as TOS 2.0 plus some addons, like easy acces to FDD ram, built in FOX monitor, etc.

It is software compatible with TOS v2.0

It loads from "Boot disk" to all of the FDD RAM. All the TOS commands are in the RAM, so there is no swapping. Also "start" file is in the RAM (file selector/loader) and a few of utilities, which fill rest of ram (48K) and vary due to release (eg. Tape>disk copier, disk copier, etc.) Each track have 4K, disks formatted under TOS v4.0 differ from TOS v2.0 disks (but TOS v2.0 disks are still accesible) : they have no system, they use 42 tracks, they have directory on track 0, and capacity of about 164K. Everything would be cool for upgrading TOS v2.0 to v4.0, but Wise Man didn't have 80 tr. drive, so left them unsupported.
So 80 tr. disks are unaccesible, and TOS v4.0 cannot format them.
You can still use 80 tr.drive as 40 tr. single sided drive...

Capacities :
164K for SS DD 40 tr (or 80 tr, TOS v4.0 use it as 40 tr )

This page was updated at 24-06-2001