Autor Wątek: Jak przerobić grę z własnym loaderm - plik WAV na TAP?  (Przeczytany 22074 razy)

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak przerobić grę z własnym loaderm - plik WAV na TAP?
« Odpowiedź #30 dnia: 2012.12.10, 01:20:24 »
Cytat: Phonex
Loader co prawda nie sprawdza parzystości dla screenu, ale dla danych sprawdza.
Racja, dostałem od DDp programik do sprawdzania sumy kontrolnej bloków w pliku TZX (w przykładzie Fist+):
TZXv1.13                                                               
  1. ID32 (archive info)                                               
  2. ID10 - standard checksum - Ok                                     
  3. ID10 - standard checksum - Ok                                     
  4. ID12 (pure tone)                                                   
  5. ID13 (pulse sequence)                                             
  6. ID14 - CERIKOPIK title screen - possible Ok                       
Note: The Cerikopik loader has no check of the sum for the title screen.
  7. ID12 (pure tone)                                                   
  8. ID13 (pulse sequence)                                             
  9. ID14 - CERIKOPIK checksum - Ok                                     
 10. ID12 (pure tone)                                                   
 11. ID13 (pulse sequence)                                             
 12. ID14 - CERIKOPIK checksum - Ok                                     
 13. ID10 - standard checksum - Ok                                     
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak przerobić grę z własnym loaderm - plik WAV na TAP?
« Odpowiedź #31 dnia: 2012.12.10, 17:16:38 »
Udało mi się odtworzyć plik Side 2 z uszkodzonej taśmy. Dało się odczytać blok Bytes a blok Program skopiowałem z pliku Side 1 zmieniając nazwę na storona 2. Wszystko w ZX-Blockeditor :-). Czekam też na rezultaty pracy DDp odnośnie pozostałych dwóch gier które zgrałem jeszcze raz i umieściłem pliki WAV na forum. Może będzie komplet :-)

P.S. Na końcu taśmy jest muzyczka - prawdopodobnie pochodzi z programu "WW" działającego pod CP/M w komputerze Byte-01
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak przerobić grę z własnym loaderm - plik WAV na TAP?
« Odpowiedź #32 dnia: 2012.12.10, 21:56:53 »
A więc mamy komplet. Cała kaseta Cerikopik -  Link: << Cerikopik >>

Zmieniłem link bo stary wygasł.
« Ostatnia zmiana: 2013.04.02, 15:37:46 wysłana przez Gelip »
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Jak przerobić grę z własnym loaderm - plik WAV na TAP?
« Odpowiedź #33 dnia: 2012.12.11, 08:10:23 »
Gratuluje determinacji w dążeniu do celu! ;)

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak przerobić grę z własnym loaderm - plik WAV na TAP?
« Odpowiedź #34 dnia: 2012.12.17, 09:04:00 »
No tak, cel osiągnięty ale to nie ja skonwertowałem WAV do TZX tylko DDp :-) Nadal nie wiem jak to zrobić :-(. Skąd DDp wiedział, że trzeba wstawić w pliku TZX sekwencję pulsów i jakich na dodatek? No nie pojmuję tego. Niestety nie chce powiedzieć jak to zrobił. Zacytuję go jeszcze raz:
Cytuj
Main "secret": modify waveform to standard format and read as standard block. Then use ZX-blockeditor for make non-standard speeds, pulses, etc.

Inny cytat:
Cytuj
Horace Goes Skiing восстановлен путём замены основного блока (не удалось прочитать 5 байт по смещению ~0x1e95)

Ja wysłałem mu pliki WAV w fromacie 44100Hz Mono 8bit. Napisał iż konwertuje je do standardowego formatu - co to może oznaczać? Zauważyłem jedną rzecz odnośnie pliku WAV FIST+. Wysłałem mu niby uszkodzony plik WAV również 44100Hz Mono 8bit. Udało mu się skonwertować. Napisał, że dodał trochę magii :-) do pliku WAV:
Cytuj
Where in it bad blocks? You afflict me, here there are no bad blocks! (Just need to apply a tiny magic)
i w linku poprawiony przez niego plik WAV. Okazuje się iż plik ma teraz format 43873Hz Mono 16bit czyli zmienił 44100Hz na 43873Hz i 8bit na 16bit tylko czy to jest ten standardowy format o którym pisał ?!!
Dlaczego akurat 43873Hz a nie np. 48000Hz ???
ZX Spin naprowadził mnie na pewien trop. Otóż po załadowaniu pliku w Tape Browser pokazuje ciekawą rzecz odnośnie wartości T-states. Wiem już jak ją oblicza, dzieli częstotliwość zegara Z80 przez częstotliwość próbkowania pliku WAV:
3 500 000 Hz / 44 100 Hz = 79 Ts
3 500 000 Hz / 43 873 Hz = 79,7 ~ 80 Ts
« Ostatnia zmiana: 2012.12.17, 09:40:19 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 przerobić grę z własnym loaderm - plik WAV na TAP?
« Odpowiedź #35 dnia: 2012.12.17, 14:26:50 »
A może tę sekwencję pulsów da się podejrzeć w pliku WAV w edytorze audio w dużym powiększeniu po prostu?
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
Odp: Jak przerobić grę z własnym loaderm - plik WAV na TAP?
« Odpowiedź #36 dnia: 2012.12.17, 21:38:23 »
Po kolei

Skąd DDp wiedział, że trzeba wstawić w pliku TZX sekwencję pulsów i jakich na dodatek?

Po prostu ma na mundurku naszywkę sprawności "Hacker", czy jak sam mówi "Magik"  ;)
Trzeba po prostu obejrzeć loader w kodzie debuggerem/monitorem. Jeżeli jest turbo - można odczytać stałe czasowe. Wygodnie jest wstawić pułapkę żeby odczytać wartości rejestrów - stąd można wziąć długość i adres początkowy.

A może tę sekwencję pulsów da się podejrzeć w pliku WAV w edytorze audio w dużym powiększeniu po prostu?

Sekwencja impulsów jest dlatego, że nie da się zapisać tego w normalnym pliku. Normalnie jeden bajt to 16 impulsów. Na początku pliku są dwa impulsy synchronizacji. To razem 18. W tym Cerikopiku jest o jeden impuls mniej!
Impulsy w sekwencji mają taką samą długość jak potem bity w następnym bloku. To czy mają to być zera (krótsze) czy jedynki można odczytać debuggerem. Akurat w tym przypadku nie ma to żadnego znaczenia bo loader nic z tym wczytanym "niecałym" bajtem nie robi.
Impulsy synchronizacji (dwa pierwsze w sekwencji) według mnie nie są w Cerikopiku takie jak podał DDp, tylko standardowe: 667/735. Ale w zasadzie nie ma to znaczenia. Mogą być tamte.

Cytuj
Main "secret": modify waveform to standard format and read as standard block. Then use ZX-blockeditor for make non-standard speeds, pulses, etc.
...
Napisał iż konwertuje je do standardowego formatu - co to może oznaczać?

To turbo więc możnaby to wczytać gdyby przekształcić do standardowej prędkości. Rozciągnąć w edytorze audio! Ale bez impulsów synchronizacji, bo mogą się zrobić "za długie" i będzie błąd!
W sumie ciekawy pomysł, ale taki "dookoła". Według mnie załadowanie przerobionym oryginalnym loaderem jest pewniejsze. Chociaż jeżeli nie byłoby żadnych zabezpieczeń, a tylko turbo, to by wystarczyło.

Gelip

  • *****
  • Wiadomości: 769
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Jak przerobić grę z własnym loaderm - plik WAV na TAP?
« Odpowiedź #37 dnia: 2013.04.02, 15:41:58 »
Chciałem tylko dodać iż wszelkie info na temat tej kasety dodał Prusak na swojej stronie.

Spectrum-совместимый компьютер "Байт", дополнительные кассеты
« Ostatnia zmiana: 2013.04.02, 15:43: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 przerobić grę z własnym loaderm - plik WAV na TAP?
« Odpowiedź #38 dnia: 2014.07.20, 09:52:44 »
Zamieszczam nowy link do kasety Cerikopik.

Po wielu latach Prusak uzyskał w końcu dostęp do kilku takich kaset. Okazało się iż moja kaseta to Набор 2 - jedna z serii Набор 1 - Набор 11. Szata graficzna portalu zxbyte.ru uległa nieco zmianie a wraz z nią zmieniły się linki do niektórych plików - między innymi do kasety Cerikopik.
"Byte" Personal Computer
Брестское ПО средств вычислительной техники