Oznámení

Sbalit
Aktuálně žádná oznámení.

Assembler - všeobecná logika

Sbalit
X
 
  • Filtr
  • Čas
  • Zobrazit
Vymazat vše
new posts

  • Prober (CADA)
    odpověděl
    Vidím, že od tvých začátků hraní si v Pythonu jsi už celkem hodně někde jinde

    Vložit komentář:


  • Lisiak
    odpověděl
    Vcera jsem doplnil efekt volume slide do dalsich 3 hudebnich kanalu. Ale primarne mam radost, ze se mi povedlo si uvolnit kompletne 1 adresovy reistr a to A4, ktery pouziju pro funkci cyklovani hrajiciho samplu, pokud se bude opakovat jen jeho mensi část.

    Pro uvolneni registru A4 jsem pridal casovac pro to, ktery pattern se hraje. K adrese s potrebnymi daty je celkem snadny pristup a zaroven se s casovacem pro pattern pracuje v nizke frekvenci v ramci kodu. Na casovac jsem si vyhradil predposledni bajt v registru D4. V poslednim bajtu mam casovac pro odhrání 1 patternu (64 radku v trackeru) a v nejnizsich 2 bajtech mam casovac pro zpracovani konkretnich kanalů v kodu pomoci ktereho delam skoky na kod pro konkretni hudebni kanal, tedy zpracovava se vzdy pouze 1 kanal ze 4 v jedne programove smyčce a jsou v nem hodnoty 0 nebo 4,8 a 12.

    Popsana cast kodu pro praci, ktery pattern V MODu se bude hrat jako dalsi, kdyz dohraje prave hrajici pattern.

    V kodu mam v A1 pointer na prave hrajici MOD, ten si davam do pracoviho adresare A0 (pak mam pracovni adrsare jeste D0 a D1). Na 952. bajtu je prvni bajt ze 128 s informaci, kterym cislem patternu se zacina skladba hrat, pripocti k A0. Obsah vyse popsane D4 davam do pracovniho adresare D0. Swapem davam casovac pro hrajici pattern do nejnizsiho bajtu. AND je jedinou instrukci z upravy na kterou jsem zapomel a pak pridal. Vyssi bajt ze 2 bajtu musim nulovat, protoze ADD musi byt v rozsahu nejmene 2 bajtu (puvodne jsem pouzil rozsah 1 bajtu a po chybe pridal AND pred instrukci ADD). Nuluji D0. Cislo hrajiciho patternu do D0 pomoci (a0)+, a pokud se nehraje prave posledni pattern (nepresunul jsem 1 bajt o odnote 00 hexa), skoc na navesti songPosition. Navis casovac pro cislo hrajiciho patternu o 1 (vse potrebne jiz mame v D0 tedy muzeme). Delka 1 patternu ma 1024 bajtu. Vynasob cislo hrajicih patternu cislem 1024. Ale jeste 1 věc. Uplne prvni pattern nam v MODu hraje na 1084 bajtu. Pripocti k D0 jeste 1084 bajtu a v D0 mame prave spranou pozici hrajiciho patternu. Z adresy na A2 ctu data z patternu. Dej adresu zacatku hrajiciho modu z A1 do A2. Pripocti spravnou pozici nově hrajiciho patternu do A2 a jdeme na nove hrajici uplne prvni radek spravneho patternu

    Po radku v kodu "bne songPosition":

    Jdeme hrat skladbu MODu od začátku. Vynuluj bajt s casovacem pro cislo hrajiciho patternu. Dej do pomocneho registru A0 zacatek hraji skladby MODu. Pripocti 952 bajtu pro spravnou pozici informace, ktery pattern se hraje v MODu jako uplne prvni (nemusi to byt vzdy prvni pattern). Cislo hrajiciho patternu dej do pomocneho registru D0. Adresu pro stopovani hrajicich samplu v patternech vrat na zacatek (tohle jsem si pridal já). A pokracuje se dal v jiz popsanem kodu


    Klikni pro plné zobrazení obrázku

Jméno: playMod21.png
Počet zobrazení: 246
Velikost: 16,8 KB
ID: 165575

    Vložit komentář:


  • Lisiak
    odpověděl
    Jen taková drobnost,

    předpříprava pro praci s hlasitosti a zadani primych skoku i kdyz vyuziju minimum z tech moznych efektu a i to nebudou efekty zpracovány na takove urovni jakou ma nejaky tracker i tak prime skoky vuci stylu nudloveho kodu vnimam jako lepsi alternativu. Lepe jsem zpracoval praci s tempem, kdy jiz jsou pro tempo zpracovany data k tomu opravdu urcene. (nezpracovani v nejnizsim bajtu stavu F1 az FFh a i 00 jsem odchytil co ma jinou funkci ktera dosti mozna jen tak v MODu pouzita nebude a s tempem nema nic spolecneho, riskovat to nebudu a ten 1 BEQ (prT0) navic čert vem

    Takový vtipný moment, kdyz jsem tam nemel k tem nevyuzitym navestim ty RTSka a mne to hralo blbě. Jsem si rikal, zkusim je tam radši dát...


    EDIT:
    Práce s hlasitostí dokončena. Čekalo mně 1 překvapení, kdy jsem v závěru v programu neměl chybu, ale prace s hlasitosti byla v jeji urovni vyrazne snizena. Po tom, co jsem dal do 1 hudebniho kanalu rucně a ne z MODu maximalni hlasitost hral kanal maximalni hlasitosti, pak jsem dopsany kod dal do poznamky a jiz mi zacala hrat spravna uroven hlasitosti i z MODu. To je ten případ ...a zkoušeli jste to vypnout a zapnout?

    Jak bude cas pridam zacyklovani hrajiciho samplu v miste jinem nez je jeho zacatek a efekt volume slide, ktery ja osobne povazuji za nejzasadnejsi, pokud se nebudeme bavit o chiptune hudbe.

    EDIT2 (12.listopad):
    ​Zpracoval jsem prednastaveny parametr pro jemne doladeni tonu samplu (finetune), pro MOD je to v rozsahu -8 až +7.
    Začal jsem se v tom štourat, až jsem to nakonec aplikoval

    Nejvtipnější na tom byly rozcházející se hodnoty pro odečet od periody (výšky tónu), tedy hodnota A až F se zvyšuje a číslo odečtu se snižuje. Pomohla mi negace v bajtu hodnoty A až F a navýšení o 1.

    Code:
    not.b D1
    and.b #$0f, D1
    addq #1,D1
    Code:
    Offset  Bytes  Description
    ------  -----  -----------
      44      1      Lower four bits are the finetune value, stored as a signed
                        four bit number. The upper four bits are not used, and
                        should be set to zero.
                        Value:  Finetune:
                          0        0
                          1       +1
                          2       +2
                          3       +3
                          4       +4
                          5       +5
                          6       +6
                          7       +7
                          8       -8
                          9       -7
                          A       -6
                          B       -5
                          C       -4
                          D       -3
                          E       -2
                          F       -1​
    Klikni pro plné zobrazení obrázku  Jméno: playMod15.png Počet zobrazení: 0 Velikost: 15,6 KB ID: 165465
    Naposledy upravil Lisiak; 12.11.2023, 10:48:44.

    Vložit komentář:


  • Lisiak
    odpověděl
    Dnes jsem dokončil práci s patterny, tedy již hraju skladbu v její celkovych 2 patternech. Z 1 kanalu jiz hraji 2 kanaly (všechny kanaly již naprogramovany jen postupne pridavam, jak se mi to libi v poslechu). V druhem pridanem kanalu se mi ne vzdy nacetl sampl do HW registru, tak jsem klasicky pridal zpomaleni pomoci casovace CIA mezi ukonceni DMA prenosu a nactenim samplu. CIA mam na hodnote zatim 10 hexa. Sample se ted jiz nacitaji zatim vsechny. Toto zpomaleni jsem pridal pro vsechny hudebni kanaly. CIA časovač s 10 hexa jsem dal do podprogramu. Skladba se na jeji konci v hrani vrati na zacatek. Dovolil jsem si zjednodusit tuhle funkci na podminku, kdy neni umozneno pouzit posledni mozny pattern co umoznuje format MOD, ale to je 128.pattern, tak mi to asi nijak nevadi. Jednoduse na te pozici testuji pomoci jiz pouziteho MOVE nulový bajt, který mi oznacuje poslední vyuzity pattern v skladbe.

    Jak bude čas, zpracuji praci s hlasitostí, kterou doposud beru jen jako prednastavenou z formatu MOD, ale ne ze samotneho radku patternu.

    Naposledy upravil Lisiak; 07.11.2023, 13:56:52.

    Vložit komentář:


  • Lisiak
    odpověděl
    Tak dnes jsem primárně dohledal 1 chybu, kvuli ktere mi MOD nehrál jak mel. Tou chybou bylo o 1 sampl posunute parametre pro delku samplu a prednastavenou hlasitost samplu. Tak jsem nejdříve hodnotu zpracovaneho samplu ponizil o 1 a ted jak jsem si k tomu sedl udeal drobnou upravu, ktera mne hned dodatecne napadla, jen jsem jiz na to nemel cas a to, ze jsem ponizil zaverecny skok na tyhle data. Ten skok se zadavat musi, tedy jsem jen snizil cislo pro dany skok a usetril tak 1 instrukci s odectem 1 o kterou jsem ponižoval hodnotu hrajiciho samplu, ktera je zadana primo v MODu a tedy tuhle hodnotu z programu ponizit jako ten primy skok v programu na data v MODu.

    Pridal jsem v kodu data pro ztlumovani samplu a s kazdym radkem patternu z MODu se nacita i 1 bajt primo z programu ktery říká, jestli se ma nejaky sampl ztlumit aby nehrál. Tedy na 1 pattern pripada 64 bajtů. Tohle reseni je mozne jen kdyz vite, ktere skladby chcete hrat. Takhle se da jednoduse samotny format MODu rozsirovat o nejake dodatecne funkce, ale to ted nemam v planu a to ztlumovani samplu je nutnosti a zatim jednoduche a ucelne reseni. V tehle jednoduche skladbe je treba v 1 hudebnim kanalu v 1 patternu skladajiciho se ze 64 radku ztlumit dodatecne sampl na 2 mistech. Oproti starsi rutine hrajici muj format musim sampl ztlumovat o 1 radek v patternu drive, co znamena, ze tahle hudebni rutina hrajici format MOD je rychlesi, minimalne prozatim, ale i bude rychlejsi.

    Ode dneška hraji 1 hudebni kanal v 1 patternu celkem verne (bez efektů), tak mam celkem radost. Ostatní příště

    Vložit komentář:


  • Defor
    odpověděl
    dotaz 2:
    V odkaze " Bit Manipulation Instruction Execution Times"
    Čo je myslené tým rozdelením dynamic a static?
    Nejak som toto nedohladal.​
    Instrukce pro bitové operace mají první parametr číslo bitu a druhý parametr cíl operace.
    Static tady znamená, že je číslo bitu pomocí osmi bitů obsaženo přímo v kódu instrukce (např. btst.l #3,d0).
    Dynamic znamená, že je číslo bitu uloženo v operandu (např. btst.l d1,d0).
    Kódování bitových instrukcí třeba zde
    Naposledy upravil Defor; 31.10.2023, 17:24:48.

    Vložit komentář:


  • Lisiak
    odpověděl
    Autorem citovaného textu je ObiWanKen Přejít na původní příspěvek
    Tak SWAP je isto rychlejsie ako MOVEM. To uz je na tebe ktory sposob si vyberies. Ja si orientacne pozeram cas tu:

    https://oldwww.nvg.ntnu.no/amiga/MC6...000timing.HTML
    Celkovy pocet taktov je teda ked spocitam cislo pred zatvorkou s cislom v zatvorke? Viem, ze mi aj Defor daval odkaz na tabulku a myslim, ze vyzerala inak, ale nejako som jeho odkaz nedohladal a na nete som nasiel len tabulku rovnaku s tou, co si daval odkaz Ty.


    EDIT:

    dotaz 1:
    V odkaze "Standard Instruction Execution Times"
    nerozumiem poznamke:

    ** The base time of six clock periods is increased to eight
    if the effective address mode is register direct or
    immediate (effective address time should also be added)​

    Počet taktov v tabule je teda úplný, alebo sa tam ešte niečo pripočítáva?

    dotaz 2:
    V odkaze " Bit Manipulation Instruction Execution Times"
    Čo je myslené tým rozdelením dynamic a static?
    Nejak som toto nedohladal.

    Autorem citovaného textu je sailor Přejít na původní příspěvek

    řekla bych že je to takto:

    - pokud <ea>= register direct, tj. An nebo Dn, místo 6 ticků je to 8, ale effective address time je v tomto případě =0
    tj. ADD.L Ax,An ... ADD.L Dx,An .. ADD.L Ax,Dn a ADD.L Dx,Dn bude vždy =8.

    - pokud <ea>= register indirect, například (An), je to takto:
    ADD.L (Ax),Dn = 8 base + 4 ( délka výpočtu ea (An)) = 12
    připočtená hodnota může být 0 až 10, podle té první tabulky - Effective Address Calculation Times
    No jo, já ten nadpis "Effective Address Calculation Times" u te tabulky nejak odfiltroval... ,díky


    @ALL: Do hudebni rutiny jsem dnes pridal timer pro 1 pattern a zahral jej v zakladu. Jsou to takove useknute tony a sample. Kdyz pridam timer pro rychlost hrani skladby, melo by se to zlepsit, ale nevyresi se uplne vse a premyslim, že soubezne s radky patternu skladby budu spracovavat po 1 bajtu na 1 radek patternu data zvlast jiz v kodu. Bude tam pouze info o tom, kdy ztlumit sampl, pokud ho bude treba ztlumit. Pokud to pak budu mit vyladeny, mohl bych to vlozit primo do MODu, protoze ta informace by byla v casti, kam se zapisuje vyska tonu pro sampl a v ten moment tam budou vzdy same nuly, ale k tomuhle reseni se zatim nechystam.

    Zatim mam v programu stale 4 promenne ve 2 datovych registrech, na kazdou promennou 2 bajty, v dalsim datovem registru 4 bajty dat z patternu MODu a 3 adresove registre so stalymi adresami na pattern, sample a dodatocne data k samplům. Pomocne promenne 3 datove a 1 adresovy registr.

    Dnes mne vyškolila instrukce DBF, kde jsem predpokladal, ze po opusteni programove smycky mi necha v datovem registry nulu, ale ono nastava opet snizeni, tedy v ramci 2 bajtu tam bude hodnota FFFF hexa, pokud tedy chceme nastavit hodnotu rychlou instrukci ADDQ.w, musí se dát +1 vůči hodnotě kterou chceme nastavit
    Naposledy upravil Lisiak; 29.10.2023, 16:55:24.

    Vložit komentář:


  • Lisiak
    odpověděl
    Autorem citovaného textu je Defor Přejít na původní příspěvek
    Jen jsem se na to podíval z rychlíku.
    Myslím, že používání or.l a and.l na nastavování nebo mazání jednoho bitu v datovém registru je pomalejší než k tomu použít instrukce bset.l a bclr.l.


    Tohle je fajn a již používám (použitý zatím BSET). I instrukci BCHG (překlopení bitu) jsem v minulosti programoval a tedy to dělal složitě

    @ALL: V rámci programování nové hudební rutiny hrající MODy jsem se drobátko potrápil se správným načtením samplů z MODu, ale přesně tohle jsem předpokládal, že to nedám napoprvé. Nicméně dnes, jak jsem si sedl k programování se to již tváří rozumně a já si dle všeho zahrál první řádek z prvního patternu správně. Zaměřil jsem se teď hlavně na práci se samply a ostatní je poslechově zatím taky ok. Přidal jsem zatím přeci jen 1 datový register jako pomocnou proměnnou. Tedy registre pro pomocnou proměnnou v kódu jsou: D0, D1 a nově ted i D2. Pomocný adresový registr je zatím jeden a to A0.

    Vložit komentář:


  • Lisiak
    odpověděl
    Zatim mam netestovany kod, ale tak nejak bych jiz mel mit zpracovani samplu z MODu ok. Frekvence tonu (periody) taky. Jednotlive pointre na sample mam ulozeny v pameti za sebou, aby jsem k nim mel rychlý pristup. Technicky by mi vice vyhovovalo zpracovavat data z efektů drive nez ze samplu, ale musim nejdrive zpracovat sample, protoze v efektu muze byt zmena hlasitosti samplu a ta se musi zadat az po samotnem samplu kde je taky hodnota hlasitosti, ale prednastavena hodnota hlasitosti a ta bude pouzita, pokud se pri hrani noveho tonu nebude nastavovat hlasitost samplu ze samotneho efektu. A pokud se nebude nastavovat hlasitost z efektu, zustane nastavena hlasitost prednastavena z dat pro sampl. Kdyby jsem to udelal obracene, prepsal by jsem si nastavenou hlasitost z efektu prednastavenou hlasitosti ze samplu co by byla blbost. Tohle dodrzeni spravneho poradi zpracovani dat samplu a efektu mne stalo 1 SWAP (instrukci) navíc, protoze nejdrive potrebuji zpracovat vyssí 2 bajty z Longu (ze 4 bajtů) a pak nižší 2 bajty. Ale zustavam u pomocných promennych na 2 datovych registrech a nemusim načít třetí jak jsem psal ve vlákně o Chaos Guns. Chvili jsem si myslel, ze musim udelat tabulku pro frekvence tonu, ale nemusim, v MODu je vlastne kompletne hodnota cele periody, tak tohle by melo byt taky ok. Jak bude cas, pokusim se to roztocit (bez efektů v MODu) a jsem zvedav, kde vsude jsem nasekal po programove strance nejake hovadiny

    První pointr na sampl (misto kde se sampl v MODu nachazi) mi zacina na druhe pozici v pameti (prvni pozice 4 bajtu je na 0), aby jsem v programu usetril 1 instrukci SUBQ.
    Naposledy upravil Lisiak; 23.10.2023, 16:29:39.

    Vložit komentář:


  • Defor
    odpověděl
    Section bss pouze alokuje paměť. Příklad:
    Code:
        section bss
    MyBuffer ds.b 1000
    Na adrese MyBuffer budeš mít naalokovaný blok paměti o velikosti 1000 bajtů. Pozor, myslím, že ve standartu je, že blok je neinicializovaný, takže bych nepočítal s tím, že tam jsou nuly!
    Section data obsahuje data. Příklad:
    Code:
        section data
    MyBuffer dc.b 10, 20, 30
    Na adrese MuBuffer budeš mít tři bajty 10, 20 a 30.
    Dají se použí i parametry bss_c (alokuje se v chip-ram) a data_c (data se načtou do chip-ram).

    Vložit komentář:


  • Lisiak
    odpověděl
    ...zatim muj kod pro cteni MODu vypada takhle, je to vse rozpracovany. Nacteni baze pro 16 bitovy offset casem dam, pokud budu moci, ted to i tak z meho pohledu neni priorita. Data za navestim songs jsou jen pro ukazku, ty budu cist primo z MODu. U souboru je pripona ".S" zmenena na ".txt"

    soubor:
    playMod3_CDS.txt

    vylistovany kod:
    Code:
    ;********************************
    ;** playMod v1.5 by Lisiak/CDS **
    ;********************************
    
    SECTION musicRoutine, CODE_C ;establishing a code section
    
    
    moveq #0,d0 ;register for variables to 0
    moveq #3,d2 ;4 music channel
    moveq #0,d3 ;for a jump of 4 bytes
    
    
    lea numberMod(pc),a0 ;pointer MODs to A0
    move.l 0(a0,d0.w),a1 ;pointer playing Mod to A1
    
    move.l a1,a2 ;pointer plaing MOD to A2
    add #1084,a2 ;pointer 1.st pattern MOD to A2
    
    move.b #31,d1
    lea spmPointers(pc),a3
    move.b 950(a1),d0
    mulu.w #1024,d0
    add.w #1084,d0
    move.l d0,(a3)+
    ; dbf d1,
    
    
    
    patternData ;play data from pattern
    
    move.l (a2)+,d4 ;channel 0-3, pattern data to D4
    bne processCahnnel ;zero data in whole channel?
    dbf d2,patternData ;yes, process another channel
    
    
    processCahnnel
    move.w d4,d0 ;lower 4 bits SMP number in D0
    rol.w #4,d0 ;lower 4 bits SMP to first 4 bits D0
    
    move.w d4,d1 ;effect command bits in D1
    and.w #$0fff,d1 ;only effect command bits in D1
    
    ;in this version without efect command!!!
    
    swap d4 ;upper 4 bits SMP number & 12 bits period in-
    ;-lower 2 bytes D0
    move.w d4,d1 ;upper 4 bits SMP number to D1
    rol.w #8,d1 ;upper 4 bits SMP to upper 4 bits D1
    and.b #$0f,d0 ;only lower 4 bits SMP in lower 4 bits D0
    and.b #$f0,d1 ;only upper 4 bits SMP in upper 4 bits D1
    or.b d1,d0 ;8 bits SMP number in D0
    ; move.b d0,d0 ;zero flag in D0? = no playing SMP?
    beq processSmpEnd ;yes, skip sample setup = zero flag
    
    mulu #30,d0 ;for correct offset of sample number in MOD
    lea smpChannel(pc),a0
    move.l 0(a0,d3.w),a0
    jsr (a0)
    bra processSmpEnd
    
    smpCh0 ;channel 0
    move.w 42(a1,d0.w),$dff0a4 ;sampleLenght to HW register
    move.b 45(a1,d0.w),$dff0a9 ;preset sampleVolume to HW register
    rts
    smpCh1
    move.w 42(a1,d0.w),$dff0b4 ;same for channel 1
    move.b 45(a1,d0.w),$dff0b9
    rts
    smpCh2
    move.w 42(a1,d0.w),$dff0c4 ;same for channel 2
    move.b 45(a1,d0.w),$dff0c9
    rts
    smpCh3
    move.w 42(a1,d0.w),$dff0d4 ;same for channel 3
    move.b 45(a1,d0.w),$dff0d9
    rts
    
    
    processSmpEnd
    and.w #$0fff,d4 ;only 12 bit note period in D4
    beq processPeriodEnd
    
    lea periodChannel(pc),a0
    move.l 0(a0,d3.w),a0
    jsr (a0)
    bra processPeriodEnd
    
    periodCh0 move.w d4,$dff0a6 ;note period to register - channel 0
    rts
    
    periodCh1 move.w d4,$dff0b6 ;same for channel 1
    rts
    
    periodCh2 move.w d4,$dff0c6 ;same for channel 2
    rts
    
    periodCh3 move.w d4,$dff0d6 ;same for channel 3
    rts
    
    
    processPeriodEnd
    addq #4,d3
    dbf d2,patternData ;process next music channel
    
    
    move.b #$00,$bfde00 ;CIA primary timer, 2000=1/100 second
    move.b #$7f,$bfdd00 ;
    move.b #$00,$bfd400 ;
    move.b #$00,$bfd500 ;
    move.b #$09,$bfde00 ;
    primaryTimer ;
    btst.b #0,$bfdd00 ;
    beq primaryTimer ;
    
    
    spmPointers
    dc.l $00000000,$00000000,$00000000,$00000000,$00000000 ;smp 1-5
    dc.l $00000000,$00000000,$00000000,$00000000,$00000000 ;smp 6-10
    dc.l $00000000,$00000000,$00000000,$00000000,$00000000 ;smp 11-15
    dc.l $00000000,$00000000,$00000000,$00000000,$00000000 ;smp 16-20
    dc.l $00000000,$00000000,$00000000,$00000000,$00000000 ;smp 21-25
    dc.l $00000000,$00000000,$00000000,$00000000,$00000000, $00000000 ;smp 26-31
    
    
    smpChannel
    dc.l smpCh0, smpCh1, smpCh2, smpCh3
    
    periodChannel
    dc.l periodCh0, periodCh1, periodCh2, periodCh3
    
    numberMod
    dc.l $0, $3647c
    
    songs
    
    dc.l $00A05000, $00F02F91, $00A01F05, $00A03C10; 00
    dc.l $00000000, $00000000, $00000000, $00000A10; 01
    dc.l $00000000, $00000000, $00A01C20, $00000A10; 02
    dc.l $00000000, $00000000, $00000000, $00000A10; 03
    dc.l $00000000, $00000000, $00A01C08, $00000A10; 04
    dc.l $00000000, $00000000, $00000000, $00000A10; 05
    dc.l $00000000, $00000000, $00A01C14, $00000A10; 06
    dc.l $00000000, $00000000, $00000000, $00000A10; 07
    dc.l $00A06000, $00000000, $00A01000, $00000A10; 08
    dc.l $00000000, $00000000, $00000000, $00000A10; 09
    dc.l $00000000, $00000000, $00A01C10, $00000A10; 10
    dc.l $00000000, $00000000, $00000000, $00000A10; 11
    dc.l $00000000, $00000000, $00A01C08, $00000A10; 12
    dc.l $00000000, $00000000, $00000000, $00000A10; 13
    dc.l $00A07000, $00000000, $00A01000, $00000A10; 14
    dc.l $00000000, $00000000, $00000000, $00000A10; 15
    dc.l $00A05000, $00000000, $00A01C10, $00000A10; 16
    dc.l $00000000, $00000000, $00000000, $00000A10; 17
    dc.l $00A06000, $00000000, $00A01C08, $00000A10; 18
    dc.l $00000000, $00000000, $00000000, $00000A10; 19
    dc.l $00A05000, $00000000, $00A01000, $00000A10; 20
    dc.l $00000000, $00000000, $00000000, $00000A10; 21
    dc.l $00000000, $00000000, $00A01C10, $00000A10; 22
    dc.l $00000000, $00000000, $00000000, $00000A10; 23
    dc.l $00A06000, $00000000, $00A01C08, $00000A10; 24
    dc.l $00000000, $00000000, $00000000, $00000A10; 25
    dc.l $00000000, $00000000, $00A01000, $00000A10; 26
    dc.l $00000000, $00000000, $00000000, $00000A10; 27
    dc.l $00000000, $00000000, $00A01C08, $00000A10; 28
    dc.l $00000000, $00000000, $00000000, $00000A10; 29
    dc.l $00000000, $00000000, $00A01C18, $00000A10; 30
    dc.l $00000000, $00000000, $00000000, $00000A10; 31
    dc.l $00A05000, $00000000, $00A01000, $00000000; 32
    dc.l $00000000, $00000000, $00000000, $00000000; 33
    dc.l $00A05000, $00000000, $00A01C20, $00000000; 34
    dc.l $00000000, $00000000, $00000000, $00000000; 35
    dc.l $00000000, $00000000, $00A01C08, $00000000; 36
    dc.l $00000000, $00000000, $00000000, $00000000; 37
    dc.l $00A05000, $00000000, $00A01C14, $00000000; 38
    dc.l $00000000, $00000000, $00000000, $00000000; 39
    dc.l $00A06000, $00000000, $00A01000, $00000000; 40
    dc.l $00000000, $00000000, $00000000, $00000000; 41
    dc.l $00000000, $00000000, $00A01C10, $00000000; 42
    dc.l $00000000, $00000000, $00000000, $00000000; 43
    dc.l $00000000, $00000000, $00A01C08, $00000000; 44
    dc.l $00000000, $00000000, $00000000, $00000000; 45
    dc.l $00A07000, $00000000, $00A01000, $00000000; 46
    dc.l $00000000, $00000000, $00000000, $00000000; 47
    dc.l $00A05000, $00000000, $00A01C10, $00000000; 48
    dc.l $00000000, $00000000, $00000000, $00000000; 49
    dc.l $00A06000, $00000000, $00A01C08, $00000000; 50
    dc.l $00000000, $00000000, $00000000, $00000000; 51
    dc.l $00A05000, $00000000, $00A01000, $00000000; 52
    dc.l $00000000, $00000000, $00000000, $00000000; 53
    dc.l $00000000, $00000000, $00A01C10, $00000000; 54
    dc.l $00000000, $00000000, $00000000, $00000000; 55
    dc.l $00A06000, $00000000, $00A01C08, $00000000; 56
    dc.l $00000000, $00000000, $00000000, $00000000; 57
    dc.l $00000000, $00000000, $00A01000, $00000000; 58
    dc.l $00000000, $00000000, $00000000, $00000000; 59
    dc.l $00000000, $00000000, $00A01C08, $00000000; 60
    dc.l $00000000, $00000000, $00000000, $00000000; 61
    dc.l $00000000, $00000000, $00A01C18, $00000000; 62
    dc.l $00000000, $00000000, $00000000, $00000000; 63
    
    
    
    mods incbin "DH1:MOD T02X3/T02X3.MOD"
    incbin "DH1:MOD T02X3/T02X3.MOD"


    Vložit komentář:


  • Lisiak
    odpověděl
    Autorem citovaného textu je Defor Přejít na původní příspěvek
    Jen jsem se na to podíval z rychlíku.
    Tady je pár tipů. Ale nic důležitého.

    Asi bych nepoužíval section code_c. Nutíš tím OS, aby načetlo kód do chip-ram, což je podle mne zbytečné. Použil bych section code pro program, section data_c pro data, která mají být v chip (copper a předpokládám že i samply), section bss_c pro bloky, které mají být v chip a section bss pro bloky, které můžou být kdekoliv.
    Výhodou je, že celý program s daty neokupuje jeden souvislý blok a je tedy větší šance, že se pro něj najde volná paměť.

    Zbytečně často používáš instrukce s celou 32bit adresou cíle. Např. move.b #$00,$bfde00 a podobné. Je lepší si dát bázovou adresu do adresového registru a pro cíl používat 16bit offset, např. move.b #number,offset(a5).

    Pokud má jakákoliv instrukce za cíl datový registr, tak se automaticky nastavují stavové bity podle výsledku operace. Takže je zbytečné dělat po and.w #mask,d0 ještě tst.w d0. Už první instrukce nastaví stavové bity, takže např. beq.b .skip bude fungovat i bez tst.

    Myslím, že používání or.l a and.l na nastavování nebo mazání jednoho bitu v datovém registru je pomalejší než k tomu použít instrukce bset.l a bclr.l.
    díky za navedení

    - bloky jsou data? Nevím, jestli to mám vnímat rozdílně nebo ne.
    - to s tím 16 bit offsetem na HW registre díky. Já si tam zvykl to dělat takhle, protože jsem ani neměl volný adresový registr, do kterého bych dal bázovou adresu. Ono celý ten kód je celkem divočina, kde byli datové a adresové registre celkem narvány.
    - na instrukce bset.l a bclr.l. časem kouknu.
    - nastavování stavových bitú u instrukcích na datové registre používám, jen jsem to asi všude neopravoval u starého kódu.

    Ještě jednou díky.

    Vložit komentář:


  • Defor
    odpověděl
    Jen jsem se na to podíval z rychlíku.
    Tady je pár tipů. Ale nic důležitého.

    Asi bych nepoužíval section code_c. Nutíš tím OS, aby načetlo kód do chip-ram, což je podle mne zbytečné. Použil bych section code pro program, section data_c pro data, která mají být v chip (copper a předpokládám že i samply), section bss_c pro bloky, které mají být v chip a section bss pro bloky, které můžou být kdekoliv.
    Výhodou je, že celý program s daty neokupuje jeden souvislý blok a je tedy větší šance, že se pro něj najde volná paměť.

    Zbytečně často používáš instrukce s celou 32bit adresou cíle. Např. move.b #$00,$bfde00 a podobné. Je lepší si dát bázovou adresu do adresového registru a pro cíl používat 16bit offset, např. move.b #number,offset(a5).

    Pokud má jakákoliv instrukce za cíl datový registr, tak se automaticky nastavují stavové bity podle výsledku operace. Takže je zbytečné dělat po and.w #mask,d0 ještě tst.w d0. Už první instrukce nastaví stavové bity, takže např. beq.b .skip bude fungovat i bez tst.

    Myslím, že používání or.l a and.l na nastavování nebo mazání jednoho bitu v datovém registru je pomalejší než k tomu použít instrukce bset.l a bclr.l.

    Vložit komentář:


  • Lisiak
    odpověděl
    Zde je ten kód v souboru, kdyby se někdo chtěl podívat, mělo by to tam být bez chyb v zarovnání textu. Koncovnku .S jsem změnil na .TXT

    mR1231p4 Free.txt

    Vložit komentář:


  • Lisiak
    odpověděl
    Jsem to původně chtěl dát na OC, to nepíšu z provokace, jen mně tam přednastavený barevný podklad CODE seděl o něco více, nicméně na OC je omezení na 32768 znaků a já mám 108475 znaků a tady to bere i tenhle počet znaků...

    Primárně poznámky pro mne kvůli HW registrům, které si nepamatuji a nechci si ten kód otevírat v ASM-Pro, když nemusím...

    Poslední verze kódu hudební rutiny hrající můj formát.
    Smazaný kód pro zobrazování textu (možná ho ještě použiju).
    Copper list a font ponechán.
    Chybí tam sample pro použitou skladbu.
    Hodně staršího kódu je tam v poznámkách.

    Code:
        SECTION    musicRoutine,CODE_C ;zalozeni kodove sekce musicRoutine
                        ;by Lisiak
    ;PhotonWrapper
    
        *** MiniWrapper by Photon ***
    
    Start:
        move.l    4.w,a6            ;Exec library base address in a6
        sub.l    a4,a4
        btst    #0,297(a6)            ;68000 CPU?
        beq.w    .yes68k
        lea    .GetVBR(PC),a5        ;else fetch vector base address to a4:
        jsr    -30(a6)            ;enter Supervisor mode
    
        *--- save view+coppers ---*
    
    .yes68k:
    ;    lea    .GfxLib(PC),a1        ;either way return to here and open
        lea    GFXLIB(PC),a1        ;either way return to here and open
        jsr    -408(a6)            ;graphics library
        tst.l    d0            ;if not OK,
        beq.w    .quit            ;exit program.
        move.l    d0,a5            ;a5=gfxbase
    
        move.l    a5,a6
        move.l    34(a6),-(sp)
        sub.l    a1,a1            ;blank screen to trigger screen switch
    
    
    
    
    
    ;        sub.l    a1,a1       ;nuluji A1, jinak to jde do Guru
            lea    PLANE(pc),a3 ;zapis adresy pro 1 bitplane
    ;        add.w    #40,a3
    
            LEA    PLANES(PC),a2 ;zapis adresy 1 bitplanu pro Copper
            move.l    a3,d2         ;a3 neumoznuje instrukci swap,pozijeme d0
    
    
            add.w    #40,d2
            move.w    d2,6(a2)    ;zapis adresy 1 bitplanu do adresy pro reg
            SWAP    D2        ;ister na 2 krat v PLANES $00E0,sem,$00E2,
            move.w    d2,2(a2)    ;sem. 6(a3)=o 6byte dal vuci pointeru
                        ;dc.w 0 = dc.w 0000
            SWAP    D2
    
            addq.l    #8,a2
    
            sub.w    #40,d2
    
            move.w    d2,6(a2)
            SWAP    D2
            move.w    d2,2(a2)
    
                          ;30*(40byte)=30*(40*8bite)
                          ;=30*(320=sirka obrazovky v LoRes)
                          ;zacatek textu bude posunuty
                          ;o 30 pixelu nize
                          ;Musi byt pouzito MOVE.L a byt vynulovana
                          ;D1 v ted nevyuzitych bitech-souvisi to s
                          ;pozdejsi praci s bitplanem do ktereho
                          ;musime pristupovat v rozsahu Long a
                          ;pripocitavame k nemu prave hodnotu z D1
                          ;v navesti FOUNDCHAR: ADD.L D1,A3. Pokud
                          ;pouzijeme pouze Word,program se za stavu
                          ;kdy je spusten v Asm-Pro a spustime jej
                          ;taky i u jiz zkompilovaneho EXE souboru
                          ;ze zkompilovaneho EXE souboru spravne
                          ;nespusti.Samostatne spustene EXE, kdyz
                          ;neni program spusten i v Asm-Pro funguje
                          ;spravne i s instrukci MOVE.W
    
    
            LEA    COPLIST(PC),A2 ;zapis adresy pro nas program pro Copper
            MOVE.L    A2,$DFF080  ;registr adresy pocatku programu pro Copper
    
    
    
    
    
        move.b    #$00,$bfde00
        move.b    #$7f,$bfdd00
        move.b    #$00,$bfd400 ;2000=1/100 vteriny
        move.b    #$70,$bfd500
        move.b    #$09,$bfde00
    .zpomal222
        btst.b    #0,$bfdd00
        beq    .zpomal222
    
    
    
    
        jsr    -222(a6)            ;on Amigas with graphics cards
    
        *--- save int+dma ---*
    
        lea    $dff000,a6
        bsr.w    WaitEOF            ;wait out the current frame
    ;    bsr.s    WaitEOF0        ;wait out the current frame
        move.l    $1c(a6),-(sp)        ;save intena+intreq
        move.w    2(a6),-(sp)        ;and dma
        move.l    $6c(a4),-(sp)        ;and also the VB int vector for sport.
        bsr.w    AllOff            ;turn off all interrupts+DMA
    ;    move.w    #$8380,$dff096
    
        *--- call demo ---*
    
        movem.l    a4-a6,-(sp)
        bsr.w    Demo            ;call our demo \o/
        movem.l    (sp)+,a4-a6
    
        *--- restore all ---*
    
        bsr.s    WaitEOF            ;wait out the demo's last frame
        bsr.w    AllOff            ;turn off all interrupts+DMA
    ;;    bsr.s    AllOff0            ;turn off all interrupts+DMA
        move.l    (sp)+,$6c(a4)        ;restore VB vector
        move.l    38(a5),$80(a6)        ;and copper pointers
        move.l    50(a5),$84(a6)
        addq.w    #1,d2            ;$7fff->$8000 = master enable bit
        or.w    d2,(sp)
        move.w    (sp)+,$96(a6)        ;restore DMA
        or.w    d2,(sp)
        move.w    (sp)+,$9a(a6)        ;restore interrupt mask
        or.w    (sp)+,d2
        bsr.s    IntReqD2        ;restore interrupt requests
    
        move.l    a5,a6
        move.l    (sp)+,a1
        jsr    -222(a6)        ;restore OS screen
    
        *--- close lib+exit ---*
    
        move.l    a6,a1            ;close graphics library
        move.l    4.w,a6
        jsr    -414(a6)
    .quit:    moveq    #0,d0            ;clear error return code to OS
        rts                ;back to AmigaDOS/Workbench.
    
    .GetVBR:
        dc.w    $4e7a,$c801        ;hex for "movec VBR,a4"
        rte                ;return from Supervisor mode
    
    ;.GfxLib:
    ;    dc.b    "graphics.library",0,0
    
    
    WaitEOF0:                ;wait for end of frame
        bsr.s    WaitBlitter
        move.w    #$138,d0
        rts
    
    WaitEOF:                ;wait for end of frame
        bsr.s    WaitBlitter
        move.w    #$138,d0
    WaitRaster:                ;Wait for scanline d0. Trashes d1.
    .l:    move.l    4(a6),d1
        lsr.l    #1,d1
        lsr.w    #7,d1
        cmp.w    d0,d1
        bne.s    .l            ;wait until it matches (eq)
        rts
    
    ***** pridano,Textro nefungovalo s nulovanim bitu u DMACON a INTENA *****
    AllOff0:                                *
    ;    move.w    #$7fff,d2        ;clear all bits            *
    ;    move.w    #$7c7f,d2        ;clear all bits            *
    
        move.w    d2,$9c(a6)        ;and INTREQ            *
        move.w    d2,$9c(a6)        ;twice for A4000 compatibility    *
        rts                                *
    *************************************************************************
    AllOff:
        move.w    #$7fff,d2        ;clear all bits
    ;    move.w    #$7c7f,d2        ;clear all bits
        move.w    d2,$96(a6)        ;in DMACON,
    ;    move.w    #$8380,$dff096
    
        move.w    #$7fff,d2        ;clear all bits
        move.w    d2,$9a(a6)        ;INTENA,
    IntReqD2:
        move.w    d2,$9c(a6)        ;and INTREQ
        move.w    d2,$9c(a6)        ;twice for A4000 compatibility
        rts
    
    WaitBlitter:                ;wait until blitter is finished
        tst.w    (a6)            ;for compatibility with A1000
    .loop:    btst    #6,2(a6)
        bne.s    .loop
        rts
    
    
    ;PhotonWrapperEnd
    
    
    ******************************************
    *       CD music routine - Lisiak        *
    ******************************************
    
    ;;_LVOFreeMem    =     -210
    ;;_LVOAllocMem    =     -198
    ;_LVOForbid    =    -132 ;odstaveni multitaskingu
    ;_LVOPermit    =    -138 ;spusteni multitaskingu
    
    
    Demo
    
    
    ;      ;musicRoutine by Lisiak
    
    
    START
    
    ;    or.w    #2,$bfe001      ;vypnuti filtru pro vysoky frekvence
    
        moveq.l    #0,d1
        moveq.l    #0,d2
        moveq.l    #0,d3 ;arpeggio
        moveq.l    #0,d4;vypnu bit pro vibrato,vynuluji casovas pro Textro
    
        ;TEXTRO casovac
    ;       move    #0,a1;-4-7.bit - pro vykresleni kazdeho radku pismena
                         ;-0-3.bit - pocet radku na obrazovce
            sub.l    a1,a1;-4-7.bit - pro vykresleni kazdeho radku pismena
                         ;-0-3.bit - pocet radku na obrazovce
    
    ;    move.l    #$ff000000,a5 ; pozice pismena v radku=00
        sub.l    a5,a5 ; pozice pismena v radku=00
    
    
    ;    move.w    #$0f00,a5
    ;    move.l    #$ffff0000,a5 ;00ff0000 casovas pro hrajici pattern na hodnotu
                      ;         pred 0 = ff
    
        lea    table6(pc),a6
        moveq    #0,d5
    
    
    ;TEXTRO tenhle usek kodu jsem dal nahoru k hudebni  rutine---------------------
    INIT:
            move.w    #$8380,$dff096
    
    
                          ;30*(40byte)=30*(40*8bite)
                          ;=30*(320=sirka obrazovky v LoRes)
                          ;zacatek textu bude posunuty
                          ;o 30 pixelu nize
                          ;Musi byt pouzito MOVE.L a byt vynulovana
                          ;D1 v ted nevyuzitych bitech-souvisi to s
                          ;pozdejsi praci s bitplanem do ktereho
                          ;musime pristupovat v rozsahu Long a
                          ;pripocitavame k nemu prave hodnotu z D1
                          ;v navesti FOUNDCHAR: ADD.L D1,A3. Pokud
                          ;pouzijeme pouze Word,program se za stavu
                          ;kdy je spusten v Asm-Pro a spustime jej
                          ;taky i u jiz zkompilovaneho EXE souboru
                          ;ze zkompilovaneho EXE souboru spravne
                          ;nespusti.Samostatne spustene EXE, kdyz
                          ;neni program spusten i v Asm-Pro funguje
                          ;spravne i s instrukci MOVE.W
    
    
    ;        lea    TEXT(pc),a4  ;adresa na nas text
    ;        move.w    #$0f00,a5
    
    ;TEXTRO konec------------------------------------------------------------------
    
    
        move.w    #0,d0 ;2 byte nuluji kvuli pozdejsi instrukci 0(a2,d0.w),a2
        and.w    #$ff,d5 ;ve hre se vzdy bude hrat prednastavena 1.melodie
                    ;tedy nuluji 1 byte
    
        sub.l    a4,a4
    
    skladba
    ;    move.l    #$ffff0000,d2;#$00xx0000 xx pro casovac hrani patternu Vskladbe
    ;    move.w    a5,d2 ; #$00xx v A5 je xx  hodnota pozice pismena v radku
    ;    move.l    d2,a5 ; v A5 spravne hodnoty pro hrani nove skladby
    
    
    ;    move.b    #0,d2
    
                     ;44332211
    ;    or.l    #$04000000,d4
        and.l    #$fbffffff,d4 ;bit hrani skladby od zacatku = 0
    
        move.w    #$f,$dff096
        ;lea    music(pc),a0    ;adresu music do a0
        lea    skladby(pc),a0    ;adresu music do a0
    ;;    move.w    (a0)+,d2
    ;;    move.b    d2,d5
    ;    move.b    d0,d5 ;vyreseno vyse v kodu pomoci and.w #$ff,d5
    ;    ror.w    #8,d5
    
    
        lea    tableST(pc),a2
    ;    rol.b    #2,d2
    
        move.w    d5,d0
        lsr.w    #8,d0
    
        rol.b    #2,d0
    ;    move.l    0(a2,d2.w),a2
        move.l    0(a2,d0.w),a2
        jsr    (a2)
        bra    zahrajSampl
    
    
    T00    move.l    a5,d0         ;index 1.patternu ve skladbe do 2.byte A5
        and.l    #$00ff0000,d0 ;ten je v 1.skladbe 0, v dalsich skladbach-
                      ;-bude vetsi
        sub.l    d0,a5
    ;    lea    skladba1(pc),a0    ;adresu music do a0
    ;;    move.l    #C2,$dff0c4
    ;;    move.l    #C2,$dff0c4
        rts
    
    T01
    ;    move.l    #C4,$dff0a0    ;sampl synth do 2.kanalu
    ;    move.w    #$12c8,$dff0a4
    ;;    move.l    #BA,$dff0b0    ;sampl synth do 2.kanalu
    ;    move.l    #C6,$dff0b0    ;sampl synth do 2.kanalu
    ;    move.w    #$fa0,$dff0b4
    ;;    move.l    #C5,$dff0d0    ;sampl kickTerminator (4.kanal)
        rts
    
    
    zahrajSampl
    
    
    
    ;****************************************
    ;program
    
    
    ;docasneTextro
    ;****************************************
    
    ;;    or.w    #$0f00,d1 ;DMA hraji vzdy vsechny
    ;    and.w    #$00ff,d1 ;DMA nehraji zadne
                  ;(pokud hraje puvodni DMA tak to pokracuje)
        move.b    #$ff,d4 ; nastavim casovac na FF
    
        btst    #7,d3
        beq    sfxNe
    ;    move.w    #3,$dff096
    ;    bra    txtIn1time
        bra    docasneTextro
    
    
    sfxNe
    ;    move.b    #$ff,d4 ; nastavim casovac na FF
        or.w    #$0f00,d1 ;zde nastacuji DMA Pauli na 1, protoze v prvni smycce
                   ;hudebni rutiny se testuje, jestli se ma DMA hrat,
                   ;a pokud by bylo DMA na 0, neprovedl by se ani prvni
                   ;cyklus hudebni rutiny a kdyz se neprovede prvni cyklus,
                   ;nezinicializuje se nikdy DMA na 1, cim zustane hudebni
                   ;rutina po celou dobu ticho. Testovani DMA pro kazdy
                   ;kanal je stara cast kodu, nemusel bych to jiz delat,
                   ;zatim ponechavam
    
    
        and.l    #$bfffffff,d3;vypnu bit pro vibrato. Vibrato jiz v D3
                     ;ponecham bit, co urcuje, jestli se bude obrazovka
                     ;v textru mazat pomoci mezery, nebo pomoci napsani
                     ;dalsiho textu
    
        and.l    #$3f3f3f3f,d7 ;d7 smaz puvodni volume slide
    
    ;    btst    #7,d3
    ;    bne    txtIn1time
    ;sfxNe
    
    
        move.w    #0,d6
        moveq    #0,d0 ;potrebuji smazat 2.word(ztlumovani samplu v 1/4,1/2,3/4)
                  ;a 1.word je pomocna promenna,pouzivam rychlejsi
                  ;moveq a mazu vse
    ;    move.b    #0,d5 ;aby se nevykonal volume slide, kdyz neni aktivni.
                  ;V 0.cyklu se efekt nevykonava (zacina az v 1/4 radku
                  ;patternu) a casovac pro shodu je na 0.
    
    ;    move.l    (a0)+,d2  ;prepinani samplu
    
    
    ;tstFre
    ;    btst    #8,d1
    ;    beq    tstFre2    ;ne? Vynech nestaveni frek. 1.kanalu
        move.b    (a0)+,d2   ;hrani 1.tonu?
    
    ;    bpl    tony       ;ano jdi sem
    ;    cmp.b    #$80,d2
    ;    bne    tony
    ;    rts
    ;    move.b    (a0)+,d2   ;hrani 1.tonu
    ;tony
    
        cmp.b    #0,d2
        bne    zachoD4
        and.b    #$c0,d3
        move.w    #1,$dff096 ;;;
        bra    zmeDma1
    
    zachoD4
    ;    cmp.b    #$41,d2
        cmp.b    #$3d,d2
    ;;    bne    vybFre1
        bne    ctiFre1
    zmeDma1
    ;    and.b    #$e,d0
        and.w    #$eff,d1
        bra    tstFre2
    
    ctiFre1
        move.b    d2,d0
        and.b    #$c0,d0
        tst.b    d0
        beq    vybFre1
    
        cmp.b    #$c0,d0
        bne    ztl12s1
        or.l    #$400000,d0
        bra    ztlfre1
    ztl12s1
        cmp.b    #$80,d0
        bne    ztl14s1
        or.l    #$80000,d0
        bra    ztlfre1
    ztl14s1    or.l    #$10000,d0
    
    ztlfre1    and.b    #$3f,d2
        tst.b    d2
        beq    tstFre2
    
    vybFre1    move.w    #1,$dff096
    
        move.b    #$00,$bfde00
        move.b    #$7f,$bfdd00
        move.b    #$70,$bfd400 ;2000=1/100 vteriny
        move.b    #$00,$bfd500
        move.b    #$09,$bfde00
    waitTimeP
        btst.b    #0,$bfdd00
        beq    waitTimeP
    
        bsr    cFreVd2
    ;    swap    d0
    
    ;;    swap    d1
        move.w    d1,$dff0a6        ;nastav frekvenci 1.kanalu
    ;;    swap    d1
    
    ;;    bra    tstFre2
    
    ;;    move.l    a4,d2
    ;;    sub.w    d2,a4
    ;;    swap    d2
    ;;    add.w    d2,a4
    
    ;;jemna uprava tonu
    
    ;;zalVib
    ;    swap    d6
    ;    move.w    d1,d6
        swap    d1
    ;    swap    d6
    
    
    tstFre2
    ;    btst    #9,d1
    ;    beq    tstFre3            ;ne? Vynech nestaveni frek. 1.kanalu
    ;    rol.l    #8,d2
    
        move.b    (a0)+,d2  ;prepinani samplu
        cmp.b    #0,d2
        bne    zachoD5
        move.w    #2,$dff096 ;;;
        bra    zmeDma2
    zachoD5
    ;    cmp.b    #$41,d2;;;
        cmp.b    #$3d,d2
        bne    nahSmp2
    zmeDma2
    ;    and.b    #$d,d0
        and.w    #$dff,d1
        bra    tstFre3
    
    nahSmp2    move.b    d2,d0
        and.b    #$c0,d0
        tst.b    d0
        beq    vybFre2
    
        cmp.b    #$c0,d0
        bne    ztl22s1
        or.l    #$800000,d0
        bra    ztlfre2
    
    ztl22s1    cmp.b    #$80,d0
        bne    ztl24s1
        or.l    #$100000,d0
        bra    ztlfre2
    ztl24s1    or.l    #$20000,d0
    
    ztlfre2    and.b    #$3f,d2
        tst.b    d2
        beq    tstFre3
    
    
    vybFre2    move.w    #2,$dff096
    
        move.b    #$00,$bfde00
        move.b    #$7f,$bfdd00
        move.b    #$70,$bfd400 ;2000=1/100 vteriny ---5000 ne,6000 ok
        move.b    #$00,$bfd500
        move.b    #$09,$bfde00
    waitTimeP1
        btst.b    #0,$bfdd00
        beq    waitTimeP1
    
        bsr    cFreVd2
    ;    swap    d0
    
    ;;    swap    d1
        move.w    d1,$dff0b6        ;nastav frekvenci 1.kanalu
        swap    d1
    
    ;;    move.l    a5,d2
    ;;    sub.w    d2,a5
    ;;    swap    d2
    ;;    add.w    d2,a5
    
    tstFre3
    ;    btst    #$a,d1
    ;    beq    tstFre4            ;ne? Vynech nestaveni frek. 1.kanalu
    ;    rol.l    #8,d2
    
        move.b    (a0)+,d2  ;prepinani samplu
        cmp.b    #0,d2
        bne    zachoD6
    
        and.b    #$c0,d3
        move.w    #4,$dff096 ;;;
        bra    zmeDma3
    
    
    zachoD6    cmp.b    #$3d,d2
        bne    ctiFre3
    
    zmeDma3    and.w    #$bff,d1 ;presunuto nahoru a zde nema byt pro efekt arpeggio
        bra    tstFre4
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ctiFre3
    ;;    cmp.b    #$42,d2 ;           ;
    ;    cmp.b    #$3e,d2
    ;    bne    nahSmp3 ;vibrato    ;
    ;    or.l    #$1000000,d4 ;zapneme vibrato 1b
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    
        move.b    d2,d0
        and.b    #$c0,d0
        tst.b    d0
        beq    vybFre3
    
        cmp.b    #$c0,d0
        bne    ztl32s1
        or.l    #$1000000,d0
        bra    ztlfre2
    
    ztl32s1    cmp.b    #$80,d0
        bne    ztl34s1
        or.l    #$200000,d0
        bra    ztlfre3
    ztl34s1    or.l    #$40000,d0
    
    ztlfre3    and.b    #$3f,d2
        tst.b    d2
        beq    tstFre4
    
    
    vybFre3    move.w    #$ffff,d4 ;potrebuji nasavit casovac pro arpeggio (2.byte)
                  ;na ff a casovac pro delku hrani 1 radku patternu
                  ;zde jiz mam nastaven na ff a jen nastavuji znovu.
                  ;casovac pro arpeggio muzu nastavit pouze zde kvuli
                  ;casove spravnemu zahrani 1.tonu arpeggia
    
        move.w    #4,$dff096 ;u arpeggia mozna nebude moci byt
    
        move.b    #$00,$bfde00
        move.b    #$7f,$bfdd00
        move.b    #$70,$bfd400 ;2000=1/100 vteriny e
        move.b    #$00,$bfd500
        move.b    #$09,$bfde00
    waitTimeP2
        btst.b    #0,$bfdd00
        beq    waitTimeP2
    
    
    ;    bsr    cFreVd2
    ;    move.w    d1,$dff0c6        ;nastav frekvenci 1.kanalu
    ;    swap    d1
    
    ;    move.b    d2,d3
        and.b    #$c0,d3
        or.b    d2,d3
    
    
    tstFre4
    ;    btst    #$b,d1
    ;    beq    zahFre            ;ne? Vynech nestaveni frek. 1.kanalu
    ;    rol.l    #8,d2
    
        move.b    (a0)+,d2
    
    ;;;;;;;odparal jsem, ale budu potrebovat pro 1.kanal a volumeSlide
    ;    btst    #6,d2
    ;    beq    tst404
    ;    or.l    #$2000000,d4 ;pro btst #$19,d4
    ;    and.b    #$bf,d2
    ;    tst.b    d2
    ;    beq    zahFre
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    
    tst404    btst    #6,d2
        beq    tst0
    ;;    or.l    #$40000000,d4 ;zapneme vibrato
    ;    or.l    #$04000000,d4 ;zapneme vibrato
        or.l    #$40000000,d4 ;zapneme vibrato
    
    tst0    cmp.b    #0,d2
        bne    zachoD7
    ;    moveq.l    #0,d3
        and.b    #$c0,d3
    
        move.w    #8,$dff096
        bra    zmeDma4
    
    zachoD7    cmp.b    #$3d,d2
        bne    ctiFre4
    
    zmeDma4    and.w    #$7ff,d1 ;kvuli mixu presunuto nahoru
        bra    zahFre ;
    
    ctiFre4    cmp.b    #$3e,d2
        bne    vybFre4
        bra    zahFre
    
    
    vybFre4    move.w    #8,$dff096 ;test nove predsekvence, ztlumeni
                   ;samplu opet aktivni
        move.b    #$00,$bfde00
        move.b    #$7f,$bfdd00
        move.b    #$70,$bfd400 ;2000=1/100 vteriny 39
        move.b    #$00,$bfd500
        move.b    #$09,$bfde00
    waitTimeP3
        btst.b    #0,$bfdd00
        beq    waitTimeP3
    
    ;    swap    d4 ;nezpracovavam bit 6,7 kvuli ztlumeni samplu
               ;v 1/4 1/2 3/4 = swapD4 v cFreVd2
               ;jiz v poznamce kvuli kanalu 1,2,3
               ;kde tyhle 2 bity zpracovavam,
               ;proto swapD4 ve 4.kanalu jiz zde
        bsr    cFreVd2
    
        move.w    d1,$dff0d6        ;nastav frekvenci 4.kanalu
        swap    d6
        move.w    d1,d6
        swap    d6
        swap    d1
    
    
    
    zahFre    move.l    (a0)+,d2  ;prepinani samplu
    
    
        tst.b    d2
    ;    bpl    smp2nd ;ok
        bmi    predSmp;ok
        bsr    time
        bsr    time
        bsr    time
        bsr    time
        bra    smp2nd ;ok
        
    predSmp
    
    ;sekvenc
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;zatim urcuji delku taktu zde, pak smazu ;
    ;    move.b    d2,d1    ;delka taktu     ;
    ;    and.b    #$1f,d1 ;delka taktu     ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
        move.b    d2,d0
    ;    and.b    #$e0,d2
        and.b    #$e0,d0
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; dam za sekvenci sampl
    ;    cmp.b    #$e0,d2        ;arpeggio?
    ;
    ;    bne    tst40
    ;    move.l    d2,d3
    ;    move.l    (a0)+,d2
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
        cmp.b    #$a0,d0        ;sampl?
    ;    bne    volume0
        beq    smp0k
        bsr    time
        bra    volume1
    
    
    smp0k
        btst    #0,d2    ;---------------------------------------
        beq    smp1k    ;test aktivniho volume slide pro 0.kanal
        or.b    #$40,d7 ;---------------------------------------
    
    smp1k    btst    #1,d2
    ;    beq    smp3k
        beq    smp2k
    
        and.b    #$c,d2    ;verze pro 4 sample
        move.w    d5,d0
        clr.b    d0
        ror.w    #4,d0    ;4 sample = 16 byte (1 sampl jsou 4 byte)
        or.b    d2,d0
    
    
    
        lea    tableS0(pc),a2
        move.l    0(a2,d0.w),a2
        jsr    (a2)
        bra    smp2k
    
    ;S00    move.l    #BB,$dff0a0 ;sampl do 1.kanalu
    ;    move.w    #$5f,$dff0a4 ;delku samplu dame do vybraneho kanalu
    ;    rts
    ;S01    move.l    #C1,$dff0a0 ;sampl do 1.kanalu
    ;    move.w    #$c5,$dff0a4 ;delku samplu dame do vybraneho kanalu
    ;    rts
    ;S02    move.l    #C2,$dff0a0 ;sampl do 1.kanalu
    ;    move.w    #$6f,$dff0a4 ;delku samplu dame do vybraneho kanalu
    ;    rts
    ;S03    move.l    #C3,$dff0a0 ;sampl do 1.kanalu
    ;    move.w    #$d6,$dff0a4 ;delku samplu dame do vybraneho kanalu
    ;    rts
    
    
    S00    move.l    #BA,$dff0a0 ;sampl do 0.kanalu  (0-3)
        move.w    #$1e8d,$dff0a4
        rts
    S01    move.l    #BB,$dff0a0 ;sampl do 0.kanalu  (0-3)
        move.w    #$16cb,$dff0a4
        rts
    S02    move.l    #BC,$dff0a0 ;sampl do 0.kanalu  (0-3)
        move.w    #$797,$dff0a4
        rts
    S03    move.l    #BD,$dff0a0 ;sampl do 0.kanalu  (0-3)
        move.w    #$1dbf,$dff0a4
        rts
    
    
    
    
    S04
    ;    move.l    #C7,$dff0c0
    ;    move.w    #$2000,$dff0c4
        rts
    S05    rts
    S06    rts
    S07    rts
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;zkontrolovano - cela logika
    
    smp2k
    ;    ror.w    #8,d2
    ;    btst    #0,d2
        btst    #8,d2
        beq    smp3k
        move.w    d2,d0
        ror.w    #7,d0
        and.b    #$c,d0    ;verze pro 4 sample
        move.b    d0,d2
        move.w    d5,d0
    ;    rol.b    #1,d0
    ;    and.b    #$c,d0
        clr.b    d0
        ror.w    #4,d0    ;4 sample = 16 byte (1 sampl jsou 4 byte)
        or.b    d2,d0
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
        lea    tableS1(pc),a2
        move.l    0(a2,d0.w),a2
        jsr    (a2)
        bra    smp3k
    
    S30    move.l    #BE,$dff0b0 ;sampl do 1.kanalu (0-3)
    ;;    move.w    #$11aa,$dff0b4 ;delku samplu dame do vybraneho kanalu
    ;    move.w    #$1198,$dff0b4 ;delku samplu dame do vybraneho kanalu
        move.w    #$3ef,$dff0b4 ;delku samplu dame do vybraneho kanalu
        rts
    S31
    ;    move.l    #BF,$dff0b0 ;sampl do 1.kanalu (0-3)
    ;    move.w    #$9e0,$dff0b4 ;delku samplu dame do vybraneho kanalu
        rts
    S32
    ;    move.l    #C0,$dff0b0 ;sampl do 1.kanalu (0-3)
    ;    move.w    #$c2b,$dff0b4 ;delku samplu dame do vybraneho kanalu
        rts
    S33
    ;    move.l    #C1,$dff0b0 ;sampl do 1.kanalu (0-3)
    ;    move.w    #$bf1,$dff0b4 ;delku samplu dame do vybraneho kanalu
        rts
    S34
    ;    move.l    #C7,$dff0c0
    ;    move.w    #$2000,$dff0c4
        rts
    S35    rts
    S36    rts
    S37    rts
    
    
    
    
    smp3k
        ror.w    #8,d2
        btst    #7,d2
        beq    smp4k
    
    ;    move.w    (a0),d2 ;nevi se jestli bude SMP z 1,2 kanalu=musi zde byt
    ;    rol.w    #4,d2    ;verze pro 4 sample
        ror.b    #2,d2    ;verze pro 4 sample
        and.b    #$c,d2
    ;;    rol.w    #,d2    ;verze pro 8 samplu
    
    ;    clr.w    d0
    ;    move.b    d5,d0
        move.w    d5,d0
        clr.b    d0
    ;    rol.w    #4,d0    
        ror.w    #4,d0    
        or.b    d2,d0
    
        lea    tableS2(pc),a2
        move.l    0(a2,d0.w),a2
        jsr    (a2)
        bra    smp4k
    
    S60    move.l    #C2,$dff0c0    ;sampl do 2.kanalu (0-3)
           move.w    #$167d,$dff0c4    ;delka samplu
        rts
    S61
    ;    move.l    #C3,$dff0c0    ;sampl do 2.kanalu (0-3)
    ;    move.w    #$a56,$dff0c4
        rts
    S62
    ;    move.l    #C4,$dff0c0    ;sampl do 2.kanalu (0-3)
    ;    move.w    #$c2b,$dff0c4
        rts
    S63
    ;    move.l    #C5,$dff0c0    ;sampl do 2.kanalu (0-3)
    ;    move.w    #$bf1,$dff0c4
        rts
    
    
    S64
    ;    move.l    #BE,$dff0d0 ;sampl sum do 4.kanalu  (1-3)
    ;    move.w    #$9F0,$dff0d4
        rts
    S65    rts
    S66    rts
    S67    rts
    
    smp4k    swap    d2    ;info o SMP pres casovac do nizsich 2 byte
        move.w    d2,d6    ;info o SMP pres casovac do D6
        move.l    (a0)+,d2
    
    
        tst.b    d2 ;predsekvence hlasitost / 2 sample ve 4.kanalu
    
    ;    bpl    smp2nd ;ok
        bmi    volume0 ;ok
        bsr    time
        bsr    time
        bsr    time
        bra    smp2nd ;ok
    
    
    
    
    volume0    move.b    d2,d0
        and.b    #$e0,d0
    volume1    cmp.b    #$c0,d0
    
    ;    bne    arpegg
        beq    smp3k1
        bsr    time
        bra    arpegg
    
    smp3k1    btst    #1,d2 ;nahrat sampl?
        beq    volume2
        move.w    d5,d0
        clr.b    d0
        ror.w    #4,d0 ;cislo SMP je v 2.byte, proto rotuji doprava
        and.b    #$1f,d2
        or.b    d2,d0
        and.b    #$fc,d0
    
    
    ;pokracovat
    
        lea    tableS4(pc),a2
        move.l    0(a2,d0.w),a2
        jsr    (a2)
        bra    volume3
    
    SE0
        move.l    #C6,$dff0d0 ;sampl bass do 3.kanalu (0-3)
        move.w    #$98e6,$dff0d4
        rts
    SE1
        move.l    #C7,$dff0d0 ;sampl bass do 3.kanalu (0-3)
        move.w    #$9065,$dff0d4
        rts
    SE2    rts
    SE3    rts
    SE4    rts
    SE5    rts
    SE6    rts
    SE7    rts
    
    
    ;pokracovat
    ;smpNe    or.b    #1,d2    ;pri nepouziti predsekvence SMP
    
    volume3    btst    #0,d2
        beq    volume4
    
    volume2    rol.l    #6,d2
        and.b    #$3f,d2
        beq    volK2
    ;;    move.b    d2,d7
        and.b    #$40,d7 ;do 0.kanalu davame info o aktivnim volume slide pred
        or.b    d2,d7    ;nastavenim hlasitosti, u ostatnich kanalu az po nastav
        addq.b    #1,d2    ;eni hlasitosti, proto musime toto info zachovat, smaza
                ;t puvodni hodnotu hlasitosti a az pak pridat novou hla
                ;sitost k bitu urcujicimu aktivni efekt volume slide
                
        move.b    d2,$dff0a9 ;hlasitost 0.kanalu (0-3)
    
    volK2    rol.l    #6,d2
        rol.l    #8,d7
        and.b    #$3f,d2
        beq    volK3
        move.b    d2,d7
        addq.b    #1,d2
        move.b    d2,$dff0b9 ;hlasitost 1.kanalu
    volK3    rol.l    #6,d2
        rol.l    #8,d7
        and.b    #$3f,d2
        beq    volK4
        move.b    d2,d7
        addq.b    #1,d2
        move.b    d2,$dff0c9 ;hlasitost 2.kanalu
    volK4    rol.l    #6,d2
        rol.l    #8,d7
        and.b    #$3f,d2
        beq    volume4
        move.b    d2,d7
        addq.b    #1,d2
        move.b    d2,$dff0d9 ;hlasitost 3.kanalu
    
    volume4    rol.l    #8,d7
        move.l    (a0)+,d2
        tst.b    d2
    
    ;    bpl    smp2nd  ;ok
        bmi    arpegg0 ;ok
        bsr    time
        bsr    time
        bra    smp2nd ;ok
    
    
    arpegg0    move.b    d2,d0
        and.b    #$e0,d0
    arpegg    cmp.b    #$e0,d0
    ;    bne    pattern
        beq    arpegg1
        bsr    time
        bra    pattern
    
    arpegg1
    ;;    addq.l    #4,a0 ;predsekvence arpeggio/rychlost hrani
        move.b    d2,d1
        and.b    #$1f,d1
    ;;    ror.w    #8,d5
    ;    move.b    d1,d5
    ;    addq.b    #1,d5
    ;    ror.b    #2,d5 ;1/4 hodnoty z celkove delky taktu
    
    
        move.b    #0,d2
        tst.l    d2
    ;    beq    smp2nd; ok
        beq    patter0; ok
    
    
        move.w    d2,d0      ;test aktivniho arpeggia
        and.w    #$3fff,d0 ;testuji pouze 1.byte, 0.byte je jiz vynulovany
        beq    vSlid13
        and.l    #$ff,d3
        or.l    d2,d3
        and.l    #$3f3f3fff,d3 ;jen tony arpeggia
    vSlid13    and.l    #$c0c0c0ff,d2 ;jen volume slide,0.byte jiz vynulovany,kanal 1-3
    ;    and.l    #$3f3f3f3f,d7 ;-kanal 0 je jinde ;d7 smaz puvodni volume slide
        or.l    d2,d7          ;-uroven hlasitosti ponechej,kanal 0-3
                      ;nakopiruj volume slide,kanal 1-3
    
    
    patter0    move.l    (a0)+,d2 ;priprava na predsekvenci pattern
        tst.b    d2
    ;    bpl    smp2nd ;ok
        bmi    patte20 ;ok
        bsr    time
        bra    smp2nd
    
    pattern ;predsekvence pattern
    
    ;patte21 and.b    #$7f,d3 ;bit pro sfx pismo na 0
    
    patte20    btst    #4,d2 ;volume slide zesilit (0=zeslabit) 0.kanal (0-3)
        beq    patte21
        or.b    #$80,d7
    
    
    
    ;sem jeste pribyde vynulovani casovace pro #skladbyPattern
    
    
    
    patte21    btst    #18,d2
        beq    patte22
        or.l    #$f0000000,d4 ;nastaveni casovace volume slide na 1.hodnotu
                      ;pred jeho zvyseni hodnoty o 1 = 0
    
    patte22    btst    #19,d2
        beq    patte23
        or.b    #$80,d3 ;bit pro sfx pismo na 1
        move.w    #$1ff,d1 ;0 byte -delka taktu na vychozi hodnotu casovace, tedy
                 ;kazda velka smycka hudebni rutiny je shoda a mala
                 ;smycka se nevykonava, 1 byte je nastaveni DMA
        move.l    #CA,$dff0a0 ;sampl do 0.kanalu  (0-3)
        move.w    #180,$dff0a4 ;delka samplu do 1.kanalu (0-3)
            move.w    #360,$dff0a6  ;nastav frekvenci 0.kanalu ;chtena rychlost D2#
    
    ;;    subq.l    #4,a0 ;pri aktivnim sfx budu ucelove addq.l #4,a0 delat primo
                  ;v textru a ne zde na konci predsekvence pattern. Timhle
                  ;subq instrukci addq na konci tehle predsekvence nuluji
                  ;aby jsem dane addq mohl delat v textru. ADDQ v rezimu
                  ;sfx musim delat, protoze v rezimu sfx pozuzivam jen
                  ;cyklus Textra. Cyklus hudebni rutiny neni pouzit.
    
    
    ;oprava, aby hral efekt SFX i na vyssich radach CPU z $dff0a8 na $dff0a9
        move.b    #20,$dff0a9 ;hlasitost 0.kanalu (0-3) oprava $dff0a9
        move.b    #20,d7
    
        addq.l    #4,a0
        bra    hraj2
    
    
    ;;    ror.w    #8,d2  ;hodnota pro volume slide do 2.byte. Co je v 1.byte v d2
                   ;nas ted nezajima. Ten budeme nastavovat kousek dal na
                   ;navesti smp2nd1 pomoci move.b
    
    
    patte23    and.b    #$7f,d3 ;bit pro sfx pismo na 0
    
    ;patte21
    
        btst    #16,d2  ;test pro praci se skoky v patternech
        beq    patte26
    
        btst    #17,d2
        beq    patte24 ;hrat dalsi pattern v indexu #skladbyPatern? a pokud-
                ;-bude skok na pattern #0.L=hrani uplne prvni skladby-
                        ;-ano skoc sem
    
                            ;nebo se vrat na prvni pattern prave hrajici skladby
    
    ;    bra    skladba
        or.l    #$4000000,d4
        bra    patte26
    
    patte24    add.l    #$10000,a5 ;navys hodnotu indexu pro #skladbyPattern
        move.l    a5,d2      ;a dej do D2
        swap    d2         ;do 0.byte
    
        and.w    #$ff,d2
    ;    rol.b    #2,d2      ;vynasob cislem 4
        lsl.b    #2,d2      ;vynasob cislem 4
        
    ;;patte25
        lea    skladbyPattern(pc),a2 ;pointer do A2
        lea    skladby(pc),a0 ;pointer do A0
    
    ;;    move.w    #0,d2
        add.w    d2,a2       ;navys adresu o index hrajiciho patternu
    
        move.l    (a2),d2     ;index #skladbyPattern na 0?
        bne    patte25     ;ne, skoc sem
    
    ;    move.l    a5,d2         ;
    ;    and.l    #$ff00ffff,d2 ;
    ;    move.l    d2,a5         ;
    
        and.w    #$ff,d5 ; 00--.w = 1.skladba
    
        or.l    #$4000000,d4
    
    patte25
        add.l    (a2),a0             ;pozice hrajiciho patternu do A0
    
    
    
    patte26    and.w    #$0f0f,d2
        addq.l    #4,a0
    
    **
        swap    d2
    **
    
    
    smp2nd
    ;    tst.b    d3
        move.b    d3,d2
        and.b    #$3f,d2
    ;    tst.b    d2 ;neprovadim, priznaky nastaveny jiz ANDem
    
    ;;    beq    smp2nd2; ok
    ;    beq    txtIn1time
        beq    docasneTextro
    
    
    
    ;    move.w    d3,d0
    ;    move.b    #0,d0
    ;    tst.w    d0
        cmp.w    #$ff,d3
    ;    bhi    txtIn1time
        bhi    docasneTextro
    
    ;;    bne    smp2nd2; ok
        
    ;    move.b    d3,d2
        bsr    cFreVd2
        move.w    d1,$dff0c6 ;frekvence 3.kanalu se kvuli arpeggiu zpracovava
        swap    d1       ;az zde, tedy po predsekvenci arpeggio, kde se jiz
    ;    moveq.l    #0,d3       ;vi, jestli se bude hrat jen 1 ton, nebo arpeggio
        and.b    #$c0,d3       ;d3 zde smazu, pokud v ni neco bude, jedna se pouze
                   ;o efekt arpeggio
    
    ;smp2nd1
    ;    move.b    d5,d2 ;kvuli utlumeni SMP v kanaly 0-2, aby jsme zachovali
                  ;stejnou hodnotu v D5 (1/4taktu) a zvysovali hodnotu v D2
                  ;pro dosazeni hodnoty taktu 1/4,1/2 a 3/4. Zde je
                  ;v D2 vyssi word pouzit jen pro tuhle funkci. Swapem ted
                  ;zpristupnime nizsi word v D2 pro pomocne promenne a hned
                  ;skaceme na navesti smp2nd2
    ;;    bra    smp2nd2; ok
    ;;hraj1
    ;smp2nd2
    ;    swap    d2 ;v poznamce pro optimalizaci volume slide
    ;    cmp.b    d4,d1    ;souhlasi?
    ;    beq    klik
    
    ;misto pro program co potrebuje vyssi frekvenci obnovovani
    
    
    ;****************************************
    
    docasneTextro
    
            move.w    #0,d0
    
    ;******************************************************************************
    ; TEXTRO ZACATEK
    ;******************************************************************************
    
    
    
    ;******************************************************************************
    ; TEXTRO KONEC
    ;******************************************************************************
    
    
    
    
    
    
    ;;freVibra30
    ;    move.b    #$00,$bfde00
    ;    move.b    #$7f,$bfdd00 ;c2 c1
    ;         move.b    #$00,$bfd400 ;00n80n60n50n4cn48n44n40j00j00j     ,2000=1/100 vteriny
    ;    move.b    #$28,$bfd500 ;2e 2d 2d 2d 2d 2d 2d 2d 2d 2c
    ;    move.b    #$09,$bfde00
    ;waitVibra2
    ;    btst.b    #0,$bfdd00
    ;    beq    waitVibra2
    
    
    
    
    
    
    
    
    
        addq.b    #1,d4
        move.w    d6,d2       ;pro hodnotu kdy nahrat 2.sampl
    ;;    rol.w    #5,d2
        and.b    #$1f,d2
        cmp.b    d4,d2       ;ma se nahrat 2.sampl?
    ;;    bne    tstVibra2
        bne    frek13
    
    btst13    btst    #9,d6
        beq    smp13
        move.w    #2,$dff096    ;ztlumeni samplu    (1-3)
    ;    and.w    #$3fff,d7
    
    smp13
    ;    btst    #$1b,d4   ;nahrani SMP, 4.kanal?
        btst    #8,d6     ;nahrani SMP, 4.kanal?
    ;    beq    tstVibra2
        beq    frek13
    ;    move.b    d6,d2
    ;    lsr.b    #2,d2    ;d2 vstupni hodnota pro cFreVD2
    ;    lsr.b    #2,d6    ;d2 vstupni hodnota pro cFreVD2
        and.w    #$fc00,d2
        tst.w    d2
        beq    smp23
        rol.w    #6,d2    ;d2 vstupni hodnota pro cFreVD2
    ;    tst.b    d6
    ;    beq    smp23
    ;    move.b    d6,d2    ;d2 vstupni hodnota pro cFreVD2
    
    ;    bsr    cFreD0s
        bsr    cFreVd2
    ;    swap    d0 ;vracim D0 pro zpracovani DMA kanalu
        move.w    d1,$dff0b6    ;frekvence samplu 1-3 (4.kanal)
        swap    d1
    
    smp23
    ;    swap    d0 ;vracim D0 pro zpracovani DMA kanalu
    ;    beq    tstVibra2
    ;    or.l    #$8 0000,d0
    ;    or.b    #8,d0
    
    
    ;pokracovat
    
    
        or.w    #$200,d1
    
        lea    tableS3(pc),a2
    ;    ror.w    #6,d6
        ror.b    #3,d6
        and.b    #$c,d6
    
    
    ;;    clr.w    d0
    ;    clr.w    d2
    ;    move.b    d5,d2
        move.w    d5,d0
        clr.b    d0
    ;    rol.w    #4,d0    
        ror.w    #4,d0    
        or.b    d6,d0
    
        move.l    0(a2,d0.w),a2
        jsr    (a2)
        move.w    #0,d6
        bra    frek13
    
    
    S90    move.l    #BF,$dff0b0 ;sampl do 1.kanalu (0-3)
    ;;    move.w    #$9e0,$dff0b4 ;delku samplu dame do vybraneho kanalu
        move.w    #$938,$dff0b4 ;delku samplu dame do vybraneho kanalu
        rts
    S91
    ;    move.l    #C7,$dff0d0 ;sampl sum do 4.kanalu  (1-3)
    ;    move.w    #$7e,$dff0d4
        rts
    S92
    ;    move.l    #C8,$dff0d0 ;sampl sum do 4.kanalu  (1-3)
    ;    move.w    #$4c4,$dff0d4
        rts
    S93
    ;    move.l    #C9,$dff0d0 ;sampl sum do 4.kanalu  (1-3)
    ;    move.w    #$4c4,$dff0d4
        rts
    
    S94
    ;    move.l    #C5,$dff0d0    ;sampl kickTerminator (4.kanal)
        rts
    S95    rts
    S96    rts
    S97    rts
    
    
    ;tstVibra2
    ;      swap    d0 ; pro zpracovavani DMA kanalu
    
    frek13
    ; hlasitost v arpeggiu
    ;    ror.w    #8,d5 ;d5 az do ted jsem mel na info kterou skladbu hrat,
                  ;je to OK
    
    
    
    
    
    
    
    
    
    ;pokracovat
    
    ;;;;;    btst    #$1c,d4 ;nahrat vibrato?
    ;;;;    btst    #$18,d4 ;nahrat vibrato?
    ;;;    btst    #$1c,d4 ;nahrat vibrato?
    ;;    btst    #$1d,d4 ;nahrat vibrato?
    ;    btst    #$1e,d4 ;nahrat vibrato?
        btst    #$1e,d3 ;nahrat vibrato?
        beq    tstArpeggio
    
    ;opaVibra3
        swap    d6
        move.b    (a6)+,d2
        tst.b    d2
        bmi     odpocet
        bne    pripocet
    
        lea    table6(pc),a6
        move.b    (a6)+,d2
    ; hlasitost v arpeggiu
    ;    move.b    #$37,d5 ;dekadicky 56+1 -pocet bytu vibrata (table6) +1 byte
    
    pripocet
        and.w    #$f,d2
        sub.w    d2,d6
        bra    endVibrato
    odpocet
        and.w    #$f,d2
        add.w    d2,d6
    ;    bra    endVibrato
    
    endVibrato
        move.w    d6,$dff0d6        ;nastav frekvenci 1.kanalu
        swap    d6
    ; hlasitost ve vibratu
    ;    subq.b    #1,d5
    
    
    tstArpeggio
    ;    tst.b    d3
        move.b    d3,d2
        and.b    #$3f,d2 ;pokud jsem vyse v kode hral pouze klasicky ton a ne
                ;arpeggio, z 0.byte jsem ton smazal a zde se arpeggio
                ;neporvede, jinak se arpeggio provede. Posledni 2 bite
                ;z 0.byte ponechavam, nizsi bite je pro aktivni vibrato
    ;    beq    hraj1
        beq    volSli0
    
    
    ;tstArpeggio1
        ror.w    #8,d4
        addq.b    #1,d4
        tst.b    d4
        bne    tstArpeggio3
        move.b    #$f6,d4
        move.w    #4,$dff096
        addq.b    #4,d0
        swap    d5
        bsr    cFreVd5
        move.w    d5,$dff0c6        ;nastav frekvenci 3.kanalu
        swap    d5
        rol.l    #8,d3
    tstArpeggio3
        ror.w    #8,d4
    
    
    ; hlasitost v arpeggiu
    ;    addq.b    #1,d5 ;uplne nazacatku je snizeno o 1, aby pri +1 byla 0
    ;    move.b    0(a6,d5),d2
    ;    tst.b    d2
    ;    bne    tstArpeggio4
    ;    sub.b    #$21,d5    ;-32 na zacatek-1=-33 pro addq #1,d5 aby byla 0
    ;tstArpeggio4
    ;    move.b    d2,$dff0c8 ;hlasitost v 3.kanalu
    
    
    
    ;tstSlid
    ;    tst.l    d7
    ;    beq    hraj1
    
    ;    rol.l    #8,d7
    ;    btst    #6,d7
    ;    beq    vSlide3
    ;    btst    #7,d7
    ;    beq    vSMin2
    ;    addq.b    #8,d7
    ;    bra    vSlidV2
    ;vSMin2    subq.b    #8,d7
    ;vSlidV2    move.b    d7,d0
    ;    and.b    #$3f,d0
    ;    move.b    d0,$dff0b9 ;hlasitost 2.kanalu
    
    ;vSlide3    rol.l    #8,d7
    ;    btst    #6,d7
    ;    beq    vSlide4
    ;    btst    #7,d7
    ;    beq    vSMin3
    ;    addq.b    #8,d7
    ;    bra    vSlidV3
    ;vSMin3    subq.b    #8,d7
    ;vSlidV3    move.b    d7,d0
    ;    and.b    #$3f,d0
    ;    move.b    d0,$dff0c9 ;hlasitost 3.kanalu
    
    ;vSlide4    rol.l    #8,d7
    ;    btst    #6,d7
    ;    beq    vSlide5
    ;    btst    #7,d7
    ;    beq    vSMin4
    ;    addq.b    #1,d7
    ;    bra    vSlidV4
    ;vSMin4    
    ;    subq.b    #1,d7
    ;vSlidV4    move.b    d7,d0
    ;    and.b    #$3f,d0
    ;    move.b    d0,$dff0d9 ;hlasitost 4.kanalu
    
    ;vSlide5    rol.l    #8,d7
    
    
    
    
    ;hraj1
    ;;    move.w    d0,$dff096
    ;    move.w    d1,d2
    ;    move.b    #$80,d2
    ;    ror.w    #8,d2
    ;    and.b    #$9,d2
    ;    move.w    d2,$dff096
    
    
    
    
    ;    and.b    #$b,d0    ;DMA prenos 3.kanalu na nulu...mozna arpeggio
    
    ;-----------------------------
    ;    and.b    #7,d0    ;DMA prenos 4.kanalu na nulu
                ;kdyz se kod da do poznamky, hraji kanaly
                ;mimo mix bez praskani, mix kod mozna potrebuje
    ;-----------------------------
    
    ;;puvodni rychlost casovani
    ;;freVibra3
    ;;    move.b    #$00,$bfde00
    ;;    move.b    #$7f,$bfdd00
    ;;       move.b    #$48,$bfd400 ;90 2000=1/100 vteriny
    ;;    move.b    #$07,$bfd500 ;0d
    ;;    move.b    #$09,$bfde00
    ;;waitVibra
    ;;    btst.b    #0,$bfdd00
    ;;    beq    waitVibra
    
    
    ;freVibra3
    ;    move.b    #$00,$bfde00
    ;    move.b    #$7f,$bfdd00
    ;       move.b    #$56,$bfd400 ;90 2000=1/100 vteriny
    ;    move.b    #$2f,$bfd500 ;0d
    ;    move.b    #$09,$bfde00
    ;waitVibra
    ;    btst.b    #0,$bfdd00
    ;    beq    waitVibra
    
    
    
    ;; hlasitost v arpeggiu
    ;;    ror.w    #8,d5
    
    
    
    ;;    cmp.b    d4,d1    ;souhlasi?
    ;;    beq    klik
    ;;    swap    d2
    
    
    volSli0
    
        rol.l    #4,d4 ;POZOR rotace pouze o 4 bity, casovac volume slide
                  ;dostavame z longu na prvni 4 bite  
        move.b    d4,d0
        and.b    #$f0,d4 ;vynulujeme casovac vol. slide pro jeho novou hodnotu
    
        addq.b    #1,d0 ;hodnota casovace je vzdy snizena o 1, kvuli pouziti
                  ;plneho rozsahu 4 bitu. Pri 1.cyklu mame casovac na
                  ;hodnote 0f, po zvyseni hodnoty mame 10...
        and.b    #$0f,d0 ;...cim i ted dostavme na casovaci nulovou hodnotu
        or.b    d0,d4 ;zapisuji do D4 novou hodnotu casovace volume slide
        ror.l    #4,d4
    
                  ;dostali na spravnou hodnotu pro casovac D4, ktery nam
                  ;zacina od hodnoty 0 a ne 1
    
        swap    d2
        cmp.b    d2,d0
    ;    bne    smp2nd2; ok
        bne    hraj1
    
    ;;    and.l    #$0fffffff,d4
        or.l    #$f0000000,d4
    
    ;;    add.b    d5,d2 ;1/4 delky taktu,+1/4 delky taktu nebo 1/2 pro dosazeni
                  ;hodnot 1/2 a 3/4 z casovace pro cely takt pro utlumeni
                  ;samplu v rozsahu hodnoty nedostacujici po 1 celem taktu
    
        ;zde test ztlumeni samplu 1-4
    
    ;;    move.w    #0,d0
    ;;    tst.l    d0
    ;;    beq    smp2nd2; ok
        cmp.l    #$ffff,d0 ;pokud jsou neni data v hornich 2 byte z longu, jdi
                  ;rovnou na zpracovani volume slide
        bls.w    tstSlid;
        swap    d0
        btst    #0,d0 ;1.kanal
        beq    tst2k
        move.w    #1,$dff096
        and.w    #$eff,d1
    
    tst2k    btst    #1,d0 ;2.kanal
        beq    tst3k
        move.w    #2,$dff096
        and.w    #$dff,d1
    
    tst3k    btst    #2,d0 ;3.kanal
        beq    tst3k2
        move.w    #4,$dff096
        and.w    #$bff,d1
    
    tst3k2    ror.w    #3,d0
    ;;    add.b    d5,d2
        swap    d0
    ;    bra    tstSlid; ok
    
    
    
    tstSlid
    ;    swap    d2
        ror.w    #8,d2 ;hodnotu zmeny hlasitosti volume slide do 0.byte
        addq.b    #1,d2
    ;    and.b    #$0f,d2 ;myslim ze AND neni treba, mam zde pouze hodnotu zmeny
                ;hlasitosti pro volume slide
    
    
    ;    move.b    #$01,d2
    
        btst    #6,d7 ;hlasitost 0.kanalu (0-3) opraveno
        beq    vSlide2
        btst    #7,d7
        beq    vSMin1
        add.b    d2,d7
        move.b    d7,d0
        and.b    #$3f,d0
        addq.b    #1,d0
        bra    vSlidV1
    
    vSMin1    sub.b    d2,d7
        move.b    d7,d0
        addq.b    #1,d0
        and.b    #$3f,d0
    vSlidV1    move.b    d0,$dff0a9
    
    vSlide2    rol.l    #8,d7 ;hlasitost 1.kanalu (0-3) opraveno
        btst    #6,d7
        beq    vSlide3
        btst    #7,d7
        beq    vSMin2
        add.b    d2,d7
        move.b    d7,d0
        and.b    #$3f,d0
        addq.b    #1,d0
        bra    vSlidV2
    
    vSMin2    sub.b    d2,d7
        move.b    d7,d0
        addq.b    #1,d0
        and.b    #$3f,d0
    vSlidV2    move.b    d0,$dff0b9
    
    
    vSlide3    rol.l    #8,d7 ;hlasitost 2.kanalu (0-3) opraveno
        btst    #6,d7
        beq    vSlide4
        btst    #7,d7
        beq    vSMin3
        add.b    d2,d7
        move.b    d7,d0
        and.b    #$3f,d0
        addq.b    #1,d0
        bra    vSlidV3
    
    vSMin3    sub.b    d2,d7
        move.b    d7,d0
        addq.b    #1,d0
        and.b    #$3f,d0
    vSlidV3    move.b    d0,$dff0c9
    
    vSlide4    rol.l    #8,d7 ;hlasitost 3.kanalu (0-3) puvodni oprava
        btst    #6,d7
        beq    vSlide5
        btst    #7,d7
        beq    vSMin4
        add.b    d2,d7
        move.b    d7,d0
        and.b    #$3f,d0
        addq.b    #1,d0
        bra    vSlidV4
    
    vSMin4    sub.b    d2,d7
        move.b    d7,d0
        addq.b    #1,d0
        and.b    #$3f,d0
    vSlidV4    move.b    d0,$dff0d9
    
    vSlide5
        subq.b    #1,d2
    
        ror.w    #8,d2 ;hodnotu hlasitosti volume slide do 1.byte
                  ;v 0.byte je frekvence zmeny hlasitosti volume slide
        rol.l    #8,d7
    ;    swap    d2
    
    
    
    hraj1    swap    d2
    
    hraj2    move.w    d1,d2
        move.b    #$80,d2
        ror.w    #8,d2
    
    ;    and.b    #$1,d2
    
    
    ;;freVibra30
        move.b    #$00,$bfde00
        move.b    #$7f,$bfdd00 ;c2 c1
             move.b    #$a0,$bfd400 ;00n80n60n50n4cn48n44n40j00j00j     ,2000=1/100 vteriny
        move.b    #$17,$bfd500 ;2e 2d 2d 2d 2d 2d 2d 2d 2d 2c
        move.b    #$09,$bfde00
    waitVibra2
        btst.b    #0,$bfdd00
        beq    waitVibra2
    
        move.w    d2,$dff096
    
    ;    btst    #$19,d4          ;vypnute sfx. Psani textu bez zpozdeni?
    ;    bne    freVibra4
    
    
    freVibra30
        move.b    #$00,$bfde00
        move.b    #$7f,$bfdd00 ;c2 c1
             move.b    #$a0,$bfd400 ;00n80n60n50n4cn48n44n40j00j00j     ,2000=1/100 vteriny
        move.b    #$17,$bfd500 ;2e 2d 2d 2d 2d 2d 2d 2d 2d 2c
        move.b    #$09,$bfde00
    waitVibra
        btst.b    #0,$bfdd00
        beq    waitVibra
    
    
    
    
        cmp.b    d4,d1    ;souhlasi?
    ;;    beq    klik
    ;    bne    txtIn1time
        bne    docasneTextro
    
    
    ;;zde pokracovat
    ;    add.b    #1,d2
    ;    tst.w    a4
    ;    beq    ztlumT2
    ;    cmp.w    d2,a4
    ;    beq    ztlum1
    ;ztlumT2    tst.w    a5
    ;    beq    ztlumT3
    ;    cmp.w    d2,a5
    ;    beq    ztlum2
    ;ztlumT3    tst.w    a3
    ;    beq    ztlumT4
    ;    cmp.w    d2,a3
    ;    beq    ztlum3
    ;ztlumT4
    ;;    tst.w    d7
    ;    tst.w    a1
    ;    beq    ztlumKon
    ;;    cmp.w    d2,d7
    ;    cmp.w    d2,a1
    ;    beq    ztlum4
    
    ;ztlumKon
    ;ztlum1    move.w    #1,$dff096        ;ztlum kanal 1
    ;    bra    ztlumT2
    ;ztlum2    move.w    #2,$dff096        ;ztlum kanal 2
    ;    bra    ztlumT3
    ;ztlum3    move.w    #4,$dff096        ;ztlum kanal 3
    ;    bra    ztlumT4
    ;ztlum4    move.w    #8,$dff096         ;ztlum kanal 4
    ;    bra    ztlumKon
    
    
    klik
    ;    swap    d0 ;pro praci s DMA
        bsr    testMysi
        tst.w    d0
        beq    stisknuto        ;stisknuto!!! Ukonci!!!
    
        subq.l    #4,a0
    ;    cmp.b    #$3f,(a0)
    ;    beq    zacatek            ;obnov hrajici sample
        btst    #26,d4
        bne    zacatek
    
        bra    zahrajSampl        ;vyber dalsi frekvenci pro sample
    
    zacatek    cmp.w    #$3f3f,(a0)
        beq    stisknuto
    ;    addq.l    #4,a0 ;asi jiz nemusi v kodu byt 6.srpen 2023
        bra    skladba
    
    ;;;;;    jsr     _LVOPermit(a6)
    ;;;;;    rts                ;konec programu!!!
    
    testMysi    
        btst    #$6,$bfe001
    ;    bne    nestisknuto
        bne    testEsc
        move.w    0,d0
        rts
    
    testEsc
        move.b    $bfec01,d0
        not.b    d0
        ror.b    #1,d0
        cmp.b    #$40,d0
        bne    nestisknuto
        move.w    0,d0
    nestisknuto                ;funguje i pro ukonceni!!!
        rts
    stisknuto
        move.w    #$f,$dff096 ;;;
    
    ;    move.l    4.w,a6        ;baze execu do a6
    
                          ;musi byt,jinak se exe neukonci
                          ; ;baze execu do a6
    ;        LEA    GFXLIB(PC),A1 ;;nacteme grafickou knihovnu
    ;        JSR    -408(A6)      ; ;otevreme grafickou knihovnu kterou
                          ; ;mame v A1 (vrati nam i hodnotu v D0)
    ;        MOVE.L    D0,A1          ;;v D0 je pointer na grafickou knihovnu
    ;        MOVE.L    38(A1),$DFF080; ;adresu puvodniho systemoveho
    ;;        move.w    38(a1),$dff080; ;Copperlistu dame do registru adresy
                          ; ;pocatku programu pro Copper
    ;        JSR    -414(A6)      ;  ;zavreme grafickou knihovnu
    ;        JSR    -138(A6) ;spusteni multitaskingu
    ;        MOVEQ    #0,D0   ;vynuluj D0
    
    
    
        RTS         ;ukonci program
    
    
    
    time ;casova nahrada za nevykonanou predsekvenci
    
        move.b    #$00,$bfde00
        move.b    #$7f,$bfdd00
             move.b    #$00,$bfd400 ;2000=1/100 vteriny
        move.b    #$00,$bfd500
        move.b    #$09,$bfde00
    waitTime
        btst.b    #0,$bfdd00
        beq    waitTime
    
    ;    move.w    d0,d0
    ;    move.w    d0,d0
    ;    move.w    d0,d0
    ;    move.w    d0,d0
    ;    move.w    d0,d0
    ;    move.w    d0,d0
    ;    move.w    d0,d0
    ;    move.w    d0,d0
    ;    move.w    d0,d0
    
    ;    move.w    d0,d0
    ;    move.w    d0,d0
    ;    move.w    d0,d0
    
        rts
    
    
    
    cFreVd2
    ;    swap    d4
        swap    d1
    ;    lea    table5(pc),a2
    ;    clr.b    d4
    ;    move.w    #$6B1,d1
    ;skok2    addq.b    #1,d4
    ;    move.w    (a2)+,d0
    ;    ror.w    #8,d0
    ;    and.w    #$ff,d0
    ;    sub.w    d0,d1
    ;    cmp.b    d4,d2
    ;    bne    skok2
    ;    swap    d4
    
    
    
    ;    move.b    d2,d0
    ;    and.w    #$ff,d0
        and.w    #$ff,d2
    ;    rol.b    #1,d0
        rol.b    #1,d2
        lea    table5(pc),a2
    ;    move.w    (a2,d0.w),d1
        move.w    (a2,d2.w),d1
        rts
    
    cFreVd5
    ;    swap    d0
        swap    d4
    ;    swap    d5
        lea    table5(pc),a2
        clr.b    d4
        move.w    #$6B1,d5
    skok5    addq.b    #1,d4
        move.w    (a2)+,d0
        ror.w    #8,d0
        and.w    #$ff,d0
        sub.w    d0,d5
        cmp.b    d4,d3
        bne    skok5
    ;    swap    d0
        swap    d4
        rts
    
    
    
    tableST    dc.l    T00,T01    
    tableS0    dc.l    S00,S01,S02,S03,S04,S05,S06,S07
    tableS1    dc.l    S30,S31,S32,S33,S34,S35,S36,S37
    tableS2    dc.l    S60,S61,S62,S63,S64,S65,S66,S67
    tableS3    dc.l    S90,S91,S92,S93,S94,S95,S96,S97
    tableS4    dc.l    SE0,SE1,SE2,SE3,SE4,SE5,SE6,SE7
    
    
    table5
    ;    dc.l    $01006000,$5B005500,$53004C00,$48004400,$40003C00 ;nova oktava
    ;    dc.l    $38003600                      ;nova oktava
    
    ;    dc.l    $33003000,$2E002A00,$2A002600,$24002200,$20001E00
    ;    dc.l    $1C001B00,$19001800,$17001500,$15001300,$12001100
    ;    dc.l    $10000F00,$0E000E00,$0C000C00,$0C000A00,$0A000A00
    ;    dc.l    $09000800,$08000800,$07000700
    
    ;    dc.l    $06000600,$06000500,$05000500,$04000500,$04000300
    ;    dc.l    $04000300,$00000000
    
        dc.w    0000
        dc.w    1712,1616,1525,1440,1357,1281,1209,1141,1077,1017,0961,0907
        dc.w    0856,0808,0762,0720,0678,0640,0604,0570,0538,0508,0480,0453
        dc.w    0428,0404,0381,0360,0339,0320,0302,0285,0269,0254,0240,0226
        dc.w    0214,0202,0190,0180,0170,0160,0151,0143,0135,0127,0120,0113
        dc.w    0107,0101,0095,0090,0085,0080,0076,0071,0067,0064,0060,0057
    
    ;3ka vitez4? AGO
    ;table6    dc.l    $01800180,$80800180,$80808080
    ;    dc.l    $80808080,$80808180,$80808180
    ;    dc.l    $81808080,$81808180,$80808180
    ;     dc.l    $80808080,$80808080,$80800180
    ;     dc.l    $80800180,$01800000
    ;;    dc.w    $0000
    
    ;SR
    ;table6    dc.l    $01800180,$01808080,$80808180
    ;    dc.l    $81808180,$81808180,$81808080
    ;    dc.l    $80800180,$01800180
    ;    dc.w    $0000
    
    ;SR2
    ;table6    dc.l    $01018001,$80808081,$80818181
    ;    dc.l    $81808180,$80800180,$01010000
    ;    dc.w    $0000
    
    ;SR3
    ;table6    dc.l    $01800180,$01808080,$81808180
    ;    dc.l    $81808180,$81808180,$80800180
    ;    dc.l    $01800180
    ;    dc.w    $0000
    
    
    ;SR4
    ;table6    dc.l    $01800180,$01808080,$80818081
    ;    dc.l    $80818081,$80818081,$80808080
    ;    dc.l    $01800180,$01800000
    ;;    dc.w    $0000
    
    ;SR5
    table6    dc.l    $01800180,$01808080,$80818081
        dc.l    $80818180,$81808180,$80808001
        dc.l    $80018001
        dc.w    $8000
    
    
    
    ;table6    dc.l    $80808080
    ;    dc.w    $0000
    
    
    ;arpeggio hlasitost 1 pulsinusovka-posledni verze
    ;    dc.l    $24292e34,$343a3a40,$40404040,$4040403a
    ;    dc.l    $3a3a3a34,$34342e2e,$2e292929,$24241f1f
    ;    dc.w    $0000
    
    
    
        CNOP    0,4
    
    ;CHARTAB:  DC.B "*0987654321FEDCBA^&$GHIJKkLMmNOoPQRSTUuVWXxYZ/!?:.,%-" ;_ "
    
    CHARS:
    
    ;dc.b $00, $00, $00, $FE, $00, $00, $00, $00 ;* 00gr.znakNove
    
     dc.b 0,0,0,0,0,0,0,0 ;32 space
    ;dc.b 0,0,0,0,0,0,0,0 ;33
     dc.b $30, $78, $78, $30, $00, $00, $30, $00 ;! 33 uprava pro zlute pismo Reset
     dc.b 0,0,0,0,0,0,0,0 ;34
     dc.b 0,0,0,0,0,0,0,0 ;35
     dc.b 0,0,0,0,0,0,0,0 ;36
     dc.b 0,0,0,0,0,0,0,0 ;37
     dc.b 0,0,0,0,0,0,0,0 ;38
     dc.b 0,0,0,0,0,0,0,0 ;39
     dc.b 0,0,0,0,0,0,0,0 ;40
     dc.b 0,0,0,0,0,0,0,0 ;41
     dc.b 0,0,0,0,0,0,0,0 ;42
     dc.b 0,0,0,0,0,0,0,0 ;43
     dc.b 0,0,0,0,0,0,0,0 ;44
    ;dc.b 0,0,0,0,0,0,0,0 ;45
     dc.b $00, $00, $00, $7C, $00, $00, $00, $00 ;- 45
    ;dc.b $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff ;- 45
     dc.b 0,0,0,0,0,0,0,0 ;46
     dc.b 0,0,0,0,0,0,0,0 ;47
     dc.b $7C, $C6, $CE, $D6, $E6, $C6, $7C, $00 ;0 48
     dc.b $18, $38, $18, $18, $18, $18, $7E, $00 ;1 49
     dc.b $7C, $C6, $06, $3C, $60, $C0, $FE, $00 ;2 50
     dc.b $FE, $0C, $18, $3C, $06, $06, $FC, $00 ;3 51
     dc.b $1C, $3C, $6C, $CC, $FE, $0C, $0C, $00 ;4 52
     dc.b $FE, $C0, $C0, $FC, $06, $06, $FC, $00 ;5 53
     dc.b $3C, $60, $C0, $FC, $C6, $C6, $7C, $00 ;6 54
     dc.b $FE, $C6, $0C, $18, $30, $30, $30, $00 ;7 55
     dc.b $78, $C4, $E4, $78, $BE, $86, $7C, $00 ;8 56
     dc.b $7C, $C6, $C6, $7E, $06, $0C, $78, $00 ;9 57
    
     dc.b $38, $6C, $C6, $C6, $FE, $C6, $C6, $00 ;A 00
     dc.b $38, $6C, $C6, $C6, $FE, $C6, $C6, $00 ;A 00
     dc.b $38, $6C, $C6, $C6, $FE, $C6, $C6, $00 ;A 00
     dc.b $38, $6C, $C6, $C6, $FE, $C6, $C6, $00 ;A 00
     dc.b $38, $6C, $C6, $C6, $FE, $C6, $C6, $00 ;A 00
     dc.b $38, $6C, $C6, $C6, $FE, $C6, $C6, $00 ;A 00
     dc.b $38, $6C, $C6, $C6, $FE, $C6, $C6, $00 ;A 00
    
     dc.b $38, $6C, $C6, $C6, $FE, $C6, $C6, $00 ;A 65
     dc.b $F8, $CC, $CC, $FC, $C6, $C6, $FC, $00 ;B 66
     dc.b $3C, $66, $C0, $C0, $C0, $66, $3C, $00 ;C 67
     dc.b $F8, $CC, $C6, $C6, $C6, $CC, $F8, $00 ;D 68
     dc.b $FE, $C0, $C0, $F8, $C0, $C0, $FE, $00 ;E 69
     dc.b $FE, $C0, $C0, $F8, $C0, $C0, $C0, $00 ;F 70
    
    ;dc.b $01, $03, $07, $FF, $00, $00, $00, $00 ;^ 00gr.znakNove-nevyuzito
    ;dc.b $00, $80, $C0, $FE, $00, $00, $00, $00 ;& 00gr.znakNove
    ;dc.b $08, $1C, $3E, $3E, $3E, $1C, $08, $00 ;$ 00
    
     dc.b $3C, $66, $C0, $C0, $CE, $62, $3E, $00 ;G 71
     dc.b $C6, $C6, $C6, $FE, $C6, $C6, $C6, $00 ;H 72
     dc.b $7E, $18, $18, $18, $18, $18, $7E, $00 ;I 73
     dc.b $FE, $0C, $0C, $0C, $0C, $D8, $70, $00 ;J 74
     dc.b $C6, $CC, $D8, $F0, $D8, $CC, $C6, $00 ;K 75
    
    ;dc.b $00, $00, $C6, $CC, $F8, $CC, $C6, $00 ;k 12nove
     dc.b $C0, $C0, $C0, $C0, $C0, $C0, $FE, $00 ;L 13
     dc.b $C6, $EE, $FE, $D6, $C6, $C6, $C6, $00 ;M 14
    ;dc.b $00, $00, $C6, $EE, $FE, $D6, $C6, $00 ;m 15nove
     dc.b $C6, $E6, $F6, $FE, $DE, $CE, $C6, $00 ;N 16
     dc.b $7C, $C6, $C6, $C6, $C6, $C6, $7C, $00 ;O 17
    ;dc.b $00, $00, $7C, $C6, $C6, $C6, $7C, $00 ;o 18nove
     dc.b $F8, $CC, $C6, $CC, $F8, $C0, $C0, $00 ;P 19
     dc.b $38, $6C, $C6, $C6, $C6, $6C, $3A, $00 ;Q 20
     dc.b $F8, $CC, $C6, $CC, $F8, $CC, $C6, $00 ;R 21
     dc.b $7E, $C0, $C0, $7C, $06, $06, $FC, $00 ;S 22
     dc.b $7E, $18, $18, $18, $18, $18, $18, $00 ;T 23
     dc.b $C6, $C6, $C6, $C6, $C6, $C6, $7C, $00 ;U 24
    ;dc.b $00, $00, $C6, $C6, $C6, $C6, $7C, $00 ;u 24
     dc.b $C6, $C6, $C6, $C6, $C6, $6C, $38, $00 ;V 25
     dc.b $C6, $C6, $C6, $D6, $FE, $EE, $C6, $00 ;W 26
     dc.b $C6, $EE, $7C, $38, $7C, $EE, $C6, $00 ;X 27
    ;dc.b $00, $00, $C6, $6C, $38, $6C, $C6, $00 ;x 28nove
     dc.b $c6, $c6, $c6, $7e, $0c, $0c, $f8, $00 ;Y 29
     dc.b $FE, $0C, $18, $30, $60, $C0, $FE, $00 ;Z 30
    
     dc.b $0c, $0c, $18, $18, $30, $30, $60, $60 ;/ 41
    ;dc.b $30, $78, $78, $30, $00, $00, $30, $00 ;! 42 uprava pro zlute pismo Reset
     dc.b $3C, $66, $06, $1C, $18, $00, $18, $00 ;? 43
     dc.b $00, $00, $60, $00, $00, $60, $00, $00 ;: 44 uprava pro zlute pismo Reset
     dc.b $00, $00, $00, $00, $00, $60, $60, $00 ;. 45 posunuta doprava vuci orig.
     dc.b $00, $00, $00, $00, $00, $60, $60, $40 ;, 46
     dc.b $00, $00, $00, $00, $00, $00, $7C, $00 ;% 47podtrzitkoNove
     dc.b $00, $00, $00, $7C, $00, $00, $00, $00 ;- 48
     dc.b $00, $00, $00, $00, $00, $00, $00, $00 ;  49
     dc.b $00, $00, $00, $00, $00, $00, $00, $00 ;_ 50
    
    
    
    
    
    GFXLIB:        DC.B    "graphics.library",0,0
    
    
    
    
    ;EVEN
    ;        cnop    0,4
            cnop    0,2
    COPLIST:
            DC.W    $008E,$2c81 ;pro vypsani celeho textu na obrazovku,
            DC.W    $0090,$2cc1 ;jinak bude zobrazen pouze vysek obrazovky
                        ;v pripade textra se nezobrzi posledni
                        ;radek z posledniho radku textu
    
            DC.W    $0092,$0038 ;start,prenos obrazovych dat
            DC.W    $0094,$00D0 ; stop,prenos obrazovych dat
                        ; vypocet pro LoRes,start+(pocet wordu-1)*8
                        ; tedy 56+(20-1)*8=$D0
            DC.W    $0100,$2200 ;BPLCON0 = $0100 = $dff100 zapis
        ;               ::
        ;               1+--- pouzity 1 bitplane (2 barvy)
        ;            :    nastavujeme 12.bit u $dff100
        ;            2--- aktivace barvoveho signalu Amiga 1000
        ;                 nastavujeme 9.bit u $dff100
            DC.W    $0102,$0000 ;BPLCON1 = $0102 = $dff102
        ;              :
        ;              1-- horizontalni rolovani po 1 pixelu (140ns)
        ;                  (1 nemusi byt, nechavam puvodni nastaveni
        ;                  nicmene $dff102 musi byt alespon
        ;                  kompletne vynulovan)
        ;                  nastavujeme 0.bit u $dff102
    
            DC.W    $0104,$0000 ;BPLCON2
            DC.W    $0106,$0000 ;musi byt,jinak exe nedodrzi barvy
            DC.W    $0108,$0000 ;modulo pro liche/neparne radky
            DC.W    $010A,$0000 ;modulo pro sude/parne radky
    
    SPRADR:
            ;pridano pro zruseni nekdy se objevujiciho bordelu v grafice
            ;vynulujeme pointre/ukazatele na sprite 0-7
            dc.w    $0120,$0000,$0122,$0000 ;SPR0PTH, SPR0PTL
            dc.w    $0124,$0000,$0126,$0000 ;SPR1PTH, SPR1PTL
            dc.w    $0128,$0000,$012A,$0000 ;SPR2PTH, SPR2PTL
            dc.w    $012C,$0000,$012E,$0000 ;SPR3PTH, SPR3PTL
            dc.w    $0130,$0000,$0132,$0000 ;SPR4PTH, SPR4PTL
            dc.w    $0134,$0000,$0136,$0000 ;SPR5PTH, SPR5PTL
            dc.w    $0138,$0000,$013A,$0000 ;SPR6PTH, SPR6PTL
            dc.w    $013C,$0000,$013E,$0000 ;SPR7PTH, SPR7PTL
    
    COLS:        dc.w    $0100,$2200
    
    ;        dc.w    $0180,$0f00
    ;        dc.w    $1b01,$ff00
            dc.w    $0180,$0f00
            dc.w    $1c01,$ff00
    
    
    PLANES:
            DC.W    $00E0,$0000,$00E2,$0000 ;adresa 1.bitplanu
            DC.W    $00E4,$0000,$00E6,$0000
    
    
            dc.w    $0180,$0000
            dc.w    $5701,$fffe    ;WAIT na radek $80, maskuj x i y
    ;        dc.w    $0180,$0000
    
    
            dc.w    $0180,$00F0    ;$dff180 = 0 => cerna barva pozadi
            dc.w    $5801,$fffe    ;WAIT na radek $80, maskuj x i y
    
            dc.w    $0100,$2200
    
            DC.W    $0180,$0000 ;barva pozadi
            DC.W    $0182,$0ff0 ;barva pisma
            DC.W    $0184,$0f80 ;barva pozadi
            DC.W    $0186,$0f80 ;barva pisma
    
            DC.W    $01FC,$0000 ;sirka spritu
    ;;         dc.w    $f601,$fffe    ;WAIT na radek $80, maskuj x i y
    ;        dc.w    $f901,$fffe    ;WAIT na radek $80, maskuj x i y
    
    
    ;PLANES:
    ;        DC.W    $00E0,$0000,$00E2,$0000 ;adresa 1.bitplanu
    ;        DC.W    $00E4,$0000,$00E6,$0000
    
    
    ;        dc.w    $0100,$0200
    
    ;        dc.w    $0180,$0000    ;$dff180 = 0 => cerna barva pozadi
            dc.w    $fa01,$fffe    ;WAIT na radek $80, maskuj x i y
            dc.w    $0180,$0f00    ;$dff180 = 0 => cerna barva pozadi
    ;        dc.w    $f701,$fffe    ;WAIT na radek $80, maskuj x i y
            dc.w    $fb01,$fffe    ;WAIT na radek $80, maskuj x i y
            dc.w    $0180,$0700    ;$dff180 = 0 => cerna barva pozadi
             dc.w    $fc01,$fffe    ;WAIT na radek $80, maskuj x i y
            dc.w    $0180,$0000    ;$dff180 = 0 => cerna barva pozadi
    
            dc.w    $ffdf,$fffe
    ;        dc.w    $0180,$0000
            dc.w    $3807,$ff00
            dc.w    $0180,$0f00
    
            DC.W    $FFFF,$FFFE      ;ukonceni copperlistu
    
                     ;rezervovane misto vyplnime 0
    ;PLANE:        BLK.B    257*40,0 ;rezervujeme pocet byte na adrese PLANE
    ;                 ;256*40 je velikost 1 bitplanu v bytech
    PLANE:        BLK.B    257*40,0 ;rezervujeme pocet byte na adrese PLANE
                     ;256*40 je velikost 1 bitplanu v bytech
                     ;rezervovane misto vyplnime 0
                     ;rezervovane misto vyplnime 0
    
    
    
    
    skladbyPattern
    ;; dc.l    $0000031a
    ; dc.l    $00000318
     dc.l    $00000314, $00000314,$00000000
    
    ;music ;navesti prejmenovano na skladba1 kvuli skokum v patternech
    skladby
    
    ; 2.skladba
    ;1.kanal -  vibrato
    ;2.kanal - (bez efektu)
    ;3.kanal -  arpeggio
    ;4.kanal -  mix
    
    ;poradi predsekvenci: SMP, volume, arpeggio
    
    ;    dc.w    $0000                 ;skladba 0
        dc.l    $00000030, $000000e4 ;hlasitost 0
        dc.l    $00000030            ;hlasitost 0
    
    
    ;    tony       sample     hlasitost  arpeggio   pattern
    ;
    ;        0 1 2 3       321 0   0-12-3     1 2 3 0        
    
     dc.l    $00000000;,                        ;$00040080
     dc.l    $00000000,             $000000ff
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000, $00000000
     dc.l    $00000000
    
    
    ;hraje celkem 1ch
    
     dc.l    $2a000000, $000000a2, $fc0000c1, $000000e4          ; 00 ffffc7c3
    
    ;spatny radek pouze test jestli pujde volumw slide na maximalni hlasitost
    
     dc.l    $3D3D3D3D ;$--------, $-------- ;$--------, $-------- ; 01
     dc.l    $3D3D3D3D            ; 02
     dc.l    $3D3D3D3D        ; 03
     dc.l    $3D3D3D3D            ; 04
     dc.l    $3D3D3D3D        ; 05
     dc.l    $3D3D3D3D            ; 06
     dc.l    $3D3D3D3D        ; 07
     dc.l    $2a3D3D3D, $000000a6    ; 08 ok
     dc.l    $3D3D3D3D        ; 09
     dc.l    $3D3D3D3D            ; 10
     dc.l    $3D3D3D3D        ; 11
     dc.l    $3D3D3D3D            ; 12
     dc.l    $3D3D3D3D        ; 13
     dc.l    $2a3D3D3D, $000000aa    ; 14 ok
     dc.l    $3D3D3D3D        ; 15
     dc.l    $2a3D3D3D, $000000a2    ; 16 ok
     dc.l    $3D3D3D3D        ; 17
     dc.l    $2a3D3D3D, $000000a6    ; 18 ok
     dc.l    $3D3D3D3D        ; 19
     dc.l    $2a3D3D3D, $000000a2    ; 20 ok
     dc.l    $3D3D3D3D        ; 21
     dc.l    $3D3D3D3D            ; 22
     dc.l    $3D3D3D3D        ; 23
     dc.l    $2a3D3D3D, $000000a6    ; 24 ok
     dc.l    $3D3D3D3D        ; 25
     dc.l    $3D3D3D3D                ;$--------, $-------- ; 26
     dc.l    $3D3D3D3D                      ; 27
     dc.l    $3D3D3D3D              ;$--------, $-------- ; 28
     dc.l    $3D3D3D3D                      ; 29
     dc.l    $003D3D3D              ;$--------, $-------- ; 30
     dc.l    $3d3D3D3D                      ; 31
     dc.l    $2a3D3D3D, $000000a2    ;$--------, $-------- ; 32 ok
     dc.l    $3D3D3D3D                      ; 33
     dc.l    $2a3D3D3D, $000000a2    ;$--------, $-------- ; 34 ok
     dc.l    $3D3D3D3D                          ; 35
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 36
     dc.l    $3D3D3D3D                          ; 37
     dc.l    $2a3D3D3D, $000000a2            ;$--------, $-------- ; 38 ok
     dc.l    $3D3D3D3D                          ; 39
     dc.l    $2a3D3D3D, $000000a6            ;$--------, $-------- ; 40 ok
     dc.l    $3D3D3D3D                          ; 41
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 42
     dc.l    $3D3D3D3D                          ; 43
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 44
     dc.l    $3D3D3D3D                          ; 45
     dc.l    $2a3D3D3D, $000000aa            ;$--------, $-------- ; 46 ok
     dc.l    $3D3D3D3D                          ; 47
     dc.l    $2a3D3D3D, $000000a2            ;$--------, $-------- ; 48 ok
     dc.l    $3D3D3D3D                          ; 49
     dc.l    $2a3D3D3D, $000000a6            ;$--------, $-------- ; 50 ok
     dc.l    $3D3D3D3D                          ; 51
     dc.l    $2a3D3D3D, $000000a2             ;$--------, $-------- ; 52 ok
     dc.l    $3D3D3D3D                          ; 53
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 54
     dc.l    $3D3D3D3D                          ; 55
     dc.l    $2a3D3D3D, $000000a6            ;$--------, $-------- ; 56 ok
     dc.l    $3D3D3D3D                          ; 57
     dc.l    $3D3D3D3D                      ;$--------, $-------- ; 58
     dc.l    $3D3D3D3D                          ; 59
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 60
     dc.l    $3D3D3D3D                          ; 61;
     dc.l    $003D3D3D                    ;$--------, $-------- ; 62
     dc.l    $3d3D3D3D                          ; 63
    
    
    ;    tony       sample     hlasitost  arpeggio   pattern
    
     dc.l    $2a3D3D3D, $000000a2;,$00000000    ; 00 ok
     dc.l    $3D3D3D3D            ; 01
     dc.l    $3D3D3D3D;,          $000800c1    ; 02
     dc.l    $3D3D3D3D            ; 03
     dc.l    $3D3D3D3D;,          $000200c1    ; 04
     dc.l    $3D3D3D3D            ; 05
     dc.l    $3D3D3D3D;,          $000500c1    ; 06
     dc.l    $3D3D3D3D            ; 07
     dc.l    $2a3D3D3D, $000000a6;,$000fc0c1    ; 08 ok
     dc.l    $3D3D3D3D            ; 09
     dc.l    $3D3D3D3D;,          $000400c1    ; 10
     dc.l    $3D3D3D3D            ; 11
     dc.l    $3D3D3D3D;,          $000200c1    ; 12
     dc.l    $3D3D3D3D            ; 13
     dc.l    $2a3D3D3D, $000000aa;,$000fc0c1    ; 14 ok
     dc.l    $3D3D3D3D            ; 15
     dc.l    $2a3D3D3D, $000000a2;,$000400c1    ; 16 ok
     dc.l    $3D3D3D3D            ; 17
     dc.l    $2a3D3D3D, $000000a6;,$000200c1    ; 18 ok
     dc.l    $3D3D3D3D            ; 19
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1    ; 20 ok
     dc.l    $3D3D3D3D            ; 21
     dc.l    $3D3D3D3D;,          $000400c1    ; 22
     dc.l    $3D3D3D3D            ; 23
     dc.l    $2a3D3D3D, $000000a6;,$000200c1    ; 24 ok
     dc.l    $3D3D3D3D            ; 25
     dc.l    $3D3D3D3D;,           $000fc0c1    ; 26
     dc.l    $3D3D3D3D            ; 27
     dc.l    $3D3D3D3D;,          $000200c1    ; 28
     dc.l    $3D3D3D3D            ; 29
     dc.l    $003D3D3D;,          $000600c1    ; 30
     dc.l    $3d3D3D3D            ; 31
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1    ; 32 ok
     dc.l    $3D3D3D3D            ; 33
     dc.l    $2a3D3D3D, $000000a2;,$000800c1 ; 34 ok
     dc.l    $3D3D3D3D            ; 35
     dc.l    $3D3D3D3D;,          $000200c1 ; 36
     dc.l    $3D3D3D3D            ; 37
     dc.l    $2a3D3D3D, $000000a2;,$000500c1 ; 38 ok
     dc.l    $3D3D3D3D            ; 39
     dc.l    $2a3D3D3D, $000000a6;,$000fc0c1 ; 40 ok
     dc.l    $3D3D3D3D            ; 41
     dc.l    $3D3D3D3D;,          $000400c1 ; 42
     dc.l    $3D3D3D3D            ; 43
     dc.l    $3D3D3D3D;,          $000200c1 ; 44
     dc.l    $3D3D3D3D            ; 45
     dc.l    $2a3D3D3D, $000000aa;,$000fc0c1 ; 46 ok
     dc.l    $3D3D3D3D            ; 47
     dc.l    $2a3D3D3D, $000000a2;,$000400c1 ; 48 ok
     dc.l    $3D3D3D3D            ; 49
     dc.l    $2a3D3D3D, $000000a6;,$000200c1 ; 50 ok
     dc.l    $3D3D3D3D            ; 51
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1    ; 52 ok
     dc.l    $3D3D3D3D            ; 53
     dc.l    $3D3D3D3D;,          $000400c1 ; 54
     dc.l    $2a3D3D3D, $000000a6, $300000c1 ; 55;pokr 0.kanal,1ch ok
     dc.l    $2a3D3D3D,            $fc0000c1 ; 56ok
     dc.l    $3D3D3D3D            ; 57ok
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1 ; 58ok,1ch ok
     dc.l    $3D3D3D3D            ; 59ok
     dc.l    $2a3D3D3D, $000000ae;,$000200c1 ; 60ok 0.kanal nekde stopnout sampl-novy ton vuci predeslemu patternu,1ch ok
     dc.l    $3d3D3D3D            ; 61ok
     dc.l    $3d3D3D3D;,          $000600c1 ; 62ok
     dc.l    $3d3D3D3D;,                    $00010080 ; 63ok
    
    
    ;hraju celkem 2ch
    
    
    ;dc.w    $8000
    
     dc.l    $2a3D2a3D, $000080a2, $000fc0c1 ;, $000000e4 ; 00
    
    ;spatny radek pouze test jestli pujde volumw slide na maximalni hlasitost
    
    
     dc.l    $3D3D3D3D ;$--------, $-------- ; 01
     dc.l    $3D3D2a3D,          $000800c1 ; 02
     dc.l    $3D3D3D3D            ; 03
     dc.l    $3D3D2a3D,          $000200c1 ; 04
     dc.l    $3D3D3D3D            ; 05
     dc.l    $3D3D2a3D,          $000500c1 ; 06
     dc.l    $3D3D3D3D            ; 07
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1 ; 08
     dc.l    $3D3D3D3D            ; 09
     dc.l    $3D3D2a3D,          $000400c1 ; 10
     dc.l    $3D3D3D3D            ; 11
     dc.l    $3D3D2a3D,          $000200c1 ; 12
     dc.l    $3D3D3D3D            ; 13
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1 ; 14
     dc.l    $3D3D3D3D            ; 15
     dc.l    $2a3D2a3D, $000000a2, $000400c1 ; 16
     dc.l    $3D3D3D3D            ; 17
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ; 18
     dc.l    $3D3D3D3D            ; 19
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1 ; 20
     dc.l    $3D3D3D3D            ; 21
     dc.l    $3D3D3D3D,          $000400c1 ; 22
     dc.l    $3D3D3D3D            ; 23
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ; 24
     dc.l    $3D3D3D3D            ; 25
     dc.l    $3D3D2a3D,            $000fc0c1    ;$--------, $-------- ; 26
     dc.l    $3D3D3D3D                          ; 27
     dc.l    $3D3D2a3D,          $000200c1    ;$--------, $-------- ; 28
     dc.l    $3D3D3D3D                          ; 29
     dc.l    $003D2a3D,          $000600c1    ;$--------, $-------- ; 30
     dc.l    $3d3D3D3D                          ; 31
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1 ;$--------, $-------- ; 32
     dc.l    $3D3D3D3D                          ; 33
     dc.l    $2a3D2a3D, $000000a2, $000800c1    ;$--------, $-------- ; 34
     dc.l    $3D3D3D3D                          ; 35
     dc.l    $3D3D2a3D,          $000200c1    ;$--------, $-------- ; 36
     dc.l    $3D3D3D3D                          ; 37
     dc.l    $2a3D2a3D, $000000a2, $000500c1 ;$--------, $-------- ; 38
     dc.l    $3D3D3D3D                          ; 39
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1 ;$--------, $-------- ; 40
     dc.l    $3D3D3D3D                          ; 41
     dc.l    $3D3D3D3D,          $000400c1 ;$--------, $-------- ; 42
     dc.l    $3D3D3D3D                          ; 43
     dc.l    $3D3D2a3D,          $000200c1 ;$--------, $-------- ; 44
     dc.l    $3D3D3D3D                          ; 45
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1 ;$--------, $-------- ; 46
     dc.l    $3D3D3D3D                          ; 47
     dc.l    $2a3D2a3D, $000000a2, $000400c1 ;$--------, $-------- ; 48
     dc.l    $3D3D3D3D                          ; 49
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ;$--------, $-------- ; 50
     dc.l    $3D3D3D3D                          ; 51
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ;$--------, $-------- ; 52
     dc.l    $3D3D3D3D                          ; 53
     dc.l    $3D3D3D3D,          $000400c1 ;$--------, $-------- ; 54
     dc.l    $3D3D3D3D                          ; 55
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ;$--------, $-------- ; 56
     dc.l    $3D3D3D3D                          ; 57
     dc.l    $3D3D2a3D,            $000fc0c1 ;$--------, $-------- ; 58
     dc.l    $3D3D3D3D                          ; 59
     dc.l    $3D3D2a3D,          $000200c1 ;$--------, $-------- ; 60
     dc.l    $3D3D3D3D                          ; 61;
     dc.l    $003D2a3D,          $000600c1 ;$--------, $-------- ; 62
     dc.l    $3d3D3D3D                          ; 63
    
    
    ;    tony       sample     hlasitost  arpeggio   pattern
    
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ; 00
     dc.l    $3D3D3D3D            ; 01
     dc.l    $3D3D2a3D,          $000800c1    ; 02
     dc.l    $3D3D3D3D            ; 03
     dc.l    $3D3D2a3D,          $000200c1    ; 04
     dc.l    $3D3D3D3D            ; 05
     dc.l    $3D3D2a3D,          $000500c1    ; 06
     dc.l    $3D3D3D3D            ; 07
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1    ; 08
     dc.l    $3D3D3D3D            ; 09
     dc.l    $3D3D2a3D,          $000400c1    ; 10
     dc.l    $3D3D3D3D            ; 11
     dc.l    $3D3D2a3D,          $000200c1    ; 12
     dc.l    $3D3D3D3D            ; 13
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1    ; 14
     dc.l    $3D3D3D3D            ; 15
     dc.l    $2a3D2a3D, $000000a2, $000400c1    ; 16
     dc.l    $3D3D3D3D            ; 17
     dc.l    $2a3D2a3D, $000000a6, $000200c1    ; 18
     dc.l    $3D3D3D3D            ; 19
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ; 20
     dc.l    $3D3D3D3D            ; 21
     dc.l    $3D3D3D3D,          $000400c1    ; 22
     dc.l    $3D3D3D3D            ; 23
     dc.l    $2a3D2a3D, $000000a6, $000200c1    ; 24
     dc.l    $3D3D3D3D            ; 25
     dc.l    $3D3D2a3D,            $000fc0c1    ; 26
     dc.l    $3D3D3D3D            ; 27
     dc.l    $3D3D2a3D,          $000200c1    ; 28
     dc.l    $3D3D3D3D            ; 29
     dc.l    $003D2a3D,          $000600c1    ; 30
     dc.l    $3d3D3D3D            ; 31
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ; 32
     dc.l    $3D3D3D3D            ; 33
     dc.l    $2a3D2a3D, $000000a2, $000800c1 ; 34
     dc.l    $3D3D3D3D            ; 35
     dc.l    $3D3D2a3D,          $000200c1 ; 36
     dc.l    $3D3D3D3D            ; 37
     dc.l    $2a3D2a3D, $000000a2, $000500c1 ; 38
     dc.l    $3D3D3D3D            ; 39
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1 ; 40
     dc.l    $3D3D3D3D            ; 41
     dc.l    $3D3D3D3D,          $000400c1 ; 42
     dc.l    $3D3D3D3D            ; 43
     dc.l    $3D3D2a3D,          $000200c1 ; 44
     dc.l    $3D3D3D3D            ; 45
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1 ; 46
     dc.l    $3D3D3D3D            ; 47
     dc.l    $2a3D2a3D, $000000a2, $000400c1 ; 48
     dc.l    $3D3D3D3D            ; 49
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ; 50
     dc.l    $3D3D3D3D            ; 51
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ; 52
     dc.l    $3D3D3D3D            ; 53
     dc.l    $3D3D3D3D,          $000400c1 ; 54
     dc.l    $2a3D3D3D, $000000a6, $300000c1 ; 55;pokr 0.kanal
     dc.l    $2a3D2a3D,          $fc0200c1 ; 56ok
     dc.l    $3D3D3D3D            ; 57ok
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1 ; 58ok
     dc.l    $3D3D3D3D            ; 59ok
     dc.l    $2a3D2a3D, $000000ae, $000200c1 ; 60ok 0.kanal nekde stopnout sampl-novy ton vuci predeslemu patternu
     dc.l    $3d3D3D3D            ; 61ok
     dc.l    $3d3D2a3D,          $000600c1 ; 62ok
     dc.l    $3d3D3D3D,                    $00010080 ; 63ok
    
    
    
    
    
    ;hraju celkem 3ch
    
     dc.l    $2a002a2a, $000000a2, $000fc7c3, $000000e4          ; 00 ffffc7c3
    
    ;spatny radek pouze test jestli pujde volumw slide na maximalni hlasitost
    
     dc.l    $3D3D3D3D ;$--------, $-------- ;$--------, $-------- ; 01
     dc.l    $3D3D2a3D,          $000800c1, $0000c0e4, $00020181 ; 02
     dc.l    $3D3D3D3D,             $0000c0e4, $00020181 ; 03
     dc.l    $3D3D2a3D,          $000200c1, $0000c0e4, $00020181 ; 04
     dc.l    $3D3D3D3D,             $0000c0e4, $00020181 ; 05
     dc.l    $3D3D2a3D,          $000500c1, $0000c0e4, $00020181 ; 06
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 07
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1, $0000c0e4, $00020081 ; 08
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 09
     dc.l    $3D3D2a3D,          $000400c1, $0000c0e4, $00020081 ; 10
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 11
     dc.l    $3D3D2a3D,          $000200c1, $0000c0e4, $00020081 ; 12
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 13
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1, $0000c0e4, $00020081 ; 14
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 15
     dc.l    $2a3D2a3D, $000000a2, $000400c1, $0000c0e4, $00020081 ; 16
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 17
     dc.l    $2a3D2a3D, $000000a6, $000200c1, $0000c0e4, $00020081 ; 18
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 19
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1, $0000c0e4, $00020081 ; 20
     dc.l    $3D3D3D3D                          ; 21
     dc.l    $3D3D3D3D,          $000400c1, $0000c0e4, $00020081 ; 22
     dc.l    $3D3D3D3D                          ; 23
     dc.l    $2a3D2a3D, $000000a6, $000200c1, $0000c0e4, $00020081 ; 24
     dc.l    $3D3D3D3D                          ; 25
     dc.l    $3D3D2a3D,            $000fc0c1    ;$--------, $-------- ; 26
     dc.l    $3D3D3D3D                          ; 27
     dc.l    $3D3D2a3D,          $000200c1    ;$--------, $-------- ; 28
     dc.l    $3D3D3D3D                          ; 29
     dc.l    $003D2a3D,          $000600c1    ;$--------, $-------- ; 30
     dc.l    $3d3D3D3D                          ; 31
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1 ;$--------, $-------- ; 32
     dc.l    $3D3D3D3D                          ; 33
     dc.l    $2a3D2a3D, $000000a2, $000800c1    ;$--------, $-------- ; 34
     dc.l    $3D3D3D3D                          ; 35
     dc.l    $3D3D2a3D,          $000200c1    ;$--------, $-------- ; 36
     dc.l    $3D3D3D3D                          ; 37
     dc.l    $2a3D2a3D, $000000a2, $000500c1 ;$--------, $-------- ; 38
     dc.l    $3D3D3D3D                          ; 39
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1 ;$--------, $-------- ; 40
     dc.l    $3D3D3D3D                          ; 41
     dc.l    $3D3D3D3D,          $000400c1 ;$--------, $-------- ; 42
     dc.l    $3D3D3D3D                          ; 43
     dc.l    $3D3D2a3D,          $000200c1 ;$--------, $-------- ; 44
     dc.l    $3D3D3D3D                          ; 45
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1 ;$--------, $-------- ; 46
     dc.l    $3D3D3D3D                          ; 47
     dc.l    $2a3D2a3D, $000000a2, $000400c1 ;$--------, $-------- ; 48
     dc.l    $3D3D3D3D                          ; 49
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ;$--------, $-------- ; 50
     dc.l    $3D3D3D3D                          ; 51
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ;$--------, $-------- ; 52
     dc.l    $3D3D3D3D                          ; 53
     dc.l    $3D3D3D3D,          $000400c1 ;$--------, $-------- ; 54
     dc.l    $3D3D3D3D                          ; 55
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ;$--------, $-------- ; 56
     dc.l    $3D3D3D3D                          ; 57
     dc.l    $3D3D2a3D,            $000fc0c1 ;$--------, $-------- ; 58
     dc.l    $3D3D3D3D                          ; 59
     dc.l    $3D3D2a3D,          $000200c1 ;$--------, $-------- ; 60
     dc.l    $3D3D3D3D                          ; 61;
     dc.l    $003D2a3D,          $000600c1 ;$--------, $-------- ; 62
     dc.l    $3d3D3D3D                          ; 63
    
    
    ;    tony       sample     hlasitost  arpeggio   pattern
    
     dc.l    $2a3D2a2a, $000000a2, $000fc0c7    ; 00 ffffc7c3
     dc.l    $3D3D3D3D            ; 01
     dc.l    $3D3D2a3D,          $000800c1    ; 02
     dc.l    $3D3D3D3D            ; 03
     dc.l    $3D3D2a3D,          $000200c1    ; 04
     dc.l    $3D3D3D3D            ; 05
     dc.l    $3D3D2a3D,          $000500c1    ; 06
     dc.l    $3D3D3D3D            ; 07
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1    ; 08
     dc.l    $3D3D3D3D            ; 09
     dc.l    $3D3D2a3D,          $000400c1    ; 10
     dc.l    $3D3D3D3D            ; 11
     dc.l    $3D3D2a3D,          $000200c1    ; 12
     dc.l    $3D3D3D3D            ; 13
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1    ; 14
     dc.l    $3D3D3D3D            ; 15
     dc.l    $2a3D2a3D, $000000a2, $000400c1    ; 16
     dc.l    $3D3D3D3D            ; 17
     dc.l    $2a3D2a3D, $000000a6, $000200c1    ; 18
     dc.l    $3D3D3D3D            ; 19
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ; 20
     dc.l    $3D3D3D3D            ; 21
     dc.l    $3D3D3D3D,          $000400c1    ; 22
     dc.l    $3D3D3D3D            ; 23
     dc.l    $2a3D2a3D, $000000a6, $000200c1    ; 24
     dc.l    $3D3D3D3D            ; 25
     dc.l    $3D3D2a3D,            $000fc0c1    ; 26
     dc.l    $3D3D3D3D            ; 27
     dc.l    $3D3D2a3D,          $000200c1    ; 28
     dc.l    $3D3D3D3D            ; 29
     dc.l    $003D2a3D,          $000600c1    ; 30
     dc.l    $3d3D3D3D            ; 31
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ; 32
     dc.l    $3D3D3D3D            ; 33
     dc.l    $2a3D2a3D, $000000a2, $000800c1 ; 34
     dc.l    $3D3D3D3D            ; 35
     dc.l    $3D3D2a3D,          $000200c1 ; 36
     dc.l    $3D3D3D3D            ; 37
     dc.l    $2a3D2a3D, $000000a2, $000500c1 ; 38
     dc.l    $3D3D3D3D            ; 39
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1 ; 40
     dc.l    $3D3D3D3D            ; 41
     dc.l    $3D3D3D3D,          $000400c1 ; 42
     dc.l    $3D3D3D3D            ; 43
     dc.l    $3D3D2a3D,          $000200c1 ; 44
     dc.l    $3D3D3D3D            ; 45
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1 ; 46
     dc.l    $3D3D3D3D            ; 47
     dc.l    $2a3D2a3D, $000000a2, $000400c1 ; 48
     dc.l    $3D3D3D3D            ; 49
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ; 50
     dc.l    $3D3D3D3D            ; 51
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ; 52
     dc.l    $3D3D3D3D            ; 53
     dc.l    $3D3D3D3D,          $000400c1 ; 54
     dc.l    $2a3D3D3D, $000000a6, $300000c1 ; 55;pokr 0.kanal
     dc.l    $2a3D2a3D,          $fc0200c1 ; 56ok
     dc.l    $3D3D3D3D            ; 57ok
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1 ; 58ok
     dc.l    $3D3D3D3D            ; 59ok
     dc.l    $2a3D2a3D, $000000ae, $000200c1 ; 60ok 0.kanal nekde stopnout sampl-novy ton vuci predeslemu patternu
     dc.l    $3d3D3D3D            ; 61ok
     dc.l    $3d3D2a3D,          $000600c1 ; 62ok
     dc.l    $3d3D3D3D;,                    $0001d080 ; 63ok
    
    
    
    
    
    ;hraju celkem 4ch
    
     dc.l    $2a232a2a, $010401a2, $ffffc7c3, $000000e4          ; 00 ffffc7c3
    
    ;spatny radek pouze test jestli pujde volumw slide na maximalni hlasitost
    
     dc.l    $3D3D3D3D ;$--------, $-------- ;$--------, $-------- ; 01
     dc.l    $3D3D2a3D,          $000800c1, $0000c0e4, $00020181 ; 02
     dc.l    $3D3D3D3D,             $0000c0e4, $00020181 ; 03
     dc.l    $3D3D2a3D,          $000200c1, $0000c0e4, $00020181 ; 04
     dc.l    $3D3D3D3D,             $0000c0e4, $00020181 ; 05
     dc.l    $3D3D2a3D,          $000500c1, $0000c0e4, $00020181 ; 06
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 07
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1, $0000c0e4, $00020081 ; 08
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 09
     dc.l    $3D3D2a3D,          $000400c1, $0000c0e4, $00020081 ; 10
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 11
     dc.l    $3D3D2a3D,          $000200c1, $0000c0e4, $00020081 ; 12
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 13
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1, $0000c0e4, $00020081 ; 14
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 15
     dc.l    $2a3D2a3D, $000000a2, $000400c1, $0000c0e4, $00020081 ; 16
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 17
     dc.l    $2a3D2a3D, $000000a6, $000200c1, $0000c0e4, $00020081 ; 18
     dc.l    $3D3D3D3D,             $0000c0e4, $00020081 ; 19
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1, $0000c0e4, $00020081 ; 20
     dc.l    $3D3D3D3D                          ; 21
     dc.l    $3D3D3D3D,          $000400c1, $0000c0e4, $00020081 ; 22
     dc.l    $3D3D3D3D                          ; 23
     dc.l    $2a3D2a3D, $000000a6, $000200c1, $0000c0e4, $00020081 ; 24
     dc.l    $3D3D3D3D                          ; 25
     dc.l    $3D3D2a3D,            $000fc0c1    ;$--------, $-------- ; 26
     dc.l    $3D3D3D3D                          ; 27
     dc.l    $3D3D2a3D,          $000200c1    ;$--------, $-------- ; 28
     dc.l    $3D3D3D3D                          ; 29
     dc.l    $003D2a3D,          $000600c1    ;$--------, $    -30- ; 30
     dc.l    $3d3D3D3D                          ; 31
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1 ;$--------, $-------- ; 32
     dc.l    $3D3D3D3D                          ; 33
     dc.l    $2a3D2a3D, $000000a2, $000800c1    ;$--------, $-------- ; 34
     dc.l    $3D3D3D3D                          ; 35
     dc.l    $3D3D2a3D,          $000200c1    ;$--------, $-------- ; 36
     dc.l    $3D3D3D3D                          ; 37
     dc.l    $2a3D2a3D, $000000a2, $000500c1 ;$--------, $-------- ; 38
     dc.l    $3D3D3D3D                          ; 39
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1 ;$--------, $-------- ; 40
     dc.l    $3D3D3D3D                          ; 41
     dc.l    $3D3D3D3D,          $000400c1 ;$--------, $-------- ; 42
     dc.l    $3D3D3D3D                          ; 43
     dc.l    $3D3D2a3D,          $000200c1 ;$--------, $-------- ; 44
     dc.l    $3D3D3D3D                          ; 45
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1 ;$--------, $-------- ; 46
     dc.l    $3D3D3D3D                          ; 47
     dc.l    $2a3D2a3D, $000000a2, $000400c1 ;$--------, $-------- ; 48
     dc.l    $3D3D3D3D                          ; 49
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ;$--------, $-------- ; 50
     dc.l    $3D3D3D3D                          ; 51
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ;$--------, $-------- ; 52
     dc.l    $3D3D3D3D                          ; 53
     dc.l    $3D3D3D3D,          $000400c1 ;$--------, $-------- ; 54
     dc.l    $3D3D3D3D                          ; 55
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ;$--------, $-------- ; 56
     dc.l    $3D3D3D3D                          ; 57
     dc.l    $3D3D2a3D,            $000fc0c1 ;$--------, $-------- ; 58
     dc.l    $3D3D3D3D                          ; 59
     dc.l    $3D3D2a3D,          $000200c1 ;$--------, $-------- ; 60
     dc.l    $3D3D3D3D                          ; 61;
     dc.l    $003D2a3D,          $000600c1 ;$--------, $-------- ; 62
     dc.l    $3d3D3D3D                          ; 63
    
    
    ;    tony       sample     hlasitost  arpeggio   pattern
    
     dc.l    $2a272a2a, $010401a2, $000fc0c7    ; 00 ffffc7c3
     dc.l    $3D3D3D3D            ; 01
     dc.l    $3D3D2a3D,          $000800c1    ; 02
     dc.l    $3D3D3D3D            ; 03
     dc.l    $3D3D2a3D,          $000200c1    ; 04
     dc.l    $3D3D3D3D            ; 05
     dc.l    $3D3D2a3D,          $000500c1    ; 06
     dc.l    $3D3D3D3D            ; 07
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1    ; 08
     dc.l    $3D3D3D3D            ; 09
     dc.l    $3D3D2a3D,          $000400c1    ; 10
     dc.l    $3D3D3D3D            ; 11
     dc.l    $3D3D2a3D,          $000200c1    ; 12
     dc.l    $3D3D3D3D            ; 13
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1    ; 14
     dc.l    $3D3D3D3D            ; 15
     dc.l    $2a3D2a3D, $000000a2, $000400c1    ; 16
     dc.l    $3D3D3D3D            ; 17
     dc.l    $2a3D2a3D, $000000a6, $000200c1    ; 18
     dc.l    $3D3D3D3D            ; 19
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ; 20
     dc.l    $3D3D3D3D            ; 21
     dc.l    $3D3D3D3D,          $000400c1    ; 22
     dc.l    $3D3D3D3D            ; 23
     dc.l    $2a3D2a3D, $000000a6, $000200c1    ; 24
     dc.l    $3D3D3D3D            ; 25
     dc.l    $3D3D2a3D,            $000fc0c1    ; 26
     dc.l    $3D3D3D3D            ; 27
     dc.l    $3D3D2a3D,          $000200c1    ; 28
     dc.l    $3D3D3D3D            ; 29
     dc.l    $003D2a3D,          $000600c1    ; 30
     dc.l    $3d3D3D3D            ; 31
     dc.l    $2a2a2a3D, $010401a2, $000fc0c1    ; 32;;
     dc.l    $3D3D3D3D            ; 33
     dc.l    $2a3D2a3D, $000000a2, $000800c1 ; 34
     dc.l    $3D3D3D3D            ; 35
     dc.l    $3D3D2a3D,          $000200c1 ; 36
     dc.l    $3D3D3D3D            ; 37
     dc.l    $2a3D2a3D, $000000a2, $000500c1 ; 38
     dc.l    $3D3D3D3D            ; 39
     dc.l    $2a3D2a3D, $000000a6, $000fc0c1 ; 40
     dc.l    $3D3D3D3D            ; 41
     dc.l    $3D3D3D3D,          $000400c1 ; 42
     dc.l    $3D3D3D3D            ; 43
     dc.l    $3D3D2a3D,          $000200c1 ; 44
     dc.l    $3D3D3D3D            ; 45
     dc.l    $2a3D2a3D, $000000aa, $000fc0c1 ; 46
     dc.l    $3D3D3D3D            ; 47
     dc.l    $2a3D2a3D, $000000a2, $000400c1 ; 48
     dc.l    $3D3D3D3D            ; 49
     dc.l    $2a3D2a3D, $000000a6, $000200c1 ; 50
     dc.l    $3D3D3D3D            ; 51
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1    ; 52
     dc.l    $3D3D3D3D            ; 53
     dc.l    $3D3D3D3D,          $000400c1 ; 54
     dc.l    $2a3D3D3D, $000000a6, $300000c1 ; 55;pokr 0.kanal
     dc.l    $2a2c2a3D, $010401a0, $fc0200c1 ; 56ok
     dc.l    $3D3D3D3D            ; 57ok
     dc.l    $2a3D2a3D, $000000a2, $000fc0c1 ; 58ok
     dc.l    $3D3D3D3D            ; 59ok
     dc.l    $2a3D2a3D, $000000ae, $000200c1 ; 60ok 0.kanal nekde stopnout sampl-novy ton vuci predeslemu patternu
     dc.l    $3d3D3D3D            ; 61ok
     dc.l    $3d3D2a3D,          $000600c1 ; 62ok
     dc.l    $3d3D3D3D,                    $00014080 ; 63ok
     dc.l                             $00000444 ; skok
    
    
     dc.l    $2a000000, $000000a2, $fc0000c1, $000000e4          ; 00 ffffc7c3
    
    ;spatny radek pouze test jestli pujde volumw slide na maximalni hlasitost
    
     dc.l    $3D3D3D3D ;$--------, $-------- ;$--------, $-------- ; 01
     dc.l    $3D3D3D3D            ; 02
     dc.l    $3D3D3D3D        ; 03
     dc.l    $3D3D3D3D            ; 04
     dc.l    $3D3D3D3D        ; 05
     dc.l    $3D3D3D3D            ; 06
     dc.l    $3D3D3D3D        ; 07
     dc.l    $2a3D3D3D, $000000a6    ; 08 ok
     dc.l    $3D3D3D3D        ; 09
     dc.l    $3D3D3D3D            ; 10
     dc.l    $3D3D3D3D        ; 11
     dc.l    $3D3D3D3D            ; 12
     dc.l    $3D3D3D3D        ; 13
     dc.l    $2a3D3D3D, $000000aa    ; 14 ok
     dc.l    $3D3D3D3D        ; 15
     dc.l    $2a3D3D3D, $000000a2    ; 16 ok
     dc.l    $3D3D3D3D        ; 17
     dc.l    $2a3D3D3D, $000000a6    ; 18 ok
     dc.l    $3D3D3D3D        ; 19
     dc.l    $2a3D3D3D, $000000a2    ; 20 ok
     dc.l    $3D3D3D3D        ; 21
     dc.l    $3D3D3D3D            ; 22
     dc.l    $3D3D3D3D        ; 23
     dc.l    $2a3D3D3D, $000000a6    ; 24 ok
     dc.l    $3D3D3D3D        ; 25
     dc.l    $3D3D3D3D                ;$--------, $-------- ; 26
     dc.l    $3D3D3D3D                      ; 27
     dc.l    $3D3D3D3D              ;$--------, $-------- ; 28
     dc.l    $3D3D3D3D                      ; 29
     dc.l    $003D3D3D              ;$--------, $-------- ; 30
     dc.l    $3d3D3D3D                      ; 31
     dc.l    $2a3D3D3D, $000000a2    ;$--------, $-------- ; 32 ok
     dc.l    $3D3D3D3D                      ; 33
     dc.l    $2a3D3D3D, $000000a2    ;$--------, $-------- ; 34 ok
     dc.l    $3D3D3D3D                          ; 35
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 36
     dc.l    $3D3D3D3D                          ; 37
     dc.l    $2a3D3D3D, $000000a2            ;$--------, $-------- ; 38 ok
     dc.l    $3D3D3D3D                          ; 39
     dc.l    $2a3D3D3D, $000000a6            ;$--------, $-------- ; 40 ok
     dc.l    $3D3D3D3D                          ; 41
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 42
     dc.l    $3D3D3D3D                          ; 43
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 44
     dc.l    $3D3D3D3D                          ; 45
     dc.l    $2a3D3D3D, $000000aa            ;$--------, $-------- ; 46 ok
     dc.l    $3D3D3D3D                          ; 47
     dc.l    $2a3D3D3D, $000000a2            ;$--------, $-------- ; 48 ok
     dc.l    $3D3D3D3D                          ; 49
     dc.l    $2a3D3D3D, $000000a6            ;$--------, $-------- ; 50 ok
     dc.l    $3D3D3D3D                          ; 51
     dc.l    $2a3D3D3D, $000000a2             ;$--------, $-------- ; 52 ok
     dc.l    $3D3D3D3D                          ; 53
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 54
     dc.l    $3D3D3D3D                          ; 55
     dc.l    $2a3D3D3D, $000000a6            ;$--------, $-------- ; 56 ok
     dc.l    $3D3D3D3D                          ; 57
     dc.l    $3D3D3D3D                      ;$--------, $-------- ; 58
     dc.l    $3D3D3D3D                          ; 59
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 60
     dc.l    $3D3D3D3D                          ; 61;
     dc.l    $003D3D3D                    ;$--------, $-------- ; 62
     dc.l    $3d3D3D3D                          ; 63
    
    
    ;    tony       sample     hlasitost  arpeggio   pattern
    
     dc.l    $2a3D3D3D, $000000a2;,$00000000    ; 00 ok
     dc.l    $3D3D3D3D            ; 01
     dc.l    $3D3D3D3D;,          $000800c1    ; 02
     dc.l    $3D3D3D3D            ; 03
     dc.l    $3D3D3D3D;,          $000200c1    ; 04
     dc.l    $3D3D3D3D            ; 05
     dc.l    $3D3D3D3D;,          $000500c1    ; 06
     dc.l    $3D3D3D3D            ; 07
     dc.l    $2a3D3D3D, $000000a6;,$000fc0c1    ; 08 ok
     dc.l    $3D3D3D3D            ; 09
     dc.l    $3D3D3D3D;,          $000400c1    ; 10
     dc.l    $3D3D3D3D            ; 11
     dc.l    $3D3D3D3D;,          $000200c1    ; 12
     dc.l    $3D3D3D3D            ; 13
     dc.l    $2a3D3D3D, $000000aa;,$000fc0c1    ; 14 ok
     dc.l    $3D3D3D3D            ; 15
     dc.l    $2a3D3D3D, $000000a2;,$000400c1    ; 16 ok
     dc.l    $3D3D3D3D            ; 17
     dc.l    $2a3D3D3D, $000000a6;,$000200c1    ; 18 ok
     dc.l    $3D3D3D3D            ; 19
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1    ; 20 ok
     dc.l    $3D3D3D3D            ; 21
     dc.l    $3D3D3D3D;,          $000400c1    ; 22
     dc.l    $3D3D3D3D            ; 23
     dc.l    $2a3D3D3D, $000000a6;,$000200c1    ; 24 ok
     dc.l    $3D3D3D3D            ; 25
     dc.l    $3D3D3D3D;,           $000fc0c1    ; 26
     dc.l    $3D3D3D3D            ; 27
     dc.l    $3D3D3D3D;,          $000200c1    ; 28
     dc.l    $3D3D3D3D            ; 29
     dc.l    $003D3D3D;,          $000600c1    ; 30
     dc.l    $3d3D3D3D            ; 31
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1    ; 32 ok
     dc.l    $3D3D3D3D            ; 33
     dc.l    $2a3D3D3D, $000000a2;,$000800c1 ; 34 ok
     dc.l    $3D3D3D3D            ; 35
     dc.l    $3D3D3D3D;,          $000200c1 ; 36
     dc.l    $3D3D3D3D            ; 37
     dc.l    $2a3D3D3D, $000000a2;,$000500c1 ; 38 ok
     dc.l    $3D3D3D3D            ; 39
     dc.l    $2a3D3D3D, $000000a6;,$000fc0c1 ; 40 ok
     dc.l    $3D3D3D3D            ; 41
     dc.l    $3D3D3D3D;,          $000400c1 ; 42
     dc.l    $3D3D3D3D            ; 43
     dc.l    $3D3D3D3D;,          $000200c1 ; 44
     dc.l    $3D3D3D3D            ; 45
     dc.l    $2a3D3D3D, $000000aa;,$000fc0c1 ; 46 ok
     dc.l    $3D3D3D3D            ; 47
     dc.l    $2a3D3D3D, $000000a2;,$000400c1 ; 48 ok
     dc.l    $3D3D3D3D            ; 49
     dc.l    $2a3D3D3D, $000000a6;,$000200c1 ; 50 ok
     dc.l    $3D3D3D3D            ; 51
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1    ; 52 ok
     dc.l    $3D3D3D3D            ; 53
     dc.l    $3D3D3D3D;,          $000400c1 ; 54
     dc.l    $2a3D3D3D, $000000a6, $300000c1 ; 55;pokr 0.kanal,1ch ok
     dc.l    $2a3D3D3D,            $fc0000c1 ; 56ok
     dc.l    $3D3D3D3D            ; 57ok
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1 ; 58ok,1ch ok
     dc.l    $3D3D3D3D            ; 59ok
     dc.l    $2a3D3D3D, $000000ae;,$000200c1 ; 60ok 0.kanal nekde stopnout sampl-novy ton vuci predeslemu patternu,1ch ok
     dc.l    $3d3D3D3D            ; 61ok
     dc.l    $3d3D3D3D;,          $000600c1 ; 62ok
     dc.l    $3d3D3D3D;,                    $0001f080 ; 63ok
    ;dc.l                             $00000444 ; skok
    ;dc.l                             $000006e4 ; skok 6e4 ok
    
    
    
    
     dc.l    $2a000000, $000000a2, $fc0000c1, $000000e4          ; 00 ffffc7c3
    
    ;spatny radek pouze test jestli pujde volumw slide na maximalni hlasitost
    
     dc.l    $3D3D3D3D ;$--------, $-------- ;$--------, $-------- ; 01
     dc.l    $3D3D3D3D            ; 02
     dc.l    $3D3D3D3D        ; 03
     dc.l    $3D3D3D3D            ; 04
     dc.l    $3D3D3D3D        ; 05
     dc.l    $3D3D3D3D            ; 06
     dc.l    $3D3D3D3D        ; 07
     dc.l    $2a3D3D3D, $000000a6    ; 08 ok
     dc.l    $3D3D3D3D        ; 09
     dc.l    $3D3D3D3D            ; 10
     dc.l    $3D3D3D3D        ; 11
     dc.l    $3D3D3D3D            ; 12
     dc.l    $3D3D3D3D        ; 13
     dc.l    $2a3D3D3D, $000000aa    ; 14 ok
     dc.l    $3D3D3D3D        ; 15
     dc.l    $2a3D3D3D, $000000a2    ; 16 ok
     dc.l    $3D3D3D3D        ; 17
     dc.l    $2a3D3D3D, $000000a6    ; 18 ok
     dc.l    $3D3D3D3D        ; 19
     dc.l    $2a3D3D3D, $000000a2    ; 20 ok
     dc.l    $3D3D3D3D        ; 21
     dc.l    $3D3D3D3D            ; 22
     dc.l    $3D3D3D3D        ; 23
     dc.l    $2a3D3D3D, $000000a6    ; 24 ok
     dc.l    $3D3D3D3D        ; 25
     dc.l    $3D3D3D3D                ;$--------, $-------- ; 26
     dc.l    $3D3D3D3D                      ; 27
     dc.l    $3D3D3D3D              ;$--------, $-------- ; 28
     dc.l    $3D3D3D3D                      ; 29
     dc.l    $003D3D3D              ;$--------, $-------- ; 30
     dc.l    $3d3D3D3D                      ; 31
     dc.l    $2a3D3D3D, $000000a2    ;$--------, $-------- ; 32 ok
     dc.l    $3D3D3D3D                      ; 33
     dc.l    $2a3D3D3D, $000000a2    ;$--------, $-------- ; 34 ok
     dc.l    $3D3D3D3D                          ; 35
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 36
     dc.l    $3D3D3D3D                          ; 37
     dc.l    $2a3D3D3D, $000000a2            ;$--------, $-------- ; 38 ok
     dc.l    $3D3D3D3D                          ; 39
     dc.l    $2a3D3D3D, $000000a6            ;$--------, $-------- ; 40 ok
     dc.l    $3D3D3D3D                          ; 41
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 42
     dc.l    $3D3D3D3D                          ; 43
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 44
     dc.l    $3D3D3D3D                          ; 45
     dc.l    $2a3D3D3D, $000000aa            ;$--------, $-------- ; 46 ok
     dc.l    $3D3D3D3D                          ; 47
     dc.l    $2a3D3D3D, $000000a2            ;$--------, $-------- ; 48 ok
     dc.l    $3D3D3D3D                          ; 49
     dc.l    $2a3D3D3D, $000000a6            ;$--------, $-------- ; 50 ok
     dc.l    $3D3D3D3D                          ; 51
     dc.l    $2a3D3D3D, $000000a2             ;$--------, $-------- ; 52 ok
     dc.l    $3D3D3D3D                          ; 53
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 54
     dc.l    $3D3D3D3D                          ; 55
     dc.l    $2a3D3D3D, $000000a6            ;$--------, $-------- ; 56 ok
     dc.l    $3D3D3D3D                          ; 57
     dc.l    $3D3D3D3D                      ;$--------, $-------- ; 58
     dc.l    $3D3D3D3D                          ; 59
     dc.l    $3D3D3D3D                    ;$--------, $-------- ; 60
     dc.l    $3D3D3D3D                          ; 61;
     dc.l    $003D3D3D                    ;$--------, $-------- ; 62
     dc.l    $3d3D3D3D                          ; 63
    
    
    ;    tony       sample     hlasitost  arpeggio   pattern
    
     dc.l    $2a3D3D3D, $000000a2;,$00000000    ; 00 ok
     dc.l    $3D3D3D3D            ; 01
     dc.l    $3D3D3D3D;,          $000800c1    ; 02
     dc.l    $3D3D3D3D            ; 03
     dc.l    $3D3D3D3D;,          $000200c1    ; 04
     dc.l    $3D3D3D3D            ; 05
     dc.l    $3D3D3D3D;,          $000500c1    ; 06
     dc.l    $3D3D3D3D            ; 07
     dc.l    $2a3D3D3D, $000000a6;,$000fc0c1    ; 08 ok
     dc.l    $3D3D3D3D            ; 09
     dc.l    $3D3D3D3D;,          $000400c1    ; 10
     dc.l    $3D3D3D3D            ; 11
     dc.l    $3D3D3D3D;,          $000200c1    ; 12
     dc.l    $3D3D3D3D            ; 13
     dc.l    $2a3D3D3D, $000000aa;,$000fc0c1    ; 14 ok
     dc.l    $3D3D3D3D            ; 15
     dc.l    $2a3D3D3D, $000000a2;,$000400c1    ; 16 ok
     dc.l    $3D3D3D3D            ; 17
     dc.l    $2a3D3D3D, $000000a6;,$000200c1    ; 18 ok
     dc.l    $3D3D3D3D            ; 19
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1    ; 20 ok
     dc.l    $3D3D3D3D            ; 21
     dc.l    $3D3D3D3D;,          $000400c1    ; 22
     dc.l    $3D3D3D3D            ; 23
     dc.l    $2a3D3D3D, $000000a6;,$000200c1    ; 24 ok
     dc.l    $3D3D3D3D            ; 25
     dc.l    $3D3D3D3D;,           $000fc0c1    ; 26
     dc.l    $3D3D3D3D            ; 27
     dc.l    $3D3D3D3D;,          $000200c1    ; 28
     dc.l    $3D3D3D3D            ; 29
     dc.l    $003D3D3D;,          $000600c1    ; 30
     dc.l    $3d3D3D3D            ; 31
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1    ; 32 ok
     dc.l    $3D3D3D3D            ; 33
     dc.l    $2a3D3D3D, $000000a2;,$000800c1 ; 34 ok
     dc.l    $3D3D3D3D            ; 35
     dc.l    $3D3D3D3D;,          $000200c1 ; 36
     dc.l    $3D3D3D3D            ; 37
     dc.l    $2a3D3D3D, $000000a2;,$000500c1 ; 38 ok
     dc.l    $3D3D3D3D            ; 39
     dc.l    $2a3D3D3D, $000000a6;,$000fc0c1 ; 40 ok
     dc.l    $3D3D3D3D            ; 41
     dc.l    $3D3D3D3D;,          $000400c1 ; 42
     dc.l    $3D3D3D3D            ; 43
     dc.l    $3D3D3D3D;,          $000200c1 ; 44
     dc.l    $3D3D3D3D            ; 45
     dc.l    $2a3D3D3D, $000000aa;,$000fc0c1 ; 46 ok
     dc.l    $3D3D3D3D            ; 47
     dc.l    $2a3D3D3D, $000000a2;,$000400c1 ; 48 ok
     dc.l    $3D3D3D3D            ; 49
     dc.l    $2a3D3D3D, $000000a6;,$000200c1 ; 50 ok
     dc.l    $3D3D3D3D            ; 51
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1    ; 52 ok
     dc.l    $3D3D3D3D            ; 53
     dc.l    $3D3D3D3D;,          $000400c1 ; 54
     dc.l    $2a3D3D3D, $000000a6, $300000c1 ; 55;pokr 0.kanal,1ch ok
     dc.l    $2a3D3D3D,            $fc0000c1 ; 56ok
     dc.l    $3D3D3D3D            ; 57ok
     dc.l    $2a3D3D3D, $000000a2;,$000fc0c1 ; 58ok,1ch ok
     dc.l    $3D3D3D3D            ; 59ok
     dc.l    $2a3D3D3D, $000000ae;,$000200c1 ; 60ok 0.kanal nekde stopnout sampl-novy ton vuci predeslemu patternu,1ch ok
     dc.l    $3d3D3D3D            ; 61ok
     dc.l    $3d3D3D3D;,          $000600c1 ; 62ok
     dc.l    $3d3D3D3D,                    $0001f080 ; 63ok
    ;dc.l                             $00000444 ; skok
    ;dc.l                             $000006e4 ; skok 6e4 ok
     dc.l                             $0000097c ; skok 97c ok
    
    
    
    
    ;0.kanal posledniho patternu zeditovany
    ;1.kanal
    ;2.kanal posledniho patternu zeditovany
    ;3.kanal posledniho patternu zeditovany
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    ;  --------konec--------
     dc.l    $3f3f3f3f
    
    TEXT:
    
    ;DC.B   0
     DC.B $00,0,"TELADBA                                 "
    ;DC.B $01,0,"E                                       "
    ;DC.B $02,0,"E                                       "
    ;DC.B $03,0,"ESED SOFTWARE 2                         "
     DC.B $04,0,"L                                       "
     DC.B $05,0,"E C                                     "
     DC.B $06,0,"E CSM                                   "
     DC.B $07,0,"E CCTAMED V1.03C                        "
     DC.B $08,0,"E CENOISE V3.3                          "
     DC.B $09,0,"E CROTRACKER V3.61                      "
     DC.B $0a,0,"F CDS MUSIC ROUTINE V1.0               E"
     DC.B $0b,0,"E CINIWRAPPER CODE V1.04               E"
     DC.B $0c,0,"E CINIWRAPPER CODE V1.04               E"
     DC.B $0d,0,"C CINIWRAPPER CODE V1.04               E"
     DC.B $0e,0,"C CINIWRAPPER CODE V1.04               E"
     DC.B $0f,0,"A CINIWRAPPER CODE V1.04               E"
     DC.B $80,13,5,1 ;,0,"
    
     DC.B $00,0,"                                        "
    ;DC.B $01,0,"                                        "
    ;DC.B $02,0,"                                        "
    ;DC.B $03,0,"  USED SOFTWARE                         "
     DC.B $04,0,"                                        "
     DC.B $05,0,"  WINUAE  V4.4.0                        "
     DC.B $06,0,"E  ASM PRO V1.18                        "
     DC.B $07,0,"E  OCTAMED V1.03C          EDIT SAMPLES "
     DC.B $08,0,"E  RENOISE V3.3           -1ST EDIT MOD "
     DC.B $09,0,"U  PROTRACKER V3.61       -2ND EDIT MOD "
     DC.B $0a,0,"E  CDS MUSIC ROUTINE V1.0 -3RD EDIT CMR "
     DC.B $0b,0,"   MINIWRAPPER CODE V1.04 BY PHOTON     "
     DC.B $0c,0,"E  MINIWRAPPER CODE V1.04 BY PHOTON     "
     DC.B $0d,0,"E  MINIWRAPPER CODE V1.04 BY PHOTON     "
     DC.B $0e,0,"   MINIWRAPPER CODE V1.04 BY PHOTON     "
     DC.B $0f,0,"E  AINIWRAPPER CODE V1.04 BY PHOTON     "
     DC.B $80,13,5,1
    
    
     DC.B "                                        "
     DC.B "-- -------                              "
     DC.B "HI PEOPLE!                              "
     DC.B "  CODE V1.04 BY PHOTON MINIWRAPPER      "
    
     DC.B "TEXT TEXTRO K CODE V1.04 BY PHOTON      "
     DC.B "B CODE V1.04 BY PHOTON MINIWRAPPER      "
     DC.B "C MINIWRAPPER CODE V1.04 BY PHOTON      "
     DC.B "  CODE V1.04 BY PHOTON MINIWRAPPER      "
    
     DC.B "TEXT TEXTRO K CODE V1.04 BY PHOTON      "
     DC.B "B CODE V1.04 BY PHOTON MINIWRAPPER      "
     DC.B "C MINIWRAPPER CODE V1.04 BY PHOTON      "
     DC.B "  CODE V1.04 BY PHOTON MINIWRAPPER      "
    
     DC.B "TEXT TEXTRO K CODE V1.04 BY PHOTON      "
     DC.B "B CODE V1.04 BY PHOTON MINIWRAPPER      "
     DC.B "C MINIWRAPPER CODE V1.04 BY PHOTON      "
     DC.B "  CODE V1.04 BY PHOTON MINIWRAPPER      "
    
     DC.B "TEXT TEXTRO K CODE V1.04 BY PHOTON      "
     DC.B "B CODE V1.04 BY PHOTON MINIWRAPPER      "
     DC.B "C MINIWRAPPER CODE V1.04 BY PHOTON      "
     DC.B "  CODE V1.04 BY PHOTON MINIWRAPPER      "
    
     DC.B "TEXT TEXTRO K CODE V1.04 BY PHOTON      "
     DC.B "B CODE V1.04 BY PHOTON MINIWRAPPER      "
     DC.B "C MINIWRAPPER CODE V1.04 BY PHOTON      "
     DC.B "  CODE V1.04 BY PHOTON MINIWRAPPER      "
    
     DC.B "TEXT TEXTRO K CODE V1.04 BY PHOTON      "
     DC.B "B CODE V1.04 BY PHOTON MINIWRAPPER      "
     DC.B "C MINIWRAPPER CODE V1.04 BY PHOTON      "
     DC.B "  CODE V1.04 BY PHOTON MINIWRAPPER      "
    
     DC.B "TEXT TEXTRO K CODE V1.04 BY PHOTON      "
     DC.B "B CODE V1.04 BY PHOTON MINIWRAPPER      "
     DC.B "C MINIWRAPPER CODE V1.04 BY PHOTON      "
     DC.B "  CODE V1.04 BY PHOTON MINIWRAPPER      "
    
     DC.B "AHOJ                                    "
    
    
    ; DC.B 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
    
    ; DC.B 0,$00,$f0,"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" ;07
    ; DC.B 0,$02,$a8,"$                                      $" ;08
    ; DC.B 0,$04,$60,"$                                      $" ;09
    ; DC.B 0,$06,$18,"$                                      $" ;10
    ; DC.B 0,$07,$d0,"$                                      $" ;11
    ; DC.B 0,$09,$88,"$                                      $" ;12
    ; DC.B 0,$0b,$40,"$                                      $" ;13
    ; DC.B 0,$0c,$f8,"$                                      $" ;14
    ; DC.B 0,$0e,$b0,"$                                      $" ;15
    ; DC.B 0,$10,$68,"$                                      $" ;16
    ; DC.B 0,$12,$20,"$                                      $" ;17
    ; DC.B 0,$13,$d8,"$                                      $" ;18
    ; DC.B 0,$15,$90,"$                                      $" ;19
    ; DC.B 0,$17,$48,"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" ;20
    
    
    ; DC.B  0,$c0,0,"          "          
    ; DC.B -1,$c1,0," USED SOFT" ;WARE" ;08
    ; DC.B  0,$c2,0,"          " ;09
    ; DC.B  0,$c3,0,"          " ;10
    ; DC.B  0,$c4,0,"WINUAE  V4" ;.4.0" ;07
    ; DC.B -1,$c5,0," ASM PRO V" ;1.18" ;08
    
    ; DC.B  0,$c6,0,"OCTAMED V1" ;.03C" ;    EDIT SAMPLES  " ;09
    ; DC.B  0,$c7,0,"  RENOISE " ;V3.3" ;   -1ST EDIT MOD  " ;10
    ; DC.B  0,$c8,0,"PROTRACKER" ; V3." ;   -2ND EDIT MOD  " ;07
    ; DC.B -1,$c9,0,"CDS MUSIC " ;ROUT" ;  V1.0 -3RD EDIT CMR  " ;08
    ; DC.B  0,$ca,0,"MINIWRAPPE" ;R CO" ;V1.04 BY PHOTON      " ;09
    ; DC.B  0,$cb,0,"ATARI  ATA" ;RI  " ;   ATARI        " ;10
    ; DC.B  0,$c0
    
    ;DC.B 0,$e4,0,"$                                      $" ;11
    ;DC.B 0,$e5,0,"$                                      $" ;12
    ;DC.B 0,$e6,0,"$      AHOJ                            $" ;13
    ;DC.B 0,$e7,0,"$                                      $" ;14
    ;DC.B 0,$e8,0,"$                                      $" ;15
    ;DC.B 0,$e9,0,"$                                      $" ;16
    ;DC.B 0,$ea,0,"$                                      $" ;17
    ;DC.B 0,$eb,0,"$                                      $" ;18
    ;DC.B 0,$ec,0,"$                                      $" ;19
    ;DC.B 0,$ed,0,"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" ;20
    
    
    ; DC.B  0,$c0,0, "        "
    ; DC.B  0,$c1,0, "        "
    ; DC.B  0,$c2,0, "        "
    ; DC.B  0,$c3,0, "USED SOF"
    ; DC.B  0,$c4,0, "        "
    ; DC.B  0,$c5,0, "WINUAE  "
    ; DC.B  0,$c6,0, "ASM PRO "
    ; DC.B  0,$c7,0, "OCTAMED "
    ; DC.B  0,$c8,0, "RENOISE "
    ; DC.B  0,$c9,0, "PROTRACK"
    ; DC.B  0,$ca,0, "CDS MUSI"
    ; DC.B  0,$cb,0, "MINIWRAP"
    ; DC.B  0,$c0,0
    
    ; DC.B    $c0,8, "        "
    ; DC.B  0,$c1,8, "        "
    ; DC.B  0,$c2,8, "        "
    ; DC.B  0,$c3,8, "TWARE   "
    ; DC.B  0,$c4,8, "        "
    ; DC.B  0,$c5,8, "V4.4.0  "
    ; DC.B  0,$c6,8, "V1.18   "
    ; DC.B  0,$c7,8, "V1.03C  "
    ; DC.B  0,$c8,8, "V3.3    "
    ; DC.B  0,$c9,8, "ER V3.61"
    ; DC.B  0,$ca,8, "C ROUTIN"
    ; DC.B  0,$cb,8, "PER CODE"
    ; DC.B  0,$c0,0
    
    ; DC.B    $c0,16,"        "
    ; DC.B  0,$c1,16,"        "
    ; DC.B  0,$c2,16,"        "
    ; DC.B  0,$c3,16,"        "
    ; DC.B  0,$c4,16,"        "
    ; DC.B  0,$c5,16,"        "
    ; DC.B  0,$c6,16,"        "
    ; DC.B  0,$c7,16," EDIT SA"
    ; DC.B  0,$c8,16,"P1ST EDI"
    ; DC.B  0,$c9,16,"P2ND EDI"
    ; DC.B  0,$ca,16,"E V1.0  "
    ; DC.B  0,$cb,16," V1.04 B"
    ; DC.B  0,$c0,0
    
    ; DC.B    $c0,24,"        "
    ; DC.B  0,$c1,24,"        "
    ; DC.B  0,$c2,24,"        "
    ; DC.B  0,$c3,24,"        "
    ; DC.B  0,$c4,24,"        "
    ; DC.B  0,$c5,24,"        "
    ; DC.B  0,$c6,24,"        "
    ; DC.B  0,$c7,24,"MPLES   "
    ; DC.B  0,$c8,24,"T MOD   "
    ; DC.B  0,$c9,24,"T MOD   "
    ; DC.B  0,$ca,24,"T CMR   "
    ; DC.B  0,$cb,24,"        "
    ; DC.B  0,$c0,0
    
    ; DC.B    $c0,32,"        "
    ; DC.B  0,$c1,32,"        "
    ; DC.B  0,$c2,32,"        "
    ; DC.B  0,$c3,32,"        "
    ; DC.B  0,$c4,32,"        "
    ; DC.B  0,$c5,32,"        "
    ; DC.B  0,$c6,32,"        "
    ; DC.B  0,$c7,32,"        "
    ; DC.B  0,$c8,32,"        "
    ; DC.B  0,$c9,32,"        "
    ; DC.B  0,$ca,32,"        "
    ; DC.B  0,$cb,32,"        "
    ; DC.B  0,$c0,0
    
    
    
    
    
    ; DC.B    $c0,0, "        "
    ; DC.B  0,$c1,0, "        "
    ; DC.B  0,$c2,0, "        "
    ; DC.B  0,$c3,0, "        "
    ; DC.B  0,$c4,0, "        "
    ; DC.B  0,$c5,0, "        "
    ; DC.B  0,$c6,0, "        "
    ; DC.B  0,$c7,0, "        "
    ; DC.B  0,$c8,0, "        "
    ; DC.B  0,$c9,0, "        "
    ; DC.B  0,$ca,0, "        "
    ; DC.B  0,$cb,0, "        "
    ; DC.B  0,$c0,0;
    
    ; DC.B    $c0,8, "        "
    ; DC.B  0,$c1,8, "        "
    ; DC.B  0,$c2,8, "        "
    ; DC.B  0,$c3,8, "        "
    ; DC.B  0,$c4,8, "        "
    ; DC.B  0,$c5,8, "        "
    ; DC.B  0,$c6,8, "        "
    ; DC.B  0,$c7,8, "        "
    ; DC.B  0,$c8,8, "        "
    ; DC.B  0,$c9,8, "        "
    ; DC.B  0,$ca,8, "        "
    ; DC.B  0,$cb,8, "        "
    ; DC.B  0,$c0,0
    
    ; DC.B    $c0,16,"        "
    ; DC.B  0,$c1,16,"        "
    ; DC.B  0,$c2,16,"        "
    ; DC.B  0,$c3,16,"        "
    ; DC.B  0,$c4,16,"        "
    ; DC.B  0,$c5,16,"        "
    ; DC.B  0,$c6,16,"        "
    ; DC.B  0,$c7,16,"        "
    ; DC.B  0,$c8,16,"        "
    ; DC.B  0,$c9,16,"        "
    ; DC.B  0,$ca,16,"        "
    ; DC.B  0,$cb,16,"        "
    ; DC.B  0,$c0,0
    
    ; DC.B    $c0,24,"        "
    ; DC.B  0,$c1,24,"        "
    ; DC.B  0,$c2,24,"        "
    ; DC.B  0,$c3,24,"        "
    ; DC.B  0,$c4,24,"        "
    ; DC.B  0,$c5,24,"        "
    ; DC.B  0,$c6,24,"        "
    ; DC.B  0,$c7,24,"        "
    ; DC.B  0,$c8,24,"        "
    ; DC.B  0,$c9,24,"        "
    ; DC.B  0,$ca,24,"        "
    ; DC.B  0,$cb,24,"        "
    ; DC.B  0,$c0,0
    
    ; DC.B    $c0,32,"        "
    ; DC.B  0,$c1,32,"        "
    ; DC.B  0,$c2,32,"        "
    ; DC.B  0,$c3,33,"        "
    ; DC.B  0,$c4,32,"        "
    ; DC.B  0,$c5,33,"        "
    ; DC.B  0,$c6,32,"        "
    ; DC.B  0,$c7,32,"        "
    ; DC.B  0,$c8,32,"        "
    ; DC.B  0,$c9,32,"        "
    ; DC.B  0,$ca,32,"        "
    ; DC.B  0,$cb,32,"        "
    ; DC.B  0,$c0,0
    
    
    
    
    
    
    ; DC.B $c0,0,"                                        "
    ; DC.B $c1,0,"                                        "
    ; DC.B $c2,0,"                                        "
    ; DC.B $c3,0,"  USED SOFTWARE 2                       "
    ; DC.B $c4,0,"                                        "
    ; DC.B $c5,0,"  C                                     "
    ; DC.B $c6,0,"  CSM                                   "
    ; DC.B $c7,0,"  CCTAMED V1.03C                        "
    ; DC.B $c8,0,"  CENOISE V3.3                          "
    ; DC.B $c9,0,"  CROTRACKER V3.61                      "
    ; DC.B $ca,0,"  CDS MUSIC ROUTINE V1.0                "
    ; DC.B $cb,0,"  CINIWRAPPER CODE V1.04                "
    ; DC.B $c0,$ff ;,0,"
    
    
    
    
    
    
    
    ;DC.B 0,$0b,$40,"  TESTOVANO NA AMIZE 1200,4MB FAST RAM  ",0,$0c,$f8,$02,$be ;, 0,$0b,$40,$80,$c1;13
    
    ;DC.B 0,$0b,$40,"  _TESTED_ON_AMIGA_1200,4_MB_FAST_RAM_  ",0,$00,$00,$01,$e6 ;, 0,$0b,$40,$80,$c1;13
    
    
    
    
    ;DC.B 0,$06,$18,"                                  /CZ/  ",0,$07,$d0,$00,$00 ;,-1,0,$00,$00,$1,$25;10
    
    ; DC.B 0,$00,$f0,"                                        ",0,$02,$a8,$00,$00;,    ;07
    ; DC.B 0,$02,$a8,"                                        ",0,$04,$60,$00,$00 ;, 0,$10,$e0,$0,$31;08
    ; DC.B 0,$04,$60,"  ************************************  ",0,$06,$18, 0,  0;,    ;09
    ; DC.B 0,$06,$18,"  USED SOFTWARE                         ",0,$07,$d0,$00,$00 ;,-1,0,$00,$00,$1,$25;10
    ; DC.B 0,$07,$d0,"  ************************************  ",0,$09,$88, 0,  0;,    ;11
    ; DC.B 0,$09,$88,"  WINUAE  V4.4.0                        ",0,$0b,$40,$00,$00 ;, 0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"  ASM PRO V1.18                         ",0,$0c,$f8,$00,$00 ;, 0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"  OCTAMED V1.03C          EDIT SAMPLES  ",0,$0e,$b0,$00,$00 ;, 0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"  RENOISE V3.3           -1ST EDIT MOD  ",0,$10,$68,$00,$00 ;, 0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"  PROTRACKER V3.61       -2ND EDIT MOD  ",0,$12,$20, 0, $00;,    ;16
    ; DC.B 0,$12,$20,"  CDS MUSIC ROUTINE V1.0 -3RD EDIT CMR  ",0,$13,$d8,$00,$00 ;, 0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8,"  MINIWRAPPER CODE V1.04 BY PHOTON      ",0,$15,$90, 0,  0;,    ;01
    ; DC.B 0,$15,$90,"                                        ",0,$17,$48, 0,  0;,    ;01
    ;;DC.B 0,$17,$48,"                                        ",0,$00,$00,$03,$4e;,    ;01
    ;DC.B 0,$17,$48,"                                        ",0,$00,$00,$04,$3e;,    ;01
    
    
    
     
    ; DC.B 0,$00,$f0,"                                        ",0,$02,$a8,$00,$00;,    ;07
    ; DC.B 0,$02,$a8,"                                        ",0,$04,$60,$00,$00 ;, 0,$10,$e0,$0,$31;08
    ; DC.B 0,$04,$60,"  ************************************  ",0,$06,$18, 0,  0;,    ;09
    ; DC.B 0,$06,$18,"  RESETKANI 2023 PARTY                  ",0,$07,$d0,$00,$00 ;,-1,0,$00,$00,$1,$25;10
    ; DC.B 0,$07,$d0,"  ************************************  ",0,$09,$88, 0,  0;,    ;11
    ; DC.B 0,$09,$88,"                                        ",0,$0b,$40,$00,$00 ;, 0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"  HELLO EVERYONE!                       ",0,$0c,$f8,$00,$00 ;, 0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"                                        ",0,$0e,$b0,$00,$00 ;, 0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"  WE WILL HAVE ANOTHER RESETKANI        ",0,$10,$68,$00,$00 ;, 0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"  GATHERING, WHICH WILL TAKE PLACE      ",0,$12,$20, 0,  0;,    ;16
    ; DC.B 0,$12,$20,"  AS ALWAYS IN BRNO. BOTH AMIGA FANS    ",0,$13,$d8,$00,$00 ;, 0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8,"  AND EVERYONE ELSE IS INVITED.         ",0,$15,$90, 0,  0;,    ;01
    ; DC.B 0,$15,$90,"                                        ",0,$17,$48, 0,  0;,    ;01
    ; DC.B 0,$17,$48,"                                        ",0,$00,$00,$02,$5e;,    ;01
    
    
    
    ; DC.B 0,$0b,$40,"  DATE OF THE EVENT: 31.3.- 2.4.        ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    
    ; DC.B 0,$0b,$40,"  VENUE: CENTRUM DENNICH SLUZEB         ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"         PRO SLUCHOVE POSTIZENE         ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"                                        ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"         STREET: VODOVA 35              ",0,$12,$20, $0, $0  ;,16
    ; DC.B 0,$12,$20,"         CITY:   BRNO                   ",0,$13,$d8,$00,$00 ;,0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8,"         CZECH REPUBLIC                 ",0,$15,$90, $0, $0  ;,01
    
    ; DC.B 0,$0b,$40,"  EVENT PROGRAM: DEMO SHOW              ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"                 CREAZY COMPO           ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"                 DEATH MATCH-           ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"                 -IN HIRED GUNS         ",0,$12,$20, $0, $0  ;,16
    ; DC.B 0,$12,$20,"                 FUN AMIGA QUIZ         ",0,$13,$d8,$00,$00 ;,0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8,"                 AZ AMIGA QUIZ          ",0,$15,$90, $0, $0  ;,01
    ; DC.B 0,$0b,$40,"  OTHERS: ALCOHOLIC DRINKS              ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"          GOULASH BY NORO               ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"          SANDWICHES WITH FRIED-        ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"          -CHEESE CHILLI AND CHUTNEY    ",0,$12,$20, $0, $0  ;,16
    ; DC.B 0,$12,$20,"          NON-ALCOHOLIC DRINKS          ",0,$13,$d8,$00,$00 ;,0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8,"          POTATO CHIPS                  ",0,$15,$90, $0, $0  ;,01
    ; DC.B 0,$0b,$40,"        ORGANIZERS OF THE EVENT:        ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"                                        ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"                  FREDDY                ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"                  DEDY                  ",0,$12,$20, $0, $0  ;,16
    ; DC.B 0,$12,$20,"                  MICE                  ",0,$13,$d8,$00,$00 ;,0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8,"                  NORO                  ",0,$15,$90, $0, $0  ;,01
    ;;DC.B 0,$07,$d0,"  DEKUJI MOC ZA VSE...                  ",0,$09,$88, $0, $0  ;,11
    ; DC.B 0,$09,$88,"                                        ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"                 PG                     ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"                 POISON                 ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"                 JANCIB                 ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"                 DAMI                   ",0,$00,$00,$02,$d6 ;,16
    ; DC.B 0,$07,$d0,"  THANK YOU SO MUCH FOR EVERYTHING...   ",0,$09,$88,$81,$20  ;,11
    ; DC.B 0,$07,$d0,"  THANK YOU TO OUR CZ AND SK            ",0,$09,$88, $0, $0  ;,11
    ; DC.B 0,$09,$88,"  PROGRAMMERS, WHO DROVE ME FORWARD     ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"  IN AMIGA ASSEMBLER...                 ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"                                        ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"         DEFOR       OBIWANKEN          ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"         DJM         ANTONY/DTA         ",0,$12,$20,$00,$00 ;,16
    ; DC.B 0,$12,$20,"         MARK        LANEX              ",0,$13,$d8,$00,$00 ;,0,$04,$38,$81,$e1;17
    ;;DC.B 0,$04,$60,"     ZDRAVIME...                        ",0,$06,$18, $0, $0  ;,09
    ; DC.B 0,$06,$18,"    GREETINGS...                        ",0,$07,$d0,$00,$00 ;,-1,0,$00,$00,$1,$25;10
    
    
    ; DC.B 0,$09,$88,"                ARTWAY                  ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"                D.T.A.SOFTWARE STUDIO   ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"                VECTORS                 ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"                KLIK                    ",0,$00,$00,$00,$F6 ;,0,$07,$08,$81,$81;15
    
    
    ;;DC.B 0,$09,$88,"                PG_____________         ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ;;DC.B 0,$0b,$40,"                LOOKE________________   ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ;;DC.B 0,$0c,$f8,"                POISON_________         ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ;;DC.B 0,$0e,$b0,"                AKI____________         ",0,$00,$00,$00,$F6 ;,0,$07,$08,$81,$81;15
    
    
    ; DC.B 0,$09,$88,"                CERES SOFT              ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"                VBG SOFTWARE            ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"                4004/482_ZO SVAZARMU    ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"                GEMBA BOYS              ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"                RM-TEAM                 ",0,$00,$00,$00,$00 ;,16
    
    ; DC.B 0,$0b,$40,"        CHILDHOOD DREAM SOFTWARE        ",0,$0c,$f8,$00,$00 ;, 0,$0b,$40,$80,$c1;13
    
    ; DC.B 0,$0b,$40,"            CODE      LISIAK            ",0,$0c,$f8,$00,$00 ;, 0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"            MUSIC     NOOLY             ",0,$0e,$b0,$00,$00 ;, 0,$08,$70,$81,$21;14
    
    ; DC.B 0,$04,$60,"     GREETINGS...                       ",0,$06,$18, $0, $0  ;,09
    ;;DC.B 0,$06,$18,"     ZDRAVIME...                        ",0,$07,$d0,$00,$00 ;,-1,0,$00,$00,$1,$25;10
    
    ; DC.B 0,$09,$88,"     ZDENEK6           BUSY             ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"     MBORIK128         ROMBOR           ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"     LIBOR L.A.        UB880D           ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"     CZECH HUMAN       ACELTD           ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$07,$d0,"     PHOTON            DEFOR            ",0,$09,$88, $0, $0  ;,11
    ; DC.B 0,$09,$88,"     TRIXIE            JOFA             ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"     SNAPPY            HUMAN FACTOR     ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"     HOLYNA            SOLARIS104       ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"     PREDSEDA          BOMBEROZA        ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"     CERV              OBIWANKEN        ",0,$12,$20, $0, $0  ;,16
    ; DC.B 0,$12,$20,"     EXIE              PROBER           ",0,$13,$d8,$00,$00 ;,0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8,"     MARK              GHH              ",0,$00,$00,$01,$e6 ;,01
    
    ; DC.B 0,$07,$d0,"                                        ",0,$09,$88, $0, $0  ;,11
    ; DC.B 0,$09,$88,"                 CHAIN                  ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"                 L.L.G.                 ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"                 SLACHA                 ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"                 TOMSOFT                ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"                 JAY TEE                ",0,$12,$20, $0, $0  ;,16
    ; DC.B 0,$12,$20,"                 RASTER                 ",0,$13,$d8,$00,$00 ;,0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8,"                                        ",0,$00,$00,$01,$E6  ;,01
    ;;DC.B 0,$15,$90,"                                        ",0,$17,$48, $0, $0  ;,01
    ;;DC.B 0,$17,$48,"                                        ",0,$00,$00,$00,$00 ;,01
    
    
    
    ; DC.B 0,$09,$88,"     RESETKANI.EU                       ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"     AMIGAPORTAL.CZ                     ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"     AMIGA.LUKYSOFT.CZ                  ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"     JACK.UNTERGRUND.NET                ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"     OLDCOMP.CZ                         ",0,$12,$20, $0, $0  ;,16
    ; DC.B 0,$12,$20,"     GHH.8U.CZ  ...DO NOT PANIC         ",0,$13,$d8,$00,$00 ;,0,$04,$38,$81,$e1;17
    
    ; DC.B 0,$09,$88,"     PPA.PL                             ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"     ARCADEHRY.CZ                       ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"     EAB.ABIME.NET                      ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"     CADA.PROBERS.CZ                    ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"     NEKONECNY LABUZO         YOUTUBE   ",0,$12,$20, $0, $0  ;,16
    ; DC.B 0,$12,$20,"     AMIGA A ATARI ST CZ/SK   FACEBOOK  ",0,$13,$d8,$00,$00 ;,0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8,"     ONESCAPE FOR ATARI 8BIT  GAME      ",0,$00,$00,$00,$00  ;,01
    
    ;;DC.B 0,$0b,$40,"         ZDRAVIME Z... CZ / SK          ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0b,$40,"         GREETINGS FROM CZ / SK         ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    
    ;;DC.B 0,$0b,$40,"                  TEBE________          ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$8b,$40,"$            _WE GREET_YOU!_           $",0,$80,$00,$00,$00 ;,0,$0b,$40,$80,$c1;13
    
    ; DC.B 0,$00,$f0,"                                        ",0,$02,$a8,$00,$00 ;,07
    ; DC.B 0,$02,$a8," A FEW EVENTS FOR 2023                  ",0,$04,$60,$00,$00 ;,0,$10,$e0,$0,$31;08
    ; DC.B 0,$04,$60," ************************************** ",0,$06,$18, $0, $0  ;,09
    ; DC.B 0,$06,$18," NAME             DATE OF EVENT COUNTRY ",0,$07,$d0,$00,$00 ;,-1,0,$00,$00,$1,$25;10
    ; DC.B 0,$07,$d0," &***************^&************^&*****^ ",0,$09,$88, 0,  0;,    ;11
    ; DC.B 0,$09,$88," FOREVER          17.3. - 19.3.    SK   ",0,$0b,$40,$00,$00 ;,0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40," REVISION          7.4. - 1O.4.    DE   ",0,$0c,$f8,$00,$00 ;,0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8," AKF PARTY        28.4. -  1.5.    CZ   ",0,$0e,$b0,$00,$00 ;,0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0," ARTWAY PARTY      7.7. -  9.7.    CZ   ",0,$10,$68,$00,$00 ;,0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68," OLDSCHOOL PARTY  11.8. - 13.8.    CZ   ",0,$12,$20, $0, $0  ;,16
    ; DC.B 0,$12,$20," OLDCOMP PARTY     8.9. - 10.9.    CZ   ",0,$13,$d8,$00,$00 ;,0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8," BYTEFEST         26.10.- 29.10.   CZ   ",0,$15,$90, $0, $0  ;,01
    ; DC.B 0,$15,$90," PRASEPARTY       23.11.- 26.11.   CZ   ",0,$17,$48, $0, $0  ;,01
    ; DC.B 0,$17,$48,"                                        ",0,$00,$00,$00,$00 ;,01
    
    
    
    
    
    ; DC.B 0,$04,$60,"  ************************************  ",0,$06,$18, 0,  0;,    ;09
    ; DC.B 0,$06,$18,"  USED SOFTWARE                         ",0,$07,$d0,$00,$00 ;,-1,0,$00,$00,$1,$25;10
    ; DC.B 0,$07,$d0,"  ************************************  ",0,$09,$88, 0,  0;,    ;11
    ; DC.B 0,$09,$88,"  WINUAE  V4.4.0                        ",0,$0b,$40,$00,$00 ;, 0,$0e,$10,$80,$61;12
    ; DC.B 0,$0b,$40,"  ASM PRO V1.18                         ",0,$0c,$f8,$00,$00 ;, 0,$0b,$40,$80,$c1;13
    ; DC.B 0,$0c,$f8,"  OCTAMED V1.03C          EDIT SAMPLES  ",0,$0e,$b0,$00,$00 ;, 0,$08,$70,$81,$21;14
    ; DC.B 0,$0e,$b0,"  RENOISE V3.3           -1ST EDIT MOD  ",0,$10,$68,$00,$00 ;, 0,$07,$08,$81,$81;15
    ; DC.B 0,$10,$68,"  PROTRACKER V3.61       -2ND EDIT MOD  ",0,$12,$20, 0, $00;,    ;16
    ; DC.B 0,$12,$20,"  CDS MUSIC ROUTINE V1.0 -3RD EDIT CMR  ",0,$13,$d8,$00,$00 ;, 0,$04,$38,$81,$e1;17
    ; DC.B 0,$13,$d8,"  MINIWRAPPER CODE V1.04 BY PHOTON      ",0,$15,$90, 0,  0;,    ;01
    
    
            
                     ;rezervovane misto vyplnime 0
    
    ;******************************************************************************
    ; TEXTRO KONEC
    ;******************************************************************************
    
    ;PC
    ;mix           0.kanal
    BA    incbin "DH1:MOD T02X3/05"
    BB    incbin "DH1:MOD T02X3/06"
    BC    incbin "DH1:MOD T02X3/07"
    BD    incbin "DH1:MOD T02X3/08"
    
    ;bas           1.kanal
    
    BE    incbin "DH1:MOD T02X3/02a"
    BF    incbin "DH1:MOD T02X3/02b" ;smp s casovacem
    C0
    C1
    
    ;kytara        2.kanal
    C2    incbin "DH1:MOD T02X3/01"
    C3
    C4
    C5
    
    ;klavesy       3.kanal
    C6    incbin "DH1:MOD T02X3/03"
    C7    incbin "DH1:MOD T02X3/04"
    C8
    C9
    
    ;CA    incbin "DH1:MOD T02X3/DART_BOARD"
    CA    incbin "DH1:MOD T02X3/k.chipbell5short0"
    
    * zde si doplnte cestu k samplu
    ;AA    incbin "dh1:noSystem/sampl.smp"
    
    ;29.3.2023 o neco zkratit smycku

    Vložit komentář:

Zpracovávám...
X