Порт FE
Порт #FE (254) - стандартный порт ZX Spectrum, предназначен для работы с внутренними и внешними устройствами.
Содержание
Декодирование
В оригинальном ZX Spectrum декодирование адресов портов максимально упрощено - обращение по любому чётному адресу приведёт к обращению к порту #FE. Однако, во избежание конфликтов с портами периферийных устройств требуется использовать именно указанный адрес.
Назначение битов при чтении из порта
- 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 эти особенности отсутствуют.