lnxtracker:export2
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
lnxtracker:export2 [2019/07/25 16:33] – lanex | lnxtracker: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/ | + | Nyní zvuky vyexportujeme pro assembler editor. V menu File/ |
===== 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. |
{{ : | {{ : | ||
+ | |||
+ | Následně připojíme naše data do ASM projektu a také přilinkujeme hudební rutinu pomocí '' | ||
+ | < | ||
+ | org 50000 | ||
+ | |||
+ | InfoBlok defw 0 | ||
+ | include " | ||
+ | zvuky include " | ||
+ | include " | ||
+ | </ | ||
+ | |||
+ | 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, | ||
+ | |||
+ | 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í. | ||
+ | |||
+ | < | ||
+ | org 50000 | ||
+ | |||
+ | ld a, | ||
+ | call mus.GetChan ; | ||
+ | </ | ||
+ | |||
+ | | ||
+ | |||
+ | < | ||
+ | org 50000 | ||
+ | |||
+ | ld hl, | ||
+ | ld (mus.module_smp), | ||
+ | </ | ||
+ | |||
lnxtracker/export2.txt · Poslední úprava: 2019/07/25 16:54 autor: lanex