![]() |
Quote:
|
Мне вот например нравится предложение captain cobalt. Очень удобно вообще, и для спрайтов, хранимых вертикально в частности. При 256 линиях и 4х3 получается горизонталь 340.
|
Quote:
256x256 ибо не влезает 340 в 8-мибитный регистр :) . |
Горизонталь 340 точек - это всего 42.5 :) байта в битплановом режиме.
384 точки - это всего 48 байт. 352 - 44 байта. А в линейных режимах всяко придется банками щелкать (номер банка хранится отдельно). |
А и плевать, что 340 в байт не влезает. Оно при таком раскладе и не особо нужно. При расположении данных в памяти вертикально, получается вплоне себе линейная адресация. Причём байт из столбца может быть как на знакоместо, так и на другие величины, на 1,2,4 пиксела например. Но тут уж памяти надо много. И для переброса 340х256@256цветов экрана за прерывание потребуется навскидку мегагерц эдак 50.
Я бы не хотел работать с битпланами, но если приглядеться преимущества могут быть и тут. Например изменяющееся число этих самых планов. ТЕ хотим ЧБ - 1, 4 цвета 2 и тд вплоть до 32бит =) |
Quote:
Quote:
Quote:
Я, вот, предлагал экраны наиболее близкие к стандартному, с которыми можно работать доволно быстро, и открывать почти с произвольного места. Последнее, учитывая желание иметь многозадачную ОС на спектруме, просто не заменимо. Так каждая задача может открыть свой собственный экран, а не перекидывать данные туда-обратно в #4000 или #C000. |
У меня появились некоторые соображения насчет видеоадаптера.
Многие говорили, что на спектруме удобнее перемещаться от строчки к строчке и от столбца к столбцу простым INC/DEC H/L. А что если в видеоадаптер ввести порты указателя начальной точки. затем подавать команды видеоадаптеру аналогичные INC/DEC H/L, данные записывать тоже аутом, при этом ВК будет знать в какую сторону ему перемещаться после записи данных. Также предлагаю ввести еще одну команду аналогичную PUSH POP для координат и регистры размера загружаемой области. Таким образом мы получаем чудовищное быстродействие... записав в ВК размер пересылаемой области и её координаты на экране (и указав номер видеоэкрана) мы делаем простой LDIR и данные прорисовываются быстро и красиво :-) также можно ввести регистр прозрачного цвета. и при копировании прозрачные точки будут игнорироваться. Еще можно прикрутить вместо LDIR более шуструю весч и пересылать данные еще быстрее... Как будут работать PUSH POP: мы указываем начальную координату и кидаем в стек. потом занимаемся прорисовкой чего либо. достаем координаты со стека смещаем их куда нада опять кладем на стек рисуем дальше и так далее. Также подумываю над тем, чтобы впиндюрить в ВК алгоритм прорисовки линий, многоугольников и окружностей, еще можно подумать над их заливкой. Хотелось бы узнать Ваши предложения и пожелания. P.S. работа над клоном и ВК идет полным ходом... макетная плата запаяна, байтбластер работает. Позавчера получил на мониторе 640*480*60Гц (другой кварц не нашел) и цветные полосочки :-) было приятно. По возможности скоро выложу фотки девайка и экрана который получил :-) Скорее всего это будет уже после НГ как отосплюсь. |
LD (rr),A - 7T
LD (HL),r - 7T +INC rr - 6T Это в сумме 13Т OUT (C),r - 12Т + автоинкремент - разница невелика, а удобство сомнительно. По поводу "PUSH/POP" - это же DMA! По остальным соображениям получается блиттер с колоркеем. Но многим нравится делать всё в софте. |
Quote:
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Тогда уж давать команду ВК схавать N следующих байт с ШД (кроме циклов M1), загнать в SP указатель на блок и N/2 раз выполнить POP. Quote:
Quote:
Quote:
|
Quote:
Игровой режим можно особо не выдумывать, берёшь режим P1 из даташита по v9990. Только под своё разрешение 640*480*256@60,75-85Гц. В P1 отображается 2 тайловых слоя, +спрайты. Потом уже можно и о примитивах (с заливкой) подумать. |
Quote:
чего-то я никак не уразумею, о чём вы здесь толкуете. Какое отношение разрешение 640x480x256 имеет к Спектруму?! |
Вот ещё новогодний вопросик ... :)
Что с Basic делать? Нужен ли он? |
Quote:
|
Quote:
Изначально не задумывался басик как токовой. Должен быть тапе лоадер и всё. А потом подумали, и решили, что если у человека нет ни одной кассеты что ему делать с эти спектрумом. И придумали Басик. поскольку остались неиспользование кнопки не клавиатуре (не порядок) придумали еще команды CAT MOVE ERASE и.т. Для чего они были нужны никто еще пока не знал, но всё равно решили оставить. Прошли годы, пользователи начали задавать вопрос. а для чего все эти команды. и тогда придумали Interface 1 и TR-DOS. Снова проходят годы, прикручивают 128 КБ памяти и Басик 128 с тейп лоадером. Люди в недопонимани. Если есть уже TR-DOS и Интерфейс 1, зачем басик и Тапе лоадер? Настали наши дни. Прикручивают уже всё что угодно к бедному спектруму... и 4 МБ Рамы и HDD и видеокарты с 512к и более... а тапе лоадер и басик остался? вопрос: Кто еще грузит игрушки объёмом 600К с кассеты на LOW? Может кто-то грузит CP/M с кассеты? Или кто-то доастал 120часовую аудиокассету, записал туда Демо видео от NedoPC Group и смотрит? Кому-то еще нужен супер медленный Басик, для написания таких же реактивных демок? |
Quote:
|
Первые шажки :-)
3 Attachment(s)
НГ позади и сегодня великий день :-) на экране монитора сформирован растр 512/384. на картинках - фотки девайса и полученной "радуги" :v2_clapp:. Продолжаю рабоать... процесс пошел.
(соори за карявые фотки... больше фоткать пока нечем :v2_cry: ) |
Quote:
|
Опытным путём на обчном CRT были получены стандартные спектрумовские видеорежимы. При этом кадрова частота была от 50 до 150 гц.
Это даёт некоторую писчу для размышлений... Вобще должен заметить что LG StudioWorks 575N выводит любую картинку, если его кадровые и строчные частоты находятся в диапазоне допустимых значений! завтра попробую получить на экране какуюнить картинку (отличную от полосочек и квадратов... To be continued! P.S. 2 CHRV память пришлось подключать к 3.3В, на 5В сильно грееца! |
Также и Error404.
Quote:
А тут... 300кБ видеоданных гонять на Z80 с 64кБ адресного пространства?! Похоже ребята живут где-то за пятым кольцом Сатурна, если не дальше. Я разочарован :v2_cry: Ну ничего, у меня тут знакомый схемотехник скоро освободится от диссертации, - будем своё с нуля делать. |
Quote:
|
Quote:
P.S. Вообще хотелось бы машинку не хуже, чем Sinclair QL, а может и лучше, иначе варить всю эту кашу нет никакого смысла. http://www.q40.de/q40.dedownload.html http://q40.de/download/Q60.jpg |
Quote:
Посмотрите на многие аркадные игрушки: Экран статический, подвижной графики менее 20% экрана. В графическом редакторе работать тоже можно. Если это разрешение вы считаете не нужным - не используйте, вот и всё. Что вы привязались к 640 на 480. Есть и другие режимы забавные. например: 320х240, 320х200, 256х192 как 1,2,4,8 бит на пиксель, с палитрой/без, с атрибутами и без них... я делаю гибкую систему. Можно задавать свои видеорежимы например 64х64 пиксела :-) с бордюром по 288 208 по горизонтали и вертикали соответсвенно. Как фантазии хватит и как позволит ваше логическое мышление. Теоретически (еще не проверял) можно получить видеоразрешение (максимально возможное) 1024х1024х8Бит но это жесть :-) |
Quote:
|
Quote:
А вот текстовый режим реально лучше смотрица на VGA нежели на ТВ, я имею ввиду 80*25. |
Quote:
Мало того, такая карта может работать паралельно со спеком. Уменьшить можно до 512*384. И то из соображений экономии памяти. |
Я бы просто хотел объяснить свое видение такой платформы как ZX-Spectrum, что бы объяснить почему не вижу смысла в видеоконтроллерах и мегавидеорежимах которые несоменно приблизят к писишным качество графики с аппаратными ускорителями.. На данном этапе Спектрум не является общераспространенным и бытовым в "народном" смысле этого слова, это скорее компьютер любителей попрограммить на низком уровне, которых можно было бы сравнить с каякерами (это такие лодки для спуска по горным рекам) и в целом весь кайф программинга под спектрум лежит именно в том, что ты обходишь эти камни и выжимаешь из платформы не только то что она может, но и то чего она не может.. все кто любит комфорт и покой давно уже на писишке и это всех вполне устраивает, все же любители приделывать к спеку мощные процессора несовместимые с Z80 или видеопроцессора которые будут рисовать кучу линий аппаратно и делать заливку, сами того не осознавая, делают вещь которая не дает плюсов как таковая в более широком диапазоне нежели сиюминутный, тягаться в секторе бытовых компьютеров с PC нереально, а такие разработки призваны ускорить разработку именно "бытового" софта и снижение издержек на его производство, что в нашем случае бессмысленно.. так что прежде чем ставить на каяк мотор, парус и пытаться выводить его на поток без препятствий :) лучше тысячу раз подумать, так как "некоторые вещи сломаны, потому что они должны быть именно такими" :)
|
Quote:
А тут ваще человек планирует классический APA-mode, общую память на все (проц тоже должен когда-то работать), и есс-но ШД 8 бит, со всеми вытекающими. :sleep: |
Quote:
|
Quote:
|
Quote:
Но сканер пока ничего путного не вытаскивает, т.к. Андер канстракшен :-). |
Quote:
|
Quote:
640*480=307200 байт на 1 слой. умножаем на 2 так как 2 слоя, вот тебе и 614400. |
28MHz / 50Гц = 560000 тактов на кадр
на 60Гц еще меньше, поменяй батерейки в калькуляторе :) |
Ребяты... памать 16-ти битная... одновременно читаться будет 2 слоя.
|
Все равно не получиться 2 Z80 на 28МГц надо что бы без останова процов 37МГц память (я имею ввиду + видео еще 60Гц хотяб).
|
Вот считаем, сколько сканеру нужно вычитать за кадр:
2 тайловых слоя + 1 спрайтовый 640*480*3слоя = ~922КБ Для комфортного режим 85Гц (сканер максимально загружен) 922 * 85 = 79МБ/сек Реально цифра чуть побольше будет на 5-7%. Такая видео-карта с 2 - 4 метрами памяти уделает многие игровые консоли, включая сегу. |
Главное не разрешение и магабайты а динамика.
|
Quote:
А тут сам ВК съедает 80МБ/сек. |
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.