Uživatelské nástroje

Nástroje pro tento web


lnxspectrum:lnxtracker

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
lnxspectrum:lnxtracker [2019/05/17 15:15] – vytvořeno lanexlnxspectrum:lnxtracker [2019/05/17 16:52] (aktuální) lanex
Řádek 9: Řádek 9:
 Do našeho assembler projektu importujeme soubor "shadow of the beast 3.bin" který jsme si vyexportovali z LnxTrackeru. Nic dalšího není potřeba, protože v LnxSpectrum je přehrávací rutina pro LnxTracker obsažená v knihovnách v editoru.  Do našeho assembler projektu importujeme soubor "shadow of the beast 3.bin" který jsme si vyexportovali z LnxTrackeru. Nic dalšího není potřeba, protože v LnxSpectrum je přehrávací rutina pro LnxTracker obsažená v knihovnách v editoru. 
  
-Tato hudební rutina má velikost kolem 2 KB, a umí ovládat 2xAY a SAA čipy, a to i současně. Pokud se použije jen ta část pro AY, část SAA se nebude +Tato hudební rutina má velikost kolem 2 KB, a umí ovládat 2xAY a SAA čip, a to i současně. Pokud se použije jen ta část pro AY, část SAA se nebude do projektu kompilovat, stejně tak naopak. Pokud se použije jen SAA, AY části nebudou použity.
  
 +Základní ovládání je jednoduché. Hudbu inicializujeme vložením adresy naší skladby do registru DE, a zavoláním příkazu **mus.load_play**. Přehrávanou hudbu zastavíme zavoláním **mus.stop**. Důležité je, aby při každém přerušení (50x za sekundu) byla zavolána rutina **mus.patterns**, která se stará o přehrávání hudby, a rutina **mus.int**, která má na starosti přehrávání vzorků na čipech. Volány musí být i v případě, že se zrovna hudba nepřehrává. Je to zvukový engine, který musí být stále aktivní. Zvukový engine (verze 3.4) potřebuje většinu registrů procesoru. Jsou to HL, DE, BC, AF, HL', DE', BC', IX.
  
 +^mus.int máme několik druhů, podle použití:^^
 +|mus.int_ay |pro přehrávání jen jedním AY čipem, standartní pro ZX Spectrum 128.|
 +|mus.int_ts |pro přehrávání dvou AY čipů, tzv. TurboSound.|
 +|mus.int_saa |pro přehrávání pomocí čipu SAA.|
 +|mus.int_all |pro použití všech předchozích variant.|
  
 +Ukázkový základní kód pro přehrávání hudby na SAA:
  
  ; LnxSpectrum ASM editor (www.ilnx.cz) 17.5.2019  ; LnxSpectrum ASM editor (www.ilnx.cz) 17.5.2019
   
- org 32768+ org 32768
   
- ld de,Music1 + ; Inicializace hudby 
- call mus.load_play+  
 + ld de,Music1 
 + call mus.load_play
   
-Sound routine called each interrupt (50x per sec). +Simulace přerušení, rutinu zavoláme 50x za sekundu 
- ; Interrupt simulation: +  
- + ei
- ei+
  interrupt call mus.Patterns ;Music control  interrupt call mus.Patterns ;Music control
- call mus.int_SAA ;Sound engine+ call mus.int_SAA ;Sound engine
   
- halt + halt 
- jr interrupt+ jr interrupt
   
- include "LnxTrackerEngine.slb"+ ; Tady připojíme přehrávací rutinu pro LnxTracker 
 +  
 + include "LnxTrackerEngine.slb" 
 +  
 + ; Tady připojíme naší hudbu vyexportovanou z LnxTrackeru 
 +  
 + Music1 include "shadow of the beast 3.bin" 
 + 
  
- Music1 include "shadow of the beast 3.bin" 
lnxspectrum/lnxtracker.txt · Poslední úprava: 2019/05/17 16:52 autor: lanex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki