Emülator yapmak için hangi dil bilmek gerekir?

706111

Hectopat
Katılım
28 Ağustos 2023
Mesajlar
6.020
Makaleler
1
Çözümler
29
GB, GBA için emülator yapmak istiyorum.

Tam olarak hangi dil öğrenmek görekir?
 
Tam anlayamadım kodlamak mı istiyorsun kullanmak mı?
Kodlamak istiyorum.

Hangi dili bilmen gerektiğinin bir önemi yok. Seçtiğin dile yüksek oranda hakim olman gerekir.
İzlediğim tüm kursalar bununla alakalı bilgiler vermiyor.
Emülator yapanların kursu da sanki biliyormuş gibi davranıyor.

Java biliyorum ben. OOP'de ama yetersiz. İzlediğim tüm kursalarda bu minimalde. İş hayatı için yani.

Ne yapmam gerekir?
Ufacık mentorluk yapar mısın?
 
Son düzenleme:

  1. C/C++: performans odaklı ve düşük seviye işlemler için oldukça uygundur. Birçok popüler emülatör C veya C++ ile yazılmıştır.
 
Zamanında NES emülatörü yazmaya soyunmuş biri olarak söylüyorum. Emülatör yazacaksan, hedef cihazın donanımları hakkında çok iyi bilgi sahibi olmalısın. Örneğin GameBoy'un işlemcisi, PPU'su; PPU'nun nasıl görüntü çizdiği, işlemcinin çevre donanımlarla nasıl haberleştiği, adresleme modları, bank switching sistemi falan filan... Bunları emüle etmen için iyi bir sayısal mantık bilginin olması gerekli, çünkü dijital elektronik dediğimiz şey, mantık kapılarını temel alarak oluşmuştur.

Emülatör yazmayı bu yüzden tak diye hiçbir programlama kursu sana vermez. Zor iştir; ileri düzeyde bilgisayar mimarisi, matematik; bazen de elektronik bilgisi gerektirebilir.

Bana soracak olursan GameBoy emülatörü yazmak iyi bir başlangıç noktası. Ama dediğim gibi, tak diye bir ürün ortaya koyamayacağını bilmelisin. Hedef mimariyi detaylıca araştırman lazım. GameBoy gibi sistemlerin assembly dili x86 kadar zor olmayacağı için öğrenmeni tavsiye ederim, makinenin nasıl çalışacağını anlamada çok çok işine yarar.
 
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Yaptınız mı hocam? Yada ilerleme kaydettinzi mi?
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…