Gönderen Konu: I.F.O GP2X Portu  (Okunma sayısı 19981 defa)

I.F.O GP2X Portu

« : 31.05.2007 04:11:25 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Haber vereyim dedim, port düzgün sayılacak bir şekilde bitti bile. Hatta 20 dakikadır oynuyordum, şimdi bıraktım oyunu. Daha optimize edilebilecek çok şey var ve ufak tefek buglar da var oyunda. Bunları hallettikten sonra yeni bazı özellikler ekleyeceğim oyuna. Onlar da bitince ne olacak? Tabii ki release olacak ;)
 
Paylaşmak istediğim konu şudur ki GP2X 200 Mhz'de çalışırken ne adam akıllı emülatör çalıştırabiliyor ne de SDL librarysi kullanan kodları. Ama 250 Mhz'e overclock ettiğiniz anda herşey çatır çatır çalışıyor. Aslında 240-245'e kadar güvenli overclock. Benim cihaz 266'da biraz çalışıp kilitleniyor, 275 ve üstünde direk kilitleniyor. Ama 300'ü bile kaldıran varmış. ılginç...
 
şimdilik ben 250 Mhz'i baz alıyorum. Ancak oyunun menüsüne ekliicem overclock seçeneklerini. Problem yaşayan düşürebilecek, makinesi kaldıran ise yükseltebilecek ve daha smooth oynayacak.
 
Gelişmeler böyledir. Official olarak dalıyorum GP2X scene'ine yakında. Ama şimdilik SDL üzerinden. Bir sonraki oyunumu minimal lib ile kodlamayı planlıyorum. Bunlarla uğraşırken demo kodlamak için gerekli alt yapıyı da oluşturmuş olucam elbetteki.

I.F.O GP2X Portu

« Yanıtla #1 : 31.05.2007 13:27:46 »
Hızlı düğmeleri aç

GnoStiC


  • Ziyaretçi
200mhz ve daha dusuk hizlarda calisan oyun/emulatorler mevcut iken, bana pek mantikli gelmedi acikcasi..

su da var tabi, ilk basta platformda port edilen seyler hiz istiyo, sonra gp2x'e gore optimize etmeye basladikca, daha az hiza ihtiyac duyuyorsun.. (veya ikinci core'u kullanmak gibi durumlarda)

benim gp2x stable 280mhz, evildragon'da 310mhz calisan var..
ama genel standart 240mhz'i baz almaya donustu..

release'ini bekliyoruz.. :)

I.F.O GP2X Portu

« Yanıtla #2 : 31.05.2007 18:21:27 »
Hızlı düğmeleri aç

Ragnor

İleti: 901

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://ozanemirhan.blogspot.com
şimdi tam emin değilim ama sanırım 200 mhz altında rahat çalışan emulatörler ( en azından çoğu) ses emulasyonu yapmıyor.

Arkaplanda bir müzik çaldırmak her zaman performansı oldukça azaltan birşey olmuştu benim çalışmalarımda, sanırım sdl_mixer yada onun kullandığı lib'lerden gelen bir problem ama şu noktada bir çözüm göremiyorum onun için. Tabi yavaş yavaş yapılan port gp2x'e özel düzenlendikçe hızda kazanıyor.

Bende bekliyorum release'i.. ;)

I.F.O GP2X Portu

« Yanıtla #3 : 01.06.2007 08:46:14 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Sadece arkaplandaki müzik de değil olay. SDL'in TTF font librarysini kullanıyorum ki PC'de bile oldukça performans düşüren bir librarydir. Ama 250 Mhz'de o dahil herşey düzgün çalışıyor. Elbette ki SDL kullanmayacak olsam 200 Mhz yeterli olacaktır. Hatta hatta bana 1 Mhz bile yeterli olur iyi bir multiplexer rutiniyle ama o ayrı bir konu ;)

I.F.O GP2X Portu

« Yanıtla #4 : 01.06.2007 10:13:03 »
Hızlı düğmeleri aç

GnoStiC


  • Ziyaretçi
@skate: ifo'da mmuhack kullaniyormusun?

I.F.O GP2X Portu

« Yanıtla #5 : 01.06.2007 10:29:20 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
evet kullanıyorum. mmuhack+250 mhz overclock

I.F.O GP2X Portu

« Yanıtla #6 : 01.06.2007 12:26:59 »
Hızlı düğmeleri aç

GnoStiC


  • Ziyaretçi
overclock'da evildragon settings'i yani
./cpu_speed --upll --timing 1 --cpuclk 250 --trc 6 --tras 4 --twr 1 --tmrd 1 --trfc 1 --trp 2 --trcd 2

denedin mi?

I.F.O GP2X Portu

« Yanıtla #7 : 01.06.2007 13:25:08 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
ben overclock'u aşağıdaki şekilde yapıyorum kod içersinden.
 
not: fonksiyonları, parametreleri v.s. uçurup flat code'a dönüştürdüm.
 
Kod: [Seç]
volatile unsigned long *memregs32;
volatile unsigned short *memregs16;
unsigned int mdiv, pdiv = 3, mhz = 250;
int memfd = open("/dev/mem", O_RDWR);
memregs32 = (unsigned long*) mmap(0, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, memfd, 0xc0000000);
memregs16 = (unsigned short *)memregs32;
mdiv = (mhz*1000000*pdiv)/7372800;      // Sistem Saati Frekansı = 7372800
mdiv = ((mdiv-8)<<8) & 0xff00;
pdiv = ((pdiv-2)<<2) & 0xfc;
unsigned int l = memregs32[0x808>>2];   // Interupt flaglerini oku
memregs32[0x808>>2] = 0xFF8FFFE7;       // Interruptları kapat
memregs16[0x910>>1]=mdiv | pdiv;        // Frekansı set et
while(memregs16[0x0902>>1] & 1);        // Frekansın ayarlanmasını bekle
memregs32[0x808>>2] = l;                // Interrputları aç
close (memfd);

I.F.O GP2X Portu

« Yanıtla #8 : 01.06.2007 13:33:34 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Bu arada aklıma gelmişken bir sorum olacak. Okuduğum tüm dökümanlar şu şekilde;
 
#define GP2X_BUTTON_X (14)
#define GP2X_BUTTON_Y (15)
#define GP2X_BUTTON_L (10)
#define GP2X_BUTTON_R (11)
 
ama en azından benim GP2X'de;
 
#define GP2X_BUTTON_Y (14)
#define GP2X_BUTTON_X (15)
#define GP2X_BUTTON_R (10)
#define GP2X_BUTTON_L (11)
 
bu şekilde düzgün çalışıyor. Geri kalan tuş takımında bir problem yok. Bir de yanılmıyorsam
 
#define GP2X_BUTTON_CLICK (18)
 
bu düzgün çalışmıyor. Bu normalde soldaki joystick'in buttonu di mi? Ben bir özellik vermeyi denedim o buttona ama çalışmadı. Çok da önemli birşey olmadığı için es geçtim. Ama ya buttona basıldıktan sonraki kodda hata vardı (ki sanmıyorum), ya da bu şekilde button'un eventini yakalayamadım.
 
Geri kalan tuş takımı düzgün çalışıyor. şimdilik denemediğim yalnızca "select" ve "volume up/down" tuşları kaldı.
 
Edit: Pardon söylemeyi unuttum, sonradan http://wiki.gp2x.org/wiki/SDL_Joystick_mapping bu adrestekinin de böyle olduğunu gördüm ama internetteki hazır kodlarda ilk tanımladığım gibi tanımlanmış tuşlar. Acaba diğer kodlar GP32 için falan mıydı? Bir de wikideki alttaki #define'larda yine ters yazılmış GP2X_BUTTON_R ile GP2X_BUTTON_L. Python versiyonunda ise GP2X_BUTTON_Y ile GP2X_BUTTON_X de ters yazılmış.
« Son Düzenleme: 01.06.2007 13:40:49 Gönderen: skate »

I.F.O GP2X Portu

« Yanıtla #9 : 01.06.2007 13:41:33 »
Hızlı düğmeleri aç

GnoStiC


  • Ziyaretçi
http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,8,1000

bunu cekip, calis.gpe gibi bir sh script hazirla;
Alıntı
#!/bin/sh
./cpu_speed --upll --timing 1 --cpuclk 250 --trc 6 --tras 4 --twr 1 --tmrd 1 --trfc 1 --trp 2 --trcd 2
./ifo.gpe

bu sekilde bir denermisin?
(not: ifo icinden overclock yapmasin)

I.F.O GP2X Portu

« Yanıtla #10 : 01.06.2007 13:44:32 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
şu anda şirketteyim, deneyemem. Ama ben kod içersinden overclock yapmayı tercih ediyorum. Sonuç olarak bunu emulatorler v.s. de yapıyor. Ben overclock optionlarını oyunun menüsüne eklemeyi düşünüyorum. Tehlikeli olduğunu düşünüyorsan o zaman Vice'ın yaptığı daha mı güvenli? Öyleyse o nasıl yapıyor? :) Bir de tuş takımıyla ilgili soruma da cevap verebilirsen sevinirim.

I.F.O GP2X Portu

« Yanıtla #11 : 01.06.2007 13:47:25 »
Hızlı düğmeleri aç

GnoStiC


  • Ziyaretçi
soyle bir durum var;
rls edilen SDL versiyonlari arasinda button define farki var, kullandigin SDL'e gore duzenleme yapman gerekir..

bende click (18) olarak asagidaki gibi sorunsuz calisiyor?
Kod: [Seç]
         
if (event.type == SDL_JOYBUTTONDOWN) {
                         switch (event.jbutton.button) {
                    case GP2X_BUTTON_CLICK: break;

Alıntı yapılan: skate;15282
Bir de wikideki alttaki #define'larda yine ters yazılmış GP2X_BUTTON_R ile GP2X_BUTTON_L. Python versiyonunda ise GP2X_BUTTON_Y ile GP2X_BUTTON_X de ters yazılmış.

I.F.O GP2X Portu

« Yanıtla #12 : 01.06.2007 13:51:21 »
Hızlı düğmeleri aç

GnoStiC


  • Ziyaretçi
kod icinden de yapabilirsin, benim tweaker code ornegim ektedir..

Alıntı yapılan: skate;15284
şu anda şirketteyim, deneyemem. Ama ben kod içersinden overclock yapmayı tercih ediyorum. Sonuç olarak bunu emulatorler v.s. de yapıyor. Ben overclock optionlarını oyunun menüsüne eklemeyi düşünüyorum. Tehlikeli olduğunu düşünüyorsan o zaman Vice'ın yaptığı daha mı güvenli? Öyleyse o nasıl yapıyor? :) Bir de tuş takımıyla ilgili soruma da cevap verebilirsen sevinirim.

I.F.O GP2X Portu

« Yanıtla #13 : 01.06.2007 14:08:37 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
örnek ve diğer açıklamalar için teşekkürler. ama sorular bitmedi tabii ki :)
 
1) "cpuctrl.h"da tanımlanmış "set_FCLK" gibi "set_????" fonksiyonlarını bulamadım. onlar "cpuctrl.cpp" gibi bir dosyada falan mı? yani prototiplerini görebiliyorum da kendileri nerdeler, ne yaparlar?
2) Benim yöntemin Evil Dragon parametrelerini kullanmama harici default fast tweak yapmasında bir eksik gedik var mıdır? Secure bir yöntem değil mi? Hardware'ın ya da en azından o anki yüklü firmware'ın anasını beller mi?
 
Hala kodun eksikleri olduğu için yayınlamak istemiyordum ancak sanırım bir preview yayınlayacağım 1-2 gün içersinde. Anlaşılan inceledikçe bana yol gösterebileceğiniz birçok şey var. Benim hemen yayınlamama amacım da henüz kimse yol göstermeden benim de kabak gibi gördüğüm birçok eksiği/fazlası var kodun. Biraz onları elimine edip public destek almaya başlayacağım. şu anda Ragnor oyunun hızını beğendiğini söyledi. Ancak sorun şu ki hız gittikçe yavaşlıyor :) Aslında ekranda çok obje olunca bu normal ancak game over olup yeniden başlayınca da aynı hızda devam ediyor. Sanırım objeleri destruct ederken bazı şeyleri atlıyorum. şu olayı çözersem herşey rayına oturacak.

I.F.O GP2X Portu

« Yanıtla #14 : 01.06.2007 14:31:27 »
Hızlı düğmeleri aç

GnoStiC


  • Ziyaretçi
1) http://archive.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,8,1000

bu dosya icinde source'lari mevcut.. (cpuctrl.c vs)

2) zaten mmsp2'nin fabrika cikisi 240mhz'e kadar destekliyor olmasi itibari ile 240'dan yukari hizlar overclock aslinda.. sistemin 200mhz olmasi tamamen pil tuketimi ile alakali.. overclock'un 2 senedir bilinen tek kotu yani, pilleri daha hizli tuketiyor olmasi.. bunun haricinde bildirilen bir olumsuzluk olmadi :)

Alıntı yapılan: skate;15287
örnek ve diğer açıklamalar için teşekkürler. ama sorular bitmedi tabii ki :)
 
1) "cpuctrl.h"da tanımlanmış "set_FCLK" gibi "set_????" fonksiyonlarını bulamadım. onlar "cpuctrl.cpp" gibi bir dosyada falan mı? yani prototiplerini görebiliyorum da kendileri nerdeler, ne yaparlar?
2) Benim yöntemin Evil Dragon parametrelerini kullanmama harici default fast tweak yapmasında bir eksik gedik var mıdır? Secure bir yöntem değil mi? Hardware'ın ya da en azından o anki yüklü firmware'ın anasını beller mi?
 
Hala kodun eksikleri olduğu için yayınlamak istemiyordum ancak sanırım bir preview yayınlayacağım 1-2 gün içersinde. Anlaşılan inceledikçe bana yol gösterebileceğiniz birçok şey var. Benim hemen yayınlamama amacım da henüz kimse yol göstermeden benim de kabak gibi gördüğüm birçok eksiği/fazlası var kodun. Biraz onları elimine edip public destek almaya başlayacağım. şu anda Ragnor oyunun hızını beğendiğini söyledi. Ancak sorun şu ki hız gittikçe yavaşlıyor :) Aslında ekranda çok obje olunca bu normal ancak game over olup yeniden başlayınca da aynı hızda devam ediyor. Sanırım objeleri destruct ederken bazı şeyleri atlıyorum. şu olayı çözersem herşey rayına oturacak.