Dreamcast'ın Mimarisi

Rodrigo Copetti tarafından hazırlanan pratik bir analiz

EuropaYou tarafından çevrildi

Orijinal makalenin tamamen gönüllülük esasına dayalı bir çevirisidir. Herhangi bir hata bulursanız, lütfen düzeltilmesine katkıda bulunun. Teşekkürler!

Erişilebilirlik araçları veya eski tarayıcılar kullanıyorsanız, 'klasik' sürüme geçin.




Destekleyici görüntüler

Model

Image
Dreamcast.
Japonya'da 29/11/1998, Amerika'da 09/09/1999 ve 14/10/1999'da Avrupa'da satışa sunuldu.

Anakart

Image
Anakart
Revizyon 'VA1' gösteriliyor.
Resmi dokümanlarda sistemin 128KB flash bellek içerdiği belirtilirken, bu anakart nedense 256KB EEPROM yongası içeriyor.
Pil ve denetleyici bağlantı noktaları 'Ön panel' adı verilen bir ek kartta bulunuyor.
Image
Önemli parçaları etiketlenmiş anakart

Diyagram

Image
Ana mimari diyagramı
Önemli veri yolları genişlikleri ve hızları ile etiketlenmiştir.

Giriş

Sega Dreamcast, hem oyun geliştiricilerine hem de konsol oyuncularına hitap etmek için selefine (Satürn) göre birçok yeni özellik sundu. Bu Sega’nın konsol pazarını fethetmek için son girişimi olsa da, Dreamcast’te öncülük edilen bazı teknolojiler devam etti ve gelecekteki ana akım cihazlara taşındı.


İşlemci (CPU)

Hitachi için işler sorunsuz ilerliyordu, ikonik SuperH çipleri birden fazla müşteri bulmuştu ve şirket artık serinin dördüncü sürümü için hazırdı. Yeni girişleri, gömülü yetenekleri 3D oyunların sahip olduğu işlevsellikle birleştirecek.

SuperH’yi ilk benimseyenlerden biri olan Sega, yeni konsollarına güç sağlamak için şaşırtıcı olmayan bir şekilde Hitachi’nin son sevkiyatını seçti. Bu nedenle Dreamcast’te SH-4 CPU bulunmaktadır ve bu işlemci 200 MHz [1] hızında çalışmaktadır. Ayrıca, bu sefer işleri yoluna koymak için, sadece bir tam donanımlı CPU var.

Teklif

Bununla birlikte, bu yeni işlemci hakkında ilginç olan nedir?

Öncelikle, SH-4 önceki modellerin bir süper seti olarak devam ediyor, yani 32-bit RISC mimari, 5 aşamalı pipeline ve 16-bit instruction set dahil olmak üzere SuperH serisinin mevcut tüm özelliklerini miras alıyor. Ne yazık ki, aynı zamanda control hazards’ın da mirasçısıdır.

Image
SH-4 çipi.

Bunun da ötesinde, yeni nesil CPU olarak, gömülü uygulamaların kapsamının ötesine geçen birçok iyileştirme sunuyor [2]:

Özel bir çalışma

Bir oyun konsolu CPU’sunun ortak işleri arasında bir oyunun mantığını idare etmek, düşman yapay zekasını çalıştırmak ve GPU’yu instruction’la beslemek yer alır.

Dreamcast ile GPU’nun yalnızca rasteriser görevlerini yerine getirdiğini göreceksiniz. Dolayısıyla, CPU’nun grafik işlem hattının büyük bir kısmına dahil olması gerekir. Bu, CPU’nun büyük miktarda geometri verisini işleyeceği anlamına gelir (perspektif dönüşümlerini hesaplamak gibi). Şimdi, CPU’nun bu rolü sürdürebilmesini sağlamak için Sega ve Hitachi işbirliği yaparak SH-4’e iki önemli eklenti eklediler.

İlk eklenti özel bir 64-bit Kayan Nokta Birimi (FPU). Bu bileşen, IEEE-754 standardına uyarak 32 bit ondalık sayıları (‘tek hassasiyetli’ veya ‘float’ olarak adlandırılır) veya 64 bit olanları (‘çift hassasiyetli’ veya ‘double’ türü) hesaplar. Register dosyası otuz iki 32 bitlik register’dan oluşur, ancak bunlar aynı zamanda on altı 64 bitlik register’dan oluşan farklı bir grupta birleştirilebilir, bu da birimin double işlem yapabilmesini sağlar.

Bu yeterli gelmediyse, Hitachi FPU ile bir adım daha ileri gitti ve bu kez sekiz 128 bitlik register’dan oluşan başka bir register grubu oluşturmak için ekstra logic uyguladı. İçinde her bir register artık dört adet 32 bit float ya da başka bir deyişle 128 bit vektör olarak saklamaktadır. Bu format grafikle ilgili işlemler için idealdir.

Yeni vektörleri iyi bir şekilde kullanmak için FPU, Saturn Control Unit’in sağladığı gibi bunları çalıştırmak için özel instruction’lar içerir, ancak sektör artık daha standart hale gelmiştir. Yeni talimatlar genellikle Single Instruction Multiple Data (SIMD) olarak bilinen bir yapıya sahiptir ve aşağıdaki cebirsel işlemleri gerçekleştirebilir:

İkinci eklenti ise SH-4’ün artık 64 bit genişliğinde olan ve CPU’nun 32 bitlik değer çiftlerini aynı anda aktarabilmesini sağlayan harici bus’ıdır. Bu, bu CPU’nun genel performansına katkıda bulunan bir başka gelişmedir.

Bellek & erişim

Dreamcast’lerde 16 MB SDRAM bulunur ve 100 MHz bus (CPU hızının yarısı) kullanılarak doğrudan CPU’ya bağlanır.

Buna karşılık, belleğin data bus’ı sadece 32 bit genişliğindedir [4]. Bu, CPU’nun 64-bit data bus’ının boşa gitti anlamına mı geliyor? Hayır, çünkü RAM iki adet 8 MB bank kullanılarak takılmıştır. Yani, her bir çip CPU’nun data bus hatlarının yarısına bağlıdır.

Image
Bellek şeması.

Bu belleğe erişmek için CPU, sanal adresleme için özel bir Memory Management Unit veya ‘MMU’ içerir, bu CPU’nun fiziksel bellek adres alanı 29 bit genişliğinde olduğu için bu yararlıdır. Ayrıca, dört Translation Lookaside Buffers (TLB’ler) sayesinde programcılar 32 bit adresleri performans kaybı yaşamadan kullanabilirler.

Şimdi, adresleme için sadece 29 bit gerektiğinden, fazladan üç bit bellek korumasını kontrol eder, sırasıyla bellek haritasını değiştirir ve önbelleği atlatır [5] [6].

Nihayetinde, bu özelliklerin kullanılıp kullanılmayacağına programcı karar verir. Bu sistem için oyunlar kesinlikle bellek korumasına ihtiyaç duymaz ve MMU’nun açılışta manuel olarak etkinleştirilmesi gerekir.

UMA yok ama…

Bu sistem, tanınmış bir rakibi gibi katı Unified Memory Architecture veya UMA etrafında tasarlanmamış olsa da, G/Ç erişimini GPU’ya devretmektedir. Bu da CPU’nun kendi özel RAM’i ya da seri arayüzü (ki bunlar da bağlı) dışında bir şey alması gerektiğinde GPU’dan talepte bulunması ve gerekirse beklemesi gerektiği anlamına geliyor.

Bu CPU aynı zamanda Paralel I/O veya ‘PIO’ olarak adlandırılan ve aynı anda birden fazla I/O konumunu manipüle etmek için kullanılan benzersiz bir işleve sahiptir. Sega bu pinleri CPU’nun GPU’nun video modunu manipüle edebilmesi için bağladı (daha fazla ayrıntı ‘Grafikler’ bölümünde açıklanmıştır).

Yolun sonu

Bahsedilen tüm avantajlara rağmen, korkarım ki SuperH serisi son büyük kullanıcısı Dreamcast’in mağazaları terk etmesinden sonra önemli bir ilerleme kaydedemedi. SH-4’ün popülerliğinden sonra Hitachi (ya da şu anki sahipleri olan Renesas Electronics) aynı başarı seviyesini tekrarlayamadı ve gömülü/el tipi pazarın o zamandan beri ARM’ı tercih ettiğini düşünürsek (StrongARM sayesinde), Renesas’ın Hitachi’nin buluşunu yakın zamanda sürdüreceğini düşünmüyorum.

Ancak bilgisayarla ilgili iyi olan bir şey varsa o da teknolojik ilerlemenin markaların ve şirketlerin sınırlarının ötesine yayılma eğiliminde olmasıdır. Örneğin, SH’nin sıkıştırılmış komut tekniği ARM’nin Thumb modu (ikincil bir 16-bit ISA) ile devam etmiştir [7]. Ayrıca, 2012 yılında, ‘J2’ [8] adı verilen modern bir SuperH uyumlu CPU üretmek için gönüllülük esasına dayalı bir proje başlatılmıştır.


Grafikler

GPU paketi, 100 MHz hızında çalışan Holly adlı özel yapım bir çiptir. Önceki şirket içi tasarımların aksine Sega, rekabetçi bir 3D hızlandırıcı sağlamak için VideoLogic (şimdi Imagination Technologies olarak biliniyor) ile ortaklık kurdu.

Image
Holly chip (termal pedleri çıkardıktan sonra) ve video kodlayıcı.

Holly’nin içinde VideoLogic’in PowerVR2 (‘PowerVR Series2’ ve ‘CLX2’ olarak da anılır) adlı özel grafik devresini bulabiliriz, önceki PowerVR GPU’larını temel alır ancak Dreamcast için uyarlanmıştır.

Mimari

VideoLogic, 3D motorunun yapımı için Tile-Based Deferred Rendering (TBDR) adı verilen alternatif bir yaklaşım seçti.

TBDR, tüm kareyi bir kerede oluşturmak yerine (geleneksel Immediate Mode Renderers veya ‘IMR’nin yaptığı gibi [9]), oluşturma alanını ’karo’ adı verilen birden çok bölüme ayırır. Ardından, her bir karo üzerinde ayrı ayrı render işlemini gerçekleştirir ve sonuç nihai kareyi oluşturmak için birleştirilir [10].

Image
Sonic Adventure (1999).

Bu yenilikçi tasarım ilginç avantajları da beraberinde getiriyor:

Imagination’ın bu verimli teknolojiyi ileriye taşıyarak ilk nesil iPhone, iPhone 3G, Nokia N95 ve Dell Axim x51 gibi inanılmaz sayıda cihaza güç veren Seri 4 PowerVR çekirdeklerini üretmesi hiç de şaşırtıcı değil.

Mimarisi

Dreamcast’in GPU’sunun iki ana bileşenine bir göz atalım [11]:

Tile Accelerator

Image
Karo Hızlandırıcının Mimarisi.

Render işlemi başlamadan önce, Tile Accelerator olarak bilinen bir bileşen ön işleme gerçekleştirir. İşlem, geometrinin render edileceği birkaç 32x32 karo kutusu tahsis ederek başlar.

Ardından, Tile Accelerator:

  1. CPU tarafından verilen geometri verilerini ve çizim komutlarını alır (DMA veya geleneksel aktarımları kullanarak).
  2. Bu verileri dahili bir formata dönüştürür.
  3. Geometriyi koordinatlarına göre her birini dağıtır. Geriye kalan geometri ise atılacaktır.
  4. Ortaya çıkan Display List’lerini oluşturur.

Bu Display List’ler daha sonra 3D motoru tarafından işlenir: PowerVR2.

PowerVR2 Çekirdeği

Image
PowerVR2 Çekirdeğinin Mimarisi.

Grafiklerin hayata geçirildiği yer burasıdır, Tile Accelerator’dan alınan Display Lists çekirdeğe dahili bir çerçeve arabelleği kullanarak tek bir karenin geometrisini oluşturmasını söyler. Süreç şöyledir:

  1. Image Synthesis Processor (Görüntü Sentez İşlemcisi) veya ‘ISP’ ilkelleri (üçgenler veya dörtlüler) alır ve görünmeyen çokgenleri kaldırmak için Hidden-Surface Removal (Gizli Yüzey Kaldırma işlemi) gerçekleştirir. Ardından, Z tamponlarını ve şablon tamponlarını hesapladıktan sonra veriler, diğerlerinin arkasında görünecek çokgenlerin işlenmesini önlemek için Depth Testing (Derinlik Testi) ve bir 2B çokgenin (Mask (Maske) olarak da adlandırılır) arkasında yer almaları halinde görünmeyecek geometriyi ayıklamak için Stencil Tests (Şablon Testleri) işemlerinden geçer.
    • Bu testlerin boru hattının başlangıcında nasıl etkin bir şekilde gerçekleştirildiğine dikkat edin. Bunun aksine, late z-buffering kullanan önceki konsollar geometriyi pipeline’ın sonunda atmaktadır. ISP yaklaşımı, sonunda çöpe gidecek geometrinin işlenmesini önler [12] ve böylece kaynak tasarrufu sağlar.
  2. Texture and Shading Processor (Doku ve Gölgelendirme İşlemcisi) veya ‘TSP’ karo alanı üzerinde renklendirme, gölgelendirme ve çoklu efektler uygular.
    • Dokular karo dışa aktarılana kadar uygulanmaz, yani ortaya çıkan fazla çizim (varsa) dolgu oranını düşürmez.

İşlem tamamlandıktan sonra, işlenen karo VRAM’deki ana çerçeve arabelleğine yazılır. Bu işlem tüm karolar bitene kadar tekrarlanır. İşlem tamamlandığında, ortaya çıkan çerçeve arabelleği Video kodlayıcı tarafından seçilir ve video sinyali aracılığıyla gönderilir.

Büyük resim

Açık mimari farkın yanı sıra, Texture and Shading Processor, bu konsolun eski Saturn’den ne kadar uzak olduğu hakkında bir fikir veren birçok yetenekle birlikte gelir. İşte bazı önemli örnekler:

Detay Kazanma

Holly artık selefine göre ~10 kat daha fazla poligon çizebiliyor, işte model tasarımlarının artık o kadar da sınırlı olmadığını gösteren bir Önce ve Sonra örneği. Onları kurcalayın ve ne kadar fark olduğunu görün!

Tel ÇerçeveYüzeyDokular
3D model
Satürn için Sonic R (1997).
286 üçgen (veya 185 dörtgen).
Tel ÇerçeveYüzeyDokular
3D model
Dreamcast için Sonic Adventure (1999).
1001 üçgen.

Video Modları

Video sistemi birden fazla ekran türünü ve formatı destekleyecek şekilde tasarlanmıştır, bu nedenle video kodlayıcı aşağıdaki sinyal türlerini destekleyen tek şekilli bir sokete çıkış verir:

Şimdi, Dreamcast bunların hepsini aynı anda kodlayamaz, bu nedenle GPU ve Ses işlemcisi, istenen sinyali oluşturmak için hangi video/ses veri yollarının etkinleştirileceğini koordine eden Görüntü Modu adlı bir register içerir. CPU, takılan kablonun türünü algılar (video konektörünün hangi ‘seçme bitlerinin’ aktif olduğunu kontrol ederek) ve GPU’ya gerekli değerleri yazar. Son olarak, değerler Ses işlemcisine iletilir.

VGA kesinlikle aşamalı bir sinyal türü olduğundan (geleneksel interlaced sinyalin aksine), yalnızca interlaced video için tasarlanmış oyunlarda bazı uyumluluk sorunları ortaya çıkmıştır. Bu oyunların kodlarında açıkça belirtilmiştir ki oyun, VGA üzerinde görüntülenmeyecek ve kullanıcı VGA kablosunu başka bir türle değiştirene kadar CPU oyunu engelleyecektir.


Ses

Ses işlevselliği, Yamaha tarafından üretilen özel bir çip olan AICA tarafından yönetilir. Bu, Satürn’de kullanılan SCSP’nin geliştirilmiş bir versiyonudur ve dört bileşenden oluşur:

Geliştirmeye yardımcı olmak için, resmi SDK farklı ihtiyaçlar (sequencing, decoding, vb.) için birden fazla ses sürücüsü içeriyordu.

Evrim

Mega Drive/Genesis günlerinden bu yana çok yol kat ettik, ses sentezinde ne kadar ilerleme kaydedildiğini göstermek için, burada aynı kompozisyonu kullanan biri Mega Drive ve diğeri Dreamcast için iki oyun örneği var:

Sonic 3D Blast (1996) Mega Drive / Genesis
Bir önceki model, anında ses sinyalleri üretmek için FM sentezi gerçekleştirir.
Dreamcast için Sonic Adventure (1999).
Yeni ses alt sistemi PCM örneklerini sorunsuz bir şekilde işler.

Şarkı çalarken iki konsol arasında geçiş yapmak istiyorsanız bu widget’ı deneyebilirsiniz:

MegaDrive / GenesisDreamcast
MegaDrive / Genesis: Sonic 3D Blast (1996).
Dreamcast: Sonic Adventure (1999).

Açıklama

Sonic Adventure’ın bestecileri bir FM çipi programlamak yerine müziklerini kendi bünyelerinde üretmiş ve daha sonra CRI Middleware tarafından geliştirilen kayıplı bir format olan ’ADX’e kodlamışlardır. Dolayısıyla, 64 PCM kanalından yalnızca ikisini (stereo) kullanır.

ADX sıkıştırması, oyunun bellek veya bant genişliği sınırlaması olmadan GD-ROM’dan veriyi çözümlemesine ve akışa geçirmesine olanak tanır. Ayrıca, ana CPU ve ARM7’nin iş yükünü dengelemek için birden fazla yaklaşım mevcut olduğundan, ilgili sürücü birçok şekilde uygulanabilir.

Uyanık Kalma

Bir şekilde, bu çip aynı zamanda BIOS’a Real Time Clock (Gerçek Zaman Saati) (RTC) sağlamaktan da sorumludur, ayrıca AC gücü olmadan çalışmaya devam etmek için bir saat piline bağlıdır.


İşletim Sistemi

Bir BIOS depolayan 2 MB ‘System ROM’u vardır. Bu, CPU’nun başlatılırken okuduğu ilk konumdur. ROM, CPU’ya oyunu başlatma ya da shell’i gösterme talimatı veren kodu içerir.

Dahası BIOS, GD-ROM sürücüsünden okuma gibi I/O işlevlerini [13] basitleştirmek için oyunların kullanabileceği rutinler de içerir.

Etkileşimli shell

Sega Saturn’de olduğu gibi, geçerli bir oyun diski takılı değilse, konsol görsel bir shell başlatacaktır.

Image
Disk olmadan önyükleme yaptıktan sonra shell.

Shell, kullanıcının aşağıdaki gibi temel ancak gerekli görevleri yerine getirmesini sağlamak için basit bir grafik kullanıcı arayüzü içerir:

Windows CE

Dreamcast’in duyurulmasından bu yana, konsolun Windows CE’yi çalıştırabileceği söyleniyordu. Hatta sadece konsolun ön kasasına baktığınızda bile Microsoft’un damgasını görebilirsiniz… Burada ne oluyor?

Image
Konsolun ön tarafındaki Windows CE etiketi. Tesadüfen, aynı döneme ait diğer el cihazlarında da benzer etiketler bulabilirsiniz.

Her şeyden önce, ‘Windows CE’ tam olarak nedir? Bu, Microsoft’un 90’lı yılların ortalarında geleneksel PC pazarının ötesindeki bölgeleri fethetmek için giriştiği pek çok projeden sadece biri. x86’dan daha verimli CPU mimarileri ve el bilgisayarlarının ortaya çıkışının ardından, Microsoft’ta yeni bir ekip Windows ekosistemini bu yeni cihazlara taşımakla görevlendirildi [14].

Bu, Windows CE’nin ortaya çıkmasına yol açtı: mevcut Windows API’lerinin, geliştirme araçlarının ve hizmetlerinin bir alt kümesini sağlayan, sıfırdan geliştirilmiş eksiksiz bir işletim sistemi.

Image
Windows CE 3.0 (2000), bir masaüstü ve birkaç iş uygulaması ile birlikte gelmektedir.

Windows 95 ya da NT’nin aksine, yeni sistem aşağıdaki avantajları sunuyordu:

Image
Windows CE 2.0 çalıştıran bir HP Palmtop PC 360LX (1997). Ağustos 2024’te ziyaret ettiğim The Centre for Computing History’de (Cambridge, Birleşik Krallık) özellikle bunu gördüm. Tesadüfe bakın ki bu Palmtop bir SH-3 CPU barındırıyor!

Dahası, Windows CE üreticiler için bir dizi yapı taşı olarak satıldı ve hangi bileşenleri paketleyeceklerini seçmelerine izin verdi. Üreticiler daha sonra bunu çeşitli donanımlara (el bilgisayarları, satış noktası terminalleri ve hatta otomotiv sistemleri gibi) entegre edebilirler. Bununla birlikte Windows CE, Apple Newton ve Palm’a karşı etkin bir şekilde rekabet ederek Palmtop’lara (PDA’ların öncüsü) güç veren işletim sistemi olarak önemli ölçüde dikkat çekti.

Cep telefonu endüstrisi 90’ların sonunda yükselişe geçerken Microsoft, Windows CE’nin modülerliğinden yararlanarak tamamen PDA’lara ve telefonlara odaklanan bir başka işletim sistemi olan PocketPC‘yi (daha sonra ’Windows Mobile’ olarak bilinecek) geliştirdi.

Image
Windows CE 2.11 ‘Palm-size PC Edition’ 1.2 (1999)
Image
PocketPC (2000), Windows CE 3 tabanlı.
Microsoft’un Windows CE’yi PDA pazarına sokma girişimleri.

Şimdi, tüm bunların Dreamcast ile ne ilgisi var? Zamanın bir noktasında Microsoft ve Sega, Dreamcast [16] için bir Windows CE paketi üretme fikrini ortaya attı. Sonuçta, Windows CE zaten Hitachi’nin CPU’larının üzerinde çalışıyordu. Sonunda bu, eksiksiz bir masaüstü arayüzü veya Microsoft’un çevrim içi hizmetleriyle entegrasyon olarak hayata geçmedi. Bunun yerine, donanım işlemlerini basitleştirmek için isteğe bağlı bir soyutlama katmanı olarak görev yaptı.

Nintendo’nun Nintendo 64 ile sağladığına benzer şekilde Microsoft, Sega Dreamcast için uygulama programlamak üzere Windows CE tabanlı bir SDK (genellikle Dragon SDK olarak adlandırılır) gönderdi. Kütüphaneler, grafik, ses ve hata ayıklamaya yardımcı olmak için gereken minimum bileşenlerle CE’nin bir alt kümesini içeriyordu. ‘Microsoft kulübüne katılmanın’ bir parçası olarak, geliştiriciler artık geliştirme için Microsoft’un yıldız IDE’sini (Visual Studio 6.0) ve Visual C++ 6.0’ı kullanabileceklerdi.

Bazı geliştiriciler bu seçeneği çok cazip buldu. CE ile birlikte gelen ses-grafik çerçevesi DirectX 6’dan başkası olmadığından, o dönemin çoğu PC oyunu teorik olarak Dreamcast’e kolayca taşınabilirdi. Ancak Dreamcast ile geleneksel PC arasındaki mimari farklılıklar göz ardı edilemeyecek kadar büyüktü. Sonuçta, programcılar optimum performansa ulaşmak için büyük bir optimizasyon sürecinden geçmek zorunda kaldılar [17]. Ayrıca, Dreamcast’in BIOS’u Microsoft’un framework’lerinden hiçbirini içermediği için SDK’nın oyuna statik olarak bağlanması gerekiyordu. Böylece, Sega’nın low-level kütüphanelerine kıyasla, Dragon SDK oyunun yükleme sürelerini artırdı (sonuçta, oyun diskinden ayrı bir ‘işletim sistemi’ yüklenmesi gerekiyordu) ve oyunun yürütülmesi boyunca Windows CE katmanı önemli miktarda kaynak tüketti.

Sonuç olarak, ‘Dreamcast için Windows CE’ geliştiriciler için sadece ikincil bir SDK tercihiydi. Bununla birlikte, önemli sayıda Dreamcast oyunu bu özelliği kullanmıştır.

Windows CE ve Windows Mobile’ın akıbetini merak ediyorsanız, Microsoft için taşınabilir bilgisayar pazarında işler pek de iyi gitmedi. Windows CE 2013 yılında kullanımdan kaldırılmıştır. Bir yıl önce, Windows Mobile’ın CE tabanlı çekirdeği Windows NT ile değiştirildi (masaüstü tabanlı Windows 8 ile uyumlu olarak). Bununla birlikte, Windows Mobile sonunda daha yeni platformlar (Android ve iOS) karşısında yenilgiyi kabul etti ve 2019’da kullanımdan kaldırıldı.


Giriş/Çıkış

GPU ayrıca Sistem Veriyolu adı verilen G/Ç’nin çoğunu işlemek için başka bir modül içerir. Aşağıdaki arayüzleri sağlar:


Oyunlar

Geliştirme esas olarak C veya C++ ile yapılmıştır. Mevcut C++ derleyicileri başlangıçta işlevsellik (ve kalite) açısından çok sınırlı olduğundan, ilk başta C önerilen seçimdi.

Sega ayrıca Sega Katana Development Box adı verilen PC benzeri bir kule şeklinde geliştirme donanımı da sağlamıştır. Bu, geliştirme için geliştirilmiş G/Ç’ye sahip Dreamcast donanımıdır. Ayrıca resmi Katana SDK ve Windows 98 PC’ye kurulacak araçları içeren bir CD ile birlikte geldi.

Daha önce de belirtildiği gibi, geliştiriciler Sega’nınkine ek olarak Microsoft’un Dragon SDK’sını benimseme seçeneğine de sahipti. Bu durumda, DirectX 6.0 ve Visual C++ 6.0 kullanılabilir olacaktır.

Medya Ortamı

Oyunlar GD-ROM’larda saklanır; bunlar, daha yüksek yoğunluğa sahip CD-ROM’lar olup (bir gigabayt kapasitesine ulaşır), sadece çukurların daha yoğun bir şekilde yerleştirilmiş olduğu CD-ROM’lardır. Hızı 12x’dir, bu da Satürn’ün 2x CD okuyucusuna kıyasla oldukça iyidir.

Çevrim içi platform

Dreamcast, oyunların çevrim içi oyun için çevirmeli bir hizmeti ‘aramak’ için kullanabileceği bir modem modülü yüklü olarak gönderildi. Sega iki hizmet sağlıyordu: SegaNet (Amerika ve Japonya’da kullanılan) ve Dreamarena (Avrupa’daki muadili).

Oyuncular, bazı oyunlarla birlikte verilen ekstra bir disk olan DreamKey’i kullanarak bir hizmete kaydoldular. DreamKey bir hesap açmak için bir web tarayıcısı sağlıyordu. Başlangıçta, DreamKey bölgeye bağlı olarak önceden yapılandırılmış bir hizmet olarak geldi, ancak daha sonraki revizyonlar kullanıcıların herhangi birine bağlanmak için ISS ayarlarını değiştirmelerine izin verdi.

Ayrıca, kullanıcının internette PC tarzı sörf yapmak istemesi durumunda satın alınabilecek Dreamcast markalı bir klavye ve fare de vardı.

Ne yazık ki, SegaNet ve Dreamarena piyasaya sürüldükten iki yıl sonra durduruldu. Bu nedenle, bu tür hizmetler ekstra araçlar kullanılarak taklit edilmediği sürece (DreamPi gibi, bir kullanıcı topluluğu tarafından tutulan sunucuların yardımıyla bunları kopyalayan bir Raspberry Pi kopyası), yalnızca bunlara dayanan oyunlar kullanılamaz hale geldi.

Etkileşimli hafıza kartı

Dreamcast’in bir diğer yenilikçi özelliği de Visual Memory Unit ya da ‘VMU’ idi. Kontrol cihazına takılıdır ve bir bellek kartı olarak hizmet etmenin yanı sıra, [18] içeren tam teşekküllü bir cihazdır:

Image
VMU kontrolcüden ayrılmış.
Image
VMU takılı olmayan kontrolör.
Image
VMU takılı kontrolör.
  • Bir Sanyo LC86K87: 8 bitlik düşük güçlü bir CPU.
  • Dört ek simgeye sahip bir 32x48 Tek Renkli LCD: Çerçeve tamponu olarak 196 B XRAM (harici RAM) kullanılarak komut verilir.
  • İki seri konektör: Biri IN ve diğeri OUT için.
  • Altı fiziksel düğme: VMU kontrol ünitesinden ayrıldığında kullanılır.
  • 16 KB’lık bir Maske-ROM: BIOS-IPL’yi depolar.
  • 64 KB Flash: 32 KB tek bir programı saklamak için (konsoldan aktarılan) ve diğer 32 KB Dreamcast’in kayıtlarını tutmak için.
  • 512 B RAM: 256 B sistem için ayrılmıştır ve program için yalnızca 256 B kullanılabilir.

VMU’nun iki çalışma modu vardır:


Korsanla Mücadele ve Homebrew

Tescilli GD-ROM formatının kullanılması, oyunların izinsiz kopyalarının üretilmesini (ve diğer konsollarda çalıştırılmasını) engellemeye yardımcı oldu. Dreamcast oyunları aynı zamanda bölge kilitlidir, yani bir konsol farklı bir bölge için tasarlanmış bir oyunu çalıştırmayı reddedecektir.

Korsan Korumasını Yenmek

Uygulamada, Sega’nın büyük bir arka kapıyı açık bırakması nedeniyle korsan karşıtı önlemler tamamen işe yaramazdı: MIL-CD. Music Interactive Live-CD ya da ‘MIL-CD’ Sega tarafından bir Audio-CD’yi interaktif programlarla genişletmek için yaratılmış bir formattır… ve Dreamcast bununla uyumludur [19].

Sonunda, yetkisiz ticari diskler (hile yükleyiciler, film oynatıcılar, vb.) Sega’nın onayı olmadan konsolda çalışmak için MIL-CD’ler olarak gizlendi. Daha sonra, farklı bilgisayar korsanlığı toplulukları bu açığı inceledi ve CD-ROM’ları kullanarak korsan oyunları önyüklemek için geçici bir çözüm buldu. Bu da internette durdurulamaz bir ISO dalgasının yayılmasına neden oldu.

Sonrasında bazı sorunlar ortaya çıktı: GD-ROM’lar bir gigabayt veri depolayabilmesine rağmen, CD-ROM’lara sadece ~700 MB sığabiliyordu, peki ’ripper’lar daha büyük oyunları CD’ye sığacak şekilde nasıl küçültebilirdi? Sığdırana kadar müzik ve grafikleri yeniden sıkıştırarak. Hatta iki diske bölmeyi bile deneyebilirler. Sonuçta, oyun verileri artık tek bir blob değil (eski bir kartuştaki gibi), artık hiyerarşik olarak dosyalar ve dizinler halinde düzenleniyor.


Hepsi bu kadar

Image
Buraya bir sürü şey yazabilmek için almak zorunda kaldığım bir Dreamcast.
Yaşına göre çok da kötü değil!

Umarım makaleyi okumaktan keyif almışsınızdır. Yazıyı üniversitedeki son yılımın başlangıcında bitirdim.

Muhtemelen bundan sonra çok meşgul olacağım, ancak bu makaleleri yazmaktan keyif alıyorum, bu yüzden umarım bir sonraki makaleyi birkaç hafta içinde alırsınız!

Bir dahaki sefere kadar!
Rodrigo


Katkıda Bulunma

Bu makale Konsolların Mimarileri serisinin bir parçasıdır. Eğer ilginç bulduysanız lütfen bağış yapmayı düşünün. Bağışınız, mevcut ve gelecek makalelerin kalitesini artırmama yardımcı olacak araç ve kaynakların satın alınmasını finanse etmek için kullanılacaktır.

Donate with PayPal
Become a Patreon

Ayrıca eBook sürümünü İngilizce olarak da satın alabilirsiniz. Kârları bağış olarak kabul ediyorum.

Image

Bu makale için arzu edilen araçların ve en son kazanımların bir listesi burada takip edilmektedir:

### Interesting hardware to get (ordered by priority)

- Nothing else, unless you got something in mind worth checking out

### Acquired tools used

- A Dreamcast console with controllers and VMUs (£40)
- A game (Sonic Adventure, £9)

Alternatif olarak, değişiklikler önererek ve/veya çeviriler ekleyerek yardımcı olabilirsiniz.


Copyright and permissions

This work is licensed under a Creative Commons Attribution 4.0 International License. You may use it for your work at no cost, even for commercial purposes. But you have to respect the license and reference the article properly. Please take a look at the following guidelines and permissions:

Article information and referencing

For any referencing style, you can use the following information:

For instance, to use with BibTeX:

@misc{copetti-dreamcast,
    url = {https://www.copetti.org/writings/consoles/dreamcast/},
    title = {Dreamcast Architecture - A Practical Analysis},
    author = {Rodrigo Copetti},
    year = {2019}
}

or a IEEE style citation:

[1]R. Copetti, "Dreamcast Architecture - A Practical Analysis", Copetti.org, 2019. [Online]. Available: https://www.copetti.org/writings/consoles/dreamcast/. [Accessed: day- month- year].
Special use in multimedia (Youtube, Twitch, etc)

I only ask that you at least state the author’s name, the title of the article and the URL of the article, using any style of choice.

You don’t have to include all the information in the same place if it’s not feasible. For instance, if you use the article’s imagery in a Youtube video, you may state either the author’s name or URL of the article at the bottom of the image, and then include the complete reference in the video description. In other words, for any resource used from this website, let your viewers know where it originates from.

This is a very nice example because the channel shows this website directly and their viewers know where to find it. In fact, I was so impressed with their content and commentary that I gave them an interview 🙂.

Appreciated additions

If this article has significantly contributed to your work, I would appreciate it if you could dedicate an acknowledgement section, just like I do with the people and communities that helped me.

This is of course optional and beyond the requirements of the CC license, but I think it’s a nice detail that makes us, the random authors on the net, feel part of something bigger.

Third-party publishing

If you are interested in publishing this article on a third-party website, please get in touch.

If you have translated an article and wish to publish it on a third-party website, I tend to be open about it, but please contact me first.


Kaynaklar / Okumaya Devam Edin

Korsanlıkla Mücadele

İşlemci (CPU)

Oyunlar

Grafikler

İşletim Sistemi

Fotoğrafçılık


Rodrigo Copetti

Rodrigo Copetti

Umarım bu makaleyi beğenmişsinizdir! Yazar hakkında daha fazla bilgi edinmek istiyorsanız buraya tıklayın ve eğer desteklemek isterseniz buraya tıklayın

rsslinkedintwittergithub facebookreddit