ATÖLYEDEN · C / Z80
C projesinden Z80 IDE'ye
Z80 projem iki ilgiyi birleştiriyor: klasik bir işlemcinin anlaşılır dünyası ile bugün C öğrenme yolculuğum.
Anlamak için kendi modelim
Z80 simülatörü, işlemcinin çalışma biçimini anlaşılır hâle getirmeyi amaçlıyor. Komutlar, yazmaçlar, bellek ve giriş/çıkış birbirinden ayrı parçalar olarak değil, birbiriyle bağlantılı tek bir sistem olarak çalışmalı.
Beni çeken de tam olarak bu açıklık. Küçük bir işlemci belirgin bir çerçeve sunuyor: Her komutun bir görevi, her bellek alanının bir anlamı var ve her adım gözlemlenebiliyor.
Bir emülatörden fazlası
Simülatörden zamanla kendi geliştirme ortamımı kurma fikri doğdu. Bu nedenle proje birkaç parçadan oluşuyor:
- Z80 komutları için bir emülatör,
- assembler ve program yürütme,
- debugger ile izlenebilen yazmaçlar ve bellek alanları,
- giriş/çıkış ve bir GTK arayüzü.
Her parça kendi başına anlaşılabilir. Bir araya geldiklerinde program yazılabilen, çalıştırılabilen ve adım adım incelenebilen bir ortam ortaya çıkıyor.
C neden bu projeye uygun?
C önemli konuları görünür tutmaya zorluyor: veriler, bellek, fonksiyonlar ve işlem sırası. Bu, yalın çalışma biçimime ve tekniğe mümkün olduğunca yakın kalma isteğime uyuyor.
GTK ile hazırlanan arayüz projenin yalnızca bir bölümü. Projenin merkezinde makineyi anlamak ve temiz, anlaşılır parçalar oluşturmak var.
Gelişmekte olan bir proje
Z80 simülatörü ve IDE adım adım büyüyor. Her parçanın hemen kusursuz olması gerekmiyor. Benim için önemli olan, her bileşeni anlayabilmek ve kendi kararlarımdan öğrenmek.
İleride başka yazılarda emülatör, assembler, debugger veya C koduyla GTK arayüzü arasındaki bağlantı gibi konular daha ayrıntılı ele alınabilir.