PDA

Просмотр полной версии : Специалист: Тест памяти



Protom
22.06.2009, 14:54
Привет,

Есть уково нибудь тест памяти :v2_conf3:
Спосибо

Protom

Prusak
22.06.2009, 15:19
Вот тут (http://www.newretropc.ru/Spetsialist/Test_M.bin) прошивка теста для Специалиста.

А тут (http://www.newretropc.ru/Spetsialist/MKSpetsialistM.pdf) можно найти описание работы теста (см. последние страницы документа).

fifan
06.12.2009, 09:10
А вот экраны различных стадий проверки.

fifan
06.12.2009, 09:12
И еще два.

balu_dark
07.12.2009, 01:22
fifan так ты закончил проект или пока тестиш? у меня просто валяется плата специалист - експресс но после первого ее собиральщика - я не уверен что смогу ее запустить. :( так что надежда на тебя с твоим проектом.

fifan
07.12.2009, 05:04
Надежда умерает последней... У меня нет осциллографа для наблюдения сигналов - он на рботе, на работе нет монитора. Единственный для меня путь был - брать осциллограф домой на выходные, получается отладка могла быть только на выходные. А пока закажу плату в одном экземпляре. Я думаю все запустится, тем более я понял из-за чего у меня видео выводилось не правильное.

fifan
25.02.2011, 17:14
Тест для проверки памяти, клавиатуры, звука, цвета и другого - http://www.spetsialist-mx.ru/Soft/test_m.rar.
Тест для МХ - http://www.spetsialist-mx.ru/Soft/test_mx.rar.

oracleua
24.11.2012, 16:21
Пытаюсь восстановить "СПЕЦИАЛИСТ" ПК "УКРЦВЕТАВТОМАТИКА"
На экране много помех. Тест проходит. Звуки есть. С родным ПЗУ бывает запустится и моментально появляются помехи. ОЗУ проверял на рабочем пентагоне. И еще интересно...добавляю конденсаторов 0.1 на ОЗу..перестает тест работать..
Подскажите куда копать...
Вот видео теста
http://sderni.ru/155880 15мб
http://sderni.ru/155879 45мб

HardWareMan
24.11.2012, 19:25
Проверять регистр хранения и сдвига видео, ШД до него. Ну и их сигналы управления (загрузка/сдвиг/такты).

oracleua
24.11.2012, 21:42
Победил.
Оказался плохой контакт ножки микросхемы. Обновил пайку..

roma
19.03.2013, 16:32
Имею специалист экспресс с установленными РУ5В. Всё работает отлично. Попробовал вместо РУ5В поставить импортные 4164. Так вот тест озу показывает что всё в порядке, все микросхемы исправны. Но установив рабочую ПЗУ начинаются проблемы, информация в ОЗУ начинает постепенно сыпаться ...
Имею два коплекта 4164, с 15 и 20 мс временем доступа. Проблема с обеими комплектами одинаковая ...Вопрос в чём может быть причина и что нужно сделать чтобы они заработали? И почему во время теста ничего не сыпется и тест показывает что ОЗУ исправно?
Первое что лезет в голову что при нормальной работе регенерация ОЗУ происходит реже, чем при работе теста ...

b2m
19.03.2013, 16:58
Но установив рабочую ПЗУ начинаются проблемы, информация в ОЗУ начинает постепенно сыпаться ...
Может ПЗУ кушает много? Проверь питание.

roma
19.03.2013, 17:02
Может ПЗУ кушает много? Проверь питание.

Да нет, питание не просаживается ... используется 200 ваттный АТХ блок питания :-)

Скорее всего что то с таймингами. Возможно из за частого обращения процессора к ОЗУ задерживается регенерация, а во время теста тайминг другой ...

b2m
19.03.2013, 17:10
Регенерация задерживаться не может, она происходит во время отображения экрана. Просто, наверное, не подходит способ регенерации, не те адреса перебираются.

vinxru
19.03.2013, 17:21
Видеоадаптер последовательно читает из памяти байты. С фиксированной частотой 2 МГц (Адрес инкрементируется с частотой 1 Мгц.).

Это и регенерирует память.

Если изображение в порядке, то и регенерация в порядке.

b2m
19.03.2013, 17:46
Не факт. Если во время обратного хода луча память не читается, а это где-то 3.6мс, то ОЗУ может и сыпаться. Если последний блок, который полностью перебирает все нужные адреса в конце экрана достаточно большой (по времени, например 1мс), то для первых ячеек этого блока время регенерации может оказаться больше требуемого (например 4.6мс). А по даташиту у 4164 минимальное время регенерации 4мс.

---------- Post added at 18:46 ---------- Previous post was at 18:28 ----------

Кстати, ещё одна особенность РУ5: для регенерации не обязательно перебирать A7, что в Специалисте-М явно используется. А если я правильно понял схему, то по горизонтали перебираются колонки, а регенерация производится выборкой рядов (?). Т.е. микросхемы памяти с минимальным временем регенерации меньше 20мс не будут работать.

roma
19.03.2013, 17:48
Не факт. Если во время обратного хода луча память не читается, а это где-то 3.6мс, то ОЗУ может и сыпаться. Если последний блок, который полностью перебирает все нужные адреса в конце экрана достаточно большой (по времени, например 1мс), то для первых ячеек этого блока время регенерации может оказаться больше требуемого (например 4.6мс). А по даташиту у 4164 минимальное время регенерации 4мс.

---------- Post added at 18:46 ---------- Previous post was at 18:28 ----------

Кстати, ещё одна особенность РУ5: для регенерации не обязательно перебирать A7, что в Специалисте-М явно используется. А если я правильно понял схему, то по горизонтали перебираются колонки, а регенерация производится выборкой рядов (?). Т.е. микросхемы памяти с минимальным временем регенерации меньше 20мс не будут работать.

Да, похоже не это. Так как пямять сыпется не сразу, а постепенно ... Видимо время регенерации находится как раз на граничном значении.
А для РУ5В этого достаточно ...

vinxru
19.03.2013, 17:52
По схеме, чтение происходит всегда. Даже во время обратного хода.

---------- Post added at 16:52 ---------- Previous post was at 16:50 ----------


Кстати, ещё одна особенность РУ5: для регенерации не обязательно перебирать A7, что в Специалисте-М явно используется. А если я правильно понял схему, то по горизонтали перебираются колонки, а регенерация производится выборкой рядов (?). Т.е. микросхемы памяти с минимальным временем регенерации меньше 20мс не будут работать.

Там всё должно быть стандартно, мне сейчас лень вникать. У меня РУ-шки работали со всеми возможными буквами.

b2m
19.03.2013, 18:01
В том-то и дело, что тут не РУ-шка. Если память 0000-7FFF сыпется, а экран и память 8000-8FFF нет, то это однозначно говорит о том, что нехватает перебора линии адреса А7.

vinxru
19.03.2013, 18:03
Рядами кстати регенерация не получится.

Первые 6 бит адреса (координата X) считаются нормально, без пропусков.
А старшая часть (координата Y) не доходит до конца и обнуляется. (счет идет от 0 до 312)

b2m
19.03.2013, 18:19
Т.е. регенерация происходит, когда мы /cas активируем? Тогда понятно, был неправ, погорячился :)
Получается, полная регенерация в Спеце происходит за две сканлинии (128мкс).

vinxru
19.03.2013, 18:28
Да.

А если РУ3/РУ6 стоит, то за одну строку.

---------- Post added at 17:28 ---------- Previous post was at 17:24 ----------

Я со схемой регенерации памяти в Специалисте долго бился. Пока не понял, что плата не соответствует схеме. :) Запись данных работает, регенерация работает, а чтение 0-7FFF нет.

roma
19.03.2013, 18:30
В том-то и дело, что тут не РУ-шка. Если память 0000-7FFF сыпется, а экран и память 8000-8FFF нет, то это однозначно говорит о том, что нехватает перебора линии адреса А7.

Не понял, с РУ5 то работает ...

b2m
19.03.2013, 18:33
Не понял, с РУ5 то работает ...
Читай выше: дикая особенность РУ5 - достаточно перебирать А0-А6.

---------- Post added at 19:33 ---------- Previous post was at 19:31 ----------

Видимо там 4 одинаковых поля по 16Кбит, а А7 мультиплексирует шину данных.

roma
19.03.2013, 18:41
Читай выше: дикая особенность РУ5 - достаточно перебирать А0-А6.

---------- Post added at 19:33 ---------- Previous post was at 19:31 ----------

Видимо там 4 одинаковых поля по 16Кбит, а А7 мультиплексирует шину данных.

Ну да, похоже на это. А7 на +5 всегда весит ... Мне кудп его к G8 подключить?

vinxru
19.03.2013, 18:46
Нельзя к G8.

Помимо регенерации памяти, это же еще адрес видеопамяти. А видеопамять всегда находится в третьей четверти адресного пространства, то есть A15=1 A14=0.

---------- Post added at 17:46 ---------- Previous post was at 17:45 ----------

Тут надо серьезно схему переделывать. Сдвигать все адресные линии у мультиплексоров.

Сейчас
A0 A1 A2 A3 A4 A5 A6 0
A7 A8 A9 A10 A11 A12 A13 1

Будет
A0 A1 A2 A3 A4 A5 A6 A7
A8 A9 A10 A11 A12 A13 0 1

И соответственно шину адреса от процессора перенести.

И не факт, что это поможет.

roma
19.03.2013, 18:49
Нельзя к G8.

Помимо регенерации памяти, это же еще адрес видеопамяти. А видеопамять всегда находится в третьей четверти адресного пространства, то есть A15=1 A14=0.

---------- Post added at 17:46 ---------- Previous post was at 17:45 ----------

Тут надо серьезно схему переделывать. Сдвигать все адресные линии у мультиплексоров.

И не факт, что это поможет.

И что делать?

---------- Post added at 19:49 ---------- Previous post was at 19:48 ----------

Понятно, прощё использовать РУ5 :-)
Я почему то думал что РУ5 это полный аналог 4164 ...

vinxru
19.03.2013, 18:57
Понятно, прощё использовать РУ5 :-)
Я почему то думал что РУ5 это полный аналог 4164 ...

Опытным путем ты доказал, что это не так. :) А я возьему себе это на заметку.

Может быть надо конденсаторов по питанию добавить. Может быть форма и фаза сигналов CAS/RAS не нравится микросхеме.

b2m
19.03.2013, 18:58
Ну да, похоже на это. А7 на +5 всегда висит ...
А как же тогда с РУ5 работает?

roma
19.03.2013, 19:08
А как же тогда с РУ5 работает?

Да нет, на время регенерации на МА7 всегда "1" висит. Т.е. регенерируется всегда только верхняя половина ОЗУ ...

b2m
19.03.2013, 19:19
Сейчас
A0 A1 A2 A3 A4 A5 A6 0
A7 A8 A9 A10 A11 A12 A13 1

Будет
A0 A1 A2 A3 A4 A5 A6 A7
A8 A9 A10 A11 A12 A13 0 1
Можно не всё сдвигать:
A0 A1 A2 A3 A4 A5 A6 A7
A13 A8 A9 A10 A11 A12 0 1
ну и с процессора аналогично.

vinxru
22.03.2013, 13:24
Ага, так проще :)

HardWareMan
22.03.2013, 15:33
Читай выше: дикая особенность РУ5 - достаточно перебирать А0-А6.
Видимо там 4 одинаковых поля по 16Кбит, а А7 мультиплексирует шину данных.
В какой-то кнжке я читал, что действительно, у РУ5 4 матрицы от РУ6. Только, А7 там коммутирует не шину данных, а номер блока (это как выбор - пречердж банка в новых синхронных драмах).
Однако, есть успешный опыт замены РУ5 в Экспрессе на буржуйские без какой-либо переделки, о чем я писал на соседнем форуме (http://www.nedopc.org/forum/viewtopic.php?p=100879#100879):

Когда я переделал (http://www.nedopc.org/forum/viewtopic.php?p=94688#94688) свой Специалист для загрузки с карты (ну чтобы с ПЗУ не париться), я освободил ОЗУ с адресов C000H по EFFFH, которое было в тени. Но загрузка стандартного монитора была какой-то странной: некоторые команды работали нормально, команда М крашилась однозначно, а некоторые команды приводили к неадекватным последствиям. Сначала я списал это на несовершенный код оригинального монитора и, возможно, он пытался писать в себя, ну а так как в оригинале ПЗУ не записывается, то все ок. Но дизассемблировав и разобрав по полочкам понял - дело не в этом. Сейчас, занявшись этим компом обратно вспомнил и начал копать глубже. В какой-то момент я вспомнил слова руководителя, сказанные еще в 90х, что ОЗУ РУ5Д на самом деле самое плохое и, как правило, имеет дефект в матрице. А если стоит цифра после буквы Д (РУ5Д1 или РУ5Д2), то она вообще означает только соответствующую рабочую половину. И я решил проверить ОЗУ - БИНГО!
http://savepic.ru/3418704.jpg
Ошибочный бит в памяти оказался всего в единственном месте и он всегда был равен 1! После уменьшения диапазона сканирования я вычислил его адрес: CDAAH, бит D4. Вернувшись в дизассемблер я нашел этот адрес:
http://savepic.ru/3417680.png
Да, это директива М. Буду менять ОЗУ. У меня как раз есть пару десятков LH21256 (аналог РУ7), оставшихся от моей первой 286й машины с 2МБ на борту. Паяльник к бою!

Отпаял я все памятюшки и начал искать донора с сокетками для DIP16. И тут попался мне на глаза мой старый добрый Геркулес MGA:
http://farm6.staticflickr.com/5019/5397507881_f4bf493f11_z.jpg
Эта карта имела ровно 64КБ на борту (аналоги РУ5), правда у моей чипы были MCM6665BP20. Перекинул панельки и решил найти, какая же все таки РУшка косячила. В компе стояли 7 "пиленных" РУшек и одна как раз РУ5Д:
http://savepic.ru/3421799m.jpg (http://savepic.ru/3421799.jpg)
Опыт показал - битый бит давала именно она. В общем, перекочевали буржуйские РУшки в мой спец комплектом:
http://savepic.ru/3414631m.jpg (http://savepic.ru/3414631.jpg)
Но я заметил кое-что: когда я вытащил РУ5Д, начала срываться синхронизация видео. Когда я заменил все РУшки - синхра так и сбивалась, особенно когда на экране все белое. Пришлось подкрутить подстроечник. Оказалось, битая РУ5Д (а может и другие тоже, но заметно стало когда я вытащил именно ее) жрет так, что стабилизатор чуток просаживал. После замены всей линейки ОЗУ питание стало ровно 4.98 вольт. Ну и еще заметил, что у буржуйских памятей паттерн запуска другой, забавный:
http://savepic.ru/3420773.jpg
Монитор теперь работает как надо, можно продолжать мучить SD карту.

fifan
16.02.2019, 19:30
Обыскал весь подфорум Специалиста и не нашёл тему про неправильную работу теста RAM-диска. Пишу сюда.

Нашли мне ошибку, что мой тест памяти/RAM-диска Специалиста МХ неправильно находит объём RAM-диска - всегда проверяет весь объём, все 512 кБайт. Набегами разбирался в коде программы и ... ничего не нашёл. Наличие страницы RAM-диска (одной из восьми) у меня определяется по записи и чтению в первую ячейку памяти каждой страницы. Всё бы хорошо, но после записи в несуществующую страницу (в верхнюю, например, а ОЗУ физически меньшего размера) определённого числа, оно потом же и считывается?! Я бы грешил на эмулятор, но в реальном компьютере (я использую Сябр с мапером МХ) тоже самое. И задержки делал и разные числа писал - бестолку.

Проверял так. Поставил в панельку под микросхему RAM-диска ОЗУ размером 128 кБайт (UT1024), отогнул 30 вывод (СЕ) и подал на него +5 вольт. Я подумал, что в своей программе напортачил, применяю стандартную Тест_МХ. И что? Там также: S1 - первая страница памяти, S2 - вторая страница памяти. Всё, должны существующие страницы для проверки кончится. Не тут-то было - тест идёт дальше - S3 и S4 нашёл, но ведь микросхема же 128 кБайт, где этот тест нашёл ещё 128 кБайт?
Значит не только я столкнулся с такой проблемой наличия не существующих страниц RAM-диска, но и разработчики Теста_МХ. Интересно они это заметили в 90-е года?

HardWareMan
17.02.2019, 07:40
Как данные могут сохраняться, если ни одно устройство на шине не выбрано? Смотрите свою схему и адресацию. А еще, если диск организован на одном чипе то появляется мирроринг, ты это учитываешь?

fifan
17.02.2019, 07:42
Как данные могут сохраняться, если ни одно устройство на шине не выбрано? Смотрите свою схему и адресацию. А еще, если диск организован на одном чипе то появляется мирроринг, ты это учитываешь?

Как тогда определять наличие конкретной страницы RAM-диска?

HardWareMan
17.02.2019, 07:51
Как тогда определять наличие конкретной страницы RAM-диска?
Нумеровать их. Т.е., сначала убеждаешься в работоспособности первой ячейки каждой страницы, прогоняя все возможные. На этом этапе можно отсеять несуществующие физически страницы (если у микросхем раздельные CS). Потом обнуляешь первый байт всех страниц (с учетом коррекции на предыдущем этапе), а после начинаешь нумеровать их. Причем, сначала считываешь значение, если оно равно 0 то записываешь номер (от 1 конечно) и идешь к следующей, а вот если там будет число (по идее - номер первой страницы или 1) то прекращаешь. И пройденное количество страниц и будет настоящим размером памяти.

Забыл сказать, можно предварительно сохранять текущее содержимое этих байт в основном ОЗУ, выполняя тем самым неразрушающий тест.

fifan
17.02.2019, 12:42
сначала убеждаешься в работоспособности первой ячейки каждой страницы, прогоняя все возможные.

В этом то и проблема. После записи любого числа в первую ячейку, считывание даёт положительный результат в любом случае, даже если страницы не существует физически.

HardWareMan
17.02.2019, 13:36
Я же говорю, пронумеруй их. И посмотри сколько страниц.

Serg6845
17.02.2019, 15:13
В этом то и проблема. После записи любого числа в первую ячейку, считывание даёт положительный результат в любом случае, даже если страницы не существует физически.

А нужно сначала записать в первые ячейки всех теоретически возможных страниц их номера, а уже после этого - прочитать и посмотреть что читается. Причем писать начиная со старшей страницы и вниз, а читать - с нулевой и вверх. тогда если например есть 4 страницы вместо 8 - при чтении вместо 0-1-2-3-4-5-6-7 будет 0-1-2-3-0-1-2-3.

fifan
17.02.2019, 16:50
Вы меня не слышите? Пофиг какое число я пишу в первую ячейку. Всё равно это число читается в любом случае позже даже если этой страницы нет. Для себя сделал небольшую программку, которая сначала пишет число потом считывает его. Результат - данная страница высвечивается всегда, даже когда практически стоит только 128 кБайт (две страницы).

https://i.ibb.co/hmb6k9N/test.png (https://ibb.co/5Rm0d43)

HardWareMan
17.02.2019, 17:33
fifan, это ты нас не слышешь. Пронумеруй страницы: записываешь число, +1 к числу и +1 к странице. А потом в цикле выведи эти байты из всех страниц подряд. Вот тогда и поговорим.

Т.е., сначала 8 записей, и только потом 8 чтений. А не парами запись-чтение. И данные разные чтобы были при записи.

fifan
17.02.2019, 17:37
В эмуляторе ничего не поменялось (всего две страницы RAM-диска в конфиге). Пойду прошивку менять и посмотрю на реале. Отпишусь.

https://i.ibb.co/pjpqYdh/test.png (https://ibb.co/B2Rk0Bn)

ivagor
17.02.2019, 17:47
В эмуляторе ничего не поменялось (всего две страницы RAM-диска в конфиге).
Из интереса поменял размер рамдиска в emu, SpecialistMX.cfg
ramdisk : Memory {
size=10000 (было 70000)
После этого страница рамдиска всегда одна и та же, как не меняю ее номер. Т.е. включил якобы 7ю, вписал в 0й адрес 7, переключил на 6ю - снова 7 в 0000.

HardWareMan
17.02.2019, 18:33
ivagor, да я думаю он понял. Пусть на реале проверит, причем на версии меньше чем 512К, судя по прошлым постам он это умеет.

fifan
17.02.2019, 20:12
Из интереса поменял размер рамдиска в emu, SpecialistMX.cfg
ramdisk : Memory {
size=10000 (было 70000)
После этого страница рамдиска всегда одна и та же, как не меняю ее номер. Т.е. включил якобы 7ю, вписал в 0й адрес 7, переключил на 6ю - снова 7 в 0000.

Не верно поняли назначение этой цифры (выделил красным цветом). Это максимальный размер поддерживаемого RAM-диска, т.е. это число должно быть равным 80000 (8 страниц). Сам автор эмулятора когда-то мне объяснил.

Кстати переписал полностью тесты (и короткий и RAM Test). Вот смотрите в архиве файлы для запуска. Завтра прошью флеш ПЗУ и проверю на реале. Меняете упомянутую цифру в эмуляторе на 40000, 20000 и даже на 10000 можно наблюдать изменения.

ivagor
17.02.2019, 20:16
Не верно поняли назначение этой цифры (выделил красным цветом). Это максимальный размер поддерживаемого RAM-диска, т.е. это число должно быть равным 80000 (8 страниц).
fifan, к чему это вообще? Я написал, как проверил влияние уменьшения размера рамдиска в конфиге emu на детект страниц.

fifan
17.02.2019, 20:21
fifan, к чему это вообще? Я написал, как проверил влияние уменьшения размера рамдиска в конфиге emu на детект страниц.

Да уже понятно написал выше.

HardWareMan
18.02.2019, 07:25
fifan, ты тесты реала показывай. Ждем же.

fifan
18.02.2019, 08:55
Всё заработало как надо. При такой записи чисел как на первом фото достаточно потом считать только первую страницу RAM-диска, чтобы узнать реальное количество страниц. Пример работы тестов при вставленной UT1024 (128 кБайт).

https://i.ibb.co/7RY529M/IMG-20190218-084850.jpg (https://ibb.co/X32gSw0)

https://i.ibb.co/r5G6fgt/IMG-20190218-085121.jpg (https://ibb.co/p4vzrgP)

HardWareMan
18.02.2019, 09:08
Что и требовалось доказать. Ты не правильно организовал алгоритм детекта, забыл учесть возможный мирроринг.

fifan
18.02.2019, 10:50
Я считывал значения сразу после записи.

HardWareMan
18.02.2019, 11:06
fifan, именно.

AlexBel
26.04.2020, 15:40
"Специалист-экспресс" ("Восточный"). Запускаю тест памяти Рюмика. Быстрый тест показывает исправность ОЗУ. Запуск расширенного "диагонального" теста (кнопка "1" клавиатуры) показывает неисправность битов 0, 1, 2. Замена памяти 565РУ5 в двумя точками на 565РУ5Б ничего не изменила. Изображение стабильно. Есть ли какой-нибудь тест памяти, позволяющий увидеть не только биты данных с ошибками, но и адреса, по которым эти ошибки были обнаружены?

fifan
26.04.2020, 20:11
Нет такого.

ivagor
27.04.2020, 06:12
AlexBel, если такой тест памяти (https://zx-pk.ru/threads/30868-testy-pamyati.html) подойдет, то могу переделать для специалиста.

AlexBel
27.04.2020, 06:27
AlexBel, если такой тест памяти (https://zx-pk.ru/threads/30868-testy-pamyati.html) подойдет, то могу переделать для специалиста.

Думаю, memtest3 - это то, что нужно. Переделай, пожалуйста, под "Специалист". Только немного смущает один момент - протокол хранится в памяти, если он попадёт на проблемные ячейки памяти, то результаты будут искажены?

ivagor
27.04.2020, 06:31
Только немного смущает один момент - протокол хранится в памяти, если он попадёт на проблемные ячейки памяти, то результаты будут искажены?
Да, но тут однозначно хорошего решения нет, можно только передвинуть область хранения протокола, если она попадет на сбойные ячейки. memtest3 - это быстрый вариант, который проверяет только 4 комбинации, точно его лучше переделать?

AlexBel
27.04.2020, 06:35
Да, но тут однозначно хорошего решения нет, можно только передвинуть область хранения протокола, если она попадет на сбойные ячейки. memtest3 - это быстрый вариант, который проверяет только 4 комбинации, точно его лучше переделать?

Так эта... Вроде бы memtest3 - полный?


memtest3 полный (как memtest) - проверяет 256 комбинаций для каждой тестируемой ячейки. Время одного прогона в районе восьми минут.
memtest2 сокращенный - проверяет 4 комбинации для каждой тестируемой ячейки. Время одного прогона несколько секунд.

Конечно, желательно полный, более злой :)

Я подумал - а если для протокола использовать видеопамять? Ну, будет мусор на экране - на работу это ведь не повлияет. Конечно, ошибки могут быть и в экранной области, но, визуально, у меня их не наблюдается. Хотя, конечно, нехорошо думать только о себе, но где-то протокол размещать нужно.

ivagor
27.04.2020, 06:56
Вроде бы memtest3 - полный?
Точно, это я перепутал.
С протоколом предлагаю начать с исходного варианта, если что - можно будет передвинуть.

- - - Добавлено - - -

Переделывать оказалось почти нечего, поэтому не стал откладывать.
Правильная CRC самоконтроля - D452
Следующий прогон (когда напечатает результат предыдущего) - пробел

AlexBel
27.04.2020, 07:00
Точно, это я перепутал.
С протоколом предлагаю начать с исходного варианта, если что - можно будет передвинуть.

- - - Добавлено - - -

Переделывать оказалось почти нечего, поэтому не стал откладывать.
Правильная CRC самоконтроля - D452
Следующий прогон (когда напечатает результат предыдущего) - пробел

Спасибо! Через пару часов опробую, о результатах сразу отпишусь.

Сейчас посмотрел - там файл .rks. Он не из ПЗУ запускается, его загружать нужно через магнитофон или карту?

ivagor
27.04.2020, 07:11
Могу переделать для пзу (тест полностью автономный, к подпрограммам штатного пзу не обращается). Разместить с адреса C000?

AlexBel
27.04.2020, 07:16
Могу переделать для пзу (тест полностью автономный, к подпрограммам штатного пзу не обращается). Разместить с адреса C000?

Да, пожалуйста. У меня сейчас нет возможности загрузить программу, да и, раз ОЗУ сбоит, нет гарантии, что программа не загрузится в сбойную область.

ivagor
27.04.2020, 07:26
Вопрос - у тебя стартовое отключение пзу стандартное (через ВВ55) или как для восьмицвета (через разрешение прерываний)?

AlexBel
27.04.2020, 07:31
Вопрос - у тебя стартовое отключение пзу стандартное (через ВВ55) или как для восьмицвета (через разрешение прерываний)?

На моей плате используется сигнал /WR. Насколько я понял, его использовали вместо сигнала с порта ВВ55, т.е. видимо, стандартное. Сигнал INTE у меня не задействован.

ivagor
27.04.2020, 08:09
ПЗУшный вариант, в эмуляторе отработал штатно, надеюсь на реале тоже будет нормально. Проверяет все озу кроме участка BF00-BFFF (крайний правый столбец экрана). Подсчет CRC самоконтроля в таком варианте можно было убрать (или проверять автоматом), но оставил как раньше. Правильная CRC: 6243

- - - Добавлено - - -

Добавлял отключение пзу, потом убрал и потом забыл вернуть. Заменил ПЗУшный тест на правильный, с отключением пзу.

Upd: Окончательно исправил отключение пзу, заменил тест на v3, правильная CRC: 6243

AlexBel
27.04.2020, 09:37
Тест прошёл, написал "PASS: 0000 CRC: 6490". Значит ли это, что тест памяти пройден успешно? Если да, то я в недоумении - тест Рюмика (полный, не быстрый) показал ошибку битов 0, 1 и 2, запускал несколько раз.
Запустил продолжение, то же самое, только "0001". Запущу дальше, пусть работает...

ivagor
27.04.2020, 10:00
Тест прошёл, написал "PASS: 0000 CRC: 6490". Значит ли это, что тест памяти пройден успешно?
Да. Ошибки в эмуляторе имитировал и тест их обнаруживал.

Если да, то я в недоумении - тест Рюмика (полный, не быстрый) показал ошибку битов 0, 1 и 2, запускал несколько раз.
Сложно сказать, мне надо найти этот полный тест Рюмика и посмотреть, как именно он проверяет. Ты менял память и это не помогло, возможно дело все же не в памяти, а где-то по дороге от процессора к памяти. Возможно надо записать и тут же попробовать прочитать или перебрать по одному адресу все комбинации, т.е. это совсем не то, что делает мой тест.

- - - Добавлено - - -

Очень интересный момент - я "вернул" выключение пзу, а на самом деле нет. Если на реале отрабатывает, то интересно, почему пзу все же отключилось.

- - - Добавлено - - -

После нулевого прогона пзу точно отключится, но нулевой прогон не должен был отработать.

- - - Добавлено - - -

Надо схему смотреть, возможно в новых специалистах пзу отключается просто по факту записи в память и тогда мой вариант может работать правильно.

AlexBel
27.04.2020, 10:06
Тест Рюмика брал здесь: http://www.spetsialist-mx.ru/Soft/test_m.rar
При запуске он быструю проверку памяти проходит нормально. Если при тесте клавиатуры нажать "1", запускается полный тест памяти, он и выдаёт ошибку битов 0-2, в общем, как я описал в этом сообщении: https://zx-pk.ru/threads/28706-spetsialist-quot-vostochnyj-ekspress-quot-sborka-i-naladka.html?p=1059544&viewfull=1#post1059544
И картинка изображения клавиатуры некорректная:

72398

Я пробовал запускать этот тест в эмуляторе - картинка клавиатуры правильная, как в описании теста. Пока что в ступоре...

ivagor
27.04.2020, 10:17
И картинка изображения клавиатуры некорректная:
Вложение 72398
Вложение не открывается, картинка теста клавиатуры как в этом сообщении (https://zx-pk.ru/threads/28706-spetsialist-quot-vostochnyj-ekspress-quot-sborka-i-naladka.html?p=1059527&viewfull=1#post1059527)?

AlexBel
27.04.2020, 10:21
Да, как в этом сообщении. У меня тоже вложение не открывается, странно - только что открывалось, предпросмотр картинки был. Оказывается, он есть сразу после сохранения сообщения, если перезагрузить страницу - пропадает. Но по ссылке картинка всё равно открывается.

ivagor
27.04.2020, 10:30
Глянул рисование клавиатуры в тесте Рюмика. У меня пока только одно предположение по картинке теста с реала - процессор работает не вполне корректно. Стоит попробовать поменять не память, а процессор, если он в панельке.

AlexBel
27.04.2020, 11:05
Заменил процессор - то же самое. Либо дело не в процессоре, либо оба процессора имеют одинаковый дефект. На случай, если второй предположение верно, поищу, откуда выпаять ещё процессор...

ivagor
27.04.2020, 11:15
Отпаивать не стоит торопиться. Не могу сообразить, что именно должно было неправильно сработать в процессоре, чтобы получить ту картинку клавиатуры. Команды lxi b,...; dcr b; dcr c; jnz использовались и в моем тесте, а он отработал нормально. Если пзу с тестом 100% правильное, то дело или в процессоре или при чтении команды из пзу до процессора доходит искаженный код. Искажение может быть связано или с шиной данных или с шиной адреса (т.е. чтение не из тех адресов, которые выставил на ША процессор).

AlexBel
27.04.2020, 12:17
Поздно, уже выпаял. Выручила плата от старого советского синтезатора :) Но картинка клавиатуры не изменилась. Сейчас идёт тест, но, думаю, будет то же самое. А вот ПЗУ - возможно. Одна микросхема М2716 уже подвела в "Специалисте", возможно, с другой тоже проблема. Сейчас попробую прошить тест Рюмика в М2732 (в обе половины), если нормально не пройдёт, буду либо делать программатор для 573РФ2 (мой TL866 их не прошивает, не хватает напряжения), либо как-то присобачу флэш.

ivagor
27.04.2020, 12:55
Т.е. предполагаешь, что в программаторе пзу читается нормально, а в специалисте глючит? В memtest искажение самого теста было бы заметно по CRC.
Набросал тест адресации, он может найти зеркальные области в озу (0000-BFFF), если они вдруг почему-то появились. В каждые две ячейки записываются значения совпадающие с их (четным) адресом:
0000 00 00
0002 02 00
...
BFFE FE BF
Потом читаем и проверяем. Результаты проверки отображаются на экране в виде "карты", на которой каждым четырем байтам озу соответствует один байт видеоозу (по 2 бита экрана на байт памяти). Если зеркальных областей не обнаружено, то экран будет постоянно инвертироваться, что скорее всего будет отображаться как бег черных и белых диагональных полос по экрану. Если обнаружены несоответствия записанных и считанных данных, то изображение будет статичным и на экране будет карта ошибок. Чтобы было понятнее приложил исходник. Перезапуск теста - пробел. Не уверен, что в этом тесте есть большая необходимость, но пусть будет.

AlexBel
27.04.2020, 13:06
Спасибо! Но дело оказалось именно в ПЗУ. Я зашил тест Рюмика в М2732А (в обе половины) - и клавиатура отрисовалась корректно и полный тест прошёл без ошибок. К сожалению, у меня нет М2716, кроме тех, что покупал на "Алиэкспрессе", но, думаю, дело не в серии, а именно в самих, бракованных, микросхемах. Теперь понятно, почему эти микросхемы не работали в знакогенераторе агатовской "Ячейки-121" - я списал это на нехватку быстродействия ПЗУ. И, возможно, поэтому у меня не получилось оживить плату "Вектора" - там я использовал ПЗУ из этих же.
Большое спасибо за тест, попробую его попозже, сейчас буду прикручивать флэш или 27256, коих у меня в достатке - думаю заменить одной микросхемой все ПЗУ. Только нужно разобраться, куда что шить...

ivagor
27.04.2020, 13:20
Могу только поздравить с нахождением ошибки, теперь adrtest точно не нужен. Насчет memtest - раз он выдавал правильную CRC, значит он правильно прошился и правильно читался в специалисте и даже правильно тестировал память, в отличие от теста Рюмика, который получается читался с ошибками.

- - - Добавлено - - -

Т.е. в тест Рюмика для полного счастья желательно добавить самоконтроль.

AlexBel
27.04.2020, 13:34
Т.е. в тест Рюмика для полного счастья желательно добавить самоконтроль.

Да, если бы он проверял свою КС, то с самого начала было бы известно о причине проблемы.