Spectrum-совместимые компьютеры «Байт»,«Байт-01» и прочие раритеты

2 / 750

Новодельный контроллер Beta Disk Interface для компьютера "Байт"

"Оригинальные" контроллеры дисковода к "Байту" на данный момент (да и раньше) купить не так-то просто - их выпущено очень мало по сравнению с общим количеством "Байтов". Поэтому я решил попробовать себя в качестве разработчика периферии для "Байта", и подготовил свой контроллер дисковода под названием BDI Prusak Edition :)

Плата содержит: контроллер дисковода с турбо-ВГ, схему расширения ОЗУ "Байта" до 128К, музыкальный сопроцессор AY-3-8910, ROM-диск. Кроме того плата позволяет установку тестового ПЗУ для проверки памяти (оно ставится вместо основного ПЗУ).

BDI v1.0 (тестовая версия контроллера)

Описание под спойлером

Для начала была заказана партия плат в количестве 5 штук для пробной сборки и отработки схемы.

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

Подробное фото рабочей платы контроллера. Тут же можно посмотреть какие перемычки нужно паять для нормальной работы платы. Диод тоже нужно паять. Подойдёт любой Д9, Д311, КД521,522, 1N4148 и т.п. Конденсатор C12 можно не устанавливать вообще.
Подробное фото рабочей платы контроллера. Тут же можно посмотреть какие перемычки нужно паять для нормальной работы платы. Диод тоже нужно паять. Подойдёт любой Д9, Д311, КД521,522, 1N4148 и т.п. Конденсатор C12 можно не устанавливать вообще.
Подробное фото рабочей платы контроллера. Тут же можно посмотреть какие перемычки нужно паять для нормальной работы платы. Диод тоже нужно паять. Подойдёт любой Д9, Д311, КД521,522, 1N4148 и т.п. Конденсатор C12 можно не устанавливать вообще.
Подробное фото рабочей платы контроллера. Тут же можно посмотреть какие перемычки нужно паять для нормальной работы платы. Диод тоже нужно паять. Подойдёт любой Д9, Д311, КД521,522, 1N4148 и т.п. Конденсатор C12 можно не устанавливать вообще.
Подробное фото рабочей платы контроллера. Тут же можно посмотреть какие перемычки нужно паять для нормальной работы платы. Диод тоже нужно паять. Подойдёт любой Д9, Д311, КД521,522, 1N4148 и т.п. Конденсатор C12 можно не устанавливать вообще.

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

В качестве ROM-диска может использоваться ПЗУ объёмом от 128К до 1024КБ включительно27c010 (128КБ), 27c020 (256К), 27c040 (512К), 27c801 (1024К), либо микросхема FLASH памяти объёмом от 128КБ до 512КБ включительноВ корпусе DIP-32, к сожалению, нет FLASH памяти объёмом 1024КБ, максимум 512КБ. Если ROM-диск не нужен, ПЗУ (FLASH) можно не ставить - его наличие никак не влияет на работоспособность контроллера.

К сожалению из-за досадной ошибки в контроллере будет нормально работать только FLASH память (при этом перемычку JP6 нужно ставить в позицию ROM - тоже ошибка в шелкографии). Если нужно использовать микросхемы ПЗУ, придётся резать две дорожки и паять два провода так, как показано на фотографии:

Доработка контроллера для использования ПЗУ в качестве ROM-диска. Красными кружками отмечены места разреза проводников.
Доработка контроллера для использования ПЗУ в качестве ROM-диска. Красными кружками отмечены места разреза проводников.
Доработка контроллера для использования ПЗУ в качестве ROM-диска. Красными кружками отмечены места разреза проводников.

Помимо порезанных дорожек при использовании УФ ПЗУ перемычку JP6 нужно ставить в положение "FLASH".

Прошивки для ROM-диска можно скачать здесь.

Назначение перемычек и разъёмов контроллера

JP1 - DOS/MENU - выбор режима работы по сбросу/включению питания. Перемычка установлена - старт в BASIC48/MENU-128. Перемычка убрана - старт в TR-DOS.

JP2 - 128/48K - выбор режима работы при старте в BASIC. Перемычка установлена - старт в MENU-128. Перемычка убрана - старт в BASIC-48. Также перемычку нужно убирать, если в "Байте" память не расширена до 128К.

JP3 - ROM DISK - Сюда подключается кнопка, по которой вызывается обработчик ROM-диска.

JP4 - Magic - Сюда подключается кнопка Magic.

JP5 - AY-OUT - Выход звука с музыкального сопроцессора.

JP6 - FLASH/ROM - Выбор типа используемого в качестве ROM-диска носителя информации (FLASH или УФ стираемое ПЗУ). В тестовой версии контроллера из-за ошибок в шелкографии указано неверное положение перемычки + требуется доработка схемы для использования УФ ПЗУ.

SJ1 - Это контактные площадки на плате рядом с системным разъёмом. Они должны быть замкнуты между собой!


BDI v2.0

После сборки и наладки первой версии платы контроллера с учётом обнаруженных ошибок и замечаний была сделана вторая версия платы:

Собранная плата контроллера v2.0
Собранная плата контроллера v2.0
Собранная плата контроллера v2.0
Собранная плата контроллера v2.0
Собранная плата контроллера v2.0

Собранная плата контроллера v2.0
Собранная плата контроллера v2.0
Собранная плата контроллера v2.0
Собранная плата контроллера v2.0
Собранная плата контроллера v2.0

Для подключения дисковода потребуется изготовить два кабеля:

Кабели для подключения дисковода к ″Байту″
Кабели для подключения дисковода к ″Байту″
Кабели для подключения дисковода к ″Байту″

Мной была собрана одна плата контроллера. Если все компектующие исправны, и не было ошибок при монтаже, контроллер работает сразу же и не требует какой-либо наладки.

Описание перемычек и разъёмов контроллера

JP1 - DOS/BASIC - выбор режима работы по сбросу компьютера. Перемычка установлена - старт в TR-DOS. Перемычка убрана - старт в Mr.Gluk Reset Service/BASIC/MENU-128.

JP2 - 128/48K - выбор режима работы при старте в BASIC. Перемычка установлена - старт в MENU-128. Перемычка убрана - старт в BASIC-48. Также перемычку нужно убирать, если в "Байте" память не расширена до 128К.

JP4 - Mr.Gluk - Выбор режима сброса в Mr.Gluk Reset Service. Перемычка установлена - старт при сбросе в Mr.Gluk Reset Service. Перемычка убрана - старт в BASIC/MENU-128.

Общая логика при старте такова: высший приоритет имеет перемычка JP1 (DOS/BASIC). Если стартуем в TR-DOS (перемычка установлена), то всё равно в каких положениях установлены перемычки JP2 и JP4. Если же стартуем в BASIC (перемычка JP1 убрана), то перемычками JP2 и JP4 выбирается в какой именно BASIC нужно стартовать:

Куда нужно делать сброс JP1 JP2 JP4
TR-DOS установлена всё равно всё равно
BASIC-48 нет нет нет
MENU-128 нет установлена нет
Mr.Gluk Reset Service нет установлена установлена

При включении питания вне зависимости от положения перемычек JP1,JP2,JP4 контроллер сделает старт в TR-DOS. Это сделано для того, чтобы "заглушить" музыкальный сопроцессор ВИ53 (в ПЗУ TR-DOS введена процедура глушения ВИ53).

JP3 - ROM/FLASH - Выбор типа используемого в качестве ROM-диска носителя информации (FLASH или UV EPROM). Для UV EPROM установить две перемычки на контакты 1-2 и 3-4. Для Flash установить две перемычки на контакты 2-3 и 4-5.

SB1 - Magic Button - кнопка Magic.

SB2 - ROM-disk - кнопка для вызова меню ROM-disk.

XP1 - Интерфейсный разъём (BHR-34G) для дисковода.

XP2 - Разъём (BHR-10G) для подключения питания дисковода.

XS1 - Системный разъём (СНП59-96Р-20-2-В) для подключения к "Байту". Устанавливается с обратной стороны платы! Можно посмотреть по фотографиям как его правильно паять.

XS2 - Этот разъём не устанавливается (задействован под потенциальное расширение функционала платы).

XS3 - AY-OUTPUT - Выход звука с музыкального сопроцессора на обычный 3,5mm Jack.

Используемые микросхемы

DD10 может быть как серии КР1533, так и 155-й серии. Можно использовать ЛН2, ЛН3, ЛН5.

Для остальных микросхем мелкой логики крайне желательно использовать серию КР1533 (74ALS).

В качестве ROM-диска (DD31) может использоваться ПЗУ объёмом от 128К до 1024КБ включительно27c010 (128КБ), 27c020 (256К), 27c040 (512К), 27c801 (1024К), либо микросхема FLASH памяти объёмом от 128КБ до 512КБ включительноВ корпусе DIP-32, к сожалению, нет микросхем FLASH памяти объёмом 1024КБ, максимум 512КБ. Тип используемой микросхемы выбирается перемычками JP3. Если ROM-диск не нужен, ПЗУ (FLASH) можно не ставить - его наличие никак не влияет на работоспособность контроллера.

Возможные проблемы при сборке и порядок сборки

Ещё раз обращаю внимание на способ установки системного разъёма XS1 - он паяется с обратной стороны платы! Если не планируется использование корпуса, то разъём можно паять "впритык" к плате (можно сначала просто вставить разъём в плату (без пайки), всю эту конструкцию вставить в системный разъём "Байта" и прикинуть, чтобы корпус компьютера не задевал за плату контроллера). Если же для контроллера будет изготавливаться корпус, то про установку разъёма читайте чуть ниже по тексту раздела.

Первое включение контроллера делайте без установленной микросхемы DD25 (КР1818ВГ93). Сначала удостоверьтесь, что на ВГ93 приходят оба питающих напряжения +5В (измерять между 20-м и 21-м выводами микросхемы) и +12В (измерять между 20-м и 40-м выводами микросхемы). Если напряжение +12В нет на микросхеме, возможно неправильно впаяны транзисторы VT1,VT2, или они неисправны.

Как я уже ранее говорил, если все компектующие исправны, и не было ошибок при монтаже, контроллер работает сразу же и не требует какой-либо наладки. Но (в теории) возможно придётся подобрать ёмкость конденсатора C11 (470 пФ), если будет нестабильно работать вход в TR-DOS. На практике у меня такого не было, но мало ли что...

Корпус для контроллера v2.0

Для этой версии контроллера я разработал корпус для распечатки на 3D-принтере (свой вариант я печатал из PLA-пластика).

Корпус для контроллера v2.0
Корпус для контроллера v2.0
Корпус для контроллера v2.0

Вместе с компьютером корпус выглядит следующим образом:

Корпус для контроллера v2.0

Корпус для контроллера v2.0

Корпус состоит из трёх частей - верхняя крышка, нижняя крышка и лицевая панель.

Схема сборки корпуса

Разъём XS1 обязательно нужно выставить по высоте 10 мм над платой! Для этого используются предварительно напечатанные стойки под разъём:

Установка разъёма XS1

Т.е. сначала выставляем разъём на стойки, для надёжности стягиваем эту конструкцию при помощи двух винтов М2,5 с гайками, и только потом паяем выводы разъёма.

В верхней и нижней крышках потребуется нарезать резьбу М2,5 в следующих местах:

Места для нарезания резьбы М2,5

Места для нарезания резьбы М2,5

Будьте внимательны при нарезании резьбы в глухих отверстиях! Если пережать метчик, и он "упрётся" в крышку, можно испортить всю резьбу.

Для сборки корпуса потребуются винты М2,5 с круглой (ГОСТ 17473) или цилиндрической (ГОСТ 1491) головкой трёх типоразмеров - М2,5х10 (можно длиной 8 мм) (4 шт), М2,5х16 (4 шт) и М2,5х18 (2 шт):

Требуемый крепёж для сборки корпуса
Требуемый крепёж для сборки корпуса
Требуемый крепёж для сборки корпуса

Кнопки SB1 и SB2 я использовал с длиной выступающей пластиковой части толкателя 6 мм. Вроде покупал тактовые кнопки типа KLS7-TS6606-9,5 (на 100% не уверен). Но длина самой пластиковой части кнопки у меня 6 мм, под неё я делал колпачки для кнопок.

Скачать архив с деталями корпуса можно в конце раздела.


BDI v3.0

Сразу же анонсирую следующую (надеюсь, что окончательную) версию контроллера. Что будет сделано:

- уменьшены габариты платы;

- в качестве мелкой логики будут использованы микросхемы в корпусах SOIC;

- 4-слойная печатная плата.

- если всё получится с закупкой комплектующих, попробую сделать некоторе количество конструкторов для сборки, включая корпус.

Доработка "Байта" для работы схемы расширения памяти до 128КБ в контроллере дисковода

Схема расширения ОЗУ "Байта" до 128К сделана такой же, как в контроллере BZ-128.

1. Если в качестве DD51-DD60 установлены "половинки" РУ5 (РУ5Д1, Д2), их нужно выкусить или отпаять, и на их место впаять КР565РУ5А,Б,В,Г;

2. Микросхемы ОЗУ DD43-DD50 (КР565РУ6) выкусить или отпаять, и на их место впаять КР565РУ5А,Б,В,Г. При этом 9-е выводы не впаивать в плату, а объединить между собой и подключить к 9-му выводу DD41 (КП12) на плате "Байта". "Половинка" этой микросхемы не используется, поэтому её можно задействовать для расширения.

3. У DD41 13-й вывод подключаем к +5В, 15-й вывод подключаем к GND;

4. Выпаять и поднять вверх выводы микросхем: 13 и 14 выводы DD56 (КП11), 8-й вывод DD15 (ЛЛ1), 2-й вывод DD21 (ЛИ1);

5. Далее подключаем поднятые выводы согласно таблице:

Напомню, что после этих доработок "Байт" больше не будет работать без подключенного к нему контроллера!

Подключение контроллера к "Байту"

Достаточно вставить контроллер с системный разъём "Байта", и всё готово :)

Встроенное ПЗУ "Байта" отключается, работает ПЗУ, установленое на плате контроллера. Звуковой синтезатор КР580ВИ53 не отключается, и может быть использован! По этой причине в прошивку ПЗУ для контроллера внесены процедуры глушения ВИ53 при старте компьютера.

Звук с AY можно вывести как на внешний усилитель, так и воспользоваться встроенным в "Байт" усилителем звука. Для этого в "Байте" нужно подключить контакты C16 и C17 системного разъёма через два резистора сопротивлением около 2К к резистору R48:

Изменением сопротивления резисторов можно регулировать громкость звука с музыкального сопроцессора.

"Байт" необязательно расширять до 128К - и контроллер и ROM-диск будут отлично работать на обычном 48КБ "Байте". Равно как, если не нужен ROM-диск, можно не паять часть схемы, отвечающую за него (микросхемы DD29-DD32).

ПЗУ с тестом памяти (прошивается в 2КБ ПЗУ типа 2716, КР573РФ2,РФ5) устанавливается на место ПЗУ DD14 так, как показано на фотографии:

Перемычками устанавливаем старт в BASIC при включении компьютера, и тестом можно пользоваться. Узнать более подробно о тестовых ПЗУ и скачать их прошивки можно здесь. Для компьютера "Байт" есть тесты ОЗУ 48К и 128К с возможностью глушения ВИ53 при старте.

Доработка блока питания

Важно: Штатный блок питания компьютера "Байт" может работать только с одним дисководом! Для двух дисководов не хватит тока по линии +12В.

Практика показывает, что иногда при подключении даже одного дисковода к "Байту" не хватает напряжения по линии +12В (оно сильно "просаживается" до 10-11В). Это зависит от конкретного экземпляра блока питания. Поэтому в случае каких-либо глюков при запуске контроллера имеет смысл в первую очередь проверить напряжение на разъёме питания дисковода в режиме, когда дискета вставлена в дисковод и раскручивается (при этом дисковод по линии +12В потребляет максимальный ток). Обычно при недостаточном питающем напряжении +12В дисковод или не раскручивает диск, или "трещит" блоком головок.

На величину падения напряжения также влияет длина кабеля для подключения питания дисковода. Чем больше длина и чем меньше сечение проводов в кабеле, тем больше будет падение напряжения. Обычно длины 25-30 см вполне хватает для нормальной работы дисковода.

Если напряжение ниже нормы 12В±5%, есть два варианта действий:

1) Использовать отдельный блок питания для дисковода;

2) Небольшая доработка штатного блока питания "Байта" с целью немного повысить выходное напряжение +12В.

Для этого нужно чуть-чуть (каждый раз примерно на 10 Ом) увеличивать сопротивление резистора R1 в блоке питания, пока под нагрузкой не получим требуемые 12В:

Доработка блока питания компьютера ″Байт″ для корректировки выходного напряжения +12В

Доработка блока питания компьютера ″Байт″ для корректировки выходного напряжения +12В

Естественно, все эти манипуляции вы проделываете на свой страх и риск. Есть вероятность так сильно увеличить напряжение по линии 12В, что может выйти из строя дисковод!


P.S. Отдельная благодарность Byteman'у за помощь с заказом печатных плат и с комплектацией для сборки контроллера.

Документация по новодельному BDI Prusak Edition для "Байта"

Новодельный BDI Prusak Edition для "Байта":
Описание Mr.Gluk Reset ServiceИз журнала "Радиомир. Ваш компьютер 2005 №9"
Схема и прошивки контроллера BDI Prusak Edition 1.0Герберов для этого варианта контроллера не будет! Плата содержит ошибки и нуждается в доработке.
Схема, герберы для изготовления платы и прошивки контроллера BDI Prusak Edition 2.0В архиве: схемы, герберы, прошивки, монтажный чертёж платы, перечень элементов.
Корпус для контроллера BDI Prusak Edition 2.0Для распечатки на 3D-принтере.
Прошивки для ROM-диска можно скачать здесь.