426

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

Zajrzyj do FAQ (link gdzieś tu na górze strony) oraz tu. Daj znać jak nie pomoże.

427

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

Miło, że ktoś to wreszcie wyjaśnił we w miarę przystępny sposób.

pajero napisał/a:

Zaproponowałem przypisanie "nowych" klawiszy nie wraz ze wzrastającą liczbą kodu klawiszy, ale tak aby ułatwić ich przyszły montaż.

Z wprowadzeniem tych klawiszy jest pewien kłopot - o ile pamiętam, standardowy OS w przypadku takiej nietypowej wartości w KBCODE, się wiesza.

pajero napisał/a:

Ważną informacją jest, że POKEY podaje kody wszystkich wciśnięć w trakcie jednej ramki, czyli co parę linii. I tak w kółko. Odczytywać więc stany musimy, np. na przerwaniu DLI.

Dokładniej, POKEY sprawdza stan każdego kolejnego klawisza co 1 skanlinię obrazu. Zaczyna od A = 3f, i co skanlinię sprawdza stan kolejnego klawisza: S = 3e, G = 3d, Caps = 3c itp.

pajero napisał/a:

Powyżej napisałem o feler'ze linii z klawiszami Shift i Control. Jak widać z matrycy, pozostają nieobsadzone 5 kombinacje (wliczając w to Break).  Zwieranie wolnych linii z BSC nie robi na POKEYu żadnego wrażenia..... A może Wam się uda to zmienić?

A co tu można zmienić? POKEY sprawdza stan linii BSC (a raczej stan nóżki KR2) tylko w określonych momentach - raz sprawdza gdy aktualnie skanuje klawisz w 2. linii matrycy (wykrycie Break), raz w trakcie skanowania 6. linii matrycy (Shift) i raz w trakcie skanowania 8. linii matrycy (Control). W innych chwilach ta linia jest ignorowana.

pajero napisał/a:

"Upakowanie" kodów w linie skaningowe zależy od ilości "grup" wciskanych na raz. Dokładnie tego nie sprawdzałem. Bo nie jest to stałe jak na fotce - radzę odpalić program - po to go pisałem, by nie było takich pytań.

"Upakowanie" to wynika w prostej linii z faktu, że przeskanowanie całej matrycy zajmuje 64 skanlinie czasu. Upakowanie będzie różne w zależności od tego, które grupy klawiszy są wciśnięte, ale cały cykl powtarza się co 64 skanlinie.

pajero napisał/a:

Akurat tu trafiłeś w następne ograniczenie.
.....to jest przypadek wystąpienia pary (ZX) oraz pionowo przecinających się kolumn (Q A)

Nazywa się to key ghosting i można je zauważyć także bez wyłączania DEBOUNCE. Spróbujcie w BASICu nacisnąć naraz np. klawisze Control, K i 8, i powiedzcie czemu kursor przeskoczył do następnej linii :)

pajero napisał/a:

między trybem zwykłym, a debounce

Akurat "tryb zwykły" to jest właśnie "tryb debounce" - w tym sensie, że w zwykłym trybie funkcja DEBOUNCE POKEY-a jest włączona ;)

Dodam jeszcze, że:
- Po wyłączeniu DEBOUNCE przerwanie klawiatury jest generowane nie tylko raz, po naciśnięciu klawisza, ale za każdym razem, gdy POKEY w trakcie skanowania matrycy natrafi na naciśniętą grupę klawiszy. Czyli np. gdy naciśnieta jest grupa AS, przerwanie leci co 64 skanlinie; gdy naciśnięte jest więcej grup - odpowiednio częściej. (zob. "Upakowanie") W każdym razie nie trzeba sprawdzać aktywnie stanu KBCODE - wystarczy przechwytywać IRQ klawiatury.
- Ficzer był wykorzystany w konsoli 5200, gdzie konstrukcja joysticków (naciśnięcie każdego klawisza powoduje de facto zwarcie 2 sąsiednich punktów na matrycy POKEY-a) zniosła wymóg naciskania "grup klawiszy". OS 5200 domyślnie wyłącza DEBOUNCE i mamy za darmo wykrywanie wielu klawiszy joysticka naciśniętych naraz (aczkolwiek nie wszystkich kombinacji :( ).

Pajero, na przyszłość zapisuj obrazki w PNG. JPEG nie nadaje się do rysunków schematycznych.

428

(46 odpowiedzi, napisanych Programowanie - 8 bit)

Nie wiem, cytowałem Atariki.

Właściwie to jest ciekawa sprawa. W żadnej dostępnej literaturze nie ma informacji o tym, że w 6502 IRQ ma prioryter nad NMI - co więcej, źródła twierdzą coś wprost przeciwnego. Np. 6502.org:

Note also that if an NMI and an IRQ hit at the same time, the NMI has the higher priority and will get serviced first.

W dyskusji na AtariAge mówili, że nie jest to problem samego procesora, tylko specyficznej architektury Atari, i że nie występuje on w innych komputerach używających 6502. Być może powodem ignorowania NMI przez procesor jest fakt, że ANTIC umie zatrzymać zegar CPU.

Więc może informacje w Atariki są nieścisłe.

EDIT: A wystarczyło doczytać do końca :) Faktycznie chodzi o to, że jeśli CPU już zaczyna obsługiwać IRQ i w tym momencie na nóżkę NMI procesora przyjdzie sygnał, i jeśli dodatkowo sygnał ten jest krótszy niż 3 cykle, to przerwanie NMI zostanie zignorowane. Natomiast wszystko będzie dobrze jeśli sygnał NMI będzie dłuższy.

Tyle że w przypadku Atari, ANTIC ustawia linię NMI tylko na 2 cykle. Co więcej, podobno stara dokumentacja do 6502 mówi, że minimalny czas trwania sygnału NMI to właśnie 2 cykle. Można więc powiedzieć, że błąd jest nie tyle w procesorze, co w dokumentacji :)

A ponieważ 65C02 jest procesorem CMOS o zupełnie innej konstrukcji, to problem został w tym procku rozwiązany może nawet nieświadomie.

429

(46 odpowiedzi, napisanych Programowanie - 8 bit)

Na niektóre pytania odpowiedzi są w Resjestry POKEY-a oraz w dokumentacji
9. Wszystkie bity w IRQST poza 3. (XMTDONE) są zatrzaskowe. Tylko skasowanie danego bitu IRQEN powoduje zresetowanie odpowiedniego bitu w IRQST (poza bitem XMTDONE).
10. Tak, ale wyjątkiem znowu jest bit XMTDONE - nawet gdy przerwanie jest zablokowane, jego wartość może zostać przez POKEY zmieniona.

xxl napisał/a:

nie wiem czy to jest blad

W 65C02 i następnych zostało to poprawione, zatem wg twórców był to błąd.

430

(42 odpowiedzi, napisanych Bałagan)

Korekta czy poprawka tu nie będzie pasować - przecież nie każde revision zapisane w systemie kontroli wersji zawiera w sobie poprawkę, równie dobrze może to być dodanie nowej funkcji do programu.

Słowo "wersja" też nie oddaje idei - revisions to zmiany przyrostowe, ułożone w ścisłym porządku i wywodzące się jedna z drugiej - każda następna zastępuje poprzednią. A słowo "wersja" nie ma w sobie tego wymogu bycia w uporządkowanej kolejności, zastępowania. Samochód w wersji kabrio nie zastępuje auta w wersji kombi.

Koniec końców, zostaliśmy przy rewizji bo wszyscy intuicyjnie to słowo rozumieją, a przecież o to w gruncie rzeczy chodzi.

Ten z trójkątnymi przyciskami to Cheetah Marketing Mach1+, a ten drugi to Cheetach 125+ - ale w Polsce chyba były dostępne tylko podróbki no name (na Jacquesa zdjęciu widać, że oba pudełka są "podróbkowe").

Sam miałem 2 joysticki 125+; niestety brat je kiedyś komuś pożyczył i słuch o nich zaginął. Ma ktoś z was jednego (albo dwa) na sprzedaż?

432

(42 odpowiedzi, napisanych Bałagan)

:)

A` propos, jak na polski przetłumaczyć pojęcie "revision" używane w systemach kontroli wersji? Bo jakiś czas temu w firmie zastanawialiśmy się nad tym całkiem poważnie,... i zostaliśmy przy "rewizja" właśnie.

433

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

Dobre!

Na wkładkach w moim posiadaniu nie ma słówka CNTR, i czcionki są inne. Były dwie rewizje? ;)

434

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

FUJI napisał/a:

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ć ?

Bo dzięki temu możliwe jest debugowanie plików HEX, o którym pisałem tu. Ale dobrze by było, żeby konwersja z CAS/HEX do CAS/HEX nie psuła zawartości kasety - pomyślę nad tym w wolnym czasie.

FUJI napisał/a:

E tam, się nie da.

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

A całkiem serio, trudno jest "zwyczajną" nieregularność w sygnale na kiepskiej jakości taśmie od zmiany baudrate'u w środku bloku. Albo pozwalamy na nieregularności i ryzykujemy przeoczenie zmiany baudrate'u, albo dokładnie wykrywany zmianę lecz zmniejszamy tolerancję błędów, co powoduje że słabszej jakości bloki przestają się konwertować.

FUJI napisał/a:

Mimo to - obiecane linki:

Rzeczywiście - nic nadzwyczajnego ;)

FUJI napisał/a:

Spróbuj przekonwertować ten hex na cokolwiek i z powrotem i otrzymać taki sam hex (np. bezpośrednio hex->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.

Ale nie zrażam się, oto wersja eksperymentalna, w której bufor sygnałów jest przydzielany dynamicznie, wiec możesz ustawić --header-length=100 i będzie OK.

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

435

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

FUJI napisał/a:

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),

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.

FUJI napisał/a:

ale za to inne tasiemki przestały się konwerować, więc kombinuję dalej.

Automatu który bezbłędnie skonwertuje wszystkie taśmy _bez ingerencji użytkownika_ stworzyć się nie da. Ja u siebie rozwiązałem problem tak, że w szczególnie wrednych przypadkach użytkownik będzie musiał dostroić parę parametrów.


FUJI napisał/a:

Jak byś mógł udostępnić oryginalnego dumpa to był bym wdzięczny.

Wieczorkiem.

FUJI napisał/a:

W zamian ;) udostępnię inną tasiemkę, która też sprawia pewne problemy (obu konwerterom), chociaż w zasadzie wcale nie jest aż taka niezwykła.

A co to będzie?

FUJI napisał/a:

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.

Wiesz co? Sprawa jest śliska. Skoro do odtworzenia oryginału jest to zbędne, to można by przyjąć założenie, że ta informacja nie powinna być w pliku CAS. Proponuję taką "granicę abstrakcji": w pliku CAS znajdują się tylko informacje niezbędne do odtworzenia oryginalnej kasety (można wtedy się kłócić, czy opisy w blokach FUJI są zgodne z tym podejściem, ale na razie to pominę). Taka granica jest w jakiś sposób naturalna.

Poza tym, emulator i tak musi sam podjąć decyzję, jak interpretować dane z taśmy. Mamy przecież taki przypadek użycia:
- kaseta nagrana w Turbo A
- magnetofony w Turbo A tłumaczą zbocze opadające na sygnał 1 DATA_IN
- user wczytuję kasetę na magnetofonie dla Turbo B i oprogramowaniu, które pozwala na magnetofonie Turbo B wczytywać programy z kaset w Turbo A
- magnetofony w Turbo B tłumaczą zbocze opadające na sygnał 0 DATA_IN
Wtedy bit sugestii w CAS jest nie tylko niepotrzebny, ale i dezorientujący.

FUJI napisał/a:

Dobrze by było się zdecydować na jednolity format...

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 "). A co sobie każdy z nas będzie zrzucać do komentarzy, to już oczywiście bez znaczenia. Acha, i znak komentarza ";" ma nie być wymagany, jeśli komentarza nie ma w ogóle.

FUJI napisał/a:

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

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ć.

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

436

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

DOC/USAGE, sekcja "Keyboard, joystick and other controllers" (szczególnie "SDL keyboard, joystick and other controllers").

437

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

FUJI napisał/a:

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

A bo nie zrobiłem nic spektakularnego, czym możnaby się pochwalić.

Dziś natomiast wypuściłem wersję 1.1, z dodaną możliwością dostrajania parametrów konwersji WAV->CAS z poziomu wiersza poleceń. 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! Żeby poprawnie obsługiwać takie rekordy, musiałem przepisać na nowo spory kawałek kodu.

438

(26 odpowiedzi, napisanych Bałagan)

Lt_Bri napisał/a:

Strona programowa wygląda "troszku gorzej" (niby nawet spod basica jest to wykonalne** - ale przy moich "zdolnościach" tylko i wyłącznie niby...).

Strona programowa już jest - wystarczy użyć Koali albo Atari Artist z paddlami zamiast tabliczki graficznej.

439

(26 odpowiedzi, napisanych Bałagan)

BartoszP napisał/a:

na nieograniczonej powierzchni

To chyba będzie wymagać rozszerzenia RAM.

440

(2 odpowiedzi, napisanych Bałagan)

W pakiecie WAV2CAS jest wielki referat na temat zapisu/odczytu kaset. Jak przebrniesz, to wiesz już wszystko.

Gdzieś ktoś pisał.

442

(6 odpowiedzi, napisanych Bałagan)

Książka już jest u Kaza - tytuł i zawartość zgadzają się z pozycją "Atari Basic. Język programowania i obsługa mikrokomputera Atari" wydaną przez NOT ODKTRS.

443

(22 odpowiedzi, napisanych Programowanie - 8 bit)

A do sprawdzenia że DOS się załadował, to nie wystarczy sprawdzić flagi BOOT? ($09) ?

444

(22 odpowiedzi, napisanych Programowanie - 8 bit)

nosty napisał/a:

Nie wiem jaka jest roznica miedzy "No disk" a "Off" w AtariWin800 ale widocznie jakas istotna jest.

No Disk to stacja włączona, ale bez dyskietki. Na prawdziwym sprzęcie jak zostawisz włączoną stację bez dyskietki to też będziesz dostawał boot errory do końca świata.

nosty napisał/a:

A to juz jest zagadka, bo koncowka carta Action! jest bez sensu. Sprawdzalem kilka wersji.

+---------------------------------------------------------------------------+
| Type 15: OSS 'M091' 16 KB cartridge                                       |
+---------------------------------------------------------------------------+

This is the simpler one of OSS schemes. It uses only A0 and A3 address
lines:
A3=0, A0=0 - $A000-$AFFF: bank 1, $B000-$BFFF: bank 0
A3=0, A0=1 - $A000-$AFFF: bank 3, $B000-$BFFF: bank 0
A3=1, A0=0 - disable cartridge
A3=1, A0=1 - $A000-$AFFF: bank 2, $B000-$BFFF: bank 0

Zatem ostatnie bajty leżą na końcu banku 0, czyli pod offsetem 0ffa-0fff.

445

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

FUJI napisał/a:

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

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

FUJI napisał/a:

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 ?

Racja. Niech blok będzie wyglądał tak: FUJI <nazwa>
Sądzę że nie ma potrzeby zapisywania długości bloku, tak jak w blokach "data" / "fsk ". 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 ";"). Dzięki temu nie trzeba będzie pamiętać o zmianie długości bloku w przypadku ręcznego poprawiania HEX-a. Masz coś przeciwko?

FUJI napisał/a:

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.

Jak działa nie gorzej niż w "oryginalnym" Atari800, to jest dobrze. Może Spy vs Spy ma custom loader albo jakieś zabezpieczenie. Widziałem w Green Beret takie coś: po wczytaniu program sprawdza wartość RTCLOCK - jeśli jest za mała (gra z patchem wczytuje się parę sekund, więc wartość wychodzi za mała), to wpada w nieskończoną pętlę. Moze w SVS też coś namieszali - w każdym razie dzięki.

A nawiasem mówiąc, Spy vs Spy to błędny dump - na końcu rekordów kończących części nagrania, znajdują się nadmiarowe śmieci. Nie przeszkadza to we wczytywaniu, ale ja jestem pedant. Dely, załączam poprawioną wersję CAS-a:
http://students.mimuw.edu.pl/~tk197881/ ... vs_spy.cas
Od dawna leży tam też poprawione Kissin' Kousins (wersja w TPP ma błędy):
http://students.mimuw.edu.pl/~tk197881/ ... ousins.cas

FUJI napisał/a:

Generalnie takie bloki nie są potrzebne

Przydają się, żeby zapisać IRG dłuższe niż 65,535 sek.

FUJI napisał/a:

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

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

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

446

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

Soft się tworzy.

447

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

FUJI napisał/a:

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 ?

W AST to może i działa, ale pamiętam, że nierzadko zdarzało się, że 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.

FUJI napisał/a:

Jak zatem chcesz osiągnąć 100% weryfikowalność ?

Liczę na to, że w którymś momencie konwersja do CAS będzie potrafiła przynajmniej pokazywać miejsca, gdzie dane nie są 100% pewne. Wtedy będzie można zajrzeć do WAVa oczami :) i odgadnąć właściwe dane.

FUJI napisał/a:

Nawiążę od razu do Turbo Rom-u. (...) Najprawdopodobniej próbkowanie na normalnym magnetofonie nie daje tego samego wyniku co odtwarzanie na magnetofonie atari i stąd problemy.

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

FUJI napisał/a:

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.

Wiesz w którym miejscu? Możesz podać numer sampla? Przyjrzę się temu dokładniej.

FUJI napisał/a:

Blinky chyba jednak ma jakąś kontrolę parzystości

Blinky ma jakiś custom loader, więc to prawdopodobne.

Dzięki za przekonwertowanie plików, zajmę się nimi i tym Humanoidem jak będę miał czas. Na razie chcę się skupić bardziej na dokończeniu feature'ów dot. wczytywania w normalu (SIO patch itp.)

EDIT: A oto i nowa wersja A8CAS. Nowości:
- obsługa SIO patcha do wczytywania i zapisu kaset (na razie tylko w formatach CAS i HEX);
- obsługa WAV-ów z falą prostokątną;
- nowa opcja "Turbo system->Blizzard".

FUJI, weź zobacz czy nowa wersja działa z blokami "data" długości 0. Wygląda na to że poprawiłem, ale to Ty ten błąd znalazłeś :)

Poza tym, wrzuciłem na serwer kilka nowych plików AST. Miłej zabawy ;)

448

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

A cóż to ma do rzeczy?

449

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

FUJI napisał/a:

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ą.

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ą, który ładuje się poprawnie pod emulatorem, żeby na jego podstawie usprawnić proces wczytywania oryginalnego WAV-a. Teraz w sumie mogę sam go sobie przygotować, bo po ostatniej aktualizacji a8cas-tool zaczął działać bez problemu.

FUJI napisał/a:

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.

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

FUJI napisał/a:

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 ? (...)

Trochę się zmieniło od tamtego czasu - dorobiłem coś na kształt twojego latch - zmiana sygnału wykrywana jest dopiero gdy różnica między kolejnymi samplami jest większa niż "x" (konfigurowane przez użytkownika). Jednak efekty są nadal mierne - o ile pozwala to czytać AST oraz "prostokątnego" Blizzarda, to w przypadku Blizzardowych WAV-ów jitter jest nadal za duży (bo Blizzard ma krótsze impulsy niż AST). Muszę wymyślić mniej naiwne rozwiązanie. Aczkolwiek chcę uniknąć odwołać do ecasound i ladspa w źródłach liba8cas.

Prawdopodobnie skończy się to tak, że użytkownik będzie najpierw konwertował WAV do pliku CAS (podczas zapisu do CAS można dokonać bardziej dokładnej analizy) i używał emulatora tylko z CAS-ami, a wczytywanie z WAV-ów pozostanie kiepawe.

450

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

FUJI napisał/a:

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

Przecież "zmiana polaryzacji bez zmiany interpretacji" jest w 100% równoznaczna ze "zmianą interpretacji bez odwracania sygnału". Arkanoid z AST tak właśnie się wczytuje - działa niezależnie od interpretacji i polaryzacji (aczkolwiek inne pliki AST już się rypią).

Z Blizzardem widzę, że to nie zadziała - test głowicy pokazuje śmieci w przypadku zmiany polaryzacji/interpretacji. Ale i w tym przypadku dla software'u nie ma znaczenia wzrost czy opadanie sygnału, ale to czy jeden bit składa się z 1 i 0, czy z 0 i 1.

FUJI napisał/a:

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.

Dobra, spróbuję odwrócić interpretację. Ale zauważ, że sam plik morky.wav przy tej samej konfiguracji emulatora wczytuje mi się bez problemów.