deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (hnrss.org)

frank-386, RP2350 kartında VGA ve sesle DOS ile Windows 95'i çalıştırıyor

Tiny386 emülatörünün açık kaynaklı bir uyarlaması, Raspberry Pi Pico 2 gibi RP2350 kartlarını VGA ya da HDMI görüntü, emüle edilmiş Sound Blaster sesi ve SD kart disk imajlarıyla çalışan i386 PC'lere dönüştürüyor.

frank-386, RP2350 kartında VGA ve sesle DOS ile Windows 95'i çalıştırıyor

frank-386 adlı bir proje Hacker News'in ana sayfasında ortaya çıktı; Raspberry Pi Pico 2'nin altındaki mikrodenetleyici olan RP2350 üzerinde doğrudan çalışan bir i386 PC emülatörü sunuyor. Projenin GitHub deposuna göre firmware, DOS, Windows 3.x, Windows 95 ve Linux'u başlatıyor, VGA ya da HDMI bir ekranı sürüyor ve şaşırtıcı derece eksiksiz, döneme uygun çevre birimleri setini emüle ediyor.

Neler emüle ediliyor

Firmware, Chunhui He'nin yazdığı x86 PC emülatörü Tiny386'ın, Mikhail Matveev ve DnCraptor tarafından RP2350 için uyarlanmış bir sürümü. CPU çekirdeği, kısmi i486 ve i586 desteğiyle tam i386 mimarisini işliyor ve isteğe bağlı bir x87 kayan nokta birimi etkinleştirilebiliyor. Bellek, harici PSRAM ile desteklenen en fazla 8 MB'a ulaşıyor; bu da 8 MB PSRAM'e sahip kartları zorunlu kılıyor — çipin dahili RAM'i bir PC için hiç de yeterli değil.

Görüntü, VGA ya da HDMI üzerinden 640x480'e kadar metin ve grafik çözünürlüklerinde çalışıyor. Bir mikrodenetleyici projesi için ses desteği alışılmadık derecede kapsamlı: README'de AdLib OPL2, Sound Blaster 16, PC Speaker, Tandy, Covox ve Disney Sound Source emülasyonu listeleniyor; ses ya bir I2S DAC ya da basit PWM çıkışı üzerinden veriliyor.

Depolama, giriş ve çalışma zamanı denetimleri

Disk imajları, SPI üzerinden bağlanan FAT32 biçimli bir SD kartta duruyor. 386 adlı dizin, gerekli SeaBIOS ve VGA BIOS ROM dosyalarını disket, sabit disk ve CD-ROM imajlarının yanında barındırıyor — standart 1,44 MB disketler, 2 GB'a kadar raw disk imajları ve ISO 9660 dosyalarının tümü kabul ediliyor. Win+F12 ile açılan çalışma zamanı disk yöneticisi, imajları yeniden başlatma olmadan değiştirmenizi sağlıyor ve emülatör bu değişiklikleri otomatik olarak config.ini dosyasına geri yazıyor.

Giriş için bir PS/2 klavye ve fareyi doğrudan GPIO pinlerine bağlayabilir ya da USB versiyonlarını RP2350'nin yerleşik USB host portuna takabilirsiniz — ancak USB HID'yi etkinleştirmek USB seri konsolunu kapatıyor ve debug çıktısını UART'a yönlendiriyor. NES gamepad'leri de destekleniyor; bu modda D-pad imleç hareketine eşlenirken B ve A tuşları sol ve sağ tık olarak çalışıyor. Win+F11'deki ayarlar menüsü bellek boyutu, CPU nesli, FPU anahtarı, tek tek ses aygıtları ve saat frekanslarını sunuyor.

Desteklenen kartlar ve derleme

Firmware, video, depolama ve giriş konektörlerini zaten üzerinde barındıran RP2350 kartlarını hedefliyor: FRANK geliştirme kartı, M1 ve M2 varyantlarıyla Murmulator retro-bilgi işlem platformu, Olimex PICO-PC ve Waveshare RP2350-PiZero; her birinin kendi GPIO yerleşimi var.

Kaynak koddan derlemek için Raspberry Pi Pico SDK 2.0 ya da daha yenisi ile bir ARM GCC araç zinciri gerekiyor. Bir derleme betiği kart yerleşimini ve saatleri seçiyor — RP2350 varsayılan olarak 378 MHz'de ya da 504 MHz'de çalışıyor, PSRAM ise 133 ya da 166 MHz'de — ve ortaya çıkan UF2 dosyaları BOOTSEL modunda picotool ile flaşlanıyor. README'de döneme uygun sorun giderme ipuçları da var: Windows 95 kurulumu bellek denetimini atlamak için /im bayrağını istiyor ve başlangıçtaki "protection error" hataları patcher9x aracıyla çözülüyor.

Neden önemli

RP2350 bir PC platformu değil, genel amaçlı bir mikrodenetleyici; üstelik ucuz ve halen üretiliyor. Böyle bir çipten Windows 95 başlatan ve Sound Blaster sesini yeniden üreten kullanılabilir bir 386 sınıfı makine çıkarmak, hem mikrodenetleyici işleme gücünün hem de açık emülasyon kodunun ne kadar ilerlediğini gösteriyor. Proje ayrıca açık kaynak katmanlamasının güzel bir örneği: Tiny386'nın CPU ve çevre birimi çekirdeğine dayanıyor, RP2350 entegrasyon desenlerini Pico-286 ve QuakeGeneric'den ödünç alıyor ve QEMU'nun aygıt emülasyonunu yeniden kullanıyor; uyarlaması MIT lisansıyla yayımlanmış durumda. Retro-bilgi işlem meraklıları içinse bu, kurtarılmış eski donanımlar yerine yeni, raflardan alınabilecek parçalardan oluşturulmuş cebe sığan bir DOS makinesi anlamına geliyor.

  • #emulation
  • #retro-computing
  • #rp2350
  • #raspberry-pi
  • #open-source

İlgili yazılar