1,426

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

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

(26 odpowiedzi, napisanych Programowanie - 8 bit)

I w CMC+ (zerknij w Atariki).

1,429

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

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

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

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

1,432

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

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

1,433

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

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

(16 odpowiedzi, napisanych Fabryka - 8bit)

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

1,436

(50 odpowiedzi, napisanych Zloty)

Ale kto, kogo będzie zjadał?

1,437

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

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

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

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

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

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

(9,984 odpowiedzi, napisanych Bałagan)

Między USA a Chinami.

1,444

(6 odpowiedzi, napisanych Kolekcjonowanie)

Tylko kto to był ten "Verte" ? :>

1,445

(16 odpowiedzi, napisanych Fabryka - 8bit)

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?

1,446

(50 odpowiedzi, napisanych Zloty)

To ja też poproszę o wpisanie mnie i jada na Mega Grail Party!

Edit: Oczywiście na listę Szanow(a)nych Gości.

1,447

(9,984 odpowiedzi, napisanych Bałagan)

Problem z przeludnieniem? Gdzie?
A co w takim razie znaczą kary za produkcję żywności ponad ustawową ilość?

1,448

(22 odpowiedzi, napisanych Programowanie - 8 bit)

Można potraktować nagłówek pierwszego bloku binarnego (czyli sekwencję $FF $FF), jako marker końca nagłówka .SAP. Przykładowo:

$ sed -e "/^\xff\xff/ Q" <~/atari/ASMA/Composers/Radecki_Michal/Knight_Lore.sap

Edit:
No a potem to przefiltrować odnośnie potrzebnych wierszy np.:

$ sed -e "/^\xff\xff/ Q" <~/atari/ASMA/Composers/Radecki_Michal/Knight_Lore.sap | grep "SONGS\|TIME"

Jeśli potrzebujesz tylko ręcznie wyjąć informację z pliku, sam ją zinterpretujesz i coś sobie będziesz z tym robił (czyli nie piszesz jakiegoś batcha który przerobi Ci miliony plików), wtedy myślę że bez niepotrzebnych wstępów wystarczy po prostu:

$ grep "^\(SONGS\|TIME\)" ~/atari/ASMA/Composers/Radecki_Michal/Knight_Lore.sap

1,449

(5 odpowiedzi, napisanych Fabryka - 8bit)

Poprawione działanie klawiatury - błąd analogiczny, jak w MPTPLAY.

1,450

(41 odpowiedzi, napisanych Fabryka - 8bit)

Dzięki.

Pin napisał/a:

BUG rep#1:
zatrzymaj odgrywanie modułu MPT spacją. Spróbuj w dowolnie wybrany sposób (oprócz reset i wyłączenia komputera) wyjść do DOS ;).

Faktycznie. Poprawione. Proszę ściągać wersję z ostatniego miejsca.

Pin napisał/a:

poza tym, jak na razie częstotliwości odgrywania sampli jak do tej pory są całkowicie prawidłowe. Tak, jak mówiłem szczekam z utęsknieniem na "reverse stereo" made by MacGyver i Megaplayer ;)

Później. Na razie musi poprawnie grać :)

Pin napisał/a:

MD2 na Rapidusie grają niepoprawnie. Sample grane są jak by w tej samej częstotliwości, ale wycina próbki. Tak mi się wydaje.

Zbadam w czym rzecz. Obszar rejestrów hardwareowych chodzi ze standardową prędkością?