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

Материал из SpeccyWiki
Перейти к: навигация, поиск
(Новая: '''Порт #7FFD (32765)''' - порт управления конфигурацией для ZX Spectrum 128K. Позволяет управлять расширенной память...)
 
(Назначение битов порта)
 
(не показаны 4 промежуточные версии ещё одного участника)
Строка 1: Строка 1:
'''Порт #7FFD (32765)''' - порт управления конфигурацией для ZX Spectrum 128K. Позволяет управлять расширенной памятью и отображаемой видеостранией. Возможна только запись в порт, чтение из порта будет возвращать различные значения в зависимости от состояния шины данных, как при чтении из любого другого несуществующего порта.
+
'''Порт #7FFD (32765)''' порт управления конфигурацией для [[ZX Spectrum 128K]]. Позволяет управлять расширенной памятью и отображаемой видеостраницей. Возможна только запись в порт, чтение из порта будет возвращать различные значения в зависимости от состояния шины данных, как при чтении из любого другого несуществующего порта.
  
== Назначение битов порта ===
+
== Декодирование ==
 +
На оригинальном ZX Spectrum 128K и многих клонах используется [[упрощённая дешифрация]] адреса порта, по сброшенным разрядам '''A1''' и '''A15'''. Однако, во избежание конфликтов с дополнительной аппаратурой требуется использовать указанный адрес. В частности, использование адреса #FD для управления расширенной памятью во многих программах для [[Pentagon]] привело к проблеме их совместимости с другими отечественными клонами.
 +
 
 +
На [[ZX Spectrum +2A]] и [[ZX Spectrum +3]] при декодировании адреса порта также учитывается '''A14'''.
 +
 
 +
== Назначение битов порта ==
 
*'''D0'''-'''D2''' - номер страницы [[ОЗУ]], подключенной в верхние 16 КБ памяти (с адреса #C000)
 
*'''D0'''-'''D2''' - номер страницы [[ОЗУ]], подключенной в верхние 16 КБ памяти (с адреса #C000)
 
*'''D3''' - выбор отображаемой [[256x192|видеостраницы]]. 0 - страница в банке 5, 1 - в банке 7.
 
*'''D3''' - выбор отображаемой [[256x192|видеостраницы]]. 0 - страница в банке 5, 1 - в банке 7.
 
*'''D4''' - номер страницы [[ПЗУ]]. 0 - [[Sinclair BASIC|BASIC128]], 1 - [[Sinclair BASIC|BASIC48]].
 
*'''D4''' - номер страницы [[ПЗУ]]. 0 - [[Sinclair BASIC|BASIC128]], 1 - [[Sinclair BASIC|BASIC48]].
*'''D5''' - запрещение расширенной памяти. При установке бита управление расширенной памятью будет невозможно до сброса компьютера.
+
*'''D5''' - запрещение расширенной памяти (48K защёлка). При установке бита управление расширенной памятью будет невозможно до сброса компьютера.
  
== Совместимость ==
+
При расширении памяти компьютера [[Pentagon]] до 512K и 1M в выборе номера страницы используются также 6,7,5 биты порта. Расширенная память выключается установкой D2 [[порт EFF7|порта EFF7]], при этом используются страницы 0-7 в зависимости от D0-D2 порта 7FFD. D5 работает как защёлка при установленном D2 порта EFF7 и как старший бит номера страницы в противном случае.
На оригинальном ZX Spectrum 128K и многих клонах используется упрощённая дешифрация адреса порта, по сброшенным разрядам '''A1''' и '''A15'''. Однако, во избежание конфликтов с дополнительной аппаратурой требуется использовать указанный адрес. В частности, использование адреса #FD для управления расширенной памятью во многих программах для [[Pentagon]] привело к проблеме их совместимости с другими отечественными клонами.
+
  
 
[[Категория:Порты]]
 
[[Категория:Порты]]

Текущая версия на 20:05, 31 декабря 2009

Порт #7FFD (32765) — порт управления конфигурацией для ZX Spectrum 128K. Позволяет управлять расширенной памятью и отображаемой видеостраницей. Возможна только запись в порт, чтение из порта будет возвращать различные значения в зависимости от состояния шины данных, как при чтении из любого другого несуществующего порта.

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

На оригинальном ZX Spectrum 128K и многих клонах используется упрощённая дешифрация адреса порта, по сброшенным разрядам A1 и A15. Однако, во избежание конфликтов с дополнительной аппаратурой требуется использовать указанный адрес. В частности, использование адреса #FD для управления расширенной памятью во многих программах для Pentagon привело к проблеме их совместимости с другими отечественными клонами.

На ZX Spectrum +2A и ZX Spectrum +3 при декодировании адреса порта также учитывается A14.

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

  • D0-D2 - номер страницы ОЗУ, подключенной в верхние 16 КБ памяти (с адреса #C000)
  • D3 - выбор отображаемой видеостраницы. 0 - страница в банке 5, 1 - в банке 7.
  • D4 - номер страницы ПЗУ. 0 - BASIC128, 1 - BASIC48.
  • D5 - запрещение расширенной памяти (48K защёлка). При установке бита управление расширенной памятью будет невозможно до сброса компьютера.

При расширении памяти компьютера Pentagon до 512K и 1M в выборе номера страницы используются также 6,7,5 биты порта. Расширенная память выключается установкой D2 порта EFF7, при этом используются страницы 0-7 в зависимости от D0-D2 порта 7FFD. D5 работает как защёлка при установленном D2 порта EFF7 и как старший бит номера страницы в противном случае.