City
#47
19 июня 2000 |
|
Планета шелезяка - обобщенный опыт доработки различных ZX Spectrum.
П Л А Н Е Т А * * * * * * * * * c. c. ccc. ccc. ccc. ccc. cccc. c. c. ccc. c. c. c c. c. c. c. c. c. c. c.c. c. c. c. c. c. cc. c. c. cc. cc. ccc. c. c. cccc. c. c. c. c. c. c. c. c. c. c.c. c. c. c. c. ccc.cc.c. ccc.c. c. ccc. cccc. c. c. c. c. c. c. * * * * * * * * * * * * * The ZX-SPECTRUM 48 & 128 computers Extended devices and user's manual (c) UAЗPRQ/Borisov Serge Основная проблема стоящая перед пользователями ZX-SPECTRUM состоит обычно в доведении своего варианта компьютера 'до кондиции' внедрением различных модификаций в схему для использования с другими устройствами. Большинство схем данного рода , опубликованных во многих радиолюбительских изданиях, предназначались для обособленной работы и многие просто противоречат друг другу в принципах подключения . Это заставляет пользователей много времени тратить на достижение совместимости устройств между собой , к сожалению такие эксперименты часто сопровождаются периодическим 'выгоранием' различных частей компьютерной схемы и периферии, а зачастую и простым отказом от применения схем интефейсов. Автор данных строк постарался обобщить весь опыт полученный им от подобных экспериментов и всей информации которая на данный момент ему известна. Ниже будет приведена информация и схемы как правильно использовать интерфейсные устройства на SPECTRUM и их варианты проверенные и применяемые долгое время на нескольких компьютерах типа "ПЕНТАГОН-128". Этот вариант построения не изменяет программную совместимость на уровне ZX машин по прикладным и игровым программным продуктам как зарубежных, так и отечественных фирм в 48/128К. Стандартное распределение портов в ZX-SPECTRUM любой конфигурации имеет следующий вид (если рассмотреть побитовое распределение): A15 A14 A13 A12 A11 A10 A9 A8 : A7 A6 A5 A4 A3 A2 A1 A0 ──────────────────────────────────────────────────────────────── X X X X X X X X : X X X X X X X X ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ │ <--- #XXFE порт клавиатуры │ │ │ │ │ │ │ │ │ 0 0* 0* │ │ 0 1 0 │ порт #1F │ │#XXFE #FFFD #BFFD KEMPSTON JOYSTIK │ │порт AY-3-8910(12) │ │ Oклав. музыкальный сопроцессор └─ X #7B,#FB 0 ─────┘порт#XXFD │ │ │ порт принтера AY-3-8910(12) 0 0 * 0 * (напр. ZX-LPRINT II-III) │ порт #7FFD переключатель порт #7FFD страниц RAM-DISK (128K) RAM-DISK (128K) Как видно из схемы упрощенная дешифрация системных портов компьютера сильно усложняет подключение достаточного количества внешних устройств. Эти ограничения нетрудно проследить. На приведенной выше схеме указаны биты, которые контролируются дешифраторами подавляющего большинства схем ("Ленинград","Москва", "Пентагон-48,128" и мн. другие). Клавиатура 'забирает' на себя большинство адресов (ровно половину - 32768) , т.к. все четные адреса имеют A0=0, то это непременно подключает порт клавиатуры. Таким же образом, сброс в 0 A7 выбирает KEMPSTON (в "Ленинграде" например все сделано гораздо прощеэтот порт занимает остальные 32768 адресов полной адресации Z80 ,т.е все нечетные адреса). При желании это описание можно продолжить. Следовательно подключение любых внешних устройств следует производить внимательно и при программировании указывать полный адрес порта ( с "1"-ми в неиспользуемых разрядах). В некоторых вариантах компьютеров без переделок при этом естественно не обойтись. Одним из возможных вариантов решения данной проблемы является применене дополнительного дешифратора. Ниже будут указаны и обоснованы способы разделения адресного пространства данной схемы. Для дешифрации желательно использовать младшую половину адресов (A7-A0), т.к. при программировании машинного кода Z80 обращение к таким портам производится проще и быстрее, к тому же ничего не мешает программисту использовать полные команды (напр.'OUT A,(C)') и таким образом дополнить адресное пространство за счет старших адресов. Как видно из рассмотренной выше схемы для контроля можно выделить следующие биты: 7,4,3. При использовании м/с К5SSИД7 есть возможность полностью отдешифрировать все эти биты, к тому же можно использовать еще бит А0 для разрешения дешифрации и таким образом не использовать все четные адреса. Все это необходимо учитывать с целью обеспечения программной совместимости с непеределанными типами компьютеров. Таким образом 8-мь всех возможных комбинаций адресов имеют вид: A7 A6 A5 A4 A3 A2 A1 A0 │Канал│Назначение канала ───────────────────────────────┼─────┼────────────────────────── 0 X X 0 0 X X 1 │ 0 │резерв 1 X X 0 0 X X 1 │ 1 │порт KPS8OBB55 (II) 0 X X 1 0 X X 1 │ 2 │резерв 1 X X 1 0 X X 1 │ 3 │таймер KPS8OВИ5З 0 X X 0 1 X X 1 │ 4 │резерв 1 X X 0 1 X X 1 │ 5 │порт KPS8OBB51 0 X X 1 1 X X 1 │ 6 * │порт KPS8OBB55(I),стандарт 1 X X 1 1 X X 1 │ 7 * │порт AY-3-89XX и для даль- │ │ нейшего расширения ───────────────────────────────┴─────┴────────────────────────── * Отмечены устройства не отключаемые от системной шины буфера ZX продолжение следует ...
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября