Autor Wątek: Jak używać programu Tapefix?  (Przeczytany 10560 razy)

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Jak używać programu Tapefix?
« dnia: 2012.11.25, 22:27:52 »
Pytanie jak w temacie. Znalazłem taki program w wersji shareware ale nie wiem jak go używać. Może ktoś miał do czynienia z nim?
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Gryzor

  • *****
  • Wiadomości: 2010
  • Miejsce pobytu:
    Warszawa
Odp: Jak używać programu Tapefix?
« Odpowiedź #1 dnia: 2012.11.25, 22:33:56 »
A zapytam tak troche z Bareji - a do czego chcesz go uzyc ?  :D

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak używać programu Tapefix?
« Odpowiedź #2 dnia: 2012.11.25, 22:55:50 »
Do naprawy ścieżki dźwiękowej np. z tego filmu: http://speccy.pl/forum/index.php/topic,306.0.html
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Gryzor

  • *****
  • Wiadomości: 2010
  • Miejsce pobytu:
    Warszawa
Odp: Jak używać programu Tapefix?
« Odpowiedź #3 dnia: 2012.11.26, 00:54:22 »
To raczej kawalek sygnalu - szkoda czasu. Poza tym tak jakby ladowali w turbo.
ZX, piwko i... przeszkadzajka. Skad ja to znam   :D

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak używać programu Tapefix?
« Odpowiedź #4 dnia: 2012.11.26, 06:22:13 »
Swoją drogą, jak to jest z sygnałem pilotującym w ZX Spectrum? Pobrałem przykładowy plik WAV i programy wgrywają się OK mimo iż sygnał pilotujący ma inną częstotliwość 828Hz zamiast 807Hz. Znaczy, że jest jakaś tolerancja, przedział od do?
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

matofesi

  • *****
  • Wiadomości: 2049
  • Miejsce pobytu:
    Toruń/Poland
Odp: Jak używać programu Tapefix?
« Odpowiedź #5 dnia: 2012.11.26, 07:17:30 »
Oczywiście, że sygnał ma sporą tolerancję. Ściągnij sobie z WoSu The Complete Spectrum ROM Disassembly - procedury odzcytu i zapisu są tam dość dokładnie opisane wliczając wymagania czasowe dla poszczególnych elementów sygnału.

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak używać programu Tapefix?
« Odpowiedź #6 dnia: 2012.11.26, 08:13:17 »
Mam ten dokument oraz przeczytałem artykuł Spectrum i magnetofon w czasopiśmie KOMPUTER 1986 numery 06, 07 i 08 ale nie ma tam nic na temat przedziału częstotliwości tylko jest coś o czasach w taktach zegarowych procesora. Z artykułu dowiedziałem się tylko, że częstotliwość sygnału pilotującego to 807Hz
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

matofesi

  • *****
  • Wiadomości: 2049
  • Miejsce pobytu:
    Toruń/Poland
Odp: Jak używać programu Tapefix?
« Odpowiedź #7 dnia: 2012.11.26, 09:50:50 »
Nie rozumiem problemu... Przecież z liczby taktów częstotliwość przelicza się "na wprost"... Na przykład SA-BYTES zapisując pilota generuje kolejne impulsy co 2168 taktów, co oznacza, że częstotliwość sygnału to 3500000/2168/2=807.19557 Hz. Przy wczytywaniu danych najistotniejszy fragment kodu to procedury LD-EDGE-2 i LD-EDGE-1 - odpowiadają one a wykrywanie kolejnych "zboczy" sygnału w zadanym czasie. Dla pilota na przykład minimalny parametr dla LD-EDGE-2 to #9C (procedura zwiększa licznik i zwraca time-out jeśli doszedł do zera) a maksymalny to #C6. Procedura LD-EDGE-1 wykonuje się wg opisu 465 taktów + 58 na każdy obieg pętli. #9C oznacza więc maksymalnie 100 przebiegów, #C6 - 58 czyli poprawny sygnał pilotujący musi się mieścić w mniej więcej 42 przebiegach - 42*58+465=2943 takty. Doliczając narzut samej pętli daje to maksymalną dopuszczalną częstotliwość dla pilota na poziomie około 1000 Hz. I to jest chyba jedyny punkt w którym tolerancja jest tak duża - chwilę później zaczyna się synchronizacja i tam odstęp między zboczami to maksymalnie 11 przebiegów LD-EDGE-1 a dla samych danych ~25. I wszystkie te czasy można próbować przeliczać na częstotliwość używając formułki 3.5MHz/(465+CZAS*58).

Tylko szczerze mówiąc nie jakoś nie widzę możliwości praktycznego zastosowania tych informacji do tego, do czego ty chciałbyś ich użyć... Jeśli już to należałoby przesamplować interesujące cię dane, wygenerować z nich przebieg prostokątny a następnie jakimś programikiem przeliczyć odległości między zboczami i ustalić bity zgodnie z proporcjami wyliczonymi z czasów wykonania w procedurze SA-BYTES i tak przetworzone dane analizować pod kątem tego czy zawierają coś, co nadaje się do użycia czy wychodzi śmietnik. Osobiście jednak nie spodziewałbym się jakichś bardzo pozytywnych wyników - kilka kolejnych konwersji sygnału dodało na pewno tyle analogowych zakłóceń i zniekształceń, że raczej nic ci z tego nie wyjdzie. Ale próbuj - chętnie dam się przekonać, że się nie znam ;)

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak używać programu Tapefix?
« Odpowiedź #8 dnia: 2012.11.26, 10:52:29 »
OK, z tym filmikiem dam sobie chyba spokój ale interesuje mnie konwersja z prawdziwej kasety. Właśnie zgrywam kasetę na dysk z magnetofonu. W instrukcji Tapefix pisze coś takiego:
Cytuj
To obtain a better result, try one or more of the following:

  ■ set passes of the low-pass filter to 2
  ■ load the sample in a wave editor and manually measure the period
    of the leader signal, BIT0 signal and BIT1 signal, to set the signal
    frequencies in the TAPEFIX to the correct values

Press any key...

Interesuje mnie druga opcja bo pierwszej próbowałem. Z tego co zrozumiałem to mam otworzyć próbkę w edytorze audio i ręcznie zmierzyć okres sygnału lidera, sygnał BIT0 i BIT1 aby ustawić częstotliwość sygnału w programie TAPEFIX na poprawne wartości.

Tylko jak mam to odczytać bo nie rozumiem zbytnio. Mam to zmierzyć w ilości próbek czy milisekundach czy jak?

P.S. Zgrałem właśnie jedną stronę kasety do pliku WAV 11025Hz Mono 16bit ale emulator w ogóle nic nie widzi z tego pliku :-(, nawet nie ma czerwonych pasków przy sygnale pilotującym :-(. Co jest nie tak, próbuję wczytać do Spectaculator za pomocą opcji Load from Audio Sources

Wypróbowałem też programik wav2tzx. I już jest lepiej bo rozpoznał dużo bloków ale wraz pojawia się przy każdej grze Tape loading error :-(

Wypróbowałem też program wav2tap dla Win9x i pokazuje mi checksum error
« Ostatnia zmiana: 2012.11.26, 12:01:38 wysłana przez Gelip »
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Gryzor

  • *****
  • Wiadomości: 2010
  • Miejsce pobytu:
    Warszawa
Odp: Jak używać programu Tapefix?
« Odpowiedź #9 dnia: 2012.11.26, 17:16:36 »
Sprobuj wyzsza czestotliwosc (>22khz) i 8bit mono zamiast 16. Dla spectrum wazne sa zbocza, amplituda jest bez znaczenia, o ile jest :-)
Mozesz ponagrywac sobie bloki ciagow 0 i 1 i zobaczyc jaki sygnal z tasmy widzi np. Audacity.
A tu troche do poczytania:
http://ramsoft.bbk.org.omegahg.com/mtzxman.html#HOWTO

Generalnie nie jest to takie trywialne jak sie wydaje, zwlaszcza jak tasma jest w kiepskim stanie.
 

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak używać programu Tapefix?
« Odpowiedź #10 dnia: 2012.11.26, 17:41:59 »
Pozgrywałem w różnych formatach do WAV:
Cytuj
11025Hz 16bit Mono
44100Hz 8bit Mono
44100Hz 16bit Mono

Nic to nie pomaga :-( ale jak pisałem przy konwersji programy pokazują błędy sumy kontrolnej bloków. Program wav2tzx przetworzył plik max.WAV do max.TAP i niektóre bloki są OK a niektóre mają błędy w postaci Checksum error co powoduje błąd wczytywania Tape loading error. Widać to np. w programie Tapir który pokazuje błędy na czerwono i nawet określa jaka powinna być właściwa suma kontrolna bloku. Myślałem aby to poprawić w hexedytorze ale nie wiem w którym miejscu dokładnie.

P.S. Udało mi się poprawić sumy kontrolne ale niestety to nie pomogło, jedynie Tapir już nie wyświetla błędów na czerwono :-). Zrobiłem to za pomocą ZX-Blockeditor korzystając z informacji z programu Tapir.
« Ostatnia zmiana: 2012.11.26, 17:56:42 wysłana przez Gelip »
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak używać programu Tapefix?
« Odpowiedź #11 dnia: 2012.11.26, 18:09:59 »
W linku który dałeś do poczytania jest coś takiego napisane:
Cytuj
There are tapes that the real Spectrum reads successfully but MakeTZX doesn't convert. This happens when there are deep spikes somewhere in the signal, but the Spectrum isn't reading from the tape when they occur.
Skoro tak to zastanawiam się czy nie lepiej próbować wczytywać bloki z taśmy do prawdziwego ZX Spectrum z uruchomionym programem do kopiowania a następnie za pomocą opcji SAVE w tymże programie posłać go do wejścia Line IN karty muzycznej i zapisać jako WAV w edytorze audio.
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Pyza^Illusion

  • *****
  • Wiadomości: 586
  • Miejsce pobytu:
    Lubań, dolnośląskie
Odp: Jak używać programu Tapefix?
« Odpowiedź #12 dnia: 2012.11.26, 18:49:29 »
hehe, właśnie miałem to zaproponować :p
ZX Spectrum+ (128kB by STAVI), FDD3000, TI-OF-TTL/ZXVGS, Masterface2b, MacFace II, DivIDE plus, Just Speccy 128...

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak używać programu Tapefix?
« Odpowiedź #13 dnia: 2012.11.26, 19:20:25 »
Więc próbuję z pliku WAV do programu Kovacs Copy i powiem tak: Komputer widzi chociaż paski ale nadal pojawia się błąd Tape error :-(
« Ostatnia zmiana: 2012.11.26, 19:23:20 wysłana przez Gelip »
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
Odp: Jak używać programu Tapefix?
« Odpowiedź #14 dnia: 2012.11.26, 21:51:38 »
Skoro tak to zastanawiam się czy nie lepiej próbować wczytywać bloki z taśmy do prawdziwego ZX Spectrum z uruchomionym programem do kopiowania a następnie za pomocą opcji SAVE w tymże programie posłać go do wejścia Line IN karty muzycznej i zapisać jako WAV w edytorze audio.

Trochę to skomplikowane.
Jak już program kopiujący - to można od razu zgrać do tzx!  8)
Polecam sprawdzoną metodę z natychmiastową kontrolą: COPY COPY w emulatorze ZX Spin.
-------------------------------------------
Po załadowaniu COPY COPY wpisujemy LOAD a w menu Recording/Tape Recording (ZX Spin) włączamy Real Tape mode.
Od razu widać czy ładuje i jak jest błąd. Można regulować głośność i barwę tonu (jeśli jest) w magnetofonie i w mikserze do karty dźwiękowej. To jednak czasem robi różnicę. Magnetofon podłączony do karty dźwiękowej do gniazda MIC i włączone w mikserze MIC boost - może być przesterowanie, ale czasami to tym lepiej - zostanie zregenerowana prostokątna obwiednia sygnału.

Jak już się wczytuje bez błędu - w menu Recording/Tape Recording (ZX Spin) klikamy Insert Tape For Saving - tu podajemy nazwę pliku. Nie trzeba wyłączać Real Tape mode.
Można zapisać jako tzx lub tap.
W COPY COPY wystarczy wpisać samo SAVE - zgra wszystko co jest do podanego pliku.
I gotowe! Wystarczy jeszcze "zamknąć" plik klikając na Eject Save Tape.

Emulator ZX Spin idealnie przechwytuje obsługę standardowej procedury obsługi taśmy z ROM Spectrum zastępując ją obsługą tzx/tap! Nie działa to na kopierach które mają własne procedury taśmowe (kompresujące, turbo, itd.).
COPY COPY i  mutacje (np. NEW FORMAT COPY) to jedyne sensowne programy kopiujące używające standardowych procedur z ROMu. Zresztą to widać - po wykonaniu Insert Tape For Saving nie ma pasków bo wszystko idzie na dysk.

Po wyłączeniu Real Tape mode COPY COPY wczytuje z tap/tzx. Może więc służyć do konwersji tap<->tzx.