2,301

(37 odpowiedzi, napisanych Fabryka - 8bit)

Ale rozkazy SEI i CLI, ani żadna ich kombinacja nie powodują wygenerowania przerwania, a jedynie ustawienie CPU w stan kiedy może już przyjmować zgłoszenia przerwań i je obsługiwać (CLI) lub kiedy ich nie będzie obsługiwać (SEI). Dlatego te przerwania nazywają się maskowalne.

Edit: Wygenerowanie przerwania odbywa się po odliczeniu licznika AUDF1 ($D200) od ustawionej wartości do zera. Rozpoczęcie odliczania następuje po wpisaniu dowolnej wartości do STIMER ($D209).

2,302

(37 odpowiedzi, napisanych Fabryka - 8bit)

Z tego co piszesz nie ustawiasz rejestru zezwolenia na przerwanie IRQEN ($D20E) wartością zezwalającą na przerwanie TIMER1 (#1).
SEI powoduje zablokowanie obsługi przerwań przez CPU, a CLI odblokowanie obsługi ale tylko tych, które są dozwolone w IRQEN. W żadnym wypadku NIE WYGENERUJE żadnego przerwania.
IRQST ($D20E) zawiera flagi informujące, że dane źródło przerwania IRQ jest aktywne. Poprawna obsługa przerwania polega na zablokowaniu i ponownym odblokowaniu przerwania w IRQEN dzięki czemu zniknie flaga zgłoszenia w IRQST.

2,303

(12 odpowiedzi, napisanych Fabryka - 8bit)

Żeby ładnie wyglądało w menu :D

Edit: A naprawdę to chciałem grać na 3 kanałach (a nie na 2), ale nie zdążyłem tego zrobić.

2,304

(12 odpowiedzi, napisanych Fabryka - 8bit)

Metoda jest tutaj.
Moja jest tylko minimalnie zmodyfikowana - wygląda tak:

  sei
  ldx #0        ;reset pokey1
  stx audctl
  ldy #%11
  sty skctl
  lda irqens    ;blokada przerwania licznika 1 pokey1
  and #%11111110
  sta irqen
  stx audf1      ;wyciszenie kanalu 1 pokey1
  stx audc1
  
  lda #%1       ;pokey2: baseclk=15khz
  sta audctl2
  sty skctl2    ;reset pokeya2
  sty audf12    ;po 3 liniach skaningowych powinno zlapac przerwanie jesli mono
  stx audc12    ;cisza
  sta irqen2    ;irq licznika 1 pokeya2
  
  sta stimer2   ;uruchomienie licznikow (niekoniecznie potrzebne)
  bit irqst
  ldx #8
?stsyncloop:
  stx wsync
  dex
  bne ?stsyncloop
  
  and irqst     ;czy wystapilo przerwanie licznika 1 w pokey1
  lsr @
  
  stx audctl2
  sty skctl2
  lda irqens
  sta irqen
  txa
  rol @         ;A=0 mono; A=1 stereo
  cli

Była wykorzystana w msx collection XL Digital i w playerze NEO do utworów konkursowych Yerzmyeya i Pinokia w Głuchołazach 2010.
A nie działa?

2,305

(323 odpowiedzi, napisanych Sprzęt - 8bit)

...karabinem maszynowym. Czyli jednak roboty wykończeniowe.

2,306

(41 odpowiedzi, napisanych Fabryka - 8bit)

Zmodyfikowałem procedurę odgrywającą sample w taki sposób, że nie pozwalam na przejęcie kontroli, ale sam wywołuję odegranie 2 próbek. Zdaję sobie sprawę z tego, że to, co robię na zewnątrz aż do ponownego wywołania procedury może spowodować niestrojenie (właśnie z powodów o których napisałeś - dzięki), ale właściwie to nie ma tam tego wiele - właśnie chodzi mi o potwierdzenie zjawiska.
Procedury testuję sobie na 80 kolumnowym S2: od VBXE a tam ANTIC jest wyłączony, więc efekt powinien być chyba identyczny.

Edit: A nie 24 z 311.5 okresów (dla PAL oczywiście) :D?

2,307

(41 odpowiedzi, napisanych Fabryka - 8bit)

Wersja 0.3 do pobrania (stąd też).
- Zmieniłem player na Jaskrowy. Nie powinno się już tak spektakularnie krzaczyć, jak poprzedni.
- Poprawiłem też synchronizację procedur odgrywających syntetyki i sample dzięki czemu muzyka nie powinna spowalniać.
- Można też zrobić pauzę (poprzednio zaczynało grać od nowa).
Co mi się zdaje, to że sample nie stroją z instrumentami syntetycznymi podczas grania .MD2. Z .MD1 powinno być ok, bo to procedura, która była poprzednio używana. Fajnie gdyby się ktoś kompetentny wypowiedział.
Zapraszam do testowania i zgłaszania uwag oraz błędów.

2,308

(12 odpowiedzi, napisanych Fabryka - 8bit)

Spróbuj tego - powinno działać.

2,309

(12 odpowiedzi, napisanych Fabryka - 8bit)

Oczywiście. Zaraz dorobię.

2,310

(70 odpowiedzi, napisanych Fabryka - 8bit)

Źródło to jeszcze pół biedy. Najczęściej jednak dysponuje się kodem maszynowym hehe.
Z moich ostatnich działań nad playerami źródła miałem tylko do RMT i TMC. Do MPT był co prawda opis, jak wykorzystać ale widać gołym okiem, że nie działa to jak należy :/.

Edit: Doszły jeszcze Jaskrowe źródełka do MPT (już włączone) i CMC (nie zostały wykorzystane) i od Epiego do ST (na razie jeszcze niewykorzystane).

2,311

(12 odpowiedzi, napisanych Fabryka - 8bit)

No i jest.
Powinien poprawnie odtwarzać RMT 4 i 8 kanałowe. Wykorzystałem procedurę Rastra i przerobiłem ją tak, żeby była w pełni relokowalna. Wymagała też uniezależnienia liczby kanałów w module od tego czy użytkownik deklaruje posiadanie stereo czy nie.
Co to robi:
- detekcja 2 pokeya,
- oblicza ilość songów, patternów, instrumentów,
- pokazuje ilość kanałów.
Jeśli moduł nie był "oczyszczony" (strip), to doczytuje nazwę songu i instrumentów i pokazuje je jeśli było /X.
Zapraszam do gry (można też ściągać stąd).

RUNEXT.CFG można ustawić tak:

RMT,A:>BIN>RMTPLAY.COM,%

tym razem bez szczegółów, bo nazwy 64 instrumentów potrafią skutecznie wszystko zaciemnić.

Edit: Bambol w urlu.

2,312

(16 odpowiedzi, napisanych Fabryka - 8bit)

Zdekompilowałem i poprawiłem tak, żeby grał nie upakowaną muzykę, ale plik źródłowy. Bardzo prosty.

2,313

(16 odpowiedzi, napisanych Fabryka - 8bit)

Gdyby ktoś miał problemy z pobraniem muzyki w formacie Future Composera, to można to zrobić stąd (ten zawiera oryginalny zestaw plików .FC) i stąd.
Ponieważ w drugim ATRze niektóre utwory są uszkodzone proponuję najpierw wyjąć pliki z drugiego, po czym nadpisać je tymi z pierwszego. Z poziomu linuxa można to zrobić np. za pomocą franny:

$ F=$(franny -L plik.atr|grep "\\.FC"|cut -c 5-12); for f in $F; do franny -S -i $f.FC -o $f.FC plik.atr; done

gdzie plik.atr to odpowiednio "Future Composer.atr" i "FUTURCOM.ATR".

2,314

(16 odpowiedzi, napisanych Fabryka - 8bit)

Player kawałków z Future Composera. Features są bazowane na CMC Playerze:
- panorama,
- granie n razy na ramkę (domyślnie 1),
- liczy ilość songów, patternów, instrumentów,
- gra w stereo jak jest,
- powinien kończyć działanie po zakończeniu utworu.
Można go ściągnąć stąd lub stąd.
Zapraszam do gry i proszę o bugs & requests.

Edit: RUNEXTa należy wyedytować podając 3-ZNAKOWE rozszerzenie !!!uzupełniając je spacjami z prawej strony!!!, czyli:

FC ,A:>BIN>FCPLAY.COM,% /X

2,315

(35 odpowiedzi, napisanych Fabryka - 8bit)

Żeby odsłuchać drugi kawałek z Lasermanii wystarczy:

D1:>LASER 2

mając skonfigurowanego RUNEXTa.

2,316

(41 odpowiedzi, napisanych Fabryka - 8bit)

A tam. Procedury odgrywające prawie do wszystkiego są, więc ja to tylko robię tu murzyńską robotę.

2,317

(41 odpowiedzi, napisanych Fabryka - 8bit)

Tak, tak. Nie dotykałem procedury grającej jeszcze - wczoraj strasznie się zagmatwałem z tymi rozszerzeniami.

2,318

(35 odpowiedzi, napisanych Fabryka - 8bit)

Wersja 0.4 z:
- defaultowo szukane rozszerzenia są teraz CMC, CM3, CMR, DMC,
- powinno poprawnie liczyć ilość instrumentów,
- po napotkaniu komendy STOP player kończy działanie,
- rozpoznawana jest sygnatura plików opisywanych przez Pana Henryka Karpowicza w Serious #11 (.CM3). Na początku sygnatury zamiast bajtu $a0 jest $30.
Można też więcej wymusić przełącznikami niż dotychczas (znaczenie niektórych się zmieniło).

Ze względu na przyjęcie różnych defaultów można uprościć wpis w RUNEXT.CFG i wywalić przełączniki :)

Analogicznie, jak w MPT można też pobrać aktualną wersję stąd.

2,319

(41 odpowiedzi, napisanych Fabryka - 8bit)

Wersja 0.2 - zmieniłem domyślne rozszerzenia z MPT/SMP na MPT, MD1, MD2, D15, D8, SMP.
Aktualnie, jeśli poda się niepełną nazwę, program będzie próbował szukać plików z kolejnymi rozszerzeniami: MPT, MD1, MD2.
Jeśli podany plik ma inne rozszerzenie wtedy domyślnie zakłada się, że jest to odpowiednik MD1.
Dla plików MD1 szukane są sample: D15, D8 i SMP; dla MD2 tylko D8 i SMP.
Dla plików SMP przyjmowana jest wysoka jakość (hehe) samplowania 15kHz - można to zmieniać parametrami /L i /H.

Wersja aktualna może być ściągana (jeśli komuś wygodniej) stąd.

Edit: Niegramatyczne konstrukcje.

Edit 2: .D8 zamiast .MD8

2,320

(35 odpowiedzi, napisanych Fabryka - 8bit)

Dziękuję. :) Obejrzymy.

2,321

(35 odpowiedzi, napisanych Fabryka - 8bit)

Co do SAPów, to nie mam przekonania, bo też i co to jest za format? Wsadzisz tam wszystko - czy to będzie muzyka, czy grafika, czy program generujący na oscyloskopie demo 3d za pomocą wyjść dźwięku. Nie lubię takich formatów (.SAP, .SID, .AY), bo są nieprzenośne. Jedyne co można z czymś takim zrobić, to to wykonać (jak jest na czym) lub zaemulować (jak jest moc). Brrrr. Pomyślmy co by było, gdyby .MOD był takim właśnie formatem. Dałoby się to odtworzyć na Atari XL/XE?

2,322

(35 odpowiedzi, napisanych Fabryka - 8bit)

Po analizie playera dochodzę do wniosku, że nic nie daje :) OIDP CMC+ to łatka na CMC 2.0 opublikowana w TA, która dawała możliwość odczytu/zapisu pojedynczego instrumentu i kopiowania(!) instrumentów.

Edit: Chyba, że to nie ten "plus".

2,323

(41 odpowiedzi, napisanych Fabryka - 8bit)

No nie zawiera - dlatego (zapewne) wymyślono te rozszerzenia.

2,324

(41 odpowiedzi, napisanych Fabryka - 8bit)

No dobrze - zatem co przyjąć domyślnie w przypadku .SMP? 8kHz, 15kHz czy "niewiadomo" i brać wtedy co user ustawi?

2,325

(41 odpowiedzi, napisanych Fabryka - 8bit)

Dzięki za sugestie. Właśnie zmieniam te defaultowe rozszerzenia, a potem zobaczę w kod zrelokowanego już playera. Może tam coś siedzi? Albo źle się liczą jakieś adresy...