Вход

Просмотр полной версии : Глюки и их лечение



spleen
04.05.2007, 10:43
Господа, подскажите вот такие вещи.

1) При попытке запуска любой программы с дискеты - имею либо мертвый завис, либо мусор на экране с пердежом в бипер, либо Nonsense in basic, либо invalid argument. Что это может быть? Память или еще что нибудь?

2) Как можно протестировать память на РУ5 на битость средствами спека? Ну на basic например...

Sonic
04.05.2007, 10:57
(1) - возможно проблемы с отключением TR-DOS.
(2) - если память убитая в хлам (т. е. отказ стабилен), то стартап-код ПЗУ это обнаруживает и объем доступной памяти будет сокращен. Т. е. переменная PRAMT будет содержать на #FFFF, а адрес последней живой ячейки. Хотя типовой отказ этот тест обнаружить не в состоянии ибо он весьма примитивен, там тестируются только ошибки типа "всегда 0" и "всегда 1", перехлест битов и пр. не отслеживается.
Я знаю что существуют тест-программы для Спека, они тестируют память более толково. Хотя, конечно, лучший тест - это тест-ПЗУ.

spleen
04.05.2007, 11:06
(1) - возможно проблемы с отключением TR-DOS.

А как это проверить. Иногда при выборе из начальной таблички TR-DOS, спек отрисовывает часть заставки TR-DOS (логотип) и зависает.
Но ВГ-93 точно рабочая, да и операции с дискетами (LIST, FORMAT) работают нормально.


(2) - если память убитая в хлам (т. е. отказ стабилен), то стартап-код ПЗУ это обнаруживает и объем доступной памяти будет сокращен. Т. е. переменная PRAMT будет содержать на #FFFF, а адрес последней живой ячейки. Хотя типовой отказ этот тест обнаружить не в состоянии ибо он весьма примитивен, там тестируются только ошибки типа "всегда 0" и "всегда 1", перехлест битов и пр. не отслеживается.
Я знаю что существуют тест-программы для Спека, они тестируют память более толково. Хотя, конечно, лучший тест - это тест-ПЗУ.

Можно по русски. Есть листинг программы на бэйсике для проверки? Другой тест не могу загрузить по причинам указанным в п.1 первого поста.

И вообще, похожи такие проблемы на битую память?

Спек - Москва128. (более подробная инфа через поиск по слову мегаспектрум).

Sonic
04.05.2007, 12:11
Ага...
Известно про проблемы с ОЗУ у Москвы.
Прежде всего, отключаем контроллер дисковода. Получаем чистый магнитофонный Спек-128. Нужно загрузить тестовую программу с магнитофона и погонять ее. На бейсике тест ОЗУ не написать.
Если найдешь тест-ПЗУ, то будет гораздо лучше.
Если ОЗУ нормальное, и проблемы проявляются только с контроллером бетатиска, надо прежде всего посмотреть как у тебя подключен контроллер бетадиска.
Далее, чтобы разговор стал предметным, зайди на zxhelp.h15.ru и скачай оттуда схему Москвы-128. А также обратимся к типовой схеме бетадиска: http://zx-spectrum128k.narod.ru/NGMD-INTERFACE.JPG. Конкретно нас интересует сигнал /ROMSEL.
Чтобы подключить указанный контроллер к Москве, необходимо ее доработать. Между 6 выводом микросхемы D6 и ПЗУ должен стоять резистор. При этом сигнал /ROMSEL на системный разъем должен подаваться после этого резистора. Смысл этого резистора состоит в том, чтобы обеспечить возможность блокировки внутреннего ПЗУ компьютера путем подтягивания /ROMSEL к "1" со стороны бетадиска. Без этого резистора низкий уровень на выходе D6 будет закорачивать /ROMSEL со стороны слота и ПЗУ все равно будет активироваться.
На плате бетадиска стоит еще один резистор под номером R13. Он и отвечает за подачу высокого уровня на /ROMSEL. Его смысл в том, чтобы ограничить ток через VT2.
Как нетрудно догадаться эти два резистора образуют делитель. Он должен быть подобран так, чтобы "1" со стороны слота обеспечивал надежную единицу на ПЗУ даже если на выходе D6 будет "0" (что эквивалентно закоротке его на корпус). В схеме фирменного ZX его сопротивление равно 680 - 560 Ом (подбирается экспериментально). Сопротивление R13 должно быть как можно меньше.
Если эти сопротивления подобраны неправильно, на ПЗУ могут появляться пороговые уровни, приводящие к нестабильной работе системы.

spleen
04.05.2007, 12:36
Этот спек совершенно нормально работал в 93-95 годах. Потом я его отдал знакомому, у которого видел в живом состоянии даже в 2001 году. Знакомый умер, и спек лет пять валялся на антресолях, пока я его не забрал. Схема была отлажена толковым мужиком который его собрал и делал спеки на продажу. Так что вариантов мало - либо дохлая память, либо полудохлое ПЗУ, либо глюкает бета-диск. Питание в норме - я мерил. Контакты и дорожки в норме - все прозванивалось.

Кстати, еще вспоминается что с памятью действительно раньше были глюки - не работала часть программ - типа dizzyx/y, satisfaction megademo. Но покойный друг заменил все РУ5, и все стало нормально работать.

P.S. TR-DOS там 5.01.

Sonic
04.05.2007, 12:50
Короче, блин, для начала сделай что я сказал. Отключи бетадиск и погоняй тест ОЗУ с магнитофона.

spleen
04.05.2007, 12:52
Осталось найти его на кассете, а потом найти магнитофон. :-))

Sonic
04.05.2007, 14:24
Зачем? У тебя же есть PC, есть звуковая карта... Спаяй шнурок, найди тапку или TZX - и вперед...
Кстати на OpenSourceZX лежит тест-ПЗУ для 128к, аж с исходниками. От Ярека кажется.

alone
04.05.2007, 15:12
Питание в норме - я мерил.
Скорее всего, блок питания не тянет твой дисковод. Дисковод много кушает, но импульсами - тестером просадку не увидишь. ЕН5А точно не тянет 3.5" дисководы.

spleen
04.05.2007, 15:29
Скорее всего, блок питания не тянет твой дисковод. Дисковод много кушает, но импульсами - тестером просадку не увидишь. ЕН5А точно не тянет 3.5" дисководы.

Сейчас стоит дисковод ЕС5321М (5,25 40дор) в кузове спека. Второй - внешний дисковод - TEAC . TEAC питается от своего БП внешнего. Попробую отрубить питание от EC и погонять только на TEAC`е.

Но раньше БП нормально тянул ЕСный флоп и сам комп.

Добавлено через 3 минуты
Господа, а подскажите еще по памяти. Сейчас стоит КР565РУ5Г-02. Можно ли ставить другие микрухи серии 565РУ5. Ну там РУ5B например.

Sonic
07.05.2007, 09:39
У БП имеют свойство стареть электролиты. Так что вполне естественно что хороший когда-то БП сейчас стал отвратительным. Лечится заменой электролитов. Всех.

spleen
07.05.2007, 11:16
Попробовал отключить БП от флопповода, дисковод запитал от дополнительного блока питания. Ничего не изменилось - эффект тот же самых.

Кстати, посмотрел плату, никаких резисторов от D6 к ПЗУ не идет.

Sonic
07.05.2007, 11:46
Это может являться источником проблемы. ПЗУ активируются одновременно и между ними драка идет, кто кого передавит. Как следствие на шине каша.
Надо эту часть схемы привести в нормальный вид. То бишь поставить резистор. На системный разъем должна идти линия от ПЗУ, а не от D6, то бишь после резистора.
Я посмотрю на свою плату, как там сделано.

spleen
07.05.2007, 13:13
Это может являться источником проблемы. ПЗУ активируются одновременно и между ними драка идет, кто кого передавит. Как следствие на шине каша.
Надо эту часть схемы привести в нормальный вид. То бишь поставить резистор. На системный разъем должна идти линия от ПЗУ, а не от D6, то бишь после резистора.
Я посмотрю на свою плату, как там сделано.

Но ведь раньше все работало и так... :confused:

Кстати, у меня плата Москвы-128 немного отличается от стандартной. Ее делали именно с прицелом на то исполнение компа, которое есть.

Sonic
07.05.2007, 13:26
Я не знаю, как оно работало. Я знаю как в принципе должно быть. Возможно там было "как-то по-другому". Может на нее Алан Чумак по ТВ заклятье наложил, а к 2007 г. оно рассосалось... Я не знаю, и в любом случае заклятье я не могу починить.

spleen
07.05.2007, 14:58
Может бесов надо изгнать? Провести обряд экзорцизма!

Sonic
07.05.2007, 15:03
Может, но тогда это не к нам, а, например, на http://www.sunhome.ru/. :-)
Я думаю рецептов тут надавали уже приличное количество, пора перейти к конкретным действиям ИМХО.

Grand
14.05.2007, 03:28
Можно по русски. Есть листинг программы на бэйсике для проверки?
Чтение системной переменной P_RAMT, в которой после рестарта адрес последней исправной ячейки ОЗУ (48K):
PRINT 256*PEEK 23733+PEEK 23732
Но, как справедливо писал Sonic, этот тест выявит ячейку, только если она стабильно неисправна.