commodore.gen.tr

Amiga => Amiga Yazılım => Konuyu başlatan: wizofwor üzerinde Aralık 04, 2007, 12:30:56 ÖS



Konu Başlığı: Executable bir dosyanın classic amiga için olduğunu anlamak
Gönderen: wizofwor üzerinde Aralık 04, 2007, 12:30:56 ÖS
Sadece header bilgisine bakarak executable bir dosyanın 68k için olduğunu anlamak mümkün müdür? Böylelikle os dosyayı çalıştırmak yerine bir emulatöre yönlendirebilir çünkü.

Aklımda bazı fikirler var. 68k için derlenmiş bir executable var elimizde ve bunu PPC donanım kullanan bir Amiga'da çalıştırmak istedik. (1) Os bu dosyanın 68k kodu olduğunu kendi anlayabilir mi? (2) Biz kendimiz dosya özelliklerinden 68k olarak işaretleyeceğiz ve bu bilgi header bilgisine eklenecek. Bu şekilde olması mümkün mü? (3) Son çare olarak "Classic Software" diye bir sürücü olsa olsa ve buraya kopyalanan dosyalar 68k kodu olarak işlense olabilir mi?

Daha sonra ise 68k kodu olarak belirlenmiş dosyanın UAE üzerinden çalıştırılması lazım. Tabi ki sadece workbench uygulamalarından bahsediyorum. Bu dosyaları transparent şekilde çalıştırabilmek mümkün müdür? Uygulamanın aynı anda iki pencere açmak isteyebileceğini düşünün? Ayrı bir screen üzerinde mi çalıştırmak gerekecek? Disk erişiminde ne gibi problemler çıkabilir ve problem çıkar mı?

Evet konunun uzmanları, görüşler ve düşüncelerinizi alayım.


Konu Başlığı: Ynt: Executable bir dosyanın classic amiga için olduğunu anlamak
Gönderen: witchdoktor üzerinde Aralık 04, 2007, 23:17:33 ÖS
Tüm klasik AmigaOS executable dosyaları $000003F3 dizisi (longword) ile (header) başlıyor. Buradan anlayabilirsiniz.


Konu Başlığı: Ynt: Executable bir dosyanın classic amiga için olduğunu anlamak
Gönderen: wizofwor üzerinde Aralık 05, 2007, 08:49:04 ÖÖ
Bu durumda ikinci kritik soruya gelebiliriz. OS4 üzerinde herhangi bir dosyanın header bilgisini kontrol ederek çalıştırmak yerine emualtöre gönderecek datatype yazılabilir mi?

Yanılmıyorsam workbenchde dosya uzantısı yok ve bir dosyaya çift tıklayınca ne olacağı header bilgisine göre anlaşılıyor. Librarylerde değişikliğe gitmeden bu yapılabilir mi? Eğer bu da mümkünse gerisi iplik söküğü gibi gelir diye düşünüyorum.


Konu Başlığı: Ynt: Executable bir dosyanın classic amiga için olduğunu anlamak
Gönderen: Alp Yener üzerinde Aralık 05, 2007, 09:16:55 ÖÖ
OS4 üzerinde herhangi bir dosyanın header bilgisini kontrol ederek çalıştırmak yerine emualtöre gönderecek datatype yazılabilir mi?

OS4 bünyesinde zaten benzer bir özellik mevcut. PPC native programlar direkt çalıştırılırken, 68k executable dosyalar OS4 üzerinden çalıştırılmaya kalkıldığında sistem bunu algılayıp otomatikman petunia (68k jit emulatörü) devreye giriyor ve program çalışıyor. Tabii siz bunu fark etmiyorsunuz bile.


Konu Başlığı: Ynt: Executable bir dosyanın classic amiga için olduğunu anlamak
Gönderen: Leon üzerinde Aralık 05, 2007, 13:12:25 ÖS
UAE'nin 68k programlari execute etmek gibi bir mahareti oldugunu sanmiyorum. UAE komple bir makinayi emüle etmeye calisiyor. Calismak icin bir ROM'a ihtiyac duyuyor. Yani 68k programi al, kimseye caktirmadan calistir ve ciktisini PPC ortamina gönder diyebilecegimizi sanmiyorum. Ancak Alp'in dedigi gibi OS4 ve MOS'ta yer alan gömülü emülatörler ile oluyor bu is. Ayni Apple'in yaptigi gibi.


Konu Başlığı: Ynt: Executable bir dosyanın classic amiga için olduğunu anlamak
Gönderen: wizofwor üzerinde Aralık 05, 2007, 15:02:42 ÖS
UAE bu haliyle bu işi yapamayacağını biliyorum. Ancak açık kod olduğu için uygun şekilde modifiye edilebilir diye düşünüyordum. Meğer bu özellik zaten hazır olarak geliyormuş.


Konu Başlığı: Ynt: Executable bir dosyanın classic amiga için olduğunu anlamak
Gönderen: coze üzerinde Aralık 05, 2007, 16:01:07 ÖS
misal, IBrowse'un PPC versiyonu yok. OS4 uzerinde 68k emulasyonu ile calisiyor. OS4 klasik versiyonda bile 68k islemci sistemde olmasina ragmen kullanilmiyor. 68k programlar emulasyon ile calistiriliyorlar.


Konu Başlığı: Ynt: Executable bir dosyanın classic amiga için olduğunu anlamak
Gönderen: Leon üzerinde Aralık 05, 2007, 18:15:49 ÖS
Alıntı
misal, IBrowse'un PPC versiyonu yok. OS4 uzerinde 68k emulasyonu ile calisiyor. OS4 klasik versiyonda bile 68k islemci sistemde olmasina ragmen kullanilmiyor. 68k programlar emulasyon ile calistiriliyorlar.

Bu ilginc geldi bana. Esasinda sistemde 68k islemci varsa onu kullanabilirdi. O zaman turbokarttan 68k islemciyi sökünce calisir mi OS4?

Ya da akillica bir startup-sequence ile 68k üzerinde calisan OS3.1'i AGA modunda, OS4'ü de PPC ve Bvision üzerinden VGA monitöre gönderip iki isletim sistemini ayni anda calistirsak mesela... :)


Konu Başlığı: Ynt: Executable bir dosyanın classic amiga için olduğunu anlamak
Gönderen: coze üzerinde Aralık 05, 2007, 18:26:54 ÖS
ayni sistemde iki islemci calistirmak icin ayni anda iki kernel kullanmak gerekiyor. os 3.9'daki deneyimlerden bu sistemin iyi sonuc vermedigi, 68k emulasyonu ile cok daha verimli olacagi anlasildigindan 68k tamamen devreden cikarilmis.

68k islemcinin sokulmesi durumda sistemin calisacagini sanmiyorum, cunku bildigim kadariyla blizzard ve cyberstormlarda ana islemci 68k. 68k ucarsa ppc nin baslamasi, ram'e erismesi filan mumkun degil.


Konu Başlığı: Ynt: Executable bir dosyanın classic amiga için olduğunu anlamak
Gönderen: witchdoktor üzerinde Aralık 07, 2007, 00:49:13 ÖÖ
Alıntı
misal, IBrowse'un PPC versiyonu yok. OS4 uzerinde 68k emulasyonu ile calisiyor. OS4 klasik versiyonda bile 68k islemci sistemde olmasina ragmen kullanilmiyor. 68k programlar emulasyon ile calistiriliyorlar.

Bu ilginc geldi bana. Esasinda sistemde 68k islemci varsa onu kullanabilirdi. O zaman turbokarttan 68k islemciyi sökünce calisir mi OS4?

Ya da akillica bir startup-sequence ile 68k üzerinde calisan OS3.1'i AGA modunda, OS4'ü de PPC ve Bvision üzerinden VGA monitöre gönderip iki isletim sistemini ayni anda calistirsak mesela... :)

Farklı mimaride iki işlemciyi paralel çalıştırmak, özellikle güçlü işlemcinin "context switching" vb işlemlerde ciddi oranda performans kaybına neden olduğundan bekleneni vermiyor.