связи обратил внимание на такой интересный и весьма раритетный картридж,
как Keyboard Transformer.

Конечно, хотелось бы иметь в дендике ПЗУ загрузчика, как в "Специалисте",
но таких аналогов для приставки я не нашел. А Keyboard Transformer card
содержит руссифицированный Family BASIC v2.1a (оригинал - с иероглифами)
и аппаратные средства, позволяющие подключить прямо к картриджу ввод-
вывод с магнитофона и обычную ХТ-клавиатуру (именно ХТ-клавиатуру).
Авторы этой разработки - A.Golomedov and I.Nesterov (Unreal Word Group)
из Новосибирска. Разработка, конечно же давняя - 1994 года. Я поискал
авторов в инете и, как мне показалось, нашел: http://ableo.ru/golomedov.ru
Написал им письмо с просьбой поделиться схемами картриджа Keyboard
Transformer, но ответа так и не получил...
Пришлось делать реверсивную разработку схемы Keyboard Transformer card
самому - и в этой связи меня очень выручил CaH4e3, сделав весьма хорошие
фотки обеих сторон платы картриджа.

Это они - в уменьшенном виде со следами моих реверсивных изысканий. Честно
говоря, в первый раз делаю реверс по фотографиям, когда нет возможности
протыкать искомую дорожку тестером...



В итоге получилось вот такая схема этой самой Keyboard Transformer card:


Посмотреть схему целиком
Схемотехника у авторов местами не совсем корректна на мой взгляд, что я
склонен объяснить стремлением ужаться в малый объём картриджа.
Но мне не совсем понравилось, что на /IRQ, имеющий подтягивющий резистор
в схеме приставки, работает обычный выход, а на шину данных по линии D4
работает выход ОК без подтяжки к чему либо...
Возможно, с этим связано и кривое программирование, о котором я здесь вопрос задавал.
На схеме расфасовка памяти указана, поэтому скажу несколько слов лишь о том,
как организованы порты ввода-вывода:
$5000 - сдвиговый регистр, получающий скан-код клавиатуры аппаратно в
последовательном коде, и содержащий при чтении младший его полубайт.
$5001 - сдвиговый регистр, получающий скан-код клавиатуры аппаратно в
последовательном коде, и содержащий при чтении старший его полубайт.
Полубайты читаются через мультиплексор, управляемый линией А0.
По линии D4 из порта $5000 читается бит с магнитофона.
$5002 - сброс сдвигового регистра ввода с клавиатуры и разрешение ввода
нового сканкода клавиатуры.
$5004 - вывод бита 1 на линию записи на магнитофон.
$5000 - вывод бита 0 на линию записи на магнитофон.
Ко всем портам обращаются ТОЛЬКО НА ЧТЕНИЕ: LDA $500x
К порту $5003 обращения нет в виду упрощенной схемотехники, поскольку это
будет одновременно чтение старшего полубайта скан-кода и сброс сдвигового
регистра ввода с клавиатуры.
Если кому-либо эта штука интересна для повторения "as is", то вот её прошивки:
KBD_BASIC_CHR.BIN - ПЗУ видеопроцесора;
KBD_BASIC_ROM.BIN - ПЗУ Unreal Word Group BASIC.
PS. Если я где-то и ошибся, то лишь от неумения смотреть сквозь корпуса микросхем
на фотографиях... Sorry... А схемы подключения клавиатур обсуждали здесь.

PPS. SPECIAL THANKS TO CaH4e3!!!
.