![]() |
Quote:
Quote:
|
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г. |
А еще нада ввести порт который будет опциями правлять
к примеру бит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 бит с возможностью калибровки) состояние и реагировать нужным образом |
я голосую за двухпортовку в области памяти где по стандарту спековский экран- с другой стороны двухпортовки z80\z180\arm генерящий видеосигнал
|
Quote:
Еще нужно зарезервировать пару бит: один для связи с инопланетянами (они видят в другом спектре, чем мы, и потребуется переключение режимов) и один для включения/выключения управления подогрева видеопроцессора - грядет глобальное похолодание (из-за потепления, таяния ледников и поворота Гольфстрима) ;) --- А если кроме шуток - из-за чего я в свое время бросил Спек практически сразу позле ознакомления, не помогли никакие игры (хотя успел спаять пару Пентагонов), так это убогий экран (только по разрешению, до цветности мне пофиг) и дурацкое ПЗУ с совершенно убогим ПО в адресном пространстве: четверть (!) ОЗУ псу под хвост. Как программисту Спек в то время мне был совершенно не интересен. |
Quote:
|
Quote:
На Спектруме не программировал на нем - пальцы сломаешь на 40 кнопках, да и команды отыскивать на клавишах тяжко. К моменту появления у меня 128-х Пентагонов (поиграл и задвинул на полку, один до сих пор вроде жив), у меня уже был Орион с CP/М и кучей нормальных бейсиков (и компиляторов и интерпретаторов, хотя и не умевших графику, что впрочем не мешало пользоваться для графики ASM из бейсиков). Даже пытался портировать PRESIDENT с ZX на CP/M - и даже частично работало, к сожалению сейчас потеряно. :frown: Главное, что в Орионе в этом смысле не было никакого насилия над личностью - в ПЗУ (2к) только Монитор + начальный загрузчик с НГМД. Все остальное подгружай на собственное усмотрение, все 500кб памяти - твои. А так, в-основном в то время программил на ASM и TurboPascal под CP/M (и даже есть собственный клон CP/M), немного на С там же (это что касается домашнего хобби, в институте другие задачи были - вплоть до пролога [буэээ]). |
глупо обсуждать назначение битов портов, пока нет самих портов (физически).
|
Quote:
Если хочешь, это можно назвать "Техническое задание". ;-) |
Quote:
Все что дальше называется "дизайн & архитектура", это уже примерно середина процесса разработки. При написании ТЗ тебя это не должно волновать никаким боком. |
| All times are GMT +4. The time now is 13:21. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.