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.Системный порт. Порт телефонной линии. Порт чтения АЦП. Порт музыкального синтезатора. Порт принтера и ЦАП. Порт атрибутов. Порт клавиатуры. Порт бордюра. |
Похожие статьи:
В этот день... 21 ноября