Transfer danych z taśmy C64 na PC
do wykorzystania w emulatorze
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...
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.
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).
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
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.
|