1,401

(9 odpowiedzi, napisanych Bałagan)

I język programowania C=.

1,402

(10 odpowiedzi, napisanych Programowanie - 8 bit)

Potoki są chyba od 4.4x więc powinno śmigać "od zawsze".

1,403

(10 odpowiedzi, napisanych Programowanie - 8 bit)

Dziś coś dla miłośników BASIC-a.
Otóż aby automatycznie uruchomić program BASIC-owy z BASIC-a pod SDX można z linii poleceń wykonać oto:

ECHO RUN"D:PROGRAM.BAS|BASIC

i cieszyć się, cieszyć, cieszyć...
Nic nie stoi na przeszkodzie wypreparować sobie odpowiedni AUTORUN.BAT na dyskietce i mieć automatyczne odpalanie programu BASIC-owego z głowy po wsze czasy. Bez żadnych dodatkowych nakładów - pure SDX solution.

Edit: A używając najnowocześniejszych osiągnięć myśli polskiej:

ECHO RUN"D:PROGRAM.BAS|UBI.EXE

1,404

(79 odpowiedzi, napisanych Zloty)

Ja też dziękuję za świetną imprezę. Były piękne prace, atmosfera, Towarzystwo, klimat, tak więc z całą premedytacją intensywnie przez cały weekend marnowaliśmy termin piknikowo-kiełbaskowy.
Głuchołazy są pięknym miasteczkiem i w niedzielę nie mogliśmy z nich wyjechać - siedzieliśmy sobie na promenadzie i marnowaliśmy czas :) Przy okazji dowiedziałem się kto to jest Priessnitz i Kneip. Potem wycieczka do zamku Moszna Huberta von Tiele-Winckler'a. Okazało się, że Pinokio nie kłamał ni słowem i zamek jest faktycznie bajkowy. Barok, neogotyk i jakiś trzeci styl, którego nazwy nie pomnę.
Rysiu - wielkie dzięki za imprezę! I gdzie my znajdziemy takie drugie locus solus :/ ?

Edit: A w ogóle to Głuchołazy po łacinie to Capricolum. Czyli Kozia Szyja.

1,405

(22 odpowiedzi, napisanych Fabryka - 8bit)

Opcja /0 używa niemodyfikowanego playera. Nadaje się tylko dla 1.77 MHz żeby odtwarzać muzykę maksymalnie wiernie z oryginałem. Dla turbo jest player zmodyfikowany. W overlay powinno działać (odpalałem na Altirra z VBXE, bo nie mam na czym sprawdzić) - musisz mi to pokazać. Warto dopalić banki 0,1 i 2, bo player używa ZPG dla rejestrów roboczych, natomiast sam lokuje się na MEMLO, czyli może być gdzieś w pamięci podstawowej. Pamięć pod ROM nie jest wykorzystana.
Z czym dokładnie jest problem w turbo?

1,406

(73 odpowiedzi, napisanych Fabryka - 8bit)

Działa świetnie! Gra BEVERLY HILLS, chodzi Stary Dom i nawet SoftSynth oryginalny działa z SDX. Dzięki Draco :)

@Sikor: Może byś następną edycję Prima Aprilis Compo zrobił z użyciem U-BASIC-a? 1. Działa na standardowym Atari. 2. Obliczenia przeprowadza szybciej. 3. Daje więcej RAM-u, a więc czy wyobrażasz sobie jakie Prima Aprilis Demo możemy w 2016 zrobić?

1,407

(22 odpowiedzi, napisanych Fabryka - 8bit)

Wersja 0.2 playera.
Zrobiłem pomiar częstotliwości odtwarzania i przeliczanie częstotliwości do prędkości maszyny.
Poprawki wymagały:
- nuty,
- odległości w interferencjach (INT),
- głębokość wibracji (VIB),
- częstotliwość i głębokość glissanda (>).
Dodatki:
- "opcja 0" czyli /0 - włącza oryginalny player dla jednego POKEY-a,
- /Q wyłącza wypisywanie tekstów instrukcją "?",
- /A adres drugiego POKEY-a,
- automatyczne rozszerzenie .SS :],
- instrukcja "?" wypisuje teksty na konsoli.
Domyślnie odpalany jest player zmodyfikowany.

Nasunęło mi się kilka wniosków:

1. Zmodyfikowana procedura dla stereo powoduje niższą częstotliwość odtwarzania. Niesie to za sobą ograniczenia w wartościach regulujących interferencje - w oryginalnym SoftSynth maksymalnie można interferować o 43 Hz. Zmodyfikowany player nie będzie grał poprawnie interferencji wysokich - górna granica leży gdzieś na poziomie 36 Hz. Da się to naprawić w innym miejscu playera lecz wymaga zmiany wewnętrznego formatu zapisu danych w MASIC-u. Na razie więc odpuściłem, tym bardziej że w dostępnych utworach dźwięki interferują o 1,2,3 Hz.

2. Ponieważ interferencje i wibracje przebiegają wolnozmiennie, to dla CPU szybszych niż standardowe 1.77 MHz wyliczane delty są mniejsze, a co za tym idzie należałoby dołożyć dodatkowy bajt dla osiągnięcia odpowiedniej precyzji, co z kolei powoduje wydłużenie pętli syntezy o kolejne 32 cykle. Dla standardowego Atari 1.77 MHz częstotliwość syntezy spada wtedy do 8293 Hz, co w porównaniu z 10983 Hz osiąganym przez standardowy player oznacza syntezę z prędkością 75% oryginału. Myślę więc, że nie warto modyfikować dalej playera pod kątem standardowego Atari 1.77 MHz, za to warto to zrobić dla turbo (X14, Rapidus, itd.).

3. Glissando w SoftSynth definiowane jest np. tak:

100 1,C,15,100,100,>C1,głębokość,czas przejścia

Mam poważne obawy, że czas przejścia jest przez player SoftSynth-a ignorowany! Czy ktoś mógłby to potwierdzić?

4. W artykułach w "Moje Atari 1990 nr 2" i  "Moje Atari 1991 nr 3" dotyczących SoftSynth-a, częstotliwość C opisana jest jako 216 Hz - w rzeczywistości jest to 261 Hz.

5. Podczas stosowania efektów player (również oryginalny) potrafi zwolnić - słychać to np w utworze Kuby Husaka Radioactivity. Czy da się takie sytuacje skorygować podbijając np częstotliwość nuty o 1, 2 Hz?

6. Stosowanie panoramy dźwięku (/P) jest ograniczone przez interferencje kanałów i dlatego przy sztywnej separacji kanałów na różne układy muzyka może grać niepoprawnie - pozostaje to tylko jedynie jako ciekawostka, gdyby ktoś chciał poeksperymentować. Prawdziwe korzyści dałaby synteza na 8 kanałach (dwóch układach) ze sztywno przypisanymi kanałami 1..4 do lewego POKEY-a, oraz 5..8 do prawego POKEY-a. I może taką modyfikację warto by zrobić. Oczywiście bez dodatkowych narzędzi pozwalających na przetworzenie źródła programu w MASIC-u do modułu .SS i listującego .SS w postaci źródła programu się nie obejdzie. Tudzież trackera pozwalającego na komponowanie takich utworów. No ale to ma szansę zadziałać na dopale. Do gołego Atari proponuję oryginalnego SoftSynth-a.

7. Problem z odpaleniem oryginalnego SoftSynth-a pod różnymi DOS-ami polega na dwóch plikach: INSERT1.SYN i INSERT2.SYN, które lokują się w obszarze $600..$70F. W załączeniu zoptymalizowane pliki INSERT1.SYN i INSERT2.SYN pozwalające na działanie SS np. z U-BASIC-em by Draco. Prawdopodobnie Draco w swojej wersji SoftSynth-a pracującej pod SDX to zrobił więc dla tamtej wersji proszę nie aplikować poprawki - poprawka jest wyłącznie na oryginalną wersję SoftSynth-a.

Tak więc przez wzgląd na małą precyzję akumulatora fazy player nie będzie poprawnie grał muzyczek na dopalonym Atari i należy go traktować tylko testowo. Dźwięk nut nie powinien odbiegać od oryginału - problematyczne są tylko efekty.
Player w "opcji 0" powinien grać poprawnie wszystko, bo nie jest modyfikowany :)

Zapraszam do testowania.

1,408

(22 odpowiedzi, napisanych Fabryka - 8bit)

Procedura pomiarowa uruchamia przerwanie z częstością 200Hz jak w SoftSynth. Ta procedura odmierza 50 ramek w PAL i z nią synchronizowany jest start procedury syntezującej SoftSyntha trwającej 148+16 cykli, ale akumulatory fazy używane są tym razem jako liczniki wywołań playera - czyli do obliczenia częstotliwości syntezy. No i tyle wychodzi.

1,409

(22 odpowiedzi, napisanych Fabryka - 8bit)

Zmodyfikowany player (148+16 cykli CPU na cykl syntezy) wypisuje na Altirrze:
* 1.77 MHz - 9911 Hz,
* 7 MHz - 34573 Hz,
* 14 MHz - 54484 Hz,
* 21 MHz - 68258 Hz.

Standardowy player (148 cykli CPU na cykl syntezy) działa z 10983 Hz.

1,410

(22 odpowiedzi, napisanych Fabryka - 8bit)

Chory świat.
Niech będzie .SSY.

Pin napisał/a:

1. W trybie overlay vbxe player generuje pierwszy dźwięk z początku modułu i leci w pętle bez końca. Sprawdzę, czy w okrojonym ze stawie sterów coś jest inaczej. Na RC_GR8 działa.

Jak pisałem - poprawione i będzie za chwilę.

Pin napisał/a:

2. na 100% OURWOD1. gra nieprawidłowo. Coś cię jakby poprzesuwało i czegoś brakuje. Dodatkowo moduł ten rozleci się bardziej, jeśli zaplanujemy np. taki rozkład kanałów:

/P -1,0,0,1

Dziwna sprawa, bo odpaliłem to z wersją dla SDX od Draco i gra tak samo. Może coś z instrumentami się popsuło. Kuba miałbyś może gdzieś źródła z instrumentami?

Pin napisał/a:

3. "Wodospadem Czasu" gra dobrze, lecz po rozplanowaniu kanałów j.w. sypie się perkusja. Reszta gra jak by ok.

3a. :)- dla "Wodospadem Czasu": lepiej działa panorama /P 0,-1,1,0. W takim przypadku gra jak by dobrze.

Dziwna sprawa. Może Kuba gra dwoma instrumentami które sumarycznie dają mu żądane brzmienie?

Pin napisał/a:

4. Oczywiście zrobiłem też tak, jak mówiłeś by nie robić. Odpaliłem to na dopale. Tu chyba jest potencjał :D. Tempo trzyma, ale gra ze 3-4 oktawy wyżej. Czas wybrzmiewania instrumentów OK.

Tempo i wybrzmiewanie są taktowane 200Hz na DLI więc siłą rzeczy są niezależne od sprzętu. Sama synteza dźwięku idzie pełną parą, więc na pewno będzie wyżej :) Trzeba określić prędkość maszyny i przeliczyć delty. I wtedy w stereo będzie grało dobrze i na Rapidusie też. Ale to kwestia przyszłości (może się nie da bez przebudowania programu syntezującego).

Ech miło byłoby mieć też dodatkową instrukcję do panoramy kanału w SoftSynth :)

1,411

(22 odpowiedzi, napisanych Fabryka - 8bit)

Na dyskietkach z SoftSynth-em są już pliki .SYN - są to pliki używane przez program: binarne, BASIC-owe, zwykłe dane.
Rozszerzenie .SYN zarezerwował też Święty w swoim SynthTrakerze.

Edit: Mogłoby dojść do pomyłki kiedy to zwykły użytkownik usiłowałby odpalić takie pliki z playerem do SS a tego byśmy jednak nie chcieli.
Aktualnie program bierze plik jaki się mu wskaże i nie dokleja żadnego rozszerzenia - kojarzenie po rozszerzeniach realizuje RUNEXT.SYS więc można zdefiniować sobie dowolne przypisanie. Jak jakieś rozszerzenie się ustali to wrzucę do playera.
A czemu nie może być .SS? :)

1,412

(22 odpowiedzi, napisanych Fabryka - 8bit)

Dzięki Pin. Bug z p.1. zgłosił już Draco więc w CVS jest poprawka. Przyjrzę się reszcie rano.

1,413

(22 odpowiedzi, napisanych Fabryka - 8bit)

@drac030: Ja to bym się skłaniał bardziej ku .SS. .MUS jest już zajęte na muzykę z SoundMachine.

@skrzyp: Magii nie używamy w RUNEXT.SYS - tylko rozszerzenie. Za to player sobie sprawdza czy plik jest tym, czego oczekuje i robi to właśnie magicznie.

1,414

(22 odpowiedzi, napisanych Fabryka - 8bit)

Player modułów SoftSynth-a dla SDX.
Funkcje:
- często używane parametry w zmiennej środowiskowej SSPLAY,
- detekcja drugiego POKEY-a,
- panorama /P p1,p2,p3,p4 w przypadku dźwięku stereo.
Programik gra trochę niżej (16 cykli CPU na cykl odtwarzacza) ze względu na panoramowanie stereo.
Program nie obsługuje rozkazów "/".
Proszę uruchamiać na standardowej prędkości Atari (dla Rapidusa na razie nie są przeliczane częstotliwości i czasy).

Wszelkie bugi i żądania mile widziane.
Smacznego.
P.S. Z programem załączyłem wszystkie znalezione muzyczki.
P.P.S. Wymagana SDX 4.47.

Edit: Ze względu na fakt, że sam SoftSynth nie definiuje domyślnego rozszerzenia (i praktyka pokazała, że muzycy nie nadają), to jeśli ktoś chciałby korzystać z RUNEXT.SYS, musi sobie zdefiniować własne rozszerzenie. Bezwzględnie nie zaleca się definiowania przypisania:

,A:>SSPLAY.COM

dla pustego rozszerzenia, ponieważ będzie łapało wszystkie polecenia DOS-a np. MEM.

Grzeniu, zostałeś kobietą? O_o

1,416

(1,653 odpowiedzi, napisanych Bałagan)

Piękna animacja. I elegancko wyciąga miecz, a nie łazi ciągle ze sprzętem na wierzchu. Widać, że cywilizowane indywiduum.

1,417

(192 odpowiedzi, napisanych Fabryka - 8bit)

Zrobiłem mały programik w pythongu, który pozwala na odzyskanie zabezpieczonych przed listowaniem modułów SoftSynth-a.
Sposób wywołania:

$ ./softsynthlistunprotext.py plik_zabezpieczony plik_odbezpieczony

Zabezpieczenie polega na tym, że wszystkie linie kodu mają nr 0. Odszukuję więc linie i renumeruję je od 10 co 10.
W załączniku muzyczki Kuby Husaka, które udało mi się znaleźć i odbezpieczyć oraz instrumenty (nadmiarowo, ale skopiowałem wszystkie które znalazłem w przepaściach internetów). Więc jeśli ktoś chce się pouczyć, to bardzo proszę :)
Mam nadzieję, że Kuba nie obrazi się że odkryłem, co schował :] To wszystko dla dobra ludzkości...
Same dyskietki z SoftSynth-em są dostępne na pigwie i na AtariOnline.

1,418

(79 odpowiedzi, napisanych Zloty)

Ano kondolencje. Przykra wiadomość. Trzymajcie się z Rodziną.

1,419

(79 odpowiedzi, napisanych Zloty)

Pin napisał/a:

Zadziwia mnie natomiast fenomen sensu istnienia bzdurnych wpisów na listę obecności w przedziale powiedzmy 1-10%, bo mamy tu do czynienia z osobistościami, które i tak na 100% nie przyjadą a niepotrzebnie dupę zawracają zaśmiecając swą obecnością listę uczestników.

Przepraszam, już nie będę więcej.

1,420

(13 odpowiedzi, napisanych Fabryka - 8bit)

Interesowałem się tymi playerami ze względu na użycie ich w CMCPLAY. Analiza była dość szczątkowa bo na tym etapie chodziło tylko o zapewnienie poprawnego odgrywania modułu i udokumentowanie formatu pliku. Nie udało mi się wszystkiego domyślić - nie wiem np. dlaczego moduł GRAVE.CM2 ma dwa pierwsze bajty ustawione na $88 $42.

Samych programów w tym i kodu relokatora nie analizowałem, bo nie było mi to potrzebne - wyjąłem sobie kod playera bezpośrednio z programu po tym, jak ten zgramy za pomocą ctrl+m pokazał śmieci po deassemblacji.
A różnice w tablicach głośności po prostu przeoczyłem :) Dzięki - uwzględnię to w CMCPLAY-u.

Co do twórczości, to trudno mi się wypowiedzieć, bo Datri nic mi nie wspominał o istniejących utworach poza tymi dostarczonymi na dysku. Ale kto może wiedzieć co tam Czesi i Słowacy robią :) Włączyłem procedurki do playera (tak, jak i AMC) bo a nuż ktoś zechce moduł przygotowany w SDCMC (jakiejkolwiek wersji) wystawić na jakimś compo. Poza tym ciekawiło mnie jakie te programy mają możliwości.
Ogólnie zgadzam się, że nie warto rozwijać tych wersji - sam Autor zdaje się porzucił te projekty już dawno.

A kod chętnie przygarnę - całkiem prawdopodobne, że zauważyłeś więcej niż ja w trakcie pobieżnej analizy. Poprosiłbym więc o emaila.

1,421

(13 odpowiedzi, napisanych Fabryka - 8bit)

Dwie ciekawostki - może kogoś zainteresuje, że:

1. W patternie są rozkazy do zmiany głośności - kod $2x gdzie x to głośność kanału.
2. W tablicy basów są dwie zmiany w stosunku do tablic dostępnych w innych wersjach CMC (włącznie z Double Stereo CMC v.2.2):
- na pozycji $07 (nuta F#1?) jest wartość $DE - w innych playerach jest $CE
- na pozycji $25 (nuta C#4?) jest wartość $30 - w innych playerach jest $39
ale czy to błąd, czy celowa modyfikacja?

Niestety program źle relokuje kod playera - posiłkowałem się tym, który gra w programie.
Co więcej wydaje mi się, że "double play" działa tak, że wywołuje po sobie dwa razy playera... cokolwiek dziwnie :/

Edit: Rzecz dotyczy oczywiście Double Stereo CMC 2000 v.1.02, choć wersja 2.02 identycznie wywołuje double play.

1,422

(3 odpowiedzi, napisanych Fabryka - 8bit)

Rozumiem. Pobawiłem się chwilę programikiem i myślę że pomysł jest jednak całkiem fajny. Jedyne co mi w sumie przeszkadza to konieczność wciskania spacji między częścią setek a częścią dziesiątek (no ale to myślę da się łatwo wyeliminować).
Przyszło mi do głowy, że może pewną pomocą byłoby podpowiadanie gdzieś na obrzeżach ekranu liczby, którą do tej pory wpisaliśmy. Np. wciskamy ctrl+1 i pojawia się "1__", ctrl+2 - "2__", 0-" 0_" itd. Może nie wymagałoby to wielkiej ingerencji w kod programu a widzielibyśmy co się dzieje.
I chyba warto by dodać HELP na wciśnięcie klawisza HELP :) No ale to zupełnie inna bajka.

P.S. Dziękuję za ofertę pomocy, to bardzo miłe i będę o tym pamiętał. W razie potrzeby oczywiście też uderzaj w moim kierunku.

1,423

(3 odpowiedzi, napisanych Scena - 8bit)

Nawiązując do wątku opisałem w Atariki format plików .AMC, w załączniku zaś znajduje się program, player i muzyka wyrypana z gier Avalonu.
Suport do AMC będzie oczywiście w CMCPLAY-u wkrótce.

1,424

(3 odpowiedzi, napisanych Fabryka - 8bit)

Ctrl+1 ma odzwierciedlenie w SSFLAG ($2FF) na zasadzie odwrócenia wartości (przerwanie klawiatury robi EOR #$FF).

A dlaczego nie przesunąć jedynki w prawo w ramach definicji znaku i użyć jednak trzyznakowych liczb? Coś w guście:

..o. .ooo
..o. ...o
..o. .ooo
..o. .o..
..o. .ooo

Liczba będzie czytelna, bo od poprzedniej kolumny będzie jednak odstęp dwóch pikseli multicolor. Oczywiście 2xx w ten sposób już nie zrobimy :/

Większe pole do popisu daje oczywiście hires co wiąże się z redefinicją zestawu znaków, no i zmianą sposobu reprezentacji niektórych elementów ekranu (może podkolorowanie sprajtami?) oraz podświetlenia kursora (tradycyjny inverse).
Co do wprowadzania liczb - sugerowałbym wtedy wprowadzanie 1..3 cyfr na zasadzie znanej z kalkulatora:
1. Pierwsza cyfra wchodzi w tryb wprowadzania liczby.
2. Cyfry przesuwają się w lewo podczas wprowadzania (intuicyjne).
3. 3 cyfra wychodzi z trybu, aktualizuje pole i przesuwa kursor (albo nie - zależnie od potrzeby).
4. Strzałka lub RETURN wychodzi z trybu i aktualizuje pole.
5. ESC wychodzi z trybu i przywraca poprzednią wartość pola.
6. BKSP połyka cyfrę i przesuwa resztę w prawo.
7. Po połknięciu wszystkich cyfr mamy 0 ale trwamy w edycji.

Mam wrażenie, że markowanie setki kolorem będzie mocno nieintuicyjne szczególnie dla użytkowników mających awersję do dokumentacji.

1,425

(26 odpowiedzi, napisanych Programowanie - 8 bit)

Nie ma za co - dzięki emulatorowi namierzenie i poprawienie błędów zajęło dosłownie chwilę :).
A skoro nie ma preferencji co do rozszerzeń, to proponowałbym finalnie:
- .TRK dla samplowanego tracku,
- .PTR dla samplowanych patternów,
- .SMP dla sampla RAW,
- .DIG dla zestawu sampli.
Jeśli nikt nie miałby co do tego zastrzeżeń, to następny CMCPLAY będzie obsługiwał samplowane muzyczki z CMC wg takich właśnie rozszerzeń :)
No to zrobię jeszcze hasło w Atariki.