zst, причем, на 100-й странице.
zst, причем, на 100-й странице.
Off top
Zst что означает ваша подпись? Напишите в ЛС чем помочь?
Мои скромные железяки
Altair8800(в процессе)
ATARI 65хе
YAMAHA YIS503IIIR
PackardBell
HP Vectra 286/25n/VE/VL/VL800/VLi8, Kayak XA
AcerPower 433sv
Fujitsu-Siemens Scenic/S 2
Compaq deskpro en
МС 0511-01
Микро80(в процессе)
Микроком85
Апогей-БК01Ц
РадиоРК-86
БК0010/10-01/11/11М
ПК-8000
Львов ПК-01
Агат-9
ДВК-2(в процессе)
ДВК-3М
Вектор-06ц
Специалист
ХТ8088 nec-20
АТ286,386,486
PI-75-200ММХ
РII, III,IV
ZX-Evolution r.C3
Santaka-002
Дельта-С
Ленинград48к
[свернуть]
Для упрощения подключения к монитору можно сделать скандаблер. Кадровую частоту оставить 50 Hz, а частоту точек и строчной развертки удвоить.
Для кварца 14 MHz есть выбор из таких режимов 640x480 VGA:
Кадровая 50 Hz, INT 50 Hz, Z80 3.5 MHz.
Кадровая 60 Hz, INT 60 Hz, Z80 3.5 MHz.
Кадровая 60 Hz, INT 30 Hz, Z80 3.5 MHz.
Кадровая 67 Hz, INT 67 Hz, Z80 3.5 MHz. Точки квадратные.
Кадровая 67 Hz, INT 33 Hz, Z80 3.5 MHz. Точки квадратные.
Если поставить более быстрый Z80, то его можно будет использовать на частоте в 2 или 4 раза быстрее.
Смена частоты Z80 или INT может привести к изменениям в скорости игры.
INT 30 или 33 Hz даст больше времени для построения в буфере следующего кадра. Если положение INT перенести в правый нижний угол SCREEN, то времени для копирования до луча будет больше.
Какой режим лучше ?
На мой взгляд режим "Кадровая 67 Hz, INT 33 Hz, Z80 3.5 MHz. Точки квадратные." позволит в будущем легко сделать плавные игры с 33 fps.
Последний раз редактировалось zx-kit; 16.06.2019 в 09:02.
"L-256"
Для копирования буфера с новой графикой на экран надо использовать автомат на счетчиках и дополнительную память для загрузки параметров копирования. Наверно более универсально записать один раз в дополнительную память адреса отрезков в буфере и экране. А потом данные для очередного копирования будут читаться на более высокой скорости. Проще заранее посчитать и загрузить в таблицу.
Для простоты автомата можно байты парами записывать.
Первый байт - что делать: увеличивать или загружать и какой счетчик,
а второй байт - байт для загрузки части адреса или не использовать.
Если байты идут последовательно, то в первом байте - соответствующее число.
Во втором байте: по два бита на счетчик - что делать.
Ориентировочно:
00 - не менять
01 - +1
10 - -1
11 - перенос из младшего счетчика
Можно сделать хардварное перетасовывание битов приемника чтоб писать в видео память как
будто она линейно расположена. Тогда к экрану лучше обращаться не по адресам, а по координатам в байтах и аппаратно биты переставить.
А как можно сохранить часть фона перед рисованием в буфер спрайта, а потом восстановить ? Самое простое - сохранить весь буфер, но в друг это не для всех игр подойдет. Если буфер линейный наверно можно змейкой. Указать вначале адреса, а потом +-1.
Может проще все игры под линейный буфер переделывать для однотипности ? Линейный буфер также можно весь змейкой копировать - так быстрее. Линейный буфер упрощает переход к байту вниз. Если переставить биты аппаратно, то даже экран становится линейным. А вот если в буфере строки идут подряд по 32 байта, то для перехода к байту вниз надо прибавить 32 к адресу...
Можно для этого случая сумматор добавить, но если игру переделать под линейный буфер, то и рисование графики в буфер ускорится.
Если линейный буфер сделать с адреса 0000H, то еще проще и быстрее.
А если еще ускорить z80, то будет все рисоваться плавно и быстро.
Последний раз редактировалось zx-kit; 16.06.2019 в 22:32.
"L-256"
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
вот тут описуетсо как из за кастрированного спектрум 16К
пришлось выкручиваться и сделать то что было сделано
http://hype.retroscene.org/blog/891.html
менее читабельная но более подробная статья
http://zxpress.ru/article.php?id=18217
клепались бы сразу одни 48-е
и возможно бы адресация была линейной
а проц бы стоял на вайте при записи в видео память пол строки пока читает видео контролер
тк на это, на фоне предыдущих zx80\81, могли бы и положить...
- - - Добавлено - - -
кстате смотрю на схему резинового спека
и примечательно то
что мы называем
"медленная" память на самом деле быстрая 150ns
а то что называем
"быстрая" память на самом деле медленная 200ns![]()
Забавно читать, как одни обосновывают то, что сделали другие. Причём сделали значительно раньше обоснования.
Всё намного проще: младший байт (именно байт, не 7 бит) адресов пикселей и атрибутов полностью совпадает.
И сделано это как раз для удобства манипуляций с экраном, а вовсе не для регенерации памяти.
И, разумеется, для увеличения скорости этих манипуляций - 16битная математика на восьмибитке ресурсозатратна.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)