Atari ST TOS mods/improving by PP in 2018
Overview 
 
 
I went in some serious mods, maybe rather improvements,  of TOS versions 1.04 and 1.62 . Why those versions ? Some asked why not TOS 2.06 .
There are multiple reasons for that:
TOS 2.06 can not work in ST machines without extra logic added, so not possible with simple EPROM replacement.
Earlier versions are more compatible with older SW, than 2.06 . They use less RAM.
TOS 1.04 and 1.62 are practically same, from same time period. Difference is mostly in extra STE HW support, + couple things, will be explained lower.
And nicest thing is that you can combine AES, Desktop part of 2.06 with GEMDOS part of 1.04, 1.62 - that gives best result:
good compatibility and comfort of 2.06 Desktop.  Btw. opposite - Desktop of 1.04 or 1.62 can not combine with GEMDOS of 2.06, not without serious rewrites. But who would want it - really no sense.

I planned some improvements in TOS for long time - like FAT improvement, Virtual Floppy. Some came just during work on it - when I seen things which can be solved better.
I did diverse ones. Some are simple, some were really lot of work.

Most important is that all it did not increase ROM code size, despite added features. Contrary - code size is now lower, without removing anything, what gives space for some new features, patches.

List of changes, done so far. And that will be all for this year or more, I'm pretty sure.

1.  Better FAT16 filesystem - in English: real BigDOS compatible hard disk partition support, what can handle DOS FAT16 partitions up to 1GB, with even less RAM usage of driver SW than for TOS or DOS/TOS compatible partitions. That was hardest update. Took some 2 months.

2. Improved AUTO run - if there is exec with extension TOS in AUTO folder, will not waste RAM space  reserved for AES - so, more RAM for APP .  Done for 1.04 , easy to add to 1.62 and combined versions. Simpler update.

3. Fixing crash with displaying very long file sizes in txt view.  AES part fix  - done for 1.04 and 1.62 .

4. TOS code optimisation:
    With optimisations GEMDOS part is shorter some 4 KB,  AES part is shorter about 2 KB.  So, 6 KB less so far.
   This part is extremely important - shorter code gives space for more add-ons, for more combinations.

5.   Reorganized section order:  Originally some GEMDOS and AES parts are not in normal order, from unknown reason. I put them in order, what makes changes easier.

6.  Optimising 2 RSC - for AES and Desktop, and DESKTOP.INF usage:

  Version A:  pack all 3 together, depack in RAM when needed.
  It saves 10 KB space in ROM .

  Version B:  static parts unpacked in ROM, in RAM goes only
  what changes. And that is packed too.
  6.3 KB saved in ROM, 6 KB less RAM usage .
 This was hard part too.

 So, ROM code can be shorter 16 KB (v A), or 12 KB (v B) (calculating with other saves from above too), but there is 6 KB  more free RAM with B. As said, making it shorter is very useful.

7. Long stackframe CPU support for TOS 1.04
 For accelerators with 68020/30 on STs .
  Universal code, so works with 68000 too.
  Needs however AES without line-F, so I used AES from 1.62 - which is longer  some 8 KB.
  Still, over 4KB free. And 6KB more free RAM.

8. Virtual Floppy and Raw Image system
  This could be most useful feature, especially for people with broken floppy drives, bad floppy disks. Of course, only for owners of some mass storage. Now Flash card based ones are most popular.
  Since everything is stored on mass storage, it doesn't need extra RAM. Virtual floppy can be of very large size - like 30 MB, so can place there content of many floppies.
  Gaming support: it can run even games, basically what works with Floppy Image Runner, will work with this too. However, here is support for image changes 'on fly', and Raw Image Access feature, what makes possible running even those hard disk adapted games, but with only 512KB in machine, saves from games can work too . And all it even faster.

9. New Desktop icons
  Drive, Folder, Trash, Doc, Exec/Runnable

 picolr.png
 If you don't like them, it is not mandatory :-)  Design suggestions welcome.

10. Autoboot for IDE hard disks (rather CF cards now)
Standard IDE adapter support, and on request autoboot for ACSI-CF adapter

11. Some useful info after reset - TOS version, boot stage, TOS v. shown in Desktop Info (instead useless 'all rights'
And there will be possibility to change refresh rate too.

12. Changes in TOS header & extra info block
New TOS version numbers will be used, like 1.05 for 1.04 with improved FAT16.
Extra info block is necessary for Raw Image Access, but I will add there something what TOS coders should do long time ago:
locations of input reading variables - what will make SW to read input in simpler way.


Main versions planned for distribution:

1.05 - TOS 1.04 with improved FAT16 (1) and Virtual Floppy (8) + other smaller mods. For ST, Mega ST machines.

1.63 - TOS 1.62 with improved FAT16 (1) and Virtual Floppy (8) + other smaller mods. For STE, may work on Mega STEs too.

1.56 - TOS 1.04 with Desktop of 2.06 . May be with (1) too and other changes. For ST, Mega ST (needs extra ROM logic), Mega STE .

1.66 - TOS 1.62 with Desktop of 2.06 . May be with (1) too and other changes. For STE, Mega STE .

Then:

1.43 - TOS 1.04 for accelerators with 68020/30 CPU. May be with (1) too and other changes. For ST, Mega ST .

Diverse combinations are possible. Language:  for start, only UK versions are done. It is easy to change them to US versions. Other languages may be problem, especially in case of 1.43 .  Will I deal with it depends from interest. This is really very time consuming.

Availability:  right now I can ship 1.05, 1.63, 1.56, 1.66 .   1.43 needs more testing. UK versions. There is need to finish Virtual Floppy supporting SW yet.
That SW is complex, and should be user friendly. But it is next step, instead adding more changes to TOS self.
Prices:  will depend from prices of available EPROM chips, needed count - usually 2 chips, but for older ST will need 6 chips. Shipping costs. From size of EPROMS :

Very important: switchable TOS v.:
I recommend to everyone to go on switchable, multi TOS solution. Capacities of EPROMs are such, that can fit 4 diverse TOS versions in 2 chips.
So, can have for instance: org 2.06, 1.63, 1.66 , + some with mixed features ... - for Mega STE, STE .  Or 1.05, 1.56, 2.06 + mixed for ST machines.
That will ensure best SW compatibility and option to use much better Desktop pf 2.06 .




    PP,  Jan.- June 2018.