Порт FE — различия между версиями

Материал из SpeccyWiki
Перейти к: навигация, поиск
(Декодирование)
 
(не показано 18 промежуточных версии 3 участников)
Строка 1: Строка 1:
'''Порт #FE (254)''' - стандартный порт ZX-Spectrum для работы с различными внутренними устройствами.
+
'''Порт #FE (254)''' - стандартный порт [[ZX Spectrum]], предназначен для работы с внутренними и внешними устройствами.
  
*''Порт #FE на чтение'' - в этом случае биты порта распределены следующим образом:
+
== Декодирование ==
**'''D0-D4''' - содержат состояние определённого полуряда клавиатуры ZX Spectrum (подробнее смотрите порты [[#7FFE]], [[#BFFE]], [[#DFFE]], [[#EFFE]], [[#F7FE]], [[#FBFE]], [[#FDFE]] и [[#FEFE]])
+
В оригинальном ZX Spectrum декодирование адресов портов максимально упрощено - определение обращения к порту клавиатуры происходит по сброшенному '''A0'''. Поэтому обращение по любому чётному адресу приведёт к обращению к порту #FE. Однако, во избежание конфликтов с портами периферийных устройств требуется использовать именно указанный адрес.
**'''D6''' - называется ''EAR'' (ухо), содержит состояние магнитофонного входа
+
**'''D5''', '''D7''' - обычно не используются и содержат произвольные данные. В некоторых [[Клоны ZX Spectrum|клонах ZX Spectrum]] эти биты используются, например, для организации последовательного интерфейса.
+
  
*''Порт #FE на запись'' - в этом случае биты портов используются следующим образом:
+
В компьютере [[Timex Sinclair 2068]] декодирование адреса порта клавитуры выполняется полностью.
**'''D0-D2''' - задают состояние цвета [[Бордюр|бордюра]]
+
**'''D3''' - задаёт состояние [[Бипер|бипера]]
+
**'''D4''' - задаёт состояние спикера - порта связи с магнитофоном
+
**'''D5-D7''' - обычно не используются
+
  
[[Категория:Карта портов]]
+
== Назначение битов при чтении из порта ==
 +
*'''D0-D4''' - отображают состояние определённого полуряда клавиатуры ZX Spectrum. Порты полурядов - #7FFE, #BFFE, #DFFE, #EFFE, #F7FE, #FBFE, #FDFE и #FEFE. Возможно одновременное чтение нескольких полурядов при сбросе нескольких бит в старшем байте адреса порта. В контроллере клавиатуры компьютера [[ATM Turbo]] некоторые комбинации старших адресов заняты другими функциями.
 +
*'''D6''' - отображает состояние магнитофонного входа (''EAR'').
 +
*'''D5''', '''D7''' - обычно не используются. В некоторых [[Клоны ZX Spectrum|клонах]] ZX Spectrum эти биты используются для чтения сигналов последовательного и параллельного интерфейса. В компьютерах [[Спарк]] и [[Аллофон]] эти биты отображают состояние дополнительных клавиш.
 +
 
 +
== Назначение битов при записи в порт ==
 +
*'''D0-D2''' - определяют цвет [[Бордюр|бордюра]].
 +
*'''D3''' - управляет состоянием выхода записи на магнитофон ''MIC''.
 +
*'''D4''' - управляет внутренним динамиком ([[Бипер|бипером]]).
 +
*'''D5-D7''' - обычно не используются.
 +
 
 +
== Особенности оригинального ZX Spectrum ==
 +
В оригинальных ZX Spectrum производства [[Sinclair Research]] с [[ULA]] первой версии установка бита '''D4''' также блокирует прохождение сигнала магнитофона с входа ''EAR''. Для последующих версий ULA устанавливает повышенную чувствительность магнитофонного входа ''EAR''.
 +
 
 +
'''D3''' также влияет на уровень напряжения на выходе внутреннего [[ЦАП|ЦАПа]] ULA, подаваемого на внутренний динамик, но имеет меньший весовой коэффициент, чем бит '''D4'''. Теоретически это позволяет получить 4 уровня сигнала, однако в существующих программах эта особенность не использовалась.
 +
 
 +
В отечественных клонах и компьютерах производства [[Amstrad]] эти особенности отсутствуют.
 +
 
 +
[[Категория:Порты]]

Текущая версия на 19:56, 15 мая 2008

Порт #FE (254) - стандартный порт ZX Spectrum, предназначен для работы с внутренними и внешними устройствами.

Декодирование

В оригинальном ZX Spectrum декодирование адресов портов максимально упрощено - определение обращения к порту клавиатуры происходит по сброшенному A0. Поэтому обращение по любому чётному адресу приведёт к обращению к порту #FE. Однако, во избежание конфликтов с портами периферийных устройств требуется использовать именно указанный адрес.

В компьютере Timex Sinclair 2068 декодирование адреса порта клавитуры выполняется полностью.

Назначение битов при чтении из порта

  • D0-D4 - отображают состояние определённого полуряда клавиатуры ZX Spectrum. Порты полурядов - #7FFE, #BFFE, #DFFE, #EFFE, #F7FE, #FBFE, #FDFE и #FEFE. Возможно одновременное чтение нескольких полурядов при сбросе нескольких бит в старшем байте адреса порта. В контроллере клавиатуры компьютера ATM Turbo некоторые комбинации старших адресов заняты другими функциями.
  • D6 - отображает состояние магнитофонного входа (EAR).
  • D5, D7 - обычно не используются. В некоторых клонах ZX Spectrum эти биты используются для чтения сигналов последовательного и параллельного интерфейса. В компьютерах Спарк и Аллофон эти биты отображают состояние дополнительных клавиш.

Назначение битов при записи в порт

  • D0-D2 - определяют цвет бордюра.
  • D3 - управляет состоянием выхода записи на магнитофон MIC.
  • D4 - управляет внутренним динамиком (бипером).
  • D5-D7 - обычно не используются.

Особенности оригинального ZX Spectrum

В оригинальных ZX Spectrum производства Sinclair Research с ULA первой версии установка бита D4 также блокирует прохождение сигнала магнитофона с входа EAR. Для последующих версий ULA устанавливает повышенную чувствительность магнитофонного входа EAR.

D3 также влияет на уровень напряжения на выходе внутреннего ЦАПа ULA, подаваемого на внутренний динамик, но имеет меньший весовой коэффициент, чем бит D4. Теоретически это позволяет получить 4 уровня сигнала, однако в существующих программах эта особенность не использовалась.

В отечественных клонах и компьютерах производства Amstrad эти особенности отсутствуют.