АВТОРСКАЯ РАЗРАБОТКА
ТЕНЕВОЙ СЕРВИС-МОНИТОР И КОНТРОЛЛЕР ЖЕСТКОГО ДИСКА ДЛЯ SCORPION ZS 256
© 1996 А. Ларченко, С. Зонов
В этой статье мы хотим познакомить читателей ZX Ревю, во-первых, с возможностями, предоставляемыми встроенным программным обеспечением "Теневым сервис-монитором", специально разработанным Andrew MOA только для компьютера Scorpion ZS 256 и, во-вторых, рассказать о контроллере жёсткого диска для нашего компьютера и порядке работы с ним.
Теневой сервис-монитор компьютера Scorpion ZS 256.
Как уже неоднократно отмечалось, главной отличительной особенностью нашего компьютера от других Spectrum-совместимых машин, является расширенное встроенное программное обеспечение. Кроме хорошо всем известных интерпретатора языка Бейсик и дисковой системы TR-DOS, в ПЗУ Scorpion ZS 256 расположена программа Теневого сервис-монитора. Программа состоит из трёх независимых частей. Во-первых, это оформленная в виде многоуровневых меню, система управления режимами работы компьютера (как программными, так и аппаратными). Второй частью встроенного программного обеспечения, является отладчик, обладающий весьма широкими возможностями по просмотру и изменению кода, хотя больше ориентированный не на "взлом", а на отладку своих программ. Наконец, третью часть составляет библиотека пользовательских подпрограмм (функций). Воспользоваться ими можно из ассемблера, указав код функции непосредственно за кодом команды программного прерывания RST 8. Данные в подпрограмму передаются в регистрах или через память (примерно так же осуществлялся вызов подпрограмм, работавших с Microdrive, из Interface I).
На страницах ZX Ревю неоднократно предлагалось сделать нечто подобное. В Scorpion ZS256 это было заложено с самого начала и развивалось по мере расширения встроенного программного обеспечения.
Ниже представлено краткое описание некоторых групп наиболее " нужных" подпрограмм.
Полная информация, занимающая около 60 страниц, содержится в книгах "Теневой Сервис Монитор" и "Описание Профессионального ПЗУ". Описываемые здесь функции полностью поддерживаются последней версий Профессионального расширения Теневого сервис-монитора (код версии 3.42). Эти функции можно разделить на три основные группы.
В первую группу входят подпрограммы, печатающие символы на экране или принтере. Сюда же относятся функция печати копии графического экрана. Вывод на экран производится в заданные специальными "дескрипторами" прямоугольные области памяти ("окна") символами шириной 6 или 8 точек Предусмотрены некоторые "примитивные" функции форматирования текста - например, выравнивание строк. Главное назначение подпрограмм этой группы -облегчение адаптации разнообразных драйверов печати. Скажем, подпрограмма вывода на принтер символа, находящегося в регистре A, занимает три байта:
RST 8 db 80h ret
Вторую группу составляют функции, позволяющие производить настройку некоторых режимов работы Теневого монитора (автоматически, не прибегая к меню). Например, функции с кодами 87h и 88h позволяют, соответственно, выбирать повышенную или нормальную скорость работы платы.
Третья группа наиболее многочисленна. Её составляют подпрограммы для работы с дисками. Для удобства все они сгруппированы в одну общую функцию (с кодом 82h), а выбираются специальным кодом подфункции, задаваемым в регистре C. Эта, так называемая, дисковая BIOS, не использует стандартный TR-DOS и работает полностью автономно. Подфункции дисковой BIOS, в свою очередь, можно разделить на две большие группы: работа непосредственно с секторами и работа с файлами. Небольшую группу составляют специальные функции:
RESETC (0) Сброс контроллера гибких дисков. Работу с дисководом рекомендуется начинать с этой подфункции. Ею же необходимо пользоваться при возникновении ошибок обмена.
CHDRV (1) Выбор текущего дисковода для последующих операций (номер задаётся в регистре Akk). Физически же дисковод выбирается при выполнении подфункций, производящих реальную передачу данных.
MPOSIT (2) Позиционирование на заданный в регистре D логический трек. При выполнении этой подфункции читается и проверяется номер дорожки, на которой находится магнитная головка. Существует ещё одна подфункция для позиционирования - M_POSF (14), которая перемещает головки дисковода по физическим трекам, не делая никаких проверок. Используется эта подпрограмма для форматирования и "секторного" обмена (см. ниже).
Перед началом работы с дискетой может понадобиться настройка внутренних переменных дисковой BIOS для правильного" функционирования:
IDENT (7) Идентификация диска. Функция производит комплексный тест дискеты, в процессе которого проверяется тип записи, количество используемых сторон дискеты, количество рабочих дорожек и размер сектора.
TR_DOS (8) Идентификация диска для ОС TR-DOS (аналогично функции 18h интерпретатора системных функций TR-DOS). Перед вызовом необходимо установить рабочий буфер, размером не менее 256 байт, используя функцию SETWRK.
SETWRK (9) Установка рабочего буфера, адрес буфера передается в регистре HL.
Аналогично интерпретатору системных функций TR-DOS (вызываемому по адресу 15635), дисковая BIOS Теневого монитора содержит две подпрограммы для считывания и записи секторов:
READGR (5) Чтение группы секторов, расположенных подряд, начиная с указанного регистрами D (номер трека) и E (номер сектора), в буфер, заданный регистром HL. Количество секторов задаётся в регистре В. В случае возникновения ошибки чтения, можно воспользоваться функциями IGNORE или RETRY - функция RETRY повторит считывание сбойного сектора, а выполнение функции IGNORE игнорирует ошибку. При этом в буфере будет пропущено столько байт, сколько занимает сбойный сектор.
WRITGR (6) Запись группы секторов, параметры аналогичны функции READGR. В случае возникновения ошибок передачи данных, можно воспользоваться специальными подфункциями IGNORE (3) и RETRY (4), которые позволяют, соответственно, игнорировать ошибку, либо попытаться повторить операцию обмена. Все данные для этих подфункций сохраняются "внутри" подпрограмм дисковой BIOS.
Сейчас всё чаще стали появляться программы, использующие нестандартный для TR-DOS формат записи на дискету. Для работы с такими дискетами Теневой монитор содержит ряд, так называемых, "функций секторного обмена".
SCANSEC (10) Сканирование дорожки. Операция выполняется для той дорожки, на которую установлена головка дисковода (см. функцию MPOSIT). В результате выполнения в памяти строится таблица расположения секторов на дорожке, начиная от индексного маркера. Эта таблица (или аналогичная ей) является входной для последующих функций.
FORMAT (11) Форматирование дорожки, на которой находится магнитная головка дисковода. Форматирование производится согласно таблице секторов, полученной либо функцией SCANSEC, либо построенной пользователем.
F_READ (12) Считывание дорожки (это не аналог соответствующей команды 1818ВГ93!). Порядок считывания определяется содержимым таблицы расположения секторов. Считанные сектора помещаются в буфер дорожки.
F_WRITE (13) Запись дорожки. Порядок записи определяется содержимым таблицы расположения секторов. Таблица расположения секторов содержит информацию, считываемую из адресных маркеров секторов, найденных на дорожке. К каждому идентификатору сектора в таблице прикреплён специальный (идентификационный) байт, указывающий на состояние сектора после операции (отсутствие данных, ошибку передачи, успешное завершение и т.п.). Программа пользователя должна проанализировать эти байты для принятия решения о дальнейших действиях (повтор операции для сбойных секторов, переход к следующим операциям и т. д.). Для некоторого
облегчения этих действий предназначена подфункция ERRES (15), заменяющая идентификационные байты во всей таблице.
Аналогично системе TR-DOS, в переменных дисковой BIOS предусмотрены специальные байты, отражающие настройки (спецификации) для каждого дисковода и для каждой дискеты (сюда относятся число сторон и треков, размер и число секторов на дорожке и т. п.).
Специальные подфункции позволяют напрямую работать с такими байтами спецификации: DISEXT (16) - чтение/установка спецификации дискеты (своя для каждого дисковода); DRVEXT (17) - чтение кода спецификации дисковода.
Для повышения производительности операций обмена с дисководом можно воспользоваться специальным режимом определения времени задержки (time-out), управляет которым подфункция TIMSUB (19). Функции реальной передачи данных в начале своей работы включают двигатель дисковода. При этом отрабатывается задержка на время раскрутки двигателя. Если для какого-либо дисковода включен режим time-out, то драйвер для последующих операций в состоянии определить время, в течении которого задержку можно не делать, что существенно сокращает время работы функций. Для обеспечения режима time out необходимо каждые 1/50 сек, то есть раз в, прерывание, вызывать функцию 19.
Для облегчения работы с файлами в Теневой монитор встроен ряд подпрограмм работы с файлами. Для каждого файла в памяти должна быть отведена специальная 28-ми байтная область -дескриптор управления файлом (fcb) и буфер на один сектор (256 байт). Все операции по поддержанию записей в дескрипторе управления обеспечивают подпрограммы монитора.
" Открывает" файл и создает управляющие структуры подфункция f_open (20). Входными параметрами являются: адрес строки имени файла (HL), адреса буфера управления (IX) и буфера обмена (DE). Файл может быть открыт в двух различных режимах (по содержимому регистра В) -байтового и блочного (секторного) обмена. Можно указать вид допустимых операций с файлом чтение/модификация/запись.
В зависимости от режима открытия файла, для передачи данных можно воспользоваться следующими подпрограммами. Подфункции f_read (22) и f_save (23) предназначены для считывания или записи одного байта. При этом файл рассматривается как файл последовательного доступа. Позиционирование внутри файла осуществляется с помощью подфункций putpos (32) и getpos (33), позволяющих соответственно задать и считать текущую позицию в файле.
Подпрограммы монитора следят за достоверностью данных в буфере обмена, который выступает здесь как кэш-память на 256 байт. Для файлов блочного обмена предназначены подфункции r_sec (28) и w_sec (29), которые, соответственно, считывают и записывают один очередной целый сектор, либо подфункции r_ms (30) и w_ms (31) - для работы с несколькими последовательно расположенными секторами за одну операцию. Байтовые и блочные подфункции обмена данными, в принципе, можно совмещать. Для операций чтения и записи сектора, если предварительно был обработан байт (т.е. счётчик текущей позиции находится не на границе целого сектора), будет "пересчитан" текущий сектор.
Закрывает файл и освобождает буфер обмена (с дозаписью файла, в случае необходимости) подфункция f_close (21).
В Теневом мониторе предусмотрены подфункции для поддержания файловой системы TR-DOS. fcbint (27) позволяет построить управляющую структуру файла без его открытия. Эта структура может использоваться для подфункций fndname (25) -поиск файла, и fndnext (26) -поиск следующего совпадающего файла. В имени файла, помещенного в fcb, символы "?" рассматриваются как "заменители", что позволяет подфункции "поиск следующего" искать файлы по полупившемуся шаблону. Наконец, для удаления файла с диска может быть применена подфункция delfil (24). Замечания и предложения по работе встроенного программного обеспечения можно высказать, написав письмо в электронную почту по адресу 2:5030/25.1 (FidoNet) или moa@ddeeds.spb.su (InterNet).
Контроллер жесткого диска для Scorpion ZS 256
Работа по созданию контроллера жесткого диска (HDD) для компьютера Scorpion, продолжавшаяся более трёх лет, практически завершена. За это время было опробовано несколько
вариантов различных контроллеров, написана и отлажена система кросс-обеспечения, для создания и отладки программ для этого класса компьютеров. Наконец, с её использованием, был написан программный эмулятор системы TR-DOS.
Подключение жёсткого диска (винчестера) к компьютерам класса ZX Spectrum, может преследовать две цели - во-первых, существенно повышается скорость работы с внешним носителем информации (время доступа к данным жёсткого диска на порядок ниже, чем у дискет); во-вторых, увеличивается надежность хранения данных. К тому же, соотношение винчестер-дискеты по показателю объём/цена склоняется в пользу жёсткого диска при увеличении объёма последнего.
На сегодняшний день существует довольно-таки много разнообразных типов жёстких дисков, отличающихся как объёмом, так и используемым типом соединения с компьютером (интерфейсом). Наиболее распространенными считаются устройства с MFM, IDE (ещё иногда называют ATA BUS) или SCSI интерфейсом. Последние - чрезвычайно быстрые, но и самые дорогие, выпали из возможного списка, как раз по этой причине (хотя возможность использовать практически любое устройство, обладающие SCSI была очень заманчивой). Жёсткие диски с MFM-интерфейсом, как морально устаревшие для остального мира компьютерной техники, и поэтому очень дешевые, представлялись наиболее интересной моделью. И именно для них был сделан первый образец контроллера. Однако, оказалось, что дешевизна самого MFM винчестера оборачивается большими затратами на всё остальное. Дешевый MFM-контроллер чрезвычайно капризен в работе, дорогой же "съедает" всю экономию, полученную на диске. Практически все MFM-винчестеры, кроме морального, подверглись ещё и физическому старению и "живут" на пределе своих возможностей. Кроме этого выяснилось, что применение накопителя MFM повлечет за собой коренное изменение блока питания компьютера (ведь диски MFM очень "прожорливы", типичный ток потребления до 5 - 8 ампер), и, наконец, скорее всего, в стандартный корпус такой винчестер "не влезет". С другой стороны, IDE-винчестеры за последний год подешевели более чем в два раза. Кроме этого, наличие микропроцессора на самом диске позволяет для некоторых моделей производить "маскирование" плохих секторов.
Итак, выбор пал на жёсткие диски, оснащенные IDE интерфейсом. Именно для них и был разработан промышленный контроллер. Кроме самого интерфейса (к которому, к слову сказать, в будущем, возможно, подключить чрезвычайно сейчас распространенные накопители на CD-ROM дисках), контроллер содержит микросхему часов реального времени и энергонезависимую память для хранения части настроек, как жёсткого диска, так и параметров компьютера в целом.
Контроллер жёсткого диска представлен в области устройств ввода/вывода Scorpion'a несколькими портами в адресной части TR-DOS, что не позволяет, впрочем, как и для контроллера гибких дисков, обращаться к устройству "напрямую" (но при этом нет и, в принципе, не может быть каких-либо конфликтов с программами, использующими некорректную адресацию). Все необходимые программные драйверы содержаться в профессиональном ПЗУ Теневого монитора и доступны через программный интерфейс RST 8. Об основных возможностях этого интерфейса мы рассказали в первой части статьи, а 6 функциях связанных с поддержкой HDD будет сказано ниже.
Работа компьютера начинается с автотестирования, в которое теперь включено и определение типа подключенного винчестера. Большинство IDE дисков имеют специальную команду, возвращающую компьютеру "геометрию" винчестера - его физические параметры: число цилиндров, головок и секторов на дорожке. Программа артотестирования пытается узнать у диска эти параметры. Если же по каким-то причинам сделать этого не удается, можно задать "геометрию" вручную, используя соответствующее меню Теневого монитора. Параметры будут сохранены в энергонезависимой памяти, откуда и будут извлекаться в дальнейшем во время начала работы компьютера.
Рассмотрим примерный порядок работы с винчестером, подключенным через контроллер компьютера Scorpion.
Для начала работы с жёстким диском, первоначально необходимо произвести его разметку (не форматирование! - все IDE винчестеры выпускаются с завода уже отформатированными). Разметка включает в себя разбиение всего объёма диска на разделы, в которых могут работать
различные операционные системы. На IBM PC такую работу выполняет программа FDISK Аналог этой программы (с учетом спектрумовской специфики) находится в ПЗУ Теневого, монитора.
Прежде всего, необходимо создать специальный "спектрумовский" раздел (он называется MFS и может быть только один на диске), в котором будут хранится данные. Для обеспечения совместимости на жёстком диске сохранена структура данных, применяемая на компьютерах IBM - информация о разделе просто добавлена в стандартную таблицу Такая таблица может хранить информацию о четырёх "первичных" (или называемых ещё "глобальных") разделах. Таким образом, на винчестере могут сосуществовать, не мешая друг другу, скажем, MS DOS и TR-DOS. Для создания, удаления или просмотра таблицы разделов в теневой монитор добавлено меню Global Partition Manager (Менеджер Глобальных Разделов). Размер создаваемого MFS-раздела задается в мегабайтах и, в принципе, может достигать 1900 Мб, что позволяет использовать любой мыслимый винчестер (на сегодняшний день стоимость такого устройства составляет примерно стоимость трёх полных компьютеров).
Каждый первичный раздел имеет свою структуру, задаваемую типом установленной на нём операционной системы, - раздел MFS не исключение. Внутри раздела MFS необходимо создать "подразделы" (или локальные разделы), которые будут хранить информацию о различных системах, используемых на ZX Spectrum. Таких систем уже немало: TR-DOS, IsDOS, СР/М, MicroDOS. После того, как создан глобальный раздел MFS, в теневом мониторе становится доступно меню Local Partition Manager (Менеджер Локальных Разделов), предназначенное для работы с локальными разделами.
Размер одного подраздела может достигать 31 Мб, а самих подразделов может быть до 63 (отсюда и ваялась цифра максимально возможного "понимаемого" объёма - 1.9 Гб). Кроме типа данных, сохраняемых в локальном разделе, каждый подраздел должен иметь уникальное шестисимвольное имя, задаваемое при создании. По этому имени впоследствии можно будет выбрать подраздел для работы. Работа с данными локального раздела мало, чем отличается от прямой работы с секторами на дискете. Программный интерфейс Скорпиона, через прерывание RST 8, предоставляет соответствующий набор подпрограмм. С их помощью можно установить какой-либо подраздел текущим и произвести чтение или запись сектора данных внутри него. На основе этих подпрограмм могут быть написаны драйверы для "внешних" систем. Набор подпрограмм для них минимален, что естественно, поскольку каждая система имеет свои особенности и вполне может менять структуру своих данных, да и появление новых систем не так уж нереально. Единственная система, полностью поддерживаемая теневым сервис-монитором Scorpion ZS 256 - TR-DOS.
Для TR-DOS жёсткий диск эмулируется на стандартных для этой системы логических устройствах: B, C или D. На самом же винчестере необходимо создать, так называемые, образы дискет - это копии стандартных дискет (80 дорожек, 2 стороны и по 16 секторов на дорожке). Хотя TR-DOS и способен работать более чем со 160-ю логическими треками, мы не стали использовать эту возможность в целях сохранения совместимости. Попытки же других изменений в TR-DOS (скажем, увеличение размера каталога) на фоне других операционных систем для ZX Spectrum выглядят мало оправданными. Все преобразования форматов осуществляются программами ППЗУ Теневого монитора. Для хранения образов дискет предназначен специальный подраздел, объём которого при создании задается как раз числом "дискет". Один подраздел способен содержать до 51-го образа дискеты. Как и для локальных разделов, для образов дискет необходимо задать уникальное шестисимвольное имя, по которому можно будет установить соответствие образа дискеты и "дисковода". Все операции по созданию подразделов TR-DOS на жёстком диске, также выполняются из меню Local Partition Manager Теневого сервис-монитора.
Связь между "дисководом" и образом дискеты на жёстком диске осуществляется из меню Hard Disk Utility Теневого сервис-монитора (возможна и чисто программная связь - через соответствующие подпрограммы интерфейса RST 8 или напрямую из командной строки TR-DOS). Процесс установления связи (называющийся ещё "монтированием") начинается с выбора устройства, для которого необходимо закрепить образ дискеты. Затем, из меню сначала выбирается нужный локальный раздел TR-DOS, в котором, в свою очередь, выбирается образ
дискеты. Все назначения автоматически запоминаются на винчестере. После установления связи все команды системы TR-DOS будут отрабатываться встроенным эмулятором. Так команда FORMAT _C:MyDisk_ приведёт к "форматированию" соответствующего подключенного "диска" на винчестере.
Необходимо сказать, что эмулируются не только команды системы, но и все функции дискового интерпретатора, вызываемого по адресу 15635. Таким образом, если программа работает с TR-DOS стандартными средствами, то она автоматически будет работать и с жёсткого диска.
Программы, напрямую вызывающие микросхему контроллера гибких дисков, смогут только загружаться с винчестера, но работать без их адаптации не будут. К сожалению, скорости работы Z80, даже в турбо-режиме, недостаточно для того, чтобы полностью эмулировать микросхему контроллера 1818ВГ93 в реальном режиме (первоначально планировалось сделать и это, но в ходе разработки и отладки программного обеспечения от этой идеи пришлось отказаться). Это можно было бы сделать отдельным совмещенным контроллером гибкого и жёсткого диска, но цена такого устройства сегодня была бы сопоставима со стоимостью компьютера (это и был бы ещё один компьютер). Разбирая существующие программы, работающие в среде TR DOS, была выявлена неприятная особенность - часть программ не определяет и не запоминает дисковод, с которого они были загружены. Так, программа будучи загружена с дисковода B сразу же устанавливает в качестве рабочего "зашитый намертво" дисковод A, вместо того, чтобы "посмотреть" в системные переменные TR-DOS (23798). Поэтому огромная просьба ко всем разработчикам программ - детально прорабатывать алгоритм взаимодействия своих произведений с "внешним миром", чтобы посмотреть на работу программы можно было не только у её автора. Отсутствие дисковода A для эмуляции на жёстком диске объясняется невозможностью ряда программ совместно работать с теневым сервис-монитором (обычным аргументом в этом случае является защита от отладчика). А поскольку все функции эмулятора вызывают те или иные подпрограммы из Теневого сервис-монитора, работа таких программ была бы невозможна. Поэтому, если происходит обращение к дисководу A, эмулятор жёсткого диска никогда не вызывается.
Встраивание эмулятора жёсткого диска и переписывание под него части функций обработчика RST 8, позволило в новой версии Теневого сервис-монитора "изжить" некоторые ограничения на пределы используемой памяти. Так большинство функций дисковой BIOS могут теперь передавать данные в любую область оперативной памяти.
В заключение, кратко расскажем о некоторых новых пользовательских подпрограммах, вызываемых через прерывание RST 8, появившихся в версии Теневого монитора, обслуживающей контроллер жёсткого диска (условный номер версии 4.0).
Функция RStime (код 89h) позволяет установить или прочитать время из микросхемы энергонезависимой памяти и часов (CMOS), код операции задаётся отдельными битами в регистре D:
7 - записать (1)/ считать (0) значение времени и/или даты;
6 - считать в буфер (только, если бит 7==0, см. также бит 5);
5 - задать формат считывания времени и даты - (1) прямое считывание (6 байт данных о времени из CMOS); (0) считывание в формате ASCIZ0 - работать с датой (1), или со временем (0).
Кроме этого, при вызове функции, регистр HL может указывать адрес буфера (если бит 6==1), В этом случае содержимое регистра E определяет формат считывания: младшие 5 бит -символ разделителя, (для вывода в формате ASCIZ); биты 7, 6 и 5 разрешают вывод соответственно часов, минут и секунд, либо для вывода даты:
7 - выводить день недели,
6 - ставить "0" перед числом,
5 - выводить месяц словом и перед годом добавлять 19.
Функция возвращает данные "либо в буфер (в виде строки текста ASCIZ или 6-ю байтами: секунды, минуты, часы, число, месяц и год соответственно), либо в регистрах: C - секунды/число, B - минуты/месяц, E - часы/год, L - день недели. В этих же регистрах задаются значения для
изменения времени или даты. После вызова функции установленный бит CY указывает на ошибку (микросхемы CMOS нет или неверный формат запроса).
Остальные ячейки CMOS-памяти используются монитором для своих нужд, поэтому подпрограмм работы с ними пока не предусмотрены. К подфункциям дискового интерпретатора (BIOS, код 82h) добавлены следующие вызовы:
hddid (34) идентификация жесткого диска. Осуществляется проверка подключения жесткого диска (номер диска передается в регистре Akk, и на настоящий момент должен быть равен нулю). Перед выполнением функции необходимо установить рабочий буфер объёмом 512 байт (подробнее об этом написано в описании Теневого сервис-монитора). После выполнения этот буфер будет содержать идентификационный сектор, полученный из жесткого диска.
hddmount (35) подключение раздела (в том числе TR-DOS) к драйверу жесткого диска. После успешного подключения можно использовать функции чтения/записи секторов внутри раздела, и, кроме этого, если раздел имеет тип TR DOS, становится возможным эмуляция всех "дискетных" вызовов, как из монитора, так и из TR DOS. Номер "дисковода" задаётся в регистре Akk, указатель на строку, содержащую имя раздела в регистре DE.
hddrd (36) прямое чтение секторов из раздела жесткого диска. Размер одного сектора 512 байт, на входе в регистре HL должен быть указан адрес в памяти, в регистре DE начальный номер сектора в разделе, в регистре B число секторов для считывания.
hddwr (37) прямая запись секторов в раздел жесткого диска. Параметры функции аналогичны предыдущей.
Заключение
Мы понимаем огорчения многих пользователей других моделей компьютеров, "которые мы выбираем", желающих иметь и на своем компьютере жесткий диск, работающий в системе TR-DOS и в других системах тоже, но доступно это будет лишь для пользователей Scorpion ZS 256 Turbo с профессиональным ППЗУ (128/256/512 Кб) ввиду тесной взаимосвязи программного обеспечения Теневого сервис-монитора и ПО для поддержки работы жесткого диска. Сейчас, уже на финише огромной работы по подключению жесткого диска и его адаптации к системе TR-DOS, можно с уверенностью сказать, что ни для одного другого более или менее широко известного варианта ZX Spectrum, подключить жесткий диск, работающий в системе TR-DOS, практически нереально из-за необходимости полной переработки ПЗУ компьютера, причём без потери совместимости с огромным количеством программного обеспечения. На такую "переработку" мы затратили более трёх лет. Кроме этого, 16К свободного места в ПЗУ 64К (а это максимальный объём ПЗУ для большинства существующих и серийно выпускаемых Spectrum-совместимых компьютеров с контроллером дисковода), просто не хватит для более - менее серьёзных программных продуктов.
Как раз по этой причине мы и перешли на разработку Профессиональных ПЗУ увеличенного объёма (до 512К). Последняя же версия обычного ПЗУ (объемом 64К) имеет номер 2.95 и не менялась уже более года. Сейчас, а статья писалась в марте-апреле 1996, идёт подготовка к серийному выпуску контроллера жесткого диска, которая, мы надеемся, завершится к июню 1996 года. Поэтому, начиная с июня-июля, можно будет заказать контроллер непосредственно у нас, в том числе по почте. Ориентировочная цена контроллера - 18-20$. Кроме этого, всем покупателям наших компьютеров и плат мы предоставляем услуги по модернизации "старых" плат Scorpion, купленных в 92-95 годах (турбирование и установка ППЗУ), - без этого HDD не подключить. Более подробную информацию обо всех наших услугах и порядке их приобретения по почте Вы сможете получить, послав запрос по адресу:
199048, Санкт Петербург, а/я 083, С. Зонову,
или позвонив по одному из телефонов: (812) - 524-1653, 172-3117, 251-1262, 298-0653.
ЧИТАЙТЕ В СЛЕДУЮЩЕМ НОМЕРЕ!
СТАТЬЯ СЕРГЕЯ ВЕРЕМЕЕНКО "АДАПТАЦИЯ ИГР 8-БИТОВЫХ ВИДЕОПРИСТАВОК (ТИПА DENDY) ДЛЯ ZX-SPECTRUM С
ВИДЕОПРОЦЕССОРОМ". По просьбе автора видеопроцессора для ZX-SPECTRUM публикуем его адрес:
620040, г. Екатеринбург, ул. Ст. большевиков, д. 24, кв. 41, _Веремеенко С.Л._