|
On-Line
#82
16 мая 1997 |
|
Система - Персональный компьютер АТМ-Тurbo 2+ : Техническое описание и руководство программиста: Spectrum 128.Системный порт. Порт телефонной линии. Порт чтения АЦП. Порт музыкального синтезатора. Порт принтера и ЦАП. Порт атрибутов. Порт клавиатуры. Порт бордюра.

╔══════════════════════════════════════════════════════════════╗
│ СИСТЕМА │
╚══════════════════════════════════════════════════════════════╝
(C) MicroArt
(C) MaxSoft 1995
Персональный компьютер TURBO 2+
Платы версии 7.00-7.10
Техническое описание и руководство программиста.
Структура памяти и портов ввода вывода.
3. SPECTRUM-128 Системный порт
Адрес доступа: #7FFD
Выборка:A15=0,A9=1,A1=0,WR=0
Этот порт используется, в основном, в режиме SPECTRUM-128,
однако в CP/M он нужен для быстрой смены карты памяти
CPM-system<>CPM-users. Разработчики пытались сделать это место
как можно более совместимым с фирменным ZX, однако это не сов-
сем удалось (см. главу "аппаратные ошибки").
D0-PAGE0 \
D1-PAGE1 определяют какая страница впечатана в режиме
D2-PAGE2 / Spectrum-128 c адреса #C000
D3-SCREEN - этот разряд определяет в какой странице будет нахо-
диться экранное озу.
в режиме "SPECTRUM": 0 - 5-я страница (с адреса #4000)
1 - 7-я страница.
в режиме CP/M: 0 - 5-я страница пикселы, 1-я атрибуты
1 - 7-я страница пикселы, 3-я атрибуты
D4-ROM2 - этот сигнал путем переключения диспетчера выбирает
BASIC-128 (1) или BASIC-48 (0). В CP/M переключает
CPM-system (1) или CPM-user (0)
D5-LOCK - записав в этот разряд "1", мы запрещаем дальнейшую ра-
боту с портом #7FFD (это сделано для полной совмести-
мости с SPECTRUM-48).
4. Порт телефонной линии
Адрес доступа: #7FFD
Выборка:A15=0,A9=1,A1=0,RD=0
Порт #7FFD доступен по чтению как флаговый.
D7 - готовность ацп: 1 - ацп готово, 0 - идет преобразование
данных.
D6 - 1 указывает, что HDD закончил выполнение последней команды
(позиционирование,запись и.т.п.)
D5 - в плате версии 7.0 не задействован
D4 - в плате версии 7.0 не задействован
5. Порт чтения ацп
Адрес доступа:#7DFD
Выборка:A15=0,A9=0,A1=0,RD=0
Используется для чтения состояния АЦП. (Данные достоверны
только в состоянии АЦП "готово" (см. выше).
6. Порты музыкального синтезатора
Адрес доступа:#BFFD,#FFFD
Выборка:A15=1,A9=1,A1=0
Используются для программирования музыкального синтезатора
AY-8910(12).
7. Порт принтера и цап.
Адрес доступа:#FB
Выборка:A0=1,A1=1,A2=0
На плате реализован стандартный интерфейс CENTRONIX. Он не
требует никакой предварительной инициализации. По чтению этот
порт копирует состояние сигнала BUSY принтера в BIT 7 аккумуля-
тора.
Стандартный драйвер вывода на принтер символа из регистра C.
OUT_PRN: IN A,(#FB)
RLCA
RET C ;C FLAG=1 возврат (принтер не готов)
LD A,C
OUT (#FB),A ;выводим данные
OUT (#7B),A ;импульс строб
OUT (#FB),A ;сброс строба
RET ;C FLAG=0 байт послан
Необходимо помнить что к этому-же порту подключен цифро-ана-
логовый преобразователь.
8. MISC I/O PORT
Адрес доступа:#FA
Выборка:A0=0,A1=1,A2=0
Стробы IOWR, IORD этого порта выведены на системный разъем
компьютера. С помощью этого порта и порта CENTRONIX к компьюте-
ру можно подключить 256 устройств ввода и 256 устройств вывода
при сохранении полной совместимости с оригиналом. При этом, ад-
рес порта записывается в CENTRONIX по команде OUT (#FB),A, а
данные считываются по команде IN A,(#FA) или записываются по ко-
манде OUT (#FA),A. Шина данных на разъеме буферизирована. Для
сохранения совместимости все новые разработки рекомендуется под-
ключать, используя исключительно этот порт.
9. Порт атрибутов
Адрес доступа:#FF
Выборка:A0=1,A1=1,A2=1,A3=1,A4=1,A5=1,A6=1,A7=1,DOSEN=OFF,RD=0
Этот порт позволяет прочитать текущий, выводимый на экран ат-
рибут.
10. Порт клавиатуры
Адрес доступа:#FE
Выборка:A0=0,A1=1,A2=1,RD=0
Про этот порт следует рассказать подробнее. В стандартном ре-
жиме (без IBM клавиатуры) этот порт имеет следующее назначение.
D0 - KD1\
D1 - KD2 \
D2 - KD3 клавиатурные входы данных
D3 - KD4 /
D4 - KD5/
D5 - Z системный сигнал от ПЛМ, На этом сигнале построена за-
щита от копирования плат. Сигнал активизируется через
определенное количество тактов после прихода прерыва-
ния (точно не помню какое). Программа, подсчитывая это
количество, получает байт, который является ключем рас-
паковки BIOS и BDOS... но в последней версии с 8031 от
этого отказались.
D6 - TIN сигнал чтения с магнитофона.
D7 - не используется
A8 - KA0\
A9 - KA1 \
A10 - KA2 \
A11 - KA3 \ адресные линии клавиатуры
A12 - KA4 /
A13 - KA5 /
A14 - KA6 /
A15 - KA7/
Начиная с версии 7.00, в компьютере появилась мс. 8031, что
кардинально изменило работу порта #FE и дало возможность подклю-
чить IBM XT клавиатуру.
При попытке прочитать содержимое клавиатуры, процессор дает
команду IN A,(#FE), взводится спец. триггер и процессор останав-
ливается сигналом WAIT. При этом в микроконтроллере 8031 генери-
руется прерывание. После необходимых процедур трансляции адрес-
ных линий, микроконтроллер выдает на шину данных процессора сос-
тояние клавиатуры, сигнал WAIT сбрасывается и процессор продол-
жает свою работу.
Наличие 8031 и расширенной клавиатуры (101 клавиша) позволи-
ло упростить опрос клавиатуры в CP/M до простого чтения кода
клавиши, однако, это потребовало введения дополнительных команд
для управления 8031, и поскольку единственно возможный способ
передать данные в 8031, это состояние старшей половины шины ад-
реса Z80 в момент чтения порта #FE, этот способ и используется.
Управляющие последовательности клавиатуры:
_#55_ - указывает, что следующий байт является кодом
команды для клавиатуры. В ответ клавиатура воз-
вращает код #AA - это можно использовать для
проверки наличия 8031.
LD A,#55
IN A,(#FE)
CP #AA
JR NZ,NO_XT
LD A,COMM ;команда (см ниже)
IN A,(#FE)
LD A,ARG1 ;дополнительные параметры (могут отсутствовать)
IN A,(#FE)
LD A,ARG2 ;дополнительные параметры (могут отсутствовать)
IN A,(#FE)
_#00_ - Читает код нажатой клавиши.
XOR A
IN A,(#FE)
;в аккумуляторе код клавиши (список кодов приводится ниже)
_#80_ - читает 1-й байт флагов клавиатуры
LD A,#80
IN A,(#FE)
_#40_ - читает 2-й байт флагов клавиатуры
LD A,#40
IN A,(#FE)
Коды команд (Внимание! Перед записью кода команды необходимо
дать упр. код _#55_ для перевода 8031 в режим ввода команды):
1 получить 1 байт номера версии программы
#41 получить 2 байт номера версии программы
#81 получить 3 байт номера версии программы
#C1 получить 4 байт номера версии программы
7 стереть буфер клавиатуры и все флаги
8 DATA установка режима работы:
bit 0,1 - устанавливается режим работы
0 - эмуляция синклер клавиатуры
1 - чтение кода клавиши (флаги не обрабатываются)
2 - режим CP/M
3 - прямое чтение кода с последовательного порта кла-
виатуры
bit 7 - режим 0-lat 1-rus (только для CP/M)
9 получить содержимое ячейки памяти 1
#49 получить содержимое ячейки памяти 2
#89 получить содержимое ячейки памяти 3
#C9 получить содержимое ячейки памяти 4
#0A переключится в режим ввода русских букв
#0B переключится в режим ввода латинских букв
#0C программная пауза
#0D перезапуск компьютера
#10 получить секунды
#50 получить минуты
#90 получить часы
#11 DATA установить секунды
#51 DATA установить минуты
#91 DATA установить часы
#12 получить число
#52 получить месяц
#92 получить год
#13 DATA установить число
#53 DATA установить месяц
#93 DATA установить год
#14 DATA принудительно устанавливает некоторые сигналы
(установка происходит если соответствующий бит равен 1)
bit 0 = 0
bit 1 = 0
bit 2 = 0
bit 3 DTR
bit 4 RTI
bit 5 = 0
bit 6 = 0
bit 7 = 0
#15 DATA принудительно сбрасывает некоторые сигналы (сброс
происходит, если соответствующий бит равен 1 (см. ком
#14)
#16 прочитать содержимое порта P3
bit 0 -
bit 1 -
bit 2 -
bit 3 -
bit 4 VE1
bit 5 -
bit 6 -
bit 7 -
#17 прочитать состояние RS232
bit 0 CD
bit 1 CTS
bit 2 RI
bit 3 -
bit 4 -
bit 5 -
bit 6 -
bit 7 -
11. порт бордюра
Адрес доступа:#FE
Выборка:A0=0,A1=1,A2=1,WR=0
Этот порт несколько отличается от стандартного SPECTRUM. Де-
ло в том что в CP/M бордюр (как и экран) может иметь любой из
шестнадцати цветов (из палитры 64). Поэтому потребовался допол-
нительный бит цвета, который был заведен на инверсный A3.
D0 - BRD0\
D1 - BRD1 цвет бордюра
D2 - BRD2/
D3 - TAPEOUT Выход на магнитофон
D4 - SOUND Выход на динамик
D5 - не используется
D6 - не используется
D7 - не используется
A3 - BRD3 - 3-й бит цвета (инверсный)
Другие статьи номера:
B.B.S. Hовости - Новая станция - IMI BBS. |
Мозаика - О новой версии Pro Tracker'a (Golden Disk Corp). |
На правах рекламы - Red Limited Drunkards Group представляет: Extrem Tracker v1.32 - новый музыкальный редактор. Inter Mode Player v1.2 - проигрыватель мелодий. |
Реклама - Реклама и объявления ... |
Система - Персональный компьютер АТМ-Тurbo 2+ : Техническое описание и руководство программиста: Spectrum 128.Системный порт. Порт телефонной линии. Порт чтения АЦП. Порт музыкального синтезатора. Порт принтера и ЦАП. Порт атрибутов. Порт клавиатуры. Порт бордюра. |
Похожие статьи:
В этот день... 13 ноября