Flash Time #01
10 июля 1997
  Железо  

Размышления - Проект "Суперспектрум".

Текст: ALEX RAIDER / FLASH
COPYRIGHT 1997

     ПРОЕКТ "СУПЕРСПЕКТРУМ"
                            Часть 1

     Вот уже на дворе 1997 год.SPECCY жил,
SPECCY жив, SPECCY будет жить !!!!!! Какие
перспективы выживания имеются у  этой  ма-
ленькой, всеми  любимой машинки ? Спектрум
теснится видеоприставками,Амигами, PC-сов-
местимым барахлом и прочим... А между тем,
ведь сам по себе Спекки не так уж и  плох,
но как сделать его поистине могучим?
      Если ты настоящий фанат спекки - Эта
статья для тебя!
    Итак, будь готов, я начинаю ! :)
    Стандартный спектрум оснащен процессо-
ром Z80,работающим на частоте 3.5 Мгц и 48
килобайтами памяти, из которых 6К отведено
под видеообласть.Модель спектрум 128 в до-
полнение ко всему имеет дополнительные 80К
озу,организованного в 5 страниц по 16К,ко-
торые могут впечатываться в верхние 16 Кб.
памяти. При  этом  имеется  дополнительная
страница ПЗУ, содержащая программу  расши-
ренного BASIC. Эта страница может впечаты-
ваться вместо  страницы, содержащей  стан-
дартный BASIC.Окей,окей,я останавливаюсь !
...Все это ты и так знаешь... Хм,ответь на
вопрос - а что еще надо??? Конечно, конеч-
но... любой, кто программировал на Спекки,
скажет - ПАМЯТЬ ! НУЖНА ПАМЯТЬ !!!... Да !
Дополнительных  80К  Чертовски  нехватает,
чтоб размахнуться по-настоящему!Пускай Z80
такой слабый, но если есть много памяти,то
большинство проблем со скоростью CPU обхо-
димы! Естественно, скажешь ты - ну а что в
этом нового? Подожди, не спеши с выводами-
увидишь... Теперь обратим внимание на ПЗУ-
его мало кто  трогает. Во-первых, страница
ПЗУ ВСЕГДА впечатана в нижние 16К. А  что,
если убрать Это ограничение? Освобождаются
16К адресного пространства!
     Те, кто программирует на Спектрум 128
хорошо знакомы с проблемой нехватки памяти
-приходится втискивать программы в область
между концом экранной области и окном впе-
чатки стандартных страниц-иначе могут воз-
никать очень существенные проблемы со ско-
ростью работы программ. Очень простой при-
мер: При использовании  техники  работы  с
двумя видеообластями  приходится  выводить
графику на 7-ю страницу, где располагается
вторая видеообласть, но при этом  графику,
спрайты невозможно держать в странице  па-
мяти, так как иначе приходится на  каждое,
скажем, считывание байта  переключать  7-ю
страницу и страницу с графикой. Естествен-
но, это чрезвычайно тормозит  и  усложняет
работу программ,поэтому большинство спрай-
тов почти всегда располагаются в  основной
памяти компьютера, а не на страницах.
     Таким образом, начинает вырисовывать-
ся идея: а что,если можно было бы впечаты-
вать страницы не только в верхние 16К? От-
лично!!! Вспомним,что всего у нас 64К и их
можно подробить на четыре области по 16 Кб
каждая. Отведем каждой области (окну прое-
цирования)по своему собственному однобайт-
ному порту.Особо подчеркну - адреса портов
должны быть однобайтными!Ха!Таким образом,
записывая нужное значение в нужный порт мы
сможем иметь необходимую страницу в требу-
емом месте и в требуемое время ! И что са-
мое главное,работать сможем ОЧЕНЬ БЫСТРО И
МАКСИМАЛЬНО ЭФФЕКТИВНО РАСПРЕДЕЛЯТЬ ПАМЯТЬ
КОМПЬЮТЕРА!!!
     Это еще не все... Введем хотя бы  для
нижнего окна  проецирования  (нижние  16К)
специальные атрибуты защиты чтения/записи.
Таким образом мы получим  эмуляцию  ЛЮБОГО
ПЗУ !!! Если отвести определенные страницы
памяти под страницы  DOS, то  можно  будет
преспокойно  отказываться   от   дебильной
TR-DOS и писать свою дисковую  систему  со
своими возможностями и нововведениями,хоть
CP/M, хоть MS-DOS...

     ПРОЕКТ "СУПЕРСПЕКТРУМ"
                            Часть 2.

     Прежде всего я посвящаю этот материал
     тем, кто занимается разработкой новых
     моделей  отечественных  Спектрумов  и
     всего, что связано со SPECCY вообще.

     Вообще-то, назвать эту заметочку "ма-
териалом"-слишком круто.Скорее это некото-
рые мысли, изложенные "на бумагу".
     А начну я, как это ни странно, с рас-
смотрения архитектуры фирменного компьюте-
ра, выпускаемого когда-то фирмой  Sinclair
Research Ltd.
     Дело в том,что многие до сих пор чет-
ко не представляют себе, что же это за ма-
шина. Вначале существовал Спектрум  16. Он
имел всего лишь 16 килобайт постоянной па-
мяти и столько же оперативной. Пзу фирмен-
ного спектрума было,вероятно, выполнено на
микросхеме 27128,а ОЗУ на восьми микросхе-
мах 4116. Кроме того, у меня есть  большое
подозрение,что магнитофонный вход(TAPE IN)
был собран вообще без компаратора (об этом
свидетельствуют рекомендации брать  сигнал
для компьютера с динамика или с выхода для
головных телефонов).
     Ясное дело, поскольку  микропроцессор
и ULA разделяли память единовременно,приш-
лось решать задачу как и что  будет  рабо-
тать в данный момент с памятью.Синклер по-
шел по пути самого наименьшего сопротивле-
ния.Так как невозможно было остановить ра-
боту ULA - иначе пропало бы изображение  с
экрана, то Синклер решил просто - напросто
останавливать микропроцессор.
     Если микропроцессор  требовал  озу, а
ULA занималась считыванием  байта  битовой
карты или байта атрибутов-на  микропроцес-
сор просто переставали подаваться импульсы
тактовой частоты. По всей видимости,в фир-
менной машине имелись два набора  адресных
мультиплексоров - один для ULA и еще  один
для Z80. И где-то я слышал, что шины Z80 и
шины ULA были отделены друг от  друга  ре-
зисторами небольшого номинала - т.е,  пока
процессор ждал освобождения ОЗУ, он не ме-
шал работе ULA благодаря этим самым резис-
торам.
     Несмотря на то,что процесс формирова-
ния изображения непрерывен, ULA читает ин-
формацию из памяти отнюдь  не  непрерывно.
Дело в том, что на фирменной машине (в от-
личие от наших) ULA  обращается  к  памяти
только в момент вывода графической  инфор-
мации,а в моменты вывода бордюра обращение
к OЗУ отсутствует. Т.о в момент нижнего  и
верхнего бордюра, а также  бордюра  слева/
справа от экрана микропроцессор работает с
максимальной скоростью-такой же как в ПЗУ.
     Кстати, регенерация ОЗУ  в  Спектруме
16 происходила благодаря непрерывным обра-
щениям ULA для поддержки видеосигнала. Как
известно, микропроцессор Z80 (как и  более
поздние детища Zilog-Z8000 и Z80000) обла-
дает способностью  регенирировать  динами-
ческую  память. Для  этого  он  генирирует
сигнал RFSH, выставляет на младшую полови-
ну шины адреса содержимое спец.регистра R,
а на старшую - содержимое регистра  I. Так
вот, из-за архитектурных особенностей фир-
менной машины нельзя задавать в регистре I
числа 40h...7Fh, ибо при этом при считыва-
нии процессором следующей  команды  и  как
следствие следующем цикле регенерации  па-
мяти происходит конфликт между ULA и  про-
цессором, что приводит к зависанию послед-
него.
     Когда Синклер просто дополнил  память
Спектрума отбраковками микросхем 4164 - их
"половинками",то и получился знаменитейший
компьютер - Спектрум 48.
     Так вот,сейчас-самое интересное. Дело
в том,что в машине с 48 килобайтами памяти
аппаратно получилось две отдельные области
памяти. Нижняя - с адресами 4000h....7FFFh
была от старого Спектрума16.Эту память Z80
по времени разделял с ULA.Зато верхняя - с
адресами 8000h...FFFFh была целиком и пол-
ностью во владении микропроцессора. Задача
регенерации этой памяти лежала  на  микро-
процессоре.
    Как видим,память фирменной машины дро-
бится на две части:медленную нижнюю и быс-
трую верхнюю. Стоит называть  эти  области
CHIP MEMORY и EXCLUSIVE MEMORY,или же про-
ще-CHIP и FAST.Тут я замечу,что практичес-
ки  во  всех  совковых  Спектрумах  такого
дробления нет,ибо вся память собирается на
микросхемах 4164 емкостью 64 килобита  (их
совковый бессовестно  содранный  аналог  -
К565РУ5). И зря это делается,так как проб-
лема конфликта ULA и Z80 как  была  так  и
остается,но из-за того что память-то аппа-
ратно одна, даже при работе с  верхней, по
идее FAST MEM, микропроцессору  приходится
тормозить.
     А как же быть  со  Спектрумом  128? -
спросите вы.А очень даже просто.Вся память
Спектрума 128 состоит из ПЗУ  емкостью  32
килобаита и ОЗУ емкостью 128 килобайт. При
этом ПЗУ было  реализовано  на  микросхеме
27256, а ОЗУ  на  шестнадцати  микросхемах
4164, т.е двух "линейках" по восемь микро-
схем.Так вот,первая линейка - CHIP MEMORY.
А вторая - FAST MEMORY.С программной точки
зрения страницы с номерами  0-3  это  FAST
MEMORY, a с номерами 4-7 - CHIP.
     Из  всего  этого  вытекают  некоторые
особенности написания программ  для  Спек-
трум совместимых компьютеров.Если вы хоти-
те чтобы ваши программы работали  на  фир-
менных машинах и на  многих  отечественных
машинах  с  разделением  полей  памяти, то
нельзя задавать регистр I числами  от  #40
до #7F.Если вы разместите программу в CHIP
памяти,или,что то же самое,в страницах4-7,
то она будет работать  медленнее, так  как
процессор будет даже свои команды  (я  уже
не говорю про данные) считывать медленнее.
Если вам необходима подпрограмма,обрабаты-
вающая звук на динамик-размещать ее  можно
только в FAST MEMORY,так как в CHIP памяти
процессор работает не только медленнее, мо
и неравномерно (ускоряется на бордюре). То
же самое можно сказать и о процедурах заг-
рузки с магнитной ленты.Вообще, старайтесь
использовать CHIP память только  для  ста-
тичных данных постоянных  таблиц, компрес-
сированных данных, таблиц кодирующих игро-
вые уровни,некоторых спрайтов, музыкальных
и текстовых данных. Старайтесь не распола-
гать в CHIP-памяти стек процессора,т.к это
приводит к замедлению  работы  команд  ис-
пользующих стек.Как подтвеждение моих слов
вспомните,вы когда-нибудь встречали в фир-
менных программах  процедуры, занимающиеся
обработкой звука на  динамик  ниже  адреса
#8000 ???
     Даже TF-COPY, известный кассетный ко-
пировщик (он же TSL PLOMBA),хотя сам нахо-
дится в экранной области, но процедуры ра-
боты с лентой у него сидят в конце памяти,
хотя гораздо проще было б расположить их в
экранной области,вместе с основным блоком.
Все польские самопальные загрузчики  нахо-
дятся в FAST памяти, как правило  в  самом
конце. Код всех фирменных программ (за ис-
ключением очень старых, рассчитаных еще на
Спектрум16) написан с адреса 8000 hex. Ко-
нечно, встречаются  отдельные   процедуры,
скоростью работы которых  программист  по-
жертвовал и разместил  в  нижней  половине
памяти - например  в  Netherworld, Jet Set
Willy. Так же встречаются прграммы и плохо
скомпонованные, например в Elite архивиро-
ванные тексты сообщений лучше было бы рас-
положить снизу, а не за программой. Вместо
них же можно было бы разместить  и  другие
данные, которые попали в CHIP память.
     В JACK THE NIPPER 2 вся CHIP  память,
начиная прямо сразу же за экраном заполне-
на кодами комнат - по 40 байт на  комнату,
всего 192 комнаты,итого 7680 байт.В SAVAGE
1-3 буферные экраны находятся в FAST памя-
ти, в первом SAVAGE буфер лежит  с  адреса
#F000.  А  вот  пример,  можно сказать не-
продуманности. Очень красивейшая игра DARK
FUSION рассчитана  на  компьютеры  48/128.
Графика самого  героя, графика  взрывов  и
проч.неподгружаемая графика лежит вместе с
кодом программы в быстрой половине памяти,
а вот динамичная область,в которой времен-
но создаются спрайты тварей и фона,почему-
то находится в медленной, хотя эту область
можно было бы обменять местами с  областью
хранения текущего уровня, которая довольно
велика по размерам. Вероятнее всего  прог-
раммист при первоначальной планировке игры
отвел верх. память под уровни из-за  удоб-
ства отладки,так как вероятнее всего у не-
го там находился ассемблер, монитор и.т.д.
    И уж как полностью неверную компоновку
с точки зрения программиста под  фирменный
Спектрум можно  привести  русскую  игрушку
"Винни-пух" фирмы Softland. Поскольку  мне
приходилось взламывать эту программу и пе-
реносить ее под обычный формат TR-DOS фай-
лов, то я не мог не ознакомиться с ее "ар-
хитектурой".Программист во-первых располо-
жил очень критичную по скорости  процедуру
выкидки экранного буфера в нижней, медлен-
ной области памяти.Во-вторых, там же нахо-
дится и сам буфер.В третьих, если я ничего
не путаю,муз.блоки лежат в медленных стра-
ницах, несмотря на то,что компресснутые у-
ровня находятся в быстрых.
     Но, однако, есть большая  вероятность
того,что наши отечественные программы вряд
-ли дойдут до стран,где фирменный Спектрум
по-прежнему актуален,т.е до Польши,Англии,
Германии,Португалии.Даже если это случится
то скорее всего им предстоит  работать  на
виртуальных Спектрумах (эмуляторах),а эму-
ляторам, конечно же плевать на организацию
данных и состояние регистра I. Именно поэ-
тому я сам изредка нарушаю требования фир-
менного Спектрума. Часто мне это требуется
из-за того,что начинает нехватать адресно-
го пространства под программу,и мне прихо-
дится размещать даже быстрый  код  в  CHIP
MEMORY.
     Кстати, анализируя  программу   Shock
megademo, а именно,первую часть этой музы-
калки,я даже смог посчитать,сколько тактов
микропроцессора приходится на строку  рас-
тра.Получилось следущее: когда нет обраще-
ния к CHIP-RAM,и программа работает в FAST
-RAM,получается 228 тактов на строку.Когда
идет обращение к CHIP-RAM,и программа  ра-
ботает в FAST-RAN, получается 202.5 такта,
или 405 тактов на две строки. Время выпол-
нения кода, находящегося в медленной  CHIP
-RAM мне неизвестно.Как известно из скрол-
лера этой части,программист рассчитывал на
Спектрум2+. Можно рассчитывать  количество
тактов на строку, анализируя разнообразные
западные DEMO-программы,написанные на фир-
менных машинах, например -  ЕCHOLOGY, LSD,
NMI 3, а также  многие  игры; использующие
точную привязку к  ходу  луча / количеству
строк.
   Генеральные выводы из всего вышесказан-
ного:
    1.Фирменная машина быстрее отечествен-
    ных, хотя последние более  быстры  при
    обращениях в CHIP-память.
    2.Только на машине с аппаратнораздель-
    ной памятью можно  добиться  совмести-
    мости с фирменным компьютером.
    3. Программистам стоило  бы  учитывать
    особенности фирменной машины - особен-
    но при программировании муз.процедур и
    использовании регистра I.

                                          
     ПРОЕКТ "СУПЕРСПЕКТРУМ"
                            Часть 3.

     Кое-что разработчикам "железа",
     особенно Зонову Сергею.

     Я думаю вы прочитали вторую часть,по-
священную фирменному Спектруму и  требова-
ниям к программам. И думаю, Nemo убедился,
что он был неправ ( см.эл.журнал ZX-FORMAT
2),турбировать процессор на бордюре можно,
даже нужно. Ко всему прочему архитектура с
двумя областями памяти дает линейное  тур-
бирование процессора в эксклюзивной облас-
ти памяти! (Nемо, ты еще раз не прав).

     Хотелось бы сказать, что  большинство
современных компьютеров  используют  аппа-
ратное разделение областей  памяти. Пример
тому-лучшие домашние компьютеры AMIGA,кон-
торские IBM PC, даже у  примитивной  денди
имеются четыре физически разных памяти-ви-
деоОЗУ,видеоПЗУ, ПЗУ программ и внутр. не-
большое ОЗУ. Мощные суперкомпьютеры и гра-
фические станции  используют  еще  большее
разделение  памяти  вплоть  до   отдельной
текстовой и специальной курсорной  памяти.
Да что там суперкомпьютеры! Возьмем  самую
тупую IBM PC с процессором 486: внутренний
кэш процессора 486-это раз, кэш на "мамке"
это два, общая память - три, видеопамять -
четыре, да муз. память GRAVIS ULTRASOUND -
это пять, ах да! еще CMOS и BIOS - семь.
     Я полагаю, для  восьмибитной  техники
потихоньку уходит время динамических  ОЗУ,
ныне статическое  ОЗУ  емкостью  32-64  Кб
стоит практически столько же,сколько стоят
ру5. Ну, строго говоря, должны стоить,если
покупать их у дилеров фирм-производителей.
Простой пример  -  картридж  для  гребаной
"денди" со статической памятью 16к * 8 бит
стоит около 20-30 тыс. Если учесть что там
не одно ОЗУ  а  довольно  емкие  ПЗУ, если
учесть,сколько мы платим перекупщикам этих
картриджей,которые закупают их у китайцев,
а китайцы тоже, народ довольно бедный-ску-
пает, поди их у изготовителей, а те платят
производителям этих самых статических ОЗУ.
Получается что "статика" давно уже  ничего
и не стоит. Ясное дело, что ежели покупать
статическую память на барахолке,у Васи, то
Вася заломит даже за  паршивейшую  537РУ10
тысяч десять, хотя ее  емкость  составляет
всего пару килобайт.Васю не волнует то,что
эта микруха выпускается уже лет10-15,он-то
ее покупает по  рубль  двадцать, зато  его
волнует то что она хорошо идет в АОНы, вот
он и заламывает соответствующие цены (  я,
кстати, вспоминаю эпопею с цапами К572ПА1,
которые я для первого COVOX'а и SOUNDRIV'а
покупал по 400-500 руб, а теперь стоят  по
5000 руб штука ).
     Какие перспективы дает  использование
в отечественных Спектрумах статических ОЗУ
? Во-первых,простота (отпадают мультиплек-
соры). Во-вторых, можно весьма сильно раз-
гонять проц.В третьих, если кто-нибудь на-
чнет выпускать ULA в одном корпусе (что  я
просто категорически  советую  Зонову), то
как вам компьютер на восьми-десяти  микро-
схемах, при этом разгоняющийся до пятерной
скорости обычного спектрума?
     Теперь насчет ПЗУ и HDD (более  всего
это касается Зонова С. и всей его команды)
Использовать ПЗУ под память программ?
 По-моему, эта идея мертворождена. Давайте
посмотрим на ошибки Синклера:Если бы Спек-
трум имел возможность подключать ОЗУ вмес-
то ПЗУ,тогда во-первых,можно было бы иметь
разные версии бейсика, а не одну и ту же с
1982 года - просто программистам  было  бы
ясно - не стоит использовать ПЗУ для напи-
сания своих собственных программ, т.к. оно
может быть изменено. Во-вторых, отпали  бы
всякие теневые ПЗУ.В-третьих,можно было бы
эффективно использовать команды RST микро-
процессора Z80 и обходится  самым  обычным
первым  режимом  прерываний  Z80. Была  бы
возможность эффективно изменять сам бейсик
или его отдельные процедуры. И  что  самое
важное-появились бы дополнительные 16К па-
мяти, если бы бейсик для программы не тре-
бовался (что и бывает в 99. 99 % случаев).
Как видим,преимуществ гораздо больше,а не-
достатки почти отсутствуют. Я  вообще, так
сказать, тихо молчу что  было  бы, если  б
TRDOS сидела бы в ОЗУ...
     Я,конечно,понимаю,что Синклер шел  по
пути максимального удешевления и вообще у-
делом Спекки было изучение на нем бейсика.
На март 1982 года даже такая  конфигурация
системы казалась, вероятно, чудом. Но  вот
почему к 1986году Синклер с выпуском Спек-
трум128 оставил все как есть,даже усугубил
ситуацию, добавив к ПЗУ абсолютно ненужных
16К "расширенного бейсика" мне до сих  пор
неясно. Гораздо больше он бы выиграл,заме-
нив ПЗУ на страницу  ОЗУ. Достаточно  было
слегка изменить родную прошивку, чтоб  при
старте она переписывалась в страницу ОЗУ.Я
спрашивал у людей как часто они пользуются
бейсиком-128,оказалось что намного удобнее
для набора,редактирования и.т.д старое ПЗУ
48.У меня у самого компьютер с памятью 128
Кб, но ПЗУшка имеет 16к, т.е страницы рас-
ширенного бейсика вообще нет. Более  того,
за всю мою практику он мне ни  разу  и  не
понадобился. Так актуально ли в наше время
расширять ПЗУ?? По-моему нет.Лучше сэконо-
мить на ПЗУ, но расширить ОЗУ. Но это  уже
тема для отдельного разговора. Теперь  про
HDD. Первая реплика-какой дурак будет цеп-
лять "винт" к Спектруму? Да уж если у бед-
няги нашлись деньги на покупку винчестера,
то зачем же тогда  ему  Спектрум? Либо  он
Извращенец с  большой  буквы, либо  просто
балбес. Гораздо лучше подключить винчестер
к компьютеру AMIGA.

<Примечание от Mystery:
>Ну на счет винта ты, Леха, конечно же  уж
>слишком загнул, чем следовало, ведь я сам
>собираюсь подоткнуть винт на свой  Скорп.
>Может я и балбес, может я и Извращенец  с
>большой буквы, но просто я хочу  работать
>на любимом Спекки  с  удобством, и, кроме
>того, мне просто надоело 'дергать'  диски
>на своем дисковерте.Ну а если у меня есть
>деньги на винт, то это совсем не  значит,
>что у меня также есть 400 баксов на 1200ю
>Амигу (а 600ю я не хочу).

Потом, вероятно,писать программное обеспе-
чение вызвался господин Ларченко? О да! Он
просто чудесный программист! Додуматься до
всего этого бреда с использованием  RST  8
мог, несомненно, только он! Кстати,львиная
доля скорповских бед связана именно с этой
злосчастной RST 8 !!! Можно не только винт
подрубить, можно придумать  для  Спектрума
специальный сопроцессор-ускоритель на базе
например, "мамки" IBM PC-286, или  PC-386,
которые давно стоят дешевле платы того  же
Скорпиона-256.
     Вот я потихоньку и подобрался к само-
му главному-расширению памяти.Вообще, пер-
вое, о чем думаешь,глядя на детища отечес-
твенных разработчиков - зачем так мудрить?
Складывается впечатление, что способ, коим
предлагается управлять всей дополнительной
памятью,придуман как  раз  специально  для
того,чтоб программисты поломали свои голо-
вы. Зачем устраивать управление памятью из
двух  портов? Я, вообще, понимаю, что  так
гораздо легче построить  аппаратную  часть
компьютера, но никогда не стоит забывать -
только тот компьютер хорош, у которого все
его ресурсы удобно  использовать  програм-
мистам!!! Иначе памяти может оказаться ог-
ромный  воз, но  использовать  ее  удастся
только под тупой-претупой квазидиск...
     Ну  ладно, довольно  критики,  теперь
помечтаю о вещах вполне реальных...
     Меня дико злит неизменность карты па-
мяти обычного Спекки. Если б можно было бы
хотя бы вышвыривать ПЗУ и иметь там  стра-
ницу памяти... Да что там ПЗУ!!! А как на-
счет такой вот конфигурации: В стандартный
Спектрум введен один единственный порт.При
включении питания  я  имею  самый  обычный
Спектрум. Спектрум как Спектрум,могу поиг-
рать, могу для  собственного  удовольствия
пощелкать портом #FD:LD A,#11..OUT (#FD),A
... и ничего... Но вот я щелкаю переключа-
телем, жму сброс...Вижу красивое графичес-
кое меню.Хм,думаю,чем-то АМИГу напоминает.
Но я не хочу вываливаться обратно в SPECCY
128со всеми теперь включеными супервосмож-
ностями. Я гружу вместо  идиотской  TR-DOS
мою собственную дисковую  систему. А  что?
Ведь теперь у меня нет стандартной  TRDOS-
овской ПЗУ,вместо нее у меня есть странич-
ка DOSMEMORY, в которой, естественно,может
работать не только TRDOS, а любая DOS. 512
килобайт памяти мне позволяют организовать
кэш,поэтому все файлы читаются буквально в
мгновение  ока. Послушав  через  усилитель
замечательнейшую  Ваксоновскую   музу   на
шесть каналов (два AY как-никак.Это просто
здорово,что Ваксон ввел стандарт на два AY
'ка в виде портов #DFFD и #9FFD, а я сразу
писал FLASHTRACKER на 6 каналов!)я присту-
пил к написанию очередного GIFTа.О! Теперь
у меня просто могучие возможности ! Теперь
я не мучаюсь, как  раньше. Бывало, задумаю
что-нибудь, и ну давай  мозговать, как  бы
сделать так,чтоб в зазоре #5B00 #BFFF раз-
местить и код и графику,ведь охота с двумя
видеообластями  все  сделать.  Показываешь
один экран, а сам знай себе,рисуешь на те-
невом! И главное,что ничего не моргает! Но
как бы я все раньше-то сделал? Ведь нельзя
же мне раньше было-то держать всю  графику
и коды на страницах! А теперича можно!Знай
только записываю в один из четырех  портов
код нужной страницы и пожалуйста - вот она
теперь здесь! Вот сейчас,пихну-ка я в ниж-
ние 16К страничку с кодом, ведь программка
-то у меня ох и здоровая,мегакод называет-
ся. А на следущие 16К врублю страничку  со
вторым экранчиком..Эх! помню бывало раньше
там пожизни пятая страница  была, чтоб  ей
провалиться, а сейчас - чудо! могу врубить
что захочу! Ну а  вот  раньше, к  примеру,
тут всегда вторая страничка торчала,а сей-
час я в аккурат ставлю здесь нужную,а нуж-
на мне с графикой страничка!Ставлю графику
...Даром что на TURBO летаю... О, а теперь
самое время экранчик скролльнуть... Так...
программирую порты DMA, ведь не зря  же  у
меня тут I8237 есть,она более,чем в десять
раз быстрее, чем  процессор  память-память
пересылает! Ну, пусть, матушка,скроллирует
себе,а я-то дам процессору задачку поумнее
ведь он вовсе моей DMA и не  мешает! Голо-
вастый мужик  мой  комп  проектировал! Вот
ведь додумался-то, взял да и сделал видео-
память с процессорной на разных микрухах !
Вот теперь процессор и 8237 друг дружке  и
не мешают! А захочу потом очистить экран -
пожалуйста, та же 8237 мне это и  сделает!
Что? Ах,вы интересуетесь, как же  это  так
можно обычной DMA экранчик-то  скрольнуть?
Так я же вам говорю - комп  мой  не  дурак
проектировал, а головастый  мужичок! Он-то
и предусмотрел,чтобы можно было экран сыз-
нова линейным сделать, строка за строкой,а
не так как у Синклера,где в адресах по три
бита местами переставлены! Вот я такой эк-
ранчик-то и включил, мне ж достаточно пор-
том щелкнуть и готово! Нравится  мне  этот
режим,ой нравится! размер экрана такой же,
а как удобно с ним работать! И  DMA  можно
подпрячь!А раньшето как же с таким корявым
экранчиком? А никак. Нет,все-таки мужичек,
что проектировал мою тачку мне положитель-
но импонирует, ведь подумай-ка, был  самый
обычный Спектрум,всем приевшийся, а теперь
супер-Спектрум!А как мне нравится эта идея
подпрячь имеющийся канал DMA еще и ма  вы-
вод одного канала  восьмибитных  сэмплов !
Ведь раньше-то играешь в  игрульку, а  она
знай себе  музпроцессором  посвистывает! А
теперь коли DMA не занят,так его под  звук
впрягають! Теперь бывает и  матом  кое-кто
ругнется, и визгнет и пискнет!!! А тут еще
шесть каналов AY музы ! Заслушаешься прямо
... Лепота! И все это, что главное, управ-
ляется через однобайтные портики-то ! Как,
говорите,все это в режиме обычного Спекки-
то доступно? Дык я ж щелкаю своим заветным
портиком-то,и у меня все включится..Сделаю
я что надо, щелкну сызнова, и все в  норму
приходит, во как!
     И заметьте,не надо мне никакой сраной
денди с ее сраным видеопроцессором и с  ее
сраным музпроцессором на 4 канала!
    Теперь я и покруче могу прикалываться,
разные там игрушечки лабать,а за мной гля-
дишь,ребятушки по всему совочку потянутся!
Ведь круты мы теперь - с таким доступом  к
памяти,да с DMA,да с TURBO-процессором нам
свои игрушечки да  демонстрашечки  в  один
кадрик укладывать что два  пальчика  обос-
цать... Так то !!! :)
     Вот только кто бы такие Спектрума  бы
делал...
     Вообше говоря, это только  на  первый
взгляд я сущую фантастику рассказывал! Да-
вайте посмотрим на АТМ TURBO. Машина,прямо
скажем, сплошной идиотизм. На хрена, спра-
шивается,делать дополнительные цветные эк-
раны огромной емкости? Ведь при таком раз-
решении частота обращений ULA к ОЗУ намно-
го возрастает!Мало того,что бедный Z80 вы-
нужден обрабатывать экран  раза  в  четыре
большей емкости, так к тому же  он  еще  и
"давится"из-за возросшей частоты обращений
ULA.Понятно,что скорость работы с экраном,
самый  наиважнейший  показатель  домашнего
компьютера, падает  в  несколько  раз! При
этом, заметьте, реализован  даже  не  один
видеорежим, а целых три! (если не больше).
Вдобавок,устроена палитра, контроллер  PC-
KEYBOARD, ЦАП, АЦП,и.т.д. В принципе,то же
самое и у"ПРОФИ"-палитра экрана,аппаратные
часы и.т.д.

> Ну, кейборды-дело вкусов (не гнить же им
> на сраных писюках). В принципе, я за них
> Также я за ЦАП'ы, АЦП'шки, часы, но  эк-
> раны - это уже слишком, в чем я с  тобой
> полностью согласен. Другое дело, если бы
> они не 'убивали' драгоценное время...

    Так не кажется ли,что мои,так сказать,
мечты,по сравнению с наворотами  ATM-TURBO
и PROFI,весьма скромны?
     Но есть одна  огромная  разница: если
все изощрения этих компьютеров,мягко гово-
ря,малофункциональны, то мои умозрительные
прибамбасы позволили бы обрести  Спектруму
действительно мощь! Даром, что  для  этого
надо-то пару десятков микросхем  да  умную
голову, да свободное время!

От редакции:
Да, хотелось нам продолжить размышления на
эту тему и в следующем номере  журнала, но
появился SPRINTER со всеми его наворотами,
которые в своем большинстве  соответствуют
этим мыслям,да и во многом превосходят их!
В принципе, почти весь FLASH заинтересован
этим компьютером. Так что будем ждать  его
презентации... И желаем удачи всем  разра-
ботчикам железа для  Спекки, в  том  числе
фирме Петерс, Сергею Зонову и всей его ко-
манде, Nemo...

   Да, вот   еще   что...  Фирме
Петерс... Если вы будете  делать
на  Спринтер  свою   музыкальную
карту, а  не  поставите   какой-
нибудь  SOUNDRIVE  или   GENERAL
SOUND, то советуем  вам  сделать
их  эмуляцию  (в  том  числе   и
различных COVOX'ов)!
 



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

А если серьёзно - Как "продать" дискету за 500.000

А если серьёзно - Птички.

А если серьёзно - Развитие (как появился Spectrum).

А если серьёзно - Сотовые телефоны - что это?

А если серьёзно - Частушки

Ассемблер - Начинающим.

В приложении к номеру.

Вступление - Авторы.

Вступление - От авторов.

Железячки - Sound Drive 1.51

Железячки - Даёшь Спектруму 3.5"дисковод!

Железячки - Доработки Scropion Turbo (AY в оцифровках, увиличение скорости компа).

Извращенцам - Sex Telephone.

Извращенцам - Красная Шапочка (народный фольклор).

Извращенцам - Куликовская битва (Рассказ очевидца).

О мудаках - Overfile Must Die!!!

Почта - Messages: сообщения для известных людей в мире Спектрума.

Почта - Письма читателей.

Размышления - AMIGA или PC?

Размышления - Музыкальные карты для Speccy.

Размышления - Проблемы AY: вся музыка на AY-редакторах врёт!

Размышления - Проект "Суперспектрум".

Реклама - EX Russia

Реклама - Жителям Новосибирска

Софт - Встрял: Chaos - the Battle of Wizards.

Софт - Встрял: Enterprise.

Софт - Встрял: Little Computer People.

Софт - Встрял: Starcontrol.

Софт - Чего ждать в ближайшее время.


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

Похожие статьи:
WANTED - Розыск программ...
Интервью - Интервью с Ticklish Jim-ом , Rom/Progress , BRAIN WAVE CORP, RST#7, KGS INC.
BBS - список станций BBS ZXNet.

В этот день...   17 декабря