Transfer danych z taśmy C64 na PC
do wykorzystania w emulatorze

Tadeusz Kasza
Tadeusz_Kasza@klub.chip.pl

Wstęp

Każdy użytkownik emulatora zapewne stanął przed problemem przeniesienia swoich ulubionych programów z rzeczywistej maszyny (w tym przypadku C64) do PC. Pół biedy, jeśli są to najpopularniejsze gry czy użytki - można je znaleźć w Sieci. Ale co ma zrobić użytkownik, który ma mnóstwo programów swojego autorstwa? Trzeba je jakoś przenieść. Mając stację dysków (1541) można ją podłączyć za pomocą specjalnie spreparowanego kabla do portu równoległego PC i za pomocą programu wyglądającego jak wszystkim znany NC zwyczajnie skopiować - nie jest to specjalnie trudne...

A co ma zrobić mniej zasobny w gotówkę posiadacz C64 z magnetofonem? Przeczytać dalszą część tego artykułu.

Hardware czyli sprzęt

Potrzebny jest przede wszystkim komputer PC wyposażony w kartę dźwiękową umożliwiającą nagrywanie. Wystarczy zapis 8 bitowy i (teoretycznie) 22kHz, więc nawet właściciele klonów GUSa i innych staruszków mogą czytać niniejszy artykuł dalej. Ja wykorzystałem SBLive! Value. Posiadacze tych kart muszą zwrócić szczególną uwagę w pewnym momencie procedury przenoszenia danych (opcja reverse). Niezbędny jest też dowolny odtwarzacz kaset (magnetofon lub walkman). Może być, a nawet wskazany jest monofoniczny. Ja skorzystałem z mocno rozregulowanego magnetofonu o dźwięcznej nazwie "Finezja" (M 536 SD stereo hifi). No i żeby zagrało, konieczny jest kabelek łączący PC z magnetofonem. Od strony PC prawie na pewno jest to 3,5 mm jack stereo. Od strony magnetofonu - różnie. Może to być złącze DIN 5 lub 3 stykowe, może to być 2 x cinch a jeśli wykorzystamy walkmana będzie to również 3,5mm jack. Nie będziemy się rozwodzić nad zrobieniem odpowiedniego kabla, gdyż każdy, nawet mało zdolny elektryk, takowy kabelek jest w stanie zrobić w kilka minut. Każdy wie jak podłączyć jack lub cinch. Wyprowadzenia wtyczki DIN podaję tutaj.

Uwaga dla posiadaczy sprzętu stereo: Wskazane jest zrobienie kabla MONOFONICZNEGO jeśli mamy magnetofon/walkman stereo. Można to zrealizować np. przez zwarcie w kablu kanałów lewego i prawego lub fizyczne odłączenie jednego z nich. Jest to spowodowane tym, że sygnał na kasecie z C64 jest monofoniczny i nasza stereofoniczna głowica może (ale nie musi) wprowadzać dodatkowe przesłuchy między kanałami, prowadzące do zniekształcenia naszego cyfrowego sygnału. Zwarcie kanałów jak i odłączenie jednego z nich nie zlikwiduje przesłuchów ale nie będzie prowadzić do dalszych zniekształceń w mikserze karty dźwiękowej.

Uwaga!
Zwarcie jednego (lub obydwu) kanałów do masy może uszkodzić sprzęt (magnetofon i kartę dźwiękową)!!! Przed podłączeniem trzy razy sprawdź poprawność połączeń!!!

Software czyli oprogramowanie

Jako system operacyjny wykorzystamy dowolny, 32bitowy Windows (9x/Me/NT). Sam proces nagrywania można w zasadzie zrealizować systemowym Rejestratorem Dźwięku, jednak nie należy on do najwygodniejszych w obsłudze. Ja skorzystałem z programu CoolEdit2000, ponieważ pokazuje on wykres amplitudy całego nagrania oraz posiada monitoring bieżącego poziomu sygnału, co się przydaje przy ustawianiu skosu głowicy (o ile będzie to konieczne). Do ukończenia dzieła będzie niezbędny program, który zamieni nasze nagrane "piski" na plik binarny, strawny dla emulatora. Program zwie się TAPE64 (34kB).

Aaannd.... ACTION! Podłączamy sprzęt

Uruchamiamy mikser karty dźwiękowej. Jako wejście wybieramy LINE-IN i ustawiamy czułość - dla bezpieczeństwa - na ok 60%. Włączamy nasze głośniki i jako wyjście również ustawiamy LINE-IN, żeby mieć podsłuch co w danej chwili leci do PC.
Wkładamy kasetę z ulubionym wykonawcą (Elvis Presley... :-)) i .... PLAY. Powinniśmy usłyszeć w głośnikach to, co jest na kasecie. Jeśli nie - coś mamy nie tak...

1) Źle poustawiany mixer (zajrzyj tutaj)
2) Źle zrobiony kabel (a pisałem: trzy razy sprawdź... :-))
3) Uszkodzony magnetofon. :-(

Jeśli już mamy podsłuch, możemy poeksperymentować: większość kart ma w mikserze regulację niskie-wysokie czy np. Live! ma możliwość pobawienia się w tworzenie pogłosów różnych pomieszczeń (ciekawie brzmi w małym pokoiku efekt Concert Hall...). Jak już się pobawimy i opanujemy mixer, uruchamiamy nasz program nagrywający (np. CE2000) i nagrywamy na próbę kawałek naszego ulubieńca...

Poziom sygnału bliski max Gdy już opanowaliśmy nagrywanie, przychodzi czas na włożenie do naszego odtwarzacza kasety z C64. Play. Jeśli wszystko idzie dobrze, powinniśmy na monitorze poziomu sygnału mieć w miarę stały poziom bliski maksimum (ale nie przekraczający go - jak na rysunku) . Jeśli jest mniej to zwiększamy czułość (poziom zapisu) w mikserze karty. Jeśli mimo wszystko nie da się więcej, bierzemy mały śrubokręcik i ... regulujemy skos głowicy. Co bardziej wprawni prędzej ustawią prawidłowe ustawienie głowicy "na ucho" (czysty, głośny pisk/szum) niż będą się patrzeć na poziom sygnału.

Jeśli już mamy nasze upragnione maksimum i w głośniczkach brzmi czysty, jednostajny szum, zaczynamy prawdziwe nagrywanie. Parametry nagrania: wskazane 44100Hz, 8 bitów, mono. Jeśli nasze taśmy są mocno sfatygowane zwiększamy wpierw częstotliwość (do np.48kHz) a następnie rozdzielczość do 16 bitów. Zmiana na stereo jest nie wskazana i bez sensu (mamy przecież kabel mono!) Tutaj jeden szczegół: jedna strona kasety C90 (45min/str) przy 44kHz, 8bit, mono zajmuje ok. 120MB. To samo na 16bitach = 240MB, a przy 48kHz = 260MB. I tyle musimy mieć miejsca na dysku + kilka MB na gotowe pliki do C64.

Jeśli nasz program pozwala obejrzeć wykres amplitudy całego nagrania, to powinien on wyglądać nie gorzej niż na rysunku poniżej.

Powiększ

Po skończeniu nagrywania, zapisujemy naszego wav'a pod nazwą np. 1.wav do katalogu z programem tape64.exe.
Dla wygodny niech to będzie np. C:\C64. Uruchamiamy "Tryb DOS" w okienku. Dosowym poleceniem cd \c64 lądujemy w naszym katalogu. Wykonujemy polecenie:

tape64 -i:1.wav

Program zrobi analizę naszego wav'a i wyświetli informacje. Jeśli na kilkanaście programów niewiele lub żaden nie zakończył się successful, mimo że powinno być dobrze, dodajemy parametr -r. Powoduje on reversję (odwrócenie) naszego sygnału. Na moim SBLive! jest to konieczne aby poprawnie zdekodować wav'a. Rysunki poniżej obrazują obydwie sytuacje.


Jeśli otrzymamy większość (wszystkie?) programów zakończonych successful, możemy dodać do polecenia parametry zapisujące wyniki pracy do pliku(ów).
Aby otrzymać plik *.t64 dodajemy parametr -ot - jest to taśmowy odpowiednik pliku *.d64. Bardzo wygodna obsługa (struktura katalogowa). Wadą jest fakt, że wczytanie nowego pliku jest równoznaczne z resetem emulowanego C64 co wyklucza wczytywanie programów wymagających rozszerzenia Basica (np. programy do używania pod Simon's Basic). Jedna strona kasety C90 zajmuje w tym formacie ok. 1MB (suma wielkości prawidłowo odczytanych programów). Aby otrzymać plik *.tap dodajemy parametr -or - jest to odpowiednik ... taśmy. Dostęp sekwencyjny, wolny. Nie udało mi się zasymulować przewijania... Wielkość pliku wynikowego na stronę kasety C90 to ok. 10MB.

Żeby otrzymać pliki *.p00 dodajemy parametr
-op:.\bin\
gdzie 'bin' jest istniejącym podkatalogiem na pliki *.p00. Pojedyncze, binarne pliki z programami. Wielkość pojedynczego pliku równa wielkości programu na C64. Korzystając z emulatora CCS nie udało mi się ich prawidłowo wczytać. CCS upiera się, że pierwsze szesnaście znaków w pliku jest nazwą, co jest nieprawdą. Jeśli ktoś rozwiąże (lub rozwiązał) ten problem, proszę o kontakt. Można podać wszystkie te parametry, otrzymując wszystkie możliwe "nośniki" danych dla emulatorów - jak na rysunku poniżej. Po więcej parametrów odsyłam do opisu programu w pliku tape64.

Przykładowe polecenie zapisujące do wszystkich formatów z wymuszoną rewersją ma postać:

tape64 -i:tasma.wav
-ot -or -op:.\bin\ -r

Uwaga:
Jeśli na kilkadziesiąt programów z kasety mamy kilka z load error, to nie zostaną one umieszczone w plikach wynikowych chyba, że chcemy inaczej (parametr -e).

Powiększ

Koniec

I to już koniec. Ot cała filozofia z przenoszeniem danych z kaset C64 do PC. Jeśli coś jest niejasne lub zrodziły się jakieś pytania, to proszę o kontakt e-mailowy (Tadeusz_Kasza@klub.chip.pl).

Uwaga końcowa:
Jeśli mimo wszystkich naszych wysiłków nie udaje się nam wczytać poprawnie żadnego programu, może zaistnieć potrzeba drobnej korekty szybkości przesuwu taśmy (szczególnie w przypadku starych, rozregulowanych magnetofonów). Tutaj odsyłam do schematu konkretnego modelu magnetofonu. W przypadku "Finezji" regulacja obrotów jest wbudowana w silnik i po zdjęciu górnej pokrywy dostępna małym płaskim śrubokrętem od strony gniazd podłączeniowych.

Suplement

Marcin Tyliński
tylix@poczta.onet.pl

Dużo błędów powstałych przy zgrywaniu z taśmy jest spowodowane przemagnesowaniem starych taśm (moje liczą sobie już blisko 10 lat i dużo z nich jest bardzo kiepskiej jakości). W głośnikach dobrze przenoszących niskie częstotliwości słychać różnego rodzaju stuki i puknięcia co program przetwarzający błędnie interpretuje. Bardzo dobrym lekarstwem na to jest stosowanie korektora charakterystyki częstotliwosci (ja stosowałem korektor FS 502 DIORA). Ustawienia: 16kHz - 0 dB; 6,3kHz - +8dB; 2,5kHz - +3dB; 1kHz - 0dB; wszystkie niższe częstotliwości na -10dB.
Na starych taśmach pojawiały się też (raczej rzadko) tzw. dziury magnetyczne. Wtedy z pomocą przychodził mi drugi kanał w stereofonicznym magnetofonie. Samplowałem wtedy 2 kanały następnie "dziury" uzupełniałem zapisem z drugiego kanału. Niekiedy udawało się zmiksowanie dwóch kanałów, lecz nie polecam tego gdyż między kanałami występuje (bynajmniej u mnie) przesunięcie o kilkaset mikro sekund.
Do pracy używałem programu "CoolEdit 96". Moje opisy są bardzo ogólnikowe i dużo moich sposobów odwołuje się do samego CE96. Jeżeli jest ktoś zainteresowany wtedy przygotuję dokładne opisy korekcji błędów wraz z odpowiednimi ilustracjami.

 © 1999-2019 Wszystkie prawa zastrzeżone
 Webmaster: Mariusz "Flooder" Młynek