Amstrady mają coś takiego co się nazywa XDPB, obszar pamięci w którym za pomocą kilkunastu POKE określa się sposób zapisu danych na dysku. Ostatni z tych bajtów to tzw autorozpoznawanie. Jeśli jest wyzerowany to komputer ignoruje pozostałe POKE i rozpoznaje tylko te formaty które przewidział producent kompa. A jeśli wpiszesz tam 255, to przestanie rozpoznawać domyślne formaty, a zacznie czytać tylko taki jaki mu ustawisz POKE-ami. Przy czym te parametry ustawia się osobno dla każdej ze stacji.
CPC zarówno pod Amsdosem jak i CP/M automatycznie rozpoznaje tylko trzy formaty:
DATA 178K - 1 głowica, 40 ścieżek po 9 sektorów, 512b w sektorze, minus 2KB na katalog (na zerowej ścieżce) który mieści maks 64 nazwy plików, a sektory mają numerację od &C1 do &C9.
SYSTEM 169K - od powyższego różni się tym że sektory są numerowane od &41 do &49, a dwie pierwsze ścieżki są zarezerwowane na system, przez co pojemność spada o 9K, a katalog jest na ścieżce nr 2.
Zerowa ścieżka zawiera albo CPM 2.2 albo procedurę do uruchomienia CPM 3.0 z pliku na tym dysku, albo procedurę uruchamiającą program, grę lub demo za pomocą komendy |cpm A jeśli nie zawiera nic to taki dysk nazywamy VENDOR zamiast SYSTEM, a pojemność w obu jest taka sama.
IBM - to archaiczny format z czasów gdy IBM-y były 8bitowcami korzystały ze CPMa i używały jedno-głowicowych stacji, ścieżki zawierają po 8 sektorów numerowanych od 1 do 8, pojemność 158K.
Natomiast PCW oprócz powyższych które rozpoznaje, ma własny format, 9 sektorów numerowane od 1 do 9, i jedna zastrzeżona ścieżka, z katalogiem na ścieżce pierwszej, pojemność 175K. A także gęsty format, 2 głowice i 80 ścieżek, chyba maks 128 nazw plików, innych szczegółów nie znam.
Jak łatwo skapnąć aby przenosić pliki między CPC a PCW najprościej użyć dysków DATA bo widzą go oba kompy, a ma o 9KB na stronie większą pojemność od VENDOR. Podobno te lepsze kopiery na CPC widzą także inne dyski z PCW, ale nigdy tego nie testowałem.
Przypuszczam że ten format IBM albo ten 1 głowicowy z PCW, to ten sam którego używały Keypro i Osborne, ale mogę się mylić.
ZX+3 - używa domyślnie formatu DATA, ale formatuje domyślnie o 2 ścieżki więcej, więc ma pojemność 187K. CPC potrafi je czytać nawet jak pliki są nagrane na tych dodatkowych ścieżkach, ale jeśli są puste to nie uwzględnia ich w pokazywanych wolnych KB, no chyba że wpiszemy mu dwa POKE, wyłączyć autorozpoznanie oraz zwiększamy pojemność. Basic w CPC widzi wtedy te 2 ekstra ścieżki jako dostępne, i potrafi na nich także zapisywać. Nie wiem czy +3 czyta także dyski Vendor, przypuszczam że tak.
Programiki do formatowania łatwo zmodyfikować aby formatowały na inne formaty, wystarczą dwa POKE, ilość ścieżek i numer pierwszego sektora. Przynajmniej dopóki nadal korzystamy z 9-iu sektorów po 512b, bo do innych opcji zaczynają się schody. Nie wystarczy jedno POKE by zmienić liczbę sektorów lub jego wielkość.
Nie wiem jakich formatów używa CPM w C128, albo w Juniorach. Jak chcesz zgłębić temat polecam Bajtki 11-88 s21, oraz 4-89 s22-24. W tym 2im jest o zwiększaniu pojemności dyskietek do 208K na stronę, dzięki wykorzystaniu 10 sektorów na 42 ścieżkach. Jest tam opisana większość parametrów w tym XDPB, a są tam także takie rzeczy jak odstęp czasowy pomiędzy czytaniem sektorów, który decyduje o kolejności z jaką sektory są zapisane na ścieżce. Dokładniejszy opis jest w Kernelu. A dłubiąc w XDPB można skłonić Amstrada do czytania dysków z ParaDOSa 796K albo z PC 720K. Miałem to kiedyś dokładniej opisać ale ... słomiany zapał.