kategoria: Muzyka
[#421] Re: Fajny moduł dziś słyszałem

@mikecios, post #420

Ha! super

[#422] Re: Fajny moduł dziś słyszałem

@nogorg, post #421

Ano tak ! Wiedziałem że z dema ale bym sam nie zgadł.
Sam wpadłeś czy dopytałeś ?

Ps. Tym bardziej ze to nie z dema tylko z kompotow mod :>

Ostatnia aktualizacja: 24.03.2020 23:02:05 przez mikecios
[#423] Re: Fajny moduł dziś słyszałem

@mikecios, post #422

Nie pytałem, wylosował mi się w końcu sam z playlisty. Odrobinę temu losowaniu pomagałem .

Mocno się opierałem, żeby nie zasugerować w pierwszym poście, że to chyba kawałek z jakiegoś dema. Ale po przejrzeniu paru toplist nic mi się z tą muzyka nie kojarzyło, więc stwierdziłem, że nie będę wprowadzał w błąd. On po prostu brzmi bardzo demowato. Szczególnie ten motyw fletowy, który mi się kojarzy trochę z końcówką Hardwired.

Tak czy tak bardzo dobry track.
[#424] Re: Fajny moduł dziś słyszałem

@nogorg, post #423

Kawałka nie odgadłem ale wiedziałem że masz gdzieś u siebie
[#425] Re: Fajny moduł dziś słyszałem

@mikecios, post #422

Ps. Tym bardziej ze to nie z dema tylko z kompotow mod :>


A'propos dema to jest inne z kawałkiem JSL'a. Demo takie se, ale muza zacna i mocarna. Z tego co widzę to na Poueta dopiero w 2017 trafiło.

[#426] Re: Fajny moduł dziś słyszałem

@nogorg, post #425

W związku z lekkim powrotem do podsłuchiwania modków 4ch, chyba taki mniej znany groove od Strobo

"Bombin"
[#427] Re: Fajny moduł dziś słyszałem

@nogorg, post #426

Dzisiaj coś bardziej monumentalnego z roku 1997.

Whiskas - As In "Cockroach"
[#428] Re: Fajny moduł dziś słyszałem

@nogorg, post #426

Zajebisty kawałek! Nie znałem tego, choć mój katalog dh1:Work/Mods/Strobo liczy sobie całkiem sporo pozycji...

Dzięki za podzielenie się.
[#429] Re: Fajny moduł dziś słyszałem

@nogorg, post #427

Tańczący banan
[#430] Re: Fajny moduł dziś słyszałem

@nogorg, post #429

W takim razie ja podrzucę moduł mojego ostatnio ulubionego twórcy (zerkając na jego stronę i YouTuba) dość mocno rozwiniętego w wielu kierunkach.

LMAN i Something W. Lasers.

Ps MOgę oczywiście być w błędzie, ale jak pierwszy raz usłyszałem ten mod ( nie na Ami tylko gdzieś z netu) to po chwili pomyślałem ze to chyba nie mod tylko wielokanałowy XM czy inny diabeł...

Indzoj!
Bardzo czilujący kawałek ;)

[#431] Re: Fajny moduł dziś słyszałem

@mikecios, post #430

Fajny kawałek. A ja skorzystałem z okazji i uzupełniłem na swojej playliście katalog LMana o kilka modków.

Natomiast dzisiaj słyszałem fajny szatański funk:





Ostatnia aktualizacja: 12.04.2020 22:08:50 przez nogorg
[#432] Re: Fajny moduł dziś słyszałem

@nogorg, post #431

Trafiłem na kawałki Obbe i od wczoraj zbieram szczękę z podłogi. Chłop daje do wiwatu pokazując jak dwudźwiękowymi samplami w rozmiarze chiptune tworzyć rozległe akordy.



Podobne sample użył w kawałku z 2008 roku "unfinished.final9.mod". Tego akurat nie ma na Youtube więc link tu https://amp.dascene.net/detail.php?detail=modules&view=11628

Podobną technikę, aczkolwiek w innym gatunku muzycznym, zastosował też Virgill. Rozmiar nadal chiptunowy ale brzmienie już niekoniecznie:



Podoba mi się to bardzo, bo od paru lat i mnie pałęta się podobna idea po głowie tym że zastanawiałem się czy da się wygenerować tego typu całe akordy, które nadal będą miały rozmiar nadający się do chiptune. Matematycznie względnie łatwo jest wyliczyć odpowiedź natomiast dźwiękowo można dopuścić się pewnych niedokładności i zaokrągleń. Idealnie byłoby móc sobie generować takie loopy dla dowolnego tonu.


Jest jeszcze jeden kawałek Obbego który rozwala system i jest dokładnie tym o czym mówi jego tytuł, ale zostawię go na następny raz, bo robi to trochę inaczej.
[#433] Re: Fajny moduł dziś słyszałem

@nogorg, post #432

Drugi kawałek Obbego rozwala system to: MOD.-_mod.obbfuscated.c

Niestety również nie znalazłem go na Youtube, a szkoda bo to jest moduł z typu tych do słuchania i patrzenia. Poniżej zapodaję więc "preview". Moduł jest modułem i programem w C jednocześnie. Jak spojrzeć od końca to ma rozszerzenie ".c", a od przodu prawilny "mod.". Nie sprawdzałem czy da się to skompilować. Może komuś się będzie chciało. W każdym razie moduł robi swoje, a program swoje - rozpieprza kolejność odgrywania modułu tak jak to pokazane na obrazku poniżej:



<elon Szok rozjechany>



z tego wszystkiego zapomniałem linka
https://amp.dascene.net/downmod.php?index=139376

Ostatnia aktualizacja: 01.05.2020 11:43:07 przez nogorg
[#434] Re: Fajny moduł dziś słyszałem

@nogorg, post #433

A może po prostu cały moduł wkleić?

/*mod.obbfuscated.c #obbe                  A @   @                      = <   */char *msg =       /*  2   */"This C source "  /*     */"code file is a " /*  8   */"Protracker "     /*  @   */"module.\n"       /* (                          B @  @*/"This Protracker "/*       */"module is a "    /*1   1*/"C source code "  /*   ,    */"file which "     /*  
  */"implements a\n"  /* (   */"pattern data "   /* (  
 */"scrambler.";     /* (  	                                                                                                                                                                                                                                                                                                                                                                                                                       Cheers to everyone at        GERP 2015             đ @  đ 	

                                                                                                              M.K. ´›	       
 Ş/        
 Ş+     
  ż Ö[:0ÉS]	Ĺ»    ‘ ţ-Q   â^Ó  
6 đ^Ă Ö  Ö]A¦@  ÖŕG    
          x›   Ŕ xť5 ţ+}˝X       x›    Ŕ xť   xťI   Ŕ x   	  
    
X     Í0 ÖĐG Ö+T    Ŕ¬]@
  ¬}E         É  
 Ö
 ÖT  â-9ST  Ö+@T    Gü]   
  
D  	    üÍT   G@Ŕ : Ö]'¬@  ÖĐG  	    ŞÍ         
4 ŹŔ  ÖĐ7 ®Â.^    
W    
G   Ç  
   
  
              
¬ Ö]D¬p  ÖpG      ÖÍa ţđ7 Ö+ ŹŚ   xť Ö+@]B   GüT  x›     
	       
S         Ö^ÂM0 Öŕ7      ŞÍ$ ţŕ7     	  
        
"   É        ţÍ0 ţđ7 Ö+ ÖT   	S]P   xťB   8        ¬ÍU ÖpG Ö+ ÖT   	S]  Ö+
 ţT   ¬]T Ö+ ţ]  	¬T   ĹË   ÇÍC:ľĂ}km  âf      ÖÍX ÖĐ'      	  
E ţ    X­'       
9    ´«@T   
 üT        É  
 ţ+    })   Ö+ ÖT   	S]T ţ+    
S¶    
}@  âp6  SÍE   8 ÖŔ €» ţT   
c¬T  Ö+ ÖT   	S]E¬	¬T hM1 Öŕ7 ţ/ Ö[SMa âĐGĹ â[hMb âpG . Ö+ ‡-c Ę   ţż ÖT Đ;.]  Ş/       
 Ş+    
  ż Ö[	:0ÉS]@ŕ@/łŕ@G xťS Ö+T   	¬]"  
    
3    
  
5          ¬< ¦M\     
%      	    
8            
@ ŹŔ  ÖĐG      ÖÍ Öđ7       É  
4    
b        Ö+  Ö]W  ST       ŹÍ Öŕ7        Y  
   x› Ö,  xť2  ¬Í&   G ţŔ   	  
Y ÖĐ  ÖŕG x›     
4    x›      É xť` Ö¬TrM` Öp7 ţ+  
 Ş}H  
 Ö+ ţ^Ä   ɬ]Gŕ»      
V      xťR Öđ7  ¬Í   G ţŔ 
 âT :@Ç}]E@
 ţT ¬M2 ÖpY¬ x›   Ç xť     SýR   @	@VüM7 ţ          Ě  
X      ľÍ âđ8  ÖT \; h]P Ö]0:@ÉST   
   SÝ       
   Y   Ęš$    
          ţí       
P¬@      Ö+
 â]1  }T €ü]@@  ÖĐY Ö+SĆ\0Ě ÖÍ2    @ý   Ö+ Ö]5  ST  Ö   ÖMX            
   x›   Ŕ xť% Ö Ö]'h@  Öp7¬S3XMS  x›     
    Ş+ đ^Äü0Ě xť       
R   ¬S=8 Ź@ P  .Ńü;	@M$ ţ      
         ľ»  
:@G ţ-®ÂT     
%   xťb    âĐG    xťa    âpG       x› xťc        
     ¬Ë    ÉÍB: Ö]:@ÉST        Í0 ÖpY  SÍ   8 ÖŔ   
    ÖÍQ ÖĐ'   xť   8     
  
8              ŹÍ    . đT :0™S]        
	      
   Č      SË	   É ÖÍ3   x›   Ŕ xť@ ţ+  
G@  ÖĐ7    
              ĘÍ ĘđG      xť( âp8     ţí9     xťa        SË   É ÖÍF —ś0    
@    ¬» Ö]B¬0ŔST     
C        :  âT :@Ç}]E    
Y      
@ ţ]   	¬T     
%   G        ÖÍ2 âđ8 Ź®Á.^    
@ ´«	 đ^Äü0Ě xť€ ţ](  ¬T     
R   Ě  ¬kh˝9.f ţf        Ě  
!  SÍB   8 ÖŔ  Ö» ÖT   
 ST : ´]4¬@  Öp7    
 Ş@       }Ë   Ç âÍF Ź» Ö]:@ÉST         
6    
)         Ö	 ÖTsí ÖŕG   xť0   É x   SË   É ÖÍ7 x› xťF      : âT :0Ç}]5      
      SÍ   G ÖŔ  x›	     
     
     É  
7       
T       
    G       xťG  ¦»       
X       ›  
	 Ö   íI          ţ-  
    ŹÍ1 Öp7» âT’:@L - ţ/ Ö[SMa âđG â â[hMb âŕG    
c         ţż ÖT Đ;.]        É  
b@ ţ]#@@  ÖđY ţ+  
8
@  ĘpG Ö+  ţT   ¬] Ö+ ţ]Q  	¬T  Ö+
T   	¬]! đś     
0        
C ÖŔ  ţĐ7€»
 ţT   
2¬T        
R    €  ţ]    G¬T  ţ+  
F@  ÖĐ7    x›  
( x   SË   É ÖÍE      ŹÍY ÖpX Ö+T   	¬](¦®Ä  	¦0ŔS˝)      ÖÍG âŕ8 ţ  
Dü0Ŕ â      
      ´« ţT   
P¬T  Ş+ đ^Äü0Ě xť      ÖÍ@ ÖđY Ö+ ţT   	¬]U     Öý	   ÖT ¬M Öŕ7¬]2 Ź@ SP        
H   ¬ Ö]Q¬@  Öp7  SË   É ÖÍF   ¬Í1   G ţŔ   S\ ¦M¬\  â0@T‘:MD€ ţT    G¬]  ¬VüMT ţ     x› Ö,  xť1}hm".f ţf       Í ĘpG Ö/       
5 Ö/  
     
  ÖT ¬M# Öđ7  	    ´Í( Öđ7 ţ  ÖTsüM5 ţŕ7      ´ÍQ ÖĐ7     ¦M'    Ö+T   	¬]      ŹÍ@ ÖĐ7 ´« đ^Äü0Ě xť'   xť1   Ŕ x .	 đT :0™S]H    @ýa   ´«	T   
R¬T     
W            
!       Ö+ ÖT   S]#  }Ë   Ç âÍD Ę« ÖT   
$ST ü»  
€0Ě     Ö]S}@  ţ   Ę«	 ţT   
¬T    xťb    âđG   xťa    âŕG  ˛    
c           
    ţ+  
S@  ţĐ7 Ö
 Ö4 ST :M Ö ÖT  â-TST   
 xťS        
  
         Ęś3    
U      
  
Sý	  
      ŹÍ ÖđY        É  
R ţ»
  
%ü0Ŕ ľ®Ä      ¬M" ,  Ö+ â]  }T  Ö+@]8   GüT   	¬Í   G ţŔ     
C                 xť"        Č  
&      ÖÍ ÖpG   Ö^Â ÖÍ  ÖĐ7    
  	  : â]@@  âp6  	  :@É  
8»
 âT :0Ç}]    :@Ç  
    
P@      Ö]GS@  ÖŕG  
  	  	  
Y:®Ä  €0Ŕ@˝X:  
%€0Ě  » Ö]):0ÉST   ¬3SÝSS.»  
8\0Ŕ ֮Ĭ» Ö]&   ŔST  ţ	 Ö]9¬@  ţp7 Ö+    
V       ţí2    
  
G ŹŔ  ÖĐ'    
       ţ+  SM    Ş®Á    
`     Ź» Ö]5:@ÉST  Ö ÖT   	S]       ÖË  
!       
R    ´«T   
5¬T ¬» ÖT   
0ST      Öý9     Ę« ţT   
S¬T       Öý(   @®ÂT   	  
      xť    ţ  
`ü0Ŕ â      ¬L   
H    
   Ç  
A  
0 â[:0Ç}] ´«  ÖT   
2ST     
P        ¬» ÖT   
8ST     
3       ´« ÖT   S]WĹ Ö]a ţ. âĐGĹ â]b ţ. âpG¬ ÖT’¦@8S]A      ĘÍS ĘĐG       Í ĘŕG  
     Í ÖĐX  SË   É ÖÍ Ź ÖT SM ţ  
š9    
D     ´« ÖT   
ST    .ÍY   É ÖŔ  ´«@T   
AüT        É  
H  
     É  
H x›	      L  
    
    Öp7  
     
F     
üÍB   G@Ŕ ¬ Ö]P   ŔST  ţ+  
@  ÖŕG         xť3 âT :@Ç}]%:»  
`:0Ě    :
 âT :@Ç}]» âT :0Ç}]	  }Ë   Ç âÍ ţ+  
"Ĺ@  âĐ8ü ¬T ¬M8 ţŕ7¬»  ţ]   Ŕ¬T      Öý(         ŹÍ` Öŕ7 ţ+  
 Ş}   
  SË   É ÖÍC Ęś  	  
0     ‡« â]  }T   
P  
@     
c   xť      Ö» ÖT   
ST     
	:@É    
     É  
    
A ´Ŕ  Öđ7    
          .Í9   É ÖŔ  Ö  Ö]   ŔST ¬ Ö]¬p  ÖđG   xť`   Ŕ x  Ö+ â]9  }T      ţíQ   Ö+
T   	Ĺ]# ‡š    
    @» ţT   
F¬T   SÍ$   G ÖŔ    xť@   Ŕ x     
C            	  
D    :
  :0Ě  
  
  
5 ‡Ŕ  ĘđG     ÖýW    €» ţT   
¬T     
6              É  
         xťI    
	:@É   Ö+	]"  ¬T     x›  
b âĐG    x›  
a âpG . Ö+ ‡-c Ę      
 ÖÝ!  
 Ö+ T   	¬]@ Ź  
@@  âp8 ʮà ţ[ü0Ě.]H    
          }Ë   Ç âÍ)    
 ŞŔ  ÖđG  
T ”M ĘpG Ź â]6@  âp6      Sýb ÖđG       Ë  
Y Ö  :M  @» ţT   
6¬T   ¬Ë   Ç ţÍ x›      
X   ](}@  âŕ8  
  
G  	   ţ+  
B¬@  Öp7
š9    
      
  M  ¬k
hf\˝b ţf Ö Ö]Eŕ  ÖĐG    
Y   Y  
      ŹÍ Öđ7 x›     
4   .  
V\0ŔS      
Q              ŞÍ& ÖĐG        ›  
 âT :@Ç}]V   x›   Ŕ xť     Sý4       
        Ĺ®Ä  :0Ŕ˝       Ě  
)   xť   É       
H   Ç  
0      ÖýQ ÖpG          
H x›
  @MV ,  Ö Ö]Uh@  Öŕ7    
FX@G     x›   Ŕ xť    
         ‡š4    
7          Öý ÖĐG  üÍ6   G@Ŕ  Ö]:@ÉST        É  
X ´«@T    Ŕü]S¬
 Ö]bX@  ÖđG ţ+  
' Şp  ÖĐG   x›   Ŕ xť    
D ´Ŕ  ÖĐ7 Ö» ÖT :­QST     x›   Ŕ xťW  SË   É ÖÍ:®Ä  €0Ŕ@˝        
F     Ö+T    Ŕ¬]B    
        x› Ö]b ţ. âŕGĹ â]a ţ. âŕG       x› xťc    
	           
7         x›     
(    —š    
         ÖÝb ÖŕG Ę«	 ÖT   
bST  ţ+ đ]S”@  ĘŕG¬¬]h@  Öŕ7 â+  
:0Ŕ  ţ+    }7   Ö+@T    Gü]( Ö+
]@  ¬T @üVüMG ţ      
A   G   ¬ Ö[¦@ČS] Ö+
T    §@]Y  
     Ě  

ś9  
  
P           É  
5     SÝc ÖĐG@ ţ](  	¬T  Ź» âT :@Ç}]E ´«
 ţT   ¬]@

]”@  ĘŕG Ö+]  ĹT €+::@É  
H     ‘  
  ‘@ ţ]R€0Ŕ¬T  Ö» ÖT   
UST ¬ Ö]Y¬@  Öp7  
  
#   Ç       xť2   Ŕ x  Ź]5@  âđ8¬ Ö]G¬@  ÖĐ7    
9   Ç      ¬Ë
   Ç ţÍ Ö+¬Í4¦0Ě ţĆ  
]
@  ÖĐX     
          x›      É xť    
A}@  âĐ8@ ţT   	¬]1    x›   Ŕ xť3 Ö¬]D@  Öp7 Ö ÖTs¬M' Öŕ7     
   G      
5  	       ÖÝD   Ö
 Ö]ŕ  ÖĐG ´«  
4¦0Ě    ¬» ÖT’ xť2STs:¬]S@  ÖpG    
   Ç  
       
b ,  ´«  
\0Ě      ¬Í    G ţŔ     
 ĘŔ  ĘđG    x›
   Ŕ xť     
:@É     xť   8   »	 Ö]!:0ÉST  x› Ö]b ţ. âđGĹ â]a ţ. âđG    
c          - ţ.Ó        
              
     Ź» Ö]D:@ÉST  x›      É xť@ ţ+  
¬@  ÖĐGŕľĂ}k@m& đf    x›	   Ŕ xťB    
P   Č ľ¬  
 â^Ó  
	 đ^Ă ´« ÖT   
ST     
 ÖŔ  ÖĐX€» ţT   
Q¬T  Ö Ö]¦@8ST    xť"   É x  x›  
   G  
 x›     É  
     ¬M4   : Ö]}@  ţ        ÖÍC Öp7¬ ÖT    8S]) Ö  
í  
 ´]'¬@  Öđ7  ¬^Â ÖÍ3 ÖĐG@
]@@  ÖŕX       
     ´«  
 ¦0Ě     Ö   :M     ¬Í   G ţŔ    xť3   É    x›     
#        
        € ţ]  ¬T   SSSݬS      xť" Öp7    
#   G    
     
A      xť         Ö^Â ÖÍ$ ÖŕG x›  
0   Ç     ´«@T    Ŕü]' x›
     
C     ¬Í4   G ţŔ   
  
W         Ę«
T   
¬T     
:@Ç  
R âT :@Ç}]" x›  
T   Ç  
 €» ţT   
U¬T   
  
)   É  
 Ö  :M2         
`    Ö+
 ÖT ¦@8S]B          
S       
$   
ś(    
!     x›  xť6  › x ü .Ń:@Ç ţ-     ŞMV   x› xťA   É x  x›      L  
P ţ+  
bü@  ţp7¬´‘hk.o ţm&  ˛  	  
c        
      ¦®Ä  ¦0ŔS˝ ľ â]C}@  ţ     x›   Ŕ xťY
ź°    
           
@    @»
 ţT   
8¬T @ ţT   	¬]'     Sý8 ÖĐG  üÍ   G@Ŕ ¬» Ö]7:0ĚST     @ý9   ´«  
4\0Ě            8  
4}»      -` x›     
G          ţÍ! ţĐ7 Ęś    
    ¬ ÖT    8S]   â^Ó đ^Ă  
  Ö   ÖM%    
 xť   É     SÍ    8 ÖŔ        
C      
¬\  ÖÝP        
              ţí&         xť) âĐ8 ţ+  
¬@  Öp7         xť(
ś8    
P          ÖÍ7 ÖĐ7 Ö¬^Âí% ÖŕG Ö+T   	Ĺ]% Ö+@T    Ŕü]¬» Ö]7¬0ŔST  x›     
H     
  @ý6        
'   É        ţÍ ţĐ7    xťT   É          x› xť Ö» Ö]I   ŔST  Ęš  
  
I    ¦ľĂSk
mU âf: Ö[:0ÉS]9 Ö¬]@  ÖĐ7 ţ+  
S@  ÖĐ7    
'            
I     	   ţí   Ö
   :M    x›     
E    Ö+SĆ\0Ě ÖÍE    
                É  
H¬»	 ÖT’¦@8S]    
$   Ç      
b   Ç   Ö ÖTsíV ÖđG Ö	 Ö]   ŔST € ţ]H€@G¬T  x›     
`   ¬
 ÖT’¦@8S]I Ö+	    
E  
®Ă ţ^Ä  ¬]!     ¬M9       
$      s Ö
   ÖM%   ÖST í1¬T ¬khf.fü˝ Ö+
 ÖT ¦@8S]!       ţ-  ÖT \;h]#  	     
A    Ö+ ÖT   	S]9Ĺ .Ń   ţ-4 ţ+  r Ş}c ÖĐG ţ+    }G        ŹÍ ĘđG       
B         xťR   Ö+ â]C  }T        É  
(¬ ţ]H   Ŕ¬T   	  
a     ®Â  
  
    ¬}[¬}3ĹP \  
a ţ@  ÖđY     ŞM'   x›  
@   G  
`      ŞÍ ÖĐG  
    Öý ÖĐG    
X           
       }Ë   Ç âÍ      ÍD ÖĐY    
          
    ÖÝ    Ź®ĂP    
D ţ+  
  Şp  ÖŕG     ÖÝ      
8           xť"   Ŕ x   	SÍ   8 ÖŔ € ţ]I€@G¬T   
  
A         
@ ľŔ  ÖĐ' ´«T    Ŕ¬]U    @Ý6   Ę«
T   
¬T ]}@  âŕ8 ţ	¬TrSM ţp7  SÍ   8 ÖŔ  đś   
  
T        
V       ¬¬T SM3 ÖĐG Ź  
W:@É     x›
   Ŕ xť  Ź» Ö]a:@ÉST  Ź]7¬@  ÖĐ'@
] @@  ĘĐG    
:@Y  
9    
E   É  
    
0    
2  
  
X           Í ÖĐG    
#      Ö  
í$  
 Ö+ ţT   	¬]       
E    ţ/   Ş} ÖŕG€» ţ]V  ¬T       ÖÍ7 ÖĐX¬¬]h@  Öp7. x›
ú@G xť       ŞÍ ÖĐG   xťP   É     	¬ÍS   8Ŕ ]a¬@  Öŕ'  
     
"        ¬   Ç xť¬» ÖT   
IST  Ö   íR    Ö   íY    x› xť!   Ç          
@      
]@@  ĘđG  ¬Í   G ţŔ  x› xť      
®Â[
  	Ĺ]€ ţT €@G¬] Ęš9    
F          ÖÝ      xť"   Ŕ x       ÖÍ ÖĐ7       É  
X    
 ŹŔ  Öp7
®Â[  	Ĺ] ´«T    Ŕ¬]B  	  
  Ş@            É  
       x›
 xť     
0   Č        
4        Ş+ ţ]"ü0Ě.T ¬¬T ¬} ÖĐG      xť   @®Â ţT     
 x›     
U   «	  
      Ś đš(  
  
R     ţ+
    Ş}4     
  ¬   Ç xť` Ö]:@ÉST     
7    Öđ7    
C   Ç  
@  
   @ý     Ö+ ÖT   	S]Y  ¬ÍA   G ţŔ       	  
Q       ţ-U Ö+¬Í¦0Ě ţĆ     ţíF       
3            
	            É  
B x›      Ç xť€» ţT   
(¬T @¬VXM` ţ   Ö ÖTsí	 ÖđG ´« ÖT   
!ST    ¬Í   G ţŔ  ţ+
  
0X@GXdr  	   ¦MQ     
    
      
    ÖÍU ÖĐX    
         
&             SÝP ÖĐG ´« ţT   
6¬T         Ç xť1
®Ă ţ^Ä  ¬]#      ÖýS   ţ+  ţ]VĹ@  âp6  	    ÖÍF ÖĐ7 x›
 xť`   Ç          ÍW ÖĐX€ ţ]F   G¬T   }Ë   Ç âÍ$+  
8€0Ŕ@     
Y   Ç            Ě  
1:»
  
Q:0Ě     ´« ţT   ¬]8¬» đT :0™S]W Ö+
 ÖT ¦@8S]c Ö]):@ÉST  Ę«@T   
AüT   ¬Í   G ţŔ  ţ+
    }7      
       Ź ]G}@  ÖĐ' xś    
      
 xťD   Ŕ x  Ö+ ÖT   	S] ţ+  SM  ¬ ţ]&   Ŕ¬T  x›
     
3     	   ÖÝP    ¬Í9   G ţŔ ¬]WĹ@ }P  Ö^ÂM8 ÖŕG  SÍG   8 ÖŔ       	  
6    
T                
$    ¬» ÖT   
RST     
1            
B ´Ŕ  ÖĐ7+  
 €0Ŕ@  Ö Ö]Y¦@8ST        Č  
 ţ+   
#¬@  ÖĐ7       x› xť2    x› Ö,  xť       ÍA âđ6      	  
3: Ö[:0ÉS]¬» Ö]1   ŔST   
  
$ ‡Ŕ  ÖpX      ľÍQ Öp7      ŹÍV Öŕ7      ‡Í0 Öŕ'  
¬^Ń ŞÍH ţp7 Ö Ö]7ŕ  ÖŕG Ö» Ö]2   ŔST :  
T€0Ě   x›     
F    Ö+ ÖT   S] Ö   í%    ţ+ đ]X¬@  ÖpX    
            
X                Ç xťA¬  S¬}  S    x›   Ŕ xťG x›     
X         ÖÍ) ÖĐ7       Í6 ÖŕY¬Ĺ=1¬p }P   
    Öý6 ÖĐG  ĹË   ÇÍC  	    ÖÍG ÖĐ7 ţ»  
Tü0Ŕ ľ®Ä    
EX@G       
I   G       xťW   8   .»   
&\0Ŕ Ö®Ä Ö+ ţ^Ä   ɬ]3  
^Ă
M ÖĐX    
#          
I   É  
 Ö+@T    Ŕü]6 ţ+  
)¬@  Öp7   	:@Ç  
%  
  
0   G    Ö Ö]Fh@  ÖĐ7       
!   @» ţT   
Y¬T   
  
V ľŔ  ÖĐ'  
^Ă
MV ĘđG x›  XM ,        É  
       
          
      xťW       Ę«	@T   
6üT S+ ţÍ8¦0ŔS €»	 ţT   
I¬T     
   G    }Ë   Ç âÍ$ ´« ÖT   S]  
  
X   Y         É  
A
š4    
C      ü=Iü@  ţ   ţ+
  
C@  ÖĐ' Ęš    
     Ö+ ÖT ¦@8S]3 Ęś    
#     ţ+  

@  ÖĐX     ÖÝ3     Ö» ÖT :­8ST @» ţ]&€0Ŕ¬T   	    xťV    Ź» âT :@Ç}]1       
&             
`  
P  
@    
c    MH          Ě  
       
U  @ ţ]€0Ŕ¬T 
š9    
S    S+ ţÍI¦0ŔS     @Ý5     Ö+ ÖT ¦@8S]   x›   Ŕ xť@»
 ţ]9€0Ŕ¬T   
    ´Í( ÖĐ7    
V   X„E  ¬^Ń ŹÍ# Öp7  
     É  
S Ö¬]B@  Öđ7@ü3 XM1@S   	      
W¬ Ö]0   ŔST        
        
   Ç     x›   Ŕ xťU    @ÝT   ţ+S='S@ P    x›	   Ŕ xť`€ ţ]¬@  ÖŕY     SýP ÖĐG  
 xť"   Ŕ x     
C ÖĐ  ÖĐG    x›  
V x   
   ÍR ÖĐG ţ ¬])S@  ţđ7ü»   
€0Ě    (ľĂ”k@mT
f: âT :0Ç}] Ö» ÖT   
ST ¬  S¬}8  S    
$}@  âĐ6  
 xťF   Ŕ x     x›   Ŕ xť%     @ý      	  
T     ‡« â]  }T  Ö ÖTs¬M` Öŕ7 Ö+T   	¬]V Ö+]  ĹT     
Y   Ě      
F   G   Ş+ ţ]Tü0Ě.T     
    É   Ö+T    §@]9 ţ+]BS@ SP     
H              	  
 đš    
$        
6SŔ  ÖĐG  	     
           
R    
X¬L    ¬ Ö]I¬0ŔST       Öý(           
P Ö+ ÖT ¦@8S]1  	     É  
U  	¬^Â ÖÝ2 ÖĐG       	  
7  T   Ĺ]9  SÍ`   8 ÖŔ ]¬@  Öp'    
V             SÝW    Ź  hMG Öđ7     xť@  Z    
	           
&       Ö¬]¬@  ÖŕG  T   Ĺ]"  
    Í$ ÖđY@
ü] ţ@  ÖŕY ţ+  r:M# ÖĐG   SÍD   G ÖŔ € ţT €@G¬]c@¬S XMXüS  ´ś      
    
 ŹŔ  Öŕ' x›     
a   
ś    
      
 x›   Ç xť       
@   @®Á
^Â    
     xť7    
  
        ¬»
 Ö]@:0ĚST  ţ+    Ş}%     ¬ÍE   8Ŕ    Ö^ ÖÍ# Öŕ7     SÝH ÖpG       
    Ö
 Ö]h@  ÖĐ7    
	             ľÍ4 ţp7 ţ+  
}@  ÖŕY ţ+ â]T}@  âŕ6      xť     
 x›   Ç xťU Ź]¬@  Öŕ'      ‡Í$ ÖŕX¬ Ö]!  ST   }Ë   Ç âÍ)        
	¬ x›   Ç xť    
& ´Ŕ  ÖĐ7 Ź]D@  âĐ8    
 ÖÝ   
  	     
     SË   É ÖÍ%   xť3 âŔ  Öp7      Öý$     
]
@  ĘŕG(»
      
 ţ+  
T:@  ÖĐG¬¬T hM Öŕ7  
T ¬MA ÖŕX  	   @Ý&     
]@@  ÖĐX    @Ý        
 ľŔ  ÖđY    
               
   @
]¬@  ÖpX€» ţ]c  ¬T  đś   	  
          ŹÍQ ÖđG â»
  
0    
& Ö¬4 í2ST   
0 â[:0Ç}]E Ę« ÖT   
QST   SË   É ÖÍG¬ Ö] ¬0ŔST  Ę« ÖT   
2ST .   
'\0ŔS      :@É  
¬ Ö]:0ĚST   
  
0    
c  
  
   Ç      
     É  
&@  ¬}!   Ö   ÖM5  T ¬M ÖđG ţ+  
7@  Öŕ7      ´Í ÖĐ7      
     —ś0    
!        
Sý5  
  }Ë   Ç âÍI  @Í5   ČŔ     x› Ö,  xť@	 ľ]'Ĺ@  âĐ8     ÖÝU  ¬ Ö]1X@  ÖpG   xťI       
   Öý   Ö ¬^¦M ÖŕG       É  
Y x›     
    Ö ÖTs¬M) ÖŕG Ö¬]!@  ÖĐ7    
        €	 ţT    G¬]	 ţ+  
 ţ@  ÖpY¬ Ö]Y¬@  Öp7 Ö+ ÖT   	S]       Ç  
W      ľÍ# âĐ8        É  
      ÖÍ ÖĐ7      ÖÍ ÖŕG   x›
   Ŕ xť'Ĺ®Ä  :0Ŕ˝0 đś)    
1      ¬Ë   ÉÍB       
B           
c        ţí%        ÖÍ  Öŕ7      
   ¬ Ö]F  ST  ţ+
  
4@  ÖĐ'        
Q         ÖÍ3 ÖĐ7€»
 ţT   
a¬T ¬» ÖT’ xťSSTs x›	 xť#  › x :»      
S
¬]'@  ÖpG   x›    Ŕ xťC  
  
   G        ÖÍ ÖĐY      ‡Í) Öp' Ö^ÂM ÖĐ7 ţ+ ¬:@Y:˝: Ö]Q:@ÉST  â+
  
):0Ŕ        É  
R  
   xť    }Ë   Ç âÍ     
"  	         É  
R  
    ‡ÍW ĘĐG      ľÍ7 âĐ6         xťW¬ Ö]:0ĚST       
3         
D   ¬»
 đT :0™S]a    
}@  âĐ8    
SX@G  ü Ö]5ü@  ţp7      ÖýD      x›	   Ŕ xť4    
¬@      x›      É xť0 Ź]}@  Öp'     	    xť5     @ÝA    x›     
         ÖÍ ÖĐG¬S XMESS     
"@      Ö
¬TrM ÖĐ7 đš)  	  
C     x›     
P             
	 ţ+h]@  Öp7       É  
U  ¬^Ń ŹÍ6 Öp7   â^Ó đ^Ă  
      SÝ! ÖpG Ö ÖT   	S]       
&   ¬» ţ]I   Ŕ¬T     
           x›
   Ŕ xť Ö
¬](ŕ  ÖŕG x›     
6    ţ+ ľ\@M âp8    
2       x›
 xťU   É x     
               Sý( ÖđG  	  
%         Ź  
}@     :  :0Ě  
 ţ+  €˝)     xť   É    ʮà ţ[ü0Ě.]0  SÍ   G ÖŔ   ˙ŢĐňęŰâßÝÜÚŘÖÔÓŃĐÎËÉÇĹÂż˝»şşşşşşşş»Ľ˝˝˝żŔÂĂĹÇÉËÎĐŃĐÁ´ąľĂđ)1,6GIHPNQMOUSVY\_bcefhijkkjhYB;)íÇşŮŘÎÚŐŃÓŇŇń&**&říĺčí    ĄöĐÎçęęŢ4YUEÄ—Gđ˙_hý$*
 űőčĺÝŰŃĐŔ„߀ŻŔ€€° €ˆ¦ßć›Çßß»ŰßĂ í0ýŘ/,:÷|?mŕg`7hH+@DçP ýÚúáÝŔ˛·Í¨««˛ƒ›˘ŚŚ•š„€·Ś€ËŔ€€˙đ€Ď ˘“öµě˛Ë˙(Ŕ×`đ#C÷?V SUh-{PHK8xmPmHw~0oD ?+ĺ((čŐůÍň°˛˛ Łˆž€§€€§€€‡ €€Ô€€ €űꀁ7°€Ŕ °čč3ż’˙Ľß ž÷P Ő+Ě$;7\
?x@U(7}Pmh1ăW `.H_gD ,(˙Üüąň źĐ€µ€Ňް€˝Đ€ż ŻŰ€€ÓȊ舳óĚ€ąü ď Ď ¬÷Ôś˙X°çÜ+ çGJE+h?`_ed`=@ýděJ5D;V Čo ˙açÓ(8Ř7nÔ˙&ŕ˙í; ä÷ đ˛ĚĺşŘ€&€żÖ€źä€€¶„€č€§®€ź€żŕ€óü÷Đ/(70P>k+}lS_H{|~U`/Ov0×~*4$˙0ŰŘ@čź- Źđďŕ€ď €É€´Żč€× ˆ€đ€‡Ě˜•€€·Ř™ËÄŹ €ł⨟ ŘĐ» ż(§3аďkŕ3ç] ˙"tŘKHGD*(<+?oÉxÍPíč ?Đß,ďçŘŻ €ôČŕ€?Ŕ€ä߸—ا˝ŔčĆÝś‡ ŹËĐÉäćčŻěű
´Ő ŕ@€OĐď÷»@¦GÚ˙
˙ů2ç-ń#Ň/	ß[Đ	ßP‹4üĘ? Ű)ß űýBš˙HŔ ĎMŕĂ÷P˜ě÷čüŰýůŕŇç.°ďôŮüŘ×÷Ř ĹÍĎ=ë÷ű(ęň ˙4Ç Ŕý§Ç	üĺđ˙ŰďNë?ä÷T2ďo<űcp ?H'!MßW÷
ßęřŮĺř×ëż÷ŻŇä‘ňđ·ŔúŇŻŕ·Ĺě©ŕÜÖ˙Őüź÷˜ĐďÄ$¶ę ű ç(×ëBŇWč7@ďU+@/?8$k˙H((C?$ Pč ˙ čýň·ę÷¨÷ĐßŮĄńĄÇ˜Č­ŘąŔżÂ°ÇĐĂÚÜĎŐÎ÷áČříđ˙2â/ç˙; M'8˙J?2b'@2O :
 
/ě˙đŕîŕčŰô×ŕĎĚÚ˛×ŘŔ߰ߤßôśŰĐďÔÝľýđ Ńţă÷ŕ˙ íď3č( ˙óDßń   ÷Ůú,Ěáě÷!č˙<Ý řř
űü÷ÔěÝíěôíÝĂú Őŕěććóčńëőćóí ë	ř˙ä	 ä2˙˙ćÓřůú
ń   ĺ+čý ďÚ ď˙ęđ˙˙úý ˙ţô$ű!ů 
2
ů'ů"÷˙ů ôěűěĺüňâűŕîŢüâŰůćâăí÷ŮîđçäűŢČÚüŕçôí Ýńřďřđ  č&űčýćă í
î˙ôîäßýőů	
ú
ř ˙
 ˙˙üóýő˙ü÷úüĺóĺěńüýĺ˙óđőöőü˙ ő
íúčřőţő˙üńôüôůúö˙ßëěűţôýî ü
öű 
˙
ţú öřôůôçâůčňđăđűęăóŕďđíňâńúá÷řű ý
öů"		  
ü ţřüţý í őű đćýöí ÷ýőňűĺúňřóüűřřőőí	řě	ů öřňţ
 ű 


ýű˙ţ	˙	˙÷úńěýńčűýůňúőřđ÷óűč˙óđî čűí÷űřěňţőüúűđ  Čľ¸˝Î»kUjVĘŃ;  ȸλkUž¸˝VĘŃ  j-[D[JSH`OXY\w@+<öőĐžąČÄÚ  0))"'!-%)*,9ű

űčĎÜăâí  SdPMcUC^i-<{|``||t|jYrfHmo*QX ßŰćßԶެˇ—’‘‘“„‰˜„€“ƒś´‰ƒ•±ń΀ĽŻ˘čŘ×ç   $*06;AFKPUY]beiloruwy{|}~~~~}|{ywurolieb]YUPKFA;60*$ úôíçáŰŐĎÉÄľą´ŻŞ¦˘ťš–“ŤŠˆ†„ƒ‚€‚ƒ„†ˆŠŤ“–šť˘¦ŞŻ´ąľÄÉĎŐŰáçíôú    «<Jţ{™ęÇ}ŃóňŚç%śÎţüm!7(˛”3łä
EËź¨ŕź)´ďW\_†łŤ9‚‰}q©ÜgĐ"F«ńéž0o¶îůu.Ą”Yi€Mč…žY@X×űŽ<š
EąF_ÎâĆ8ÂŤ$µVK=ÍŹY„ŚźĚ$<,kÎ-öŞÚdĂ7ý©·ŽäÓŠ›ů1~Î-Mř±îÚĐ2°Ăs
š$fáŢŽˆ],G•E_üw7ćf{F}Öˇűm8@]m˝xÓ	ev'
ˇgq˛çŁŔ»9šŽ•Sć둊Z¶Ů×R?Ň´Ç]	žOÜL…S謥6˘D„$€J5C?xŘ“–űŮyĽÓ
Ţĺ\ŹÇ‘Ô,Rŕ·op›Řť`ţD]ďGÖ&q˙šj}âlq*Rë­Ę5.ĂýY÷*ÚDĘGۧgz‚“±Ľ`íUŰŤf'y±x§¶Ź˜ű DnĄ^ˆ&®(V čfíîDw’`Ř{`´iak»»Ě˘DŮţ‘tF:~YŚ!ńÇčđFó¶{ôŃ›í›-t=Ď‹o§ŔQŹMínˇ~ÄßGÚ NŮŻ‚űpv|\ŕăĽřś‡/‘ZÔŕzÖ•é|Á_Ó7\o{ÝKt“ł¸ÄŤ	úZ
š	Ż•Ű%Yt|olěĘ,1Ćľ›\Íş9qވśs8ÇÄxđMűŇwYSÁ9<÷ď‰ęs+Ň!)îŮVČ$šaŽşŕč=ë§‹ŢK1Ô9ęÝ#ýľk˛˝ŇÔŽ5ˡ)BwÍ2ĄÓ«z4ľśf˛äîż ĹýT©ÖPě°ß,׹Ç»Jô’D†ć”ČŻěKIŔ®–—O—“°µ›·:š˛Üđşş+qtT±‹Ý‹•Ę:…ş$”ÜDűo{L€8éz¶¨DÎűŻĆƒZ]lů}Äćmţ—በ»¨™"ľěŘîŰy%~™>gĐń„şë€ĹÖ)ć?‚8%¦81Žđ§Kul)HÖÝčŰá&d´lŁLyŢöţň\šÖĘ-x5vÔ„Ş1Ö˘UЉ@ŢŤ7<íUQ©ůĆUFcP<ÖÜUÁşĆS')^B3=ęGüw€'t^p]ď/4Ën0¦w©ÔâŢ”ůů\ˆZ©ÎÇH„]ĺó9˘bĎbmâÖ”‰ď‘^%®a=« ËĘ×ęĽ˜ #-™A^ß6BX‚ƒĂ¸G›‹5Ł?ŘXŮč@†2páĄ%Ś,ˇôź)¸ÔĹ,4˙ÇV1ďËŚČ`Í.vśbd_1xň–şg™tŔÂuĽ^űL—~¦5@±†śţ!Ą4rl°~C_đŪϱ™ŞkJÍO ¸rÇ­–ô©ÄÄ:ĺˆ:mGřź÷IyňăŇ{qźF[Ę…kifÜːxđNΓš-@ˆn‹g••®ăđľ¶‚÷0ŞŁˆd‚¸p»÷?S°‰$4lă¸Ă(
pjGTb/ůĆ뜑ԂfôůTşŞwµ6Î:pt‹ĽčĽ{Ó-Xl#.ű‘slƒm±t‰%"Ľ—‡­âżN>Ú–,xn÷lLa‡jOgĹvŚ3{–Ľ˝27€¶	Ođ L'‘É'Oç GCî6#žăߩj§b}öÖň‘çĎ=»Ś9˘
b_X˘ąĎ=s#*:6ľt%Ae7}ÉÚŁ´aßzSĎSr1ƒ~­˘(·ëîŰŹG	1g݉N vĚmÓÎ.>UĚÁ=®ŚkÜDőTÜ'3÷vwęŃFÚ3Ňu“˘?i'†%1\›>ŹgE†>ॽŕdwňzZćĺ‚ű*‰µgŘ8ŕÂŕ «܁qÇE)׏&nݬí«Mbˆű×'Řp'ĄkŰĺ5ké_çs[»u!6Ç(ŐĹýŽ ¤߁ŲF»ŔĹÄrĚÔȶ˘aÓÓ šw-¸&eýŽůßMŁĐ:Mo˝D8?j·š%L
*²]Ú_±ě ÍÔQü€}d^)uů7ĚN¶ä“îŔăwŐŞwŤńJTăDÖ(
„ťGhë)BŽęî
™+eŇ“UŮ#śM¬Â)ŤaňśOĐW$ç1vöÄ2©ăˇ¤ČóI;AŢÁ@äűÔFŐ…öŤ=Yj¤5§€&"{EDîUĐ@ĽNŞşľ ýF#…ĘvČfI·gůąŠW˘#¨{nß)ÄţXţâ;›˝żJ¶;OľőFU6áÉy‹Yf«’ϐ˘	˝WsPk•·ÔŽBwŢÚo1;w!ś™Ý°ý}ő,Ú"•‡ČŤd•*ܧŮz Ďö  ˘35WѴ܉(Ť]@&LY·žv®˘Žęp{ČŰ
đB˛jęĐĎŤňÍĽÇMĹG×ÔěHPL˛És[éÂđ+2,–ɦ
4rwč¸ĺGµx Ĺ+s(Ľó·ś×~óŚ DŚŮ“íIîî÷ÂÁ»†ˆý <ŰNfĎ/p–,΀Ňň•˛eđ8M^`ĘM÷äşÉBuƲŢ©‚űĘ=h±/Y­íŘ«]âć´úŻ,ł»F+wvzż5]eäŃEbŇ˙rsŻnűAŰŁz˘Ô”w–ˆ•ü[¦~öęĹŐĄDyŹmbýä­çꉈ˛â˛tń”c“MmwĐŘmľ˛Óö0-?˜‰ţ!´Ý>Š%,ëȱK[6$lž
X¬\Fťëµ¸z|=UByTÔˇl8×ĐóŤU[»ń菩&Ř$MKÔÖcA‰O…"ľϫfÄ‹zŕ°“×Ď}ꯨ@âĎ}%jB--mM©ëŐv))‹öďÁ0Ń—kpB¶y6/č’|SS:fŤůG'?űVŔ‘#ŕ*f©Ô*mµ2qdZ‰eƒ5Ťöí%«Î'­[h˜ŕ\J—‹s„!ăE¤k«×Ŕě‚z}“§z-řm,ţřüx@đÇd_ lҡ|»šâpa hţSĄ„żü´¨Sć]–-´ĄuĘ1Y4»řÜ–Đ	ý‡âHƒńCSÚd!ĆäćEhT<|V7FĹ{­S+5sHśéđܲKt©¬_ZUęŐV|-&>&*Üý* ÂW/ßB—šşÚR\ýMą×H˝˙SPÉÔŐ‡đꊡÔË‚ň;6zMy07 fŻEXjôa´:xű<:	cJΰ*wŕ˝běÝJ€„a٢'c¤ç"2áÜÎdÉŔ÷ť'I¶j/JžgKˆ`}˘]@Ül;·ůîőÂz/dm–‹?Ý­—$ŻęâŚlĐoĘđ9¶¨ĺÁeÇŻő…JX*Ňěş)Î+°8˛·Ă|˝˘éÁ‘Űuă5xřvé Qư™ŽŘÎF`ţń˝ßBZftF’mÜĆ{@d
 źé:?ú•,hJFÝ=€öÉújËÍcŇ}L’‘ňŇEĽ˜ˆĹŹŮůż\˘ă©<>ô›ČXl_
 a¶,RsŃx3‚lXÖă“ë5śçd5ÓU ;±ř!!ű˙ĆX÷™©
2Úcx“lŽŃ î	fä_>‰ć~ůŚę-@ČRđ-‚śöa WŇűK@íu¬¤BµBßÓ˙¨ţL˜#X÷+´ő^ĽÖJ«!2>umMźÇyĄ›µ‘˰ÖŘ‹eo'K§Ę}őÖą_˜ž˘żôxOFňށ|¦úéŇ@őp/7äÓ3ŠVt‘¶öx¬C›Ç”Á]đDˇÍ§߯SíŁS2ŢN±JżELX€ĂćËŃ7#Mőa%ˇ\nçY¸ˇsĚG§Öáą%RÁtöXxţ7AÂ%1ţʬů\ŇíÜ7Işg\ŐőbÝ} ĺĐoŚŘ(l4eú4›„‘ŽóŁçîü҈´•ă$‰vĽ–9S÷xŽÖ)ƒ{^ď­zĽü$e,z˝i­ĚxBvíË˝ř˛6yPŞţ‡hžŠ6{{ŹVÓŕ3ŞÖ ¶	™exµéHąź‡ŰUĹ̆knâ;N¦Şrěĺƒ3´;léŰĹĎ÷ľ}<Z­cŻ2N
źaBŕ˙uG“GSrőŚŞŃf>]OVđÎO±Ó	gďÓ±ßÚq«ç_Śś“ÝĂąIÖ†Wą}c1őń3źm#3ö–č±đŚâHĄÍ†	戔E˝ĐPé˙©ÓâĂĂ˜xBËĆ‘őÎíQژ/ťäJőٵvtŘOˇ/gP‹~Ş
E/ü=k‰g 6­
Ζ›SnüŞ'_:ÝŠsŻĂŃârű-…Ę
I‰‰ÝtĄ#˲„ú+#Áö×A¶DĂçĄ  ĐęâÝÚÖÓĐËǽşşşş»˝˝ŔĂÇËĐĐ´ľđ16IPQOSY_cfikjY;ÇŮÎŐÓŇ&*í  RTEIIPURQNNUWUYceB%)ř

뻟ÄöÜ  SdPMcUC^i-<{|``||t|jYrfHmo*QX ßŰćßԶެˇ—’‘‘“„‰˜„€“ƒś´‰ƒ•±ń΀ĽŻ˘čŘ×ç  SdPMcUC^i-<{|``||t|jYrfHmo*QX ßŰćßԶެˇ—’‘‘“„‰˜„€“ƒś´‰ƒ•±ń΀ĽŻ˘čŘ×ç  SdPMcUC^i-<{|``||t|jYrfHmo*QX ßŰćßԶެˇ—’‘‘“„‰˜„€“ƒś´‰ƒ•±ń΀ĽŻ˘čŘ×ç  */
/* This is mod.obbfuscated.c. Compile with a C99 compiler. */

#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#ifdef DEBUG
#define dprintf printf("%s():%d  ", __func__, __LINE__); printf
#else
#define dprintf if(0) printf
#endif

static const uint8_t CMD_JUMP = 0x7;
static const long O_MK = 1080;
static const long O_SONGLEN = 950;
static const long O_SONGPOS = 952;
static const long O_PATTERNDATA = 1084;
static const int POSLEN = 128;
static const int LLEN = 4*4;
static const int PLEN = 0x40*4*4;

/* Module state */
static struct {
  /* Each source line has a "next" line where the linear succession is copied. */
  int *nextline;
  /* Allocation state */
  int *linepool;
  /* Source pattern data, destination pattern data */
  uint8_t *srcp, *dstp;
  uint8_t songlen; /* 1..64 (128) (number of positions) */
  uint8_t hipattern; /* 0..63 */
} p = {NULL, NULL, NULL, NULL, 0, 0};

/* Source file, destination file */
FILE *sf = NULL, *df = NULL;

void init(void)
{
  fseek(sf, O_SONGLEN, SEEK_SET);
  p.songlen = fgetc(sf);
  /* Truncate because PT supports only 64 patterns. */
  p.songlen = 64 < p.songlen ? 64 : p.songlen;
  p.srcp = malloc(p.songlen*PLEN);
  p.dstp = malloc(p.songlen*PLEN);
  /* Make a linear copy of file pattern data to p.srcp */
  for (int i = 0; i < p.songlen; i++) {
    fseek(sf, O_SONGPOS+i, SEEK_SET);
    int j = fgetc(sf);
    fseek(sf, O_PATTERNDATA+j*PLEN, SEEK_SET);
    fread(p.srcp+i*PLEN, 1, PLEN, sf);
  }

  fseek(sf, O_SONGPOS, SEEK_SET);
  for (int i = 0; i < POSLEN; i++) {
    int j = fgetc(sf);
    p.hipattern = j > p.hipattern ? j : p.hipattern;
  }

  p.linepool = malloc(p.songlen*0x40*sizeof(int));
  p.nextline = malloc(p.songlen*0x40*sizeof(int));
  for (int i = 0; i < p.songlen*0x40; i++) {
    p.linepool[i] = i;
    p.nextline[i] = -1;
  }
}

/* Allocate a line having number n in any pattern, or nothing. */
int lines_allocmod(int n)
{
  n%=0x40;
  while (n < p.songlen*0x40) {
    if (-1 != p.linepool[n]) {
      p.linepool[n] = -1;
      return n;
    }
    n+=0x40;
  }
  return -1;
}

/* Allocate any line. */
int lines_allocany(void)
{
  for(int i = 0; i < p.songlen*0x40; i++) {
    int n = p.linepool[i];
    if (-1 != n) {
      p.linepool[i] = -1;
      return n;
    }
  }
  return -1;
}

static const int JUMP_NONE = -2;
static const int JUMP_ANY = -1;

int jumptype(int l)
{
  int absval, abs=0, any=0;
  uint8_t *entry = &p.srcp[l*4*4];

  for (int i = 0; i < 4; i++) {
    if (0 == ((entry[2] & 0xf) | entry[3])) {
      any++;
    } else if (CMD_JUMP == (entry[2] & 0xf)) {
      abs=1;
      absval=entry[3] % 0x40;
    }
    entry+=4;
  }

  if (abs && any) {
    return absval;
  } else if (1 < any) {
    return JUMP_ANY;
  } else {
    return JUMP_NONE;
  }
}

/* Find and allocate absolute line allocations. */
void pass1(void)
{
  int i, jt, n=0;

  lines_allocmod(0);
  for (i = 0; i < p.songlen*0x40-1; i++) {
    /* Get preference */
    jt = jumptype(i);
    if (0 <= jt) {
      /* Absolute allocation */
      n = lines_allocmod(jt);
      if (-1 == n) {
        printf("ABS: i=0x%04x, n=0x%04x, jt=0x%04x: allocation: FAIL\n", i, n, jt);
      } else {
        dprintf("ABS: i=0x%04x, n=0x%04x, jt=0x%04x: allocation: PASS\n", i, n, jt);
        p.nextline[i] = n;
      }
    } else if (JUMP_ANY == jt) {
      /* This is an ANY allocation: processed in next pass. */
    } else {
      printf("NONE: i=0x%04x, n=0x%04x, jt=0x%04x: allocation: FAIL\n", i, n, jt);
    }
  }
  /* Force jump from last line to first. */
  p.nextline[i] = 0;
}

/* Arrange the n elements of array in random order. */
void shuffle(int *array, int n)
{
  for (int i = 0; i < n-1; i++) {
    int j = i + rand() / (RAND_MAX / (n - i) + 1);
    int t = array[j];
    array[j] = array[i];
    array[i] = t;
  }
}

void pass2(void)
{
  /* First randomize the remaining lines */
  shuffle(p.linepool, p.songlen*64);

  for (int i = 0; i < p.songlen*0x40; i++) {
    /* Get preference */
    int jt = jumptype(i);
    int n = p.nextline[i];
    if (JUMP_NONE != jt) {
      /* Absolute or any allocation */
      if (-1 == n) {
        /* Not already allocated (could also be unresolved absolute jumps. */
        int a;
        a = lines_allocany();
        dprintf("ANY: i=0x%04x, a=0x%04x: allocation: PASS\n", i, a);
        p.nextline[i] = a;
      }
    } else {
      printf("NONE: i=0x%04x, n=0x%04x, jt=0x%04x: allocation: FAIL\n", i, n, jt);
    }
  }
  {
    int a;
    while (-1 != (a = lines_allocany())) {
      printf("Unallocated line: a=0x%04x: FAIL\n", a);
    }
  }
  /* Verify */
  for (int i = 0; i < p.songlen*0x40; i++) {
    /* Get preference */
    int m = p.nextline[i];
    if (m == -1) {
      printf("i=0x%04x has no next line installed: FAIL\n", i);
    }
    for (int j = 0; j < p.songlen*0x40; j++) {
      int n = p.nextline[j];
      if ((m == n) && (i != j)) {
        printf("Loop detected: i=0x%02x, j=0x%02x, n=0x%02x: FAIL\n", i, j, n);
      }
    }
  }
}

void setjump(uint8_t *entry, int jt, int dline)
{
  uint8_t pos = dline/64;
  uint8_t row = dline%64;

  /* B command must be BEFORE D command */
  if (JUMP_NONE == jt) {
    /* do nothing */
  } else if (JUMP_ANY == jt) {
    int found = 0;
    for (int i = 0; i < 4; i++) {
      if (0 == ((entry[2] & 0x0f) | entry[3])) {
        if (0 == found) {
          entry[2] |= 0x0b;
          entry[3] = pos;
        } else if (1 == found) {
          entry[2] |= 0x0d;
          /* Next position of the song and the row row. */
          /* Silly decimal representation! */
          entry[3] = (row/10)*16 | (row%10);
        }
        found++;
      }
      entry+=4;
    }
  } else { /* JUMP_ABS */
    int bdone = 0;
    for (int i = 0; i < 4; i++) {
      uint8_t cmd = entry[2] & 0x0f;
      if (CMD_JUMP == cmd) {
        entry[2] &= 0xf0;
        entry[3] = 0x00;
      }
      if ((0 == (cmd | entry[3])) || (CMD_JUMP == cmd)) {
        if (0 == bdone) {
          entry[2] |= 0x0b;
          entry[3] = pos;
        } else if (1 == bdone)  {
          entry[2] |= 0x0d;
          entry[3] = (row/10)*16 | (row%10);
        }
        bdone++;
      }
      entry+=4;
    }
  }
}

/* Copy each source line to destination. */
void pass3(void)
{
  int dl;

  dl = 0;
  for (int sl = 0; sl < p.songlen*64; sl++) {
    memcpy(&p.dstp[dl*LLEN], &p.srcp[sl*LLEN], LLEN);

    int next = p.nextline[sl];
    int jt = jumptype(sl);
    setjump(&p.dstp[dl*LLEN], jt, next);
    dl = next;
  }
}

void dump(void)
{
  char c;
  int i;
  fseek(sf, 0, SEEK_SET);
  for(i = 0; i < O_SONGLEN; i++) {
    c = fgetc(sf);
    fputc(c, df);
  }
  fputc(p.songlen, df);
  fputc(127, df);
  for (i = 0; i < p.songlen; i++) {
    fputc(i, df);
  }
  for (;i < POSLEN; i++) {
    fputc(0, df);
  }
  fwrite("M.K.", 1, 4, df);
  fwrite(p.dstp, PLEN, p.songlen, df);
  fseek(sf, O_PATTERNDATA+(p.hipattern+1)*PLEN, SEEK_SET);
  while ( EOF != (i = fgetc(sf))) {
    fputc(i, df);
  }
}

void tryopen(int argc, char *argv[])
{
  if (argc < 3) {
    printf("%s SOURCE DEST\n", argv[0]);
    exit(EXIT_FAILURE);
  }

  if (NULL == (sf = fopen(argv[1], "r"))) {
    printf("%s: open failed\n", argv[1]);
    exit(EXIT_FAILURE);
  }

  if (NULL == (df = fopen(argv[2], "wb"))) {
    printf("%s: open failed\n", argv[2]);
    exit(EXIT_FAILURE);
  }

  fseek(sf, O_MK, SEEK_SET);
  char buf[4];
  fread(buf, 1, 4, sf);
  if (strncmp(buf, "M.K.", 4)) {
    puts("No Protracker magic string");
    exit(EXIT_FAILURE);
  }
}

int main(int argc, char *argv[])
{
  puts(msg);
  tryopen(argc, argv);
  init();
  pass1();
  pass2();
  pass3();
  dump();

  return EXIT_SUCCESS;
}
[#435] Re: Fajny moduł dziś słyszałem

@nogorg, post #432

od paru lat i mnie pałęta się podobna idea po głowie tym że zastanawiałem się czy da się wygenerować tego typu całe akordy, które nadal będą miały rozmiar nadający się do chiptune. Matematycznie względnie łatwo jest wyliczyć odpowiedź natomiast dźwiękowo można dopuścić się pewnych niedokładności i zaokrągleń.


PreTracker
AmigaKlang
[#436] Re: Fajny moduł dziś słyszałem

@AceMan, post #435

To jest zupełnie inny temat.
[#437] Re: Fajny moduł dziś słyszałem

@nogorg, post #433

Nie wiem kiedy, ale jak znajdę czas to wrzucę go na YT "do patrzenia" ;))))
[#438] Re: Fajny moduł dziś słyszałem

@mikecios, post #437

OK
[#439] Re: Fajny moduł dziś słyszałem

@nogorg, post #438

Może z okazji trójkowego polskiego top wszechczasów, zrobilibyśmy coś takiego w polskich amigowych modułach?
[#440] Re: Fajny moduł dziś słyszałem

@nogorg, post #438

Proszę ;) Do patrzenia i słuchania.

[#441] Re: Fajny moduł dziś słyszałem

@mikecios, post #440

Ha, ha ten jest zrobiony naprawdę z jajem szeroki uśmiech
Lekko, wesoło i z polotem- nieźle się przy nim ubawiłem OK
[#442] Re: Fajny moduł dziś słyszałem

@mikecios, post #440

No pikny moduł ten jest szeroki uśmiech
[#443] Re: Fajny moduł dziś słyszałem

@mikecios, post #440

Teraz dla odmiany coś bardziej klasycznego:
[#444] Re: Fajny moduł dziś słyszałem

@nogorg, post #443

"Reaching Stars With" by Jazz
[#445] Re: Fajny moduł dziś słyszałem

@nogorg, post #444

#3 miejsce z TP 1

[#446] Re: Fajny moduł dziś słyszałem

@nogorg, post #445

Coś starszego:

[#447] Re: Fajny moduł dziś słyszałem

@nogorg, post #446




Ostatnia aktualizacja: 24.06.2020 13:06:28 przez nogorg
[#448] Re: Fajny moduł dziś słyszałem

@nogorg, post #447

Wiesz mam nieodparte wrażenie że IMP zjadł ten wątek.
[#449] Re: Fajny moduł dziś słyszałem

@nogorg, post #447

Podawaj od razu id z IMPa to prawilnie na Amidze posłuchamy :D
[#450] Re: Fajny moduł dziś słyszałem

@juen, post #449

Możesz sobie napisać parser do postów
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem