↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Marlagram Онлайн
5 октября 2017
Aa Aa
Допустим, у нас на дворе 1984 год. Нам нужно, чтобы на нашей железке, выпущенной в 1986, в 1991 году запустился полноценный клон Вульфа3Д.
У нас есть послезнание, у нас есть возможность проектировать чипы на оборудовании 2010-х (а не прототипировать из MSI).
Но нужно соблюдать приличия, себестоимость конечного домашнего компьютера (убийцы Амиги и Атари СТ) ограничена (хотя по условиям задачи мы можем продавать по себестоимости и даже ограниченно демпинговать в начале, производство-сборка в ЮВА, штаб в США, чипы фаблесс), и отдельно - нужно иметь ввиду скорость её падения по мере прогресса технологий.
Два дополнительных ограничения:
- Необходимо железо, полноценно поддерживающее взрослую многозадачную ОС. С MMU, защитой памяти etc.
- С момента запуска железо должно удобно поддерживать портирование аркадных игр. Т. е. спрайто-тайловый движок на уровне верха 4 поколения игровых консолей.

Вопрос.

Система с
- основной CPU m68010 на 14 МГц с кастомным MMU, кастомным DMA с MMU и архитектурой команд в духе i8089, DSP-сопроцессором на базе потомка NEC uPD7725 (однотактовое умножение 16x16 bit fixed point) и кастомным обрамлением в виде контроллера прерываний etс
- видео-CPU m68010 на 14 МГц, управляющий несколько обрезанным битмап-движком в духе IBM 8514/a (блиттер, линии, закрашенные треугольники, круги, дуги etc) в сочетании с NeoGeo-подобной системой тайлов и спрайтов, с VRAM-памятью на 32-битной шине
- выделенной звуковой системой на Z80 с полноценным DMA
(на самом деле это железо приличного аркадного автомата второй половины 80-х, в духе Taito Z System 1987 года, к которому прикрутили довесок для нормальных осей и битмап-графики)

будет ли иметь достаточно голой вычислительной мощности (для запуска первых шутеров от первого лица)? Если грубо, то примерно 2+2+7 mips... И насколько сложнее будет программировать по сравнению с x86 платформой (i80386DX33 + ранние SVGA как ориентир)?

О. Сформулировал.
Пойти перечитать Арбаша?

PS
Видео в тему - Non PC DOOM Clones - The Good, The Bad & The Ugly

Нужно иметь режим 320x200x8bit с packed pixel и двойной буферизацией, привет 13h. Но 2D с битпланами в начале значительно полезнее, особенно в сочетании с строчными/экранными прерываниями и возможностью переписывать регистры видеосистемы на лету.

PPS
Sprite Scaling
Вот где бы найти про глубокие заклёпки, до числа транзисторов и таймингов включительно, железа для анизотропного масштабирования и аффинного вращения спрайтов - не копаясь в глубинах эмуляторных форумов? Эх, лень...

PPPS
Amiga 500 OCS/ECS vs Mega Drive VDP
...
The [pre-AGA] Amiga:

* uses a planar frame buffer, stored in memory that is shared with the CPU (and which therefore reduces the CPU's speed);
* provides dual-playfield hardware scrolling, but the total bit fetch total per output byte doesn't stretch beyond five, so you end up with e.g. a 7 colour foreground and a four colour background;
* provides 8 hardware sprites, but with no DMA support the programmer is responsible for multiplexing them; but
* has the Copper for no-CPU cost raster racing; and
* has a blitter for quickly populating frame buffer contents.

Not all memory has to be shared with the CPU but Commodore being the company it was, the mainstream stock Amigas shipped with only shared memory.

Philosophically the Mega Drive is from a completely different school of thought:

* the VDP has 64kb of its own memory, which the CPU can access very slowly or else it can request a DMA transfer and yield the bus;
* from that memory the Mega Drive draws two tile-based play fields of 4bpp each, for which the programmer is permitted directly to supply per-line scrolling offsets;
* one of those play fields may optionally also display a non-scrolling window;
* it also supports a sprite layer with another 4bpp, for which it parses an 80-entry table to draw up to 20 16px-across sprites per line; and
* it has a Z80 entirely dedicated to audio, making that one less thing to do.

So unlike the Amiga, the Mega Drive is heavily optimised for 2d games of the era, providing native tile-based graphics and a large number of sprites that it can automatically multiplex.

Tiles and sprites are also great for forcing the programmer's hand: either the hardware can display what you want, and it'll work at the native refresh rate, or it can't. Unlike the blitter on the Amiga you can't decide you're going to run at 25fps rather than 50 in order to draw more.

There's also the advantage of the dedicated VDP RAM and the greater bandwidth the Mega Drive therefore enjoys, giving it two background layers of 4bpp graphics compared to the Amiga's 5bpp total — even before you start counting the much greater array of things you can do with the Mega Drive's sprites given that there's bandwidth for 320px worth of those per line.
...
So while hardware can play a role, at the time of 16 bit systems of the mid to late 1980s it became less of a defining issue while budget became the ruling issue. Money defined the quality of programmers/companies to be hired and how much time they got to make the game great.

And that's where scale of a market comes into play. The market for Mega Drive games was at least a magnitude (10 times) larger than for Amiga games (*3). As a result game development fr the Mega Drive was based on way better funding and larger margins than anything done for the Amiga.
...
*3 - The Mega Drive sold in the US during its first year about 500k units (plus about 400k in Japan), while the Amiga sold less than 100k worldwide. Over the 10 year lifetime of either machine the Amiga sold less than 5M units (worldwide, all models combines) and about 700k in the US. Sega alone sold more than 30 million units during the first run - 4 M units alone in the US during the first 4 years.
...

#заклёпки #ретрокомпьютеры
5 октября 2017
6 комментариев
> будет ли иметь достаточно голой вычислительной мощности (для запуска первых шутеров от первого лица)?

они же псевдотрехмерные
как раз умножение матриц, если я правильно помню код, там не особенно нужно, зато есть по щедрой щепотке синусов-косинусов на столбец. Нужен сопроц или таблицы.

а реальная трехмерность на тот момент разве что для каких-нибудь авиасимов пригодится, с графикой палка-палка-самолетик
Marlagram Онлайн
Facensearo
Как показывает опыт jmargolin - игры в натуральном 3d штука растяжимая. Далеко в прошлое, кхем.
И рейкастинг можно написать с эффективным умножением. Особенно когда сдвиги относительно медленные.
блин, забыл кусок текста
суть поста предполагалась в том, что не вижу особого смысла в чипе для матричного умножения
и так садимся на несколько стульев - с одной стороны, mmu и dma, с другой - битмап-движок.

Это еще не еж с ужом и летающий цирк, но близковато кмк, потому что всех программистов мы не запрогрессируем, и переваривать они это будут весьма долго (сколько в реальности защищенный режим переваривали?)
при этом вольфоклону он не сильно нужен, да и вообще мало кому зайдет
Marlagram Онлайн
Facensearo
MMU нужен исходя из не-игровых применений, вообще говоря. Для правильной траектории развития оси - и "деловых" приложений. Чтобы попробовать обойти на повороте Apple, когда у них 24-битная адресация обострилась.

Для игр полноценный MMU в те годы не нужен вообще, даже вреден в каком-то смысле. Впрочем, операционная система туда же - те частоты, мощности и объёмы памяти не позволяли роскоши прослоек абстракции.

С точки зрения деловых применений сразу вспоминается Macintosh Display Card 8*24 GC, где обработка QuickDraw была вынесена на отдельный процессор, Am29000. И Radius Thunder IV с 4 DSP на борту для ускорения работы фильтров Фотошопа.
Так я не подвергаю сомнению ни объективную полезность MMU, ни таковую для спрайтового ядра.

Проблема в субъективном. Есть шанс, что машина останется "опередившей свое время и неоцененной современниками" разработкой. Именно из-за того, что игровой платформе не особенн нужно MMU c накладными расходами на операционку/руки разработчиокв, а офисной машине не так уж и нужен спрайтовый движок, а цену все это увеличивает, полагаю.

Нет, оно скорее взлетит, чем нет, особенно если стартовым бустом уронтиь цену до офисных ящиков, но...
И матрицедробилку я бы, по крайней мере, в первые версии, класть н стал.


> С точки зрения деловых применений сразу вспоминается Macintosh Display Card 8*24 GC, где обработка QuickDraw была вынесена на отдельный процессор, Am29000. И Radius Thunder IV с 4 DSP на борту для ускорения работы фильтров Фотошопа.

Очень нишево, типа амиги(
Facensearo
Реальную трёхмерность тот же F-29 Retaliator гнал на XT. Потому что писали руками. И на амиге эта гама выходила.
ПОИСК
ФАНФИКОВ











Закрыть
Закрыть
Закрыть