Deja Vu #05: Понимание Оцифровки Звука на ZX Spectrum

SoundTrack: SUNNY BY SECTOR/SERIOUS'97 (!)

(C) M.M.A aka UnBELIEVER/SPEED CO./XTM'98

ДИСКРЕТИЗАЦИЯ НЕПРЕРЫВНОГО ВО ВРЕМЕНИ ГАРМОНИЧЕСКОГО КОЛЕБАНИЯ

или

DIGITAL ЗВУК, КАК ОН ЕСТЬ

------------------------- Это не лекция и даже не практика Это студенты пьют пиво "БАЛТИКА" ------------------------- Вместо эпиграфа....

* * *

За последнее время на наши головы свалилось огромное количество игр, demo, журналов и даже системных программ, в которых активно используется графика конвертированная с других платформ (AMMY/PC). Никто уже не удивляется, увидев на экране "сканированные" 100 рублей, рожу автора программы или даже голую задницу (если бы только задницу!). Однако, слышимая изредка из динамиков вашего звукового девайса человеческая речь, фрагменты известных песен или (опять же) просто похотливые женские вздохи вызывают интерес и иногда даже удивление.

Как это они звук в компьютер засунули?

А вот как...

Для начала немного теории. Не буду претендовать на правду в последней инстанции, но изложенное ниже действительно имеет место. Данным вещам вас вполне могут обучить в ВУЗ'е, на предметах ТЕОРИЯ ПЕРЕДАЧИ СИГНАЛОВ, ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ и им подобным. Я же хочу изложить основную суть, причем, кратко и доступно. Надеюсь умудренные высшим образованием товарищи не сочтут этот упрощенный вариант за ламерство... Итак, у нас есть сигнал. Что это такое - дикий вой Кинг-Конга или пламенная речь В.В. Жириновского - абсолютно не важно. Это могут быть даже 220 вольт из розетки при определенном подходе. Чтобы не быть голословным, я нарисовал кусок неопознанного сигнала на рисунке под номером один. Оси координат - это время (по горизонтали) и амплитуда (по вертикали). Тем, кто не понял, разъясняю; если это голос, то он изменяется во времени и в каждый из моментов имеет некоторую мгновенную амплитуду (проще говоря громкость). Процесс перевода этого звука на "язык цифр", понятный машине заключается в проведении двух операций - дискретизация и квантование.

Для дискретизации нам нужно разбить ось времени на равные участки с определенным шагом. Шаг дискретизации выбирается произвольно и, как вы понимаете, чем он больше, тем качественнее будет звук. Почему? Потому, что после разбиения оси времени мы начинаем считать, что между двумя соседними штрихами (рис. 2) наш сигнал имеет постоянное значение, то есть на графике он должен быть горизонтальной линией. Как многие, наверное, уже поняли, шаг дискретизации - это и есть в некотором смысле те самые 4, 8, 16, 22, 44 КГц. Теперь, из каждой точки (взятой с выбранным шагом) на оси времени, мы можем провести прямую и, опустив перпендикуляр на ось амплитуд из точки пересечения прямой и графика, получить некоторое значение амплитуды сигнала в данный момент времени. Однако, чтобы узнать значение амплитуды в данный момент времени, нужно ось этой самой амплитуды разметить - разбить с некоторым шагом, как и в случае со временем. Этот процесс по научному называется квантованием. Не надо быть RST#7, чтобы понять всю важность того, чтобы шаг квантования был как можно меньшим и следовательно уровней было как можно больше. Сравните рисунки 3 и 4. На третьем всего семь уровней квантования и график (под графиком сигнала) состоит из крупных ступенек. На четвертом уровней уже 16 и ступеньки (если их провести) стали меньше, более приближаясь к оригиналу.

Кстати, расстояние от "ступеньки" до реальной точки на графике, т.е. разница "настоящего" значения сигнала в этой точке и его квантованного значения называется шумом квантования. В большинстве своем все то шипение, которое слышно из динамиков во время воспроизведения оцифровки, и есть шум квантования, образовавшийся на этапе получения оцифровки. Логично предположить, что при стремлении шага дискретизации к нулю, а числа уровней квантования к бесконечности, шум исчезает полностью. Вот в принципе и вся теория. Таким образом, после преобразований у нас получается массив мгновенных значений амплитуды (громкости) сигнала в определенные моменты времени. Как же подобрать параметры дискретизации и квантования так, чтобы звук был более реальным и максимально соответствовал оригиналу? Оптимальным является дискретизация сигнала с частотой 44КГц. Откуда берется это число? Есть такая теорема Котельникова, которая сложна и одновременно проста. Так вот, она (если немного подумать) говорит нам, что для полного восстановления сигнала нужно дискретизировать его с частотой в два раза большей, чем та, в которой спектральная плотность сигнала отлична от нуля. Человеческое ухо воспринимает как звук колебания от 2Гц до 20КГц, то есть диапазон в 20КГц. Вот его-то мы и умножаем на 2, получая где-то 40-44КГц. Достижима ли такая скорость воспроизведений на SPECCY? Конечно нет! Все то, что мы слышим (DIGITAL SOUND) в многочисленных демках и специализированных музыкальных редакторах, в основном, имеет частоту 4-8КГц. В редких случаях 15-16КГц (одна из мелодий на E'97 MUSIC COMPO) и даже 22КГц (ZY-ZY и ACTION by VAV). В качестве эксперимента самарскому программисту MONSTR'у из SAGE GROUP удавалось достичь таких скоростей проигрывания звука, когда частота оцифровки может достигать 30КГц и это практически предел возможностей стандартного Z80A 3.5МГц. Однако, при всех этих достижениях, народ продолжает перегонять звук преимущественно с частотой 8КГц. В чем же порылась собака? А дело в том, что, как было описано выше, кроме частоты дискретизации есть еще один параметр - число уровней квантования. Безмерно увеличивая один из этих параметров и не изменяя другой, координального улучшения качества мы не получим! Число уровней квантования принято измерять в битах на отсчет, например, фраза "у этой карточки пятибитовый звук" означает, что данное устройство может воспроизвести звук, квантованный на 32 уровня (%11111 = 31 + 1).

A что же SPECTRUM?

1bit - 2 уровня - beeper 4bit - 16 уровней - AY-CHIP 7bit - 128 уровней - ряд COVOX'ов 8bit - 256 уровней - SOUNDRIVE

Таким образом, если шаг дискретизации мы можем выбрать в широком пределе (программно), то число уровней в нашей оцифровке неизменно (аппаратно) и изменять его можно только вниз (на COVOX'е слушать 1bit sound). Теперь, я думаю, самые сообразительные поняли, что звук для SOUNDRIVE'а, занимающий 10 секунд на часах, в памяти компьютера съест ни много ни мало - 10*X КГц, где X - частота. Конечно же, хочется зацифровать такой звучек на 22KHZ (тем более, что никто не мешает!), но в памяти это скушает 220КБ!!! Да и сами устройства, играющие больше 4bit, есть далеко не у всех - стандарт все же сопроцессор! Изложенные ниже конвертор и проигрыватель ориентированы именно на него. Как же получить оцифрованный вариант желаемого звука? Для этого вам понадобится устройство, называемое АЦП - аналогово-цифровой преобразователь. Существует ряд схем данного устройства для SPECCY, но на мой взгляд, получать оцифровку на нашем родном компьютере не имеет смысла. Для этого можно использовать большой, "профессиональный" АЦП, имеющийся буквально повсюду - IBM PC. Весь софт, существующий на PC и предназначенный для оцифровки/обработки звука, можно заставить выгружать данные в формате .WAV. Более того, т.к. .WAV является стандартным форматом звука для Windows, без проблем можно найти большое количество уже готовых звуков в каталогах любой "виндозной" программы (целое их лежбище можно найти на диске с Office'97). Найдя или получив на PC файл в формате .wav, следует убедиться, что этот звук является "восьмибитным" и "моно". Чаще встречаются звуки 16bit и stereo. Их, конечно, тоже можно конвертировать на SPECCY, но для этого нужен другой (чем приведенный ниже) конвертор, плюс к этому подобные файлы будет очень трудно переводить из-за большого количества избыточной информации. .WAV может иметь любую частоту дискретизации, т.к. лишние отсчеты можно откинуть уже на SPECCY, путем "выбрасывания" каждого второго байта данных. Частота при этом уменьшится в два раза.

------------------------------------------

Маленькая рекомендация по переводу из MS-DOS в TR-DOS.

Обычно это делается посредством IS-DOS, но, если файл большой, то его трудно будет потом конвертировать - придется разрезать. Более того, если файл окажется больше 255 секторов, то даже IS-DOS не поможет. Я рекомендую пользоваться программой MSDOS-RD. Данная штука, хоть и написанная достаточно глючно, но позволяет копировать файлы любой длины, разрезая при этом на равные куски по 16384 байта. Помните только, что имя файла и расширение нужно вводить строго большими буквами.

------------------------------------------

Вспоминая тот факт, что нам из "писишных" 8bit нужно всего 4bit, встает задача по переводу данных. Одновременно можно порадоваться за то, что в одном байте после перевода уместится два отсчета:

весь байт

1010 0101 └────┴────┘

первый отсчет второй отсчет

Ясный пень, что в этом случае в памяти уместится в два раза больше данных. Сей факт не может не радовать, но за него придется заплатить уменьшением быстродействия. Так как же перевести 8bit в 4bit? Самым простым и радикальным методом является деление на 16. Берем из каждого "восьмибитного" отсчета только старшие 4 бита.

Но есть способ лучше... - "РОНДО" (C) Реклама

Будем выделять наши биты с помощью некоторой аппроксимирующей функции. Зачем? Чтобы получить более качественный звук! Предлагаемая ниже аппроксимирующая кривая была взята ALK'ом из каких-то одному ему известных соображений. Вы можете попробовать создать на BASIC'е свой массив и посмотреть, как изменится звук. Ниже показан рисунок, на котором одновременно изображены наша функция (наверху) и линия, отражающая вариант, когда берутся первые 4 бита (внизу).

█√ л ▄√ л @▌√ л `▐√ л А▀√ л ар√ л └с√ л

Начало и конец обоих графиков совпадают, но в середине есть отличие. Это, казалось бы, несущественное отличие, играет существенную роль в качестве.

------------------------------------------

Для получения своей аппроксимирующей кривой, набейте на BASIC'е программу, которая будет строить непрерывную функцию от 0 до 255 по X и высотой не более 16 точек (по оси Y). Затем вместо команды PLOT поставьте POKE и, немного подождав, вы получите массив цифр в памяти. Да что я объясняю!?! Сейчас же юзер продвинутый пошел! Понимает с двух слов ):

------------------------------------------

Итак, первым делом запускаем конвертор - процедура под меткой KONVERT. Табличка аппроксимации перебросится в экран (можно в любое другое место, лишь бы адрес был ровный - младший байт #00) и процесс пошел! Через несколько секунд, мы уже имеем в памяти с того же адреса, куда был загружен .wav, готовую к употреблению оцифровку. Ее длина ровно в два раза меньше, чем размер исходного .wav'a. Теперь смело запускаем проигрыватель, задав в нужных регистрах адрес расположения и длину звука, умноженную на два (длину оригинального .wav'а).

ВОТ ОН И _З_В_У_К_, СТРУИТСЯ ИЗ ВАШИХ

ДИНАМИКОВ!

Регулировку скорости проигрывания можно произвести с помощью метки TORMOZ. Однако, даже если минимальное значение TORMOZ=1 является для вашего .wav'а медленным, можно убить саму процедуру торможения, выиграв при этом еще несколько килогерц. Волновать вас должна сейчас не скорость, а подозрительный щелчек в начале оцифровки. Это есть не что иное, как заголовок .wav'а, где хранились некоторые его параметры. Мы с вами случайно их перевели и теперь играем, как начало звука. Чтобы избавиться от этого противного щелчка, запустите процедурку CORRECT, которая скопирует в начало звука массив чисел, являющихся нарастающей от #00 до #0A амплитудой. Этот массив полностью затрет сконвертированный описатель .wav'а, а вместе с ним и противный щелчек. Вот, в принципе, и все, что нужно знать для начала экспериментов с цифровым звуком. Может быть, отдельным товарищам покажется, что я изложил все это по-ламерски и наивно считаю себя гением в конверсии звука. Вовсе нет! Я просто стремился донести истину до большинства пользователей самым простым и доступным языком. Всем тем, кого заинтересовал данный материал, хочу дать маленький совет: используйте "мощь" калькулятора IBM PC во благо SPECCY и помните, что кроме оцифровки звука его еще можно и обработать (удаление шума/фильтры/эффекты) в ряде редакторов типа COOL'95, SOUND FORGE и т.п. Качество улучшится!

Тут, как с конверсией графики - можно от балды, а можно посидев в PhotoShop'е!

;------------------------------------- ; ПРОИГРЫВАТЕЛЬ .WAV ФАЙЛОВ !; WRITTEN BY ALK/STARS OF KELADAN'97 ; CORRECTED BY M.M.A/SPEED CO.'97 ; LAST EDITION ON 10.04.98 ;------------------------------------- ; ПРИМЕР ИСПОЛЬЗОВАНИЯ ПРОИГРЫВАТЕЛЯ ; LD HL,#C000 ; АДРЕС НАЧАЛА ДАННЫХ ; LD DE,#3800*2 ; (ДЛИНА ЗВУКА) * 2 ; CALL PLAY ; EI ; RET ;-------------------------------------

TORMOZ EQU 2 ; ЗАДЕРЖКА ПРИ ПРОИГРЫВАНИИ ; ПОДБИРАЕТСЯ В ЗАВИСИМОСТИ ; ОТ ЧАСТОТЫ ОЦИФРОВКИ.

DATA EQU #8000 ; АДРЕС РАСПОЛОЖЕНИЯ ; ИСХОДНОГО .WAV ФАЙЛА ; ДЛЯ ПЕРЕВОДА

SAMP EQU #4000 ; АДРЕС АППРОКСИМИРУЮЩЕЙ ; ТАБЛИЦЫ ДЛЯ ПЕРЕВОДА ; 8bit > 4bit

LENGHT EQU #8000 ; ДЛИНА ПЕРЕВОДИМОГО .WAV ; ФАЙЛА

; ПРОИГРЫВАТЕЛЬ

;--------------------------------------- PLAY1 PUSH HL ; ДЛЯ ПЕРВОГО ВЫЗОВА PUSH DE CALL INIAY POP DE POP HL ;--------------------------------------- PLAY DI ; ПОСЛЕДУЮЩИЕ ВЫЗОВЫ PR2 CALL PLAYAY CALL INIAY RET PLAYAY EXX LD DE,#FFBF LD C,#FD LD L,8 EXX LD B,0 LPLAY LD A,(HL) MAS1 AND #F0 CT1 RRCA RRCA RRCA RRCA EX AF,AF EXX LD A,L LD B,D OUT (C),A EX AF,AF LD B,E OUT (C),A EX AF,AF INC A LD B,D OUT (C),A EX AF,AF LD B,E OUT (C),A EX AF,AF INC A LD B,D OUT (C),A EX AF,AF LD B,E OUT (C),A EXX LD A,(CT1) XOR #0F LD (CT1),A LD (CT1+1),A LD (CT1+2),A LD (CT1+3),A LD A,(MAS1+1) CPL LD (MAS1+1),A RLCA AND 1 LD C,A ADD HL,BC DELAYAY LD A,TORMOZ ; СОТРИТЕ ЭТИ СТРОКИ LPB DEC A ; ДЛЯ ДОСТИЖЕНИЯ JR NZ,LPB ; МАКСИМАЛЬНОЙ СКОРОСТИ DEC DE LD A,D OR E JR NZ,LPLAY RET INIAY LD HL,BUFAY XOR A LD DE,#FFBF LD C,#FD LIA LD B,D OUT (C),A LD B,E OUTI INC A CP 14 JR NZ,LIA RET BUFAY DW 1,1,1 DB 0,#3F,0,0,0 ; МОЖНО ПОСТАВИТЬ DB 0,0,0 ; #38 - Ч И Щ Е, ; НО ТИШЕ!

;--------------------------------- ; КОНВЕРТОР ;---------------------------------

KONVERT LD HL,SAMPTAB LD DE,#4000 LD BC,#0100 LDIR LD HL,DATA LD DE,DATA LD BC,LENGHT LPRE LD A,(DE) CALL PREOSA RLCA RLCA RLCA RLCA LD (HL),A INC DE LD A,(DE) CALL PREOSA OR (HL) LD (HL),A INC DE INC HL DEC BC LD A,C OR B JR NZ,LPRE RET PREOSA PUSH HL LD HL,SAMP LD L,A LD A,(HL) POP HL RET

;--------------------------------------- ; ТАБЛИЦА ДЛЯ ПЕРЕВОДА 8bit > 4bit ;--------------------------------------- ; АССЕМБЛИРОВАТЬ СТРОГО С РОВНОГО АДРЕСА ; ТИПА #5B00,#C000,4000 И Т.Д. ; РАЗМЕР ТАБЛИЦЫ - #100 БАЙТОВ. ;---------------------------------------

SAMPTABLE

DEFB #00,#00,#00,#00,#00,#00,#01,#01 DEFB #01,#01,#01,#01,#01,#01,#01,#01 DEFB #01,#02,#02,#02,#02,#02,#02,#02 DEFB #02,#02,#02,#02,#03,#03,#03,#03 DEFB #03,#03,#03,#03,#03,#03,#03,#04 DEFB #04,#04,#04,#04,#04,#04,#04,#04 DEFB #04,#04,#05,#05,#05,#05,#05,#05 DEFB #05,#05,#05,#05,#05,#06,#06,#06 DEFB #06,#06,#06,#06,#06,#06,#06,#06 DEFB #06,#07,#07,#07,#07,#07,#07,#07 DEFB #07,#07,#07,#07,#07,#07,#08,#08 DEFB #08,#08,#08,#08,#08,#08,#08,#08 DEFB #08,#08,#09,#09,#09,#09,#09,#09 DEFB #09,#09,#09,#09,#09,#09,#09,#09 DEFB #0A,#0A,#0A,#0A,#0A,#0A,#0A,#0A DEFB #0A,#0A,#0A,#0A,#0A,#0A,#0B,#0B DEFB #0B,#0B,#0B,#0B,#0B,#0B,#0B,#0B DEFB #0B,#0B,#0B,#0B,#0B,#0B,#0C,#0C DEFB #0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C DEFB #0C,#0C,#0C,#0C,#0C,#0C,#0C,#0C DEFB #0D,#0D,#0D,#0D,#0D,#0D,#0D,#0D DEFB #0D,#0D,#0D,#0D,#0D,#0D,#0D,#0D DEFB #0D,#0D,#0D,#0D,#0D,#0D,#0E,#0E DEFB #0E,#0E,#0E,#0E,#0E,#0E,#0E,#0E DEFB #0E,#0E,#0E,#0E,#0E,#0E,#0E,#0E DEFB #0E,#0E,#0E,#0E,#0E,#0E,#0E,#0E DEFB #0E,#0E,#0E,#0E,#0E,#0F,#0F,#0F DEFB #0F,#0F,#0F,#0F,#0F,#0F,#0F,#0F DEFB #0F,#0F,#0F,#0F,#0F,#0F,#0F,#0F DEFB #0F,#0F,#0F,#0F,#0F,#0F,#0F,#0F DEFB #0F,#0F,#0F,#0F,#0F,#0F,#0F,#0F

;-------------------------------------- ; БЛОК ДЛЯ СГЛАЖИВАНИЯ НАЧАЛЬНЫХ ЩЕЛЧКОВ ; ДЛИНА - 22 БАЙТА. (C) МОЙ! ;--------------------------------------

CORRECT LD HL,RISING LD DE,DATA LD BC,22 LDIR RET

RISING DB #00,#01,#11,#12,#22,#23,#33 DB #34,#44,#45,#55,#56,#66,#67 DB #77,#78,#88,#89,#99,#9A,#AA DB #AA

Оглавление издания: Deja Vu #05

  • Аперативчик - Max
    Подробные инструкции по управлению интерфейсом DEJA VU, выделены разные методы ввода и команды навигации. Объяснение новых и старых интерфейсов для улучшенного пользовательского опыта. Обсуждение дополнительных функций, таких как фреймовый скроллинг и управление музыкой.
  • Аперативчик - Max
    Обсуждение поддержки машин с памятью более 128к, что привело к наличию отдельных оболочек для систем 128к и 256к. Тестирование проводилось в основном на Scorpion и Profi, предполагается работа на других моделях. Статья содержит инструкции по распаковке исходников и информацию об использовании улучшенных алгоритмов.
  • Тема - M.M.A
    Статья исследует теорию оцифровки звука на ZX Spectrum, акцентируя внимание на процессах дискретизации и квантования. Она предлагает практические советы по конвертации звуковых файлов с использованием определенного оборудования и программного обеспечения. Также даются методы улучшения качества звука с учетом аппаратных ограничений.
  • Тема
    Статья обсуждает инициативу Save Our Scene, направленную на объединение пользователей и разработчиков Spectrum для продвижения дистрибуции ПО и улучшения развития сцены.
  • Устав Ассоциации Amazing Soft Making
    Обсуждение устава ассоциации Amazing Soft Making, в котором изложены ее цели, критерии членства и принципы функционирования.
  • Теория Журналостроения
    Статья содержит подробное руководство для начинающих создателей журналов, сосредотачиваясь на технических аспектах, таких как дизайн интерфейса, управление памятью, форматирование текста и интеграция музыки для публикаций на ZX Spectrum.
  • Капля припоя
    Статья представляет личный опыт покупки и использования устройства General Sound для ZX Spectrum, описывая установку и качество звука. Обсуждаются первоначальные проблемы и восхищение улучшенным звуковым сопровождением в совместимых играх. Автор призывает к дальнейшей адаптации программного обеспечения для устройства и размышляет о мультимедийных возможностях с одновременным использованием оборудования.
  • Капля припоя
    Статья описывает возможности Sound Forge 4.0c для профессиональной обработки звука на ПК, подчеркивая его обширные функции, такие как редактирование звука, эффекты и инструменты восстановления.
  • SOFTWARE
    Статья рассматривает последние разработки программного обеспечения для ZX Spectrum из Самары, включая обновления MAXSOFT SCREEN PACKER, File Commander и новые приложения, такие как S-Terminal.
  • SOFTWARE - Card!nal
    Обзор и прохождение логической графической приключенческой игры 'Операция Р.Р.' с подробными инструкциями по уровням. Обсуждение элементов игры, таких как выбор музыки и графический дизайн. Упоминается участие нового кодера MAX/CYBERAX/BINARY DIMENSION.
  • SOFTWARE
    Обсуждение текущего состояния и эволюции демосцены, подчеркивающее рост 4K интро и предстоящие конкурсы, такие как FUNTOP'98.
  • CODING
    Статья обсуждает техники кодирования на ассемблере для оптимизации прокрутки экрана на ZX Spectrum, включает примеры кода и анализ производительности.
  • CODING - RLA
    Статья рассматривает методы манипуляции со стеком при прерываниях второго рода для графических эффектов на ZX Spectrum. Обсуждаются решения для сохранения целостности данных, когда прерывания нарушают графические операции. Приведены практические примеры для эффективного решения проблем со стеком.
  • КОДИРОВАНИЕ
    Статья описывает паковщик MS-PACK и его DEPACKER, детализируя сценарии использования и предоставляя примеры кода на BASIC и ассемблере для работы с упакованными файлами. Подчеркивается оптимизация производительности, позволяющая распаковку с включенными прерываниями и отделение DEPACKER от упакованных файлов. Дополнительно включены идеи о техниках программирования для загрузки и выполнения BASIC-файлов на ZX Spectrum.
  • КОДИРОВАНИЕ
    Статья обсуждает различные техники кодирования для ZX Spectrum, сосредоточиваясь на выводе спрайтов, алгоритмах поворота и методах оптимизации для повышения производительности.
  • ДРУГОЙ МИР
    Обсуждение эволюции мультимедийных технологий и их влияния на различные области, включая образование и развлечения. Охватываются достижения в аппаратном и программном обеспечении, которые способствовали интеграции аудио, видео и текста. Статья отражает прошлые достижения и предполагает будущее мультимедийных систем.
  • АНО ДРУГОЙ МИР
    Сравнение систем PC и Amiga, подчеркивающее производительность, стоимость программного обеспечения и пользовательский опыт с мультимедийными возможностями.
  • Доска почета
    Интервью с PROGRESS обсуждает их творческий путь на ZX Spectrum и AMIGA, касаясь проблем в демомейкинге и текущего состояния сцены.
  • Доска почета
    Статья описывает деятельность и будущие проекты команды Eternity Industry из Коврова, включая успешные релизы и сотрудничество с другими группами.
  • Доска почета
    Обсуждение фестиваля Artcomp'98, сосредоточенное на его формате участия по почте и правилах для различных конкурсов, включая демо, графику и музыку.
  • Доска почета
    Статья представляет собой глоссарий терминов, используемых в демосцене, объясняя роли, такие как музыкант, программист и художник, а также различные типы демо и эффектов. Она служит полезным ресурсом для понимания терминологии и динамики сообщества. Это описание, направленное на просвещение читателей о жаргоне демосцены.
  • Доска почета
    Статья обсуждает проблемы с поддержкой мыши в различных изданиях ZX Spectrum и разочарование пользователей при столкновении с несовместимостями. Критика разработчиков за несоблюдение стандартов приводит к плохому пользовательскому опыту. Автор подчеркивает важность постоянного улучшения программного обеспечения для сообщества ZX Spectrum.
  • Доска почета
    Статья обсуждает процесс создания триколорных изображений для ZX Spectrum с использованием Photoshop и упрощенного подхода. Описывается, как разделить изображение на RGB-каналы и конвертировать их для использования на Spectrum. Также даны советы по управлению файлами для достижения оптимальных результатов.
  • Доска почета
    Статья обсуждает сравнение и перспективы различных компьютерных систем, акцентируя внимание на сильных сторонах AMIGA по сравнению с PC и призывая ценить все машины.
  • Семь и 1/2
    Статья обсуждает юмористические абсурдности и особенности военного обучения и академической жизни, сочетая сатиру с реальными анекдотами и остроумными наблюдениями.
  • Семь и 1/2
    Статья представляет собой сатирический мануал по методологиям программирования, высмеивая жесткость формальных практик программирования и выступая за более креативный подход к коду.
  • Семь и 1/2
    Инструкция по технике безопасного секса, включая рекомендации по допуску, подготовке, действиям во время и после сеанса, а также действиям в аварийных ситуациях.
  • Семь и 1/2
    Статья обсуждает призыв к талантливому художнику в Краснодаре для группы ZX Spectrum, поднимает вопросы об unethical практике Scorpion по правам на софт и критикует видеообзор E'97.
  • Семь и 1/2
    Статья 'Семь и 1/2' описывает забавное приключение пикника команды редакторов Deja Vu, подчеркивая их товарищество и неудачи при приготовлении шашлыка.
  • Проба пера
    Статья представляет собой юмористическое описание вымышленных приключений Винни-Пуха в взаимодействии с компьютерами и друзьями, обсуждая абсурдность технологий и повседневной жизни.
  • Проба пера
    Статья посвящена новому разделу журнала Deja Vu, посвященному литературе фэнтези и фантастики, включая обзоры книг и участие читателей в создании контента.
  • Реклама
    Статья является рекламной секцией журнала Deja Vu #05, предлагая сотрудничество с дизайнерами и музыкантами для будущих выпусков, а также предлагая различные программное обеспечение и оборудование для ZX Spectrum.
  • Новости
    Статья объявляет о запуске нового журнала AMIGA RULES, посвященного компьютеру AMIGA, на фоне нехватки качественных русскоязычных изданий. Он направлен на предоставление информации о программировании, аппаратном обеспечении, программном обеспечении и играх, а также на формирование сообщества среди поклонников AMIGA. Журнал будет включать материалы от читателей и регулярные обновления о сцене AMIGA.