1

helou

taka mam potrzebe, ze chetnie bym odebral od kogos kto sie zdoktoryzowal w temacie zapisu magnetofonowego atari (normal i turbo 2000) wiedze na temat tego, jak to dziala, dlaczego dziala badz nie dziala, i jak poprawic gdy nie dziala. jestem gotow wynagrodzic rzeczonego doktora nauk, no bo wiadomo, czas i przygotowanie.

pytania ktore mnie nurtuja, a na ktore chcialbym m.in. znac odpowiedzi:

1. dlaczego przy kilkukronie wiekszym upakowaniu danych programy w turbo 2000 wczytywaly sie w zasadzie zawsze bez bledow, a wczytanie programu w normalu to byla czesto loteria,
2. a wiec: co konkretnie szkodzi przy wczytywaniu programu, no bo nie ze ktos tupnie czy drzwi otworzy (po wyrwaniu nogi mucha traci sluch)
3. w jaki sposob radzic sobie z problematycznymi nagraniami, zeby dalo sie je odczytac. jak ustawiac parametry zgrywania do .wav, co tam potem poprawiac ewentualnie zeby bylo lepiej i dlaczego.
4. dlaczego zgrane do .wav nagrania, odtworzone potem z kompa do magnetofonu przez adapter jack-kaseta wczytuja sie co do zasady (o ile nagranie jest nieuszkodzone), a nagrane i odtwarzane w takich samych warunkach nagrania turbo 2000 nie wczytuja sie wcale?
5. jak skutecznie konwertowac takie .wavy do casow (tzw. cyryl i jego metody).

byc moze jest wiecej chetnych zainteresowanych tematem i mozna wrecz zrobic jakies szkolenie bardziej grupowe, oczywiscie pod warunkiem, ze znajda sie wykladowcy.

--
= krap.pl =

2

W standardzie się nie wczytywały bo jest błąd w procedurze odczytu w OS. Ktoś z naszych to odkrył. Nie pamiętam kto i na szybko nie znajdę wątku. Na poprawkę nie ma miejsca w ROM i itp.
Resztę zostawiam dla lepiej zorientowanych.

3 Ostatnio edytowany przez mono (2019-05-12 23:28:28)

Błąd w procedurach OS-a jest opisany przez Krótkiego tu: http://www.atari.org.pl/forum/viewtopic.php?id=9188

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

4

1 i 2.
a) Zapis turbo działa na zupełnie innej zasadzie (PWM) niż normal (FSK). Modulacja PWM jest znacznie prostsza, więc bardziej niezawodna, sygnał jest w znacznie mniejszym stopniu przetwarzany przez magnetofon i w mniejszym stopniu zależy od jakości elektroniki.
b) tak jak napisał mono - bezpośredni związek z bugiem w OS. Procedury odczytu turbo są od niego niezależne.
c) pośredni związek z bugiem w OS - przy pewnych szczególnych prędkościach bug manifestuje się znacznie cześciej
d) pośredni związek z bugiem w OS - przy pewnych szczególnych odstępach pomiędzy blokami danych bug manifestuje się znacznie częściej - tak jak by następowała swoista synchronizacja sygnału z taśmy z wyświetlaniem obrazu, tzn. odstęp pomiędzy ostatnim bitem poprzedniego bloku i pierwszym następnego potęguje efekt do tego stopnia, że błąd może występować zawsze w tym samym miejscu nagrania
e) sposób działania Pokeya - według dokumentacji Pokey potrafi odczytywać dane z prędkością do 5% większą niż aktualnie ustawiona, nie ma słowa o odczytywaniu z prędkością niższą niż aktualnie ustawiona. W związku z tym są pewne szczególne graniczne wartości prędkości, przy których najmniejsze wahnięcie obrotów magnetofonu w dół (czy rozciągnięcie taśmy itp.) może powodować błąd; może się też zdarzać, że obliczana prędkość transmisji jest kwalifikowana do błędnego przedziału i Pokey jest programowany na prędkość wyższą niż powinien być (taka łagodniejsza wersja buga w OS). Nawet 1 baud różnicy w prędkości transmisji może mieć znaczenie. Natomiast zapis turbo nie korzysta ze sprzętowej obsługi transmisji Pokeya, jest od tego niezależny.
3.
a) w normalu - po zgraniu przekonwertować na .hex, w edytorze tekstowym pousuwać śmieci, ustawić modelową prędkość transmisji (594-595 baud, źródła podają równe 600). Po poprawkach przekonwertować na wav. Nawet wtedy będzie od czasu do czasu występował błąd związany z bugiem w OS.
b) w turbo - istotne jest dobre ustawienie skosu głowicy przy zgrywaniu, zwykle trzeba ustawić tak, żeby sygnał był najsilniejszy, jeszcze istotniejsze jest, żeby kształt fali był jak najbardziej zbliżony do fali prostokątnej (choć w przypadku większości nagrań będzie bardziej podobny do sinusa), dobrze też jeżeli amplitudy wąskich i szerokich impulsów są do siebie zbliżone. Prędkość przesuwu taśmy jest dość istotna, bo większość systemów turbo (w tym turbo 2000) nie ma programowej kompensacji zmian prędkości (nie pamiętam teraz, czy poza Blizzardem jakiś system turbo ma - no jest jeszcze Sistema Injektor, ale to jeszcze inny rodzaj zapisu).
c) turbo - po zgraniu przekonwertować na hex, w edytorze tekstowym pousuwać śmieci, poustawiać odpowiednie szerokości impulsów itp. Po poprawkach przekonwertować na wav.
4.
a) W przypadku turbo i adapterów bardzo ważna jest siła sygnału - nie może być ani za mała, ani za duża. Trzeba dobrać eksperymentalnie. Zwykle lepiej ustawić ciszej niż dla normal.
b) Dla wielu systemów turbo istotna jest polaryzacja sygnału, tzn. czy impuls zaczyna się od zbocza narastającego czy opadającego. Nie pamiętam w tej chwili na pewno, ale Turbo 2000 chyba powinno być od tego w jakimś stopniu niezależne, natomiast odwrócenie polaryzacji może w każdym przypadku i tak pomóc lub zaszkodzić. Dość ważna jest szerokość ostatniego półimpulsu przed pierwszym impulsem synchronizującym, która to połówka ma tendencję do bycia skróconą i rozpoznawaną jako pierwsza połowa impulsu synchronizującego. Jak nagranie się nie wczytuje, to warto w edytorze audio spróbować zrobić inwersję sygnału. Polaryzacja może się zmieniać w wielu miejscach (przy zgrywaniu, przy odtwarzaniu z komputera, w adapterze kasetowym, w magnetofonie Atari...)
c) w pewnym stopniu ważna jest prędkość przesuwu taśmy przy zgrywaniu, co za tym idzie wynikowa szerokość impulsów.
5.
a) http://a8cas.sourceforge.net/ (tylko normal, bo a8cas-convert obsługujący turbo mam chyba tylko ja, nie upubliczniałem bo nie dokończyłem przeróbek)
b) http://www.arus.net.pl/FUJI/a8cas-util/ (normal i turbo, tylko pod linuksa)

P.S. Część moich twierdzeń jest wydedukowana na podstawie obserwacji i nie potwierdzona badaniami ;).

5 Ostatnio edytowany przez seban (2019-05-13 10:36:56)

krap napisał/a:

1. dlaczego przy kilkukronie wiekszym upakowaniu danych programy w turbo 2000 wczytywaly sie w zasadzie zawsze bez bledow, a wczytanie programu w normalu to byla czesto loteria,

Standardowy format zapisu danych używany w przypadku Atari to właściwie transmisja szeregowa plus modulacja częstotliwościowa (FSK)... taki format zapis danych jest bardzo wrażliwy na wszelakie odchyłki od prędkości narzuconej przez prędkość odbioru danych narzuconą przez Baud Rate Generator (BRG)... co prawda procedury obsługujące jak i format danych zostały niby przystosowane do kompensacji odchyłek, np. pomiar aktualnej prędkości danych na podstawie bajtów transmitowanych na początku każdego nagłówka rekordu, a potem korekcję prędkości BRG... do kompletu podział na krótkie rekordy danych... jednak jak pokazał praktyka przy mizernej jakości magnetofonów wszystkie te pomysły były niewystarczające... dodatkowo demodulator FSK zastosowany w przypadku standardowych magnetofonów Atari nie jest szczytem możliwości rozwiązań technicznych dostępnych w tamtym okresie (znowu cięcie kosztów) .... a to powoduje że niewielkie już zniekształcenie sygnału zapisanego na taśmie powoduje przekłamanie w odczycie transmitowanych danych.

Systemy turbo stosują nieco inną zasadę zapisu... nazwaną "modulacją szerokości impulsu" (ang. PWM - Pulse Width Modulation) i można się spierać że to koniec końców dość podobne do FSK, ale założenia teoretycznie i realizacja sprzętowa inna, np. w przypadku odczytu nie mamy tutaj sprzętowego dekodera który decyduje czy to do niego wchodzi na wejściu jest aktualnie transmitowaną "1" czy też "0". Wszystkie systemy turbo swoją konstrukcją sprowadzają się do jednego... do zrealizowania wzmacniacza o dużym wzmocnieniu który będzie mógł przetworzyć zapisany na taśmie sygnał postać zero-jedynkową... potem ten strumień danych jest już przetwarzany "programowo" ... decyzję o tym czy przychodzące impulsy traktować jakoś 0 czy 1 podejmuje kawałek programu mierząc czas trwania poszczególnych impulsów... tutaj oczywiście programista miał pełną dowolność co do wyboru metody kodowania poszczególnych stanów, a także co bardzo ważne... miał dużą swobodę co do wyboru tolerancji długości impulsów... z mojego doświadczenia z systemem Turbo 2000, wynika że autor rozwiązania przyjął bardzo dużą tolerancję systemu na odchyłki dotyczące długości czasu poszczególnych impulsów określających "0", "1" czy sygnał pilotujący.

Moje XC12 w pewnym okresie zaliczyło przysłowiową glebę, przez co skrzywieniu uległa ośka do której dociskana jest taśma, efekt był taki że następowała ogromna nieliniowość przesuwu taśmy, oczywiście zapis i odczyt w "standardzie" okazał się niemożliwy... natomiast odczyt/zapis w przypadku turbo 2000 nadal przebiegał bez problemów, nawet pomimo wyraźnie słyszalnego (i widocznego) nierównomiernego przesuwu taśmy.

Ponieważ na warsztacie mam teraz trochę magnetofonów od kolegi uicr0Bee i zacząłem walkę z innymi systemami turbo, to mogę powiedzieć że systemy turbo która zakładają mniejsze tolerancje i oczekują wyższej liniowości przesuwu taśmy, czy też oczekują wyższego pasma które można zapisać na taśmie dany magnetofon są również bardzo kapryśne i wczytanie części programów staje się nie lada wyczynem, a szczególnie tych które były zapisane dawno, dawno temu. Czy to Blizzard, czy to TurboROM nie wypadają już tak różowo jeżeli chodzi o stabilność pracy. Magnetofon musi być naprawdę w dobrym stanie aby te systemy działały sprawnie i bezproblemowo.

No i do tego wszystkiego błąd w OS-ROM, o którym napisano już wyżej. Czy zatem standard FSK jest gorszy od PWM? Trudno mi to oceniać, ale uważam że doskonałym przykładem że FSK może być równie skuteczne był system Turbo 2600. Ten system pokazuje że dało się skonstruować stabilnie działający demodulator FSK, oraz napisać całkiem poprawnie działające procedury odczytu i zapisu. System ten niestety nie przyjął się, a złożyło się pewnie na to kilka faktów... całe oprogramowanie siedziało pod OS-ROM, w już w tamtych czasach gdy promowano to rozwiązanie w "Radiokomputerze"... duża część oprogramowania ładowała się również w ten obszar, uniemożliwiając poprawną pracę tychże programów z systemem. Nie wiem czemu autorzy rozwiązania nie zaproponowali czegoś w rodzaju loaderów, czy mini Kasetowego Systemu Operacyjnego ładowanego na dół pamięci. Wydaje mi się ze autorzy systemu bardzo chcieli w tamtym czasie chronić swoją "własność intelektualną" i chronili dostęp do informacji o działaniu ich systemu i ograniczali wszelaką wiedze o nim, co przyczyniło się do jego upadku. Interfejs do tegoż systemu były ponoć dostępne w "składnicy harcerskiej" w Warszawie, jednak nie udało mi się nigdy takiego interface kupić. Używając magnetofonu szpulowego M2404S i zew. interfejsu udało mi się natomiast bez problemu uzyskiwać prędkości transmisji na poziomie 1300bd. (przy przesuwie taśmy 19,05cm/s)

6

bue, forum zezarlo mi przydlugiego posta w odpowiedzi. no ale executive summary, poprobuje jeszcze z a8cas-utilem, wydaje sie miec znacznie wiecej niz wav2cas, z ktorego uzycia efekty (.cas) sa gorsze niz proby wczytywnia z oryginalnego .wav. a tych jego .hexow nie umim edytowac.
pytanie dodatkowe - obecnie uzywam takiego do zgrywania: https://allegro.pl/oferta/magnetofon-pr … 7712733707 (wyjsciem sluchawkowym do line-in na kompie i audacity). jest sens przelozyc sie na jakis starszy, ale bardziej firmowy deck, typu: https://allegro.pl/oferta/magnetofon-un … 8092439020 czy to niespecjalnie ma znaczenie?

--
= krap.pl =

7

FUJI napisał/a:

a) w normalu - po zgraniu przekonwertować na .hex, w edytorze tekstowym pousuwać śmieci, ustawić modelową prędkość transmisji (594-595 baud, źródła podają równe 600). Po poprawkach przekonwertować na wav. Nawet wtedy będzie od czasu do czasu występował błąd związany z bugiem w OS.

a jeszcze - troche wiecej na temat 'pousuwac smieci'? w sensie tak jak krowie na rowie?
i co jezeli mamy rekord ktory zczytal sie jako 'bad' (mam poki co doswiadczenie tylko z wav2cas i jego hexem. czy jakos moge obrobic ten .wav, z ktorego konwertuje, zeby to poprawic?

FUJI napisał/a:

b) w turbo - istotne jest dobre ustawienie skosu głowicy przy zgrywaniu, zwykle trzeba ustawić tak, żeby sygnał był najsilniejszy, jeszcze istotniejsze jest, żeby kształt fali był jak najbardziej zbliżony do fali prostokątnej (choć w przypadku większości nagrań będzie bardziej podobny do sinusa), dobrze też jeżeli amplitudy wąskich i szerokich impulsów są do siebie zbliżone. Prędkość przesuwu taśmy jest dość istotna, bo większość systemów turbo (w tym turbo 2000) nie ma programowej kompensacji zmian prędkości

czyli rozumiem, ze glowica krecic tak, zeby przy takich samych ustawieniach byla najwieksza amplituda sygnalu, tak?
troche mam wewnetrzne opory, no bo w atari przeciez nigdy sie nie krecilo glowica i dzialalo, to w swiecie commodore srubokret byl niezbednym wyposazeniem posiadacza magnetofonu, u nas po prostu dzialalo. ;)

a jezeli chodzi o predkosc, to przy odtwarzaniu .wava z powrotem do magnetu turbo staralem sie dobierac rozna predkosc odtwarzania z audacity, tak zeby paski byly mozliwie najbardziej podobne do oryginalu, ale to rowniez nie przynioslo rezultatu niestety.

--
= krap.pl =

8

2. Na jakość odczytu w normalu też wpływa ustawienie głowicy,  nawet jest bardziej czuły na kręcenie głowicą (ćwierć obrotu +-) niż w Turbo Blizzardze (tu czasem jeden obrót nie szkodził), no i w normalu nie było programów do ustawiania głowic (a by się przydał). Przekonałem się o tym jak kupowałem kasety z Avalonu.
Kilkukrotne próby aby się dała gra wczytać, aż wpadłem na pomysł pokręcenie głowicą i polepszyło się (tak na 99%)
2. Czy problem jest na kasetach nagranych u kogoś ?(giełda itp). Kilka kaset które dostałem miały gry które zawsze wchodziły oraz takie które nigdy (jedna miała licznik rekordów do wczytania błąd często w tym samym miejscu 002 od końca). Przydałby się kopier-analizer, który pokazywał na każdym bloku prędkość i jaki rodzaj błędu się zdarza (tych programów z T.A. "100%" itd nie sprawdzałem bo już byłem wtedy w erze turbo).

9

krap napisał/a:

(...)wiecej niz wav2cas(...)

Starusieńki wav2cas działa tylko dla nagrań w dobrym stanie, lepiej używać tych narzędzi, które wymieniłem. Pierwsze z nich dla nagrań w normalu jest prostsze w użyciu i daje podobne rezultaty co drugie.

krap napisał/a:

(...)a tych jego .hexow nie umim edytowac(...)
a jeszcze - troche wiecej na temat 'pousuwac smieci'?

Przecież to czytelny plik tekstowy.
Dla pliku w normalu (bez zabezpieczeń) powinny zostać tylko linie:

A8CAS-HEX
FUJI nazwa programu
baud 00595
data xxxxx xx xx xx .... xx ; stan sumy konrolnej i inne
data xxxxx xx xx xx .... xx ; stan sumy konrolnej i inne
...

xxxxx przy pierwszym rekordzie każdej części (np. loader i główny program) powinno być około 20000, przy kolejnych około 00267. Sumy kontrolne powinny być OK a nie BAD.
Jeżeli wyjdzie błędna suma kontrolna, to trzeba albo przy dekodowaniu spróbować dodać jakieś opcje (dla a8cas-util najczęściej pomaga manipulacja opcją --resistor - próbowac wartości 0.01-0.04 lub mniejsze, albo 0.1-0.2), albo zgrać jeszcze raz, albo w edytorze audio poprawić jakość sygnału (wzmocnić, odszumić), a w najgorszych przypadkach analizować .wav bit po bicie i poprawiać ręcznie. W audacity dobrze też narysować sobie widmo fragmentu nagrania (w środku bloku danych), Analiza-narysuj widmo. Powinny się pojawić dwa szczyty w okolicach 4000Hz i 5200Hz (inne zignorować). Jeżeli prędkość przesuwu taśmy jest zła i wyjdzie np. 3500Hz i 4700Hz, to albo trzeba podnieśc prędkość w edytorze audio, albo przy dekodowaniu (a8cas-util) podać wartości z wykresu (np. --space 3500 --mark 4700).

krap napisał/a:

w atari przeciez nigdy sie nie krecilo glowica

Jak się nie miało turbo to się nie kręciło. Przy turbo się kręciło jak w świecie commodore.
Jak napisałem - generalnie kręcić tak, żeby sygnał był najsilniejszy, ale trzeba patrzeć, czy np. nie wychodzą tylko silne impulsy szerokie, a wąskie bardzo słabe, wtedy próbować przestawić tak, żeby były równiejsze. Jeśli chodzi o głośność to raczej się starać nie przesterować, tak, żeby nie obcinało wierzchołków fali. Chociaż dla turbo czasem przesterowanie pomaga poprawić błędy.
Najlepiej by było to na obrazkach pokazać, ale musiał bym do tego usiąść na chwilę...

krap napisał/a:

(...)tak zeby paski byly mozliwie najbardziej podobne do oryginalu(...)

No niestety gołym okiem pojedynczych złych bitów z pasków się nie wyłapie, nawet jak paski wyglądają dobrze.
Próbowałeś odwrócić polaryzację ? W audacity: efekty-odwróć (effects-invert). Próbowałeś zmieniać głośność przy odtwarzaniu  ?
Jak byś udostępnił nagranie, to mogę je zbadać.

Magnetofony - dla  zgrywania w zasadzie nie ma wielkiego znaczenia, czy magnetofon jest z niższej czy z wyższej półki. Zgrałem trochę kaset na starym, rozklekotanym walkmanie i było też ok. Częstotliwość próbkowania wystarczy 44100 lub 48000, więcej rzadko się przydaje.