Важная информация

User Tag List

Страница 1 из 32 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 312

Тема: Разработка НОВОГО клона

  1. #1
    Member Аватар для MegaMyth
    Регистрация
    04.12.2006
    Адрес
    Ижевск
    Сообщений
    153
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Разработка НОВОГО клона

    Предистория:
    Примерно 1 декабря 2006 года я наткнулся на этот форум. Во первых был приятно удивлен что Spectrum ЖИВ!, а во вторых меня замучала настольгия по светлому прошлому и я решил собрать клон. Нужно заметить что году в 1999-2000 я сидел за живым спеком (у меня ещё не было пицюка), меня реально не устраивали 48К и существующий видеорежим. память я расширил до 128К по стандарту, а вот всё что выше до 1М как уш получилось. Но до видео так и не добрался. Были конечно попытки собрать новый контроллер со своей памятью, но все эти попытки останавливались после того как я на экране монитора получал полосатый матрац (без участия спека). Память я так к ниму и не прикрутил, так как: первое: не мог достать то что мне надо было, второе - откуда у бедного студента деньги...
    Сейчас же всё изменилось. Денег хватает, времени мало, но тем не менее....
    В чём суть:
    Немного пораскинув мозгами я решил собрать таки клон. Но на современной элементной базе.
    Железо:
    1. Процессор Z84C0020VEC (Z80 20MHz PLCC44 CMOS)
    2. ОЗУ K6R4008C1C-15 (SRAM 512K*8 15ns CMOS)x 2 шт
    3. ПЗУ am29F010-90 (128K*8 90ns Flash)
    4. Всё остальное - Altera EP1K30
    5. Макетная плата (еще проектируется)
    Концепция:
    Особое внимание хочу уделить видеоконтроллеру о чем подробно и рассказываю.
    Видеоконтроллер по сути дела состоит из синхрогенератора и счетчиков адреса.
    Синхрогенератор будет иметь 8 портов, предназначенных для хранения информации о ширине синхроимпульса, импульса гашения, ширины бордюра, и ширине экрана. Таким образом появлется возможность полностью менять параметры экрана и если удастся запустить режим 640*480 100Гц. Изначально работы ведутся над 60 и 75Гц режимом, так на эти режимы информация имеется. Стандартный ТВ режим также будет присутствовать.
    У Видеоконтроллера также будут присутствовать следующие возможности конфигурирования:
    1. Управление частотой задающего генератора, что собственно и обеспечивает смену разрешений TV/VGA.
    2. Управление счетчиком адреса (адресация спектрум экрана/линейная адресация памяти экрана)
    3. Переключение экранов. Количество этих самых экранов будет ограничиваться объёмом ОЗУ.
    4. Аппаратный мультиколор до 256 цветов из палитры 65536, а если остануться свободные ноги у ПЛИС то и 16777216.
    5. Аппаратный скроллинг экрана по обеим осям.
    6. Текствовый режим. в режиме ТВ размер символа 8*8 25 строк, в режиме VGA - 19*8 25 строк или 8*8 60 строк. Возможности загрузки шрифтов скорее всего не будет, т.к. возможности видеоконтроллера слихвой перекрывают эту необходимость.
    Спектрум в целом:
    Частота процессора будет также задаваться через порты ввода вывода. Могу сказать только одно процессор будет работать без WAIT'ов теоретически до 120 с чем-то МГЦ... такчто как разгонится :-)
    Адресация памяти. Гарантировано будет совместимость до 128К, дальше как попрет... Диспетчер памяти. Рассматриваются два варианта. Первый: любая страница ОЗУ из 256[до 4МБ] и более (а возможно и 65536 [до 1 Гб]) становится в любую четверть экрана. Второй (посложнее): Введение аппаратного сегментного регистра по принципу IBM PC (к содержимому сегментного регистра прибавляются 2 старших бита адреса процессора. т.е. если содержимое регистра =#DEAD а программа обращется по адресу #ABCD, то реальный адрес памяти будет равен #37ABEBCD). В чем сложноть... для того чтобы не ограничивать программу объёмом 64К или не заставлять програмеров скакать от отного сегмента к другому, необходимо перехватывать КОП от Z80 и на время выполнения операций с памятью при выполнении команды LD A,(HL) LD (HL),A подставлять другой рестр, и так далее... Таким образом программист получает доступ к огромному объёму памяти данных...
    Законченый вариант:
    Плата будет иметь формфактор микро-ATX с 5ю системными разъёмами 62pin, возможно появиться и расширение этого разъёма (как ISA).
    Что сделано на сегдня:
    Подготавливается PCB файл для макетной платы... готовую плату получу через 1-2 дня. В Quatrus'е засимулированы режимы работы синхрогенератора... по всей вероятности работает
    Цена:
    На сегодняшний день всё это удовольствие обходится мне в 925 рублей. (плата бесплатная будет :-)))

    На этомпока всё... у кого есть предположения - пишите... есть вопросы? отвечу.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,546
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    167 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MegaMyth
    Особое внимание хочу уделить видеоконтроллеру о чем подробно и рассказываю.
    Хых. Налицо очередная попытка слепить ни с чем не совместимые пэцэобразные "расширения" по внешнему признаку (а шобы было столько цветов и пикселей) путем подгонки под заданное железо (влезет в такую-то ПЛИС). Зато галочку можно ставить - "расширили".

  4. #3
    Member Аватар для MegaMyth
    Регистрация
    04.12.2006
    Адрес
    Ижевск
    Сообщений
    153
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek
    Налицо очередная попытка слепить ни с чем не совместимые пэцэобразные "расширения" по внешнему признаку
    Видео контроллер получется неплохой, но со своими недостатками... нет аппаратных спрайтов... но в след. версии исправлю
    Цитата Сообщение от Lethargeek
    влезет в такую-то ПЛИС
    Если не влезет в эту, тогда поставлю другую.

    З.Ы. Только что подготовил файл макетной платы... скоро на работу... 5-6 часов и плата готова...

  5. #4
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,546
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    167 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MegaMyth
    нет аппаратных спрайтов... но в след. версии исправлю
    Ужоснах!!
    И почему все железячники так любят аппаратные спрайты и прочую дребедень, проистекающую из убогости элементной базы 80-х...
    Последний раз редактировалось Lethargeek; 16.12.2006 в 07:50.

  6. #5
    Member Аватар для MegaMyth
    Регистрация
    04.12.2006
    Адрес
    Ижевск
    Сообщений
    153
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek
    И почему все железячники так любят аппаратные спрайты и прочую дребедень, проистекающую из убогости элементной базы 80-х...
    А тебе что нужно??? OpenGL... я, например, посмотрю каково будет прорисовывать 25раз в сек 640*480=307200 байт, в то время как Z80 на 20 МГц LDIROM может копировать только 952380 байт в сек...

  7. #6
    Activist Аватар для Romanich
    Регистрация
    02.11.2006
    Адрес
    Владивосток
    Сообщений
    481
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MegaMyth
    1. Процессор Z84C0020VEC (Z80 20MHz PLCC44 CMOS)
    2. ОЗУ K6R4008C1C-15 (SRAM 512K*8 15ns CMOS)x 2 шт
    Хе-хе! Это случайно не от CHRV? Вродеб его позиции

    Цитата Сообщение от MegaMyth
    У Видеоконтроллера также будут присутствовать следующие возможности конфигурирования...
    Какова планируется максимальная скорость заноса в видеобуфер? (если вообще планируется...)
    EMU Apparatchik Romanich
    http://emu-apparatchik.narod.ru

  8. #7
    Activist Аватар для Romanich
    Регистрация
    02.11.2006
    Адрес
    Владивосток
    Сообщений
    481
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek
    Ужоснах!!
    И почему все железячники так любят аппаратные спрайты и прочую дребедень, проистекающую из убогости элементной базы 80-х...
    Блин, неужели не понятно! Если железячники будут заморачиваться на софтварный рендеринг, то силы у них не останется на самую простую игрушку. Они и так очень многое делают, порой вся энергия кончается и нет сил ещё и программингом заниматься!!! (по себе знаю)

    А товарищу пожелаю больших успехов в разработке своей машины!
    Не каждый на это способен
    ИМХО лучше 2Д-аксель на основе блитинга или спрайтов всё-таки сделать, чем погрязть в софтварщине...
    EMU Apparatchik Romanich
    http://emu-apparatchik.narod.ru

  9. #8
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,546
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    167 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MegaMyth
    А тебе что нужно??? OpenGL... я, например, посмотрю каково будет прорисовывать 25раз в сек 640*480=307200 байт, в то время как Z80 на 20 МГц LDIROM может копировать только 952380 байт в сек...
    Да я тут собс-но уже с год воюю по всему форуму.
    Основная идея - отделить видеопамять от основной и организовать в виде параллельных плоскостей (довести до ума EGA-подобную схему), что позволит во многих случаях ускорить вывод графики только зетником (плюс удобная раскладка экрана, ибо от специфических восьмибитных ограничений разгон Z80 как таковой не спасает). А для нормальной полноцветной графики юзать блиттер, работающий за счет расширения ШД видеопамяти очень быстро (значит, актуальная графика тоже должна храниться "внутри").

  10. #9
    Activist Аватар для Romanich
    Регистрация
    02.11.2006
    Адрес
    Владивосток
    Сообщений
    481
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MegaMyth
    А тебе что нужно??? OpenGL... я, например, посмотрю каково будет прорисовывать 25раз в сек 640*480=307200 байт, в то время как Z80 на 20 МГц LDIROM может копировать только 952380 байт в сек...
    В своё время я сделал софтварный рендеринг на LCD 128x128pixel 256color
    видеоданные отправлял в LCD со скоростью 16МБит/с - регистром сдвига, данные формировались AVR-контроллером. Был видеобуфер(цвет прозрачности/отсечение)... Скорость получилась приемлемая.

    Z80 конечно такое не потянет, поэтому нужно собирать аксель! Была идея на ту же LCDшку привешать ATmega8515 - собственно аксель - блитинг/смарт фильтр/отсечение/полу-прозрачность / скэйлинг/....
    Но потом попался в руки V9990 и я передумал...

    В любом случае для зэтника нужен аксель, а то графа будет отстойная по скорости
    EMU Apparatchik Romanich
    http://emu-apparatchik.narod.ru

  11. #10
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,546
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    167 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Romanich
    Блин, неужели не понятно! Если железячники будут заморачиваться на софтварный рендеринг, то силы у них не останется на самую простую игрушку. Они и так очень многое делают, порой вся энергия кончается и нет сил ещё и программингом заниматься!!! (по себе знаю)
    Ы, а кроме софтерного рендеринга ни на что фантазии не хватает? То есть "раз уж гоняли спрайты двадцать лет назад, то и мы тоже будем". А железку нужно так проектировать, чтоб потом силы на ее программирование как раз и не тратить.

    Сегодня-то какая разница - вызывать стандартную процедуру, которая будет координаты с атрибутами у ограниченных спрайтов менять, или вызывать стандартную процедуру, которая блиттер запрограммирует на переброску произвольного блока? Сам же всех спрашиваешь - "и как только с этими спрайтами хитромудрыми обращаться?"

Страница 1 из 32 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ищу схемы и/или руководство по ремонту спектрум-клона Sintez-2
    от dhau в разделе Несортированное железо
    Ответов: 97
    Последнее: 18.09.2022, 18:14
  2. DEB - ассемлер нового поколения...
    от ASMAN в разделе Программирование
    Ответов: 145
    Последнее: 04.11.2007, 11:03
  3. Методическая разработка. Выпуск.1
    от Ne01eX в разделе Пресса
    Ответов: 7
    Последнее: 06.09.2005, 14:32
  4. Концепция нового трекера...
    от Mike в разделе Музыка
    Ответов: 21
    Последнее: 22.04.2005, 15:41

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •