Режим TR-DOS, это режим, когда включена страница ПЗУ TR-DOS в момент чтения или записи на дискету, и данный порт блокируется именно на это время. Всё остальное время порт атрибутов будет доступен.
Вид для печати
После некоторого перерыва я снова взялся за свой Пентагон-1024, и вот что удалось выяснить в этот раз:
Я вытянул ПЗУ, включил Компьютер, на экране как положено увидел "правильный" матрац (1 пиксель синий, 2 пикселя белых, 3 пикселя синих, 2 пикселя белых, 8 пикселей чёрных, что говорит о том, что ОЗУ заполнено числами #00, #39), и начал осциллографом просматривать шину данных, и вот тут у меня возникли подозрения.
Во-первых, кроме прямоугольных импульсов я увидел ещё и пилообразные импульсы, которых в теории быть не должно. Во-вторых, когда я нажимаю RESET и стек процессора меняется на 1 (полоски матраца сдвигаются на 1 знакоместо), то картина на экране осциллографа существенно меняется, чего тоже быть не должно.
Чтобы выяснить, что из увиденного нормально, а что нет, пришлось доставать Ленинград-2, расширенный до 128 Кб, заодно припаяв несколько оторвавшихся проводков, вставить в него процессор и посмотреть осциллографом его шину данных для сравнения.
Как оказалось, наличие "пилы" на шине данных, это нормальное явление (Ленинград-2 работает нормально в режиме Basic-128), хотя я пока что не могу понять, откуда пилообразные импульсы там появляются. Тем не менее, когда я в исправном Ленинграде-2 нажимаю RESET с тем, что стек процессора изменяется на 1 (полоски матраца сдвигаются на 1 знакоместо), т.е. не зависимо того, чётные или нечётные числа в стеке, то это совершенно никаким образом не меняет картину на экране осциллографа:
D0 - прямоугольные импульсы размахом 5в
D1 - пила 2-3в
D2 - пила 2-3в
D3 - прямоугольные импульсы размахом 5в
D4 - прямоугольные импульсы размахом 5в
D5 - прямоугольные импульсы размахом 5в
D6 - пила 2-3в
D7 - пила 2-3в
Возвращаясь к моему Пентагону-1024, снова проверив на нём шину данных при отсутствии ПЗУ, я обнаружил, что когда стек процессора принимает чётные значения, то на шине данных всё впорядке - картина точно такая же, как и в Ленинграде-2, а когда после RESET-а стек процессора принимает нечётные значения, на шине данные появляется мусор - совершенно другие импульсы, причём на всех 8 разрядах.
Т.е. в моём Пентагоне-1024 кто-то при определённых условиях начинает гадить на шину данных. Осталось найти, кто и почему.
УРАААА!!! Заработал мой Пентагон-1024 полностью...
Вы наверно будете ржать, но проблема оказалась совсем не в том месте и очень простая... у меня был черезмерно короткий сигнал INT, и это и приводило к зависанию Z80. Всё дело в том, что когда за 1 кадр процессор выполняет совсем не много команд, то хватало и той длительности INTа, а когда вычислительная нагрузка возрастала, то процессор просто переставал отлавливать сигнал INT, и поэтому переставал выполнять подпрограмму прерываний, это и было зависанием.
В моём случае 2-х кратного увеличения ёмкости конденсатора C2 оказалось очень мало, мне пришлось ёмкость увеличить в 10 раз. Но это временный топорный метод. Вообще очень плохо, когда в схеме Спектрума в формирователе INT-а за его длительность отвечает конденсатор, лучше всего сделать логическую защёлку - при поступлении INT-а, когда процессор успешно на него среагировал, он тут же выставляет на своих пару выводах сигналы, сигнализирующие о том, что он принял сигнал INT и начал выполнение подпрограммы прерываний. На каких выводах появляется сигнал подтверждающий приём сигнала INT, я не помню, нужно порыться в гугле, или может быть кто-то из вас подскажет ? Но суть простая - сигнал INT должен начаться, а закончиться только при поступлении от Z80 подтверждения приёма сигнала INT. И тогда INT всегда будет ровно той длительности, какая нужна процессору, и не зависимо от тактовой частоты, о серии микросхем, на которых был собран компьютер, и без никакого подбора ёмкости конденсаторов.
Теперь бьюсь над контроллером дисковода - не работает.
Пытаюсь начать с форматирования дискет 5.25", т.к. все дискеты у меня формата MS-DOS, а пару спектрумовских дискет, что у меня остались, в них я не уверен, во всяком случае одна из них не прочиталась.
При попытке отформатировать дискету, на дисководе загорается красный индикатор, головки уезжают на 0-ю дорожку, появляется надпись "HEAD 0 CYLINDER 0", и всё, форматирование не происходит. Если очень долго подождать, появляется "HEAD 0 CYLINDER 1" и головки дисковода переместились на 1 дорожку вперёд, и снова долго-долго пытается её отформатировать. Потом "HEAD 0 CYLINDER 2", и т.д. Т.е. "HEAD 1" не появляется вообще, и дискета после этого как не читалась, так и не читается.
Второе: Тут говорили, что если включить Спектрум без ВГ-93, то при обращении к диску компьютер должен зависнуть ? Пробовал включить без ВГ-93, при обращении к диску компьютер не зависает, а выдаёт "No disc".
Питание на ВГ-93 проверил - всё на месте, +5в, +12в и земля. Тактовый сигнал тоже приходит.
Проверял на двух разных ВГ-93, на трёх дисководах 5.25" - на двух TEAC FD-55FR и на одном Mitsumi, и пробовал даже менять кабель дисковода.
Нашел вот интересную КНИЖИЦУ
У кого-нибудь есть осциллограф ? Можете посмотреть, какие сигналы должны появляться на ВГ-93 выв. 23 (сигнал HLD, он же в Пентагоне-1024 называется HRDY) в момент попытки чтения дискеты ? У меня почему-то импульсы там появляются размахом всего 0.5в при постоянном уровне +5в. Что-то здесь не так.
Уже не надо, это нормально, т.к. увиденные импульсы - это индексные импульсы, которые выдаёт дисковод во время вращения дискеты, они подаются на ногу 35 ВГ-93, а c линией HRDY есть соединение через запертый диод VD12, поэтому на HRDY остаётся уровень 1, но через VD12 проходит падение напряжение в 0.5в, которые я и увидел.
Смогу вечерком проверить, правда только на Пенте128.
По ходу не должно там быть пол вольта, или DD53 дохлая или диод VD12 посмотри.
Та нет, это нормально, т.к. индексные импульсы с дисковода поступают на выв.35 ВГ-93, и там я проверил - импульсы во время вращения дискеты идут размахом 5в. К выв.35 диод подключен анодом, а к линии HRDY катодом, поэтому когда на выв.35 поступает индексный импульс, диод запирается, предотвращая прохождение сигнала на линию HRDY, но из-за падения напряжения на диоде 0.5в, я и увидел импульсы 0.5в на HRDY, поэтому это нормально. А сигнал на HRDY должен появляться с порта контроллере дисковода, собранный в Пентагоне-1024 на ТМ9, и диод VD12 в этом случае будет открыт, пропуская сигнал наоборот - с HRDY на выв.35 ВГ93.
P.s. Только что обнаружил отсутствие импульсов на выв.28 ВГ93 - RCLK (не путайте с CLK, там у меня 2 МГц). Но мне нужно уже уходить, вечером продолжу изучение, должны ли там присутствовать импульсы или нет, и в каких случаях.
Вообще-то на вход 24 ВГ93 (CLC) должно подаваться 1МГц. За исключением реализации "турбо-режима", но и там, при записи, частота должна "снижаться" перед "записью" до номинальной.
----
По "оригинальной! схеме 28 "нога" ВГ93 никуда не подключена. И называется она HLD (в pentagon 128 (91), она "соеденена" с 32 ногой). RCLK - это 26 "нога" МС, которая берет частоту с 12 "ноги" МС d57 (и далее по тракту, тактового генератора tr-dos).