RUSH #01
29 мая 1999

Spectrum программинг - Краткое пособие для системного кодера. Советы автору "boot'a", паковщика, Музыкального редакторы.

  КРАТКОЕ ПОСОБИЕ ДЛЯ СИСТЕМНОГО КОДЕРА

     Человек,  решивший написать системную
программу,  сталкивается  со многими труд-
ностями. Этот текст призван  хотя бы  час-
тично помочь  Вам  сделать  свою программу
качественной и  удобной.    Естественно, я
не мог учесть все нюансы, но все же,  если
Вы  воспользуетесь   советами   изложеннми
ниже, будет легче и Вам самим, и пользова-
телям Ваших программ.
    Это дополненный вариант статьи, неког-
да опубликованной в "Depth 1". Данныю тему
мы намерены продолжать и в последующих но-
мерах "RU(S)H".


  ЧТО СЛЕДУЕТ УЧИТЫВАТЬ В ПЕРВУЮ ОЧЕРЕДЬ
     ПРИ СОЗДАНИИ СИСТЕМНОЙ ПРОГРАММЫ

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

2.    Управление  в  программе должно быть
гибким и разнообразным.   Стандартным  на-
бором является: SINCLAIR (правый),
                KURSOR,
                KEMPSTON (с проверкой)
                КЛАВИАТУРА (O,P,Q,A,
                            SPACE и M ).
А также KEMPSTON и AY мыши. Если у вас нет
мыши, но вы хотите реализовать ее поддерж-
ку, можно прочитать о том, как это сделать
в следующих изданиях:
 о KEMPSTON mouse - "SPECTROFON 20" в
                    разделе "Конструктор",
 о AY mouse - "ZX-POWER 1" в разделе
              "Железо".

3.     Необходимо  всегда  проверять нали-
чие KEMPSTON  джойстика  и  не  опрашивать
его, если  он  отсутствует. Иначе, на всех
машинах  без  этого  порта Ваше произведе-
ние работать не будет.   Напомню, что если
KEMPSTON'а нет - биты 5-7 установлены.

4.     Ваша  программа  должна максимально
использовать все ресурсы  машины, на кото-
рой она  работает.    Нужно протестировать
доступный объем  памяти  и работать именно
с ним.   Могу посоветовать воспользоваться
автоконфигуратором памяти из "ZX-FORMAT5",
написаным  CREATOR'ом.   Он позволит Вашей
программе  работать  с  памятью  от 48к до
мегабайта.

5.     Копировщики  и другие дисковые ути-
литы должны работать  как  с  одним диско-
водом, так и с двумя.

6.     Если в программе  много  изменяемых
параметров (больше трех),  просто  необхо-
димо  сделать  их  запись  на  диск  (SAVE
SETUP).   При  этом  запись нужно произво-
дить  внутрь  самой  программы,  предвари-
тельно  проверив ее наличие и местоположе-
ние на диске.

7.     Если  ваша  программа  работает  со
вторым режимом прерываний,  подключать  их
необходимо  создав  257  байтную  таблицу,
забитую  одним  числом,    т.к. во  многих
машинах с шины  считывается  не #FF, а лю-
бое число.   Об этом уже много говорилось,
но все равно  иногда появляются программы,
не учитывающие этого.

8.     Естественно,  сегменты   (страницы)
переключать  нужно  не  через  порт #FD, а
через полный порт #7FFD (dec: 32765).

9.     При обращении к  диску  должен быть
подключен первый режим прерываний (IM 1).
Если же Вам по какой-то  причине требуется
IM 2,  можно использовать  вектор прерыва-
ния  толькo  в  пределах  быстрых областей
памяти (#8000-#BF00  (32768-49151)  или  в
страницах  0,1,2,3 ),    при  расположении
вектора прерываний в медленной области па-
мяти, весь компьютер,  а  с  ним и TR-DOS,
станут работать на  25  процентов  медлен-
нее, и  дисковые  операции будут нарушены.
Это  свойственно  только  для машин с раз-
дельным  полем   памяти,   для  остальных,
например Pentagon,  это не имеет значения,
но все равно это нужно учитывать.   О раз-
дельных полях памяти подробно  написано  в
белорусской  газете   "ECHO 2",    советую
Вам его почитать.
       Так-же при переходе  в  стандартный
режим прерываний  (IM 1),  необходимо вос-
становить в регистре I  значение  63  dec,
иначе Ваша программа не будет работать  на
многих машинах, включая фирменную.



  НЕСКОЛЬКО БОЛЕЕ ПОДРОБНЫХ СОВЕТОВ ПО
      ОПРЕДЕЛЕННЫМ ТИПАМ ПРОГРАММ


  14 СОВЕТОВ ЧЕЛОВЕКУ ПИШУЩЕМУ "boot":

1.   Сразу  нужно  решить для каких дисков
этот  "boot"  будет  использоваться.   Для
системных   предпочтительнее  простые,  но
удобные  оболочки, без различных  эффектов
и  ненужных  наворотов.   Если  же  "boot"
предполагается  использовать   для  игр  и
демок, тогда другое дело,  эффекты, графи-
ка и музыка только приветствуются.

2.   Естественно  он  должен  занимать как
можно меньше места на диске.

3.   Чем  быстрее  Ваш "boot" будет загру-
жаться и  запускаться,  тем лучше. Во вся-
ком  случае не стоит  подвешивать  к  нему
эффектов с долгими DECRUNCHER'ами.

4.   Старайтесь,  чтоб одновременно на эк-
ран  было  выведено  наибольшее количество
файлов.

5.   Имена  программ  должны  быть  хорошо
читаемыми.  Подберите подходящий  шрифт  и
цвет окна.   Желательно,  чтоб окно с фай-
лами не двигалось.  За  пределами же  окна
делайте что угодно.

6.    Управление должно  быть  разнообраз-
ным и гибким.  Одновременно от наибольшего
количества устройств.   Если  выбор файлов
происходит при  помощи  стрелки,  сделайте
поддержку KEMPSTON и AY мышей.
     Лично  я  в  подавляющем  большинстве
случаев   для  выбора   файлов   пользуюсь
курсорными  клавишами   (расширеная клави-
атура).   При  опросе клавиатуры,  сначала
проверяется   нажатие  CAPS  SHIFT,   если
она нажата, то клавиши  5,6,7,8  опрашива-
ются как КУРСОР  джойстик,  иначе как SIN-
CLAIR.
     Смену диска обычно производят по кла-
више  SPACE,  это  уже  стало  стандартом.
Также удобно использовать клавишу  "ENTER"
как FIRE.

7.    Если в вашем boot'e  не  реализована
автоматическая проверка смены диска, перед
запуском программы  необходимо  перечитать
каталог и  в  случае, если  нужного  файла
там  не  окажется,  вывести   каталог  уже
нового диска  и,  естественно,  ничего  не
запускать.

8.    Перед  запуском  программы необходи-
мо восстановить все  системные  переменные
и  все,   что   требуется  для  нормальной
работы Basic'а.  Экран можно оставить чер-
ным (область атрибутов заполнена кодом 0),
а вот  в  системные  переменные  необходи-
мо записать стандартные атрибуты.   Также,
желательно очистить  всю  память,  которую
занимал "boot".

9.    Программ, использующих  128к ПЗУ или
128к Basic, очень мало (если честно,  то я
так и не  вспомнил  ни  одной),  зато про-
грамм, которые не  работают  с подключеным
128к ПЗУ - множество. Поэтому, желательно,
чтобы "boot" сразу же  подключал  48к ПЗУ,
но с активными страницами.  Если  не  зна-
ете как это  сделать,  возьмите  строки из
загрузчиков  ассемблеров  "TASM",  "ALASM"
или из какого нибудь другого.  На 48к ком-
пьютере все также будет работать  нормаль-
но.

10.    В большинстве  бутов файлы с именем
"boot" не выводятся,  но  иногда  это  не-
удобно, поэтому советую  этот  файл  выво-
дить, но, если он записан первым на диске,
то указатель сразу же  переместить на сле-
дующий файл. Также,  при поиске имени "bo-
ot", необходимо проверять все восемь букв,
а не только первые четыре.

11.    Иногда  в  одной и той же программе
бывает несколько Basic блоков,  запускает-
ся из  которых  только  один.  Этот случай
можно предусмотреть,  и  не выводить опре-
деленные Basic  файлы.  Единого  стандарта
в данном  случае  не  существует.   Иногда
не выводят  все  файлы, начинающиеся с ма-
ленькой буквы,  но данный способ не всегда
удобен.   На мой взгляд, удобнее отсеивать
все файлы, начинающиеся с точки.

12.    В некоторых  "boot'ах"  реализивана
сортировка  файлов  по алфавиту, но обычно
это  только  затрудняет  работу.   Поэтому
сортировку лучше сделать отключаемой.

13.    Полезно,  когда кроме списка файлов
на экран  выдается  краткая  информация  о
диске.   Например,  его  имя,   количество
свободных секторов и количество файлов.

14.    Желательно  не  привешивать  жестко
определенную  музыку,  а  сделать ее легко
меняемой.  В этом случае есть два способа:
 можно хранить  в памяти player от какого-
 либо музыкального  редактора и подгружать
 файл с музыкой без player'а.   Или же за-
 гружать компилированный  блок с player'ом
 из любого редактора,  но при этом он дол-
 жен быть откомпилирован  под определенный
 адрес. В любом случае нужно подробно опи-
 сать процесс подвешивания музыки.


   ЕСЛИ ВЫ РЕШИЛИ НАПИСАТЬ КОМПРЕССОР...

       Во-первых, он должен позволять, за-
писывать   компрессированные   блоки   без
декомпрессора, чтоб можно было раскомпрес-
сировать одним depacker'ом много файлов.
       Во-вторых, вы  должны  прилагать  к
компрессору текстовый  вариант  декомпрес-
сора,  чтоб  любой  смог  его  изменить на
свой вкус или попытаться ускорить.
       Время компрессии не особенно важно,
а  вот  скорость декомпрессии должна  быть
максимально быстрой.  Depacker должен нор-
мально работать  при  разрешенных прерыва-
ниях.
       При  работе  с  различными компрес-
сорами оказалось,  что практически все су-
ществующие  "кранчеры"   (DSQ4,MS_PACK,LPC
и др.)  работают  не  всегада   корректно.
Однажды, пытаясь скомпрессировать файл,  я
перепробовал 6  или  7  компрессоров, и ни
один из них не распаковал его  правильно !
Обычно ошибки  проявляются  в  том случае,
когда в компрессируемый  файл  входит  уже
сжатый блок или экран.
   Я не являюсь  экспертом в данной облас-
ти,  но  осмелюсь  высказать  свое мнение,
слегка  попахивающее лэймерством   :-) ...
Повидимому, пакеры  расставляют свои конт-
рольные коды,  и  при  повторнй компрессии
они могут совпасть,  что повлечет за собой
неправильную декомпрессию (только не бейте
по  голове,   если   я   сказал   какую-то
тупость :-) )...   Такие глюки проявляются
редко, но постарайтесь, чтобы в Вашем ком-
прессоре их небыло вообще.
      Задолбало  меня  писать  loader'ы  к
программам. Я был бы рад реализации в ком-
прессорах функции мультипакинга нескольких
файлов с подвешиванием к ним  стандартного
загрузчика , который  бы  сам  расбрасывал
файлы по страницам...


   НЕСКОЛЬКО СОВЕТОВ ЧЕЛОВЕКУ ПИШУЩЕМУ
           МУЗЫКАЛЬНЫЙ РЕДАКТОР

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

2.     Важно,  чтобы  player  занимал  как
можно  меньше тактов. Желательно 2-3 тыся-
чи.  В противном  случае область использо-
вания вашего редактора очень сузится.

3.     Прилагайте   к  редактору  исходный
вариант  playera  в  формате   какого-либо
ассемблера   (желательно  "TASM"  т.к.  из
него  проще  всего  конвертировать  файл в
любой другой редактор).   Можно также при-
лагать  текст   проигрывателя   в  обычном
текстовом формате.

4.     В первую  очередь  советую  ознако-
миться с редакторами на других платформах.
Могу   посоветовать   посмотреть  редактор
"OCTAMED" на AMIGA.    Я думаю, Вы найдете
там кучу  полезных  идей  по сервису и Ваш
редактор получится гораздо удобнее.

5.     Кроме облегчения  жизни  музыканту,
следует  позаботиться  и о кодере, который
будет использовать  музыку  в  своей прог-
рамме. Будет очень удобно,  если вы реали-
зуете realtime timer.То есть таймер, кото-
рый будет  показывать  время  проигрывания
музыки  с  точностью  до  прерывания.  Это
поможет  синхронизировать  музыку  в прог-
рамме с графикой.

6.    Сделайте возможность изменения гром-
кости мелодии  во время проигрывания, чтоб
можно было легко реализовать затихание му-
зыки.  Можно ввести три переменные в play-
er'е,  которые  будут  содержать  значение
максимальной громкости для каналов A,B,C.

7.     Вывод  в любой из трех каналов дол-
жен  просто отрубаться в любой момент про-
игрывания,  чтобы  можно  было  пустить по
этому каналу sound FX.

8.    Неплохо было бы  сделать возможность
перехода на  любую  позицию.  Это позволит
быстро  перейти  в  любое  место  мелодии,
хранить  несколько  мелодий  в  одной или,
например, использовать  мелодию  как набор
звуковых эффектов.

9.    Слушая музыку на Speccy, большинство
даже не догадывается , что большинство ме-
лодий сильно "фальшивят" именно из-за про-
граммных  особенностей  некоторых редакто-
ров. А  вот  один  мой знакомый из Киева -
Саша - профессиональный  музыкант  и  нас-
тройщик муз. инструментов обратил  на  это
особое внимание.   Итак,  доверившись  его
идеальному музыкальному слуху :-) ,  можно
сказать , что ни в "Sound Tracker'e", ни в
"ST-pro" , ни в "Pro Tracker'ах"  нет пра-
вильной, с музыкальной точки зрения, гене-
рации звука.   Лишь старый-престарый "ASM"
радует слух отлаженностью и точностью зву-
ка.
      Итак,  уже  существуют  переделанные
версии 3-его  "Pro  Tracker'а" , в которые
встроены  таблици генерации  звука позаим-
ствованные из "ASM" Сендетского.
      Надеюсь, все автора новых редакторов
и их версий учтут этот немаловажный нюанс.
Все-же  звучание - главное  в  музыкальном
редакторе.


 КОНКРЕТНЫЕ РЕКОМЕНДАЦИИ АВТОРАМ НЕКОТОРЫХ
           СИСТЕМНЫХ  ПРОГРАММ


          1. "ALASM" by ALEM

        Ассемблер обязательно должен пони-
мать  двоичное  представление чисел, запи-
санное после знака % (например %00000001).
        При  загрузке  WORK  файла  курсор
лучше сразу установить на  последний запи-
санный исходник.
        Возможность  пометки  части текста
другим цветом или инверсией.  Так же отме-
чать другим цветом строки с ошибками.
        По нажатию определеленной комбина-
ции клавишь, ассемблер  должен  запоминать
текущее  положение  в  тексте, и  затем он
должен иметь возможность  быстрого перехо-
да на это место.
        Команды   одноразовой   компиляции
очень удобны,  но  часто встречается такая
ситуация,  когда  подгружаются   несколько
файлов  один за другим, и метки располага-
ются между ними.  При этом  при  повторном
ассемблировании  адреса  меток  будут сби-
ты. Например фрагмент программы:
  MUSIC   +INCBIN "RAVE+   "
  SPRITES +INCBIN "GFX_CODE"
  TABLE   +INCBIN "DATA   "
При   первой  компиляции  значения   меток
SPRITES  и  TABLE  будут зависеть от длины
предыдущих файлов,   как и должно быть, но
при  последующем  ассемблировании,   когда
маркер "+" будет  заменен на "-", и  файлы
подгружаться не будут,   все три метки бу-
дут указывать  на  один  и  тот  же адрес.
Я думаю,  чтобы этого избежать,  достаточ-
но запоминать  при  ассемблировании  длины
всех  подгружаемых  файлов и затем их при-
бавлять  при  каждой  последующей компиля-
ции.
       Полезно  также  отключать  звук  на
AY, после возврата из запускаемой програм-
мы.
       Можно также,  чтобы незадействован-
ная клавиша BREAK  в  режиме  редактирова-
ния работала  как  ENTER, но  с  переводом
строки не  на  поле  меток,  а на поле ко-
манд.
       Работу  с диском лучше организовать
как в "TASM-4", то есть  подгружать  ката-
лог диска в память и брать  параметры фай-
лов прмо оттуда,  не гонять головку лишний
раз на нулевой трек.

И еще несколько  советов не только ALEM'у,
а и всем создателям ассемблеров:

       Желательно  предусмотреть  тестиро-
вание запускаемых процедур по  времени,  в
лучшем случае с точностью до  такта,  чуть
хуже с точностью до четырех,  а  в крайнем
случае хотя бы с точностью до  прерывания,
используя системный счетчик ( FRAMES ).
       Необходимо,  чтобы  после выхода из
запущенной  программы,  не  очищая  экран,
можно  было  войти  в  специальный   режим
вычисления  экранных  адресов.   А  именно
в режим,  когда  по экрану ездит указатель
величиной  в  один  байт или одну точку, и
при нажатии FIRE выводится  адрес  данного
байта в экранном файле,  в  области  атри-
бутов и координаты по X и Y.
       Была бы  полезной  команда  которая
привязывает  следующий  адрес   компиляции
к ровному шеснадцатиричному адресу.
       Хотелось бы,  чтобы  в  ассемблерах
были  команды  типа:  SAVE 0 TRACK  TO 159
и RESTORE 0 TRACK FROM 159.
       Также , полезным  бы  было  наличие
функций очистки памяти и страниц.




            2. STS by STALKER

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




   3. PERFECT COMMANDER by JAMES ADVENT

       В моей версии  коммандера, наблюда-
ется  один  незначительный,  но неприятный
глюк:  при  копировании  нескольких файлов
на диск на  котором  осталось  меньше  256
секторов,  коммандер иногда  "делает вид",
что копирование прошло  удачно,   а на са-
мом деле последние  файлы  не  переписыва-
ются.   Если  же  коммандер перезапустить,
все будет скопировано отлично.
       Перед  просмотром   экрана,   лучше
забивать атрибуты кодом 0 , а бордюр лучше
всегда оставлять черным , так-как  "интел-
лектуальная определялка"  иногда похожа на
полного дальтоника, это я  говорю тебе как
художник...

       Не   помешает   также  элементарный
проигрыватель  компилированной музыки, при
этом сам коммандер  должен  "спрятаться" в
страницах и подгрузить музыку с  player'ом
под любой адрес.
       Очень к стати будет просмотр  стан-
дартных текстовых файлов с  режимами 42  и
64 символа в строке.
       Хотелось бы, чтобы была реализована
стандартная функция сохранения копии ката-
лога на 159'ом треке.

       Ну а еще  подключай  пожалуйста 48к
ПЗУ и очищай  всю  память при запуске про-
грамм.
       Было-бы  просто  замечательно, если
бы ты реализовал  в  коммандере  прямую  и
полноценную  работу  с  MS-DOS.  Задолбало
для копирования файлов  использовать  тек-
стовый редактор...  :-)



     4. TOTAL COMMANDER by Dr. L0VE

       Обязательно сделай  "горячие"  кла-
виши, т.к. с окнами работать  слишком мед-
ленно.
       Советую  получше   подобрать  цвета
в коммандере, чтоб  он  не  смотрелся  так
чересчур пестро, это только мешает воспри-
ятию информации.
       Необходимо  реализовать возможность
запуска кодовых файлов.
       Возможность выбора любой  маски для
выводимых файлов.


      BEST VIEWER 2.5 by Иван Рошин

     Просто замечательная штука !  Я нара-
доваться не могу !
     Чего не хватает для полного  счастья:

    Проигрывания не компилированных файлов
от "ST-pro" (как в "X-player'e").
     Возможность просмотра текстов  в фор-
мате 42 символа в строке, а возможно  и  в
различной   кодировке  (WORD,  Д.Михайлова
(Amiga) и т.д.).
     Просмотр  архивов  спрайтов в формате
"SprGen 5.1" от Real Software.
     Управление от Kempston'a.
     Возможность  увеличения  окна с файл-
риквестором, когда списки файлов будут ид-
ти сразу в несколько рядов.
     Вывод  на  экран вспомогательной сис-
темной информации (стартовый адрес и длина
файла, имя диска и т.д.).
     По "настоятельной  просьбе телезрите-
лей" проигрывание  подгруженной  музыки  в
фоновом режиме во время просмотра текстов,
например.
     А вообще было  бы  best'ом из best'ов
обьединить "BV" и "Perfect"  в  единое це-
лое, либо дополнить "BV" всеми  атрибутами
коммандеров, ориентируясь на "Perfect"...


     В  данной  статье  я  рассмотрел лишь
несколько программ,  но если  у  Вас  есть
какие-либо идеи или замечания  по  систем-
ному soft'у, пишите нам и мы продолжим эту
тему в следующих номерах "RU(S)H".
    Создатели  программ  и их пользователи
обязательно   должны   общаться  и  сообща
вносить   в  новые  продукты  изменения  и
усовершенствования.

      Желаем творческих успехов в деле
       создания системных программ !!!



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

AMIGA NEWS - AMIGA OS v3.5 - вопросы и ответы.

AMIGA NEWS - Описание Viewer'а графических файлов - Fast JPEG.

AMIGA NEWS - Программинг на Amiga: О Amiga изнутри, Графика, Сопроцессоры, Особенности ассемблера.

AMIGA NEWS - События 1998 года (обзор событий).

AMIGA NEWS - Cheat'ы Для Amiga-игр: After The War, Magicland Dizzy, Fantasy World Dizzy, Alien Breed, Exolon, Jagar Zj2200, Goblins, Mega Ball, Prince Of Persia,Projects-x, UGH!, Rick Dangerous-2.

AMIGA NEWS - Амига GFX-чип Permedia2.

AMIGA NEWS - Амига сегодня.

Spectrum программинг - Быстрые 3D-расчеты: продвинутый алгоритм.

Spectrum программинг - Звуковые эффекты для музыкального процессора и их совмещение с основной мелодией.

Spectrum программинг - Зеркальное отображение байтов и Восстановление фона из буфера.

Spectrum программинг - Краткое пособие для системного кодера. Советы автору "boot'a", паковщика, Музыкального редакторы.

Spectrum программинг - Современные методы кодинга и современные способы работы с графикой.

The End - эпилог.

ZX-SOFT - "Черный Ворон II": Готовьтесь к очередному хиту от Copper Feet !

ZX-SOFT - Описание программ: Real Commander v1.6

ZX-SOFT - споры о демо: Forever vs Refresh.

Аторы - Авторы журнала.

Виртуальный Спекки - Конвертация графики на Спектрум с PC и Амиги.

Виртуальный Спекки - Эмулятор от CodeBusters на Амиге.

Виртуальный Спекки - Эмуляторы ZX-SPECTRUM на PC: Где взять последнии версии FAQ по эмуляции ZX-Spectrum, Какие эмуляторы наиболее удобны - эмулятор Лунтера, UKV v1.2, Шалаева. Что за файлы с расширением *.$b,*.$c,*.$s,*.$z,*.$w ? Как прочесть формат "hobeta". Как и в каком эмуляторе можно работать в iS-DOS. Конвертация файлов .z80 в .$ и обратно. Файлы с расширением .fdi. Проблемы с эмулятором UKV. Как получить чистый файл образа диска (.trd) для эмулятора Шалаева. Существует ли Российский ZX-ориентированный FTP или WWW сервер? Hobeta отказывается читать/писать диски 3.5" - что делать?

Вступление - история создания журнала.

Вступление - О целях сценового журнала - RUSH.

Интервью - Большое интервью с группой ANTARES.

Интервью - Интервью с Kvazar'ом из RUSH.

Интервью - Интервью с группой из Витебска Power group.

Информацриум - CD с эмуляторами и ZX-софтом.

Информацриум - Интересные INTERNET адреса.

Информацриум - Обзор журналов и книг об Амиге.

О журнале - Платформобесие - многоплатформенная оболочка для журнала.

Параллельные миры - История центральных процессоров и Windows.

Параллельные миры - обзор моделей компьютера Macintosh.

Развитие Spectrum - 128 цветов на Спектруме (описание расширения графической палитры).

Развитие Spectrum - Блокировка порта клавиатуры SPECCY при подключении C-DOS модема.

Развитие Spectrum - Новый Speccy - AZXMONSTRUM 512K.

Развитие SPECTRUM - Новый Spectrum от Синклера.

Развитие Spectrum - Потомки процессора Z80.

Реклама - подробный прайслист фирмы Скорпион.

Реклама - Реклама и объявления...

Реклама - Реклама фирмы X-Trade.

Смысл без смысла - Рассказы: Самый счастливый человек, Третий глаз, Спаситель Вселенной, Цветик-семицветик, Жизнь только начинается, Страшный суд.

Сцена vs профессионалы - собрав команду лучших людей со сцены, мы сможем создавать программы высочайшего качества...

Сценохрония - Живучий Спектрум: Spectrum дорог большинству из нас. Почему ?

Сценохрония - Краткий обзор новостей от группы RUSH.

Сценохрония - Обзор сцено-событий: Alliance, Alchemist Research, Asphyxia, Brokimsoft, CodeBusters, Concern Chaos, Copper Feet, Crystal Dream, Digital Reality, E0Mage, Energy Minds, Entire, Excess, Fatality и т.д.

Сценохрония - Отголоски Fun Top'98.

Сценохрония - Проект Long Live Amiga, призванный помочь становлению и развитию амиговской сцены.

Управление оболочкой - о ZX версии оболочки.


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

Похожие статьи:
Премьера - АССЕМБЛЕРЫ, КОТОРЫЕ МЫ ВЫБИРАЕМ (описание XAS).
Семь и 1/2 - Рассказ "Падал прошлогодний снег".
Мнение - Отличия beta EMS 0.4 от beta EМS 0.1.

В этот день...   25 июня