Фирма SINCLAIR, разрабатывая персональный компьютер "СПЕКТРУМ", видимо решила сделать все возможное, чтобы он был максимально дешевым. Это дало возможность в короткие сроки захватить рынок, но при этом значительная доля затрат пользователя была перенесена в сферу программного обеспечения и в широкий спектр периферийных устройств, которые очень часто бывают сравнимы по цене со стоимостью самого компьютера, хотя и значительно повышает его потребительские свойства.
В техническом приложении к ZX-РЕВЮ мы будем давать всевозможные схемотехнические решения, направленные на повышение возможностей Вашего компьютера. Мы часто будем опираться на западные публикации, но по сравнению с ними наша задача сильно осложнена тем, что мы не можем опираться на некоторую стандартную фирменную модель, снабженную стандартным разъемом. Это связано с тем, что в нашей стране парк самодельных Синклер-совместимых компьютеров за последние два года чрезвычайно вырос и давно обошел количество фирменных машин, имеющихся на руках у населения.
В центральных регионах страны наибольшее распространение получили варианты "Московский", "Ленинградский", "Балтика", "128K", "Пентагон", "Дубна" и др. варианты. В восточных регионах распространен "Новосибирский", а в западных - "Львовский" и "Минский" варианты, все варианты перечислить невозможно.
В одних случаях вариации достаточно сильно отличаются друг от друга, но есть немало и таких, которые получили новые названия от своих "авторов" только потому, что он перерисовал принципиальную схему в другом формате или, скажем, заменил какие-то микросхемы на те, которые выпускаются на родном предприятии.
При таком огромном количестве разновидностей моделей мы не в состоянии охватить их все, но надеемся на вашу помощь. Обобщение этих материалов позволит нам в наших разработках наилучшим образом давать рекомендации, универсальные для большинства пользователей.
В первом выпуске "технического приложения" мы предлагаем вашему вниманию обзор архитектуры памяти компьютера и описание некоторых возможностей ее расширения.
Микропроцессор Z-80, как известно, может обслуживать адресное FFFF пространство размером в 64К. В стандартном компьютере оно распределено следующим образом:
Здесь и далее мы будем давать адреса в шестнадцатеричном коде. В 8000 низших адресах от 0000 до 3FFF располагается ПЗУ компьютера объемом 16К, 7FFF содержащее операционную систему "СПЕКТРУМа". Память в адресах с 4000 до
7FFF выполнена на 8 микросхемах динамической памяти DRAM типа 4116 с 4000 организацией 16К* 1. Советским аналогом является микросхема 565РУ3 или 565РУ6 (то же, но с одним источником питания). Дополнительная память 32К в адресах с 8000 по FFFF представлена восемью микросхемами DRAM 64K*1, у 0000 которых (у всех одинаково) отбракована одна из половин - левая, правая, верхняя или нижняя. Советским аналогом являются "половинки" микросхем 565РУ5 -565РУ5Д1 и 565РУ5Д2.
Что дает использование отдельных полей памяти? Этот вопрос повторяется очень часто, поэтому мы вкратце его осветим.
Контроллер дисплея в фирменном "СПЕКТРУМе" выполнен на одной БИС программируемой логической матрице ULA (Uncomitted Logic Array).
СПРАВКА "ИНФОРКОМа"
Хитрость микросхем типа ULA состоит в том, что фирма-изготовитель выпускает их в незавершенном виде, т.е. выпускает полуфабрикат, который далее поступает на доработку в "секретный" цех, где их доводят персонально под требования заказчика, в данном случае под фирму Sinclair Research Ltd. Сэр Клайв Синклер был вынужден прибегнуть к такому методу защиты своего компьютера наученный горьким опытом со своей предыдущей машиной ZX-81, которая была мгновенно пиратски растиражирована по всей Европе.
Надо сказать, что эта защита свою роль выполнила блестяще. Прошел не один год, пока научились эмулировать эту микросхему с помощью аналогичных конструкций, выполненных на нескольких десятках микросхем.
Подробнее об этом Вы можете прочитать в нашем переводе Яна Скэйлса "Путеводитель по периферии ZX-''Спектрум". (См. информ. листок "ИНФОРКОМ ПРЕДЛАГАЕТ", который получают все зарегистрированные получатели "ZX-РЕВЮ").
Такой же метод защиты Синклер применил и в своем Интерфейсе-1, который выполняет функции контроллера локальной сети, контроллера микродрайва и последовательного порта RS232. ИНФОРКОМ располагает информацией о том, что в г. Свердловске успешно "раскололи" и эмулировали микросхему ULA, на базе которой создан этот интерфейс. Называют и конкретный адрес. Мы пока не можем ни подтвердить ни опровергнуть эту информацию. Готовы опубликовать рекламу авторов в "Рекламном приложении" бесплатно.
В самодельных компьютерах функции ULA выполняет "рассыпуха" из 20-40 микросхем, причем многие варианты самодельного "Спектрума" различаются именно построением контроллера дисплея и количеством микросхем, затраченных на него.
Оперативная память дисплея Спектрума расположена в адресах:
4000 - 57FF память точек экрана,
5800- 5AFF - память атрибутов.
Через каждые 20 мс контроллер дисплея Спектрума аппаратным образом обязан считать информацию из этой области для регенерации изображения на экране дисплея, что он и делает 64 раза во время длительности каждой строки - 32 раза считывает по 8 точек строки, состоящей из 256 точек и чередует это с 32-кратным считыванием атрибутов знакомест, в состав которых входит данная строка. Понятно, что во время этих считываний микропроцессор не может обращаться к микросхемам памяти, в которых расположена память дисплея. В фирменной машине этот конфликт решен так, что если на момент аппаратной регенерации изображения на экране дисплея процессор, выполняя программу, обратится к этим микросхемам, то на него аппаратно перестают подаваться тактовые импульсы. Это, конечно, замедляет выполнение программы, но не очень сильно, т.к. во-первых, не замедляется работа с "верхними" 32K памяти, которые физически выполнены на других микросхемах, во-вторых, процессор "свободно" работает с "нижними" 16К -обращаясь к ПЗУ "Спектрума" и, в-третьих, он имеет возможность работать даже и с экранной областью памяти, так как регенерация изображения происходит неравномерно, что показано на диаграмме.
Обратный ход по кадрам
a b
Обратный ход по строкам
a b
Работа процессора приостанавливается только при одновременном обращении в моменты а) и b), когда а) - происходит считывание в буфер байта точек экрана, b) -считывается байт атрибутов знакомест. Все остальное время - во время обратного хода по кадрам, по строкам, во время вывода бордюра в верхней, нижней, левой и правой частях экрана, а также внутри основной рамки изображения в моменты с), процессор работает без ограничений.
Эти вышеперечисленные во-первых. Во-вторых и в-третьих и объясняют довольно высокую скорость работы графики, хорошее звуковое сопровождение и другие прелести "Спектрума".
Из самодельных аналогов наиболее полно копируют идеологию и архитектуру оригинального "Спектрума" те, что используют раздельную память, например, "Московский вариант". В вариантах с общим полем памяти используются микросхемы 64К*1, нижние 16К которых как бы "затеняются" ПЗУ, использование общего поля памяти сокращает общее количество микросхем на 13-15 корпусов, уменьшает потребление компьютера, его размеры, т.е. обладает несомненными достоинствами. Сложность пожалуй лишь в том, что для сохранения прежней скорости работы программ приходится повышать частоту обращения к памяти, что повышает требования к быстродействию микросхем памяти их согласованию с другими микросхемами и т.п. Процессор в таких вариантах схем приостанавливается или остановкой тактов или с помощью сигнала WAIT.
Следует также отметить, что оригинальный "Sinclair 128+" тоже выполнен по схеме с общим полем памяти, и в первые годы после его появления на рынке пользователи часто отмечали некоторую несовместимость с ним программ, написанных ранее для "Spectrum 16K" и "Spectrum 128K", но в программах, написанных позже, программисты видимо учли архитектуру 128-го и поэтому с несовместимостью программ практически сталкиваться не приходится.
Теперь рассмотрим некоторые возможности изменений и дополнений в устройстве памяти Спектрума.
Нужно отметить, что всякие изменения и дополнения в архитектуре не могут быть учтены фирменным программным обеспечением (исключение составляет расширение памяти до 128К, выполненное по тому же принципу адресации, что и в оригинале) и могут представлять для Вас интерес в том случае, если Вы готовы отражать эту новую архитектуру и в программах.
Один из способов расширения памяти - это введение страничной адресации. Таким способом можно увеличить память до очень значительной величины. Например, если использовать хотя бы один порт ввода/вывода, то записывая в него байт данных, уже можно адресовать 256 страниц, дешифрируя этот байт данных.
Для управления включением страниц можно использовать сигнал CAS - сигнал выборки, приходящий на 15-ый вывод 6-ми микросхем памяти. Все остальные микросхемы памяти соединяются параллельно основной памяти, за исключением только сигнала CAS. Работать в данный момент будет та страница, до которой доходит сигнал CAS, прохождением которого управляет дешифратор адреса страницы.
На схеме 1 показано, как к основной памяти 32K (для компьютеров с раздельными полями памяти (КРППП)) можно присоединить 15 страниц по 32K каждая.
СХЕМА 1.
Разумеется, если присоединять так много микросхем, то нужно буферизировать все шины, т.е. эта схема дана как пример одного из подходов к расширению памяти. На схеме 2 показано конкретно, как увеличить память на 32K для фирменного "SP" или для КРПП. Для этого надо "половинки" микросхем заменить на целые 64К*1.
Для получения старшего адреса динамической памяти DRAM7 на один вход мультиплексора подается А14, а другой, в зависимости от того, какая из половинок используется, соединен с землей или плюсом источника питания. Вот на него и нужно подать выход триггера, который является портом ввода/вывода с адресом 7FFD. Адрес Вы можете выбрать по своему усмотрению, изменив соответственно дешифрацию. Пунктиром обведена часть схемы компьютера.
Конденсатор обеспечивает начальную установку банка 0.
Переключение банка данных происходит по команде из Бейсика OUT 32765,X, где X -любое число от 0 до 255. При этом включение дополнительных 32К можно контролировать по светодиоду. Обратное переключение по команде IN 32765,X.
В машинных кодах нужно выполнить цепочку команд
LD ВС, 7FFD OUT(0^
Перед заменой банка памяти необходимо перенести стек вниз командой CLEAR 32767, иначе после замены нарушится нормальная работа процессора.
Для компьютеров с общим полем памяти, у которых нижние 16К "затеняются" ПЗУ было бы интересно иметь возможность пользоваться этими 16К с 0000 по 3FFF. Например, можно было бы скопировать в эту область памяти ПЗУ и пользоваться ею при отключенном ПЗУ. Это позволило бы вносить в ПЗУ всевозможные изменения. Например, уменьшить некоторые константы в подпрограммах ввода/вывода данных на магнитофон, что позволило бы, при хорошем качестве магнитофона и ленты, хранить данные с большой плотностью и быстрее выгружать и загружать их, или можно было бы оперативно изменять шрифты, хранящиеся в ПЗУ, загружать русский шрифт, использовать свободные 1170 байт ПЗУ для хранения нужных подпрограмм, а также проводить работу по усовершенствованию самой операционной системы Спектрума или интерпретатора Бейсика.
Для решения этой задачи можно порекомендовать следующий подход, необходимо отыскать на схеме сигнал ROMCS (RDROM) т.е. сигнал, осуществляющий выбор микросхемы или микросхем (если ПЗУ выполнено не на одной микросхеме).
Этот сигнал обычно формируется из сигналов А14, А15, RD, MREQ. Когда эти сигналы в логическом нуле - выбрано ПЗУ. ROMCS (RDROM) обычно приводит на 20-ый или 22-ой вывод микросхемы ПЗУ.
Найдя схему формирования сигнала ROMCS (RDROM), нужно осуществить в ней доработки для перехвата сигнала А15. Например, в схеме "Ленинградский вариант" сигнал RDROM формируется так, как показано на схеме 3.
Видно, что когда не выбрано ПЗУ, то выбирается ОЗУ, поэтому, если перехватить сигнал А15, то при любом адресе памяти выбираться будет ОЗУ, в том числе и та область, которая расположена "под ПЗУ", перехват можно осуществить следующим образом.
СХЕМА 2.
d 10.3
CSRAM
.RDRAM
СХЕМА 3.
d 10.3
RD _
MREQ—_
RDRAM
d 10.4
A14 —
A15 12
СХЕМА 4.
Сигнал на блокировку приходит со схемы 2. Это тот же выход триггера, что идет на мультиплексор для выбора дополнительного блока памяти.
В "Новосибирском варианте" перехват можно осуществить на входе в PLM 556РТ1 -DD10, вывод 9.
В варианте "Балтика" это вывод 3 микросхемы D34, и т. д.
В заключение приведем конкретную схему расширения памяти "Ленинградского варианта" Спектрума до 128 К, программно совместимую с фирменным "128+".
1. Сигнал CHSCR подключить к 13 D17, предварительно отключив его от "земли".
2. Сигнал A14(ROM) подключить к 27 ножке ПЗУ 27256, установленной на место микросхемы D29. Это ПЗУ должно содержать в себе и "старое" и "новое" ПЗУ, в отличие от ПЗУ 27128 "Спектрума 48".
3. Сигналы А14' и А15' подключаются к 10 и 13 выводам D16, которые предварительно надо отключить от адресных линий A14 и А15.
4. Сигнал CAS0 подключается к 15-ым выводам микросхем ОЗУ, установленным на плате, от которых предварительно отключается сигнал CAS.
5. Сигнал CAS1 подключается к 15-ым выводам второй линейки микросхем ОЗУ, напаянных на микросхемы ОЗУ, установленные в плате.
Карта прошивки микросхемы DD2 556РТ4 (с) 1990 "Сделай сам" & MOA
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
00 |
C |
D |
E |
F |
C |
D |
E |
F |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
10 |
A |
A |
A |
A |
A |
A |
A |
A |
8 |
9 |
A |
B |
4 |
5 |
6 |
7 |
20 |
4 |
5 |
6 |
7 |
4 |
5 |
5 |
7 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
30 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
4 |
5 |
6 |
7 |
4 |
5 |
6 |
7 |
40 |
C |
D |
E |
F |
C |
D |
E |
F |
D |
D |
D |
D |
D |
D |
D |
D |
50 |
E |
E |
E |
E |
E |
E |
E |
E |
C |
D |
E |
F |
C |
D |
E |
F |
60 |
C |
D |
F |
F |
C |
D |
E |
F |
D |
D |
D |
D |
D |
D |
D |
D |
70 |
E |
E |
E |
E |
E |
E |
E |
E |
C |
D |
E |
F |
C |
D |
E |
F |
80 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
90 |
A |
A |
A |
A |
A |
A |
A |
A |
B |
B |
B |
B |
B |
B |
B |
B |
A0 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
B0 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
7 |
7 |
7 |
7 |
7 |
7 |
7 |
7 |
C0 |
C |
D |
E |
F |
C |
D |
E |
F |
D |
D |
D |
D |
D |
D |
D |
D |
D0 |
E |
E |
E |
E |
E |
E |
E |
E |
C |
D |
E |
F |
C |
B |
E |
F |
E0 |
C |
D |
E |
F |
C |
D |
E |
F |
D |
D |
D |
D |
D |
D |
D |
D |
F0 |
E |
E |
E |
E |
E |
E |
E |
E |
C |
D |
E |
F |
C |
D |
E |
F |
DD 2
CHSCR A14'
A14(ROM) A15< H1
CAS1
RESETO
15
10
DD4.1 DD3.3
555TM9 556 PT4 555ЛЕ1 555 ЛА3
СХЕМА 5.
НТК "ПЛЮС" надеется, что приведенная в этом разделе информация окажется полезной для тех, кто хочет глубже разобраться с работой своего домашнего персонального компьютера. Мы приносим извинения за то, что не имеем возможности подробно осветить все имеющиеся в стране модификации "Спектрума", но их слишком много. Наша задача -дать основные подходы, чтобы Вам было проще далее разобраться самостоятельно.
Те, кто работают с фирменными "Spectrum+128", "Spectrum+2" и "Spectrum+3", знают, что расширенная память - не единственное достоинство этих машин. Они располагают еще и трехканальным звуковым процессором, с помощью которого воспроизведение музыки имеет совершенно новое качество. В ближайших выпусках ZX-РЕВЮ мы прольем свет и на этот и на многие другие вопросы.
Если Вы, уважаемый читатель, уже имеете некоторый опыт работы со "СПЕКТРУМом", и всерьез подумываете над тем, чтобы решительно повысить его технические возможности, то в поиске возможных путей вам поможет научно-технический кооператив "ПЛЮС".
НТК "ПЛЮС" располагает большим количеством схемотехнических решений, направленных на расширение возможностей "Спектрума", на обеспечение его стыковки с самыми разнообразными периферийными устройствами, а также большим количеством прикладных программ и программ поддержки. Специалисты НТК "ПЛЮС", имеющие более чем пятилетний опыт работы с этим компьютером, занимаются разработкой новых и адаптацией существующих схемных и программных решения, учитывая при этом особенности различных отечественных модификаций компьютера и не забывая о владельцах стандартных (фирменных машин).
Не дублируя те материалы, которые мы даем и будем давать в ZX-РЕВЮ, мы выпускаем наши схемы и программы поддержки в виде учебно-методических разработок, каждая из которых охватывает обширный спектр вопросов. Вы можете подробно ознакомиться с их содержанием и условиями приобретения на стр. 22 "Рекламного приложения к ZX-РЕВЮ".
Желаем Вам больших успехов!
С глубоким уважением!