Первый раз я увидел компьютер осенью 1988 года на Дне «Открытых дверей» в Московском промышленном техникуме. Тогда я весьма смутно представлял себе, что такое компьютер, что у него внутри, и как он работает. А тут моему взору предстал целый компьютерный класс персональных ЭВМ. Через год я снова оказался в том компьютерном классе, теперь уже на первой лабораторной работе по информатике в качестве студента первого курса того самого техникума. С этого дня началось моё знакомство с вычислительной техникой в лице персонального компьютера производства ГДР robotron 1715. Вскоре одних только лабораторных работ мне стало мало. Я стал захаживать в компьютерный класс после окончания занятий, чтобы поупражняться в программировании на BASIC'е (а потом и на PASCAL'е) и, конечно, поиграть втихаря от заведующего ВЦ. А чтобы мои программные творения и рекордные игровые достижения не пропадали после каждого посещения, пришлось купить 5-дюймовую дискету. Замечу, что в 1989 году купить чистую дискету было непросто. Продавались они в комиссионках. Помню, что уплатил за свою первую дискету «ИЗОТ» 18 рублей.
В процессе работы с robotron'ом выяснилось, что он имеет в своём составе:
– процессор U880 (аналог Z80), работающий на частоте 2.5 МГц;
– ОЗУ объемом 64 Кбайт;
– алфавитно-цифровой дисплей с тремя градациями зелёного;
– два односторонних дисковода на 180 Кбайт (впоследствии на каждой машине один был заменён на двусторонний объёмом 780 Кбайт).
Работала эта машина под управлением ОС SCP (Single Control Program), которая является аналогом ОС CP/M.
Конечно, robotron'ы были не единственными компьютерами в нашем техникумовском ВЦ, и со второго курса мы пересели на IBM-совместимые машины Mazovia CM1914. Ну и основной объем дополнительного времени я уже проводил за ними. Однако интерес к robotron'у у меня не остывал, и пока учился в родном техникуме, я частенько захаживал, чтобы реализовать очередную идею на TURBO PASCAL'е...
Прошло с тех пор, ни много ни мало, 15 лет, но всё это время не перестаю с особой теплотой и трепетом вспоминать те славные времена, техникум, первые компьютеры robotron 1715, дискеты от которого до сих пор храню. А обзавестись собственным robotron'ом стало моим тайным желанием. Но желание это, в силу моей нерасторопности и склонности откладывать всё на потом, так и оставалось лишь желанием.
1. НАХОДКА
Случилось так, что работаю я на предприятии оборонной промышленности. На территории напротив подъезда одного из корпусов находится свалка металлолома и остатков отслуживших свой срок радиотехнических приборов. Когда оказываюсь рядом, то всегда подхожу поглазеть на свежевыброшенных представителей последнего слова советской и зарубежной электронной промышленности середины и конца прошлого века. Вот и в этот раз, в понедельник 21 апреля 2008 года, несмотря на атмосферные осадки, я не стал изменять своей привычке. Как только я приблизился, моё внимание сразу привлёк стальной корпус бежевого цвета с решетчатыми вентиляционными прорезями на боковой части и несколькими разъёмами на задней стенке. А когда взглянул на переднюю панель, то остолбенел от неожиданности, потому что увидел два до боли знакомых пятидюймовых дисковода, тумблер «POWER», кнопку «RESET» и надпись «robotron 1715». Немного поодаль стоял монитор с открытой задней крышкой и без подставки. Первое время я стоял и тупо смотрел на всё это, мои мысли путались, я не знал, что делать. Перенести всё это домой с режимного предприятия мне на тот момент показалось невозможным. Поэтому ещё немного постояв, я побрёл туда, куда шёл. Мой отстранённый от реальности взгляд не остался незамеченным коллегами, поэтому пришлось объясняться. Мне было рекомендовано немедленно пойти и забрать компьютер, а уж что с ним делать дальше — потом будет видно. И я сразу же пошёл обратно за robotron'ом, пока он не стал собственностью охотников за драгметаллами.
Системный блок я забрал, а монитор — нет. Подумал, что раз уж крышка открыта, то скорее всего он неисправен, да и размеры его не оставляли никакой надежды на возможность пронести его через КПП. О том, что не взял его, жалею до сих пор.
Предварительный осмотр показал, что никаких значительных повреждений корпус не имеет, зато вся верхняя часть покрыта въевшимися пятнами грязи, которые оттереть сходу ни техническим спиртом, ни мылом не удалось.
Кроме того, были погнуты некоторые контакты разъёмов клавиатуры и дисплея. Два из трёх винтов на задней стенке отсутствовали. Закралось подозрение, что компьютер неисправен. Вернувшись на своё рабочее место, я приступил к вскрытию. Сняв верхнюю крышку, я убедился, что все составные части системного блока находятся на месте. Дело было в понедельник утром, и получается, что компьютер простоял на свалке под дождём все выходные. Несмотря на это, влаги внутри практически не было, только кое-где скопился конденсат. Первым делом я извлёк и вскрыл блок питания. Тряпочкой, смоченной в спирте, я стёр пыль с плат, деталей и вентилятора. Тщательно осмотрев целостность всех элементов и пайки, собрал и установил блок питания на место.
Теперь можно было произвести первое включение. Не закрывая верхнюю крышку, я подключил robotron к сети. С надеждой и волнением перевёл тумблер «POWER» в положение «ON». Тумблер загорелся красным неоновым светом, вентилятор стал плавно набирать обороты, загорелись светодиоды контроля наличия напряжения питания, а затем по очереди начали мигать индикаторы дисководов. Всё говорило о том, что блок питания и основные элементы платы центрального процессора исправны.
Моей радости не было предела. Даже отсутствие монитора на тот момент меня почти не беспокоило. Я был уверен, что видеовыход имеет какие-нибудь стандартные параметры и мне удастся подключить его к ЭЛТ-монитору или, в крайнем случае, к телевизору. А вот найти подходящую клавиатуру вряд-ли удастся, поэтому не теряя времени я отправился опять на свалку с надеждой, что раз уж выбрасывали всё вместе, то и клавиатура должна оказаться где-то неподалёку. И не ошибся. Сначала я её не заметил, но посмотрев подальше увидел её заброшенной на шкаф от СМ-ки. Состояние устройства оставляло желать лучшего: толстый слой пыли, довольно заметная вмятина внизу, несколько клавиш отскочили, видимо от удара.
Во время обеденного перерыва я подумал, что монитор надо бы всё-таки забрать, выбросить-то я всегда его успею, поэтому вернувшись, не заходя на рабочее место, снова пошёл на свалку. Но было поздно. Монитор был почти полностью разобран. Электронную начинку и отклоняющую систему уже сняли. Осталась рама с закреплённым на ней кинескопом, передней панелью и двумя кабелями.
Тут я во второй раз совершил ту же ошибку. Вместо того чтобы забрать всё что есть, я отрезал и забрал только кабели.
2. ЧИСТОТА — ЗАЛОГ ЗДОРОВЬЯ
Теперь мне предстояло очистить robotron от грязи и перенести домой. Ввиду значительной массы и габаритов, сделать это за один заход было невозможно, поэтому пришлось его разбирать и выносить по частям.
Первым домой отправился, на тот момент уже чистый, блок питания, затем корзина с дисководами. Сложнее всего было отчистить от двадцатилетнего слоя пыли платы ЦП и контроллера дисковода. Сначала влажной тряпкой я стёр основной слой грязи, а затем с помощью пинцета и тряпочных тампонов, смоченных в техническом спирте, протёр все микросхемы и труднодоступные межэлементные пространства печатных плат. На сгибах некоторых ножек микросхем, производства ГДР, впаянных в плату контроллера ГМД, обнаружились следы ржавчины(!). Участки, затронутые коррозией, были зачищены надфилем, а затем залужены.
Клавиатуру, как и системный блок, пришлось разбирать и чистить по частям. Особых проблем с ней не возникло, хотя и пришлось снимать и протирать каждую клавишу по отдельности. Стальной корпус клавиатуры я решил попробовать отмыть имевшимся на работе в небольшом количестве Vanish'ем, поскольку мыло и спирт уже показали свою бесполезность. Результат превзошёл мои ожидания, все пятна отмылись без особых усилий.
Корпус системного блока я решил мыть дома. Выносил я его в большой чёрной сумке. Когда проходил через вертушку в проходной, немного нервничал. Ручная кладь таких габаритов могла привлечь внимание вахтёров КПП.
Мыть его пришлось в ванне. Вместо Vanish'а, которого дома не было, использовался Domestos. Последний справился со своей задачей ничуть не хуже Vanish'а, не оставив на корпусе ни единого пятнышка. После мытья корпус был вытерт и тщательно просушен на балконе под прямыми солнечными лучами.
Во второй половине дня состоялась сборка и проверка работоспособности компьютера, так сказать, «вслепую». Среди имеющихся пятидюймовых дискет я по памяти выбрал те, которые должны были быть системными. Загрузка системы, судя по характерным для этого процесса движениям головок дисковода, была выполнена успешно. Затем я по очереди набрал на клавиатуре команды «DIR», «B:», «^C». Вспыхивающие индикаторы дисководов говорили о том, что команды выполняются.
С этого момента мой разум был поглощён мыслями о том, чтобы получить хотя-бы на чём-нибудь более или менее приличное изображение. И я начал поиски всевозможной информации о robotron'е в интернете.
3. МОНИТОР
На сайте www.robotrontechnik.de была найдена распиновка видеоразъёма с названиями сигналов на немецком языке. Оказалось, что видеосигнал передаётся в монитор раздельно в виде трёх составляющих: сам видеосигнал, сигнал повышенной яркости и смесь строчных и кадровых синхроимпульсов. Ещё на этом же сайте удалось выяснить, что частота строчной развёртки составляет 16кГц. Поиски более подробной информации не увенчались успехом. Сама собой напрашивалась мысль измерить параметры синхросигналов осциллографом, которого дома у меня нет. Но тащить уже собранный компьютер обратно на работу очень не хотелось. Единственное, что оставалось, это каким-либо образом сделать измерения с помощью имеющегося PC.
Ознакомившись для начала с описаниями параметров выходных сигналов адаптеров MDA и CGA, и учитывая, что в основе схемы видеоконтроллера robotron'а используется микросхема 8275, я предположил, что уровни всех сигналов имеют параметры ТТЛ. Чтобы получить общую картину формы синхросигнала я воспользовался одним из входных разрядов LPT-порта. С помощью небольшой программы, непрерывно считывая значения этого разряда и подсчитывая количество приходящих подряд нулей и единиц, удалось определить, что синхроимпульсы имеют отрицательную полярность. Длительность строчного синхроимпульса составляет около 4 мс, частота кадров составляет около 50 Гц. Такой результат не стал для меня неожиданностью.
Поскольку параметры развёрток очень близки к телевизионным, логично было бы попытаться собрать формирователь полного видеосигнала для подключения robotron'а к телевизору. Но перед этим, не особенно надеясь на положительный результат я решил попробовать подключить его к моему LCD-монитору SONY SDM73. Чтобы преобразовать уровни ТТЛ в VGA, я собрал простенькую схему, на резисторах и диодах.
Выходной видеосигнал подал на вход Green (pin 2), синхросмесь — на вход HSYNC/CSYNC (pin 13). Изображения я, конечно, никакого не получил. Монитор выругался окном с сообщением «Нестандартный графический режим», дополненным, тем не менее, правильно измеренными параметрами строчной и кадровой развёртки (строчная — 15,9кГц, кадровая — 51Гц).
После неудачной попытки подключения к LCD-монитору, поиски возможных вариантов получения изображения велись довольно вяло, можно даже сказать, сошли на нет. Летом я подобрал на нашей свалке CGA-монитор от машины «Mazovia CM1914» с монохромным кинескопом, но, похоже, он был неработоспособен. Да и подключить его сходу не представлялось возможным, поскольку строчные и кадровые синхроимпульсы на него нужно подавать раздельно.
«Второе дыхание» открылось только в октябре, когда я буквально наткнулся на монитор «Электроника МС6105.02». Он стоял около лифта на лестничной площадке одного из корпуса, приготовленный к выносу на свалку.
Для того, чтобы подключить его к robotron'у, как и в случае подключения телевизора, необходимо было собрать схему сопряжения (смеситель), который из синхроимпульсов, видеосигнала и сигнала яркости формирует полный видеосигнал. Поскольку мои познания в радиоэлектронике не позволяют мне самому придумать такую схему, пришлось ознакомиться со схемами формирования видеосигнала в бытовых компьютерах. Из возможных вариантов я решил попробовать схему, используемую в «Радио-86РК», «Орион-128», «ЮТ-88», тем более, что она совсем простая. На всякий случай, я дополнил входы схемы инверторами и перемычками, позволяющими при необходимости инвертировать входные сигналы. Схема была спаяна на макетной плате.
Теперь, чтобы увидеть результат, нужно было или отнести монитор со смесителем домой, или принести обратно на работу robotron. На этот раз деваться было некуда и я выбрал второе. Чтобы облегчить себе задачу, я принёс только плату ЦП, контроллер ГМД с одним дисководом, и подключил всё это к обычному компьютерному блоку питания. Но неожиданно для меня, robotron загружаться отказался. Я предположил, что контроллер не работает без второго дисковода, и на следующий день принёс второй дисковод, но это не помогло. Оставалось только одно — принести «родной» блок питания, что и было сделано на следующий день.
С «родным» блоком питания загрузка прошла успешно. 12 Вольт для монитора я взял от блока питания монитора Mazovia. Теперь после подключения смесителя к robotron'у, а монитора — к смесителю, и включения питания, на экране появилась первое изображение.
Несмотря на неудовлетворительный вид картинки, я считал это удачей. Что-же было причиной столь сильного искажения изображения? Для поиска ответа на этот вопрос я воспользовался осциллографом. На следующий день, 13 ноября 2008 года, я перенёс robotron в лабораторию, где стоят измерительные приборы. Здесь я замерил период и длительность строчных импульсов и посмотрел на форму сигнала с выхода схемы сопряжения. А форма оказалась совершенно несоответствующей требуемой — полярность синхроимпульсов была положительная. Сразу стало понятно, что перемычка коммутировала сигнал синхросмеси не напрямую а на вход инвертора. Поменяв положение перемычки я увидел на экране осциллографа то, что требовалось. Вернувшись с robotron'ом на место подключил его к монитору. Изображение было практически идеальным.
И хотя изображение получилось достаточно хорошее, схема смесителя грешила двумя недостатками: амплитуда выходного напряжения была около двух Вольт вместо требуемого одного, и не был задействован сигнал яркости. Поэтому с вопросом о возможности доработки схемы я обратился форум www.monitorlab.ru. Буквально на следующий день мне были предложены две схемы. Я по очереди собрал обе. Первая схема работала правильно, поэтому и была выбрана и собрана в «чистовом» виде на небольшой плате, которую я собирался разместить в корпусе монитора. Оставалось найти подходящую коробочку для размещения блока питания монитора, за которой я сразу отправился на свалку.
То что я увидел, снова повергло меня в замешательство. У самого края лежали аккуратно сложенные части корпусов системного блока и монитора от ещё одного robotron'а. К сожалению, электронной начинки не было никакой, Не хватало так же корпуса клавиатуры.
На этот раз я забрал всё. После внимательного осмотра всех составных частей, стало ясно, что среди деталей монитора не хватает салазок, к которым крепится рама, подставки и уголков для крепления передней панели.
После некоторых раздумий было решено разместить кинескоп, плату монитора МС6105, блок питания монитора Mazovia и смеситель в найденном robotron'овском корпусе. Для этого пришлось решить несколько задач.
В первую очередь с помощью дополнительного бандажа из полоски стали для обвязки деревянных ящиков и матерчатой изоленты к углам кинескопа были прикреплены петли для крепления её винтами к раме. Петли пришлось снять с кинескопа UNITRA от монитора Мазовии.
Недостающие крепления передней панели были взяты от монитора МС6105. Плоскогубцами им была придана необходимая форма, а затем просверлены отверстия для болтов.
Чтобы закрепить раму на корпусе на необходимой высоте в 3 мм (для совпадения направляющих передней панели) и обеспечить дополнительную жёсткость, пришлось из имеющейся стальной пластины выпилить полоски необходимой длины и ширины. А сделал я это обыкновенной ножовкой по металлу.
Плату монитора закрепил на раме с помощью проволочного каркаса, на котором она крепится в МС6105. Форма и размер каркаса были изменены таким образом, чтобы плата размещалась в левой части корпуса. Справа должен был разместиться блок питания от монитора Mazovia.
Здесь следует заметить, что сетевой кабель монитора имеет специальный разъём, для подключения его к ответной части, расположенной сзади на системном блоке robotron'а. Поэтому мне показалось логичным сделать подключение будущего монитора-гибрида не напрямую к сети, а к системному блоку с помощью имеющегося сетевого кабеля. После первого же подключения выяснилось, что блок питания robotron'а выдаёт на разъем 12В, хотя сечение, цвет и количество проводов кабеля не оставляли у меня никакого сомнения, что по ним подаётся 220В, а внутри монитора должен быть вторичный источник питания. Поэтому дополнительный блок питания оказался ненужным, и позднее плата от MC6105 была размещена на новом каркасе в задней части монитора.
Сигнальный кабель, сетевой кабель и плату смесителя закрепил на стеклотекстолитовой площадке, которая, в свою очередь, привинчена к раме.
Питание +5В для платы смесителя первоначально я подавал через один из проводов сигнального кабеля, добавив в разъёмы кабеля и платы ЦП по одному дополнительному контакту. В дальнейшем схема смесителя была дополнена преобразователем 12В ->5В на микросхе КР142ЕН5А, а установленные дополнительные контакты были демонтированы.
Переменные резисторы регулировки яркости и контрастности были выпаяны из платы монитора и установлены на отрезках макетной платы в передней части корпуса.
Вместо недостающей подставки пришлось использовать пластмассовую от списанного VGA-монитора. Конечно, по внешнему виду она далека от оригинала, но свою функцию выполняет.
После полной сборки и включения монитора на меня навалилась очередная проблема. Строки в изображении, по непонятным до сих пор причинам, имели разную яркость и были немного смещены друг относительно друга. В спешке я начал тыркать щупами в контактные площадки и элементы схемы, произошло короткое замыкание после которого включился дисковод и не выключался до перезапуска. После перезапуска загрузить систему не удалось. Оказалось, что нулевая дорожка дискеты испорчена.
На следующий день принёс другую дискету, и после загрузки с неё обнаружилось, что изображения как такового нет, на экране только светлый и очень узкий растр. Для выявления неисправности я проверил ВСЕ диоды и транзисторы, где это было возможно — непосредственно в схеме, где невозможно — пришлось выпаивать. Тотальная проверка выявила два сгоревших диода и один транзистор.
Неисправные детали заменил вместе со всеми электролитическими конденсаторами. После чего монитор стал работать вполне прилично, был разобран и перенесён домой в два этапа — сначала корпус и «комплектующие», затем кинескоп.
Совершенно неожиданно, собранный дома монитор заработал не сразу. После включения, уровень фона с постоянной периодичностью менялся от высокого до очень высокого, Я уже подумал, что пока нёс и собирал, опять что нибудь сломалось, но оказалось, что в разъёме под цоколь трубки был использован бракованный контакт модулятора. Пришлось его немного подогнуть.
В работе монитора меня не устраивала недостаточная яркость даже при максимальном положении регулятора и серый люминофор (в настоящем robotron'овском мониторе используется кинескоп с зелёным люминофором). Поэтому, когда примерно через полгода в моём распоряжении оказался ещё один списанный монитор МС6501, как оказалось со значительно изменённой схемой, я провёл эксперимент по проверке работоспособности новой платы с кинескопом UNITRA. Результат был положительным. К слову сказать, отклоняющая система, снятая с кинескопа 31ЛМ10Б-3С, встала на Унитру как «родная», а удовлетворительная яркость достигалась уже в среднем положении регулятора. Поэтому, не раздумывая, я установил в монитор новую плату на новом каркасе и кинескоп UNITRA. В таком исполнении я пользуюсь им по настоящее время.
На этом вроде бы и всё? Но не тут то было...
4. U505D
Поиграв в XONIX и поняв, что квалификация совершенно утрачена, я запустил TURBO PASCAL и ввёл программу BEGIN WRITELN( 'HELLO WORLD!' ); END. Выполнил. Красота! Дай, думаю, сохраню. Дал команду на сохранение, смотрю — задумался компьютер, шуршал-шуршал дискетой, двигал-двигал головками и выдал сообщение об ошибке. Сначала я подумал, что всё дело в плохой дискете. После вынужденной перезагрузки я набрал команду «DIR». Каталог не читался. Ещё одна дискета оказалась испорчена. Попробовал отформатировать чистую дискету. Безрезультатно. Все дорожки форматировались с ошибкой. Стало ясно — дело не в дискетах.
На все работы, связанные с устранением неисправности, ушло почти три месяца.
Первым делом я проверил работоспособность обоих дисководов. Для этого, переставив необходимые перемычки, по очереди подключал их к своему PC и производил контрольную запись и чтение. Дисководы, как и ожидалось, были исправны.
После дисководов взялся за контроллер. Почистил и подогнул контакты разъёма соединения с платой ЦП, тщательно осмотрел и прозвонил места пайки ножек всех микросхем и других элементов. Никаких дефектов обнаружено не было. По возможности, проверил на пробой диоды и транзисторы — ничего. Стало понятно, что из строя вышла одна, а может и не одна микросхема. С ужасом подумал о том, что это может быть одна из микросхем ПЗУ. И если аналог самой микросхемы найти ещё можно, то как и где найти прошивку?
Очевидно, что искать неисправный элемент наугад без схемы — дело бесполезное, поэтому я не откладывая начал поиски.
Cсылки на странице www.xepb.ru/robotron/docs.html не открывались. Облазил немецкие форумы. Поскольку в немецком я совершенно не разбираюсь, хотя в школе изучал именно этот язык, то просто просматривал все ссылки, которые встречал. И хотя схем я не нашёл, зато на одном из сайтов нашёл прошивки тех самых ПЗУ.
Продолжать бродить в сети в поисках схемы мне уже не хотелось, и я принял решение чертить её по печатной плате, благо монтаж хотя и двусторонний, но зато однослойный. Начал с того, что отсканировал плату контроллера с обеих сторон, распечатал сканы в увеличенном масштабе. Затем на большом листе бумаги, склеенном из трёх листов формата А3, нанёс функциональные обозначения микросхем с номерами выводов, причём расположил их в том порядке, в котором они размещены на плате. Ну и поочереди, микросхема за микросхемой, начал соединять линиями выводы в соответствии с печатным монтажом, обводя соответствующую дорожку на скане красным цветом, чтобы видеть какие соединения ещё не проведены.
Получившаяся схема оказалась совершенно нечитабельна (на фото-фрагмент).
Пришлось потратить около двух недель на то, чтобы скомпоновать элементы в законченные функциональные узлы.
В результате анализа схемы из списка подозреваемых были исключены элементы, входящие в состав тактового генератора, два порта Z80PIO, по которым осуществляется обмен данными с системной шиной ЦП, схема преобразования кода из последовательного в параллельный и обратно, выполненная на регистрах сдвига. Под подозрением оказалась та самая микросхема ПЗУ с маркировкой U505D, участвующая в формировании MFM-кода, и выходной каскад формирователя сигнала «Write Data». Проверка p-n переходов транзистора последнего патологии не выявила.
Задачу проверки работоспособности ПЗУ без выпаивания оказалось легко решить благодаря прямому подключению её адресных входов к одному из портов Z80PIO. Адрес самого порта не составило труда найти в книге по техническому обслуживанию, скачанной с одного немецкого сайта. С помощью программы на PASCAL'е я записывал в порт значение адреса, а затем с помощью стрелочного прибора замерял уровни на выходах микросхемы.
Моё самое первое и самое страшное на тот момент подозрение оправдалось. Значения, полученные по нескольким контрольным адресам не соответствовали указанным в прошивке. Пять разрядов из восьми сохраняли один и тот же уровень независимо от подаваемого на вход микросхемы адреса. Чтобы окончательно удостовериться в неисправности микросхемы ПЗУ, необходимо было её аккуратно выпаять, не повредив печатный монтаж и саму микросхему. Поскольку оловоотсоса у меня конечно же нет, применил оплётку от экранированного провода и спиртовой раствор канифоли. Операция демонтажа длилась два с половиной часа, пока не были освобождены все ножки микросхемы.
К сожалению, одна ножка повреждённая коррозией, всё-таки обломилась у самого основания, и её пришлось припаивать.
Чтобы прочитать содержимое микросхемы и при необходимости запрограммировать новую, нужно было где-то взять программатор. Конечно, можно было купить готовый, но это слишком просто и совсем неинтересно. Поэтому я приступил к анализу существующих схемотехнических решений этих устройств. Чтобы минимизировать количество монтажных работ, за основу мной был выбран один из вариантов программатора, выполненного на микросхеме КР580ВВ55, подключаемого к LPT-порту компьютера. Немного доработанная схема была реализована на макетной плате навесным монтажом.
Практического опыта в программировании ВВ55 через LPT-порт у меня не было, поэтому с программой мне пришлось повозиться. А сначала я даже подумал, что имеющиеся у меня микросхемы неисправны. Я перепробовал три советские ВВ55 и одну Intel'овскую 8255. Но причиной неработоспособности оказалось несоблюдение программой временной диаграммы установки/снятия управляющих сигналов.
Чтение содержимого выпаянной микросхемы окончательно подтвердило её неисправность.
Найти немецкую микросхему U505D в продаже мне не удалось, а её советский аналог К573РФ1 оказался не совсем дешёвым удовольствием, поскольку имеет позолоченные выводы. В то же время у меня в запасе имеется несколько микросхем К573РФ5. Несмотря на различия в цоколёвке, я решил попробовать использовать одну из них в качестве замены.
Поскольку микросхемы были извлечены мной из других устройств, все они хранили информацию, которую необходимо было стереть. В качестве стирающего устройства я использовал кварцевую горелку от лампы ДРВ. Раздобыв лампу OSRAM HWL250 и обернув её тряпкой, я аккуратно тюкнул её тяжёлым предметом по внешней колбе. Чтобы не искать патрон под большой цоколь, я отделил последний от кварцевой горелки, оставив токоведущие выводы максимально длинными, и прикрутил их непосредственно к контактам обычного патрона. После чего поместил патрон с горелкой в трёхлитровую банку. В качестве балласта при включении в сеть, использовалась подсоединённая последовательно лампа накаливания мощностью 100 Вт. Облучение микросхемы осуществлялось в течение 20 минут на расстоянии около 8см от источника УФ- излучения.
Теперь чтобы запрограммировать микросхему, нужно было дополнить программатор источником стабильного напряжения 21,5 В. Но терпения на сборку у меня уже не осталось, поэтому я попросил у начальника соседней лаборатории ИСТОЧНИК ПИТАНИЯ ПОСТОЯННОГО ТОКА Б5-47, с возможностью установки выходного напряжения с точностью до 0,1В.
22 июня 2009 года внимательно написанной в соответствии с изученным алгоритмом и тщательно выверенной программой микросхема К573РФ5 была запрограммирована с первого раза.
Поскольку U505D и К573РФ5 имеют разную ёмкость, и как следствие, различия в назначении некоторых выводов, для обеспечения работоспособности последней без переделки печатного монтажа её пришлось немного доработать. Доработка свелась к удалению трёх выводов и пайке трёх перемычек. На место неисправной микросхемы в плату была впаяна панелька. При установке РФ5 в панельку, между обрезанными контактами и контактами панельки была проложена изолента.
Придя домой и сразу установив контроллер на место, я включил robotron. Во второй дисковод вставил чистую дискету, запустил программу форматирования и затаив дыхание стал смотреть на номер форматируемой дорожки. Как только прошло безошибочное форматирование первых двух, у меня вырвался вздох облегчения. РАБОТАЕТ!
5. СОВЕРШЕНСТВОВАНИЮ НЕТ ПРЕДЕЛА
Сразу после починки контроллера я занялся установкой в монитор новой платы и кинескопа UNITRA, о чём упоминал выше. Чтобы вернуть на место петли для крепления, пришлось расцеплять бандаж, а затем стягивать его винтом. Переделка не заняла много времени.
Следующим этапом стало подключение трёхдюймовых дисководов к внешнему разъему контроллера FDD, предназначенного, вообще-то, для блока 8-дюймовых дисководов. На предмет возможности подключения я исследовал большое количество накопителей разных фирм. Самыми подходящими оказались дисководы марки SAMSUNG. Пробное подключение было сделано с помощью стандартного FDD-шлейфа. В качестве ответной части разъёма был использован обрезок розетки СНП34С-135Р-В Для подключения напряжения питания к дисководам использовались первые пять неиспользуемых в интерфейсе провода шлейфа.
О проблемах, с которыми пришлось столкнуться при доработке дисководов, я уже писал на страницах форума и повторяться не буду. Когда все они были решены, оставалось только заменить обрезок разъёма на что-то более приличное. Среди имеющегося хлама нашлись два хороших трёхрядных разъёма фирмы RFT (разъёмы именно этой фирмы установлены в robotron'е), смонтированных на плате и размещённых в корпусе. Вот только они оказался 30-контактными. Чтобы превратить его в 39-контактный пришлось демонтировать 30-контактную розетку, а на её место впаять отрезок от 135-контактной розетки той же фирмы RFT.
Поскольку корпус разъёма пластмассовый, то расширить прорези под новую розетку никакого труда не составило. Контакты, места которым на плате не хватило, остались навесу, неиспользуемые — удалены.
Оба дисковода объединены с помощью корзины, взятой из старого компьютерного корпуса.
Ранее я говорил, что у клавиатуры, когда я её нашёл, не хватало нескольких клавиш. Я уже вынашивал идею отлить недостающие клавиши из эпоксидки и даже начал искать информацию о том, как это сделать. Но совсем недавно, в один прекрасный день нашёл всё на той же свалке остатки разобранной клавиатуры. Причём инвентарный номер на корпусе совпадал с тем, что был на найденном полтора года назад корпусе от монитора. Выбитых клавиш в ней было даже больше, чем на той, что уже была у меня. Но по счастливому стечению обстоятельств, множества недостающих клавиш не пересекались. В общем наборе клавиш не хватало только одной - «SI/SO». На её место я установил закрашенную чёрным маркером клавишу «,». Вот так одной головной болью стало меньше. Клавиатура теперь выглядит так:
Ну и вершиной моей «деятельности» на сегодняшний день, стала модификация системы программирования Turbo Pascal, а точнее сказать, усечение интегрированной среды разработки до редактора. С самого начала работы с системой, мне очень нравился редактор, и я пользовался им не только для написания программ на PASCAL'е, поэтому почти сразу появилась идея выкинуть из него компилятор, чтобы освободить больше места для редактируемого текста. В те далёкие времена руки до этого не доходили, да и не под силу мне тогда было это сделать. Но, как говорил зав. техникумовским ВЦ, «лучше поздно, чем ещё позднее». И вот, время настало. После дизассемблирования стало ясно, что задача вполне решаема, поскольку компилятор располагается в самом конце исполняемого файла. Нужно только усечь файл до нужной длины и как бы сместить ВСЕ обращения к неинициализированным данным, находящимся в адресном пространстве, расположенном ниже компилятора. Таких обращений оказалось немногим больше ста. Заодно немного подкорректировал меню и заблокировал ненужные команды, такие как компиляция, выполнение и т. п. В результате размер исполняемого файла уменьшился почти на 13 Кбайт, на столько же увеличился объем свободного места для редактируемого текста.
Вид меню системы TURBO PASCAL до модификации:
Вид меню после модификации запечетлён на видеоролике чуть ниже.
6. ДОЛГОЖДАННОЕ ЗАКЛЮЧЕНИЕ
Оглядываясь на проделанную работу, понимаю, что некоторые проблемы можно было решить более простыми способами или же вообще избежать их появления. Например, монитор, возможно, проще было бы купить, тем более, что предложения в интернете были. Однако, я старался, по возможности, сделать всё своими силами, применяя только те средства, детали и инструменты, которые оказывались в моём распоряжении на текущий момент. Тем более, что удача всё это время была ко мне благосклонна.
Теперь мой robotron выглядит так:
А здесь два коротких видеоролика, с процессом загрузки системы и запуска усечённой среды Turbo Pascal. Программа запускается с диска, содержащего компилятор HI-TECH C.
Приношу свои извинения за неважное качество фотографий. Почти все они делались в процессе работы, и в то время публиковать их не планировалось.
Хочется выразить свою благодарность участникам форума www.monitorlab.ru, зарегистрированным под никами rezident и Дядя Боря, за помощь в адаптации монитора МС6105. Кроме того, очень благодарен своим коллегам по работе за терпение, понимание и моральную поддержку, оказанную мне в процессе моей деятельности, ведь практически всё было сделано на рабочем месте в рабочее время.
И самое главное, хочу поблагодарить ВСЕХ, у кого хватило терпения прочитать мою статью от начала до конца.
Обсудить статью в специально созданной ветке форума. Эта статья прислана на конкурс.