Архитектура Dreamcast

Практический анализ от Rodrigo Copetti

Автор перевода: AbsurdlySuspicious и Иван "rndtrash" Кузьменко

Это перевод оригинальной статьи, выполненный добровольцами. Если вы заметили какие-либо ошибки, то, пожалуйста, помогите улучшить перевод. Спасибо!

Если вы используете инструменты специальных возможностей, электронные книги или устаревшие браузеры, то переключитесь на "классическую" версию.




Опорные изображения

Модель

Image
Dreamcast.
Выпущен 29 ноября 1998 г. в Японии, 9 сентября 1999 г. в Америке и 14 октября 1999 г. в Европе.

Материнская плата

Image
Материнская плата
Ревизия 'VA1'.
Официальная документация указывает что система включает в себя 128КБ флеш-памяти, однако на этой материнской плате вместо этого по неизвестной причине находится EEPROM чип на 256КБ.
Батарейка и порты контроллеров находятся на дочерней плате под названием 'Front panel' ('Передняя панель').
Image
Материнская плата с помеченными важными частями

Диаграмма

Image
Диаграмма основной архитектуры
Для важных шин данных отмечены их ширина и скорость.

Введение

Sega Dreamcast представил множество новых возможностей по сравнению со своим предшественником (Saturn), чтобы привлечь к себе как разработчиков, так и игроков. Хоть это и была последняя попытка Sega завоевать консольный рынок, некоторые технологии, впервые появившиеся в Dreamcast, были развиты в последующих устройствах уже других компаний.


Процессор

Дела у Hitachi шли отлично, их знаменитые чипы SuperH нашли несколько покупателей и компания была готова к выпуску четвёртой версии процессора. Их новый чип объединит возможности для встраиваемой электроники с функционалом, используемым 3D играми.

Неудивительно, что Sega, будучи одним из ранних пользователей SuperH, выбрала новинку от Hitachi для своей новой консоли. Следовательно, Dreamcast имеет процессор SH-4, запущенный на умопомрачительных 200 МГц [1]. А ещё, чтобы на этот раз сделать всё как надо, в консоли стоит только один полноценный процессор.

Предложение

И что же такого особенного в этом процессоре?

Ну, для начала, SH-4 представляет собой расширение предыдущих моделей, что значит наследование всего существующего функционала линейки SuperH, включая 32-разрядную архитектуру RISC, 5-этапный конвейер и 16-битный набор инструкций. Увы, он также унаследовал конфликты управления (control hazards).

Image
Чип SH-4.

Кроме того, как процессор следующего поколения, он представил множество улучшений, выходящих за рамки использования во встраиваемой электронике [2]:

Особая работа

Основной работой процессора игровой консоли обычно является обработка логики игры, просчитывание ИИ противников и снабжение GPU задачами на отрисовку.

В случае Dreamcast можно заметить, что графический процессор выполняет только растеризацию. Таким образом, процессор должен быть задействован в большинстве этапов графического конвейера. Это значит, что процессор будет обрабатывать колоссальное количество данных о геометрии (например, вычислять преобразования перспективы). Чтобы процессор смог справиться со своей задачей, Sega и Hitachi совместно добавили две важные функции в SH-4.

Первым дополнением является отдельный 64-битный модуль операций с плавающей точкой (Floating-Point Unit, FPU). Этот компонент вычисляет 32-битные десятичные числа (так называемые “числа одинарной точности” или “float”) или 64-битные (“числа двойной точности” или “double”) по стандарту IEEE-754. Его регистровый файл состоит из тридцати двух 32-разрядных регистров, но они также могут быть объединены в отдельную группу из шестнадцати 64-разрядных регистров, что позволяет сопроцессору обрабатывать числа двойной точности.

Если и этого недостаточно, Hitachi пошла дальше и внедрила дополнительную логику для создания другой регистровой группы, на этот раз составленной из восьми 128-битных регистров. В этой группе каждый регистр хранит четыре 32-разрядных числа, или другими словами 128-битный вектор. Этот формат оптимален для операций, связанных с графикой.

Чтобы воспользоваться новыми векторами по полной, FPU включает в себя дополнительные инструкции для работы с ними, очень похожие на инструкции Saturn Control Unit, правда сейчас индустрия более-менее пришла к единому стандарту. Новые инструкции представляют собой то, что обычно называется Single Instruction Multiple Data (SIMD, одиночный поток команд, множественный поток данных, ОКМД). Они могут выполнять следующие алгебраические операции:

Второе дополнение - это внешняя шина SH-4, которая стала 64-битной, что позволяет процессору одновременно передавать пары 32-битных значений. Это ещё одно улучшение, которое увеличивает общую производительность процессора.

Память и доступ к ней

Dreamcast обладает 16 МБ SDRAM, напрямую подключённой к процессору через шину на 100 МГц (половина скорости процессора).

С другой стороны, ширина шины данных памяти — всего 32 бита [4]. Значит ли это, что потенциал новенькой 64-битной шины ЦП не раскрыт? Вовсе нет, ведь ОЗУ установлена двумя банками по 8 МБ. Таким образом, оба чипа делят линии шины процессора пополам.

Image
Диаграмма памяти.

Для работы с памятью процессор включает в себя Memory Management Unit (Блок Управления Памятью) или “MMU” для виртуальной адресации. Этот блок полезен, так как ширина физического пространства адреса памяти как раз составляет 29 бит. Кроме того, благодаря включению четырех Translation Lookaside Buffer (TLB, Буфер ассоциативной трансляции), программисты могут использовать 32-битные адреса без ущерба производительности.

Поскольку для адресации необходимы только 29 бит, три оставшиеся бита управляют защитой памяти, изменяя карту распределения памяти (memory map) и включая обход кэша соответственно [5] [6].

В конце концов, программист сам решает, использовать ли эти функции или нет. Играм для этой системы не требуется защита памяти, так что MMU, если он нужен, должен быть включен вручную при загрузке системы.

Без UMA, но…

Несмотря на то, что эта система не основана на архитектуре единой памяти (Unified Memory Architecture), как делает её широко известный конкурент, она тем не менее делегирует ввод-вывод графическому чипу (GPU). Это означает что если процессору необходимо извлечь что-либо за пределами своей выделенной памяти или последовательного интерфейса (serial interface), он должен сделать запрос графическому чипу и, если требуется, подождать своей очереди.

Процессор так же поддерживает уникальный функционал под названием Parallel I/O (параллельный ввод-вывод) или ‘PIO’, который используется для одновременных манипуляций над несколькими I/O адресами. Sega использовала PIO выводы процессора, чтобы управлять видео режимом GPU (подробнее об этом рассказано в разделе “Графика”).

Конечная остановка

Даже после всех описанных преимуществ, боюсь, что серия SuperH не получила дальнейшего развития после того, как её последний крупный пользователь, Dreamcast, исчез с полок магазинов. После популярности SH-4, Hitachi (или Renesas Electronics, текущий владелец) не смогла воспроизвести такой же уровень успеха, а учитывая, что рынок портативных и встраиваемых устройств с тех пор отдаёт предпочтение ARM (благодаря StrongARM), я не думаю, что Renesas собирается развивать изобретение Hitachi.

Благо в сфере вычислительных технологий технологический прогресс часто выходит за рамки брендов и компаний. Например, техника сжатых инструкций SH нашла развитие в режиме Thumb у ARM (вторичный 16-битный набор команд) [7]. Более того, в 2012 году группой энтузиастов был начат проект по созданию современного SuperH-совместимого ЦП под названием “J2” [8].


Графика

Графический процессор представляет собой чип собственной разработки под названием Holly, работающий на частоте 100 МГц. В отличие от предыдущих собственных разработок, на этот раз Sega сотрудничала с VideoLogic (ныне известной как Imagination Technologies), чтобы те предоставили им конкурентоспособный 3D ускоритель.

Image
Чип Holly (после удаления термо прокладок) и энкодер видео.

Внутри Holly мы можем обнаружить эксклюзивную схему обработки графики от VideoLogic под названием PowerVR2 (также известен как “PowerVR Series2” и “CLX2”). Она основана на их предыдущих ГП PowerVR, но подогнана под нужды Dreamcast.

Архитектура

VideoLogic выбрала альтернативный подход к архитектуре своего 3D ядра под названием Tile-Based Deferred Rendering (TBDR, отложенная отрисовка основанная на тайлах).

Вместо отрисовки всего кадра за раз (как это делают традиционные Immediate Mode Renderers или ‘IMR’ [9]), TBDR нарезает область отрисовки на несколько секций называемых ‘тайлами’. Процесс отрисовки выполняется отдельно для каждого тайла, после чего результат комбинируется вместе для составления конечного кадра [10].

Image
Sonic Adventure (1999).

Этот инновационный дизайн привносит интересные преимущества:

Неудивительно, что Imagination и далее использовала эту эффективную технологию в видео-ядрах Series 4 PowerVR, которые использовались на невероятном количестве устройств, включая первое поколение iPhone, iPhone 3G, Nokia N95 и Dell Axim x51.

Строение

Давайте рассмотрим два основных компонента графического чипа Dreamcast [11]:

Tile Accelerator

Image
Архитектура Tile Accelerator.

Прежде чем начнется процесс отрисовки, компонент известный как Tile Accelerator (тайловый ускоритель) производит предварительную обработку. Сперва он аллоцирует несколько 32x32 групп тайлов в которые будет отрисовываться геометрия.

Затем ускоритель:

  1. Забирает (при помощи прямого доступа к памяти (DMA) или обычной передачи) геометрические данные и команды отрисовки (drawing commands) сгенерированные процессором.
  2. Конвертирует эти данные в свой внутренний формат.
  3. Распределяет геометрию в каждую из групп тайлов в зависимости от их координат. Геометрия вне поля видимости отбрасывается на этом этапе.
  4. Генерирует окончательные списки отрисовки (Display Lists).

Списки отрисовки затем интерпретируются 3D ядром: PowerVR2.

Ядро PowerVR2

Image
Архитектура ядра PowerVR2.

Здесь графика воплощается в жизнь. Руководствуясь списками отрисовки, полученными от Tile Accelerator, 3D ядро отрисовывает каждый тайл в свой внутренний кадровый буфер (framebuffer). Этот процесс выглядит так:

  1. Image Synthesis Processor (процессор синтеза изображения) или ‘ISP’ извлекает примитивы (треугольники либо четырехугольники) и выполняет удаление скрытых поверхностей (Hidden-Surface Removal) чтобы убрать скрытые полигоны. Затем, после рассчета их Z-буферов и трафаретных (stencil) буферов, данные проходят через тест глубины (Depth Testing) чтобы избежать отрисовки полигонов которые скрыты другими и трафаретный тест (Stencil Tests) чтобы отбросить геометрию которая не будет видна если расположена за двухмерными полигонами (так же называемыми масками).
    • Обратите внимание, что эти тесты фактически выполняются в самом начале конвейера. Для сравнения, предыдущие консоли, использующие позднюю z-буфферизацию, отбрасывают скрытую геометрию в конце конвейера. Подход ISP предотвращает обработку геометрии, которая в последствии будет отброшена [12], сохраняя ресурсы.
  2. Texture and Shading Processor (процессор текстурирования и шейдирования) или ‘TSP’ окрашивает и затеняет (shading) тайлы, а так же применяет к ним различные эффекты.
    • Текстуры не применяются пока тайл не экспортирован. Это означает что накопленный overdraw (если он присутствует к этому этапу) не снизит скорость заполнения.

После завершения этого процесса, отрисованный тайл записывается в основной кадровый буфер находящийся в видео-памяти (VRAM). Этот процесс повторяется пока все тайлы не будут отрисованы. После завершения отрисовки, конечный кадр читается Video encoder -ом (кодировщиком видео) из кадрового буфера и отправляется на видеовыход.

Общая картина

Кроме очевидных архитектурных различий, у TSP есть еще много способностей, из которых ясно, насколько эта консоль далека от своего предшественника Saturn. Вот некоторые из его самых выдающихся возможностей:

Больше деталей

Holly может отрисовать примерно в 10 раз больше полигонов чем его предшественник, вот примеры до и после, которые показывают насколько менее ограничен теперь дизайн моделей. Попробуйте поиграться с ними!

КаркасПоверхностьТекстурированный
3D model
Sonic R (1997) для Saturn.
286 треугольников (или 185 четырёхугольников).
КаркасПоверхностьТекстурированный
3D model
Sonic Adventure (1999) для Dreamcast.
1001 треугольник.

Видео режимы

Подсистема вывода видео была спроектирована с поддержкой нескольких типов экранов и выходных форматов, так video encoder выводит видео на единый выходной порт, который поддерживает следующие форматы:

Dreamcast не может кодировать все эти форматы одновременно, поэтому у GPU и аудиопроцессора есть регистр Image Mode, который указывает какие аудио/видео шины должны быть активированы чтобы генерировать нужный сигнал. Процессор проверяет тип подключенного кабеля (проверяя какие “select bits” пины видео коннектора подключены) и записывает нужные значения в регистр GPU. Эти значения так же передаются аудиопроцессору.

Учитывая что VGA это исключительно прогрессивный формат (в противовес традиционному чересстрочному), у игр предполагавших использование только чересстрочной развертки проявились проблемы совместимости. Такие игры явно указывают в своем коде что не будут работать с VGA, чтобы процессор приостановил игру пока пользователь не сменит VGA кабель на другой.


Звук

Аудио обрабатывается кастомным чипом AICA от Yamaha, это улучшенная версия SCSP, использованного в Saturn. Он состоит из четырех компонентов:

Для облегчения разработки, официальный SDK включал в себя несколько драйверов для разных задач (секвенсор, декодер и т.д.).

Эволюция

Чтобы показать, как сильно продвинулся прогресс в области синтеза звука со времен Mega Drive/Genesis, вот пример двух игр, одной для Mega Drive и другой для Dreamcast, использующих одну и ту же композицию:

Sonic 3D Blast (1996) для Mega Drive / Genesis.
Предшественник использует FM синтез для генерации звука на лету.
Sonic Adventure (1999) для Dreamcast.
Новая аудио подсистема без труда обрабатывает PCM семплы.

Вы также можете попробовать этот виджет, если вы хотите переключиться между композициями во время воспроизведения:

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

Обьяснение

Вместо программирования чипа FM модуляции, композиторы Sonic Adventure сыграли саундтрек сами и затем закодировали его в ‘ADX’, формат с потерей качества (lossy) разработанный CRI Middleware. Благодаря этому он использует только два из 64 PCM каналов (стерео).

Сжатие ADX позволяет игре декодировать аудио поток с GD-ROM прямо в Sound IC, не тратя память и пропускную способность. Более того, драйвер для этих целей мог быть реализован множеством разных путей, так как существовало несколько подходов к балансированию нагрузки между основным процессором и ARM7.

Оставаясь в живых

По какой-то причине, этот чип так же отвечает за часы реального времени (RTC) для BIOS. Он подключен к батарейке, чтобы продолжать работать без питания от сети.


Операционная система

BIOS хранится в 2 МБ “Системной ПЗУ” (System ROM). При запуске процессор первым делом читает данные из этой ПЗУ. Это ПЗУ содержит код, который позволяет процессору либо загрузить игру, либо показать оболочку.

Кроме того, BIOS так же содержит готовые функции для упрощения использования операций ввода-вывода в играх [13], как например чтение с GD-ROM диска.

Интерактивная оболочка

Так же, как и Sega Saturn, в случае отсутствия правильного игрового диска в дисководе консоль запускает интерактивную оболочку.

Image
Оболочка, которая запускается если включить консоль без диска.

В оболочке есть простой графический интерфейс для выполнения базовых, но необходимых задач:

Windows CE

С момента анонса Dreamcast говорилось, что консоль может запускать Windows CE. Хотя, вам достаточно взглянуть на переднюю панель консоли, чтобы увидеть штамп Microsoft… Как это понимать?

Image
Знак Windows CE на передней стороне консоли. Кстати, подобные этикетки можно найти на других карманных ПК той же эры.

Во-первых, что именно такое “Windows CE”? Ну, это всего лишь один из многих проектов Microsoft, над которым велась работа на протяжении середины 90-х годов, чтобы завоевать территории за пределами привычного рынка ПК. После появления архитектур процессоров более эффективных, чем x86 и развития наладонных ПК, Microsoft поручила новой команде перенести экосистему Windows на эти новые устройства [14].

Это привело к созданию Windows CE: полноценной операционной системы, разработанной с нуля, которая предоставляла подмножество существующих API Windows, инструментов и служб для разработчиков.

Image
Windows CE 3.0 (2000), поставлялась с рабочим столом и несколькими бизнес-приложениями.

В отличие от Windows 95 или NT, новая система обладает следующими преимуществами:

Image
HP Palmtop PC 360LX (1997) под управлением Windows CE 2.0. Я нашёл его в Centre for Computing History (Кембридж, Великобритания), который я посетил в августе 2024 года. Кстати, этот КПК использует процессор SH-3!

Более того, Windows CE продавалась производителям как конструктор, позволяя им выбирать только необходимые компоненты. Затем производители могли интегрировать её во множество устройств (например, карманные компьютеры, POS-терминалы или даже автомобильные системы). Тем не менее Windows CE получила значительное внимание как ОС для “наладонников” (предшественник КПК), по сути конкурируя с Apple Newton и Palm.

По мере роста индустрии сотовых телефонов в конце 90-х годов, Microsoft использовала модульность Windows CE, чтобы построить PocketPC, ещё одну операционную систему (позже известная как “Windows Mobile”) полностью сосредоточенную на КПК и телефонах.

Image
Windows CE 2.11 ‘Palm-size PC Edition’ 1.2 (1999)
Image
PocketPC (2000), основанный на Windows CE 3.
Попытки Microsoft вывести Windows CE на рынок КПК.

А причём тут Dreamcast? Однажды Microsoft и Sega решились создать пакет Windows CE для Dreamcast [16]. В конце концов, Windows CE уже работала на процессорах Hitachi. В итоге это не привело к созданию полноценного интерфейса рабочего стола или интеграции с онлайн-сервисами Microsoft. Вместо этого она служила в качестве дополнительного слоя абстракции для упрощения работы с аппаратным обеспечением.

Подобно тому, что Nintendo предоставила с Nintendo 64, Microsoft поставила SDK (часто упоминаемый как Dragon SDK), основанный на Windows CE, для программирования приложений под Sega Dreamcast. Библиотека состояла из урезанной CE с минимальным набором компонентов, необходимых для работы с графикой, звуком и отладчиком. В рамках “вступления в клуб Microsoft”, разработчики теперь могут воспользоваться знаменитой IDE Microsoft (Visual Studio 6.0) и Visual C++ 6.0 для разработки.

Часть разработчиков сочла эту возможность очень привлекательной. Так как аудиовизуальный фреймворк поставляемый вместе с Windows CE был ничем иным, как DirectX 6, большинство игр для ПК могли быть, в теории, легко перенесены на Dreamcast. Однако различия в архитектуре между Dreamcast и обычными ПК были слишком велики чтобы их игнорировать. В конечном счете программистам пришлось проделать значительную работу по оптимизации, чтобы достичь оптимальной производительности [17]. Более того, поскольку BIOS Dreamcast не включал в себя ни одного из фреймворков Microsoft, SDK должен быть статически связан (linked) с игрой. Таким образом, по сравнению с близкими к железу библиотеками Sega, Dragon SDK увеличил время загрузки игры (в конце концов, целая “ОС” должна быть загружена с диска) и в течение всего процесса игры слой Windows CE отъедал значительный объём ресурсов.

В заключение, “Windows CE for Dreamcast” был просто дополнительным SDK на выбор для разработчиков. Тем не менее заметное количество игр для Dreamcast пользовалось этим SDK.

Если вам интересна судьба Windows CE и Windows Mobile, то Microsoft не смогла преуспеть на рынке портативных устройств. Windows CE была заброшена в 2013 году. Годом ранее ядро Windows Mobile, основанное на Windows CE, было заменено на Windows NT (в то же время вышла Windows 8 для настольных ПК). Несмотря на это, Windows Mobile в конечном итоге приняла поражение против более новых платформ (Android и iOS) и поддержка была прекращена в 2019 году.


I/O

GPU включает в себя еще один модуль для выполнения большей части I/O: System Bus (системная шина). Он предоставляет следующие интерфейсы:


Игры

Игры в основном разрабатывались на языках C или C++. Первое время для разработки рекомендовался C, поскольку компиляторы C++ доступные на то время были сильно ограничены в функциональности (и качестве).

Sega предоставляла станцию (девкит) для разработчиков в форме корпуса ПК под названием Sega Katana Development Box. Она имеет Dreamcast с дополнительными I/O интерфейсами необходимыми для разработки. В комплекте шел CD диск с официальным Katana SDK и другими инструментами для установки на ПК с Windows 98.

Как уже говорилось ранее, разработчики также могли воспользоваться Dragon SDK от Microsoft поверх SDK от Sega. В таком случае доступны DirectX 6.0 и Visual C++ 6.0.

Носитель

Игры распространялись на GD-ROM дисках, которые являются обычными дисками CD-ROM с большей плотностью записи (достигая 1 ГБ в объеме). Диски читаются со скоростью 12x, что не так плохо по сравнению с 2x CD дисководом в Saturn.

Онлайн-платформа

Dreamcast распространялся с модулем модема, который могли использовать игры чтобы “звонить” на dial-up сервисы для онлайн игры. Sega предоставляла два сервиса: SegaNet (для Америки и Японии) и Dreamarena (Европейский аналог).

Игроки регистрировались в сервисе при помощи DreamKey, дополнительного диска, шедшего в комплекте с некоторыми играми. DreamKey предоставлял веб браузер для регистрации аккаунта. Изначально, DreamKey шел с преднастроеным сервисом в зависимости от региона, но поздние ревизии добавили для пользователей возможность указать любого другого провайдера.

В продаже так же были клавиатуры и мыши специально для Dreamcast, на случай если пользователю хотелось использовать интернет в стиле ПК.

К сожалению, SegaNet и Dreamarena были отключены через два года после запуска. Из-за этого игры которые полагались исключительно на эти сервисы стали неиграбельны, если не эмулировать сервисы внешними средствами. (например, при помощи DreamPi - образа для Raspberry Pi который повторяет функционал этих сервисов с помощью серверов поддерживаемых сообществом).

Интерактивная карта памяти

Еще одним новшеством Dreamcast был Visual Memory Unit или “VMU” (Визуальное Запоминающее Устройство). Он подключался к контроллеру и, кроме того что работал как карта памяти для сохранений, был полностью автономным устройством, включавшим в себя [18]:

Image
VMU не подключенный к контроллеру.
Image
Контроллер без VMU.
Image
Контроллер с подключенным VMU.
  • Sanyo LC86K87: 8-битный процессор с низким энергопотреблением.
  • Монохромный ЖК экран 32 на 48 точки с четырьмя дополнительными иконками: Управляется с помощью 196 Байт XRAM (eXternal RAM, внешнее ОЗУ) в качестве кадрового буфера.
  • Два последовательных коннектора: Один для IN (вход) и другой для OUT (выход).
  • Шесть физических кнопок: Используются когда VMU не вставлен в контроллер.
  • 16 КБ Mask-ROM: Хранит BIOS-IPL (загрузочную прошивку).
  • 64 КБ Flash памяти: 32 КБ для хранения одной программы (полученной из консоли) и 32 КБ для игровых сохранений.
  • 512 Байт ОЗУ: 256 Байт зарезервировано для системы, оставляя только 256 Байт для программ.

VMU имеет два режима работы:


Борьба с пиратством и хоумбрю

Использование проприетарного формата GD-ROM помогло предотвратить производство несанкционированных копий игр (и их запуск на других консолях). В добавок к этому, игры Dreamcast регионально заблокированы, что означает невозможность запуска игр на консоли, если их регионы не совпадают.

Победа пиратов

На практике меры против пиратства были совершенно бесполезны, так как Sega оставили огромную лазейку открытой: MIL-CD. Музыкальный Интерактивный Live-CD или ‘MIL-CD’ - это формат, созданный Sega для расширения Аудио-CD интерактивными программами… и Dreamcast совместим с ним [19].

В конце концов, неавторизованные коммерческие диски (программы для загрузки читов, видео плееры, и т.д.) стали маскироваться под MIL-CD чтобы те могли запускаться на консоли без разрешения Sega. Позднее, сообщества взломщиков изучили этот эксплоит и нашли обходной путь, чтобы запускать пиратские игры с обычных CD-ROM дисков. Это вызвало непреодолимую волну ISO образов игр выкладываемых в интернете.

Проблемы проявились позже: GD-ROM диски могли вмещать 1 ГБ данных, а обычные CD - только около 700 МБ, так каким же образом “рипперы” ужимали большие игры, чтобы вместить их на CD? Пережимая музыку и графику пока игра не влезет в рамки CD. Так же были попытки разделять игры на два диска. В конце концов, игры больше не представляют собой один большой пласт данных (как старые картриджи), а организованы в иерархию из файлов из директорий.


Вот и всё, ребята

Image
Dreamcast, который мне пришлось добыть, чтобы написать эту статью.
Не так плох для своего возраста!

Надеюсь, вам понравилась эта статья. Я закончил писать её в начале моего последнего учебного года в университете.

Теперь я, скорее всего, буду очень занят, но мне нравится писать эти статьи, так что, надеюсь, вы увидите еще одну в течение нескольких недель!

До скорых встреч!
Rodrigo


Помощь проекту

Эта статья является частью серии Архитектура консолей . Если вы нашли ее интересной, пожалуйста, подумайте о пожертвовании. Ваш взнос будет использован для финансирования покупки инструментов и ресурсов, которые помогут мне улучшить качество существующих и предстоящих статей.

Donate with PayPal
Become a Patreon

Вы также можете купить цифровую версию книги на английском языке. Я отношусь к прибыли как к пожертвованиям.

Image

Перечень желательных инструментов и последних приобретений для этой статьи отслеживается здесь:

### 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)

В качестве альтернативы, вы можете помочь, предлагая изменения и/или добавляя перевод.


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.


Источники / Продолжить чтение

Борьба с пиратством

Процессор

Игры

Графика

Операционная система

Фотографии


Rodrigo Copetti

Rodrigo Copetti

Надеюсь, вам понравилась эта статья! Если вы хотите узнать больше об авторе, нажмите сюда и если вы хотите поддержать его, то нажмите сюда

rsslinkedintwittergithub facebookreddit