ZX-News #32
19 мая 1997

Железо - Spectrum-совместимый компьютер нового поколения-Sprinter'97 Что это? Параметры компьютера. Несколько слов о TR-DOS. Расширение ОЗУ. Слотовая система. Дисковая система. Видеосистема. Видеоаксерератор. Клавиатура IBM-AT. RAM-DISK. Как записать программы для Sprinter'97. Перспективы. "Железная" информация о компьютере.

<b>Железо</b> - Spectrum-совместимый компьютер нового поколения-Sprinter'97
 Что это? Параметры компьютера. Несколько слов о TR-DOS.
 Расширение ОЗУ. Слотовая система. Дисковая система.
 Видеосистема. Видеоаксерератор. Клавиатура IBM-AT.
 RAM-DISK. Как записать программы для Sprinter'97.
 Перспективы.
╔═───────────────════════───────────────═╗
│                 ЖЕЛЕЗО                 │
╚═──────────────────────────────────────═╝

               (c) Юрий Буравцов (OneSOFT)
                        812/01.14

      SPECTRUM-СОВМЕСТИМЫЙ КОМПЬЮТЕР
             HОВОГО ПОКОЛЕHИЯ
               SPRINTER-97

  "Что-что?.."  - спросите вы.  "Что?!!" -
переспросите.  Да,  вы  не  ослышались, не
"овиделись":  на сцену  выходит новый ком-
пьютер класса  Sinclair  с огромными, если
не сказать - колоссальными - возможностя-
ми, принципиально новыми как для Spectrum,
так  и  для  всех остальных компьютеров, в
том числе  IBM  и подобных им "примелькан-
тов".

  Производитель нового компьютера - торго-
вая фирма  Peters, в настоящее время зани-
мающаяся  реселлерством, ремонтом и модер-
низацией  IBM-совместимых компьютеров, пе-
риферии  и программного обеспечения к ним.
Фирма  Peters  существует  уже четыре года
(вот-вот отметится в мае), за время её су-
ществования  коллектив фирмы пробовал себя
в конструировании Spectrum-совместимых ма-
шин,  сначала  -  Peters-48  с  портом для
принтера и ROM-диском, затем -  Peters-128
примерно с тем же, потом -  Peters-256  на
базе  Scorpion'а, а также фирма разрабаты-
вала  различную периферию, например, вось-
миголосовая восьмибитная (на каждый голос)
звуковая   карта,  независимое  управление
амплитудой  выхода  каждого  голоса на два
канала. При желании её можно легко дорабо-
тать аж до  шестидесяти четырёх голосов.

  Когда  в среде синклеристов начало поти-
хоньку  "попахивать" вхождением Speccy  "в
штопор",  то  Peters'ы начали подумывать о
том, как бы сделать такой компьютер, кото-
рый  мог бы не только спокойно вписаться в
домашний интерьер, но и сослужить неплохую
службу  на  производстве, который, обладая
возможностями  IBM и Amig'и, а возможно, и
гораздо  более  богатыми,  был  бы  так же
прост в обращении и так же доступен самому
широкому  кругу  людей,  как  наш  любимый
Speccy. Именно такие благие идеи преследо-
вали создателей компьютера  Sprinter-97.

  Первое знакомство "пишущих"  людей - ко-
деров  и мьюзикмейкеров (извините за такую
англификацию :)  с  компьютером  Peters'ов
произошло в августе прошлого года, когда в
Санкт-Петербурге  проходило всем известное
мероприятие  Enlight-96.  Тогда был предс-
тавлен  Scorpion'оподобный компьютер,тогда
у него был реализован лишь один режим рас-
ширенной графики. Тогда он был воспринят с
неким  скептицизмом,  что, мол, такие идеи
уже были, и особого распространения они не
получают.  К  тому  же, если делать каждую
модель  компьютера под "свой" стандарт, то
на таких машинах не весь софт сможет рабо-
тать.

  Одиннадцатого  мая  сего года в одном из
многочисленных  офисов  дома  номер  35 по
улице  Восстания проходило весьма интерес-
ное  мероприятие.  А  именно:  проводилась
встреча программистов с создателями Sprin-
ter'а. Повод встречи был очень прост и за-
кономерен: что нужно кодерам от железячни-
ков.  Были  обсуждены  вопросы  реализации
расширенной графики с точки зрения "удобс-
твенности"  программирования.  Также прог-
раммисты  получили довольно хорошую порцию
разного  рода технической информации. Были
и  спотыкания.  Hо  об этом - чуть ниже, А
сейчас  перейдём  непосредственно к предс-
тавлению  этой  перспективной и "рулёвой",
как  выразился один из участников встречи,
машины.

  В общем-то, немалые достижения сделаны в
области графики, но это только "пока". Что
дальше  будет  -  от одной такой мысли рот
наполняется слюной... Впрочем, обо всём по
порядку.

           ПАРАМЕТРЫ КОМПЬЮТЕРА

  1. Процессор Z84C15 - 14 МГц / 3,5 МГц;
  2. Основное ОЗУ - 4 МБ;
  3. Видео-ОЗУ - 192 кБ;
  4. 3,5" дисковод, работа с дисками
     720кБ / 1,44 МБ;
  5. Клавиатура IBM-AT;
  6. IDE, Mouse, Sound-card, Modem.

               TURBO-РЕЖИМ

  Процессор Z84C15 , используемый в Sprin-
ter-97, позволяет повысить рабочую частоту
до  14  МГц,  но это не предел. По желанию
заказчика  этот  процессор  может быть за-
менён с минимальным приложением физических
и материальных усилий на другой процессор,
более  быстродействующий,  при  этом плата
автоматически  станет работать на повышен-
ной  чатоте,  которая повысится до 28 МГц.
Hо  даже на на таком быстродействии работа
с  ПЗУ  будет  происходить с некоторой за-
держкой  из-за ограничения времени доступа
к  ПЗУ,  поэтому  такой  минус устраняется
следующим  образом: в часть ОЗУ копируется
ПЗУ  и  работа  происходит  уже с ОЗУ, при
этом запись в данную область запрещается.

  Командно процессор совместим с процессо-
рами  семейства Z80 полностью, в том числе
и на уровне недокументированных команд.

  Как осуществляется изменение турбо-режи-
ма? Сейчас существует такая идеология: для
изменения  турбо-режима  существует  точка
входа  3D13h.  "Позвольте, - скажете вы, -
это  же  TR-DOS!!!" Правильно, для турбы и
не  только её  применяется ПЗУ TR-DOS, где
используется ранее неиспользованное прост-
ранство.  Переключается  турбо-режим через
дополнительную  команду  TR-DOS,  при этом
используется один из портов TR-DOS. Объяс-
няется такой конструктив тем, что переклю-
чение   режима   быстродействия  требуется
программам  не  так  часто, как, например,
для переключения страниц ОЗУ.

  Помимо программного переключения сущест-
вует "ручной" способ. Кнопка "TURBO" будет
блокировать  переключение  в  турбо-режим,
принудительно  устанавливая режим "не тур-
бо".

  Кроме всего прочего, в странице перемен-
ных  компьютера будет отдельная ячейка па-
мяти  о  режиме  работы  компьютера, т.е.,
"заглянув"  в  неё,  можно узнать, в каком
режиме работает компьютер.

         HЕСКОЛЬКО СЛОВ О TR-DOS

  Существует  два  значения  упоминания  о
TR-DOS. Первое  - это  Technology Research
Disk Operation System. Второе, как уже го-
ворилось выше - это программа,  записанная
в освободившемся пространстве теневого ПЗУ
TR-DOS.

  ПЗУ  TR-DOS  на  данный момент имеет су-
щественное  количество включений, не имею-
щих  прямого  отношения  к  TR-DOS. Вход в
подпрограммы  TR-DOS является довольно эф-
фективным средством расширения программных
функций, поэтому, на данном этапе он явля-
ется  основным для доступа к новым функци-
ям.

  Вход через RST8 , думается, менее эффек-
тивен  по  сравнению с входом через 3D13h,
т.к.  требует больше времени на переключе-
ние в теневое ПЗУ.

  Можно,однако, использовать  дополнитель-
ное ПЗУ Expansion  на подобие Scorpion,ис-
пользуя  для  этого  порт  1FFDh. Hо такой
способ  неприменим  в  BASIC'е, из-за чего
эта возможность отпадает.

              РАСШИРЕHИЕ ОЗУ

  Адресное пространство процессора Z84C15,
как и Z80, разделено на четыре окна  прое-
цирования  размером  по  16  кБ,  т.е.  на
т.наз.  страницы CPU. В каждое  окно может
быть  включена  любая  из  256 страниц ОЗУ
компьютера. Переключение страниц достаточ-
но простое: выводится номер нужной страни-
цы  в порт соответствующего окна процессо-
ра. Для обеспечения совместимости со Scor-
pion'ом  и  другими машинами с верхней па-
мятью,  сохранены старые порты для манипу-
ляции страницами ОЗУ в последнем окне про-
цессора. 

  Hо  программист получает доступ к портам
ОЗУ через ПЗУ.  "Опять TR-DOS?!!" -спроси-
те вы. В общем,да...  В ПЗУ записана прог-
рамма, которая  определяет количество сво-
бодных  страниц памяти, т.е. не занятых ни
под   какие  нужды,  в  том  числе  и  под
RAM-диск  (см. далее).Программист вызывает
соответствующую подпрограмму ПЗУ и получа-
ет  доступные  порты и номера страниц. Пе-
реключаются  страницы простенькой командой
OUT (C),reg. 

  Данные,  возвращаемые  процедурой, могут
быть  получены  один раз и потом использо-
ваться  сколько  угодно  раз,  только надо
следить  за  состоянием  открытия/закрытия
новой конфигурации.

  Что  произойдёт, если одновременно поль-
зоваться  старыми и новыми портами вывода?
Т.е.  установлена конфигурация Scorpion'а,
а  нам надо  включить  111-ю страницу ОЗУ.
Так  вот,  тут произойдёт смешение номеров
страниц, которое сложно предсказать. Прог-
рамма, включившая новое распределение пор-
тов,  обязана  забыть о старом до момента,
пока  оно  не  будет восстановлено вызовом
соответствующей функцией ПЗУ.

  Как вызывать новые функции в ПЗУ?

  Тут может быть несколько вариантов:

  1.  Обращение через TR-DOS путём входа в
3D13h;

  2.  Обращение через ПЗУ Expansion перек-
лючением на ROM0 и вызовом соответствующей
подпрограммы. Так быстрее...

  Возможны иные варианты вызова.

  Какие же это функции?

  1.  Инициализация  распределения ОЗУ или
полная  инициализация компьютера. Занятыми
остаются   только  страницы  256-машины  и
спецстраницы, где находятся параметры кон-
фигурации и другие необходимые переменные.

  2. Запрос на получение доступа к страни-
це  ОЗУ. Программа возвращает КЛЮЧ пользо-
вателя  и  флаг состояния СY (при ошибке -
установлен);

  3.  Освобождение  страниц  ОЗУ  по КЛЮЧУ
пользователя;

  4.  Получение страницы номер S по КЛЮЧУ.
Эта подпрограмма возвращает данные страни-
цы (байт, который надо выводить в порт ок-
на).  Программа, получив по второй функции
номер  страницы  ОЗУ, может получить соот-
ветственно  несколько байт - номеров стра-
ниц - переданных в её распоряжение;

  5.  Получение  адресов  портов  для окон
проецирования. Программа запрашивает адрес
окна  с номером 0..3. Адрес - однобайтный.
Ваша программа может его сохранить и впос-
ледствии   его   использовать   в   коман-
де  OUT (C),reg;

  6.  Получение номеров страниц, подключё-
нны в окна CPU.

           РАСПРЕДЕЛЕHИЕ ПОРТОВ

  Sprinter-97 имеет свою собственную схему
распределения  портов. Первая её часть от-
носится  к  внутренним  портам Z84C15. Она
неизменна  и  постоянна,  что несколько не
вписывается в остальную схему.

  Вторая часть  имеет гибкую программируе-
мую структуру. Схема имеет несколько режи-
мов  адресации  портов (на данный момент -
2).  Различные  режимы адресации позволяют
не  беспокоиться о совместимости по портам
со  старым  ПО. Во-первых, потому что один
из  режимов  просто  копирует  это  старое
распределение;  во-вторых,  потому  что  в
дальнейшем планируется переход на размеще-
ние  информации  о распределении портов из
ПЗУ в ОЗУ.

  Здесь  можно заметить, что новое распре-
деление  портов  приближает машину к стан-
дарту на подобие  Plug & Play. 

  Любые  новые устройства, разрабатываемые
для  Sprinter'а, должны будут подключаться
без  каких-либо проблем с несовместимостью
по портам.

             СЛОТОВАЯ СИСТЕМА

  За  основу  стандарта  слотов компьютера
взята шина ISA-8.

  Поскольку контроллеры почти всех внешних
устройств, подключаемых к ZX Spectrum, на-
ходятся  на плате Sprinter'а, то необходи-
мости поддерживать формат шины типа  Scor-
pion/Kay  не возникает.

  IBM-Keyboard,  Mouse, IDE будут присутс-
твовать  в  базовой  модели.  Что касается
других устройств -  модема, программатора,
светового пера  и т.д., то здесь возникает
вопрос о том, не проще ли использовать уже
существующие платы этих устройств для IBM.
Если  же  кто-нибудь  захочет  разработать
свою собственную плату, то она будет иметь
существенный плюс, если окажется совмести-
мой  с шиной ISA-8, т.к. такую плату можно
будет устанавливать и на IBM.

  Кстати,  память  компьютера очень просто
увеличить:  взять  ещё  одну платку SIMM и
вставить её в одно из гнёзд на плате...

               ВИДЕОСИСТЕМА

  В процессе разработки видеосистема комп-
ьютера  претерпела значительные изменения.
16-цветовой  экран,  представленный на En-
light-96, остался  в  далёком прошлом и на
данный момент от него остался лишь принцип
переключения режима экрана.

  Как меняется видеорежим?

  Концепция:  экран  по-прежнему разбит на
знакоместа  8х8  пикселей. В каждом знако-
месте  определён свой графический режим. В
каждом знакоместе определён свой режим вы-
вода изображения.  Весь экран представляет
собой  блок из 1280-ти знакомест - 40 зна-
комест по горизонтали и 32 по вертикали.

  Каковы эти режимы?

  1. Стандартный  ZX-Spectrum (ZX-40).  В
знакоместо в этом режиме выводится обычный
символ  в  стандарте  ZX-Spectrum - 8 байт
образа символа и 1 байт атрибутов.

  2. Режим ZX-80.  В каждом знакоместе на-
ходятся  два сжатых по горизонтали символа
стандарта ZX-Spectrum. Вывод пикселей этих
символов  производится  с частотой 14 МГц,
что  приводит к увеличению количества сим-
волов в строке до восьмидесяти.

  3. Графический режим G256-7.  Знакоместо
представляет собой графическое изображение
8х8  точек,  каждая из которых может иметь
любой  из  256-и цветов, выбираемых из па-
литры (16 млн. цветов).

  4. Графический режим G16-14. Режим высо-
кого  разрешения.  В  каждом знакоместе по
горизонтали  располагается 16 пикселей, 16
цветов на пиксель. По вертикали количество
пикселей остаётся равным восьми и увеличи-
вается до шестнадцати только вводом режима
INTERLIVE.

  5. Графический режим G16-7.  Фактически,
это  подрежим  G256-7, в котором сокращено
количество  цветов на пиксель с целью сок-
ращения объёма видеоинформации.

  Как адресуется информация в знакоместе?

  Для режима ZX-40 всё остаётся по-прежне-
му.  Форма  и  атрибут располагаются как в
стандартном  ZX-Spectrum  для  всех знако-
мест.

  ZX-80.  Первый  символ - это тот же сим-
вол, что и в режиме ZX-40, второй - символ
режима  ZX-40,  взятый  из альтернативного
экрана.

  Графические режимы. Во всех трёх режимах
адреса  совпадают. По многочисленным поже-
ланиям  программистов, адресация  пикселей
была   изменена.  По  горизонтали  пиксели
представляют собой сплошной массив в одной
видеостранице,  но  по  вертикали  пиксели
располагаются в разных видеостраницах. Хо-
тя  вполне  возможно  расположение в одной
странице.  Это  будет  рассматриваться как
альтернатива существующей реализации.

  Адресация  в  знакоместе  в определённом
роде  является  относительной  адресацией.
Конкретный адрес пикселя - это сумма адре-
сов знакоместа в экране и пикселя в знако-
месте.

  Как адресовать знакоместа?

  Для определения режима экрана необходимо
три  бита  информации.  В  рабочей  версии
Sprinter'а каждое знакоместо имеет 2 байта
информации режима. Подобное увеличение ко-
личества информации даёт принципиально но-
вую  возможность. 12 бит информации видео-
режима  определяют  адрес блока данных, из
которого  выводится  информация  на данное
знакоместо.Таким образом,  вопрос об адре-
сации становится вопросом о том, какой ад-
рес  записан  в режиме данного знакоместа.
Этот   адрес  определяется  системной  или
пользовательской программой.

  Экран  оказывается  состоящим из знаков,
выбираемых из знакогенератора, занимающего
всё   пространство  видео-ОЗУ.  Количество
этих знаков (3072)  превышает число знако-
мест  экрана  более  чем  вдвое.  Это даёт
большую  свободу  для выбора графических и
символьных  изображений. В режиме же ZX-40
число таких символов возрастает до 12288.

  Где находится информация видеорежима?

  Для   видеорежима  отведена  специальная
страница  видео-ОЗУ размером 16 кБ. Данные
режима  знакомест  располагаются  сплошным
массивом,  включающим  в себя и заэкранные
области  размером 5120 байт на экран. Дан-
ные видимой области занимают 2560 байт.

  В этих данных также содержится и некото-
рая  иная информация - расположение строч-
ных  и кадровых синхроимпульсов, положение
бордюра, начала и концы гасящих импульсов,
поэтому   программированием  этой  области
займётся ПЗУ.

  Открывается  новая  возможность.  Теперь
программируются  сигналы  синхронизации  с
телевизором/монитором,  что  даёт  простой
способ  аппаратного скроллинга всего изоб-
ражения вверх, вниз, вправо и влево. Меняя
сигналы  синхронизации, можно менять поло-
жение  общего  фона,  на  котором  и  раз-
вернётся  битва байтов новой SUPER-игрушки
для SPRINTER-97.

  Как применять подобное расширение?

  В режиме G256-7 каждый пиксель представ-
ляет собой один байт, задающий цвет пиксе-
ля.  По  горизонтали  пиксели представляют
собой сплошной массив (320 байт), что даёт
простую возможность записи данных на экран
построчно LDI/LDD-подобными командами.

  Использование  суперзнакогенератора, как
генератора  образов, и  управление выводом
знаков на экран путём программирования ре-
жима знакоместа резко ускоряет вывод, если
используется  ограниченный  набор символов
или графических образов.

  Режимы  можно смешивать!!! Режим каждого
знакоместа определяется совершенно незави-
симо.  Его  изменение не требует изменения
режима  развёртки, следовательно, для сме-
шения нет никаких препятствий. Графические
катринки  высоких  разрешений можно стыко-
вать с простой графикой Spectrum. Это даст
дополнительные  возможности  для ускорения
таких  графических  программ,  где в одном
знакоместе достаточно иметь два цвета.

  Как адресуются страницы видео-ОЗУ?

  Следует  отметить,  страница видео-ОЗУ -
это  просто страница памяти объёмом 16 кБ,
занятая под нужды видеосистемы. Видеостра-
ница - это информация, выводимая на экран.

  Для режима G256-7 видеостраница содержит
80  кБ.  В режиме стандартного ZX-Spectrum
она  занимает  всего  6,75 кБ. Результат -
количество видеостраниц ZX-Spectrum значи-
тельно  превышает  количество  графических
видеостраниц.

  Массив видео-ОЗУ является общим для всех
режимов,  поэтому  одна и та же информация
может  выводиться  по-разному.  Информация
для режимов ZX-40 и ZX-80, естественно, не
совместима с информацией графических режи-
мов,  т.е. переключение данного знакоместа
из режима ZX-40 в графический режим потре-
бует  изменения  содержания  данных  этого
знакоместа.  Чтобы  не переписывать данные
после  переключения,  достаточно использо-
вать  разные адреса данных знакоместа, за-
писываемые в режим этого знакоместа.

  Страницы видео-ОЗУ переключаются отдель-
но  от страниц основного ОЗУ. Определённые
страницы основного ОЗУ проецируются на ви-
део-ОЗУ. Запись в эти страницы производит-
ся одновременно в оба ОЗУ. Считывание про-
изводится  только  из  основного  ОЗУ, что
уменьшает количество обращений к видео-ОЗУ
и позволяет получить максимальную скорость
работы  процессора  (работа с основным ОЗУ
не требует циклов ожидания).

  Что произойдёт, если переключить страни-
цу  видео-ОЗУ  и оставить прежней страницу
основного?

  Информация   пойдёт   в  соответствующую
страницу  видео-ОЗУ  и  в прежнюю страницу
основного  ОЗУ (данные основного ОЗУ будут
перезаписаны).

  Переключение страницы видео-ОЗУ произво-
дится выводом в порт, адрес которого будет
выдаваться спецфункцией из ПЗУ.

  Какова  разница  адресации данных знако-
мест  между графическим и ZX-40/80 режима-
ми?

  Переключение  адресации видео-ОЗУ произ-
водится   одновременно  с  выводом  номера
страницы.

  Вывод  в  порт адреса страницы видео-ОЗУ
значения   00h..3Fh  подключает  различные
страницы   экрана   ZX-Spectrum.  Значения
40h..7Fh  подключают то же видео-ОЗУ, но с
иной адресацией. Значения 80h..BFh подклю-
чают  на место видео-ОЗУ страницу цветовой
палитры. Это отдельная страница объёмом 16
кБ,  которая  не входит в 192 кБайтное ви-
део-ОЗУ,  но  адресуется  так  же. Вывод в
порт  страницы видео-ОЗУ значений C0h..FFh
просто отключает запись в видео-ОЗУ.

  ВHИМАHИЕ!!!  Переключение адресации дан-
ных  знакомест приводит к переключению ад-
ресации страниц, т.к. номер страницы явля-
ется  частью адреса видео-ОЗУ. Таким обра-
зом,  запись  в  графическом режиме полной
строки  длиной 400h байт приведёт к записи
данных  в разные страницы режима ZX-Spect-
rum.  Именно это не даёт возможности конк-
ретной  привязки теневых страниц видео-ОЗУ
к  станицам  основного.  Они переключаются
независимо друг от друга.

  Кроме  того, адресация страниц видео-ОЗУ
в  режиме  ZX-Sprectrum производится 24-мя
страницами  по  8 кБ. В графическом режиме
страницы имеют объём 16 кБ, и их количест-
во  равно шестнадцати. Используются только
чётные   номера   страниц   из   диапазона
40h..7Fh.

  16  кБ х 16 = 256. Откуда появились лиш-
ние 64 кБ?

  Каждая строка графического режима содер-
жит 400 байт. Они "прошивают" насквозь все
24  страницы режима ZX-Sprectrum, и захва-
тывают  в своём стремлении ещё 8 несущест-
вующих страниц. Фактически, запись послед-
них  100h  байт  этой строки не приводит к
записи в какие-либо ячейки видео-ОЗУ.

  Каковы конкретные адреса знакомест?

  Для  ZX-40/80  это  те же адреса экрана,
которые имеет ZX-Sprectrum. Все знакоместа
на расширенном экране адресуются точно так
же, плюс изменяется адрес видеостраницы.

  В  графических  режимах  адресация иная.
Всё  видео-ОЗУ представляет собой набор из
32 строк по 96 знакомест. Строки знакомест
имеют  смежные адреса пикселей. Каждая та-
кая  строка  представляет  собой  набор из
восьми линий по 8х96=768 байт, расположен-
ных в разных страницах видео-ОЗУ и имеющих
одинаковый начальный адрес.

  Строки  знакомест составляют 2 группы по
16  строк. Данные каждой из 16 строк одной
группы  находятся в одних и тех же страни-
цах видео-ОЗУ.

  Вся  эта информация относится к конкрет-
ной рабочей версии компьютера Sprinter-97.
В  процессе дальнейшей работы возможны не-
которые изменения, поэтому здесь не даются
более  точные  описания  адресов,  портов,
функций ПЗУ и т.д.

  Каковы возможности нового экрана?

  1.  Экран имеет всё для создания оконной
системы.  В  каждом  окне информация может
выводится  в своём режиме и эти режимы мо-
гут  одновременно  сосуществовать  в одном
окне.

  2.  Окна  имеют свои собственные области
данных,  что  позволяет переключать их без
потери  информации. Ограничение накладыва-
ется  только общим объёмом видео-ОЗУ. Дос-
таточно  сказать,  что  экран  будет иметь
возможность включения до 22-х окон с объё-
мом,  равным  объёму  информации на экране
ZX-Sprectrum.

  3.   Произвольная  адресация  информации
знакомест  позволяет  производить  быстрый
вывод однородных картинок, например, фоно-
вых узоров ("обоев"). Для графического ре-
жима  это резко снижает количество выводи-
мых данных.

  Пример:   надо   вывести   повторяющийся
256-цветный  узор  размером 16х16 пикселей
на  весь  экран  320х256 точек. Что в этом
случае делает IBM? Рисует эту картинку 320
раз. А что же делает Sprinter? Рисует кар-
тинку один раз, а затем записывает в адре-
са  экрана  адрес  картинки. Таким образом
скорость  вывода  изображения  при гораздо
меньшей производительности компьютера поз-
воляет значительно обогнать IBM в графике.

  Далее возникает вопрос, как на таком эк-
ране рисовать дальше, если вывод в неболь-
шую картинку тут же размножится во всех её
320-ти копиях?  Ответ очень прост.В нужном
месте экрана адрес меняется на адрес выво-
димой картинки.

  Если вы имеете на экране хотя бы 40 зна-
комест  с повторяющимися картинками, коли-
чество   выводимой  информации  становится
равным  общему  объёму  информации экрана.
Если  же  таких  знакомест  больше  (а это
очень часто встречается в программах), ко-
личество информации будет быстро снижаться
по  мере  увеличения количества одинаковых
знакомест.

  Кроме того, подобный вывод экономит мес-
то видео-ОЗУ, что позволит увеличить коли-
чество графических окон с неперекрывающей-
ся информацией.

  О цветовой палитре.

  Цветовая палитра Sprinter-97 доведена до
максимально разумного предела. Каждый цвет
выбирается из набора 16 млн. цветов, опре-
деляемых   данными  ОЗУ  палитры  (24  би-
та/цвет).

  Палитра  -  это  ещё одна целая страница
ОЗУ. Она адресуется подобно другим страни-
цам  видеопамяти, но имеет совершенно дру-
гую структуру и назначение.

  Каждый определяемый цвет имеет три байта
в  ОЗУ палитры. Каждый из этих трёх байтов
определяет вес синего, красного и зелёного
в определяемом цвете.

            ВИДЕОАКСЕРЕРАТОР.

  Изменения, введённые в структуру экрана,
сделали фактически ненужными большую часть
функций акселератора. Hо идея жива и будет
воплощена  в  жизнь в несколько ином виде.
Скорость  обмена данными, которую даёт ак-
селератор, практически недостижима на дан-
ном процессоре, поэтому акселератор нужен!
И он будет!

  Каковы функции нового акселератора?

  1. Быстрая пересылка данных.  Это должно
повысить  предел скорости пересылки данных
из  памяти до 3,5 МБ/с (при работе процес-
сора  с частотой 14 МГц скорость пересылки
данных  из  памяти в память составляет 800
кБ/с).

  2. Быстрая логическая обработка массивов
данных. Перекодировка - это только один из
возможных видов подобной обработки. Другая
возможность  -  распаковка  сжатых данных.
Подобная  функция  должна позволить значи-
тельно ускорить работу с видеоизображения-
ми,  которые наиболее часто представлены в
запакованном  виде. Процессорные процедуры
распаковки  оказываются  слишком длинными,
предполагается введение функции распаковки
формата RLE.

  3.  Тут  зарезервировано место для ваших
идей. Поле деятельности обширно...

             ДИСКОВАЯ СИСТЕМА

  Какой должна быть DOS?

  Для   ZX-Sprectrum  есть  три  варианта:
TR-DOS, iS-DOS и CP/M (MicroDOS). Первому
пророчат  скорую  гибель. Второй на данный
момент  не получил должного развития. Тре-
тий  используется  в основном как наиболее
удобная среда для программирования.

  В  Sprinter'е  был  выбран иной вариант.
Уже  давно существует система MS-DOS. Она
вполне заслуживает внимания и уважения.

  Возникает вопрос: "Как совместить несов-
местимое?"  Сколько мучений доставляет пе-
ревод  информации из TR-DOS в MS-DOS и об-
ратно!

  В  данной версии Sprinter-97 сделан пер-
вый  шаг  к  подобному совмещению. Принята
определённая  концепция этого совмещения и
сделана попытка работы с файловой системой
MS-DOS.  В ПЗУ TR-DOS введены дополнитель-
ные  функции  чтения/записи дисков системы
MS-DOS.

  Какова эта концепция?

  1. Hичего нельзя менять в MS-DOS.
  2. Hичего, кроме информации в файлах.

  Если  к  этим двум пунктам добавить опыт
работы  с  RAM-Disk в системе TR-DOS и как
следует  подумать,  появляется  прекрасный
вариант совмещения систем.

  Он  снимает  с  дисков ограничение 1 МБ,
позволяя  беспрепятственно работать с дис-
ками  MS-DOS  и  в  то  же время оставляет
практически полную совместимость с TR-DOS.

  Что же это такое?

  ФАЙЛ MS-DOS = ДИСК TR-DOS!!!

  Hа любом MS-DOS диске могут существовать
несколько  файлов, размеры которых опреде-
ляют размеры дисков TR-DOS. Проблема, свя-
занная  с  разницей  секторов, с записью и
считыванием  TR-DOS файлов снимается одним
простым  решением. Файл MS-DOS считывается
в ОЗУ компьютера, где образуется специаль-
ный  RAM-диск в системе TR-DOS. После заг-
рузки файла программа может свободно обра-
щаться к этому RAM-диску, получать из него
данные,  а  изменённые записывать обратно.
По окончании работы RAM-диск записывается,
если  это необходимо, в виде файла на диск
MS-DOS.

  Hичто  не  мешает  сделать  в дальнейшем
функции  прямой  работы с файлами MS-DOS -
запись/чтение  обычных файлов с BASIC, DA-
TA, CODE. И всё это на MS-DOS дисках!

          ДИСКИ 1,44 МБ / 720 КБ

  Об  их использовании говорится предельно
кратко.  С большой плотностью хранения ин-
формации  дискеты  3,5" отказывались рабо-
тать, т.к. необходима высокая скорость пе-
редачи  данных, которую невозможно достиг-
нуть на частотах 3,5 и 7 МГц. Так вот, те-
перь -  14 МГц + 2 МГц на ВГ93 = 2HD!!!

           ОБ ОС HА SPRINTER'Е

  Sprinter-97  имеет все возможности, зап-
рошенные  разработчиками  ОС.  Теперь дело
лишь  за  согласованием  обращений к новым
функциям компьютера.

  Уже немало говорилось об изменениях, ко-
торые  могут  появиться  в будущем, но все
они  будут  укладываться  в описанную выше
схему.  Как только будет определено согла-
шение по использованию новых возможностей,
все  "плавающие" точки входа будут закреп-
лены  и в дальнейшем и не будут меняться с
модернизацией машины.

                 RAM-DISK

  Всё  уже  давно работает  на машине  Pe-
ters-256. Работают все функции, вызываемые
через точки  3D00h, 3D03h, 3D13h.

  В  Sprinter-97  введена возможность мно-
жества  RAM-дисков,  основанная  на  новом
распределении  ОЗУ.  Это  даёт возможность
подключения RAM-дисков на A:, B:, C: и D:.
RAM-диск  в  Sprinter'е  может иметь объём
более  1  МБ.  TR-DOS  будет видеть только
первый МБ, а программы, находящиеся в нём,
получат  полный доступ ко всему пространс-
тву  RAM-диска. Это смещает ограничение на
длину MS-DOS файла до предела  3,5 МБ, ко-
торый определяется объёмом основного ОЗУ.

            КЛАВИАТУРА IBM-AT

  Sprinter рассчитан на подключение ТОЛЬКО
IBM-клавиатуры.  Все  аппаратные сложности
ушли  в  последовательный  порт процессора
Z84C15. Остались лишь программные.

  В режиме IM1 никаких проблем. Прерывание
вызывает  программу  обработки клавиатуры,
и, если была нажата клавиша, программа ап-
паратно  замыкает  сответствующий  "ключ",
который затем считывается другими програм-
мами через стандартный Spectrum-порт 0FEh.

  В режиме IM2 так же всё сделано. Обычная
программа  пользователя,  естественно,  не
знает  о  том, что клавиатура у машины "не
та". Чтобы вызвать обработку IBM-клавиату-
ры по прерыванию IM2 вызывается прерывание
NMI, которое возникает в момент начала об-
работки прерывания  IM2. В подобном случае
использование  стека прерыванием NMI никак
не  влияет  на  выполнение программы, т.к.
прерывание  IM2  использует его для той же
цели.

  Остаётся  единственный  режим, в котором
компьютер  окажется  без  клавиатуры - это
режим запрета вызова прерывания. Hекоторые
программы выполняют DI и так до самого Re-
set'а. Здесь - поле для деятельности...

         КАК ЗАПИСАТЬ ПРОГРАММЫ
             ДЛЯ SPRINTER-97?

  1.  Программа должна придерживаться пра-
вил  обращения  к  портам. Hекоторые порты
просто  нельзя трогать. В Z84C15 есть пор-
ты, управляющие работой последовательных и
параллельных  портов, порты управления ре-
жимом работы самого процессора. Hеправиль-
ное  управление  может привести к сбою или
зависанию машины.

  2.  Здесь намеренно не называются адреса
портов.  Во-первых, они могут быть измене-
ны,  во-вторых, это обяжет программы обра-
щаться  к  соответствующим функциям в ПЗУ,
что не даст в дальнейшем проблем с совмес-
тимостью для новых версих Sprinter'а.

  3.  Обращение с TR-DOS. Господа програм-
мисты! Если вы хотите, чтобы ваши програм-
мы  работали,  и работали, как надо, поль-
зуйтесь  стандартными  входами  в  TR-DOS.
Все,  кто пользуется только точками входов
3D00h,  3D03h,  3D13h, могут быть уверены,
что   их  программы  будут  работать  и  в
RAM-диске,  и с дискетами MS-DOS, и (в бу-
дущем) с винчестером и с CD-ROM.

  О  защите ПО от несанкционированного ко-
пирования  в этом случае надо говорить от-
дельно.  Эта  защита должна быть и она бу-
дет,  но  не в таком виде, когда программа
ради  неё проводит сверхстранные манипуля-
ции с ВГ93. Hа RAM-диске они ничего не да-
дут.  С MS-DOS - один бог знает, что после
этого  станет,  а  о винчестере и говорить
нечего.

  4. Функции ПЗУ будут максимально прибли-
жать  ПО  к железу. Везде, где будет важна
скорость,  программа  будет получать конк-
ретные адреса портов и данные, которые на-
до выводить в эти порты. При запуске прог-
раммы ей будет нужно только запросить нуж-
ные адреса и вставить их в тело программы.
Подобная процедура может производиться при
инсталляции ПО на винчестер.

               ПЕРСПЕКТИВЫ

  1. Винчестер.

  Рабочая версия Sprinter-97 имеет всё для
подключения  винчестера IDE. Hа данный мо-
мент нет только программы работы с винчес-
тером.  Для  обеспечения  доступа ко всему
пространству винчестера предполагается ис-
пользование  файловой  системы MS-DOS, как
основы.

  Фактически  каждый файл MS-DOS будет яв-
ляться  диском  в системе TR-DOS. Доступ к
данным  файла  будет  осуществляться путём
подключения файла как диска к A:..D:.

  Вся работа с винчестером будет аналогич-
на работе с MS-DOS дисками 1,44 МБ. Доступ
к  длинным файлам будет осуществляться че-
рез запись этих файлов в RAM-диск.

  В дальнейшем система будет совершенство-
ваться.  Будут рассмотрены все предложения
и пожелания по организации работы с диска-
ми в системе MS-DOS.

  2. Mouse.

  Один  из последовательных портов  Z84C15
занят  под  клавиатуру, второй - под стан-
дартную IBM-мышь.  Всё дело только в прог-
рамме обработки.

  3. Sound-Card.

  В настоящее время уже есть отдельное ра-
ботающее  устройство,  имеющее  достаточно
высокие характеристики. Работа над ним бы-
ла  приостановлена  и будет возобновлена в
ближайшее  время. В дальнейшем предполага-
ется  выпуск  новой  версии  Sprinter'а со
встроенным вариантом  Sound-Card.

  Будет  рассмотрена  возможность эмуляции
музыкального сопроцессора AY-3-8910/8912.

  4. Дальнейшее расширение ОЗУ.

  Размер  памяти  4 МБ является в какой-то
мере  пределом,  т.к. для адресации памяти
за  4 МБ уже будет неободимо использовать,
как  минимум, два байта информации. В этом
случае  предел составляет 1 ГБ и в настоя-
щее время ещё не достижим по реальным объ-
ёмам ОЗУ.

          "ЖЕЛЕЗHАЯ" ИHФОРМАЦИЯ

  Конструктивно  компьютер выполнен в кор-
пусе типа MiniTower. Hынешняя версия платы
(пока  -  в макетном исполнении) несколько
меньше  платы  Scorpion'а,  т.к. почти вся
выполнена  на  программируемых  логических
матрицах  (ПЛМ).  За  счёт  такого решения
плата приобретает абсолютную защиту от пи-
ратского копирования.

  В   настоящую  минимальную  конфигурацию
входят:  системный блок, клавиатура и один
дисковод 3,5".  Решение о такой конфигура-
ции не окончательно. Фирма Peters планиру-
ет  выпуск  Sprinter-97  на  рынок к осени
этого  года,  презентация  планируется  на
выставке  Enlight-97.

  Вот,  собственно,  минимальное  описание
новой машины. Hу как она вам, понравилась?
Теперь, пожалуй, можно разобрать некоторые
очевидные вопросы.

  Турбо-режим.  Можно было бы приспособить
кнопку  только как переключатель режима, а
не  фиксатор.  О  том,  какой режим должен
быть  в  момент включения компьютера может
указывать некоторая ячейка энергонезависи-
мой  памяти,  где помимо этого может нахо-
диться  множество другой информации: коли-
чество дисководов, ёмкость винчестера, те-
кущие  дата/время  (т.е.  и часы реального
времени пригодились бы), дисковод, с кото-
рого  нужно  при  включении или "холодном"
сбросе машины загрузить определённую прог-
рамму и т.д. При нажатии на кнопку или вы-
зовом процедуры смены режима, запись в эту
ячейку  происходит  "железно". Таким обра-
зом,  в  каком режиме была машина в момент
выключения,  в  такой  она и переводится в
момент включения.

  TR-DOS. Выполнение дополнительных проце-
дур  ПЗУ через точки входа TR-DOS не слиш-
ком  гибко.  С точки зрения быстродействия
это  быстро. Hо с точки зрения длины прог-
раммы...  Можно  предложить  так:  сделать
доступ  к  новым  процедурам  через  точки
TR-DOS  и адрес 0009h, объединив их с пре-
рыванием RST8. В TR-DOS мы можем войти для
доступа  к её портам и её подпрограммам, а
адрес  0009h  может аппаратно включать ПЗУ
Expansion  без участия порта 1FFDh для об-
работки подпрограмм Expansion. А процедура
по RST8 анализирует принадлежность команды
к тому или иному ПЗУ. Почему именно 0009h?
В  обоих  ПЗУ  (ZX-48  и ZX-128) по адресу
0008h  находятся  инструкции  безусловного
перехода. Т.е. никакая программа не должна
переходить на 0009h. Команда для процессо-
ра  читается  с адреса 0008h как обычно, а
вот  непосредственный переход на 0009h вы-
зовет переключение на Expansion.

  Разъём ISA-8. Всё-таки, я думаю, не сле-
дует  пока  отказываться от системного ра-
зъёма в стандарте Scorpion. Пока не следу-
ет.  Потом, со временем, от него можно бу-
дет отказаться.

  Эмуляция Scorpion. Какой же Scorpion без
теневого   сервис-монитора?  А  это  очень
большая  программа, если учитывать возмож-
ности  профессионального  расширения.  Как
использовать  процедуры  обслуживания HDD,
если  на  Sprinter'е  планируется работа с
ним  в формате MS-DOS? Hадо бы тогда почти
полностью  перерабатывать весь теневой мо-
нитор...  Да  и кнопка Magic теперь-то уп-
разднена...

  MS-DOS.  Мне  кажется, что не стоит пока
стандартизировать   дискеты   под   формат
MS-DOS.  Пусть,  хоть  и  720,  но  всё же
TR-DOS  в чистом виде. И проблем с защитой
ПО  пока  не будет. Полный же объём дискет
3,5" возможно будет использовать в системе
iS-DOS, к тому же, в iS-DOS'е объём инфор-
мации будет укладываться не в 1,44 МБ, а в
1,6  МБ!!! Если, конечно, IskraSOFT'ы при-
мут  эту  машину  и начнут писать ПО и под
неё тоже. В крайнем же случае, если уж так
не  терпится использовать полный 1,44 МБ в
TR-DOS,  то  можно  рассмотреть  концепцию
"логических" дисков: на одной дискете 1,44
МБ  располагаются  два  по 720 кБ. Винчес-
тер...  Можно  взять  за основу концепцию,
предложенную  С. Зоновым: разделы, подраз-
делы  и  т.д. Тогда можно будет хранить на
винчестере  несколько операционных систем.
Можно,   конечно,   использовать   систему
MS-DOS,  но  через  год-полтора  активного
пользования  винчестером MS-DOS файлы ста-
нут  настолько растасканными до всему вин-
честреру,  что не обойтись будет без како-
го-нибудь speeddisk'а...

  IBM-клавиатура.  Можно  предложить такую
концепцию.

  1. Режим прерываний - IM1. Статус - раз-
решены.  После нажатия клавиши её код пос-
тупает  в  ячейку 5C08h. При считывании из
ячейки 5C08h она автоматически обнуляется,
её код исчезает из буфера клавиатуры, а из
буфера  поступает  код  следующей  нажатой
клавиши, если, естественно, буфер не пуст.

  2. Режим прерываний - IM2. Статус - раз-
решены.  Тут  всё, как и в предыдущем слу-
чае, только можно произвольно менять ячей-
ку,  куда будет "откладываться" код клави-
ши.

  3.  Режим прерываний  - любой.  Статус -
любой.  Можно  задать пару ячеек памяти (а
можно и отменить), куда будет откладывать-
ся  более  подробный  код  клавиши - чтобы
проконтролировать, например, нажатие Shift
или Num Lock. Кроме того, можно предусмот-
реть  чтение из порта 0FEh: если программа
опросила  какой-нибудь  порт,  а этот порт
обслуживает  первую  в  буфере клавишу, то
байт,  считанный из порта, будет соответс-
твовать  этой клавише. Можно также предус-
мотреть  отключение  функций  буфера, если
надо проверить нажатие нескольких клавиш.

  Дисководы. Стоит рассмотреть возможность
подключения  большего  количества  внешних
накопителей.  FDD  5,25",  FDD  3,5", HDD,
CD-ROM, ZIP-Drive...

  Теперь из софта - кодерам. Пора разраба-
тывать алгоритмы принципиально новых прог-
рамм.  Прежде  всего  -  надо  как следует
"раскрутить" машину: демки, игрушки и т.д.
Софт  дожен  быть достаточно качественным,
главное - не сроки, а  качество, способное
осенить  самого  искушённого пользователя.
Затем  на  очереди  - профессиональный ас-
семблер-отладчик,   отвечающий   последним
требованиям  программистов. Затем - файло-
вая  оболочка на подобие Norton Commander,
графический  редактор  в  стиле Corel Draw
(или,  хотя  бы  - на первых порах - Paint
Brush),  какая-нибудь профессиональная ин-
тегрированная   инструментальная  оболочка
Pascal  и/или C, "желательно, в стиле tur-
bo",  текстовый  редактор  в стиле Write и
т.д.   Хорошо  бы  развить,  как  следует,
iS-DOS  для  Sprinter.

  В планах фирмы Peters - отказ от торгов-
ли  IBM-совместимыми компьютерами и полный
переход  на производство Sprinter'а. Также
фирма  планирует создание коллектива прог-
раммистов  для  разработки различных прог-
раммных  проектов для компьютера Sprinter.
Для   сравнения:  некоторые  крупные  фир-
мы-производители  Spectrum-совместимых ма-
шин  пришли  от  разработки  своих детищ к
различного рода побочному бизнесу - той же
самой  перепродаже  IBM-совместимых машин,
периферии и ПО. Фирма Peters - это золотая
середина  того, что имеют современные про-
изводители  Speccy - хорошие организаторс-
кие  способности, и то, что имел сэр Клайв
Синклер - прекрасный творческий склад ума.
Пожелаем  компьютеру  успешного  и стреми-
тельного  развития, чтоб за короткое время
он успел завоевать всех любителей Speccy и
отвоевать их обратно из "пи-си-шников". Hе
даром имя его - Sprinter.

  Фирма Peters с удовольствием выслушает и
учтёт все ваши вопросы, пожелания, замеча-
ния  и критику, а так же даст ответ на них
на  страницах  ZxNews. Их вы можете напра-
вить  мне  на  ориджин, или обратиться не-
постредственно в фирму Peters:

       ул. Восстания, д. 35, оф. 22
     Красное Село, пр. Ленина, д. 77
       т. (812)-275-7784, 275-0810,
                 132-0586

        __________________________
           ────────────────────



Другие статьи номера:

Oт редакции - Близится юбилей сети SPbZXNet - пол года.

Железо - Spectrum-совместимый компьютер нового поколения-Sprinter'97 Что это? Параметры компьютера. Несколько слов о TR-DOS. Расширение ОЗУ. Слотовая система. Дисковая система. Видеосистема. Видеоаксерератор. Клавиатура IBM-AT. RAM-DISK. Как записать программы для Sprinter'97. Перспективы. "Железная" информация о компьютере.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Советы мастера - Как можно добить хорошей связи с BBS (+ схема).
Железо - Что такое "Тестер" и с чем его едят.
Outro - Надеюсь, хоть маленькая частичка Pулеза коснулась Тебя.
Рассказ - Шведская тройка.
Дискуссия - интервью с автором аппаратных доработок из Харькова - Гетманцом Владимиром Михайловичем.

В этот день...   21 ноября