С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Осциллографом можно посмотреть, меняются ли адреса на шине или проц висит аппаратно.
Если будет 32-битный лог. анализатор, то в PulseView (sigrok.org) есть плагин Z80 - показывает все, что проц делает(дешифрует циклы в понятный вид)
ZXM-Phoenix rev.01 2048K, VG93 hw emulator
Сделал несколько тестов:
Если из 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 МГц.
С уважением, Александр
МГТФ - любимый провод!
KAY-1024(4096)/SL-4/TURBO v2010 + Nemo-FDC + Nemo-IDE (CF 4GB) + SMUC2 Rev.B RTC (HDD 1.6GB + DVD-ROM) + PROF-ROM + ZXMC2 + GENERAL SOUND 2MB + ZX-BUS_TEE + FDD 3.5' + FDD 5.25' + VGA&PAL
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 так быстрый цикл не сделаешь...)
а то больше похоже что прошивка кривая
и ее нужно править
Последний раз редактировалось NEO SPECTRUMAN; 11.04.2020 в 19:59.
С портом #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 закидываем данные
вероятность встретить такое невысока
Последний раз редактировалось NEO SPECTRUMAN; 11.04.2020 в 23:34.
Решил заменить разъём для подключения коннектора принтера на со стандартной распиновкой, чтобы можно было использовать готовый покупной коннектор. Когда искал стандартную распиновку разъёма, решил посмотреть схемы компьютеров - 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 принтера, так что проверить не на чем.
С уважением, Александр
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)