В общем, предыстория такова. Я являюсь "счастливым" владельцем компьютера ATM-Turbo 2 ver.6.2A производства фирмы ATM. В качестве операционной системы в нем вместо CP/M сделан MSX-DOS в весьма урезанной версии. Софта под него - только переделанные с CP/M программы для Корвета и Turbo2. Естественно, мне хотелось бы переделать его под CP/M. Но дело в том, что в компьютерах производства ATM используется другая прошивка ПЛМ, нежели в компьютерах фирмы МикроАРТ. Если просто установить прошивку от версии 6.40, в экранном меню невоэможно будет выбрать ни один пункт. Хотя я нашел прошивки на сайте atmturbo.nedopc.com, прошить 1556ХЛ8 у меня нет никакой возможности (подозреваю, что в Кемерове вообще не достать такой программатор). Кроме того, мне хотелось, чтобы мой компьютер по времянкам был полностью аналогичен Пентагону. Проверка показала, что родное ПЗУ при отключенных 14, 16 выводах ХЛ8 (аппаратная защита) хоть и пишет "1556HL8: not installed", тем не менее входит в Basic 128. Поэтому я принял тогда решение - собрать аналог ПЛМки на мелкой логике, ту часть, что отвечает за формирование экрана, при этом сделав совместимость по тактам с Пентагоном, а про аппаратную защиту пока забыть. Вот, к примеру, исходный текст прошивки CP6ATM.SRC (я так понял, это и есть моя ПЛМ)
Скрытый текст
#include "cp6.dsc"
RG0 CS = false
VV CS = false
VS CS = true
VS = v3 v4 v5 ~vv v8 rg0
VS = v2 ~v3 v4 v5 ~vv v8 ~rg0
VS = ~v2 ~v3 ~vv ~v4 ~v5 ~v8
BL CS = true
BL = ~h4 ~h5 h6 rg0
BL = ~b3 ~b2 h4 ~h5 h6 rg0
BL = b3 ~h4 ~h5 h6 ~rg0
BL = ~b3 h4 ~h5 h6 ~rg0
BL = b3 ~b2 h4 ~h5 h6 ~rg0
BL = ~v3 ~vv v4 v5 v8
BL = ~vv ~v4 ~v5 ~v8
HS CS = true
HS = ~h6
HS = ~b3 ~h4 ~h5 h6 ~rg0
HS = b3 ~h4 ~h5 h6 rg0
HS = h4 ~h5 h6
HS = h5 h6
HE CS = true
HE = h4 h5 ~h6 rg0
HE = ~h5 h6
HE = ~vv v8
HE = rg0 ~vv
HE = ~rg0 ~vv ~v5 ~v8
HE = ~rg0 ~vv ~v4 v5 ~v8
HE = ~rg0 ~v3 ~vv v4 v5 ~v8
//HE = ~v8 ~vv ~v5 ~v4 ~v3 v2 h6 ~h5 ~h4 b3 b2 z1 rg0
Z1 CS = true
Z1 = ~v8 ~z1
Z1 = ~v8 ~vv ~v5 ~v4 v3 v2 hs h6 ~h5 ~h4 b3 rg0
Z2 CS = true
Z2 = ~z1 ~rg0 v2 ~v3 v4 ~v8 ~h5 h4 ~hs
Z2 = ~z1 ~rg0 ~v2 v3 ~v4 ~v8 h6 ~h4 ~b3
Z2 = ~z1 ~rg0 ~v2 ~v3 v4 ~v8 h5 ~hs bl
Z2 = ~z1 ~rg0 v2 v3 v4 v5 ~v8 ~h6 h4 he
Z2 = ~z1 ~rg0 ~v2 ~v3 ~v4 ~v8 h6 ~h5 b3 he
Z2 = z1 ~v2 ~vv ~v4 h4 he
Z2 = z1 v2 ~vv ~v4 ~bl h4 ~b3[свернуть]
Здесь записаны зависимости выходных сигналов от входных в виде ДНФ. Я расписал на бумаге диаграммы входных меандров, построил по ним меандры выходных сигналов бордюра HE, гашения BL, вертикальной VS и горизонтальной HS синхронизации, сравнил с аналогичными для Пентагона и по ним построил схему. В итоге все демки и мультиколоры, заточенные под Пентагон, пошли без единого изьяна, но вот ни CP/M я не увидел, ни MSX-DOS теперь не попользоваться. И вот сейчас я решил исправить эту ситуацию и собрать полноценную замену 1556ХЛ8 с эмуляцией сигналов аппаратной защиты Z1, Z2. Тогда я не смог разобраться в следующем:
1. Какой файл: CP6.SRC или CP6N.SRC соответствует прошивке версии 1.06 (я пробовал также 1.07.12 - она не обслуживает контроллер клавиатуры платы v6.2)
2. Вызывает недоумение вот эта строчка:
Z1 = ~v8 ~z1
Выходит, при v8=0 получаем Z1=~z1 - логическая ООС и автоколебания чтоли? Ведь 1556ХЛ8 - асинхронный чип, я читал.
P.S. Если надо, я могу выложить прошивку ПЗУ версии 0.9, схему, документации, кое-какой софт, фотографии и т.п.