до только никто на это бы не пошел
тем более для 16к
Вид для печати
например
Скрытый текст
тут число атрибутных строк 28, но можно и меньше отображатьКод:столбцы по 256 байт (и пиксели, и атрибуты столбца)
14-битные адреса в 16k странице:
ccccccH ppppxxx - пикселей
ccccccH HHHaaaa - атрибутов
где
cccccc - номер столбца
H - верхняя или нижняя половина
(все биты H равны между собой)
Hppppxxx - возрастание от #10 до #EF
(xxx - номер линии в знакоместе)
HHHHaaaa - убывание от #0D до #F2
(с переходом через ноль декрементом)
(aaaa = инверсия pppp)
совпадают старшие биты
то есть RAS = ccccccH
движение по горизонтали:
inc/dec h
движение по вертикали:
inc/dec l - для пикселей
dec/inc l - для атрибутов
адрес атрибутов из адреса пикселей:
ld a,l:sra a:sra a:sra a:xor #0F:ld l,a
адрес пикселей из адреса атрибутов:
ld a,l:add a:add a:add a:xor #78:ld l,a
еще можно перераспределить байты между атрибутами и пикселями
вплоть до мультиколора высотой 128 пикселей
число столбцов - сколько влезет в экран по ширине
правда, при отображении RAS теперь не перебирает все комбинации
но для полного рефреша должно хватить +1 холостого чтения на сканлайн
[свернуть]
конечно не совсем то тк 8К с дырками (что для 16к машины не оч)
но натолкнул на мысли
что не обязательно атрибутам
считаться от того же счетчика
или можно инвертировать
да и можно наверно даже положить на линейность атрибутов
А я как-то не так сказал? о_О
Сейчас :
по горизонтали:
inc/dec l (диапазон 0-31)
движение по вертикали:
inc/dec h в пределах знакоместа (диапазон 0-7)
l+32/l-32 по строкам
Экран разлетелся кусками по всем 16к, ну и пёс с ним, рефреш, ну, допустим, обойдём.
Что это даёт?
ещё такая идейка - включаем какой-то бит в порту - теперь вся запись в память будет идти только в видеопамять (49152 байт которой - байт на точку) и в основную ничего не пишется - но теперь уже процессор запарится рисовать того же Дизю )
Память в ZX Spectrume по древности была как у Радио-86РК с тремя питаниями. Ужас. По сравнению с ZX Spectrumom Ленинград - идеальный компьютер. Никакой ULA не надо, нет антенного выхода, нет медленной памяти, нет атрибутов, всего 8 микросхем РУ5, нет мембранной клавиатуры, нет стабилизатора +5В внутри компьютера, нет преобразователей питания, нет динамика, зато есть кнопка RESET, кемпстон джойстик и выход RGB, а звук идет сразу на телевизор и игры бесплатные.
LENINGRAD-2012 конечно еще лучше Ленинграда. Устранены упрощения схемы и вместо ПЗУ стоит FLASH на 128К. И схема чтения с магнитофона на К561ЛН2 и можно подключить SEGA джойстик с AUTOFIRE и есть медленная память и атрибуты и правильный INT и правильные синхроимпульсы и разъем ZX-BUS и плата меньшего размера и развертка Pentagon-128 и разъемы современные на плате и выход на SCART.
Жалко, что технология изготовления механических кнопок в России утеряна... И китайцы не делают. Зато есть отличные старые PS/2 клавиатуры по отработанной технологии. Которые по качеству лучше, чем современные с низким ходом кнопок.
Сейчас еще проще делать компьютеры. Память 512K обычно 10 ns. 128К обычно 45 ns. Никая регенерация не нужна. Лепи какую хочешь адресацию.
Если Alone использовал в игре линейный буфер, значит это самый быстрый способ, значит надо сделать вместо ПЗУ линейный буфер и все игры переделывать под него.
А как насчет выхода сразу на VGA 640х480 67 Hz и INT 33 Hz ?
тогда уже проще запилить идеальный 384х256
чот не пойму
а что мешало перепутать адресные линии только прямо перед самой памятью
чтоб писать вроде бы как линейно
неужели правда убивали 2-х зайцевКод:01 0Й ЙYYY yyyx xxxx
FE DC BA98 7654 3210
0ЙЙyyyY YYxxxxx
CAS-DCB765A RAS-9843210
011ЙЙY0
CAS-DCB765A
или с ходу не додумались
или я что то туплю?
Наверно времени не было додуматься. Нам сейчас со стороны виднее, чем им там тогда. А Орион мог бы быть лучше Спектрума, если бы сразу стоял Z80 на 3.5 MHz. Но для запуска игр Спектрума пришлось бы делать такой же экран с нелинейной адресацией, зато наши игры можно было бы сразу в линейном экране делать.
Интересно, а почему в Орион сразу весь Спектрум не добавили ? Вот был бы универсальный компьютер. И не надо было бы сейчас ничего изобретать.