Il labirinto a due processori: come la complessa architettura del Sega Saturn ha condannato la console
Otto processori specializzati, poligoni quadrati invece di triangoli e l'incubo di un programmatore della metà degli anni '90. Un'analisi dettagliata del perché il capolavoro ingegneristico di Sega si sia rivelato una fortezza impenetrabile per gli sviluppatori.
FactBox: Specifiche tecniche del Sega Saturn
Sottosistema
Componenti e specifiche
CPU centrali
2 × Hitachi SH-2 @ 28,6 MHz (processori RISC a 32 bit, ~25 MIPS ciascuno)
Sottosistema grafico
VDP1: rendering di sprite, poligoni (quad), riempimento, geometria 3D. VDP2: 4 piani di sfondo 2D indipendenti, calcoli hardware per orizzonte e trasparenza
Processore audio
Motorola 68EC000 @ 11,3 MHz + SCSP (Sega Custom Sound Processor / Yamaha YMF292, 32 canali)
Controller ausiliari
SCU (System Control Unit / DSP), CD-ROM MCU (Hitachi SH-1)
RAM totale
2 MB Work RAM (1 MB High RAM + 1 MB Low RAM) + 1,5 MB VRAM + 512 KB Sound RAM
Larghezza di banda del bus
Picco di 28,6 MB/s
01. La risposta di Sony: una riprogettazione dell'architettura dettata dal panico prima del lancio
All'inizio degli anni '90, Sega era all'apice del suo potere. Il dominio della console Sega Mega Drive (Genesis) in Nord America e Europa diede al management una fiducia smisurata nel futuro. Il reparto di ingegneria hardware guidato da Hideki Sato iniziò a sviluppare una piattaforma di nuova generazione con il nome in codice "Project Gigadrive", che in seguito si evolse nel Sega Saturn.
Il progetto originale del Saturn era stato concepito per essere l'assoluto re della grafica 2D. Gli ingegneri trassero ispirazione dalla ricca eredità arcade di Sega, credendo che la grafica 3D sarebbe rimasta un'attrazione di nicchia per molto tempo. La console fu progettata per prestazioni impeccabili con centinaia di sprite, una tavolozza di colori profonda e uno scrolling multistrato.
Tuttavia, nell'autunno del 1993 alla fiera Shoshinkai, si verificò un cambiamento epocale: Sony dimostrò pubblicamente al pubblico e ai partner una demo tecnologica della sua imminente console PlayStation. La dimostrazione interattiva in tempo reale 3D di una testa di dinosauro T-Rex e di un simulatore di guida scioccò il management di Sega. Si scoprì che il chip della Sony PlayStation, sviluppato in collaborazione con LSI Logic, poteva calcolare senza sforzo centinaia di migliaia di triangoli ombreggiati e texturizzati al secondo.
Realizzando che l'attuale design del Saturn avrebbe perso contro il concorrente agli albori dell'era 3D, il management di Sega ordinò una revisione d'emergenza dell'architettura. Ma non c'era più tempo per progettare da zero un processore grafico completamente nuovo. Fu presa una decisione fatidica: aggiungere una seconda unità di elaborazione centrale Hitachi SH-2 all'architettura e tentare di parallelizzare i calcoli grafici e geometrici.
Questa fretta fece sì che il sistema mancasse di un bus unificato e coerente con la cache. Il secondo processore fu letteralmente "saldato" in parallelo all'infrastruttura esistente, trasformando la scheda madre del Saturn in un labirinto caotico di otto microchip in competizione per l'accesso alla memoria condivisa.
02. Due SH-2 e chip video VDP1/VDP2: il genio del 2D contro l'inevitabile 3D
Per comprendere la complessità del Sega Saturn, basta guardare alla composizione del suo chipset. La scheda madre della console ospitava:
• Master CPU: Hitachi SH-2 (Main logic, geometry)
• Slave CPU: Hitachi SH-2 (Auxiliary computations)
• VDP1: Geometry, sprite, and quad video processor
• VDP2: Background planes and special effects video processor
• SCU: System Control Unit with built-in DSP
• Sound CPU: Motorola 68EC000
• SCSP: Yamaha YMF292 sound chip
• CD-ROM Controller: Hitachi SH-1

Divisione del lavoro: VDP1 e VDP2
Il sistema grafico era diviso tra due processori altamente specializzati:
• VDP1 handled object rendering: characters, vehicles, and environmental elements. It worked with sprites and polygons, calculating transforms, texture mapping, and simple shading effects.
• VDP2 was a monstrous 2D co-processor. It could simultaneously output up to four independent scrolling background layers at resolutions up to 704×480 pixels, perform hardware floor and sky plane rotation, and compute heat haze and transparency effects.
Quando gli sviluppatori impararono a combinare correttamente entrambi i chip (come fece AM2 in Virtua Fighter 2 o Sega Rally Championship), il Saturn offrì una qualità visiva sbalorditiva: VDP2 gestiva interamente il rendering dell'orizzonte, della pista e del cielo senza consumare risorse della CPU, mentre VDP1 concentrava tutta la sua potenza su modelli di combattenti o auto 3D altamente dettagliati.

Colli di bottiglia di memoria e bus
Il principale difetto del sistema risiedeva nella sua struttura RAM frammentata. Invece di un unico pool RAM uniforme, il Saturn presentava:
• 1 MB High-speed Work RAM (32-bit bus)
• 1 MB Low-speed Work RAM (16-bit bus)
• 512 KB Framebuffer VRAM for VDP1
• 512 KB Texture VRAM for VDP1
• 512 KB Background VRAM for VDP2
Se entrambi i processori SH-2 tentavano di accedere alla stessa area di memoria contemporaneamente, si verificava una contesa del bus hardware e una delle CPU si bloccava semplicemente in stati di attesa. Senza il linguaggio assembly e una delicata sincronizzazione del clock, il secondo SH-2 spesso rimaneva inattivo, eseguiva cicli inutili o interferiva apertamente con la CPU principale.
03. Quad contro Triangoli: perché effettuare il porting da PS1 fu un inferno
L'industria della grafica 3D era basata sullo standard de facto: la griglia triangolare (poligoni triangolari). Un triangolo è la forma geometrica piana più semplice definita da tre punti nello spazio. PlayStation, Nintendo 64 e gli acceleratori grafici per PC (3dfx Voodoo, Direct3D, OpenGL) erano originariamente progettati per funzionare con i triangoli.
Il Sega Saturn andò contro il mondo intero: il suo chip grafico VDP1 non poteva rasterizzare i triangoli. La primitiva principale del Saturn era un quadrilatero distorto (Quad), essenzialmente uno sprite texturizzato deformabile.

Parametro di rendering
Sony PlayStation (Triangoli)
Sega Saturn (Quad)
Primitiva di base
Triangolo (3 vertici)
Quadrilatero / Quad (4 vertici)
Unione di poligoni
Allineamento esatto dei bordi
Rischio di formazione di spazi vuoti e buchi
Correzione della prospettiva
Mappatura di texture affine hardware
Deformazione dello sprite su 4 punti
Emulazione di formato estraneo
Standard industriale nativo
Richiede quad "degenerati" (2 punti sovrapposti)
Problemi di porting multiplatform:
• Lack of Hardware Stitching (Gaps & Overlapping): When attempting to build a complex 3D model out of quads, rotating the camera inevitably caused quad vertices to separate, forming visible gaps and holes through which the background peeked.
• Zero Coordinates: To draw a triangle on the Saturn, programmers had to define a quadrilateral where two vertices overlapped at the same point. VDP1 wasted resources processing the degenerate edge, lowering rendering performance.
• Texture Distortion: Trying to wrap a 2D texture onto a deformed quad without perspective correction resulted in warped, "wobbly" textures.
• Engine Rewriting: Major publishers (including EA, Capcom, and Konami) refused to rewrite their game geometry for quads. Simple ports from PlayStation to Saturn shipped with terrible frame rates, missing effects, and graphical glitches.
04. Yu Suzuki e Shenmue: come spremere l'impossibile dal Saturn
Nonostante l'inferno architettonico, il team interno AM2 di Sega, sotto la guida del leggendario game designer e ingegnere Yu Suzuki, compì veri e propri miracoli tecnologici.
Suzuki e il suo team scrissero il codice direttamente in assembly, aggirando i compilatori imperfetti di Sega. Impararono a distribuire manualmente i compiti tra i due chip SH-2: un processore era dedicato interamente ai calcoli di geometria e collisione, mentre l'altro gestiva l'animazione, l'input e la logica dell'IA.

La leggenda di Saturn Shenmue (Project Berkeley)
Il progetto più ambizioso per il Saturn fu lo sviluppo di Shenmue (allora noto con il nome in codice Project Berkeley). AM2 creò un RPG in mondo aperto 3D perfettamente funzionante con un ciclo giorno-notte, centinaia di PNG unici e un dettagliato mondo dell'antica Cina.
Quando anni dopo emersero i filmati del prototipo di Shenmue per Sega Saturn, il pubblico rimase sbalordito: una piattaforma ritenuta inadatta al vero 3D offriva un livello grafico paragonabile ai primi giochi per Dreamcast e PlayStation 2! Tuttavia, il prezzo di questo successo fu troppo alto: creare un tale motore richiese anni e milioni di dollari, accessibili solo allo studio principale di Sega.

Verdetto finale
Il Sega Saturn rimane nella storia come un monumento maestoso e tragico del pensiero ingegneristico. La console era in anticipo sui tempi riguardo all'elaborazione multi-core, ma si è rivelata troppo complessa per un'era in cui i toolchain di sviluppo erano agli inizi. Ingiustamente dimenticato dal grande pubblico, il Saturn ha regalato al mondo capolavori senza tempo e ha insegnato all'intera industria dei videogiochi una lezione cruciale: l'equilibrio e la facilità di sviluppo sono sempre più importanti della pura potenza non ortodossa.



