Вероятно на это же намекал и HardWare Man.Сообщение от shurik-ua
Много часов читал тему о ZX-NEXT http://www.google.ru/url?q=http://zx...xIfLw0t__2GENw, в которой куча корифанов 5 лет кракали защиту ПЗУ РФ2 с помощью плавающих битов. Слышал о такой защите в начале 90-х, но думал, что это "городская легенда". Интересно, что автор железа этого компьютера все 5 лет участвовал в обсуждении, но не удосужился даже рассказать принцип работы или хотя бы о назначении элементов схемы, что всё облегчило бы, а когда прошивку кракнули, исчез с горизонта.
Посмотрел исходник прошивки VPU и понял, что ZX-NEXT это совсем другое. Что-то очень сложное. Понять как это работает можно только анализируя схему и исходник прошивки. Тратить десяток часов напряжения мозгов на то, чтобы разобраться в такой сложной железке, ещё более жёстко завязанной на программу, чем предложенная выше, не собираюсь. Но насколько я понял, там Z80 формирует не видео, а только сигналы синхронизации и управляет железом. Т.е ZX-NEXT ничего общего с предложенной концепцией не имеет. Это даже не двухпроцессорная система, второй Z80 не может там сделать никакой работы для пользователя.
Хотя до начала пайки ещё далеко (дня 3, минимум), но разработка схемотехники двигается. Для меня не вопрос, как использовать эту концепцию с Z80, но по-прежнему главный интерес получить вариант простого компьютера на КР580 (если кто не знает, Z80 в 1986 был недоступен).
Итак, вчера я придумал новую концепцию, позволяющую ещё понизить требования к CPU без существенного увеличения количества корпусов.
Теперь для видео вывода будем использовать 7-ми тактовую команду LD A,(HL), удлинив WAIT-ом её до 8-ми тактов. Или же без такого удлинения, т.е 7 тактов, что даёт лишь 7 битов для графики, оставляя 1 бит для примитивного цвета (как в Apple-II). Изменение считываемого адреса будет теперь делаться не программно, а аппаратно. С помощью счётчика 561ИЕ10, который формирует 6 адресов A0...A5 и по каждому обращению Z80 в экран инкрементируется по окончанию сигнала /CS экран. Для коммутации адресов в режимах Video/User используется две КП11-тых. Но т.к в такой схеме достаточно одного выходного видео регистра, число корпусов не растёт.
Семибитовый видеовывод при 37-ми командах LD A,(HL) в строке работает при такте Z80 всего в 5 МГЦ. При такте 6 МГЦ можно иметь уже 44 байта в строке и 44*7=308 точек по горизонтали. Но я предпочитаю 40 байтов в строке, чтобы всё было как в Apple-II и такт 5.5 МГЦ. Экран в 280*192, как у Apple-II с его же убогим цветом - это то что надо для дешёвой бытовой ЭВМ 1986 года. И обеспечивает минимальное число корпусов. При такте 5.5 МГЦ и 192-х линиях быстродействие - 2.12 МГЦ.
Однако для меня главная задача реализовать идею-бзик - сделать комп на КР580.
Итак, имеем КР580 на такте 2.75 МГЦ (кварц 11 МГЦ). Ставим параллельно две банки w24257 по 32К каждая. В режиме видео командой LD A,(HL) читаются сразу обе эти банки. Байты защелкиваются в 2-х регистрах одновременно и последовательно выдвигаются на телевизор. Т.к при этом обе банки читаются одновременно, для развязки шины второй банки потребуется буфер АП6.
Итого, расход деталей при КР580 больше на 3 или 4 корпуса, но зато имеем экран 280*192 при 6-ти цветах с процессором КР580. Это получится самый простой в мире компьютер на КР580, довольно тормозной, но не самый худший по совокупности параметров. Быстродействие КР580 при такте 2.75 МГЦ составит - 0.39*2.75= 1.06 МГЦ, столько же сколько у Apple-II. Но скорее всего, КР580 без проблем удастся разогнать до 3.1 МГЦ, что даст реальный такт в 1.2 МГЦ, почти как в РК86.
Насчёт двухпроцессорной системы. Как планируется подключать процессоры друг к другу?
Лобовой примитивный вариант это интерфейс - регистр для связи (два несвязанных ядра) основной процессор пишет туда команды, подчинённый исполняет. При этом нет доступа основного процессора в ОЗУ видео контроллера. Т.е это просто терминал, а компьютер получается не графический.
Если иметь общую шину, то как это сделать? На ум приходит двухпортовое ОЗУ (слышал, но не видел). Или же какая-то схема синхронизации. Приоритет у видео процессора, А сразу после обращения видео процессора даётся "люк" для доступа к ОЗУ основного процессора. Можно сделать отключение локальной шины видеопроцессора, когда основной CPU работает со своим 10-ти наносекундным ОЗУ на полной скорости в 20 МГЦ. Подключение к экранному ОЗУ и вывод можно делать во время обратного хода по кадрам, отановив HOLD-ом видео процессор, чтобы не мешал.