Interface 1bis для ZX Spectrum |
![]() |
Добавил(а) microsin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Устройство расширения интерфейсов Interface 1bis (IF1bis) [1] предназначено только для ZX Spectrum (модификаций 48, 128, +2, +3). Предоставляется следующий комбинированный функционал: • Локальное хранилище данных размером до 8 гигабайт, поделенное на логические диски по 32 мегабайт. В качестве носителя используется карта micro SD. • Сетевое хранилище (Remote storage) не ограниченного размера, с поддержкой длинных имен файлов, организованное на машине сервера, подключенной через порт USB (full-speed). • Энергонезависимая оперативная память с произвольным доступом (RAM) размером 128 килобайт. Это может использоваться для приложений, которым нужно быстро и часто сохранять данные. • Порт Kempston джойстика. • Порт для подключения мыши PS/2, которая может работать как мышь Kempston или выход джойстика Kempston. Примечание: следующие устройства также поддерживаются операционной системой [7] и будут определяться автоматически, когда они подключаются через коннектор мыши: • Клавиатура PS/2. • Подключение к Ethernet с помощью дополнительного модуля от стороннего производителя на основе микросхемы ENC28J60 [2]. • Максимальная программная совместимость с оригинальным "ZX Interface 1" компании Sinclair Research Ltd. • Улучшенный 'Extended BASIC' с продвинутой поддержкой произвольного доступа к файлам и полной поддержкой файлов эмулятора (.SCR, .TAP and .Z80). Файлы в формате .TZX можно загрузить либо напрямую, если они содержат только стандартные speed-блоки, или с использованием встроенного 'tape player' и кабеля 'EAR'. • Интегрированный браузер игр (Game Browser) и файловый менеджер (File Manager) [5], с управлением через мышь и джойстик. Они позволяют получить доступ к установленной на плате карте SD и к компьютеру PC сервера, подключенному через порт USB. Можно подключить через Интернет до 7 сетевых "станций", которые могут быть компьютерами PC или устройствами "Interface 1bis", а также получить доступ к архиву игр и утилит на сайте Word of Spectrum [3]. Функции навигации включают как быстрый переход на указанную страницу экрана, так и с помощью продвинутого поиска. Когда игра загружена из архива Word of Spectrum, то связанный с ней скриншот, информация и POKE-файлы также скачиваются и связываются с соответствующей игрой. Функции поддержки POKE позволяют выборочное разрешение "тренеров", которые автоматически применяются, когда запускается соответствующая игра. Снапшоты 48k и 128k могут создаваться без прерывания игры, простым нажатием на кнопку интерфейса. Приложение управляет снапшотами прозрачно для пользователя, всегда сохраняя 2 разные копии, чтобы позволить перезапустить игру из последнего "рабочего" состояния, когда произошли какие-то проблемы с игрой. Приложение может выполнить весь диапазон функций по управлению файлами, включая сложные, наподобие перемещения целого дерева каталогов между любыми местами назначения, которые могут быть устройствами "Interface 1bis" или серверами PC, находящимися в любой точке мира. [Аппаратура] Ключевая особенность универсальности интерфейса IF1bis заключается в том, что все операции ввода/вывода выполняет микроконтроллер, который напрямую подключен к системной шине данных ZX Spectrum. Это не только упрощает дизайн проекта в сочетании с рациональным использованием памяти (что потребовало микросхемы энергонезависимой памяти SRAM всего лишь на 32 килобайта), но и добавило значительные преимущества: • Малый размер печатной платы 0.5dm2. У интерфейса IF1bis имеется несколько специальных возможностей, которые не встречаются в подобных устройствах, поскольку не был внесен никакой компромисс в процессе оптимизации соотношения производительность / цена: • Энергонезависимая память SRAM, защищенная настраиваемой, высокоточной микросхемой супервизора напряжения. [1. Спецификации аппаратуры] 1.1 Память - Одна микросхема статического ОЗУ (static RAM) на 32 килобайта, которая сделана энергонезависимой с помощью батареи и настраиваемой схемы супервизора. Эта микросхема поделена на 2 банка по 16 килобайта: Банк 'BASIC ROM' Под управлением программного обеспечения эти банки могут быть отображены на адрес 0x0000 компьютера ZX Spectrum. - Микросхема супервизора напряжения питания запрещает отображение страниц памяти 'BASIC ROM' и 'Shadow ROM', если напряжение питания упадет ниже 4.75V на время более 2 микросекунд. - 'BASIC ROM' и первые 11.5 KB 'Shadow ROM' используются для хранения операционной системы (OpSYs) [7] с защитой от записи, которая управляется программным обеспечением. - Последние 4.5 килобайта 'Shadow ROM' используются как ОЗУ общего назначения (general purpose RAM). 1.2 Система хранения данных - Одна карта microSD, работающая в режиме SPI на тактовой частоте 12 МГц. 1.3 Порты периферийных устройств 1.3.1 Порт джойстика Kempston. 1.3.2 Автоматически конфигурируемый последовательный порт. Может автоматически сконфигурироваться как порт мыши PS/2 / клавиатуры / асинхронный последовательный. 1.3.3 Полноскоростной порт устройства USB 2.0, используемый для подключения компьютера-сервера (на сервере подключение видится как виртуальный USB COM порт). 1.3.4 20 МГц порт SPI с сигналами управления /SEL, /INT и /RST. 1.3.5 Один вспомогательный сигнал управления (auxiliary control line), который доступен на ножевом коннекторе ZX Spectrum (интерфейс расширения ZX_EDGE). 1.4 Управление интерфейсом 1.4.1 Многофункциональная кнопка с отдельным микроконтроллером. Кнопка выполняет 4 разные функции, в зависимости от длительности нажатия и текущего режима: - ON/OFF: включение и выключение интерфейса. Эта функция переводит интерфейс из неактивного состояние в активное, и наоборот. Функция срабатывает, если время нажатия находится в интервале 1.2 .. 2.5 секунды. 1.4.2 Индикационные светодиоды Имеется 6 светодиодов, показывающих состояние интерфейса (control LEDs): LED 'O', показывает состояния ON/OFF. 1.4.3 Выбор разновидности модели ZX Spectrum (ZX Spectrum model selector) Интерфейс снабжен перемычками, предназначенными для корректной разводки сигнала 'ROM disable' ножевого коннектора, что отличается для некоторых моделей ZX Spectrum. 1.4.3.1 Машины типа 'One ROM' (48k, +128, +2): - Перемычки устанавливаются в положение 1-2, 3-4 1.4.3.2 Машины типа 'Two ROMs' (+2A, +2B, +3): - Перемычки устанавливаются в положение 2-3, 4-5 1.5 Коннекторы 1.5.1 Порт USB: разъем Micro USB type B, обозначающий, что это устройство USB, не хост (J5).
1.5.2 Порт PS/2: 6-контактный Mini DIN, мама (J9). Ниже в таблице показана цоколевка коннектора.
1.5.3 Порт джойстика Kempston: 9-выводный D-Sub, папа (J3). Входы интерфейса имеют активное состояние лог. 0, т. е. при подтягивании входа контактами к земле. Ниже в таблице показана цоколевка коннектора.
1.5.4 Порт SPI: 6-выводный папа (J8).Ниже в таблице показана цоколевка коннектора.
1.5.5 Управление SPI: 8-выводный папа (J7).Ниже в таблице показана цоколевка коннектора.
[2. Адресное пространство портов ввода / вывода] Интерфейс использует порты адреса портов ввода вывода (I/O ports): XXX11111.
2.1 Kempston Joystick / Kempston Mouse X: IN #1F / IN #FBDF Назначение битов порта для джойстика Kempston: Бит 0 = /Right Назначение битов порта для координаты X мыши Kemston (Kempston mouse X): Биты 0-7 = координата X 2.2 Состояние периферии / кнопки Kempston Mouse: IN #5F / IN #FADF Назначение битов состояния периферии (Peripheral status): Бит 0 = последовательное устройство не подключено Назначение битов для кнопок мыши Kempston: Бит 0 = правая кнопка не нажата 2.3 Данные периферийного устройства (Peripheral Data): IN #9F / OUT #9F 2.4 Kempston Mouse Y / Keyboard: IN #DF / IN #FFDF Назначение бит для координаты Y мыши Kempston (Kempston Mouse Y): Биты 0-7 = координата Y Назначение бит для клавиатуры: Биты 0-5 = номер нажатой кнопки (0..38), ни одна кнопка не нажата (39) 2.5 Управление страницами памяти (Memory paging): ROM / RAM: OUT #7F / OUT #FF Биты 0-7 не используются. Переключение страниц осуществляется простым обращением к порту на вывод. 2.6 Управление страницами памяти (Memory paging): 'Basic ROM' / 'Shadow ROM': OUT #3F / OUT #BF Эта функция работает, когда задействована микросхема RAM для подключения страниц памяти интерфейса, заменяющих встроенное ROM ZX Spectrum. Биты 0-7 не используются. Переключение страниц осуществляется простым обращением к порту на вывод. 2.7 Управление страницами памяти (Memory paging): запрет/разрешение записи RAM: OUT #3F / OUT #BF Эта функция работает, когда задействована микросхема RAM для подключения страниц памяти интерфейса, заменяющих встроенное ROM ZX Spectrum. Биты 0-7 не используются. Переключение осуществляется простым обращением к порту на вывод. 2.8 Вспомогательный сигнал (Auxiliary line): Set / Reset: IN #3F / IN #BF Биты 0-7 не используются. Переключение осуществляется простым обращением к порту на вывод. Вспомогательный сигнал предназначен для машин '80 KB Spectrum', где 64-килобитные микросхемы DRAM применены для "верхнего" ОЗУ (upper RAM). Разводится на перемычку выбора типа DRAM с заменой перемычки 'H' на верхний нагрузочный резистор (pull-up), и соединение с общим контактом 'L'-'H', иначе на не используемый контакт 28B ножевого коннектора. Это позволяет менять привязку двух разных банков DRAM на 32 килобайта каждый к адресу 0x8000. Вспомогательный сигнал управляется выходом с открытым стоком, и он подключен к контакту 28B ножевого коннектора для машин 'One ROM', и соответственно к контакту 15A ножевого коннектора для машин 'Two ROMs' моделей ZX Spectrum. 2.9 Spectrum 128k ports OUT #7FFD / OUT #FFFD / OUT #1FFD Последние значения, записанные в порты 0x7FFD, 0xFFFD и 0x1FFD, сохраняются микроконтроллером, и могут быть запрошены командой CAT 0;"r", которая также сбросит сохраненные значения в 0xFF. Эта команда вернет 4 байта, смысл которых следующий:
[3. Состояния интерфейса] 3.1 Состояние 'OFF' - Состояние 'OFF' индицируется выключенным светодиодом 'O'. 3.2 Состояние 'ON' - Состояние 'ON' индицируется свечением светодиода 'O', когда выключены оба светодиода 'B' и 'S'. 3.3 Состояние 'Active' - Активное состояние интерфейса ('Active') показывается свечением либо светодиода 'B', либо светодиода 'S'. [Операционная система] Название интерфейса "Interface 1bis" подсказывает, что он на 100% программно (обратно) совместим с оригинальным интерфейсом "ZX Interface 1" компании Sinclair Research в контексте операций хранения "Microdrive" и по отношению к обмену данными через RS232 и ZX Network, как на уровне команд BASIC, так на уровне команд перехвата кода (вызовы API через RANDOMIZE USR), но все же не в режиме 128k BASIC. Все операции с файлами могут эквивалентно выполняться на любой из двух реализованных файловых системах (либо на локальном хранилище, либо через сеть IP): Основное улучшение расширенного БЕЙСИКА (extended BASIC) IF1bis по отношению к "ZX Interface 1": • Лимит размера файла 16 мегабайт. Операционная система интерфейса IF1bis [7] имеет очень долгую историю разработки, которая началась от 1994 года, и с того времени продолжает улучшаться и адаптироваться под новые конфигурации имеющейся аппаратуры. Это зрелый, стабильный продукт, удовлетворяющий практическим требованиям с непревзойденной функциональностью, скоростью и простотой использования. [Ссылки] 1. 'Interface 1bis' for the Sinclair ZX Spectrum site:sites.google.com. |