4 kb denemesi yardim

13 replies · 37,053 views

4 kb denemesi yardim
Selam ,
4 kb bir demo hazirliyim dedim ama su an herkesde calisiyormu , calismiyormu bilmiyorum bu konuda test ederek yardim edebilir misiniz?
+Muzik ekliyemedim XM olmuo 🙁
Bunu nasil halledicez?
Deneme Adresi:
http://mosengine.inativa.com/manyetiq/mq2006.zip
ManyetiQ / Chenmy1
4 kb denemesi yardim
xm eklemek için minifmod (google'dan search et fmod.com/minifmod falandı galiba) modu hex olarak exeye göm ve fmod fonksiyonlarına memory fonksiyonlarını tanımla. Olay bu kadar. Gelelim 4k olayına gelirsek sanırım 4k yapamamışsın 13k şu an arkaya zak eklersen bu daha da artacaktır eğer yardım istiyorsan sıkıştırılmamış halini gönderirsen exe'nin bişiler yapabilirim...
100% pure coder pr0n
4 kb denemesi yardim
Originally posted by MaDpRoGrAmMeR@Jan 1 2006, 06:41 PM
xm eklemek için minifmod (google'dan search et fmod.com/minifmod falandı galiba) modu hex olarak exeye göm ve fmod fonksiyonlarına memory fonksiyonlarını tanımla. Olay bu kadar. Gelelim 4k olayına gelirsek sanırım 4k yapamamışsın 13k şu an arkaya zak eklersen bu daha da artacaktır eğer yardım istiyorsan sıkıştırılmamış halini gönderirsen exe'nin bişiler yapabilirim...
[post=4146]Quoted post[/post]


Geyikland v.s. onda XM kullandim zaten XM ile tanisali cok oluyor..Exe paketlemeyide biliyorum ama XM 4 kb i asiyor..
Lol:
zaten paketsiz halini koymusum dur degistiriyim sunu..
ManyetiQ / Chenmy1
4 kb denemesi yardim
ok o zaman şöyle diyeyim sen bu exeyi "bildiğin" exe sıkıştırma yöntemleriyle 4k yapamazsın zanımca. şu an o 13 klık exeyi 2,45 k yaptım belki biraz daha sıkışır... xm'i de ekleyip sıkıştırmadan yollarsan exeyi dediğim gibi yardımcı olabilirim.
100% pure coder pr0n
4 kb denemesi yardim
Originally posted by MaDpRoGrAmMeR@Jan 1 2006, 07:35 PM
ok o zaman şöyle diyeyim sen bu exeyi "bildiğin" exe sıkıştırma yöntemleriyle 4k yapamazsın zanımca. şu an o 13 klık exeyi 2,45 k yaptım belki biraz daha sıkışır... xm'i de ekleyip sıkıştırmadan yollarsan exeyi dediğim gibi yardımcı olabilirim.
[post=4149]Quoted post[/post]


su an benim paket programimda 2.65 kb yapti zaten ...Ben 13kb paketsiz halini koymusum yanlislikla yani bir sorunum yok bunlarla benim sordugum soru baska..!
ManyetiQ / Chenmy1
4 kb denemesi yardim
Originally posted by vmeydaneri@Jan 1 2006, 07:35 PM
su an benim paket programimda 2.65 kb yapti zaten ...Ben 13kb paketsiz halini koymusum yanlislikla yani bir sorunum yok bunlarla benim sordugum soru baska..!
[post=4152]Quoted post[/post]


elindeki xm in yapIsIni ve buyuklugunu bilmemekle birlikte, eger ilgili xm i yapan muzisyen tanIdIgIn biriyse (yada sen yaptinsa🙂 ) bildigim kadariyla dosya buyuklugu olarak XM i kucultmenin yolu gereksiz kanallarI ve kIsImLarI silmek, kIsa tekrarlamalarI oncelikle XM icinden yada olmuyorsa kod ile caldirmaktan gecer🙂 (bu arada cevap verdim ama sorunu umarIm dogru anlamI$ImdIr) gereksiz sample larI attIktan bi sIkI$tirmayI dene bir de ba$ka dosya formatlarI muzik olarak aynI olsa da daha cok sIkI$iyor olabilirler
bu arada bi$ii daha anlaticam ama bundan gerisi biraz ilgisiz olacak. WhereIsIt diye bi ar$iv programI kullaniyordum, bunda kaydetme secenekleri arasInda az ve yuksek sIkI$tirma ve sIkI$tirmadan kaydetme olarak uc secenek var, normalde sIkI$tirmadan kaydedip rarliyordum, denemek icin yuksek sIkI$tirma kullanarak dosyayI kaydettim, .rar dosyadan buyuk oldu, sIkI$tirmayla kaydedilmi$ dosyayI tekrar rarladIm, sIkI$tirilmadan kaydedilip rarlanmI$ dosyadan yine de buyuk oldu. tabi asLInda bunda $a$ILacak pek bi$ii yok da ne bileyim oyle yani
4 kb denemesi yardim
Originally posted by eirik+Jan 1 2006, 09:21 PM--><div class='quotetop'>QUOTE(eirik @ Jan 1 2006, 09:21 PM)</div><div class='quotemain'><!--QuoteBegin-vmeydaneri@Jan 1 2006, 07:35 PM
su an benim paket programimda 2.65 kb yapti zaten ...Ben 13kb paketsiz halini koymusum yanlislikla yani bir sorunum yok bunlarla benim sordugum soru baska..!
[post=4152]Quoted post[/post]


elindeki xm in yapIsIni ve buyuklugunu bilmemekle birlikte, eger ilgili xm i yapan muzisyen tanIdIgIn biriyse (yada sen yaptinsa🙂 ) bildigim kadariyla dosya buyuklugu olarak XM i kucultmenin yolu gereksiz kanallarI ve kIsImLarI silmek, kIsa tekrarlamalarI oncelikle XM icinden yada olmuyorsa kod ile caldirmaktan gecer🙂 (bu arada cevap verdim ama sorunu umarIm dogru anlamI$ImdIr) gereksiz sample larI attIktan bi sIkI$tirmayI dene bir de ba$ka dosya formatlarI muzik olarak aynI olsa da daha cok sIkI$iyor olabilirler
bu arada bi$ii daha anlaticam ama bundan gerisi biraz ilgisiz olacak. WhereIsIt diye bi ar$iv programI kullaniyordum, bunda kaydetme secenekleri arasInda az ve yuksek sIkI$tirma ve sIkI$tirmadan kaydetme olarak uc secenek var, normalde sIkI$tirmadan kaydedip rarliyordum, denemek icin yuksek sIkI$tirma kullanarak dosyayI kaydettim, .rar dosyadan buyuk oldu, sIkI$tirmayla kaydedilmi$ dosyayI tekrar rarladIm, sIkI$tirilmadan kaydedilip rarlanmI$ dosyadan yine de buyuk oldu. tabi asLInda bunda $a$ILacak pek bi$ii yok da ne bileyim oyle yani
[post=4153]Quoted post[/post]

[/b][/quote]
Sorun XM degil LIB. boyu minifmod.lib ve winmm.lib i ekliyince boyut 8 kb a cikiyo (paketli)...
neyse artik bisiler bulcaz..
ManyetiQ / Chenmy1
4 kb denemesi yardim
Vedat, bildiğim kadarıyla minifmod.lib'i kullanarak rahatça 4 kb yapabiliyorsun sıkıştırılmış. 4 kb'ı geçmesinin iki nedeni oluyor genellikle:
1) XM'in boyutu ki yukarda arkadaşlar benim anlatabileceğimden daha güzel açıklamışlar sana yöntemleri.
2) Programının gereksiz includeları. Lib'i eklediğin zaman yanılmıyorsam 4kb'a sıkışıyor ancak sen ekstra libraryler kullanıyorsan eğer, bunları projenden çıkarıp içlerinden yalnızca gerekli bölümleri kopyalaman gerekiyor. Eminim zaten bununla bir hayli cebelleşmişsindir ancak daha da cebelleşmen gerekebilir. Gerekirse inline assembler kullanmaya kadar gider iş.
Inline assembler kullanmakla ilgili bir örnek veriim mesela. 13h modunda özellikle plot rutininde sıkça geçen 320 ile çarpma işlemini hızlı yapmanın yolu c'de 8 bit sola kaydır, 6 bit sola kaydır ve topla şeklindedir. Inline assemblerda ise 6 bit kaydır ve bunu iki bit daha kaymışıyla topla halini alır ki C'de ben ne yaparsam yapiim bu kadar kısa bir şekilde yapamadım olayı. Zaman zaman C bile yetersiz kalabiliyor.
Benim yazabildiğim en az yer kaplayan plot rutini:
void Plot(int x, int y, char color)
{
	asm{
  mov ax, y
  shl ax, 6
  mov di, ax
  shl ax, 2
  add di, ax
  add di, x
  mov al, color
  stosb
	}
}

C'de ise
void Plot(int x, int y, char color)
{
 BUFFER[(y << 8) + (y << 6) + x] = color;
}

bu şekilde yazabiliyorum.
Eminim ASM'de benim yazdığımdan daha kısası da vardır ancak C ile bu kadarını bile oluşturamıyorum işte.
Kısacası biraz daha low level'a inmen gerekebilir.
4 kb denemesi yardim
@skate: mul dword ptr 320 kullanmak byte olarak daha kIsa olmasI lazim. hesaplama acIsIndan da cok uzun. putpixel i yeniden yazmamak icin uzun surmesine ragmen int10h kullandigimi bilirim (saat neden oyle kIrpI$Iyor saniyorsunuz🙂 )
4 kb denemesi yardim
Kardeşim ben 64'deki olanaklarımla PC'de de ASM code yazarım her zaman. MUL diye birşey yok 🙂 En azından benim için. Ama umarım yukarda 4kb'a sıkıştırma konusunda ne demek istediğim anlaşılmıştır. Yoksa amacım 13h mode plot rutinini tartışmak değil tabii ki 🙂
4 kb denemesi yardim
Vedat, al kardeşim, sanki birileri senin çığlıklarını duydu 😛
http://www.pouet.net/prod.php?which=21045
Yeni release edildi bu ve şu şekilde bir commentle birlikte yayınlandı pouet'de
This include a simple framework for making simple 4k (synth,tracker-player,opengl init,sample with src). For newbies & people who want to make simple 4ks without lose time.
Tabii kalite seviyesini ve bununla müzik yapmanın zorluklarını bilemiicem...
Edit: İçinde gelen örneği inceledim. Aslında çok basit ve temel bir örnek ancak işe yarıyor gördüğüm kadarıyla. İşin komik tarafı adam source code'a bezier formülü de eklemiş. Ona ne gerek vardı pek kafam basmadı ya neyse 🙂 Bezier formülünü yadırgama sebeplerim:
1- Boyutu arttırır.
2- Ulan sanki her 4kb'da bezier'e ihtiyaç duyuluyor.
3- Niye yalnızca bezier?
Kısacası örneği biraz kendine has yapmış, ama dediğim gibi kullanışlı gözüküyor.
4 kb denemesi yardim
bezier diyip geçilmemeli. 7d5 davetiyesi ve nested'ın başındaki kamera yollarını karşılaştırınız. aradaki fark bezierdir. tabi başka durumlarda çok gerekli değil, sinüsler çoğunlukla iş görüyor. ama beziersiz kamera yazmak hem işkence, hem de bi şeye benzemiyor.
4 kb denemesi yardim
Anes: Ben 3d olmayan tonla 4kb bildiğim gibi düşük sizelı demolarda genellikle kamera varsa bile standart matematiksel hareketler yaparlar. Bezier fonksiyonu yararlı olduğu gibi birçok kişi kamera için bile kullanmaz bunu. Ancak şu metropolis v.s. 3d engineli 4kblarda (ki sayıları çok da fazla değil bunların) kullanılabilir bezier. Ben adamın bezier fonksiyonunu 4kb'lık framework'e koymasını ancak bunun haricinde hiçbirşey koymamasını garipsedim. Derdimiz size ise framework'de gereksiz bir bezier formülü bulunmasının anlamı yok pek. Ayrıca çok da basit bir formüldür, isteyen şıp diye yazar. Bunun için şettirdim. Hatta hatta ben ilk kez bezier formülünü üs alma v.s. de kullanmadan açık olarak şu şekilde yazmıştım, hemen copy&paste ediim.
 	point.x = (int)((1 - 2 * t) * (1 - t) * (1 - t) * p1.x +
        4 * t * (1 - t) * (1 - t) * p2.x +
        4 * t * t * (1 - t) * p3.x +
        (2 * t - 1) * t * t * p4.x);
  	point.y = (int)((1 - 2 * t) * (1 - t) * (1 - t) * p1.y +
        4 * t * (1 - t) * (1 - t) * p2.y +
        4 * t * t * (1 - t) * p3.y +
        (2 * t - 1) * t * t * p4.y);

Bu 4 nokta için olanı...
4 kb denemesi yardim
hmm sadece bezier varsa saçmaymış tabi. (okuduğumuzu anladık mı cevap verelim kısmından kalmışım.)