the scene > music

Pieces of 8-bit by Genesis Project

(1/3) > >>

skate:
Gördüğüm en iyi music collection interfacelerinden. Harika iş çıkarmışlar.
http://csdb.dk/release/?id=119543

gibraltar:
Vice emülatörde nasıl çalışır bu?

skate:
Drag & drop yeterli. Ancak "Options > True Drive Emulation"'ın açık olduğundan emin ol. Bu ara yüklemeli tüm demo ve uygulamalar için geçerli. Kısacası PRG ise drag & drop yap, çalışır. D64 ise drag & drop yapmadan önce dediğim ayarın açık olduğuna emin ol. Bazı ayarlara bağlı olarak PRG'yi drag & drop yaptığında otomatik kapanabiliyor o ayar. Her defasında kontrol et.

gibraltar:
"Options > True Drive Emulation" açınca çalıştı.
True Drive Emulation'un bunu yapabilmesinin nedeni nedir? Veya şöyle sorayım; VICE neden normal şartlar altında "True Drive Emulation = On" çalışmıyor.

skate:
Bunun cevabı tahmin edebileceğinden daha uzun ama özetlemeye çalışıcam.

Öncelikle Commodore 64'ün disk drive'ı IEC serial bus üzerinden veri aktarımı yapıyor. IEC bir standart ve normalde Commodore 64'ün 40-50 kb'lık dosyayı yüklemesi dakika mertebelerini bulabilirken Vice emülatörü bu süreyi bekletmemek adına PC'nin yükleme hızını kullanarak milisaniyeler mertebesine indirebiliyor yükleme süresini. Bu "True Drive Emulation"ın kapalı olduğu durum. Avantajı büyük, çat diye yüklüyor dosya.

ışin karıştığı nokta Commodore 64'ün disk drive'ının (1541, 1541-II, 1571 ve diğerleri) yapısından kaynaklanıyor. Disk drive aslında Commodore'a yakın bir bilgisayar. :) Kendi 6502 işlemcisi var. ~1 Mhz (C64 ile aynı) ve 2 KB RAM, 16 KB ROM'a sahip. Elbette ki ROM'da yer alan Kernal rutinleri kullanılarak standart biçimde yükleme yaptırılabiliyor ki Vice'ın True Drive Emulation kapalı modu bunu simüle etmek için yeterli. Ancak istersen kendi loaderını da yazabiliyorsun. Yani disketin üzerindeki datanın nasıl okunacağını, bu okuma işlemleri sırasında bilgisayarın eş zamanlı olarak neler yapıp yapmayacağını tamamen sen ayarlayabiliyorsun. Eğer amaç sadece dosya yükelemekse Fast Loader dediğimiz, tek amacı hızlıca dosyayı yüklemek olan loaderlar devreye giriyor. Amaç daha fazlasıysa, yani yüklerken bilgisayarın bir şeyler yapmaya devam etmesini istiyorsak bu durumda çok daha karmaşık yapıdaki IRQ Loaderlar kullanılıyor. Bu bahsettiğim loaderlar öncelikle drive'ın hafızasına transfer ediliyor ve burada drive'ın CPU'su tarafından kodlar çalıştırılarak veri disketten okunuyor, düzenleniyor (çünkü bit bit okunuyor!) ve Commodore 64'ün hafızasına transfer edilmek üzere hand shaking yapılıyor.

ışte Vice'ın "True Drive Emulation" özelliği drive'ı da bir bilgisayar gibi emüle ederek bu loaderların çalıştırılmasını sağlıyor. Bu özellik kapatıldığında yalnızca standart IEC modundaki yüklemeler başarılı oluyor.

Disketten tek parça bir dosya yüklenirken genellikle (dosyanın yaratılma biçimiyle ilgili çok özel bir durum olmadıkça) IEC başarılı olur. Ancak yüklenen dosya çalıştırıldıktan sonra ikinci bir dosya yüklenecekse bu yüklemenin nasıl olacağı o uygulamaya bağlıdır. Genellikle ara yüklemeli oyun ve demoların %99'u özel bir loader kullanırlar. Bu nedenle True Drive Emulation açık olmadığı durumlarda ilk dosya başarıyla yüklese bile gerisi düzgün yükleyemez. Hatta hatta birçok loader program ilk çalıştırıldığında initialize eder. Bu noktada True Drive Emulation kapalıyse initialization başarısız olur ve daha ilk parça bile çalışamadan program kilitlenir kalır.

şimdi gelelim True Drive Emulation ile diğer detaylara. PRG dosyaları tek parça dosyaları ifade eder. D64 dosyaları ise birden fazla dosyanın yer alabileceği disk imajlarıdır ve disketin bir yüzünü temsil eder. PRG sürüklenip bırakıldığında Vice'da eskiden otomatik olarak True Drive Emulation kapanırdı ki hızlıca dosya çalışsın, uzun uzun yükleme beklenmesin. Ancak son versiyonlarda bir özellik geldi bu durumun yarattığı problemleri çözmek adına.

"Settings->Autostart settings" bölümünde "PRG autostart mode" ayarı bu sorunu gidermek için hazırlandı. Varsayılanı hala eski ayarda yani "Virtual FS". Ama istersen "Inject to RAM" seçerek True Drive Emulation ayarı değişmeden doğrudan PRG'yi RAM'e gömebilirsin. Üçüncü ayar olan "Disk Image" de yine True Drive Emulation ayarını korumak adına otomatik olarak PRG'yi geçici bir D64 imajı yaratıp içine koyarak çalıştırıyor.

Umarım açıklayıcı olmuştur.

Navigasyon

[0] Mesajlar

[#] Sonraki Sayfa

Tam sürüme git