1

Od niedawna mam stereo. Zrobione prostym sposobem na barana wg opisu Pasia.

Zastanawiałem się czy trzeba przełączać mono/stereo w jakimś celu, bo przy ustawieniu stereo w zasadzie wszystkie gry, dema itd chodzą poprawnie (w sensie gra jeden Pokey, a drugi nie przeszkadza).

Tak więc mam cały czas ustawione stereo, nic nie przełączam i wszystko gra, bawię się tym od tygodnia mniej-więcej, przepuściłem mnóstwo gier i wydawało się, że wszystko jest w porządku.
Aż tu nagle odkryłem, że przy włączonym podwójnym Pokeyu muzyczki w Lasermanii grają tak jak by w instrumentach dwukanałowych (w sensie dwóch kanałów jednego Pokeya - nie mylić ze stereo) zanikał jeden z kanałów, czyli zamiast instrumentu "z powerem" robią się takie gładkie delikatne dźwięki. Dodatkowo w niektórych taktach nie gra np. perkusja. Przy czym jest powtarzalność tych przypadłości - tzn. za każdym razem muzyczki grają identycznie, no ale źle. Jak przełączę na mono (odłączony A4 przez drugą nogę NAND do GND), to wszystko jest normalnie i w porządku. Sprawdziłem na trzech wersjach Lasermanii, na każdej jest tak samo. Dziwne to dla mnie o tyle, że przecież Lasermania gra na jednym Pokeyu, więc w czym przeszkadza drugi?

Natomiast odkryłem coś jeszcze. Pobrałem CMC w wersji 2.2 stąd:
https://atarionline.pl/utils/3.%20Muzyk … nal%5D.atr

Na dyskietce są wersje 2.0 i poprawiona 2.2 (z poprawionym playerem). Jest też na tej dyskietce muzyczka z Lasermanii. I ta muzyczka w wersji 2.0 zachowuje mi się dokładnie tak jak w grze, natomiast jak ją odpalam w wersji 2.2, to jest ok bez względu na przełączenie wajchy mono/stereo.
Wg opisu tutaj:
https://atarionline.pl/utils/3.%20Muzyk … e%20PL.txt

- jest jakiś błąd w oryginalnym playerze CMC, ale nie wiem co ów błąd powinien powodować i czy właśnie takie przypadłości jakie u mnie występują są związane z tym błędem. Coś tam w opisie jest o adresach, z których by wynikało, że coś się odczytuje z drugiego Pokeya zamiast z pierwszego, ale nie wiem czy tam dobrze to rozumuję...

Czy ktoś mógłby ewentualnie się wypowiedzieć w temacie, albo sprawdzić u siebie czy też ma te same objawy przy stereo?
Zależy mi na potwierdzeniu co jest grane, bo stereo mam świeżo zrobione i nie wiem czy coś jest nie tak w moim egzemplarzu Atari, czy zachowanie jest normalne.

2 Ostatnio edytowany przez mono (2018-10-01 09:51:19)

Błąd w oryginalnym playerze zrobionym przez Pelca polega na tym, że do resetowania POKEY-a używa rejestru $D21F zamiast $D20F. Stąd kiedy masz Stereo to pierwszy POKEY gra źle bo po komunikacji z magnetofonu/stacji dysków zostają mu stare ustawienia, a resetowany jest drugi POKEY (a muzyka  Lasermanii gra tylko na pierwszym POKEY-u).
Nawiasem mówiąc w Lasermanii, Misji, Fredzie, Saperze i Klosie używany jest Avalon Music Composer a nie Chaos music Composer :) Ale błąd w obydwu playerach jest ten sam.

Edit: Problem nie objawia się kiedy ładujesz grę z dowolnego urządzenia które nie korzysta z komunikacji szeregowej (IDE+, SIDE), bo wtedy rejestry POKEY-a nie są przez procedury transmisji dotykane i POKEY jest zresetowany jeszcze przez procedurę RESET.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

3

Hmm, ale to chyba da się szybko poprawić jakimś hex-edytorem dla potomnych? Pytam, bo się nie znam, ale skoro do zmiany jest jedna komórka pamięci?

Sikor umarł...

4 Ostatnio edytowany przez Mq (2018-10-01 10:55:21)

Jest poprawiony player przez Jaskiera. Ale wyobrażasz sobie poprawienie wszystkich gier/programów, w których wykorzystano ten player z błędem? Dodatkowo ludzie cały czas tworzą nowe muzyczki w CMC i wykorzystują je w swoich produkcjach, każdy korzysta z innej wersji CMC i nigdy nie wiadomo kto jakiego playera użyje u siebie...
Ta wersja CMC, którą podlinkowałem tutaj w pierwszym poście (2.2) ma poprawionego playera i wszystko opisane gdzie co znaleźć. Z tego co wyczytałem, to jest chyba jedyna wersja CMC z poprawionym playerem.

Z drugiej strony, np. teraz słucham innych muzyczek i we Fredzie mi się nic nie dzieje. W sumie nie wiem nadal czy problem jest u mnie sprzętowy, czy problem z Lasermanią. Może tylko w niektórych muzyczkach będzie to miało znaczenie, w zależności od tego jakie funkcje Pokeya są wykorzystywane. Wówczas może warto poprawić taką Lasermanię. No ale najpierw bym prosił, żeby ktoś może sprawdził u siebie czy mu się na stereo takie rzeczy też dzieją. Ja mam stereo tylko w jednym kompie póki co, więc nie mam z czym porównać. Patrzyłem w emulatorze (Altirra), tam gra wszystko dobrze w Lasermanii pomimo ustawienia na stereo, ale może Altirra sobie swoimi procedurami takie rzeczy załatwiać i problem nie wystąpi... (?)

Edit: ok, potwierdziło się to co napisał mono. Wpadłem na pomysła jak odpalić Lasermanię bez SIO2SD u siebie. Wrzuciłem tą samą wersję Lasermanii na kartridż SIC! i jak odpalę z tego kartridża, to bez względu na ustawienie mono/stereo zawsze wszystko gra dobrze.
Czyli fajnie, pocieczenie jest takie, że wiem, że z moim kompem i ze stereo jest wszystko w porządku, a problem dotyczy jedynie samego playera w Lasermanii. A może jest już jakaś wersja Lasermanii z poprawionym tym playerem?

5

Sikor napisał/a:

Hmm, ale to chyba da się szybko poprawić jakimś hex-edytorem dla potomnych? Pytam, bo się nie znam, ale skoro do zmiany jest jedna komórka pamięci?

O ile poprawka w wersji oryginalnej sprowadza się do zmiany jednego bajtu w kodzie, o tyle w różnych krakowanych wersjach nie jest to już takie trywialne bo należałoby dane najpierw rozpakować, zmienić i potem spakować.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

6

Wystarczy poprawić jedną wersję i odpowiednio ją oznaczyć.
@Mq, chodziło o poprawę bezpośrednio w wersji gry. Obecnie chyba 99% osób piszących w CMC bazuje na "nowszych" wersjach, które działają prawidłowo. Zresztą muzyczki samoistne to nie problem - po prostu bierzemy odpowiednią wersję CMC i zapisujemy playera ponownie.

Sikor umarł...

7

Niby tak, wystarczy poprawić, ale ja nie umiem:-) A nie będę tu przecież wypisywał "zróbcie mi":-) hehehe
Umiem za to zrobić sobie przełącznik w stereo, więc zawsze mogę sobie przestawić wajchę:-)
Natomiast niezależnie od tego mam prośbę, żeby ktoś kto ma dwa Pokeye na pokładzie odpalił u siebie tą Lasermanię i sprawdził jeszcze dla pewności czy ma takie same zachowania. Czyli jak się wystartuje z SIO, to jest źle, a jak z karta/side/ide/sride to jest dobrze.

8

Trochę podepnę się pod temat, trochę odpowiem. Co prawda nie dotyczy to Lasermanii, ale analogiczne problemy zauważyłem z grą "Syn Boga Wiatru". Wczytywana przez SIO gra źle. Natomiast x_angel sprawdził, jak się zachowuje wczytana z kartridża i wtedy brzmi dobrze.
(Chętnie bym sobie zapatchował tę jedną grę, bo bardzo ją lubię, ale też nie umiem - spróbuję zgłębić temat w wolnej chwili. Co prawda z kodem maszynowym Atari doświadczenie mam zerowe, jednak opis problemu przedstawiony przez mono powinien okazać się "na chłopski rozum" wystarczający)

9

Ok, udało się, jednak wykonałem to na wersji "Syn Boga Wiatru (1993)(L.K. Avalon)(PL)[cr Mr. Bacardi]". Chciałbym zrobić to samo na wersji niezcrackowanej, jednak

mono napisał/a:

w różnych krakowanych wersjach nie jest to już takie trywialne bo należałoby dane najpierw rozpakować, zmienić i potem spakować

dokładnie to mnie blokuje. Mógłbym poprosić o podpowiedź, czy istnieją unpackery/packery dla atarowskich plików XEX, ale pod windowsa (ew. linuksa)? Sam nic nie znalazłem, a wersję nieskompresowaną "przerobiłem" edytorem HEX i przetestowałem na emulatorze, co jest bardzo wygodne i na pewno szybsze, niż gdybym wachlował kartą SD i robił to na oryginalnym Atari. Dlatego jeśli to możliwe, całe to rozpakowywanie i pakowanie też chciałbym ogarnąć na PC.

10

Sikor napisał/a:

Hmm, ale to chyba da się szybko poprawić jakimś hex-edytorem dla potomnych?

Załączam moje aktualne fixy.

Post's attachments

Lasermania (1990) Audiofix.xex 27.15 kb, liczba pobrań: 12 (od 2020-03-27) 

Syn Boga Wiatru Audiofix (1993).xex 53.82 kb, liczba pobrań: 10 (od 2020-03-27) 

Tylko zalogowani mogą pobierać załączniki.

11

Dzięki! Przetestuję w najbliższym czasie;-)

12

Dalton, wczytujesz do pamięci, czekasz aż się rozpakuje a potem zapisujesz zrzut pamięci, od adresu do adresu, poprawiasz, pakujesz

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C