Это _они_ называют![]()
Это _они_ называют![]()
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
эка народ на хабре тема про 6502 разворошилая, кстати, с него начинал писать на ассемблере на незабвенном Агате. И ник мой vlad6502 кагбэ намекает
![]()
vlad6502.livejournal.com
Модуль CPU размеры 160х144.45 мм
Вектор 06Ц
ЮТ-88 в минимальной конфигурации
Вектор 06Ц 2014 сборка платы
ATARI 65XE+USB SIO2PC
Commodore 64 ремонт
Собрал и запустил последний модуль Микро-80 - динамическое ОЗУ. Отклонения от оригинала минимальны - лишь добавил возможность использовать несколько типов микросхем памяти: 565РУ3, РУ6 и РУ5. На плате размещен один банк памяти, что дает 16КБ/64КБ ОЗУ в зависимости от типа примененных микросхем. При желании набрать 64КБ на РУ3 (чтобы максимально соответствовать оригиналу), конструктив модуля позволяет присоединить сверху еще одну плату с тремя банками памяти. Для защиты от пропадания питания -5В использовал реле (аналогично процессорному модулю).
Модуль динамического ОЗУ может работать в пересекающемся адресном пространстве с модулем ОЗУ-ПЗУ, при этом приоритет имеет модуль ОЗУ-ПЗУ (используются сигналы БЛКВХ и БЛКВЫХ)
С памятью дисплейного модуля ($E000..$EFFF) модуль динамического ОЗУ работает в параллель: запись производиться одновременно в оба модуля, а чтение выполняется только из модуля динамического ОЗУ (дисплейный модуль не позволяет читать из его видеопамяти). Таким образом, можно организовать скроллинг содержимого экрана, нужно лишь слегка подправить соответствующую подпрограмму Монитора.
Сборка заняла 38 часов, модуль запустился сразу же. Единственный нюанс, с которым предстоит разобраться - компьютер не хочет запускаться без статического ОЗУ по адресу $F000...$F7FF (рабочая область Монитора)
P.S. В оригинальной статье "Радио" N10, 1983г. допущена неточность во временной диаграмме сигналов (Рис.3): вместо сигнала "D6 выв.9" изображен сигнал с инверсного выхода этого же триггера ("D6 выв.8").
Последний раз редактировалось vlad6502; 21.12.2014 в 16:33.
vlad6502.livejournal.com
Красивые платы, Микро-80 в массы ?![]()
vlad6502.livejournal.com
Отладил модуль сопряжения с магнитофоном. На этой же плате смонтирован интерфейс клавиатуры, панелька под дополнительные порты 580ВВ55 и остается еще достаточно места для расширений, например, 580ВИ53 и 580ВВ51. На монтаж ушло 14 часов.
В качестве накопителя использовал профессиональный кассетный диктофон Marantz-PMD222 (моно - широкая дорожка записи, сквозной канал, 2 скорости).
Изначально пробовал запись / чтение с константами, рассчитаными по формулам из журнала Радио. Для моего случая (частота кварца 20 МГц, тактовая частота процессора - 2,5 МГц) это: константа записи = 40*Ftakt/2 = 40*2,5/2 = 50 = $32, константа воспроизведения = 1,5*константа записи = 1,5 * 50 = 75 = $4B
Компьютер данные не считывал... Тщательно перепроверив работоспособность модуля, но так и не добившись считывания данных, пошел другим путем: записывая на ленту последовательность байтов $22, подобрал константу записи для достижения скорости обмена 1500 бит/сек. Затем, методичным перебором константы чтения от $2F и выше, добился считывания с ленты и определил "коридор" рабочих значений константы чтения. Финальным вариантом взял значение середины "коридора". В результате мои рабочие константы выглядят следующим образом: константа записи = $30 -> $F75D - близка к расчетной; константа воспроизведения = $36 -> $F75C - существенно отличается от расчетной. Интересно, почему ?
В качестве эксперимента попробовал работу на пониженой скорости ленты 2,38 см/сек - все читается без проблем. Есть идея в дальнейшем соорудить интегрированый накопитель на микрокассете.
vlad6502.livejournal.com
Чтобы проверить надежность магнитофонного интерфейса (при ремонте компаратора или самого магнитофона, например) мы на кружке генерировали рандомное содержимое объемом не менее 32КБ а уже его выгружали и загружали. Если считалось 2 раза подряд без ошибок - то все пучком. Было всякое, зато магнитофонные интерфейсы всегда работали на ура. Касаемо самих констант, то тут есть несколько нюансов. Во-первых, зависит от реализации в машинном коде. Например, у принятого манчестера в РКшке, Орионе и Специалисте выгрузка длиннее загрузки, поэтому константа выгрузки заметно меньше константу загрузки. Причем, она несколько нелинейна, если изменять скорость между 0.5х и 2х.
Последний раз редактировалось HardWareMan; 18.09.2014 в 06:21.
Если ГФ24, то тактовая будет 20/9=2,222222МГц.
В Микро-80 тактовый генератор на рассыпухе на основе ИЕ5. 20 МГц / 8 = 2,5 МГц
Для проверки качества считывания я использовал образы Монитора и Бейсика (он у меня зашит в ПЗУ). На приаттаченом скриншоте как раз отображен процесс чтения / записи образа Монитора с последующим сравненинем считаных данных с оригиналом.
vlad6502.livejournal.com
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)