26

(62 odpowiedzi, napisanych Sprzęt - 8bit)

seban napisał/a:

Sprawa formatu zapisu jest rozwojowa, tylko czy kogokolwiek to interesuje? ;)

Interesuje, ale ja sobie poradzę, więc jeżeli poza tym nie ma potrzeb to może nie trać czasu.

seban napisał/a:

Te linki mogą dopełnić obraz całości i udowodnić z dużym prawdopodobieństwem iż AHT to koln czeskiego Turbo2000.

Jeśli chodzi o format zapisu, to są spore podobieństwa i pewne różnice.
Podobieństwa:
- pierwszy blok (blok nazwy) zaczyna się bajtem $00, bloki danych bajtem $FF
- suma kontrolna liczona jest tak samo (xor na wszystkich bajtach) i przechowywana w ostatnim bajcie bloku (ale tak jest w większości systemów turbo)
- szerokości impulsów mieszczą się w tolerancjach określonych dla czechosłowackiego t2000, a impulsy pilota mają szerokość bliską centralnej, stąd zapewne podobieństwo w brzmieniu nagrania (ponieważ te tolerancje są baaardzo szerokie, to do nich pasowało by wiele różnych formatów turbo ;) ). jednocześnie brak wyraźnych przerw między końcem danych a następnym pilotem uniemożliwia poprawne zdekodowanie sygnału przy pomocy narzędzi przeznaczonych dla czechosłowackiego t2000, o ile nie zawęzi się tolerancji dla szerokości impulsów "1"
- jeden impuls synchronizujący (tak też jest przeważnie w innych systemach turbo)
- kolejność zapisu bitów od najstarszego do najmłodszego

Różnice:
- według opisu (ze strony Turgena) nie było wersji formatu czechosłowackiego t2000, w której adresy ładowania segmentów danych były by w oddzielnych krótkich blokach tak jak w AHT. Pod tym względem AHT bardziej przypomina zmodyfikowany ("nowy") format polskiego Turbo 2000;
- długość i zawartość bloku nazwy są całkiem inne

Jak dla mnie powyższe niczego nie udowadnia, ale i nie obala (od strony programowej). Jeszcze może warto sprawdzić, czy/jakie są różnice w samych procedurach ładowania/zapisu.

seban napisał/a:

Pozostały jeszcze obrazy kaset w standardzie które podesłał również Roderick, pytanie czy kogoś te pliki interesują? Są zgrane igotowe do udostępnienia, oto okładki:

Jeżeli nie są nagrane w zupełnie standardowym standardzie (czyli np. zawierają jakieś zabezpieczenia) to poproszę o udostępnienie.

seban napisał/a:

A jeszcze jedna ciekawostka, autorzy np. blizzarda czy Turbo ROM poszli o krok dalej i linię DATA_OUT (5 pin SIO) wykorzystali do przełączania również magnetofonu w tryb turbo (pozbyli się kłopotliwego użycia linii COMMAND).

Mała poprawka - Turbo ROM wykorzystuje do włączania trybu turbo przy odczycie właśnie linię COMMAND (BTW: zapis Turbo ROM też polega na sterowaniu linią COMMAND). Ze znanych mi systemów tylko Blizzard wykorzystuje do tego celu DATA-OUT.

27

(168 odpowiedzi, napisanych Fabryka - 8bit)

Poproszę 1 sztukę 4mbit.

28

(7 odpowiedzi, napisanych Bałagan)

Maly_swd napisał/a:

Kontroler ARRAY P400 (512MB)

Jest akumulator do podtrzymywania cache-u ? Skoro dało sie ustawić read/wriite 50/50 to chyba jest, ale na wszelki wypadek pytam.
Jeżeli serwer jest nowy, to potrzeba trochę czasu, aż akumulator się naładuje i akceleracja zacznie działać. Zwykle wyświetla się na tę okazje odpowiedni komunikat POST.

Transfer z dysku na dysk jest okolo 15-20MB/s a powinien byc okolo 150-200MB.

Jeden duży plik czy dużo małych pliczków ?

Proponował bym też uruchomić jakiś inny system np. z livecd (jak SystemRescueCD) i sprawdzić, czy to przypadkiem nie wina sterownika freebsd.

29

(22 odpowiedzi, napisanych Emulacja - 8bit)

krzyc napisał/a:

Czy wiecie co to znaczy zduplikowany sektor i jak działa to zabezpieczenie przed kopiowaniem?

Nie wiem czy pytanie wciąż aktualne, ale odpowiem mimo to.
Na tej samej ścieżce dyskietki dwukrotnie występuje sektor z tym samym adresem (numerem). Sprawdzenie zabezpieczenia polega na ustawieniu głowicy nad konkretną ścieżką i dwukrotnym (lub wielokrotnym) odczytaniu tego samego sektora w pewnym odstępie czasu. Ponieważ dyskietka obraca się z pewną skończona predkością, to raz w momencie żądania odczytu trafia sie na jedną wersję sektora a raz na drugą. Przy korzystaniu z tak zabezpieczonych programów trzeba było wyłączać buforowanie ścieżek w stacjach, które miały taką funkcję.
Zwykły kopier rzecz jasna kopiuje każdy sektor tylko raz, więc skopiowany program nie działa. Do stacji z przeróbką TOMS MultiDrive dodawany był kopier, który potrafił kopiować takie zabezpieczenia. Skwapliwie z tego korzystałem tworząc na wszelki wypadek robocze kopie oryginalnych gier - stacje z przeróbką TOMS-a czasem ni z tego ni z owego uszkadzały dyskietki.
Żeby właściwie emulować takie zabezpieczenie musiała by być emulowana oryginalna prędkość obrotowa stacji dyskietek. Procedura zabezpieczająca niekoniecznie musi chcieć dwóch różnych zawartości przy kolejnych odczytach, może np. oczekiwać 2 razy tych samych danych a za trzecim innych, dokonując odczytów w odpowiednich odstępach czasu. Układ sektorów na ścieżce też powinien być zachowany, czyli np. 1,2,1,3,4,5... nie zadziała, a 1,2,3,4,5,6,1... zadziała.

Jeszcze inne zabezpieczenie (które również można było skopiować oprogramowaniem dołączonym do TOMS MultiDrive) to "słabe" sektory. To polega na tym, że część wybranego sektora jest zapisana na dyskietce z osłabionym sygnałem podawanym na głowicę. Powstaje więc sektor, który przy prawie każdym odczycie ma inną zawartość, sprawdzenie polega na kilkukrotnym odczycie i porównaniu zawartości, która w pierwszej części sektora powinna być zawsze taka sama, a w pozostałej części za każdym (lub prawie każdym) razem inna. W tym przypadku buforowanie ścieżek też musi byc wyłączone. Zasymulowanie czegoś takiego jest chyba prostsze niż wielokrotnych sektorów (raczej nie ma zależności czasowych), to trochę tak jak z sektorami z błędnym CRC, tylko dodatkowo z częścią o zmieniającej się zawartości.

30

(10 odpowiedzi, napisanych Fabryka - 8bit)

Cieszę się, że się podobało :). Nigdy bym nie przypuszczał, że zajrzę do tego po tylu latach (20 z hakiem). W takim razie spróbuję jeszcze podłubać, ale bez obiecywania żadnych konkretnych terminów...

31

(119 odpowiedzi, napisanych Sprzęt - 8bit)

baktraaa napisał/a:

Latest snapshot of Turgen supports them on output, if you set it in Tape image generator preferences

Good to see, that it appears to be usable :).

baktraaa napisał/a:

I think that in pwms chunk, there could be some field for non-mandatory human readable name of the turbo system, which could be displayed by emulators or tape image editors/viewers.

It would be handy, but in practice such addition does not suit the idea of "tape image". Emulators don't need to know, what type of turbo is contained inside, they should just translate data to impulses. Similarily, there were also earlier suggestions of adding blocks, which would separate  parts of tapes for easy and fast access (like in case of "The Goonies"), but not everyone liked them.
Another way of attaching such information, also discussed earlier (no final conclusions) is to put it into separate file (ini, xml, txt...) and pack together with .cas, scans of labels etc. in one zip file.

32

(10 odpowiedzi, napisanych Fabryka - 8bit)

No to specjalnie dla Ciebie, poza konkursem, krótka wersja "Domu w dolinie mgieł" (chyba na podstawie jakiejś opcji koncertowej), którą wieki temu wstukałem do Softsyntha. Dyskietkę
należy zbootować z włączonym basic-em, z menu wybrać Composera, jak pojawi się prompt wpisać:
P#D:BILINSKI.MUS
Chyba ciut lepiej brzmi na prawdziwym sprzęcie niż pod emulatorem.
Niestety nie starczyło zapału, żeby to dopracować :/.

33

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Krótki napisał/a:

No pewnie - skoro człowiek umie, to komputer też by mógł ;P

Jeżeli człowiek go nauczy, to będzie umiał :P. Ja swój komputer już nauczyłem, choć się na początku dziko opierał. Screenshot ;):

a8cas-util.pl conv Miecze\ Valdgira\ 2.flac Miecze\ Valdgira\ 2.hex
Starting ecasound... started.
SUMMARY: Data blocks: 940, std: 31 (0 E), nonstd: 0 (0 E), multibaud: 303 (0 E), analysed 41122816 samples.
1553 HEX blocks stored in file new_Miecze Valdgira 2.hex.

Działa ze wszystkimi (sprawdzonymi do tej pory) dumpami kaset bez konieczności zgadywania szerokości i dewiacji. W sumie nic skomplikowanego, tyle że trochę upierdliwe było rozpatrywanie poszczególnych przypadków. Najśmieszniejsze, że jak już mi zaczęło działać, to się zorientowałem, że trochę wcześniej w ramach testów dodałem do kodu fragment, który mi zniekształcał dane wejściowe :/. Tym większa satysfakcja. Znaczy - da się. Update w sekcji download będzie niedługo.
Teraz się wyjaśniły problemy z konwersją "Kissin' Kousins" - pod koniec dwa razy trochę zmienia się prędkość.

Krótki napisał/a:
FUJI napisał/a:

Spróbuj przekonwertować ten hex (...)

Nie da rady, ale tylko dlatego, że wewnętrzny bufor sygnałów ma na sztywno ustawiony rozmiar 50 - a w twoim pliku żeby dobrze rozpoznać baudrate, trzeba wczytać ze 100 początkowych sygnałów.

U mnie sie już da, I to nawet przy 5 sygnałach (rekord złożony z 3 bajtów $80 lub $cc). Widzę, że dla $cc w a8cas-convert też już jest dobrze.

Krótki napisał/a:

Przy okazji załatwiłem kwestię niezapisywania długości bloków 'data'/'fsk ' w HEX.

Super, zwłaszcza że biblioteka i emulator też już uaktualnione. Dzięki. W wolnej chwili dodaj może jeszcze 'FUJI' do hex (o ile nie kłóci się to z Twoimi założeniami).

Przy okazji bug report - jak a8cas-convert konwertuje tego oryginalnego dumpa to powstają nieprawidłowe bloki fsk, a jak się konwertuje wav-a utworzonego z tego cas-a to wszystko wychodzi dobrze.

34

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Krótki napisał/a:

Przecież mój dump ma dokładnie takie parametry. Zapewne użyłeś a8cas-convert z domyślnymi parametrami. Ustaw --stop-bit-deviation=0.1.

Ach. Znaczy się, że jak konweruję cas do hex to a8cas-convert po drodze jak gdyby przerabia go na wav i potem dopiero na hex od nowa badając długość bitów ? Myślałem, że w hex pojawia się  dokładnie to, co jest w cas, po co od nowa przekodowywać ?

Krótki napisał/a:

Automatu który bezbłędnie skonwertuje wszystkie taśmy _bez ingerencji użytkownika_ stworzyć się nie da.

E tam, się nie da. Wszystko jest kwestią włożonego wysiłku, który się opłaca lub nie (w tym przypadku pewnie raczej nie ;)). Zapewne również da się automatycznie rozpoznawać typy turbo :P.

Krótki napisał/a:

A co to będzie?

Pytanie spowodowało, że popatrzyłem na listę na Twojej stronie, i widzę, że niczym nie zaskoczę. Chodzi o "Special Forces" czyli "Operation Blood II". No i popróbowałem z bit-deviation w a8cas-convert i wtedy poszło bez problemów :cool:. Mimo to - obiecane linki: strona A (cas, tu nie ma niczego niezwykłego), strona B (niestandardowe długie rekordy z niestandardową prędkością zapisu): cas, flac.
Jeszcze ciekawostka. Byłem ciekawy, czy Twój algorytm radzi sobie z tym, z czym mój obecny roboczy z założenia sobie nie poradzi. Mnie się nie udało dobrać parametrów dla a8cas-convert, ale ja nie znam go zbyt dobrze. Spróbuj przekonwertować ten hex na cokolwiek i z powrotem i otrzymać taki sam hex (np. bezpośrednio hex->hex).

Krótki napisał/a:

Wiesz co? Sprawa jest śliska. (...)Poza tym, emulator i tak musi sam podjąć decyzję, jak interpretować dane z taśmy.(...)

Cóż - dla mnie to w zasadzie rybka czy taka informacja będzie czy nie. Wydawało mi się, że to może się jednak przydać, a tu niespodzianka - poprzednio to ja się opierałem... Na pewno masz lepsze rozeznanie w tym, jak działa emulator, więc zdam się na Twój osąd.

Krótki napisał/a:

Z jakichś powodów technicznych jeszcze tego nie zrobiłem - ale jakby co, to chcę po prostu usunąć informację o długościach bloków z formatu HEX (czyli drugą liczbę z linii "data" i "fsk ").

:o A zdawało mi się, że to akurat coś prostego. No nic, tymczasem będę sobie dalej konwertował hex do cas przed użyciem (ja wtedy prawie od razu pozmieniałem).

Krótki napisał/a:

Rozumiem że zmiana polegała wyłącznie na zdefiniowaniu parametrów (częstotliwości, długości) tego turba? Ciekaw jestem, czy nie dałoby się tego jakoś zautomatyzować.

Głównie chodzi o szerokości i tolerancje szerokości impulsów oraz sposób liczenia sumy kontrolnej. Jeśli chodzi o same impulsy, to na pewno się da wykryć ich szerokości i dewiację tychże, podobnie jak dla bitów w sygnale fsk. Które zbocze jest pierwsze też w sumie dało by się wykryć (choć pewnie nie zawsze). Z kolejnością bitów w bajcie już może być gorzej, bo trzeba by analizować otrzymane dane. Sama suma kontrolna (zwłaszcza xor) może nic nie  powiedzieć, nawet nie wiadomo na początku, jaki jest algorytm jej liczenia (albo czy  w ogóle jest).  Konkretny format można by rozpoznawać na podstawie długości bloków i ich nagłówków, ale tu już potrzebny jest zestaw parametrów, który trzeba przechowywać i próbować dopasować, dlaczego więc nie przechowywać również "wykrywalnych" parametrów. Czeski program w turbo 2000, na którym ćwiczyłem, nie miał bloku nazwy, a na podstawie zawartości nic by się nie dało wywnioskować, bo dopiero loader (w standardzie) tę zawartość rozszyfrowuje w locie podczas wczytywania, po podaniu właściwego "hasła". Jak dla mnie na razie prościej jest podać format w linii poleceń i poprzestać na stałych ustawieniach.

Krótki napisał/a:

EDIT: Już. Konwertujemy z --stop-bit-deviation=0.3.

Dzięki.

35

(5 odpowiedzi, napisanych Software, Gry - 8bit)

W sekcji przykładów na mojej stronie są do pobrania zrekonstruowane obrazy tasiemek ze wspomnianego wyżej wątku. Do użytku pod emulatorem lub do nagrania. Pierwsza (maw_blizzard_skarbek) skonwertowała się bez problemów, w całości w jednym przebiegu :). Druga (maw_blizzard_black) jest w kiepskim stanie i trochę się z nią namęczyłem, ale się udało. Na początku strony A zgodnie z okładką są trzykrotnie nagrane Blizzard Turbo, Blizzard Copy i Microloader i z tych trzech udało sie do kupy poskładać jedno w całości. Z pozostałą częścią i drugą stroną jest trochę lepiej, choć znowu pojedyncze bloki danych udało się odzyskac dzięki temu, że obie strony zawierają te same programy. Na stronie B zamiast użytków są dodatkowe 3 gry. Tylko w przypadku "Ghost Chasera" musiałem ręcznie poprawić jeden blok danych, reszta się skonwertowała z różnymi nietypowymi ustawieniami parametrów.
Miłej zabawy :).

Przy okazji - znajdziecie też tam obraz tasiemki w nieznanym (przynajmniej ja nie słyszałem wcześniej o takim) formacie turbo. Działa z magnetofonem AST. W kodzie jest sygnaturka "MAREK K. LODZ MADE IN HOME". Przedstawia się jako "* TURBO *". Charakteryzuje się prawie całkowitym brakiem sygnału pilota (zaledwie do 16 impulsów), prędkością nieco niższą od turbo 2000, brakiem wyłączania ekranu przy transmisji, brakiem specjalnego rekordu nazwy (nazwa jest na początku pierwszego bloku), trochę niewygodnym używaniem (przed wczytaniem trzeba ustawić taśmę przed pierwszym blokiem programu, albo ignorować śmieci pojawiające się na ekranie). Za to generuje dość przyjemny dźwięk przy wczytywaniu ;). Niestety, z użytków jest tylko loader. Czy ktoś ma jakieś informacje o tym rozwiązaniu ?

36

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Krotki napisał/a:

Zostało to wymuszone przez jedną wredną kasetkę o nazwie Miecze Valdgira 2. Jest ona zabezpieczona za pomocą rekordów, w których środku zmieniany jest baudrate!

No proszę, też niedawno trafiłem na coś takiego, konkretnie kasetową wersję systemu Turbo 2000 (do pobrania z sekcji przykładów na mojej stronie). W tym przypadku wystarczyło zapisanie niestandardowych części w postaci bloków "fsk ", mało eleganckie, ale działa. W przypadku "Mieczy Valdgira 2" coś nie bardzo zadziałało. Siadłem więc również do przepisywania kodu, w pewnym momencie udało mi się dostać nawet lepszy efekt niż Twój (wszystkie niestandardowe bloki w identycznej postaci, długości kolejno 15, 16, 101), ale za to inne tasiemki przestały się konwerować, więc kombinuję dalej. Jak byś mógł udostępnić oryginalnego dumpa to był bym wdzięczny. W zamian ;) udostępnię inną tasiemkę, która też sprawia pewne problemy (obu konwerterom), chociaż w zasadzie wcale nie jest aż taka niezwykła.

Krótki napisał/a:

A właśnie: w bloku "pwms" brakuje informacji, czy logiczna 1 jest wtedy, gdy zbocze sygnału opada, czy gdy się wznosi. Bez tego nie da się z CAS-a odtworzyć oryginalnego WAV-a.

Krótki napisał/a:

Ale w takim razie pojęcia '0' i '1' nie mogą się pojawić w specyfikacji CAS.

Po analizie procedur obsługi turbo (tych z loaderów i kartridży) wydaje mi się, że jednak na potrzeby emulatorów dobrze by było dodać informację (sugestię), jak należy interpretować sygnał, ponieważ w pliku CAS nie ma informacji, jaki konkretnie zapis turbo przechowuje. Do odtworzenia sygnału audio jest to zbędne, ale emulator magnetofonu musi wysyłać bezpośrednio zera i jedynki w odpowiedniej kolejności. Jeżeli się nie pomyliłem, to czasem zbocze opadające wyzwala jedynkę, a czasem zero. Czasem nie ma to znaczenia (np. AST), ale czasem ma. Dodałem więc miejsce na odpowiednią informację w bloku 'pwms' (opis na stronie).
Kontynuując rozmowę o zmianach w HEX - myślę, że ze wszystkich rodzajów bloków dobrze usunąć długość z początku i przenieść do komentarzy - przy ręcznych poprawkach to się daje we znaki, jak się zapomni zmienić. Choć z drugiej strony można po prostu ignorować pierwszą liczbę przy konwersji z HEX na coś innego. Dobrze by było się zdecydować na jednolity format...

baktraaa napisał/a:

Development version TURGEN DEV(8.2) should support Turbo blizzard.

W zamian moje narzędzie wzbogaciło się m.in. o obsługę czeskiego Turbo 2000, po tym jak zgłosił się chętny zza gór... ;)

37

(11 odpowiedzi, napisanych Software, Gry - 8bit)

Edit - pytanie usunięte.

38

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Znalazłem na forum tutaj dump jednej z wersji cartridge-a Turbo Rom. Przy pomocy atari800 przeanalizowałem procedury odczytu i zapisu, w związku z czym na Atariki są uzupełnione informacje o tym systemie. Dzięki temu udało mi się też wreszcie odpowiednio dostroić konwerter, można się zapoznać z przykładem na stronie z przykładami.

Emulator świetnie obsługuje uidealnione nagrania Turbo Rom, pomimo dużej szybkości transmisji działa bezbłędnie, jak widać zależności czasowe są bardzo wiernie zachowywane.

Dałem sobie siana z zabawą z filtrami dla Turbo Rom (patrz poprzedni post). Niby można coś przez to zyskać, ale niestety dla każdego nagrania trzeba się było mocno namęczyć z dopasowaniem parametrów. Stwierdziłem, że jednak regulacja skosu głowicy jesty łatwiejsza i pewniejsza ;). Widać głowice w magnetofonach komputerowych są bardziej tolerancyjne (czyli mniej dokładne ?). Oczywiście czasem takie filtry pomagają naprawić uszkodzone nagrania (patrz poprzedni post).

Przy okazji chyba wyjaśniła się sprawa z nieczułością AST na odwracanie fazy sygnału. Jeżeli tak jak w przypadku Turbo Rom mierzone są czasy trwania tylko jednego poziomu sygnału, to ponieważ w AST szerokości obu poziomów prawie zawsze są równe, nie ma znaczenia, który wystąpi pierwszy (znaczy czy pierwsze jest zbocze narastające czy opdające).  Oczywiście zdarzają się  wyjątki. W wolnej chwili przeanalizuję procedury AST pod debuggerem atari800 (całkiem przyjemny jest).

Aha, Krótki nie informował o tym tutaj, ale wypuścił parę dni temu wersję 1.0 swojego dzieła :).

39

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Ha! Okazuje się że najlepsze są rozwiązania najprostsze. Wystarczy nagranie Turbo Rom przepuścić przez filtry highpass (~1 kHz)  i lowpass (~6 kHz), żeby dostać całkowicie strawną postać. Już używałem filtra lowpass dla niektórych nagrań AST, co podnosiło skuteczność konwersji, jak widać warto tego używać chyba dla wszystkich formatów turbo :). Można też próbować z filtrem bandpass (dla Turbo Rom z centrum w 3.5kHz i z promieniem 2.5kHz).

EDIT:
Ha! Dodając odpowiedni filtr highpass (cutoff 650 Hz) i dopasowując filtr lowpass z rezonansem (cutoff 3920 Hz) udało się bez dodatkowych zabiegów (poza zwykłym wzmocnieniem 4x) przekonwertować Hackera! Działa! -> Hacker PL. :) (po skończeniu ładowania mimo śmieci na ekranie trzeba nacisnąć start).
Po eksperymentach z Turbo Rom podniosłem dla tego formatu cutoff dla filtra highpass do 2600 Hz (ta częstotliwość odpowiada sygnałowi pilotującemu i jest najniższa z używanych).

40

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Podejrzenia są rzeczywiście takie, że coś jest nie tak z nagraniem, ale:
- głowice w magnetofonie turbo i deck-u na którym sampluję (Yamaha KX-W482) wyglądają na zgodnie ustawione, o czym świadczy dolne nagranie
- magnetofon turbo bez problemów wczytuje górne nagranie, a zsamplowane jest niewyraźne i w zasadzie nie powinno się wczytywać
- nie wiem czemu obciąłem podziałkę z czasem - nie widać tego, ale częstotliwość dla tych węższych impulsów wynosi max. 6kHz, czyli niewiele więcej niż dla sygnału 'mark' w sygnale fsk, nie jest to więc częstotliwość, aż tak bardzo wysoka

Myślę, że warto tu przytoczyć wzmiankę, że po upadku współpracy między firmami Plus i Mapasoft wyniknęły problemy z przeróbkami magnetofonów i masowym przegrywaniem kaset na dwukasetowcach w firmie Mapasoft, więc zostały wprowadzone "drobne różnice" w standardach zapisu. Może więc być tak, że sygnał celowo jest "zniekształcony" i trzeba wiedzieć, jak go poprawnie odczytać.

Uprzedzę propozycję fotografowania wnętrza magnetofonu - nie otworzę go, bo stracę gwarancję ;). Piękna plomba jest założona od prawie 20 lat i szkoda ją zdzierać.

EDIT:
Tiger Attack (AST) - flac nagrany na taśmę zachowuje się tak jak pod emulatorem - w postaci oryginalnej wczytuje się za każdym razem, odwrócony albo się wiesza, albo nie wczytuje do końca, albo nawet pierwszy blok nie chce się wczytać. Natomiast po przerobieniu na CAS i ponownie na audio wczytuje się przy obu polaryzacjach i na emulatorze i na magnetofonie. Gratuluję zatem wierności emulacji :). Trzeba jednak pamiętać, że nagranie oryginalnego dumpa na taśmę nie jest miarodajne, np. próbowałem też z Joe Blade i w ogóle nie chciało mi się wczytywać w żaden sposób.

41

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Krótki napisał/a:

!00% wykrywalność błędów by wystarczyła :)

Hmmm... zależy komu :P.

Krótki napisał/a:

Racja. Niech blok będzie wyglądał tak: FUJI <nazwa>

Czytasz mi w myślach. Zresztą - to się samo narzuca.

Krótki napisał/a:

Prawdę mówiąc, noszę się z zamiarem usunięcia zapisywania długości także z bloków "data"/"fsk ", i przeniesienia tej wartości do komentarza na końcu linii (po ";").

No w sumie można sobie łatwo policzyć, ile jest bajtów. Więc przeciwko nic nie mam.

Krótki napisał/a:

Jak działa nie gorzej niż w "oryginalnym" Atari800, to jest dobrze.

Zwracam honor. Działa nie gorzej, a nawet lepiej, bo "oryginał" nie toleruje bloków 'data' z zerową długością :). Testowałem na tej grze z lenistwa, bo za jednym zamachem sprawdzałem właśnie bloki o zerowej długości.  Oczywiście nie używałem pliku cas z tpp, tylko przekonwertowany od nowa.
Tak przy okazji - jak to jest z legalnością publicznego udostępniania tych wszystkich programów ? Nikt się raczej w tych czasach nie będzie upominał o kasę za rozpowszechnianie, ale jak to formalnie wygląda, wie ktoś ? Z tego co pamiętam to w Polsce prawo autorskie chroni (lub chroniło) prawa autora chyba jakoś tak przez 70 lat...

Krótki napisał/a:

Masz magnet przerobiony na AST? Rób foty do Atariki! :)

A po co ? Wygląda jak każde XC12 :D.
No dobra, chodzi pewnie o elektronikę. Jak będę miał czym, to zrobię zdjęcia, ale nie wiem, kiedy to będzie.

Krótki napisał/a:

Ale jak wczytywałem na emulatorze, to np. Tiger Attack wczytywał się z błędami przy polaryzacji "najpierw zbocze opadające, potem rosnące".

Rzeczywiście. Jutro postaram się to jakoś sprawdzić w naturze.

Wracając do Turbo Rom-u. Jak przygotowywałem poniższy obrazek, to wyszło mi, że miałem do tej pory strasznego pecha i trafiałem na najgorsze przypadki. Po zgraniu paru innych fragmentów, a szczególnie świeżo nagranego, okazało się, że ogólnie nie jest aż tak źle, choć problem z przynajmniej niektórymi nagraniami pozostaje. Na poniższym obrazku (click) przypadki ekstremalne - najgorszy i "idealny", na różnych tasiemkach występują też stany pośrednie. W górnej części jest zsamplowany oryginał. W dolnej części ten sam fragment po skopiowaniu przy pomocy komputera i kopiera Turbo Rom na inną taśmę i ponownym zsamplowaniu w tych samych warunkach. Magnetofon podpięty do Atari wczytuje bez zająknięcia zarówno jedno jak i drugie. Bezbłędna obróbka tego górnego wydaje się niemożliwa (w tej postaci), dolnego raczej nie przysporzy żadnych problemów.
http://www.arus.net.pl/FUJI/a8cas-util/turborom-thumb.png
Jestem ciekawy, jak komuś innemu wyszła by próba zgrania do pliku audio innego materiału w formacie Turbo Rom na innym sprzęcie. Jak by ktoś mógł coś takiego zrobić, to proszę o udostępnienie dumpów.

42

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Krótki napisał/a:

(...)program w BUT wczytywał się bez widocznych oznak błędu do samego końca, po czym program leciał w krzaki. Zupełnie jak Hacker pod emulatorem.

Zgadza się. Jeśli chodzi o Hackera, to uszkodzenia są w okolicach 1'05.500'' (to łatwe do naprawienia przez wzmocnienie) i znacznie gorsze około 2'28.297''. Siedziałem nad tym trochę i niby udało się uzyskać wszystkie bloki w całości, ale teksty w grze, pomimo że niby działa, są nieczytelne.

Krótki napisał/a:

Liczę na to, że w którymś momencie konwersja do CAS będzie potrafiła przynajmniej pokazywać miejsca, gdzie dane nie są 100% pewne.

Pokazuje, natomiast problemem jest właściwe poprawienie, bez sumy kontrolnej to trudne.

Krótki napisał/a:

Nie rozumiem. Czy chcesz przez to powiedzieć że obrazy WAV które posiadasz są nieprawidłowo zgrane? Zawierają inne dane niż fizyczne kasety?

Sam zgrywam kasety, na dość porządnym deck-u Yamahy. Teraz nie mam czasu, ale trochę póżniej pokażę na obrazku, o co chodzi.

Krótki napisał/a:

A oto i nowa wersja A8CAS.

Ha!, Już się nie mogłem doczekać update-u :). Ja też nie próżnuję. Konwersja turbo działa mi coraz lepiej. Dodałem obsługę plików HEX, w związku z tym jedna propozycja: ponieważ w pliku cas może być wiele bloków FUJI, to zamiast umieszczać nazwę w drugiej linii pliku hex może lepiej zapisywać w nim bloki FUJi tak jak inne ?
Są też początki konwersji do plików binarnych (np. xex). W drugą stronę jeszcze nie, ale nie będzie to trudne, niedługo dodam więc funkcjonalność Turgena.

Krótki napisał/a:

obsługa SIO patcha do wczytywania i zapisu kaset

Działa, ale niestety jeszcze nie za dobrze. Próbowałem wczytać przekonwertowane spyvsspy z tpp, niby się wczytuje, ale na końcu jest crash. Bez sio patch-a działa.

Krótki napisał/a:

FUJI, weź zobacz czy nowa wersja działa z blokami "data" długości 0.

Jest OK. Dzięki za poprawkę, muszę dodać, że spodziewałem się pytania w stylu "a po co bloki data z zerową długością" ;). Generalnie takie bloki nie są potrzebne, można je konsolidować z następnymi blokami data, tyle że jeszcze tego nie zaimplementowałem i bug wyszedł przypadkiem.

Aha, potwierdziłem na prawdziwym sprzęcie, że polaryzacja sygnału nagrań AST (tudzież UM i ATT) rzeczywiście nie ma znaczenia.

43

(5 odpowiedzi, napisanych Software, Gry - 8bit)

Pliki można konwertować (najlepiej po podzieleniu na pojedyncze programy) przy pomocy a8cas-util.pl, jak ktoś pracuje pod Linuxem rzecz jasna :). Akurat przytoczone pliki maw-a są miernej jakości - przede wszystkim są zdumpowane za cicho, przy konwersji trzeba je wzmacniać nawet do 10x, żeby dostać wynik bez błędów. Niektóre fragmenty są uszkodzone, co w połączeniu ze zbyt cichym nagraniem nie pozwala poprawnie przekonwertować niektórych programów (sygnał nieraz prawie zanika na pojedyncze milisekundy). Poza tym faza sygnału jest odwrócona w stosunku do standardu, wymagana opcja "--invert". Niedługo na stronie zamieszczę przykłady z konwersją fragmentów tych dumpów.

44

(119 odpowiedzi, napisanych Sprzęt - 8bit)

digisoft napisał/a:

FUJI a kto powiedział że pracuję dla obcego kapitału :)

No jak to ? TURGEN Pepików jest, nie ? ;) A może Ty zza Tatr jesteś :D ?
(żartuję oczywiście)

Krótki napisał/a:

Dzięki. Aczkolwiek efekt jest dla mnie raczej bezużyteczny - chodziło mi o to, żeby mieć w ręku plik BUT ze 100% zweryfikowaną zawartością,

A, no to sorry. Nie sprecyzowałeś czego oczekujesz. A spać też trzeba ;).

Krótki napisał/a:

Brak weryfikacji podczas odczytu to jedna z bolączek systemu AST.

Hmm... Nie wiem (jeszcze) jak z BUT i BOT, ale w AST "AST" są przechowywane sumy kontrolne. Czy to znaczy, że nie są wykorzystywane pomimo przechowywania ? Jak zatem chcesz osiągnąć 100% weryfikowalność ? Przecież różnice w pojedynczych bitach lub nawet bajtach mogą dla gier nie mieć znaczenia...
Ja nie jestem tak do końca pewien, że weryfikacji nie ma. Drugi blok danych BUT (pierwszy ma 6 bajtów, chodzi mi o ten następny) może zawierać coś w rodzaju bloku informacyjnego formatu "AST"...?

Krótki napisał/a:

(...)to w przypadku Blizzardowych WAV-ów jitter jest nadal za duży (bo Blizzard ma krótsze impulsy niż AST)

To dziwne. Ja mam wrażenie, że mi z Blizzardem konwertowanie idzie lepiej niż z AST. A może z samym samplowaniem coś nie tak ? A spróbuj np. z -> tym plikiem.
Nawiążę od razu do Turbo Rom-u. Ten system jest najszybszy z wszystkich, którymi się  to zajmowaliśmy. Zdaje się, że podstawową trudnością będzie prawidłowe zgranie sygnału. Dostałem pierwszą garść informacji - zasada zapisu jest ta sama co przy innych systemach, czyli różne szerokości impulsów dla bitów  0 i 1. Sygnał z głowicy jest przepuszczany przez wzmacniacz o troszkę zmienionej charakterystyce niż w oryginalnym (niestety nie wiem na czym ta różnica polega) Potem bramka CMOS zmienia sinus na prostokąt. Najprawdopodobniej próbkowanie na normalnym magnetofonie nie daje tego samego wyniku co odtwarzanie na magnetofonie atari i stąd problemy.

EDIT:
Jeżeli jeszcze się przydadzą, oto sprawdzone, działające, przekonwertowane pliki. 'pwmc' jest już zapisane w zmienionym formacie, opis nowych bloków -> tutaj.
blinky, gremlins, gunfighter
Hacker niestety jest zbyt uszkodzony w przynajmniej jednym miejscu, żeby się z automatu przekonwertował. Myślę, że należało by go zsamplować trochę głośniej.
Blinky chyba jednak ma jakąś kontrolę parzystości - "suma" XOR dla wszystkich bloków (oprócz dwóch pierwszych ładujących loader) wynosi 0, to raczej nie przypadek.

45

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Ha! Zdrajco. Zamiast wspierać rodaków w wysiłkach chcesz pracować dla obcego kapitału ?! ;)

Taki plik znajdziesz kilka postów wyżej (gra w formacie blizzard). A opis sygnału Blizzarda jest na Atariki.

@Krótki: A czy przypadkiem, jak sam to nazwałeś, twój prymitywny dekoder PWM nie wyzwala zmian stanów logicznych na szczytach fal zamiast na zboczach ? To by tłumaczyło zarówno niekorzystne efekty (nie działanie fal prostokątnych) jak i nieczułość na odwracanie fazy (przynajmniej dla niektórych kształtów fal). Zerknij na moją funkcję latch(), chyba nie wiele mniej prymitywne podejście, ale na pewno wierniej naśladuje sprzęt. generalnie chodzi o to , że musi być jakaś minimalna różnica w poziomach sygnałów, żeby było wykryte zbocze. Domyślnie różnica u mnie wynosi 10, można regulować opcją --mindiff. Pamiętaj, że działam na próbkach 8-bitowych, więc przy 16-bitowych różnicę trzeba pomnożyć przez 256. Dodam tam chyba jeszcze jakiś kondensator, który przez jakiś czas był obecny w nieco innej implementacji i teraz mi go trochę brakuje.

46

(119 odpowiedzi, napisanych Sprzęt - 8bit)

No właśnie - emulator ładuje podejrzanie dobrze ;).

Pliki dla Krótkiego. Hacker BUT. Niestety, już dziś nie dałem rady przekonwertować dobrze do końca, najdłuższy blok jest rozerwany chyba w 2 miejscach. Ale początek się ładuje, na razie do testów  dekodowania PWM (czy o co tam chodzi) powinno wystarczyć. Swoją drogą  - plik oryginalny niby się ładuje do końca, ale jakieś śmieci mi się na ekranie potem pojawiają.
Przed konwersją musiałem odwrócić fazę sygnału, bo z oryginałem konwersja też idzie, ale dane wychodzą bez sensu. Jeszcze jedna rzecz - nie mam pojęcia, jak w formacie BUT kontrolować  poprawność danych, nie widzę niczego, co mogło by być sumą kontrolną, zresztą loader też się  zachowuje tak, jak by mu było wszystko jedno.

W archiwum są: plik cas, wav z falą prostokątną (nie ładuje się), wav z falą nieco "wygładzoną" (ładuje się, a przynajmniej mocno próbuje), log z konwersji, opcje ustawione przy konwersji. Polecenie wyglądało tak (uwaga - skrypt został odrobinę poprawiony, do ściągnięcia tam gdzie wcześniej):

./a8cas-util.pl conv --turbo ast --noise 0.01 --amplify 1.2 Hacker-t-rev.wav.

Oczywiście początek w standardzie odciąłem.

Plik -> hacker.tgz

47

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Krótki napisał/a:

Udało mi się zweryfikować, że programy AST wczytują się "lepiej" (mniej błędów), gdy "pierwsze" zbocze sygnału jest interpretowane jako 1 (celowo użyłem słowa "pierwsze", a nie "narastające" czy "opadające"). Kaseta z Arkanoidem działała przy obu interpretacjach chyba tylko przez przypadek.

No właśnie ma znaczenie, czy pierwsze to narastające czy opadające. Jeżeli zmieniasz interpretację bez odwracania sygnału, to oczywiście jedna z nich będzie działać lepiej. Natomiast zdziwił bym się, gdyby wczytywało się tak samo, gdybyś bez zmiany interpretacji zmienił polaryzację. Blizzard na mur tak nie zadziała (na real sprzęcie).

Krótki napisał/a:

Tylko nie wiedzieć czemu, po zakończeniu ładowania ml25-t.wav, Atari robi zimny start.

A ja wiedzieć. Typowy objaw właśnie przy ustawieniu odwrotnej polaryzacji sygnału. Zauważ, że jak zamienisz jedynki z zerami to suma kntrolna może się też zgodzić, więc nie będzie błędu 143, tylko komputer spróbuje uruchomić to co wczytał. Spróbuj odwrócić tego wav-a. Jeżeli nie pomoże, to proszę link do plików, który na jednym z komputerów mi się ładowały: altmorky.tgz. Sygnał jest odwrócony, a prostokąt zmieniony w prawie-piłę.

Krótki napisał/a:

Nie działa:
(...)

Dwie rzeczy: zapomniałem napisać - twoje pliki wav mają jakiś niestandardowy nagłówek i ecasound nie rozpoznaje prawidłowo częstotliwości próbkowania i ilości kanałów. Ja musiałem wczytać do jakiegoś edytora audio i zapisać na nowo. Druga rzecz - opcja "-t" nie działa (błąd w opisie), użyj --turbo (lub przynajmniej --tu).

Krótki napisał/a:

A "./a8cas-util.pl --man" wyświetla mi całą zawartość pliku źródłowego, a nie instrukcję.

To dziwne. Może to kwestia wersji modułu Pod::Usage, albo jego obecności w systemie albo obecności programu pod2html, pod2text...  Niewykluczone, że w niektórych dystrubucjach nie ma go standardowo, choć wydaje mi się, że to powinno być w głównym pakiecie perla.
Dodałem na wszelki wypadek link do manuala na stronie.

Krótki napisał/a:

Czy mógłbyś użyć swojego skryptu na jednym z plików BUT i podrzucić mi plik z prostokątną falą, analogiczny do Twojego morky.wav?

Jasne. Trochę później.

48

(119 odpowiedzi, napisanych Sprzęt - 8bit)

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 ;).

49

(119 odpowiedzi, napisanych Sprzęt - 8bit)

To właśnie była rzecz, o której nie mogłem sobie przypomnieć. Kontekst znaczenia takiej informacji jest jednak inny. Nie chodzi o prawidłowe odtworzenie zapisu dźwiękowego - bity0 i 1 bajtu aux1 determinują kolejność stanów niskiego i wysokiego tworzących bit, czyli tym samym kolejność zboczy, oryginalna postać zapisu może być na tej podstawie odtworzona. Dochodzi tu jednak kwestia hardware-u, który oryginalnie zapisał dane na taśmie i handlera, który te dane interpretuje przy odczycie. Jak pisałem wcześniej, bazując na handlerze z Atariki i magnetofonie, który posiadam, spotkałem zapisy blizzarda, dla których jedynkę wyzwala zbocze narastające i takie, w których było na odwrót. Jeżeli założyc, że handler zawsze jest taki sam, to konia z rzędem temu, kto ustali, który hardware jest "ten właściwy", a który nie. Nie ma też chyba gwarancji, że handler umieszczony na różnych cartridge-ach był zawsze taki sam - może różne wersje wymagały różnych kolejności stanów 0 i 1 ? Reasumująć - jeżeli chcemy przesłać cas do komputera, czy to po nagraniu na taśmę czy bezpośrednio przez złącze SIO, to trzeba po prostu próbować, czy zadziała. Dodanie informacji o której piszesz wymagało by, żeby ten, kto tworzy plik cas wiedział, jak działa interfejs jego magnetofonu i jak działa handler w jego catridge-u, a użytkownik cas musiał by dostosować swój sprzęt. Wydaje mi się więc, że dodanie takiej dodatkowej informacji jest nadmiarowe i zbędne. Natomiast decyzję, które zbocze co wyzwala można pozostawić np. oprogramowaniu (np. taki przałączniczek w "tape management" do zmiany hardware-u na inny, reagujący odpowiednio na dane zbocza).
Przypomniało mi się coś - programy narzędziowe dla AST rozróżniają magnetofony XC12 i 1010, to przykład, że soft musi się dostosowac do hardware-u, a na taśmie jest pewnie w obu przypadkach to samo.

Wracając do poprzednich tematów - oczywiście Twoja propozycja bloku 'pwmc' jest jak najbardziej słuszna. Po prostu łatwiej jest mi debugować, gdy każdy rodzaj impulsu idzie do oddzielnego bloku, ale docelowo niech będzie jak podałeś.

Jeśli chodzi o Turbo Rom - będę próbował podpytać autorów, jak to z tym jest. Perspektywa debugowania kodu loadera jakoś mnie nie pociąga ;). Podepnę tu (wieczorem) link do pliku cas z tym loaderem. Może ktoś dobry w te klocki i chętny do pomocy zerknie ? W tej chwili widzę 3 możliwe podejścia do tematu: a) samplowanie z częstotliwością 96000 i być może postępowanie jak przy innych formatach, b) założenie, że wykorzystywane są tylko narastające zbocza sygnału, c) impulsy odpowiadające zerom (bardzo słabe w porównaniu do jedynek i "rozmywające się") zignorować, a ilość zer określać na podstawie szerokości przerw między jedynkami.
Tak czy siak - chyba nie ma co czekać z dalszym poszerzaniem CAS - albo Turbo Rom się wpasuje w to co jest, albo rzeczywiście będzie inną opcją.

Do używania samplerate 96000 w plikach cas jak na razie mam taki sam stosunek, jak do zapisywania sygnału FSK z rozdzielczością 0.1 ms - uważam to za zbędne. Do celów debugowania przy konwersji można zapisywać coś takiego do hex, ale czy trzeba do cas ? A może zapisywać częstotliwość próbkowania nie w samplach na sekundę, tylko w setkach sampli na sekundę ? Albo przynajmniej w dziesiątkach sampli na sekundę (żeby można było zapisać 22050, ale poniżej 44100 chyba nie ma sensu schodzić) ? Albo zapisywać symbolicznie: 22,44,48,96 (bleeee) ? Wtedy dwa bajty wystarczą w zupełności i wszyscy będą zadowoleni ;). No, chyba że ktoś chce próbkować z częstotliwością np. 74834...

50

(119 odpowiedzi, napisanych Sprzęt - 8bit)

Na razie szybka odpowiedź, bo trochę nie mam czasu pisać - dobra wieść - Blizzard działa pod emulatorem przy użyciu pliku dźwiękowego utworzonego z cas-a, jak się włączy ręczne turbo :). Jedyna rzecz, którą trzeba uwzględnić, to "polaryzacja" sygnału, tzn. emulator reaguje poprawnie jak kolejność stanów jest jak dla AST, czyli wysoki-niski. Jitter może ci wychodzić właśnie z powodu odwróconego sygnału (programy do regulacji głowicy pokazują śmieci).
Poczekaj jeszcze trochę z ostatecznym dodawaniem nowych bloków, chcę ruszyć jakoś ten Turbo Rom. Generalnie tu niespodzianek nie ma (konwersja działa jako-tako, dość niepewnie). Nawiązałem kontakt z człowiekiem z "Plusa", może się od nich jakieś informacje uda wydobyć.