1,426

(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,427

(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,428

(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,429

(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,430

(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,431

(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,432

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

1,433

(26 odpowiedzi, napisanych Programowanie - 8 bit)

Uzupełniłem .atr-a o drobne info co jest co, i zmieniłem jednak rozszerzenie zestawu sampli na .DIG. .atr podmieniony w poście 18.

Edit: Dla porównania załączam jeszcze ripa oryginalnej muzyki z BARAHIR-a.

1,434

(26 odpowiedzi, napisanych Programowanie - 8 bit)

Ja robię tak:

X CMCSM11.COM<RETURN>
1BARA1.CMC<RETURN>
<TAB>
<CTRL+L>1BARA1.TRK<RETURN>
<TAB>
<CTRL+L>1BARA1.PTR<RETURN>
<TAB>
<CTRL+L>1BARA11.SMP<RETURN>
1
<CTRL+L>1BARA12.SMP<RETURN>
2
<CTRL+L>1BARA13.SMP<RETURN>
3
<CTRL+L>1BARA14.SMP<RETURN>
4
<CTRL+L>1BARA15.SMP<RETURN>
5
<TAB>
<TAB>
<TAB>
<CTRL+P>

a po chwili

<START>
<TAB>
<TAB>
<TAB>
T

Komunikacja odbywa się przez CIO, no i podawany jest zawsze numer dysku więc pewnie ładowanie odbywa się z bieżącego katalogu na podanym dysku.

Edit: Zabawna rzecz. Zestaw sampli w CMCSM jest dokładnie identyczny z samplami z BARAHIR-a :) więc można pominąć ich ładowanie i muzyka mimo tego będzie grać poprawnie.

1,435

(26 odpowiedzi, napisanych Programowanie - 8 bit)

I w CMC+ (zerknij w Atariki).

1,436

(26 odpowiedzi, napisanych Programowanie - 8 bit)

W załączniku CMCSM z przykładową muzyką z BARAHIR-a.

Edit: Zaproponowałem roboczo rozszerzenia:
- .TRK dla danych samplowanego tracku
- .PTR dla danych patternów
- .SMP dla pojedynczych sampli RAW
Może by dla kompletu sampli przyjąć np. .INS?

1,437

(26 odpowiedzi, napisanych Programowanie - 8 bit)

W załączniku wersja poprawiona.
Poprawek wymagały:
- procedura ładowania sampla (nie przepisywane były $0FF i $1FF bajt sampla),
- procedura zapisu zestawu sampli (zapisywane było $1000 bajtów z obszaru $7E00..$8DFF zamiast $0A00 bajtów z $7300..7CFF).

Dokładny patch:
$9521: $EA $EA
$9548: $0A
$954b: $72
$954e: $72
$9552: $72

Edit: Jeszcze pojedyncze sample wyjęte z CMCSM.

1,438

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

Dzięki! Tablica basów jest dokładnie taka, jak u Rzóga.

1,439

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

Hmmm. Podejrzewam, że miał być załącznik, ale go gdzieś wcięło... :)

1,440

(26 odpowiedzi, napisanych Programowanie - 8 bit)

No dobrze. Tutaj jest wersja 1.0, ale o ile potrafi poprawnie zgrać patterny i tracki, to nie potrafi poprawnie zgrywać instrumentów (czyli zestawu sampli).
Swoją drogą jakie Monsoft proponowałeś rozszerzenia dla tracków, patternów i kompletu sampli?

Edit: Instrukcja w załączniku (nie pamiętam gdzie to leży na pigwie).

1,441

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

Czy ktokolwiek dysponuje wersjami CMC:
- od Stanley'a - zmodyfikowana tablica basów,
- od Jaskier'a - metrum 3/4 metodą Henryka Karpowicza z Serious#5
i mógłby podesłać?
Uprzejmie proszę o pozytywne ustosunkowanie się do mojej prośby :P

1,442

(16 odpowiedzi, napisanych Fabryka - 8bit)

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

1,443

(50 odpowiedzi, napisanych Zloty)

Ale kto, kogo będzie zjadał?

1,444

(16 odpowiedzi, napisanych Fabryka - 8bit)

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!

1,445

(23 odpowiedzi, napisanych Programowanie - 8 bit)

Czy ja dobrze rozumiem, że ustawiasz stały interwał a zmienna LINE odlicza Ci linie w których wykona się kod rastra albo nie? Dlaczego tak?

Czy nie prościej i wydajniej zmieniać wartość AUDF co przerwanie? Mając oczywiście na względzie, że interwał z AUDF jest przepisywany do wewnętrznego TIMER:
- po przekręceniu TIMER,
- po zapisie do STIMER.
Tak więc zgrubsza:

lda intervals
sta AUDF
sta STIMER
lda intervals+1
sta AUDF
lda #2
sta index
...
...
irq:
index = *+1
  lda intervals
  sta AUDF
  rti

intervals .db 0,1,2,3,4,5,6,... i jakie tam interwały nas interesują

Edit: Można też oczywiście uzyskać granulację 1/4 skanlinii albo co do cyklu CPU. No i kod poza przerwaniami powinien być tak skonstruowany, żeby koniec rozkazu przypadał na moment rozpoczęcia obsługi przerwania (żeby sekwencja wejścia w przerwanie nie czekała zbyt długo). Niezależnie jednak od tego timing liczników będzie precyzyjny - jedyne wahania to oczekiwanie na zakończenie cyklu rozkazowego CPU przed rozpoczęciem obsługi IRQ, ale nawet synchronizacja przez WSYNC ma wahania 1, 2 cykle oidp.

1,446

(13 odpowiedzi, napisanych Fabryka - 8bit)

Dzięki za uściślenie P: - poprawiłem w Atariki.

Jako ciekawostkę może (dla niektórych, bo pewnie sam to zauważyłeś) przytoczę, że CMC jest jednym ze starszych edytorów, ale chyba jedynym (nie zauważyłem niczego takiego w żadnym innym trackerze), który dynamicznie rozkłada dźwięki na kanałach zależnie od użytych rodzajów brzmień (stąd mimo, że pozwala na użycie tylko 3 kanałów muzycznych, to faktycznie dźwięk generuje przez 4 kanały POKEY-a). Był taki wątek o nowym TMC, w którym rozważaliśmy taką funkcjonalność i wydawało mi się że nikt czegoś takiego nie robił, a tu po analizie standardowego playera CMC by Janusz Pelc okazało się, że oczywiście jestem w błędzie :)

1,447

(13 odpowiedzi, napisanych Fabryka - 8bit)

Dzięki za wyjaśnienie tej pauzy :) Wrzucę opis do Atariki przy opisie formatu pliku CMS.
Program nazywa się CMC 2000 v 1.02 ale jednak pochodzi z 6.11.1999 - na załączonej dyskietce masz plik CHAOS2K.XEX.
W przykładowej muzyce GRAVE.CM2 na samym początku jest przykładowe użycie rozkazu V:. Po lewej stronie za to przy każdym układzie są 3 wartości głośności. Na dyskietce są też dokumentacje i program do odczytu tychże (nie umiem się nim posłużyć).
Ładowanie muzyki odbywa się analogicznie, jak w SDCMC ale czasem jak program zawiśnie trzeba wcisnąć RESET i ładować jeszcze raz - zazwyczaj się udaje.

1,448

(13 odpowiedzi, napisanych Fabryka - 8bit)

Dzięki! Tak się to faktycznie robi :)

Jeśli Twój Kolega byłby tak miły, a nie nadwyrężyłbym zbytnio jego uprzejmości, to poprosiłbym jeszcze o ten dokument. Jest to opis drugiej wersji CMC 2000 v.2.02. Obydwa programy są dość podobne, i niewykluczone że instrukcje też bardzo się nie różnią.

1,449

(13 odpowiedzi, napisanych Fabryka - 8bit)

Ooooo. Dzięki :)
Są zdaje się dwie wersje tego edytora różniące się sposobem implementacji funkcji głośności i double-play.

Edit: Mogę się za to podzielić instrukcją.

A klawiaturologia w jakimś skrócie (nie znam czeskiego):

Okno song:
- inverse - zmiana trybu normal/double play
- ctrl+e - o pięć linii w górę
- ctrl+d - o pięć linii w dół
- ctrl+c - skok do pozycji 0 (chyba)
- ctrl+n - zmiana nazwy modułu
- ctrl+s - zapis na kasecie w formacie turbo
- ctrl+l - odczyt z kasety w turbo
- shift+esc - wejście do menu dyskowego

Dodatkowe komendy w songu:
- shift+v: zmiana głośności kanału - V: xx ustawia głośność wszystkich kanałów, V: xx yy ustawia głośność wszystkich kanałów pierwszego pokeya na xx, drugiego na yy (wartości podaje się dziesiętnie 00..15)
- shift+m: zmiana trybu odtwarzania - M: 00 to normal, M: 01 to double
- shift+p: pauza - P: xx yy pauzuje odtwarzanie na czas podany w dziesiętych częściach sekundy (ale jak to podać, skoro wartości w polach songu mogą być 00..63?)

W menu narzędzi dyskowych warto uważać na to, co się wciska, bo:
- shift <,> - zmiana napędu
- 1,2,3,4 to fromatowanie, usuwanie, lock, unlock
- space - katalog
- strzałki - przemieszczają kursor po katalogu
- return - ładuje z dysku wybrany utwór

Ale konia z rzędem temu, kto wie, jak ZAPISAĆ utwór na dysk.

No i zauważyłem, że nie lubi się toto z pamięcią rozszerzoną :/ (u mnie zawisa nawet na DOS II/D+).

1,450

(10,041 odpowiedzi, napisanych Bałagan)

Między USA a Chinami.