Krótki napisał/a:Jak? Opis tych 2 bitów nie mówi jak to zrobić. Powinieneś w takim razie opisać te bity tak:
Hmmm... Rzeczywiście mój opis był nieprecyzyjny, to skutek używania skrótów myślowych w odniesieniu do konkretnych formatów... Może tak ?
aux1 - dwa najmniej znaczące bity (1 i 0) określają rodzaj impulsu:
01 - impuls rozpoczyna się zboczem opadającym i trwa do następnego zbocza opadającego.
Odległości pomiędzy kolejno występujacymi zboczami (opadającym,narastającym,opadającym)
są jednakowe. Czasy trwania kolejnych stanów wyzwalanych zboczem opadającym i narastającym
są jednakowe (po połowie czasu podanego w blokach cas).
10 - impuls rozpoczyna się zboczem narastającym i trwa do następnego zbocza narastającego.
Odległości pomiędzy kolejno występujacymi zboczami (narastającym,opadającym,narastającym)
są jednakowe. Czasy trwania kolejnych stanów wyzwalanych zboczem narastającym i opadającym
są jednakowe (po połowie czasu podanego w blokach cas).
00 i 11 - w rezerwie
To o czym dyskutowałem, to czy zbocze opadające (i narastające) wyzwoli '0' czy '1' podawane na data-out. A to nie zależy już od samego sygnału na taśmie, tylko od interfejsu, który go przetworzy. Interpretacja leży już po stronie emulatora (lub hardware-u). I owszem, można by dołożyć sugestię, jak powinno być, zwłaszcza że w tej chwili nigdzie nie jest zapisywane, jaki format został przekonwertowany na cas. Określenie formatu źródłowego teoretycznie powinno jednoznacznie określić, jakie zbocze co wyzwala. I tu z rozrzewnieniem wspominam blok 'form' z nazwą formatu. Po tych dywagacjach jestem skłonny przeznaczyć następny bit na przechowanie sugestii o relacji 'zbocze' - 'stan data-out' lub do wyboru opisowe określenie formatu (np. w bloku 'pwms' zaraz za bajtami samplerate). To jak ?
Krótki napisał/a:Fizycznie posiadasz te kasety z nagraniami, czy tylko zgrane pliki WAV? Bo spotkałem się z magnetofonami które miały odwróconą polaryzację - być może część plików WAV była zgrywana na takim magnetofonie.
Ha, tu mnie może masz. Nie samplowałem wszystkich kaset które mam, poza tym mętlik mi się już trochę zrobił, i bardzo możliwe, że nagrania z odwróconym sygnałem pochodzą tylko ze ściągniętych plików. Co nie musi znaczyć, że mój magnetofon akurat nie odwraca w fazie :P.
Krótki napisał/a:Szczerze wątpię, aby producent turba pozwalał sobie na wprowadzenie takiej niekompatybilności bez powodu.
Logika rzeczywiście tak podpowiada, o ile był tylko jeden producent danego turba. A jeśli byli inni, to żeby zapewnić sobie klientów mogli zmieniać te kilka bajtów w handlerze... W tamtych czasach ochrona praw autorskich kulała...
Ale z tym nierozerwaniem cartridge-a i magnetofonu nie masz racji. Po pierwsze można się obejść bez cartridge-a przy pomocy loaderów na taśmie (patrz niżej). Po drugie - na Atariki na stronie o Blizzardzie jest napisane, że budowa interfejsu zależała tylko od inwencji jego twórcy, mógł więc być zbudowany tak, że zbocze opadające wyzwalało '0' lub '1' w zależności od widzimisię (i odpowiednio '1' powodowało zapisanie zbocza takiego lub siakiego); wtedy przy korzystaniu z tego samego softu kaseta zapisana na jednym magnetofonie mogła się nie wczytać na drugim. Remedium na coś takiego mogło by być dopasowanie handlera. I wtedy dopiero masz rację - cartridge i magnetofon są nierozerwalne, ale handlery w każdej parze są ciut różne.
Krótki napisał/a:Gdyby założyć że Turbo 2000 ma odwrotną polaryzację niż AST, to nasza informacja o polaryzacji zachowana w CAS tylko utrudniałaby sprawę.
Nie trzeba zakładać, tak właśnie jest :D. Porównaj moje opisy obu formatów na Atariki. Oczywiście w przypadku AST bazuję tylko na jednym Twoim nagraniu.
Krótki napisał/a:Ja już bym wolał po prostu dostosować polaryzację źródłowego WAV-a tak, żeby działała z dostępnym oprogramowaniem(...)
A co z wiernością zarchiwizowanych danych ;) ?
Krótki napisał/a:BTW. Nie wiem jak to jest zrobione, ale system AST nie zwraca uwagi na kolejność zboczy w sygnale - łatwo sprawdzić pod emulatorem.
Nie gniewaj się, ale na razie działanie emultora nie może być wyznacznikiem działania rzeczywistego sprzętu ;) (również patrz niżej). Może niedługo będę mógł to sprawdzić. A w sumie to software też się może dostosować - AST jest dość wolne i powinno być dużo czasu na takie rzeczy, można przecież badać, która połówka impulsu jest krótsza jako pierwsza za pilotem...
Krótki napisał/a:Zaraz, jak zbędne, przecież Ci tłumaczyłem, że to służy do debugowania bloków z dużym baudrate.
Tak, do debugowania jak najbardziej. Dla użytkownika końcowego jest to zbędne. Ale skoro cas MUSI zawierać to co HEX, to trudno.
No to teraz linki:
1) Przykładowy loader Turbo Rom - do analizy na debuggerze lub inaczej (mnie pod "Bug Hunterem" nie idzie, ten loader wczytuje się na stronę 0 i stos!)
2) gra w formacie blizzard, która U MNIE wczytuje się na emulatorze. Kolejność postępowania jest taka:
- ładujemy normalnie w atari800 plik ml25-s.cas
- jak pojawi się czarny ekran, zmieniamy tasiemkę na ml25-t.wav i włączamy turbo. Po powrocie do emulatora powinien się załadować microloader
- zmieniamy tasiemkę na morky.wav, wracamy do emulatora, po sygnale klepiemy "any key" i po zapytaniu o wczytywanie naciskamy "Y".
Dodatkowo w archiwum są pliki turbo w formie cas (jeszcze bez nowych zmian).
UWAGA: wbrew temu co pisałem wcześniej blizzardowe pliki wav są w formie fali prostokątnej. Plik, w którym zbocza były zmienione na łagodniejsze i dodatkowo faza została zamieniona, na jednym komputerze działał, na drugim nie chciał. Ta wersja działa na obu komputerach, tylko jest dość czuła na szerokość zapisanych bitów, jeszcze nie wiem czy chodzi o szerokość jako taką, czy o równość stanów niskiego i wysokiego (oryginalnie wychodziła nieparzysta liczba sampli na bit '1'). Poza tym - pliki wav mają samplerate 44100 i to w tym przypadku też może w jakiś sposób zmieniać efekt. Konwerter jeszcze mi nie przelicza wszystkiego jak należy, więc w zasadzie to 44100 wyszło przypadkiem.
A tu stronka w przygotowaniu. Ot tak, dla zabawy ;).