omercury, у нас, очевидно, разное понимание слова "массив".
Я считаю регистр одномерным, а память 2-мерным массивами, неважно как они об'явлены.
А что считаете массивом вы?
omercury, у нас, очевидно, разное понимание слова "массив".
Я считаю регистр одномерным, а память 2-мерным массивами, неважно как они об'явлены.
А что считаете массивом вы?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Застрял на работе с памятью...
Без буфера нужно как-то аккуратно делать /OE для памяти...
Т.к. память читает процессор и видеоконтроллер, а еще шд должна быть свободна от памяти во время работы портов, получатеся такая схема.
/OE будет LOW когда
1) A14=1 или A15=1, /MREQ=0, /RD=0 читает процессор
2) A14=1 или A15=1, DC1 (1.75MHz) = 0 читает видеоконтроллер, вот тут нужно ли еще /RAS учитывать?
3) /IORQ=0, /M1=0 отключаем память
пока что такое не работает...
Тест 128к пока что не грузится...
Вот что имею на данном этапе
Еще непонятно откуда берутся эти вертикальные полосы.. то ли это монитор не понимает ЧБ, то ли бордер глючит...
Последний раз редактировалось EvgenRU; 10.08.2017 в 22:05.
Мне кажется вы не правы.
Процессор может читать любую область памяти и писать в любую область памяти, кроме ПЗУ.
Приоритетным должен быть видеоконтроллер.
Он должен задерживать работу процессора в то время, когда сам читает память.
А поскольку шина одна (я правильно понял?) то обращение к портам тоже останавливает процессор.
В некоторых наших старых клонах процессор придерживают через сигнал WAIT\ процессора.
Оригинальный 128+ тормозится остановкой тактовой частоты процессора.
В современных клонах, с быстрой памятью, доступ просто разделён во времени. Память успевает обслужить и видео и процессор.
Ладно, дальше сам буду разбираться, зайду сюда как всё сделаю, можете дальше обсуждать свой SV
Суть прозрачного доступа примерно в следующем
Видеогенератор читает данные в 2 раза быстрее чем ему нужно, но один из доступов его может выбить процессор, поэтому видеочасть в буфер сохраняет то что получилось прочитать.
Оба цикла процессор забрать не может, ему нужна память не чаще чем 1 такт из 3 смежных тактов
Этого я и боялся...
А как в такой ситуации обойтись без MD0..7 (а то жалко 8 пинов то...)?
Если я поставлю буфер на ШД и выведу его выводы прямо на регистр атрибутов и сдвиговый регистр, это поможет?
Если да, то как его лучше подключить? когда давать OE памяти чтобы не было конфликта с буфером? с буфером понятно, у него (~3.5 & 1.75)
PS: на /OE памяти я подаю assign RAM_OEn = (~(A14 | A15) | (RDn | MREQn)) & DC1n;
Или всё же не получится без буферов???
Последний раз редактировалось EvgenRU; 27.03.2017 в 02:22.
Буфер активируется в момент WRBUF = DC0 & ~DC1, по спаду этого сигнала данные защёлкиваются (по схеме Ленинграда)
(там фактическое чтение процессором данных, если не ошибаюсь, на такт запаздывает.
А как данные для видюхи внутрь заводить?
EPM7160STC100
Можно конечно всю эту бороду с видеоформитователем вместе с буфером в какую-нибудь мелконогую EPM3064ATC44 загнать, а с неё вывод уже непосредственно на ШД.
Последний раз редактировалось omercury; 27.03.2017 в 03:16.
Поставил буферы... чёт весь мозг сломал, нифига не работает...
Подключил вот так
На экране всё мельтешит...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)