Rev 3235 Rev 3255
-   1 // Tento soubor definuje vse potrebne pro ulozeni skladeb do pameti programu.
-   2 // Dale definuje pislusna makra pro snadne definice. Tyto definice jsou voleny
-   3 // zamerne tak, aby mohl byt pouzit stejny soubor s definici skladby jak
-   4 // pro vlozeni primo do firmwaru v dobe prekladu tak i k dodatecnemu nahrani
-   5 // skladby pres seriovou linku.
-   6  
-   7 // Definice hranic pameti pro ulozeni pisnicek
-   8 #define STARTMEM 0x600 // Zde zacina pametoa oblast pro pisnicky
-   9 #define ENDMEM 0x7ff // Zde konci pametova oblast pro pisnicky
-   10  
-   11 // Definice konstant pro kodovani dat
-   12 #define ENDOFDATA 0x3FFF // Priznak konce pisnicek (prazdna pamet)
-   13 #define DATABEGIN 0x2000 // Kod zacatku skladby
-   14 #define MASKBEGIN 0x3800
-   15 #define DATATEMPO 0x2800 // Kod pro nastaveni tempa
-   16 #define MASKTEMPO 0x3800
-   17 #define DATAPAUSE 0x3000 // Kod pro nastaveni mezery mezi notami
-   18 #define MASKPAUSE 0x3800
-   19 #define MASKNOTE 0x2000 // Nejvissi bit 0 urcuje, ze jde o notu
-   20  
-   21 // Pseudomakra pro jednoduchy zapis skladeb do zdrojaku jazyka C
-   22 #define BEGIN DATABEGIN+ // Zacatek pisnicky + posunuti oktav
-   23 #define TEMPO DATATEMPO+ // Delka nejskratsi noty v ms
-   24 #define PAUSE DATAPAUSE+ // Delka mezery mezi notami
-   25 #define END // Konec skladby, zde nic neznamena
-   26  
-   27 // Pseudomakra pro zapis not, zapisuje se cislo oktavy, nota, delka noty
-   28 #define C *16 + SOUND_C + 128 *
-   29 #define Cis *16 + SOUND_Cis + 128 *
-   30 #define D *16 + SOUND_D + 128 *
-   31 #define Dis *16 + SOUND_Dis + 128 *
-   32 #define E *16 + SOUND_E + 128 *
-   33 #define F *16 + SOUND_F + 128 *
-   34 #define Fis *16 + SOUND_Fis + 128 *
-   35 #define G *16 + SOUND_G + 128 *
-   36 #define Gis *16 + SOUND_Gis + 128 *
-   37 #define A *16 + SOUND_A + 128 *
-   38 #define Ais *16 + SOUND_Ais + 128 *
-   39 #define H *16 + SOUND_H + 128 *
-   40 #define Space SOUND_Space + 128 *
-   41  
-   42 // Pametova oblast
-   43 #ORG 0x600,0x7FF {} // Vyhrazeni oblasti pameti pro ulozeni pisnicek
-   44 #ROM 0x600 = { // Naplneni oblasti pameti daty
-   45  
-   46 // Pisnicky jako soucast firwaru se vkladaji sem
-   47 // Museji mit stejny format jako uvedene priklady aby zafungovaly makra
-   48 #include "Skladby\TheFinalSoundDown.txt"
-   49 #include "Skladby\BednaOdWhisky.txt"
-   50 #include "Skladby\KdyzMeBaliZaVojacka.txt"
-   51 #include "Skladby\Medvedi.txt"
-   52  
-   53 // Koncova znacka a konec oblasti pro skladby
-   54 ENDOFDATA
-   55 }
-   56  
-   57 // Zruseni definic maker pro definici skladeb
-   58 // V dalsim programu uz nebudou potreba
-   59 #undef BEGIN
-   60 #undef TEMPO
-   61 #undef PAUSE
-   62 #undef END
-   63 #undef C
-   64 #undef Cis
-   65 #undef D
-   66 #undef Dis
-   67 #undef E
-   68 #undef F
-   69 #undef Fis
-   70 #undef G
-   71 #undef Gis
-   72 #undef A
-   73 #undef Ais
-   74 #undef H
-   75 #undef Space