1 Ostatnio edytowany przez marok (2015-06-05 06:07:21)

Przerobiłem player do cmc (na zauważalnie krótszy) wzorując się na wersji playera od Jaskiera, a więc z istotnymi poprawkami dla prawidłowego odtwarzania wszystkich poprawnie złożonych muzyczek (bez nieoczekiwanych niespodzianek).
Postanowiłem zaimplementować ten player do programu kompozera, aby dało się bez konieczności asembacji kodu źródłowego (którego np. może w danym momencie brakować pod ręką) generować player (?.REP) do muzyczki dowolnie ulokowanej w pamięci.

Konieczne było dodatkowo dorobienie bardziej uniwersalnej procedury relokującej adresy wewnątrz playera i podstawienie jej pod starą.

Ostatnią poprawką jaką dokonałem było zaznaczenie w tekście info na dole paska numeru wersji CMC na 2.2 (od numeru wersji playera; wcześniejsze to: player 2.0 Janusza Pelca, 2.1 wersja poprawiona Jaskiera, która nie została, z tego co wiem, zaimplementowana do żadnej z "nieoficjanych" wersji kompozera).

Nic więcej poza tym nie zostało zmienione (poza zmianami adresów odwołań z innych obszarów do tej części którą podmieniłem, czego oczywiśćie dopilnował sam asembler na przerobionym kodzie "źródłowym" pozyskanym dzięki narzędziu DIS6502 - przy okazji podziękowania dla TeBe), nic obcięte.


Odnośnie tej wersji playera w stosunku do wersji 2.1 (Jaskiera), którego jest (tak bym chciał to postrzegać), mam nadzieję, godną następczynią, zachowane zostały następujące zmiany wprowadzone w tamtej wersji:

- usunięcie dwóch zasadniczych błędów playera (w uproszczonym opisie i niepełnym znaczeniu) "odczytu strony $FF"
- $d20f zamiast $d21f
- pełne odtwarzanie zawartości strony zerowej sprzed wywołania procedury (część init oryginalnej procedury jedno z dwóch używanych słów na niej nie odtwarzała)
- wprowadzenie kontroli poprawności przy wywoływaniu z init (rA:=$20+kanał, rY:=instrument, rX:=numer_dźwięku) odgrywania pojedyńczego dźwięku "poza muzyczką"
- identyczne uszeregowanie zmiennych (player + offset : dostęp do tej samej zmiennnej, np. czest)
- procedura podpisana swoją nazwą - etykieta (ten sam offset co w wersji 2.1)


Zmiany i nowe funkcje, których nie zdecydowałem się kontynuować, powracając do właściwości playera 2.0:

- wycofanie się z możliwości podmiany adresu rejestrów pokeya z poziomu wywołania (na np. drugi pokey) : rA:=$3x (x>0), rX\rY:= mł.\st.połówka adresu pokeya (lub dowolnego innego obszaru pamięci), przy zachowaniu tradycyjnego znaczennia jeśli rA:=$30 (x=0), rX:= tempo
- wycofanie się z przestawienia kodu dla basica sprzed tablic (pozostają na końcu jak w wersji 2.0)


Innowacje w stosunku do wersji poprzednich:

- instrumenty slide up/down mogą teraz przekraczać granicę pojemności bajta ($FF<->0) przy zmianach częstotliwości (nie są "sztucznie" wyciszane w takim przypadku)


Przygotowałem Atr na którym znajdują się (poza dosem) przerobiona wersja CMC (CMC22.COM), oryginalna wersja CMC (CMC20.COM) i prawie oryginalna muzyczka Lasermania (LASER.CMC). Dwie ostatnie pozycje są po to, aby zademonstrować złe działanie muzyczki przez zasadnicze błędy procedury odgrywającej, które spostrzegł i poprawił Jaskier.
Muzyczka z Lasermanii ma więc jedną drobną "poprawkę". Na nieużywanym (w dodatku pustym) istrumencie o numerze 21 ma wstawioną wartość $46 w drugą (od góry) daną (to także druga wartość opisująca ten instrument w module) - pozostałe wartości i obwiednie pozostają wyczyszczone jak dla instrumentu pustego.
Tak przerobiona muzyczka będzie źle odtwarzana pod każdą znaną mi wersją kompozera (bo wszystkie działają na oryginalnym playerze Pelca) poza tą, którą właśnie opisuję (za co odpowiadają poprawki Jaskiera), co proponuję przy tej okazji sprawdzić, żeby się przekonać iż błędy nie są li tylko mityczne.
Proponuję także po załadowaniu muzyczki z Lasermanii przewinąć instrumenty do tego o numerze 15 i wywołać dźwięk D-6 (kliwisz O przy ustawionych na klawiaturze oktawach 4|5) i sprzwdzić tą nową specyfikację "poprawionego" działania instumentów z slide up/down. przy oryginalnym playerze dźwięk jest szybko przycinany, przy playerze 2.2 dźwięk wybrzmiewa na pełnej długości.

Możliwe że o czymś zapomniałem napisać (nie mam zwyczaju sporządzać notatek, a pamięć mam wyjątkowo nietrwałą). Nie wiem czy player nie zawiera swoich (ukrytych dla mnie) błędów. Gdyby zaszła potrzeba i ktoś coś zauważył (zakładam na chwilę, że ktoś zechce tegoż poużywać, chociaż wiadomym jest że czas CMC należy już do przeszłości), to oczywiście będę w przyszłości zainteresowany poprawkami takich ewentualnych błędów.

Załączam Atr w zipie.

EDIT:
Podmieniłem załącznik z poprawioną wersją kompozera.

Post's attachments

Chaos Music Composer 2.2.zip 16.43 kb, liczba pobrań: 21 (od 2015-06-05) 

Tylko zalogowani mogą pobierać załączniki.

2

Dziękuję. Chętnie się przyjrzę tym modyfikacjom.
A co skłoniło Cię do poprawienia slide-ów? Czy muzyka z Lasermanii inaczej grała w grze a inaczej w CMC?

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

3

A poprawka żeby działał CMC w SDX? Była kiedyś taka łatka w TA i ostatnio została przypomniana http://www.atari.org.pl/forum/viewtopic.php?id=12830 .

4

@mono: Dziękuję.
Nie zauważyłem nic "niepokojącego" w działaniu slidów, ale z analizy kodu wyszło mi, że wprowadzenie tego wyciszenia dźwięku przy przekraczaniu granicy bajtu, było pewnym kompromisem na jaki poszedł Janusz Pelc, bo licząc wartości czest2 (używane przy dźwiękach wibrujących), które są z założenia o 1 mniejsze od wartości bazowej (czest1) dla wartości 0 obliczane jest $FF i żeby zablokować taki przypadek, wprowadził "odgórną" zasadę specjalnego traktowania wartości $FF dla obliczonej wartości w czest2 (co może się zdarzyć też dla dźwięków ze slidami). Stąd sądzę, że to w jakimś sensie było sztuczne i odbiło się "rykoszetem" na tego typu dźwiękach.
Ale to są być może tylko moje mylne sądy i wyobrażenia. W sumie w pełni zdałem sobie sprawę, że coś przy optymalizacji kodu playera przy okazji udało mi się (tak to oceniam) poprawić, dopiero post factum. Impulsem była chęć zwykła chęć optymalizacji i skrócenia (czasem się tym zajmuję).

@lemiel: Dziękuję za podpowiedź.
Zainteresuje się tematem. Jeśli zgromadzi się więcej powodów (chociaż może już ten jeden wystarczy) żeby dopracować wersję, którą zamieściłem, a zadanie okaże się dla mnie do wykonania, to poprawię program.

5

Łatka z TA (umożliwiająca korzystanie z SDX i poprawiająca wygląd literki "b") została w całości i bez zmian dołączona do poprawionej wersji CMC22, którą można pobrać z pierwszego postu zamiast tej pierwotnej.
Dodatkowo nieznacznie zmieniona została procedura relokacyjna. Na stronie zerowej nałożyły mi się adresy zmiennych, co nie objawiało się błędem w tym przypadku (playera cmc tu zastosowanego), ale potencjalnie mogłoby generować błąd przy jakiejś innej procedurze do relokacji.

Oooo, no to właśnie wyciągnąłem z szafy 600XL z tej okazji.
Thx.

Trzy najpopularniejsze w Polsce platformy 8-bit: Piwo, Wino i Wódka.
http://ym-digital.i-demo.pl/ - http://yerzmyey.i-demo.pl - https://soundcloud.com/yerzmyey
ŻADEN DOBRY UCZYNEK NIE UJDZIE BEZ KARY.

7 Ostatnio edytowany przez YERZMYEY/HOOY-PROGRAM (2015-06-08 20:48:05)

No to gotowe.

http://chipmusic.org/yerzmyey/music/the … ing-studio

Głównie CMC Maroka + dodatek z NeoTrackera Epiego.


_______INFO____________
There wasn't any Atari XL/XE song on my "Strange Light Under My Bed" album, so after years I decided to correct this mistake, haha.

The only instrument/sound-source and the only sequencer used here: ATARI 600XL (well, 64Kb of RAM required anyway).

Recording-studio effect used: track-by-track recording / filters / phasers / choruses / flangers / delays / echoes / reverbs / equalizers / compressors / limiters.

ATARI soft used:
- Chaos Music Composer (CMC) by Pelc and Marok
- NeoTracker by EPI.
______________________






.

Trzy najpopularniejsze w Polsce platformy 8-bit: Piwo, Wino i Wódka.
http://ym-digital.i-demo.pl/ - http://yerzmyey.i-demo.pl - https://soundcloud.com/yerzmyey
ŻADEN DOBRY UCZYNEK NIE UJDZIE BEZ KARY.

8

Wow - dobre ;)

Kontakt: pin@usdk.pl

9

Jednak efekty studyjne potrafią zrobić straszne rzeczy z dźwiękiem. Nigdy bym wcześniej nie przypuścił, że oryginalne brzmienia generuje CMC + NEO :) Kawałek brzmi świetnie. Dzięki Y!

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

10

Pozamiatane…

Czym robiłeś postprocessing/efekty?

.: miejsce na twoją reklamę :.

Fęks gajs.

Hmmm. Po spolszczeniu "gajs" nie wygląda zbyt trafnie.

Co ciekawe, ścieżka NeoTrackera (właściwie - dwie) idzie całkowicie bez efektu, jak ją Pan Bóg stworzył (haha).



Skrzyp: Sprzętu akurat Ci nie wylistuję, bo siedzę w pracy, ale i tak główną rolę u mnie zazwyczaj odgrywa soft, a w tym przypadku tradycyjnie już CoolEdit Pro (głównie) ze wspomaganiem Sony SoundForge.

Trzy najpopularniejsze w Polsce platformy 8-bit: Piwo, Wino i Wódka.
http://ym-digital.i-demo.pl/ - http://yerzmyey.i-demo.pl - https://soundcloud.com/yerzmyey
ŻADEN DOBRY UCZYNEK NIE UJDZIE BEZ KARY.

12

Wynikła pewna niezręczność dla mnie. Jedynym autorem kompozera jest J. Pelc i apelowałbym o poprawienie tekstu tam gdzie chodzić może szczególnie o rzetelność przekazu.
Mogę sobie pogratulować tylko tego, w kontekście powstałego utworu, pierwszego na real atari, z tego co rozumiem, (w końcu masz już w dorobku świetnego "Bazaltowego Rzezimieszka") z okazji którego składam szczere gratulacje, że temat CMC przywołałem na forum w odpowiednim czasie dla Twojego zainteresowania tematem. Najwyraźniej zamiary i chęci powstrzymywały dotąd sprawy głównie techniczne, czyli możliwość współpracy programu z SDX musiała być pozytywnie rozwiązana. Większą zasługę ma tutaj lamiel, bo przywołał kwestię istniejącego rozwiązania do SDX, więc i wersja o której wspominał (2.0x, a i jeszcze ta przygotowana przez Sonara) byłaby wystarczająca do tego.

Pozdrawiam i cieszę się z kolejnego nowego utworu na atari.

ps. Przepraszam za dyletanctwo, ale da się ten utwór odtworzyć jakoś w całości tylko na jednej atarce (z dwoma pokeyami) ?
Utworku jeszcze, z pewnych szczególnych przyczyn, jeszcze zresztą nawet nie słyszałem.

Btw, jakby ktoś chciał sprawdzić oryginalne zgrywki. :)
https://www.sendspace.com/file/38gfrw

Tylko bas mi się skasował, kur/wa. No trudno.

Trzy najpopularniejsze w Polsce platformy 8-bit: Piwo, Wino i Wódka.
http://ym-digital.i-demo.pl/ - http://yerzmyey.i-demo.pl - https://soundcloud.com/yerzmyey
ŻADEN DOBRY UCZYNEK NIE UJDZIE BEZ KARY.

14 Ostatnio edytowany przez gorgh (2015-06-09 18:22:04)

Szczęść Boże,
kawałek rzeczywiście berliński.
P.S. w której sekundzie zaczyna się refren? :)

15

W czwartej minucie słychać strzały :P

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

16

YERZMYEY/HOOY-PROGRAM napisał/a:

No to gotowe.

http://chipmusic.org/yerzmyey/music/the … ing-studio

Głównie CMC Maroka + dodatek z NeoTrackera Epiego.

(ciach)

Świetnie brzmi. Brawo!

tP

Atari, Inc., 1512 Crossman Ave., PO. Box 61657, Sunnyvale, CA 94086.
Złym błędem jest cofać się do tyłu, gdy wieje zimnym chłodem.
Jest to najprawdziwsza prawda. (c) VC

The Pink:
Dzięx. :)


Marok:
> w końcu masz już w dorobku świetnego "Bazaltowego Rzezimieszka"
----------------------------
A to nie ja, nie wiem, kto to jest. :)
- To pan?
- Nie, to nie ja.
Ale chodzą słuchy, że tak się czasami podpisuje znany scenowiec Trzcinowy Zakapior. :)

Trzy najpopularniejsze w Polsce platformy 8-bit: Piwo, Wino i Wódka.
http://ym-digital.i-demo.pl/ - http://yerzmyey.i-demo.pl - https://soundcloud.com/yerzmyey
ŻADEN DOBRY UCZYNEK NIE UJDZIE BEZ KARY.