Czyli 'TOs MAnpulating TOol'.
(jak wiadomo najtrudniejszą częścią napisania programu jest znalezienie dla niego nazwy

)
Binarka pod win leży na
Source Forge, innosystemowcy znajdą tam źródła (wymagane minimum C++11).
Może sporo, błędów wciąż jeszcze trochę jest (nadal wyłapuję i poprawiam, pliki na SF postaram się co jakiś czas aktualizować).
Wszelkie uwagi mile widziane. A uprzedzając :
- tak, napisane jest paskudnie, miszung i groch z kapustą. Pewnie dlatego że postanowiłem w ten sposób poznać nieco STLa więc źródła to jeden wielki poligon

- nie, nie zapisuje (jeszcze) DSK dla dyskietek dwustronnych, choć plany były (jest w ogóle taka potrzeba?) ale je czyta.
Krótki help:
TOs MAnipulation TOol. v0.1
help :
-delete <tosname[.dir]> [<tosname[.dir]> ...]
Delete file(s) or folder(s) from image.
(Subfolders included. No questions asked.)
-dskscan <filename>
Shows internal structure of a dsk image.
-export [<directory>]
Extract all files from image to current or given folder.
-import <directory>
Put all files from folder into root directory of image.
(without creating TOS headers! No subfolders!)
-info
Show short info about image.
-list
List all files and folders.
-mkdir <tosname> [<tosname> ...]
Create new folder(s).
-move <tosname> <tosname>
Rename or move a file.
-new tos140 | tos140ds | tos620 | tos4 | tos4ds>
Create new image.
-open <filename.[img|dsk|edsk]>
Open an image.
-read <tosname> [<filename>]
Save a single tos file to local file.
-rename <dirname>
Change disk name.
-save
Save current image back to file.
-saveas <filename.[img|edsk|dsk|tap]>
Save current image to given file.
-sexport [<directory>]
Strip headers from all files and save them to current or given folder.
(disappointing, isn't it? ;)
-side <0|1>
Change disk side (tos140ds|tos4ds only)
-sread <tosname> [<filename>]
Strip header from a single tos file and save it to local file.
-write <filename> [<tosname>]
Wtite a single local file to image.
Nazwy:
plik/katalog w katalogu głównym - 'plik.ext' lub '0:plik.ext' , 'folder.dir' lub '0:folder.dir'
plik/katalog w folderze o id=4 - '4:plik.ext', '4:folder.dir'
Przykłady:
tomato -new tos140 -saveas empty.dsk
tomato -new tos140 -rename myimages -mkdir images -write ./img/speccy/olli.scr 1:olli -save olli.edsk
(zapisuje do katalogu o id=1, tutaj: nowo utworzony folder 'images', plik olli.scr, a później zapisuje obraz do pliku olli.dsk w formacie edsk)
tomato -open doublesided.dsk -export side_a -side 1 -export side_b
tomato -open mydisk.dsk -saveas mydisk.tap