Вчера удалось записать даблбайт во внешний регистр.
Оказалось, грабли были в разъеме. Вот что отсутствие матчасти делает
Записать получилось, проецируя порт на существующий адрес ОЗУ.
Когда порту назначил адрес ближе к концу адресного пространства, там где ничего нет (E900h, 164400oct), команда записи PATCH начала выдавать новые интересные глюки. Мелькает на долю секунды строка типа "сбой записи..... чего-то там" и вываливаемся в рестарт бейсика. Как много нам открытий чудных...
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
В PDP style системах нет понятия портов, есть диапазон адресов ОЗУ под ввод-вывод. Причём, что бы внешнее устройство могло принимать отдавать данные должны соблюдаться определённые условия его взаимодействия с шиной, в том числе и допустимый диапазон адресов. Но, я совсем не силён в PDP, ты бы всё же перенёс тему в более "прошареный" раздел ;-)
"Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.
Под словом порт подразумевается именно порт, внешний регистр, проецируемый на память. То, что у ПДП нет понятия "порт" как структуры, параллельной адресации линейки памяти - я знаю...
В этом и есть весь цимес. Интересно, практически детективная история. Теория известна, по ниточкам вытягиваем подтверждение на практике.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
-
http://www.pisi.com.pl/piotr433/index.htm#mk90
http://www.pisi.com.pl/piotr433/mk90hwe.htm
схемы
http://www.pisi.com.pl/piotr433/mk90pp.htm
Connector for the system board - XP1
-
Внутри МК-90 и на системном разъёме не такое МПИ как у БК (AD-инверсные и упр.-инв.), в МК-90 (у серий 588 и 1835) адреса-данные прямые, управляющие сигналы инверсные.
Последний раз редактировалось Ал-р; 24.05.2016 в 21:28.
Ал-р, спасибо, я этот сайт вдоль и поперек знаю.
Вывод в порт кстати получился. Ёлочкой на Новый Год можно управлять
А вот заставить читать - нет, никак не вклиниться в адресное пространство.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
-
Вы попадаете на занятые области адресного пространства:
100000...177777 - ПЗУ с реальным физическим объёмом 32Кбайта (системный контроллер блокирует какой-то диапазон для внутренних регистров, но лучше туда не соваться). Записывать во внешнее устройство с адресами в этом диапазоне можно (если не попадать на системные регистры, тогда результат непредсказуем), ПЗУ при записи в эти адреса не мешает.
40000...77777 - вот здесь свободно в МК-90, допустимы и запись и чтение чего-то там своего (в МК-92 именно в этот диапазон включено второе ПЗУ 16К которое стоит на большой плате МК-92)
0...37777 - ОЗУ 16Кбайт: при чтении у внешнего устройства будут конфликты с РУ10; при записи возможны сбои-зависания при попадании на область векторов, стека, экрана, программ ...
Последний раз редактировалось Ал-р; 25.05.2016 в 06:48.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)