CAS

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
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ć:

Opis bloku CAS
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

Personal tools