Uživatelské nástroje

Nástroje pro tento web


lnxtracker:export2

Rozdíly

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

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
lnxtracker:export2 [2019/07/25 16:33] lanexlnxtracker:export2 [2019/07/25 16:54] (aktuální) lanex
Řádek 7: Řádek 7:
 Projekt si uložíme jako hudební skladbu, i když obsahuje jen nadefinované samply. Projekt si uložíme jako hudební skladbu, i když obsahuje jen nadefinované samply.
  
-Nyní zvuky vyexportujeme pro assembler editor. V menu File/Export/Samples, a vyexportujeme soubor s koncovkou BIN. Dále si vyexportujeme ID názvy samplů, File/Export/Effect ID soubor s koncovkou ASM.+Nyní zvuky vyexportujeme pro assembler editor. V menu File/Export/Samples, a vyexportujeme soubor s koncovkou BIN. Dále si vyexportujeme ID názvy samplů, File/Export/Effect ID soubor s koncovkou ASM. Naše testovací soubory se budou jmenovat "zvuky.bin" a "zvuky.asm".
  
 ===== LnxSpectrum assembler ===== ===== LnxSpectrum assembler =====
-Nyní se přesuneme do Assembler editoru v ZX Spectrum emulátoru LnxSpectrum. V ASM editoru založíme nový prázdný projekt. Poté připojíme do ASM projektu námi vyexportované soubory BIN a ASM z LnxTrackeru:+Nyní se přesuneme do Assembler editoru v ZX Spectrum emulátoru LnxSpectrum. V ASM editoru založíme nový prázdný projekt. Poté připojíme do ASM projektu námi vyexportované soubory BIN a ASM z LnxTrackeru.
  
 {{ :lnxtracker:lnxtracker_export3.jpg?nolink |}} {{ :lnxtracker:lnxtracker_export3.jpg?nolink |}}
 +
 +Následně připojíme naše data do ASM projektu a také přilinkujeme hudební rutinu pomocí ''include''. Přehrávací rutina je součástí vnitřní knihovny kompileru. Napíšeme tento kód:
 +<code>
 + org 50000
 +
 + InfoBlok defw 0
 + include "LnxTrackerEngine.slb" ;hudební rutina LnxTrackeru
 + zvuky include "zvuky.bin" ;naše exportovaná data z LnxTrackeru
 + include "zvuky.asm" ;naše exportovaná data z LnxTrackeru
 +</code>
 +
 +Následující kód budeme psát za org 50000. Pro náš základní příklad budeme potřebovat tyto návěstí z LnxTrackerEngine:
 +
 +  * mus.module_smp (Inicializuje skladbu a následně spustí)
 +  * mus.PlaySmp (Spustí zvuk)
 +  * mus.GetChan (Zjistí adresu infobloku určeného kanálu v registru A)
 +  * mus.int_AY (Přerušení pro ovládání AY čipu)
 +  * mus.int_SAA (Přerušení pro ovládání SAA čipu) 
 +
 +Opět tady platí stejně jako v předchozím příkladu, že mus.int_AY a mus.int_SAA se musí volat 50x za sekundu, ideálně s přerušením. Můžete si všimnout, že nepotřebujeme mus.int_Patterns, pro přehrávání zvuků není potřeba. Ale pro hraní hudby potřebný je. Tu ale v tomto příkladu hrát nebudeme.
 +
 +Náš sampl budeme chtít přehrávat na čipu AY, kanále A, ten má číslo 0 (0-2 AY, 3-5 AY2, 6-11 SAA). Nejprve si zjistíme adresu infobloku pro tento kanál. Je potřeba ho zjistit jen poprvé, dále už potřeba zjištovat není, jeho hodnota se nikdy nezmění.
 +
 +<code>
 + org 50000
 +
 + ld a,0 ;Kanál č. 0
 + call mus.GetChan ;Adresu nám vrátí v registru IX
 +</code>
 +
 + informujeme zvukovou rutinu, kde se nacházejí naše samply.
 +
 +<code>
 + org 50000
 +
 + ld hl,zvuky ;adresa samplů
 + ld (mus.module_smp),hl
 +</code>
 +
  
  
lnxtracker/export2.txt · Poslední úprava: 2019/07/25 16:54 autor: lanex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki