Сердце разработчика: девкиты Sega Saturn
До пятого поколения аппаратное обеспечение консолей было примерно равным по производительности и отличалось крайне незначительно. Чего нельзя сказать о 32/64-битных машинах, кои стали наводнять рынок с начала 1993 года. Именно тогда беззаботные контры Sega vs Nintendo обратились в борьбу «все против всех». Пятое поколение породило лавинообразные изменения в отрасли, когда каждый производитель старался сделать свою систему мощнее, чем у конкурентов. Так всего за 3 года сегмент расслоился на откровенных лидеров во главе с Sony и аутсайдеров во главе с Atari. 32-битная планка была задрана непомерно высоко для дебютантов поколения, погребя мечты тех немногих геймеров, кто поверил в силу Atari Jaguar, 3DO и 32X.
К счастью, здоровая конкуренция высветлила лучших из лучших. И именно о них сейчас и пойдёт речь, а точнее о девкитах к этим системам.
Так компания, некогда называемая Service Games, но знакомая всем именно как Sega, не просто поспевала за трендами, но вела в этом направлении активнейшую работу. Залогом успеха послужил аркадный задел Sega, сформированный такими машинами, как Sega System 1, Sega System 2, Sega System 16, в конечном счёте приведший к созданию передового для 1988 года консольного железа Sega Genesis. В том же году была выпущена Sega System 24, а два года спустя — Sega System 32, имевшая в своём чреве 32-битный RISC-процессор. Sega настолько плотно занималась аппаратным обеспечением, что вскоре появились аркадные кабинеты, работающие с полноценной 3D-полигональной графикой. Sega Model 1, а затем и пришедшая ей на смену Sega Model 2 не просто были успешными, они были революционными машинами для 1990 и 1993 годов соответственно.
Надо ли говорить, архитектура Sega Saturn в достатке позаимствовала функции, как минимум, четырёх аркадных систем Sega. Многопроцессорная схема Saturn включала в себя 2х CPU Hitachi SH-2, 3х DSP-математических сопроцессора, а также 2х видео процессора (VDP1 и VDP2), работавших в паре и отвечавших за отрисовку переднего плана и заднего фона, полигонов и спрайтов. Как следствие, четырёхугольный полигональный движок был разработан на основе движка Sega Model 1, а отдельный графический процессор для 2D фонов был основан на GPU Sega System 24.
Но не только компоновкой Sega Saturn была мудрёна для сторонних разработчиков. Отсутствие операционной системы и сложная среда программирования, требующая знания ассемблера, заметно осложняли поддержку консоли на старте продаж. Единственным на то время инструментом разработки был Sega Saturn Programming Box от японской компании Sophia Systems, но даже он не поддерживал язык С. Эта девелоперская станция, походившая на компьютер промышленного исполнения, не только имела внушительный вид, но и астрономическую цену $ 30 тыс. Не удивительно, что последнее не позволило системе распространиться должным образом среди мелких студий и независимых разработчиков.
Что интересно, некоторые комплекты Sega Saturn Programming Box имели всего один CPU SH-2, притом, что экстерьер был одинаков. Все порты и переключатели располагались на передней панели: два разъёма для геймпадов, SCSI II, AV-out, VCD-порт для подключения эмулятора CD, Serial, а также кнопки включения, сброса и тумблеры включения/отключения сторонних устройств и режимов. Система была «всеядной» и запускала ПО не только с CD-R, но и любого региона (PAL, NTSC).
Помимо инструмента для программирования Sophia Systems выпустила Sega Saturn Graphics Box, графическую станцию для гейм-дизайнеров и Sega Saturn Sound Box для звукорежиссёров и композиторов. Внешнее сходство роднило обе системы с родительской, объединяя их в триединый комплект разработчика ранних игр 1994–1995 годов.
В середине 1995 года «Sega Sophia» была вытеснена более дешёвым устройством Saturn CardDev, которое могло работать как с Sega Saturn Programming Box, так и напрямую с отладочной консолью Sega Saturn. Saturn CardDev выпускался в двух ревизиях: ревизия А (силами Sega of America) и ревизия B (силами материнской компании Cross products). Ввиду проблем с блоком питания ревизия А была крайне ненадёжной, распространение получила именно ревизия B. К компьютеру девкит подключался через SCSI-интерфейс (через интегрируемую в ПК карту SCSI Card Kit), а к консоли — через разъём для картриджа. Средой разработки стало программное обеспечение SNASM2, работавшее напрямую с процессорами SH-2.
Кстати, о SNASM2. Компания Cross products разработала целое семейство девкитов не только для Sega, но и для Philips CD-I и Atari Jaguar. Машина SNASM2 Saturn Development System очень напоминала архитектуру SNASM2 32X Development System и была весьма удобным инструментом разработки. SNASM2 включал в себя ассемблер для процессоров SH-2 и 60k, мощный мультипроцессорный линкер и GNU-компилятор, позволявший работать непосредственно с ассемблером, С и их комбинацией. А за счёт сплит-скрина отладка кода проходила в реальном времени на одном мониторе.
Продвинутый интерфейс станции осуществлял подключение к отладочной консоли Saturn CD Switch через NMI-шлейф, позволявший программисту обращаться к каждому процессору консоли. В остальном же SNASM2 Saturn Development System дублировала свои же наработки по Saturn CardDev. Отмечу, что данные девкиты по достоинству были оценены Sega. Поэтому та, не раздумывая, купила компанию Cross products, дабы в дальнейшем девелоперские машины и отладочные консоли выпускались именно под японским брендом. Между прочим, Saturn CD Switch, как и Sega Saturn Programming Box, была «region free» и могла запускать игры для отладки не только с CD-R, но и с внешнего накопителя. И этим накопителем служил так называемый Mirage Universal CD emulator, разработанный специально для эмуляции CD-ROM в реальном времени. Ёмкость устройства составляла 1 Гб и позволяла хранить на нём до двух игр.
Но, пожалуй, самым экстравагантным инструментом отладки была машина Sega Saturn Address checker от IS Electronics. Существовало несколько ревизий устройства от горизонтально ориентированной машины почти метровой длины до стандартной отладочной Sega Saturn.
Причём консольный вариант был похож на Saturn CD Switch за тем исключением, что на её правой передней части находилось 32 светодиода, переключатель сброса светодиодов и тумблер переключения регионов. 32 индикатора располагались на небольшой плате, где два чипа Lattice ispLSI 1032 выполняли в реальном времени проверку адресов памяти. Индикаторы подсвечивались только во время обращения машины к запрещённым областям ОЗУ, тем самым сигнализируя о достигнутых ошибках. Первоначальная («длинная») ревизия Sega Saturn Address checker вместо серии светодиодов имела лишь порт SCSI, а процессоры SH-2 были установлены на съемных платах — совсем как в компоновке Sega Saturn Programming Box.
Отдельно стоит упомянуть отладочный микрокомпьютер Е7000 производства Hitachi, работавший в паре с Sega Saturn Programming Box или Sega Saturn Address checker. Но после успеха CardDev и SNASM2 безумно дорогой Е7000 так и не снискал популярности в стане независимых разработчиков.
Замечу, что Cross products не единственные, кто смог использовать железо Sega Saturn по максимуму. Psygnosis в сотрудничестве с SN Systems создали уникальную систему PSY-Q Saturn, которой облегчили непростую жизнь разработчикам игр для Sega Saturn. Используя один и тот же подход к разработке, Psygnosis достигли оптимума для программирования на С как под нужды Sony PlayStation, так и для Sega Saturn.
Отличительной особенностью этой системы была низкая себестоимость, так как она представляла собой розничную Sega Saturn, девелоперский картридж PSY-Q и SCSI Adapter Card для соединения рабочей станции с консолью. Но, к сожалению, лишь три проекта из обширной библиотеки игр были разработаны с использованием данного инструмента программирования: Bubble Bobble also featuring Rainbow Islands, Batman Forever — The Arcade Game и Battle Stations.
К слову сказать, сложная архитектура Sega Saturn на всём протяжении жизненного цикла плохо поддавалась обузданию. И, не смотря на обширную линейку девкитов, наработанные связи и потенциал внутренних студий, Sega не смогла упрочить своё доминирующее после Genesis положение. Нараставшее влияние PlayStation и агрессивный маркетинг Nintendo оголили слабые места Saturn и политики его продвижения настолько, что крах системы был попросту неизбежен.