• avatar aa-dav
  • 0
Ну, кто-кто, а Apple дешевыми не были и до сих пор ими не являются. :) Это такая же давняя традиция.
Тут, имхо, просто попытка что-то сделать собственными руками еще до всяких коммерциализаций.
А вот вышедший уже через год Apple II обладал уже не только графическим, но и сразу цветным дисплеем.
  • avatar Error
  • 1
Дешевизна решает, память тогда была очень дорогой. Поэтому, я думаю в качестве регистров сдвига использовались дешёвые динамические регистры сдвига.
Кстати ОЗУ в советских программируемых калькуляторах сделано тоже на динамических регистрах сдвига.
  • avatar Shiru
  • 4
Про лицензионную политику же надо было досказать. С одной стороны, консоль лицензировалась сторонним производителям, и потому стоила дорого. Но с другой стороны, выход на платформу производителям софта обходился значительно дешевле других консолей, всего $3 за копию. Правда в итоге это привело к тому, что на не самой сильной платформе вышла куча треша от не самых сильных производителей.

Я пробовал писать под этот аппарат, ничего серьёзного. У меня сложилось впечатление, что делался он ещё до того, как возникло понимание перспективности 3D, больше под 'мультимедиа'. SDK там не предполагает работу с низким уровнем, но сам он создаёт впечатление очень проработанной системы, по крайней мере в сравнении с другими консолями контраст значительный (что несложно, у большей части предшественников вообще никакого SDK и документации, у последующих PS1 и N64 с этим также не фонтан). Железо, конечно, медленнное. Там даже два растеризатора (которые corner engine), но один по умолчанию почему-то выключен. Если включить, рендер в теории может ускориться до двух раз. Ещё запомнился трюк с ускорением доступа к данным на CD — они там могут дублироваться несколько раз в разных местах диска, время экономится за счёт позиционирования головки на ближайшую копию.
  • avatar wbcbz7
  • 1
огонь! :D
  • avatar random
  • 0
это божественно
  • avatar Robus
  • 1
Там индульгенция куплена за не принципиальность.
  • avatar aa-dav
  • 1
Уже завтра будет еще одна. Про 3DO Interactive Multiplayer.
  • avatar tsl
  • 0
Больше таких статей!
  • avatar Vinnny
  • 0
сегодня как раз sony анонсировали перевыпуск первой плейстейшн, вдвое меньше по габаритам и hdmi-видео.
  • avatar Shiru
  • 3
Интересный момент про PS1 в том, что платформодержатель официально поддерживал homebrew. То есть уже в 1996-97 году обычному человеку с лишними деньгами можно было купить сцепконсоль со спец-SDK, и с помощью обычного 486 писать любительские программы для PS1. Некоторые удачные разработки потом публиковались на демо-дисках, прилагавшихся к журналу Official Playstation.
Как пример, Haujobb — Strange Worlds.

Да я и забил, мне на хаос всё равно :) Просто никто из «оргов» не даёт оценку проектам Фрога поэтому как-бы и не факт что это утопия.
Молоток, просто закрыл вопрос, кардинально.
  • avatar TmK
  • 4
Забей на него, 99% активного демо-сообщества понимают что произошло и какой деструктивный вброс произвел Петр. Организаторы я думаю тоже не глупые (Петр не является организатором и его проект правил это его утопия) и впредь такого не допустят, учитывая сколько сил и времени было затрачено на организацию «Фестиваля компьютерного искусства» и кучу всего из смежных направлений вокруг него чтобы именно оно состоялось.
  • avatar Shiru
  • 3
На SNES и Genesis обычное DMA очень полезно. Там отдельное видео-ОЗУ ограниченного объёма, с последовательным доступом к видеопамяти через порт обмена, и доступ возможен только во время VBlank. Большая часть игр подкачивает часть графики в видео-ОЗУ 'на лету', в частности, анимацию героя (некоторые и врагов тоже), чтобы оставить побольше места для графики фона. Процессор через последовательный порт пишет в видеопамять очень медленно, DMA в разы быстрее, значит можно передать больше за кадр — около 5 КБ на SNES и 6 КБ на Genesis. И всё равно приходится изворачиваться, передавать половинками через кадр и.т.д.

На SNES побочных эффектов от DMA нет, просто замедляется выполнение кода, но это не проблема, т.к. наличие HDMA позволяет избежать игр с точными таймингами выполнения. На Genesis на время передачи тормозится Z80, а на нём любят играть сэмплы, поэтому звук очень сильно портится (выпадения с частотой 50/60 гц), характерные искажения голосов возникают во многих играх по этой причине. Не так давно придумали обход этой проблемы: буферизировать звук из ПЗУ в ОЗУ Z80 во время прохода луча по видимой части кадра, а во время VBlank играть буфер из ОЗУ. При отсутствии обращений к ПЗУ во время VBlank Z80 продолжает работать (остановка активируется только в момент обращения к ПЗУ). К сожалению, во времена расцвета платформы до этого не додумались.
  • avatar aa-dav
  • 2
Собственно 8 каналов DMA там именно для этого, для обычного DMA в видеопамять в начале кадра достаточно одного канала.
Согласен, если взять другую их консоль, которую я лучше всего изучил — GBA, то там всего 4 DMA-канала, при том что два предназначены для запитки каналов PCM-звука, а еще один полезен, например, для автоматического копирования данных с опциональной камеры на экран, то под хоз-нужды оставался по большому счёту только один канал. Хотя там даже его польза наверное сомнительна — или он создавал бы щелчки в звуке или DMA-каналы звука тормозили бы процессор, поэтому там только с хитрым расчётом можно было им пользоваться.
  • avatar Shiru
  • 2
Собственно 8 каналов DMA там именно для этого, для обычного DMA в видеопамять в начале кадра достаточно одного канала. И надо уточнить, что там именно списки, а не просто однократное DMA. У списка есть адрес, куда ему надо будет писать значения, формат записи (1-4 байт в разных схемах, типа два соседних адреса или два раза один и тот же), и далее в самом списке пары — сколько строк ждать и какое значение записать, следующая пара, и так до конца кадра. Таким образом всего одним списком можно сделать, например, цветовой градиент на экране, или, скажем, эффект copper bars, или искажение слоя фона по синусоиде (типа горячий воздух).
  • avatar aa-dav
  • 1
P.S.
Прочитал. Да, прикольно. В целом понятно — любой из 8-ми DMA-каналов можно перевести в режим автоматической записи в порты видеочипа по HBlank. Надо будет дополнить статью про видеочип SNES этим прежде чем сюда постить.
  • avatar aa-dav
  • 1
Ох ты, не знал про эту фичу, хотя делал обзор на видеосистему SNES и его собирался сюда тоже запостить. Хотя понятно — это видимо надо читать раздел про DMA. Хм, надо тогда почитать.
  • avatar Shiru
  • 2
Надо отметить, что на SNES не практикуется перехват HBlank в том виде, как это делается на всех остальных консолях (по прерыванию или задержкой в коде), хотя он и возможен. Вместо этого там сделана специальная система HDMA, которая, я бы сказал, является самой главной и мощной железной фишкой платформы, и которой очень активно пользуется каждая игра — она позволяет менять значения регистров, заданных посредством восьми списков, строго в начале нужных строк. И это даже не 8 регистров за строку, в одном списке может быть до 4 записей. Поменять таким образом можно практически что угодно, хоть ABCD Mode7, хоть параметры смещения, хоть видеорежим. Списки заполняются в любой удобный момент и назначаются в начале кадра, дальше железо работает само, а процессор может спокойно заниматься другими вещами.