turlipuki, как в этом случае работает регенерация, не разбирались?
Вижу по схеме, что А8 на памяти как-то завязано с МА0, но разобраться пока не получается.
Из всего объёма доступны только 128К?
Можно как-то с пользой использовать остальные 128К?
turlipuki, как в этом случае работает регенерация, не разбирались?
Вижу по схеме, что А8 на памяти как-то завязано с МА0, но разобраться пока не получается.
Из всего объёма доступны только 128К?
Можно как-то с пользой использовать остальные 128К?
P.S. Попытался внимательно разобраться со схемой регенерации, и всё равно не понял. Там всё или очень тонко, или профанация (имею в виду, конечно, не Вас, а исходную схему на сайте Схемотехника).
Дальше обозначения по Вашей схеме https://pic.maxiol.com/images2/16770...3893.l1128.jpg
С DD7/11 выходит лог. единица если идёт обращение к видеопамяти (страница RAM 5 или 7, окно CPU 1). Причем независимо, контроллером дисплея, или процессором.
Если идёт обращение процессора в окно CPU 2, то будет лог. 0, если в окно CPU 3 - в зависимости от страницы.
То есть фактически этот сигнал указывает, идёт обращение к нечетной странице (включая видеопамять) или к четной.
Далее, если RAS = 1, а /RAS = 0 (т.е. активен), то этот сигнал (с DD7/11) доходит до самого выхода D4.4/13, и выходит с инверсией.
Если RAS = 0, а /RAS = 1 (не активен), то эта ветвь не влияет на выход, и значение выхода определяется сигналом MA0 на входе DD5/12.
Если MA0 = 1, на выходе (D4.4/13) будет ноль, если MA0 = 0, на выхода единица.
Выход, напомню, поступает на старший адресный разряд А8 чипов памяти (4256 или РУ7 в исходной схеме).
Теперь, кто может, объясните, где я ошибся, и как вторая ветвь (начинающаяся с /RAS и MA0) может влиять на регенерацию? Ведь /RAS высокий, следовательно неактивный. А регенерация осуществляется именно по строкам.
https://pic.maxiol.com/images2/16771...rdosspec22.png
Сам до конца не разобрался, пока отложил это. Но думаю эта схема никак не профанация, а наоборот изящное решение.
Вот здесь очень не плохое объяснение:
http://zxpress.ru/article.php?id=14681
Сообщайте о результатах, тоже хочется понять)
- - - Добавлено - - -
Сам на этом же месте схемы споткнулся.
turlipuki, спасибо, почитал статью. Моя ошибка в том, что считал, адрес выставляется при низком уровне /RAS. На самом деле он "защелкивается" при переходе в низкий, а выставляется как раз когда /RAS высокий.
Получается, что используются только 128К из 256К. Сигнал А0 дублируется, одновременно подаётся на A0 памяти, а при записи номера строки, ещё и на А8. Видимо этим и достигается регенерация.
При этом переключение между "нижними" и "верхними" 64К происходит внутри строки, заданием значения адреса А8 чипов памяти.
Я рад, что удалось разобраться, спасибо.
Считаю, что 256Кб, только из спортивного интереса делать) Такого софта крохи по сравнению с 48,128.
Да, соглашусь. Просто зациклился на своей концепции. Задача уместить всë в маленький корпус Ленинграда: 128Кб, AY, pal-кодер, и никаких интерфейсов)
Правда появились мысли о подключении геймпада, Сега или Дэнди.
Аналогично:v2_thumb:
Игрушки загружаю со старого кнопочного телефона. Большинство в турбо-режиме на удвоенной скорости (прошивка уже была "Турбо"). Турбированные вообще очень быстро грузятся https://zx-pk.ru/threads/19193-igry-...2012-quot.html
В связи с этим заморачиваться с дисководом и всякими эмуляторами вообще не вижу смысла.
Но вот использовать как-то с пользой "лишние" 128К хотелось бы.
Вы AY будете оригинальный использовать или эмулятор на Atmega?
To Rio444
Буду использовать настоящую AY
To crrush
Если делать плату, не зайдëт в корпус. А так можно попробовать) Но всë равно соединять проводками придëтся, их немало будет. Может влезет, если сделать две платы. К примеру порт и ОЗУ над полем РУшек, AY над ПЗУ1, кодер на монтажном поле. Насчëт геймпада даже не знаю, ещë не разбирался, как и по какой схеме это сделать.