К сожалению, нет у меня анализатора. Есть только аналоговый осциллограф, с полосой 5 МГц.
Вид для печати
Осциллографом можно посмотреть, меняются ли адреса на шине или проц висит аппаратно.
Если будет 32-битный лог. анализатор, то в PulseView (sigrok.org) есть плагин Z80 - показывает все, что проц делает(дешифрует циклы в понятный вид)
Сделал несколько тестов:
Если из NemoBus вынуть General Sound, то iS-DOS при включенном режиме Турбо-14 МГц работает стабильно длительное время, никаких глюков замечено не было. Если вставить GS обратно, то iS-DOS в Турбо-14 МГц зависает через несколько секунд после запуска.
NemoIDE работе iS-DOS в Турбо-14 МГц не мешает, в этом режиме (при отсутствии GS) он нормально загружается с HDD и отлично работает.
Посмотрел осциллографом сигналы на шине адреса и данных. После того, как iS-DOS загрузился и ещё работает нормально, и после того iS-DOS завис, сигналы на шине адреса, на всех 16 разрядах, не меняются, на экране осциллографа картинка красивая, видно, что просадки шины адреса нет. На шине данных после зависания iS-DOS тоже сигналы присутствуют, но сравнить их между работающим iS-DOS-ом и зависшим, не могу - наличие щупа осциллографа на любом разряде шине данных приводит к сбою вплоть до сброса. Если щуп на шине адреса, если его аккуратно держать, то компьютер продолжает работать нормально.
Могу сделать вывод о эффекте перегруженной шины данных в Турбо-14 МГц.
GS по классической схеме, но с моими доработками. Я когда-то в нём разогнал процессор до частоты 18 МГц, в связи с этим диодную логику "И" я выкинул и поставил 2 микросхемы К1531ЛИ3. Перехват IORQGE не переделывал, он на транзисторе.
- - - Добавлено - - -
На верхней плате добавил одну маленькую доработку в подключении контроллера PS/2 клавиатуры - к сигналу выбора порта ~PJKEYB завёл сигнал A0 для того, чтобы отсеять обращения к кэмпстон джойстику.
В большинстве случаев эти обращения никак не мешали, но во время полного теста джойстика, когда в цикле генерируются 256 обращений от 0x001F до 0xFF1F, если турбо выключено, контроллер PS/2 клавиатуры давал сбой и включался режим паузы - вечный WAIT, который можно было выключить исключительно сбросом с клавиатуры. Что интересно, если включен любой из турбо-режимов - 7 или 14 МГц, то этот глюк не проявлялся, всё отрабатывало как ни в чём не бывало.
на всякий проверь если сделать чтение в цикле с выходом
вдруг кто так запилил "press any key"
а контроллер не переваривает столько обращений
l1 in a,($1f)
rra
jp nc,l1
l1 in a,(с)
rra
jp nc,l1
l1 in a,(с)
jp z,l1
l1 in f,(c)
jp z,l1
(хотя наверно у 1F d5-d7 единицы
и на jp z так быстрый цикл не сделаешь...)
а то больше похоже что прошивка кривая
и ее нужно править
С портом #1F я уже не проверю - доработку спаял, так что контроллер PS/2 клавиатуры больше никак не реагирует на обращение к джойстику.
На XOR A; IN A,(#FE); OR #E0; INC A; JR NZ,xxx в цикле (т.е. на "press any key") контроллер клавиатуры нормально реагирует, всё отрабатывает.
Должны быть нули, в противном случае схема считается кривой.
JR Z работает чуть быстрее и экономия 1 байта.
Есть более новые версии прошивки, но они вообще не запускаются.
но тогда это не цикл а развернутая портянка
а так да не учел :)
- - - Добавлено - - -
можно и так
l1
in f,(c) ;12
jr nz,keyhit ;7
in f,(c) ;12
jr nz,keyhit ;7
in f,(c) ;12
jr nz,keyhit ;7
in f,(c) ;12
jr nz,keyhit ;7
in f,(c) ;12
jr nz,keyhit ;7
...
jp l1
только зачем?
мыж не в GS закидываем данные
вероятность встретить такое невысока
Решил заменить разъём для подключения коннектора принтера на со стандартной распиновкой, чтобы можно было использовать готовый покупной коннектор. Когда искал стандартную распиновку разъёма, решил посмотреть схемы компьютеров - Evolution, Phoenix, Kay-1024 и Pentagon-128. И обратил внимание, что в Evolution и Kay-1024 порт принтера реализован на музыкальном сопроцессоре AY. В Phoenix порта принтера я не нашёл, может быть плохо искал. И только в Pentagon-128 и Pentagon-1024 SL1.4 используется старый добрый порт #FB.
Теперь задумался, какой же лучше реализовать порт принтера - классический #FB или через AY ?
- - - Добавлено - - -
Из управляющих сигналов принтера, в классической схеме с портом #FB, задействованы только BUSY, Error (QUSY) и Strobe, ну и шина данных принтера конечно.
В схеме подключения принтера через AY, кроме этих сигналов, дополнительно используется сигнал PE. Какое преимущество даёт наличие этого сигнала ? У меня на Спектруме никогда не было принтера, да и вообще не было и нет LPT принтера, так что проверить не на чем.