CAS
From Atariki
Wersja z dnia 22:42, 7 maj 2008 Lothar (Dyskusja | wkład) (lit.) ← Previous diff |
Wersja z dnia 13:34, 6 sty 2010 Krótki (Dyskusja | wkład) (wyjaśnienie że liczby są little-endian. Oraz literówki) Next diff → |
||
Linia 20: | Linia 20: | ||
|} | |} | ||
Zatem cały blok ma długość ''length''+8. | Zatem cały blok ma długość ''length''+8. | ||
+ | |||
+ | Liczby w nagłówku są zapisane w formacie ''little-endian''. | ||
Plik CAS ma następującą strukturę: najpierw blok typu "FUJI", a następnie dowolna kombinacja bloków typu "baud" i "data". | Plik CAS ma następującą strukturę: najpierw blok typu "FUJI", a następnie dowolna kombinacja bloków typu "baud" i "data". | ||
Linia 29: | Linia 31: | ||
Blok typu "FUJI" występuje tylko raz, na początku pliku. Pole ''aux'' jest ignorowane, natomiast ''data'' zawiera ciąg ASCII będący (czytelnym dla użytkownika) opisem pliku. | Blok typu "FUJI" występuje tylko raz, na początku pliku. Pole ''aux'' jest ignorowane, natomiast ''data'' zawiera ciąg ASCII będący (czytelnym dla użytkownika) opisem pliku. | ||
====baud==== | ====baud==== | ||
- | Blok typu "baud" określa częstotliwość (w bodach) następujących po nim bloków typu "data" (aż do następneg bloku "baud"). Blok ten ma długość ''length'' równą 0, a pole ''aux'' zawiera częstotliwość w formie liczby dwubajtowej (najpierw LSB). Standardowa prędkość transmisji wynosi 600 bodów i taka też wartość jest domyślnie przyjmowana przez program CAS2WAV dla bloków "data", których nie poprzedza blok "baud". | + | Blok typu "baud" określa częstotliwość (w bodach) następujących po nim bloków typu "data" (aż do następneg bloku "baud"). Blok ten ma długość ''length'' równą 0, a pole ''aux'' zawiera częstotliwość. Standardowa prędkość transmisji wynosi 600 bodów i taka też wartość jest domyślnie przyjmowana przez program CAS2WAV dla bloków "data", których nie poprzedza blok "baud". |
====data==== | ====data==== | ||
Blok typu "data" zawiera właściwe dane - pojedynczy rekord pliku taśmowego. Pole ''aux'' zawiera długość przerwy (IRG - Inter Record Gap) znajdującej się '''przed''' rekordem, a ''data'' zawiera kolejne bajty znajdujące się w rekordzie. | Blok typu "data" zawiera właściwe dane - pojedynczy rekord pliku taśmowego. Pole ''aux'' zawiera długość przerwy (IRG - Inter Record Gap) znajdującej się '''przed''' rekordem, a ''data'' zawiera kolejne bajty znajdujące się w rekordzie. | ||
- | W bloku typu "data" można przechować wyłącznie standardowe rekordy [[SIO]] (aczkolwiek moga mieć dowolną długość, nie tylko standardowe 132 bajty). W standardowym rekordzie SIO każdy bajt jest zakodowany na 10 bitach: bit startu = 0, 8 bitów danych (najpierw LSB), bit stopu = 1. Nie jest możliwe zapisanie rekordu, w środku którego zmienia się prędkość odczytu, ani żadnych innych nietypowych danych. Fromat CAS nie pozwala zatem zarchiwizować taśm zabezpieczonych przed kopiowaniem. | + | W bloku typu "data" można przechować wyłącznie standardowe rekordy [[SIO]] (aczkolwiek mogą mieć dowolną długość, nie tylko standardowe 132 bajty). W standardowym rekordzie SIO każdy bajt jest zakodowany na 10 bitach: bit startu = 0, 8 bitów danych (poczynając od najmniej znaczącego bitu), bit stopu = 1. Nie jest możliwe zapisanie rekordu, w środku którego zmienia się prędkość odczytu, ani żadnych innych nietypowych danych. Format CAS nie pozwala zatem zarchiwizować taśm zabezpieczonych przed kopiowaniem. |
==Użyteczność== | ==Użyteczność== |
Wersja z dnia 13:34, 6 sty 2010
Plik zawierający obraz taśmy z Atari. Przygotowywany jest przy pomocy programu WAV2CAS - zamiana modulacji częstotliwości WAV na postać binarną.
Analogicznie, program CAS2WAV zamienia pliki CAS na format WAV, który następnie można zapisać na kasetę.
Format CAS został zaprojektowany przez Ernesta R. Schreursa, autora pakietu WAV2CAS.
Spis treści |
Opis formatu CAS
Plik CAS składa się z bloków, z których każdy ma nagłówek długości 8 bajtów. Każdy blok ma następującą postać:
Offset | Rozmiar (bajty) | Nazwa | Znaczenie |
---|---|---|---|
0 | 4 | type | Typ bloku - 4-znakowy napis. |
4 | 2 | length | długość bloku (najpierw LSB; długość nagłówka nie wliczona) |
6 | 2 | aux | zależne od typu bloku |
8 | length | data | dane (znaczenie zależne od typu bloku) |
Zatem cały blok ma długość length+8.
Liczby w nagłówku są zapisane w formacie little-endian.
Plik CAS ma następującą strukturę: najpierw blok typu "FUJI", a następnie dowolna kombinacja bloków typu "baud" i "data".
Typy bloków
Nazwa typu bloku jest jednocześnie wartością pola type nagłówka.
FUJI
Blok typu "FUJI" występuje tylko raz, na początku pliku. Pole aux jest ignorowane, natomiast data zawiera ciąg ASCII będący (czytelnym dla użytkownika) opisem pliku.
baud
Blok typu "baud" określa częstotliwość (w bodach) następujących po nim bloków typu "data" (aż do następneg bloku "baud"). Blok ten ma długość length równą 0, a pole aux zawiera częstotliwość. Standardowa prędkość transmisji wynosi 600 bodów i taka też wartość jest domyślnie przyjmowana przez program CAS2WAV dla bloków "data", których nie poprzedza blok "baud".
data
Blok typu "data" zawiera właściwe dane - pojedynczy rekord pliku taśmowego. Pole aux zawiera długość przerwy (IRG - Inter Record Gap) znajdującej się przed rekordem, a data zawiera kolejne bajty znajdujące się w rekordzie.
W bloku typu "data" można przechować wyłącznie standardowe rekordy SIO (aczkolwiek mogą mieć dowolną długość, nie tylko standardowe 132 bajty). W standardowym rekordzie SIO każdy bajt jest zakodowany na 10 bitach: bit startu = 0, 8 bitów danych (poczynając od najmniej znaczącego bitu), bit stopu = 1. Nie jest możliwe zapisanie rekordu, w środku którego zmienia się prędkość odczytu, ani żadnych innych nietypowych danych. Format CAS nie pozwala zatem zarchiwizować taśm zabezpieczonych przed kopiowaniem.
Użyteczność
Oprócz programów WAV2CAS i CAS2WAV, format CAS jest także obsługiwany przez emulator Atari800 i pochodne, aczkolwiek wszystkie rekordy są tam wczytywane z prędkością 600 bodów (stan z wersji 2.0.3). Plik CAS można także wysłać bespośrednio do Atari za pomocą kabla SIO2PC i programu CAS2SIO/cassio, a także za pomocą SIO2USB.
Odnośniki zewnętrzne
Strona domowa Ernesta R. Schreursa - m. in. programy WAV2CAS, CAS2WAV