Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Unsorted (http://zx-pk.ru/forumdisplay.php?f=13)
-   -   Разработка НОВОГО клона (http://zx-pk.ru/showthread.php?t=4381)

Lethargeek 25th December 2006 06:59

Quote:

Originally Posted by acidrain
Вот и по вашему 400 - наиболее спековский размер? Не вижу логики. Ладно еще 512...

400x300 ближе всего по соотношению (размер пиксела)/(размер экрана). Подумай, к чему приведет 512 горизонталь. В битпланах это 64 байта, в линейном режиме "байт на точку" хоть и можно перемещаться по INC/DEC, уже нужно банки переключать (плюс проверки).

Quote:

Originally Posted by captain cobalt
Речь о том, чтобы высота была 256 пикс.
...
Вот это - самый z80 размер. ;)

Больше того, 384x296 (352x288), из них адресуемый растр 256 строк - это максимальный близкий к 4:3 размер, при котором еще можно вписать экран в 16К страницу (по адресации). Брать больше - уже и в битпланах понадобится банкировать (что заметно снизит скорость графпроцедур). Все же low-res режим предназначен в первую очередь именно для быстрой динамической графики.

Sergey 25th December 2006 19:19

1 Attachment(s)
Коль речь зашла о разработке нового ZX-клона, предлагаю реализовать следующие видеорежимы:

256x192: 0)16/64, 1)16/16, 2)16/4, 3)4/1 цветов на пиксель.
320x256: 4)16/16, 5)4/4, 6) 2/1 цветов на пиксель.

Все режимы (Screen Modes) должны иметь возможность отображаться в Телевизионном и VGA режимах как PAL (~15 kHz) и Double-PAL (~30kHz) соответственно (Screen Types).

Для режимов 0-3 должна быть возможность отображения памяти с любого адреса кратного 2кБ в любой странице памяти.

Для режимов 4-6 должна быть возможность отображения памяти с адресов #0000, #4000, #8000 и #C000 в любой странице памяти.

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

Управление экранами ZX-128 через порт #7FFD должно быть аппаратно согласовано с новыми портами.

Предлагаемая раскладка управляющих портов:
ScrModAdr port
Биты 7-3 - старшие 5-ть бит адреса экрана
Биты 2-0 - режим экрана

Для режимов 0-3 используются все 5 битов, для режимов 4-6 – только старшие 2. Можно использовать до 8 режимов. По RESET должен устанавливаться в %01000000 (#40), что означает стандартный спектрумовский экран с адреса #4000

ScrTypPage port
Бит 7 - тип экрана (PAL/DblPAL)
Биты 6-0 номер страницы

Тип экрана: 0 – PAL, 1 – DblPAL. Адресуется до 128 страниц – 2МБ ОЗУ, что более чем достаточно. Можно сократить до 64-32 страниц, высвободив дополнительно 1-2 бита на какие-либо нужды. По RESET должен быть установлен в %00000101 (#05), что соответствует 5-й странице, PAL, стандартный спектрумовский экран.
Все порты должны быть доступны и на запись, и на чтение.

Строение растра в видеорежимах, организацию палитры и спрайтов оставляю на усмотрение разработчика.
Сергей Москалёв aka Gris/RT.
22.12.2006г.

ZEK 26th December 2006 02:34

А еще нада ввести порт который будет опциями правлять
к примеру
бит7 0=пиксельные шейдера 1.1 1=пикс. шейлера 2.0
бит6 0=прогресивная развертка 1=реверс луча монитора (для эффектов самое то) х=разворот развертки на случайный угол
бит5 0=спекавская адресация 1=карта сама по посылаемым данным определяет куда программа хотела записать (в отладочном режиме видеокарта может у пользователя спрашивать куда программа хотела вывести пиксель)
бит4 0=мпег2 декодер отключен 1=мпег2 декодер включен
бит3 0=воспроизведение видео с сидирома 1=воспроизведение с винчестера
бит2 0=подключен винт ИДЕ 1=подключен СКАЗИ винт х=автодетек
бит1 0=использовать векторный БГА шрифт 1=Использовать векторный ТруеТайп
бит0 0=совместимость с ZX 1=Совместимость с IBM х=совместимость с фирменным 48 спеком (винчестеры для видео эмулируются через магнитофон)

У кого еще конструктивные предложения по теме ;) ???

ПС. х=это бысто нада в бит записывать поочереди 0.1 и из за паразитной емкости шины данных там образуется среднеее значение плата будет этот момент отлавливать (к примеру при помощи быстродействующего ЦАП 16 бит с возможностью калибровки) состояние и реагировать нужным образом

Orionsoft 26th December 2006 02:46

я голосую за двухпортовку в области памяти где по стандарту спековский экран- с другой стороны двухпортовки z80\z180\arm генерящий видеосигнал

Error404 26th December 2006 13:19

Quote:

Originally Posted by heroy
А еще нада ввести порт который будет опциями правлять
к примеру
бит7 0=пиксельные шейдера 1.1 1=пикс. шейлера 2.0
бит6 0=прогресивная развертка 1=реверс луча монитора (для эффектов самое то) х=разворот развертки на случайный угол
бит5 0=спекавская адресация 1=карта сама по посылаемым данным определяет куда программа хотела записать (в отладочном режиме видеокарта может у пользователя спрашивать куда программа хотела вывести пиксель)
бит4 0=мпег2 декодер отключен 1=мпег2 декодер включен
бит3 0=воспроизведение видео с сидирома 1=воспроизведение с винчестера
бит2 0=подключен винт ИДЕ 1=подключен СКАЗИ винт х=автодетек
бит1 0=использовать векторный БГА шрифт 1=Использовать векторный ТруеТайп
бит0 0=совместимость с ZX 1=Совместимость с IBM х=совместимость с фирменным 48 спеком (винчестеры для видео эмулируются через магнитофон)

У кого еще конструктивные предложения по теме ;) ???

ПС. х=это бысто нада в бит записывать поочереди 0.1 и из за паразитной емкости шины данных там образуется среднеее значение плата будет этот момент отлавливать (к примеру при помощи быстродействующего ЦАП 16 бит с возможностью калибровки) состояние и реагировать нужным образом

:v2_thumb:
Еще нужно зарезервировать пару бит: один для связи с инопланетянами (они видят в другом спектре, чем мы, и потребуется переключение режимов) и один для включения/выключения управления подогрева видеопроцессора - грядет глобальное похолодание (из-за потепления, таяния ледников и поворота Гольфстрима) ;)
---
А если кроме шуток - из-за чего я в свое время бросил Спек практически сразу позле ознакомления, не помогли никакие игры (хотя успел спаять пару Пентагонов), так это убогий экран (только по разрешению, до цветности мне пофиг) и дурацкое ПЗУ с совершенно убогим ПО в адресном пространстве: четверть (!) ОЗУ псу под хвост. Как программисту Спек в то время мне был совершенно не интересен.

Orionsoft 26th December 2006 15:26

Quote:

Originally Posted by Error404
дурацкое ПЗУ с совершенно убогим ПО в адресном пространстве

никогда не програмировал на basice ?

Error404 26th December 2006 17:09

Quote:

Originally Posted by Orionsoft
никогда не програмировал на basice ?

Программировал, в школе - на БК0010. :) Игрушки делал типа питонов и "разбей стену". Гыгы. :v2_finge:

На Спектруме не программировал на нем - пальцы сломаешь на 40 кнопках, да и команды отыскивать на клавишах тяжко. К моменту появления у меня 128-х Пентагонов (поиграл и задвинул на полку, один до сих пор вроде жив), у меня уже был Орион с CP/М и кучей нормальных бейсиков (и компиляторов и интерпретаторов, хотя и не умевших графику, что впрочем не мешало пользоваться для графики ASM из бейсиков). Даже пытался портировать PRESIDENT с ZX на CP/M - и даже частично работало, к сожалению сейчас потеряно. :frown:
Главное, что в Орионе в этом смысле не было никакого насилия над личностью - в ПЗУ (2к) только Монитор + начальный загрузчик с НГМД. Все остальное подгружай на собственное усмотрение, все 500кб памяти - твои.


А так, в-основном в то время программил на ASM и TurboPascal под CP/M (и даже есть собственный клон CP/M), немного на С там же (это что касается домашнего хобби, в институте другие задачи были - вплоть до пролога [буэээ]).

MegaMyth 27th December 2006 17:23

глупо обсуждать назначение битов портов, пока нет самих портов (физически).

Sergey 27th December 2006 23:23

Quote:

Originally Posted by MegaMyth
глупо обсуждать назначение битов портов, пока нет самих портов (физически).

Чтобы получить определенный результат, нужно представить его, как-будто он уже существует. Не так-ли?
Если хочешь, это можно назвать "Техническое задание". ;-)

Sonic 28th December 2006 10:57

Quote:

Originally Posted by Sergey
Если хочешь, это можно назвать "Техническое задание"

Ты не прав. ТЗ формулируется как описание количества режимов, разрешений и глубины цвета. Это ты сделал.
Все что дальше называется "дизайн & архитектура", это уже примерно середина процесса разработки. При написании ТЗ тебя это не должно волновать никаким боком.


All times are GMT +4. The time now is 13:21.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.