1 Ostatnio edytowany przez Patrese (2019-06-12 22:01:09)

Cześć,

Dopiero stawiam pierwsze kroczki w ogarnianiu tego zestawu, kupiłem małe Atari po 30-letniej przerwie :) Oprócz tego że sikam ze szczęścia na widok dawnych klasyków, do szału doprowadza mnie jedna rzecz - mianowicie, dźwięk "pikania" podczas wczytywania z SIO2SD. Czy jest jakiś sposób na systemowe wyciszenie tego? W SIO2SD nie znalazłem takiej funkcji. Na forum też nie mogłem odnaleźć takiego wątku. Z góry dzięki, i sorry jeśli temat jest banalny ;)

2

jest na to panaceum. Dysk twardy do Atari. Raz, że nie pika a dwa - czyta kilkadziesiąt razy szybciej.

Kontakt: pin@usdk.pl

3

Pin napisał/a:

jest na to panaceum. Dysk twardy do Atari. Raz, że nie pika a dwa - czyta kilkadziesiąt razy szybciej.

Nie chciałbym kupować kolejnej dostawki po tym, jak wydałem prawie 300zł na SIO2SD, zresztą dobrze mi się tego używa. Nie ma sposobu używając właśnie SIO2SD?

4

z tego co wiem to jest - modyfikacja romu

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

5

Ścisz monitor w trakcie wczytywania. Podgłośnij jak się wczyta. I tyle.

Pamięć studenta ma charakter kwantowy - student wie wszystko, ale jednocześnie nic nie pamięta.
- Kilka(naście?) pudełek z klawiszami i światełkami. I jeden Vectrex, żeby nimi wszystkimi rządzić.

Wyzeruj komórkę $41.

7

Vasco/Tristesse napisał/a:

Wyzeruj komórkę $41.

Tak jak napisałem nie znam się za bardzo na ustawieniach systemowych :/ Można jakiegoś tutka?

8 Ostatnio edytowany przez jer (2019-06-13 05:32:43)

.

9

tak naprawdę jeżeli nie ma takiej opcji w menu/ustawieniach SIO2SD to będzie ciężko Ci ten problem rozwiązać w sensowny sposób. Jeżeli byłaby opcja w SIO2SD która zerowałaby komórkę $41 przed rozpoczęciem transmisji danych to byłoby to najsensowniejsze rozwiązanie. Niestety nie posiadam SIO2SD, więc nie mam zielonego pojęcia czy gdzieś w jego konfiguracji nie kryje się możliwość wyłączenie dźwięku podczas I/O.

10

SIO2SD musiałoby ustawiać coś po stronie kompa, a tak się nie da. Czyli sam komputer by musiał. Jedyna opcja - przy wczytywaniu fastloadera przy okazji ustawiamy $41. Bo inaczej to opcji nie ma - no bo i jak?

Pamięć studenta ma charakter kwantowy - student wie wszystko, ale jednocześnie nic nie pamięta.
- Kilka(naście?) pudełek z klawiszami i światełkami. I jeden Vectrex, żeby nimi wszystkimi rządzić.

11 Ostatnio edytowany przez seban (2019-06-13 10:50:21)

Jak to się nie da? Oczywiście że dałoby się zrobić... gdy SIO2SD miałoby zbootować jakiegoś ATR-a mogłoby podstawić podczas BOOT-a swój np.1-sektorowy boot-block, który to wyłączył by dźwięk I/O a następnie skoczył do procedury BOOT w OS-ROM ponownie, tym razem jednak z wyzerowaną komórką $41, oczywiście przed wywołaniem drugiego BOOT-a montowany byłby już docelowy ATR. A tak jak piszesz w przypadku loader-a plików binarnych (XEX) z tego co rozumiem wbudowanego w SIO2SD taka operacja (wyzerowanie $41 po załadowaniu i uruchomieniu loadera) to już żaden problem.

Tyle tylko że ktoś musiałby usiąść i takie zmiany zaimplementować :) Do kompletu ... może to zabrzmi dziwnie... ale dźwięk podczas operacji I/O pewnie dla większości atarowców to przysłowiowy "miód na uszy" :D

12

miód i owszem, ale tylko z magnetofonu w standardzie :)

Cuda wianki i nie tylko :) POKEY 4ever ;)

13

seban napisał/a:

może to zabrzmi dziwnie... ale dźwięk podczas operacji I/O pewnie dla większości atarowców to przysłowiowy "miód na uszy"

W sumie mi nie przeszkadza to podczas ładowania, ale grając na 130XE w "Duszpasterza Rzygonia" ten pisk napi* nawet przy wejściu do inventory gdy dane się doczytują. Zwariować można :)

14 Ostatnio edytowany przez Mq (2019-06-13 11:12:22)

@seban: tak jest! Dźwięk wczytywania to po prostu nieodłączna część Atari i bez tego nie ma klimatu. Mnie osobiście w drugą stronę wkurzają gry, które ten dźwięk wyłączają podczas wczytywania. Nie rozumiem ludzi, którzy niby cieszą się że mają żywy sprzęt, ale chcą go tego życia pozbawić.

@Patrese: Duszpasterz jest też w wersji plikowej i wczytuje się w całości na raz, tylko wymaga rozszerzonej pamięci.

15

ok to już wiemy jak wyłączyć dźwięk.
A jak jest on generowany? każdy bajt odebrany kopiowany jest do jakiegoś rejestru Pokeya?

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

16 Ostatnio edytowany przez seban (2019-06-13 11:32:14)

Patrese napisał/a:

W sumie mi nie przeszkadza to podczas ładowania, ale grając na 130XE w "Duszpasterza Rzygonia" ten pisk napi* nawet przy wejściu do inventory gdy dane się doczytują. Zwariować można :)

A w takim wypadku to najszybciej będzie zwrócić się do autora gry o patch-a. Sądzę że taką poprawkę może wprowadzić do gry :D

Cyprian napisał/a:

A jak jest on generowany? każdy bajt odebrany kopiowany jest do jakiegoś rejestru Pokeya?

W przypadku transmisji danych dwa generatory POKEY-a są łączone w jeden 16-bitowy, ten połączony generator robi jako "baud rate generator" dla logiki portu szeregowego... ale jak wiadomo każdy rejestr/kanał dźwiękowy oprócz częstotliwości ma również swoją głośność... w przypadku dźwięku I/O (gdy komórka $41 ma wartość różną od zera) do tej. określających głośność wpisywane jest chyba $A8, gdy $41 jest zerem głośność kanału jest ustalana na zero.

Teoretycznie niczego nie powinno być słychać, bo BRG jest ustawiany poza częstotliwością słyszalna dla człowieka... piszę teoretycznie bo w praktyce jest inaczej... Przydźwięk I/O

17

@Cyprian: pyton Ci uciekł? ;)

Cuda wianki i nie tylko :) POKEY 4ever ;)

18

Znalezione:

"Jak napisano, przydźwięk kontrolny generowany jest tylko podczas odczytu, ale jednak zapis też nie jest całkowicie bezgłośny: w przypadku "normalnych" urządzeń szeregowych SIO (tj. wszystkich oprócz magnetofonu) źródłem dobiegających wtedy z głośnika postukiwań czy też chrupnięć są nadsyłane przez urządzenie potwierdzenia odbioru komend i danych. Natomiast zapis na magnetofon jest, jak napisano powyżej, realizowany akustycznie w trybie dwutonowym, stąd dźwięk.

Przydźwięk można wyłączyć zerując rejestr systemowy IOSNDEN ($41), co powoduje, że procedury szeregowe OS-u redukują głośność w kanale AUDF3/4 do zera i dźwięk milknie; normalnie zaś stosowanym poziomem głośności jest 8."

Ok czyli w jaki sposób można ten rejestr wyzerować? To jest ingerencja w plik wykonywalny gry, plik systemowy? Trzeba to robić za każdym razem wpisując jakieś polecenie w BASIC-u?

19

Znalezione:

"Jak napisano, przydźwięk kontrolny generowany jest tylko podczas odczytu, ale jednak zapis też nie jest całkowicie bezgłośny: w przypadku "normalnych" urządzeń szeregowych SIO (tj. wszystkich oprócz magnetofonu) źródłem dobiegających wtedy z głośnika postukiwań czy też chrupnięć są nadsyłane przez urządzenie potwierdzenia odbioru komend i danych. Natomiast zapis na magnetofon jest, jak napisano powyżej, realizowany akustycznie w trybie dwutonowym, stąd dźwięk.

Przydźwięk można wyłączyć zerując rejestr systemowy IOSNDEN ($41), co powoduje, że procedury szeregowe OS-u redukują głośność w kanale AUDF3/4 do zera i dźwięk milknie; normalnie zaś stosowanym poziomem głośności jest 8."

Ok czyli w jaki sposób można ten rejestr wyzerować? To jest ingerencja w plik wykonywalny gry, plik systemowy? Trzeba to robić za każdym razem wpisując jakieś polecenie w BASIC-u?

20 Ostatnio edytowany przez xxl (2019-06-13 12:09:41)

jesli to sa gry plikowe zrobilbym to tak, dolacz na poczatek pliku blok:

FF FF 41 00 41 00 00

ale chyba najlepszym sposobem byloby zmodyfikowanie bootloadera sio2sd tak zeby sam zerowal ta komorke.

dobrym rozwiazaniem by bylo takze przekonanie autora konfiuratora o dodanie mozliwosci wyciszania (a moze juz to jest?)

http://atari.pl/hsc/ad.php?i=1.

21

sun napisał/a:

@Cyprian: pyton Ci uciekł? ;)

no właśnie tam nie ma ani jednej linii pajtona tylko czysty JS. muszę odzyskać dane i skorygować jeden nagłówek

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

22 Ostatnio edytowany przez seban (2019-06-13 21:43:08)

@Patrese:

ponieważ Duszpasterz jest uruchamiany z poziomu MyDOS-a, a w środku ATR-a jest zwykły .XEX to poprawka była szybka: Duszpasterz Jan Rzygoń_P.atr, tylko zamiast ładować rzygon.xex załaduj sobie rzygon_p.xex

EDIT: finalna wersja wersja gry w wersji 1.2, fabrycznie zawiera wyciszenie dźwięków I/O, na co zwrócił uwagę mgr_inz_rafal, zatem wersja 1.2 do pobrania tutaj:

Duszpasterz Jan Rzygoń (2016-01-02)(Mgr. Inz. Rafal)(PL).atr

23

seban napisał/a:

@Patrese:

ponieważ Duszpasterz jest uruchamiany z poziomu MyDOS-a, a w środku ATR-a jest zwykły .XEX to poprawka była szybka:

Duszpasterz Jan Rzygoń_P.atr

tylko zamiast ładować rzygon.xex załaduj sobie rzygon_p.xex

Dziękuję Ci bardzo! Możesz mi podpowiedzieć jak to zrobiłeś, żebym mógł to zmienić w kilku innych ATR-ach?

24

xxl napisał/a:

jesli to sa gry plikowe zrobilbym to tak, dolacz na poczatek pliku blok:

FF FF 41 00 41 00 00

ale chyba najlepszym sposobem byloby zmodyfikowanie bootloadera sio2sd tak zeby sam zerowal ta komorke.

dobrym rozwiazaniem by bylo takze przekonanie autora konfiuratora o dodanie mozliwosci wyciszania (a moze juz to jest?)

Właśnie o zmodyfikowaniu loadera myślałem, bo to załatwiłoby sprawę dla wszystkich ładujących się plików. Pytanie tylko jak?

25 Ostatnio edytowany przez seban (2019-06-13 16:34:53)

Hej!

Akurat "Duszpasterz" był łatwym przypadkiem, zakładam że masz windows jako główny system operacyjny, więc czyniąc to założenie można to zrobić tak...

Uruchomiłem plik ATR zawierający ową grę, zobaczyłem że wystartował MyDos:

http://seban.pigwa.net/aa/rzyg/rz01.png

po obejrzeniu katalogu, wcisnąłem klawisz "1" aby obejrzeć katalog dyskietki #1:

http://seban.pigwa.net/aa/rzyg/rz02.png

... okazało się że widnieje tam plik "rzygon.xex", a więc zwykły binarny plik DOS-u, zatem należało do niego dodać kawałek kodu zerującego komórkę $41... można było to uczyć na dwa sposoby, poprzez napisanie kawałka kodu w ASM, i dołączenie tego kodu wraz z segmentem INIT na początku pliku "rzygon.xex", albo skoro zmieniac mamy tylko jeden bajt w pamięci można dołączyć odpowiedni nagłówek na początku pliku. Można tego dokonać z poziomu samego MyDOS, plus mała pomoc ze strony BASIC-a.

Jako że w chwili gdy robiłem "patch" miałem pod ręką tylko emulator, przeniosłem plik "rzygon.xex" z ATR-a do filesystemu na komputerze PC, można użyć np. emulatora Altirra, należy włączyć w nim emulację wirtualne dysku twardego, dodajemy urządznie "H:" w menu System -> Configure System -> Devices:

http://seban.pigwa.net/aa/rzyg/rz03.png

potem wskazujemy ścieżkę gdzie będą się znajdowały pliki:

http://seban.pigwa.net/aa/rzyg/rz04.png

po tej operacji możemy przenieść z poziomu MyDOS-a plik na dysk twardy:

http://seban.pigwa.net/aa/rzyg/rz05.png

mając już plik "po stronie PC", należy przygotować plik zawierający sekwencję wyłączającą dźwięk podczas I/O, można użyć dowolnego edytora HEX pod windows, np. HxD:

http://seban.pigwa.net/aa/rzyg/rz00.png

po zapisaniu tego małego pliku należy go dołączyć do istniejącego "rzygon.xex", z linii poleceń można to uczynić następująco:

copy /b silent_io.bin + rzygon.xex rzygon_p.xex

po tej operacji pozostaje już tylko skopiowanie pliku "rzygon_p.xex" na powrót do pliku ATR:

http://seban.pigwa.net/aa/rzyg/rz06.png

... i to jakby wszystko. Uruchamiając "rzygon_p.xex", uruchomisz po prostu plik z dodaną sekwencją wyciszającą I/O.

Jeżeli chcesz to zrobić na komputerze, nie mając do dyspozycji PC, to z pomocą przyjdzie również MyDos, który jest na "dyskietce" oraz wbudowany w ROM Atari interpreter BASIC. Pierwsze co należy zrobić to uruchomić komputer z tej dyskietki z włączonym BASIC-iem, ew. użyć opcji M, wpisać adres "E477", komputer się zrestartuje z BASIC (nie należy oczywiście trzymać OPTION).

Po tym gdy załaduje się DOS i uruchomi się BASIC (napis READY na ekranie) wpisujemy następujący kod:

10 OPEN #1,8,0,"D:RZYGON_P.XEX"
20 TRAP 40
30 READ A:PUT #1,A:GOTO 30
40 CLOSE #1
50 DATA 255,255,65,0,65,0,0

Po wpisaniu kodu uruchamiany program pisząc "RUN", po chwili po tej operacji na dyskietce powinien pojawić się plik "rzygon_p.xex", należy do niego dołączyć plik "rzygon.xex", można to zrobić również z poziomu MyDOS-a. Przechodzimy do DOS-a z poziomu BASIC-a pisząc DOS, a potem używając polecenia "Copy" (klawisz C) w menu MyDOS, łączymy plik "rzygon.xex" z przed chwilą stworzonym plikiem "rzygon_p.xex":

RZYGON.XEX,RZYGON_P.XEX/A

Restart komputera z wyłączonym BASIC-iem, oraz uruchomienie "rzygon_p.xex", spowoduje uruchomienie gry z wyłączonym dźwiękiem I/O.

Tyle że cała przedstawiona operacja tyczyła się tej konkretnej produkcji, na dyskietce maiłeś normalny file-system, DOS-a, etc. Jeżeli dyskietka lub plik ATR zawierają produkcję która jest programem typu BOOT i nie zawiera żadnego systemu plików sytuacja się komplikuje, i do sprawy należy podejść indywidualnie.

Oczywiście owy plik zawierający te 6 bajtów ($FF,$FF,$41,$00,$41,$00,$00) dołączysz sobie na początku dowolnego pliku .XEX, to o ile sam plik i segmenty INIT nie włączą sobie ponownie dźwięku I/O... to takie pliki .XEX będą się wczytywały po cichu już po odczytaniu pierwszego sektora zmodyfikowanego pliku.