Двопроцесорний лабіринт: як складна архітектура Sega Saturn погубила консоль
Вісім спеціалізованих процесорів, квадратні полігони замість трикутників та кошмар програмістів середини 90-х. Детальний розбір того, чому інженерний шедевр Sega виявився неприступною фортецею для розробників.
FactBox: Технічні характеристики Sega Saturn
Підсистема
Компоненти та специфікації
Центральні CPU
2 × Hitachi SH-2 @ 28.6 MHz (32-бітні RISC-процесори, ~25 MIPS кожен)
Графічна підсистема
VDP1: рендеринг спрайтів, полігонів (квадратів), заливка, геометрія 3D. VDP2: 4 незалежних площини 2D-фонів, апаратний розрахунок горизонту та прозорості
Звуковий процесор
Motorola 68EC000 @ 11.3 MHz + SCSP (Sega Custom Sound Processor / Yamaha YMF292, 32 канали)
Допоміжні контролери
SCU (System Control Unit / DSP), CD-ROM MCU (Hitachi SH-1)
Загальний об'єм RAM
2 MB Work RAM (1 MB High RAM + 1 MB Low RAM) + 1.5 MB VRAM + 512 KB Sound RAM
Пропускна здатність шини
Пікові 28.6 MB/s
01. Відповідь Sony: панічне перероблення архітектури перед релізом
На початку 1990-х років компанія Sega перебувала на піку своєї могутності. Домінування консолі Sega Mega Drive (Genesis) у Північній Америці та Європі давало керівництву впевненість у завтрашньому дні. Конструкторський відділ на чолі з Хідекі Сато розпочав розробку платформи наступного покоління під кодовою назвою «Project Gigadrive», яка згодом переросла у Sega Saturn.
Первісний проєкт Saturn створювався як абсолютний король 2D-графіки. Інженери орієнтувалися на найбагатшу аркадну спадщину Sega і вважали, що тривимірна графіка залишиться нішевим атракціоном ще довгий час. Консоль проєктувалася під бездоганну роботу з сотнями спрайтів, глибокою палітрою кольорів і багатошаровим скролінгом.
Однак восени 1993 року на виставці Shoshinkai стався тектонічний зсув: Sony вперше продемонструвала публіці та партнерам технологічне демо своєї майбутньої консолі PlayStation. Показ інтерактивної 3D-моделі голови динозавра T-Rex та гоночного симулятора в реальному часі поверг керівництво Sega в стан шоку. З'ясувалося, що чип Sony PlayStation, розроблений за участю LSI Logic, здатен без труднощів прораховувати сотні тисяч затінених і текстурованих трикутників на секунду.
Зрозумівши, що поточний варіант Saturn поступиться конкуренту на старті 3D-епохи, керівництво Sega віддало наказ екстрено переробити архітектуру. Але часу на створення нового графічного процесора «з нуля» вже не залишалося. Було прийнято рокове рішення: додати в архітектуру другий центральний процесор Hitachi SH-2 і спробувати розпаралелити графічні та геометричні обчислення.
Цей поспіх призвів до того, що система не отримала єдиної ефективної шини з кеш-когерентністю. Другий процесор був буквально «припаяний» паралельно до існуючої інфраструктури, перетворивши материнську плату Saturn на хаотичний лабіринт із восьми мікросхем, що конкурують за доступ до розділеної пам'яті.
02. Два SH-2 та відеочипи VDP1/VDP2: геній 2D проти неминучого 3D
Щоб зрозуміти складність Sega Saturn, достатньо поглянути на склад її чипсета. На материнській платі консолі розташовувалися:
• Master CPU: Hitachi SH-2 (Основна логіка, геометрія)
• Slave CPU: Hitachi SH-2 (Допоміжні обчислення)
• VDP1: Відеопроцесор геометрії, спрайтів і квадів
• VDP2: Відеопроцесор фонових площин і спецефектів
• SCU: Системний контролер управління з вбудованим DSP
• Sound CPU: Motorola 68EC000
• SCSP: Звуковий чип Yamaha YMF292
• CD-ROM Controller: Hitachi SH-1

Розподіл праці: VDP1 та VDP2
Графічна система була розділена між двома вузькоспеціалізованими процесорами:
• VDP1 відповідав за рендеринг об'єктів: персонажів, машин, елементів оточення. Він працював зі спрайтами та полігонами, розраховуючи їх трансформи, накладення текстур і прості ефекти затемнення.
• VDP2 являв собою монструозний 2D-сопроцесор. Він міг одночасно виводити до чотирьох незалежних прокручуваних фонових шарів з роздільною здатністю до 704×480 пікселів, виконувати апаратне обертання площини підлоги та неба, а також обчислювати ефект гарячого повітря і прозорості.
Коли розробники вчилися грамотно комбінувати обидва чипи (як це зробила студія AM2 у Virtua Fighter 2 або Sega Rally Championship), Saturn видавала картинку приголомшливої якості: VDP2 повністю бере на себе рендеринг горизонту, траси та неба без витрат ресурсів CPU, а VDP1 фокусує всі потужності на високодеталізованих тривимірних моделях бійців чи автомобілів.

Пляшкове горлечко пам'яті та шин
Головна біда системи полягала в розділенні оперативної пам'яті. Замість єдиного масиву RAM, Saturn мала:
• 1 MB High-speed Work RAM (32-бітна шина)
• 1 MB Low-speed Work RAM (16-бітна шина)
• 512 KB Framebuffer VRAM для VDP1
• 512 KB Texture VRAM для VDP1
• 512 KB Background VRAM для VDP2
Якщо обидва процесори SH-2 намагалися одночасно звернутися до однієї і тієї ж області пам'яті, виникала апаратна блокування шини (bus contention), і один із CPU просто завмирав в очікуванні. Без використання асемблера та ювелірної синхронізації тактів другий процесор SH-2 часто простаював, виконував марні цикли або зовсім заважав роботі основного CPU.
03. Квадрати проти трикутників: чому портувати з PS1 було пеклом
Індустрія тривимірної графіки будувалася на де-факто стандарті — трикутній сітці (Triangular Polygons). Трикутник — це найпростіша плоска геометрична фігура, що визначається трьома точками в просторі. PlayStation, Nintendo 64 і графічні прискорювачі для ПК (3dfx Voodoo, Direct3D, OpenGL) спочатку створювалися для роботи з трикутниками.
Sega Saturn пішла всупереч усьому світу: її графічний чип VDP1 не вмів растеризувати трикутники. Основним примітивом Saturn був спотворений чотирикутник (Quadrilateral / Quad), по суті який представляє собою деформований текстурований спрайт.

Параметр рендерингу
Sony PlayStation (Triangles)
Sega Saturn (Quads)
Базовий примітив
Трикутник (3 вершини)
Чотирикутник / Квад (4 вершини)
Стиковка полігонів
Точний збіг граней
Ризик утворення щілин і дір (Gaps)
Корекція перспективи
Апаратна афінна текстуризація
Деформація спрайта за 4 точками
Емуляція чужого формату
Рідний стандарт індустрії
Вимагає «вироджених» квадів (2 співпадаючі точки)
Проблеми при портуванні мультиплатформи:
• Відсутність апаратного склеювання (Gaps & Overlapping): При спробі побудувати складну 3D-модель з чотирикутників, при повороті камери вершини квадів неминуче розходилися, утворюючи видимі діри та щілини, крізь які просвічував фон.
• Нульові координати: Щоб намалювати трикутник на Saturn, програмістам доводилося задавати чотирикутник, у якого дві вершини збігалися в одній точці. VDP1 витрачав ресурси на обробку виродженої грані, що знижувало швидкість рендерингу.
• Текстурні спотворення: Спроба натягнути двовимірну текстуру на деформований чотирикутник без корекції перспективи виводила п'яні, «пливучі» текстури.
• Переписування рушіїв: Компанії-розробники (включаючи EA, Capcom і Konami) відмовлялися переписувати геометрію своїх ігор під квади. Прості порти з PlayStation на Saturn виходили з жахливою частотою кадрів, відсутніми ефектами та графічними багами.
04. Ю Судзукі та Shenmue: як вичавити з Saturn неможливе
Незважаючи на архітектурне пекло, внутрішня команда Sega AM2 під керівництвом геніального геймдизайнера та інженера Ю Судзукі (Yu Suzuki) здійснювала справжні технологічні чудеса.
Судзукі та його команда напряму писали код на асемблері, минаючи недосконалі компілятори від Sega. Вони навчилися вручну розподіляти завдання між двома SH-2: один процесор повністю віддавали під прорахунок геометрії та колізій, а другий — під обробку анімації, вводу та логіки ШІ.

Легенда про Saturn Shenmue (Project Berkeley)
Найамбітнішим проєктом для Saturn стала розробка Shenmue (тоді відомої під кодовою назвою Project Berkeley). Студія AM2 створила повністю робочу тривимірну RPG з відкритим світом, зміною часу доби, сотнями унікальних NPC та деталізованим древнім Китаєм.
Коли кадри прототипу Shenmue для Sega Saturn потрапили в мережу роки по тому, публіка була вражена: платформа, яку вважали непридатною для чесного 3D, видавала рівень графіки, порівнянний з ранніми іграми епохи Dreamcast і PlayStation 2! Однак ціна цього успіху була занадто високою: на створення такого рушія пішли роки і мільйони доларів, доступні тільки ключовій студії Sega.

Підсумковий висновок
Sega Saturn залишається в історії як величний і трагічний пам'ятник інженерної думки. Консоль випередила свій час у питаннях багатоядерності, але виявилася занадто складною для епохи, коли інструментарій розробки перебував у зародковому стані. Незаслужено забута широким загалом, Saturn подарувала світу незгасній шедеври і преподала всій ігровій індустрії важливий урок: баланс і зручність розробки завжди важливіші за сиру і неортогональну потужність.



