Adventurer #08: Обмен опытом: Улучшение пиксельного движения на ZX Spectrum

(C) Иван Рощин, Москва, 1998

Если вы видели "ART VISION" demo, то помните, что в последней части там движется атрибутная надпись "intel outside". Так как надпись атрибутная, то и перемещается она с дискретностью 8 пикселей (1 знакоместо), что выглядит не очень красиво. Я написал программу, которая, по существу, реализует тот же самый полноэкранный, "укладывающийся в прерывание" эффект, но теперь перемещение - попиксельное, что выглядит несравнимо лучше. Программа снабжена подробными комментариями, так что разобраться в ней не составит большого труда.

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

Картинка размером 64*64 знакоместа взята из "ART VISION" demo и находится в массиве PICTURE. Каждое знакоместо кодируется одним битом, таким образом, вся картинка занимает 512 байт.

Траектория движения задается с помощью массива CRDS, который содержит 100 элементов следующего вида:

1 байт - смещение (в знакоместах) левой стороны фрагмента относительно левой границы картинки (см. рис.)
1 байт - смещение (в пикселах, по модулю 8) левой стороны фрагмента относительно левой границы картинки.
1 байт - смещение (в знакоместах) верхней стороны фрагмента относительно верхней границы картинки.
1 байт - смещение (в пикселах, по модулю 8) верхней стороны фрагмента относительно верхней границы картинки.

┌──────────────────>x
│ │── вся картинка
│ ┌───────┐ │
│ │ │ │
│ │ │───────── выводимый
│ │ │ │ фрагмент
│ └───────┘ │
│ │
│ │
│─────────────────┘
y

Количество элементов в массиве и их значения можно изменять, тем самым задавая новую траекторию движения. Итак, вот сама программа:

CALL MAKEADR ;Подготовка...
CALL UNPACK
CALL CLS

M1 LD IX,CRDS ;адрес таблицы
LD D,100 ;кол-во координат
;в таблице
M2 LD BC,4
LD A,(IX) ;Берем
LD (XATR),A ;координаты
LD A,(IX+1) ;выводимого окна
LD (XPIX),A ;*
LD A,(IX+2)
LD (YATR),A
LD A,(IX+3)
LD (YPIX),A ;*

ADD IX,BC ;Увелич. адрес
PUSH IX
PUSH DE
CALL OUTSCR ;Вывод на экран
POP DE
POP IX

XOR A
IN A,(254)
CPL
AND 31 ;Если что-то
RET NZ ;нажато, выходим

DEC D ;Продолжаем...
JR NZ,M2
JR M1

;***************************************
;Проц. OUTSCR выводит на экран фрагмент
;картинки.
;Вход: XATR,XPIX - смещение левой
;стороны фрагмента относительно
;левой границы картинки (XATR*8+XPIX
;пикселов);
;YATR,YPIX - смещение верхней стороны
;фрагмента относительно верхней границы
;картинки.

OUTSCR DI
LD (TO_Q+1),SP ;Сохранили SP
LD SP,TAB_SCR

;SP указывает на начало таблицы адресов
;строк экрана. При каждом выполнении
;команды POP со стека снимается адрес
;очередной строки.

LD A,(XPIX)
ADD A,A
ADD A,A
ADD A,A
ADD A,A
ADD A,#80
LD H,A
LD L,0
LD A,(YATR)
LD D,A
LD E,0
SRL D
RR E
SRL D
RR E
ADD HL,DE
LD D,0
LD A,(XATR)
LD E,A
ADD HL,DE

POP DE ;#4000
LD BC,-#10
EX DE,HL
ADD HL,BC
EX DE,HL
LD (LP4+1),DE

;HL указывает на строку изображения;
;DE - на адрес в видеопамяти, куда
;нужно переслать эту строку
;(в данном случае это самая верхняя
;строка экрана, с адресом #4000).

LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI

;Пересылаем оставшиеся (7-YPIX) строки:

LD (HL_S1+1),HL

LD A,(YPIX)
LD B,A
LD A,7
SUB B
JP Z,SCRH

LP4 LD HL,0
POP DE
LD BC,-#10
EX DE,HL
ADD HL,BC
EX DE,HL
LD (LP4+1),DE
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
DEC A
JP NZ,LP4

;Теперь еще 23 раза пересылаем по 8 стр.

SCRH LD YL,23 ;Счетчик
HL_S1 LD HL,0 ;Адрес очередной
LD BC,#40 ;пересылаемой
ADD HL,BC ;строки
LD (HL_S1+1),HL

;Подготавливаем адреса для переброски:

EX DE,HL ;Сохранили HL
LD C,#10
POP HL ;Куда пересылать
LD (SP_0+1),HL
ADD HL,BC
LD (SP_01+1),HL
POP HL ;На строку ниже
LD (SP_1+1),HL
ADD HL,BC
LD (SP_11+1),HL
POP HL ;На строку ниже
LD (SP_2+1),HL
ADD HL,BC
LD (SP_21+1),HL
POP HL ;На строку ниже
LD (SP_3+1),HL
ADD HL,BC
LD (SP_31+1),HL
POP HL ;На строку ниже
LD (SP_4+1),HL
ADD HL,BC
LD (SP_41+1),HL
POP HL ;На строку ниже
LD (SP_5+1),HL
ADD HL,BC
LD (SP_51+1),HL
POP HL ;На строку ниже
LD (SP_6+1),HL
ADD HL,BC
LD (SP_61+1),HL
POP HL ;На строку ниже
LD (SP_7+1),HL
ADD HL,BC
LD (SP_71+1),HL
LD (PUT_SP+1),SP ;Сохр. SP

EX DE,HL ;Восстановили HL
LD BC,-#20
ADD HL,BC
LD SP,HL
POP AF ;Взяли первые
POP BC ;16 байт
POP DE ;пересылаемой
POP HL ;строки
EXX
POP BC
POP DE
POP HL
POP IX
LD (TWO+1),SP

SP_0 LD SP,0 ;Записываем их
PUSH IX ;на экран
PUSH HL ;в 8 соседних
PUSH DE ;строк
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_1 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_2 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_3 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_4 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_5 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_6 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_7 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX

TWO LD SP,0
POP AF ;Взяли вторые
POP BC ;16 байт
POP DE ;пересылаемой
POP HL ;строки
EXX
POP BC
POP DE
POP HL
POP IX

SP_01 LD SP,0
PUSH IX ;Записываем...
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_11 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_21 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_31 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_41 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_51 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_61 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX
SP_71 LD SP,0
PUSH IX
PUSH HL
PUSH DE
PUSH BC
EXX
PUSH HL
PUSH DE
PUSH BC
PUSH AF
EXX

PUT_SP LD SP,0 ;Восст. SP
DEC YL ;Уменьшаем счетчик
LD A,YL
AND A
JP Z,END_ML ;Вывели 23 строки

;После того, как вывели 12 строк, ждем
;прерывания. Это нужно для синхронизации
;с ходом луча. Когда луч рисует верхнюю
;часть экрана, программа выводит
;изображение в нижнюю часть, и наоборот.

CP 12
JP NZ,HL_S1
LD HL,0
ADD HL,SP
LD SP,(TO_Q+1)
PUSH IY
LD IY,#5C3A
EI
HALT
DI
POP IY
LD SP,HL
JP HL_S1

;Если YPIX<>0, нужно вывести последние
;строки в самом низу экрана:

END_ML LD A,(YPIX)
AND A
JP Z,TO_Q

LD HL,(HL_S1+1)
LD BC,#20
ADD HL,BC
POP DE
LD BC,-#10
EX DE,HL
ADD HL,BC
EX DE,HL
LD (LP5+1),DE
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI

;Пересылаем оставшиеся строки:

LD A,(YPIX)
DEC A
JP Z,TO_Q
LD B,A

LP5 LD HL,0
POP DE
LD BC,-#10
EX DE,HL
ADD HL,BC
EX DE,HL
LD (LP5+1),DE
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
LDI:LDI:LDI:LDI:LDI:LDI:LDI:LDI
DEC A
JP NZ,LP5

TO_Q LD SP,0 ;Восстановили SP
LD IY,#5C3A ;---/--- IY
EI
RET ;Выход из процедуры

;***************************************
;Проц. MAKEADR создает таблицу с
;адресами всех 192 строк экрана,
;в которой каждый адрес увеличен на #10.
;Адрес таблицы - TAB_SCR.

MAKEADR LD HL,TAB_SCR
LD DE,#4010
LD B,192

LP_MAKE LD (HL),E
INC HL
LD (HL),D
INC HL
CALL DOWN_DE
DJNZ LP_MAKE
RET

DOWN_DE INC D
LD A,D
AND 7
RET NZ
LD A,E
SUB #E0
LD E,A
RET NC
LD A,D
SUB 8
LD D,A
RET

;***************************************
;Проц. UNPACK распаковывает картинку
;по адресу PICTURE на #8000-#FFFF

UNPACK LD HL,#8000
LD DE,PICTURE
LP_UP1 LD B,8
LD A,(DE)
LP_UP2 RLA
LD C,#FF
JR C,TO_MEM
LD C,0
TO_MEM LD (HL),C
INC HL
DJNZ LP_UP2
INC DE
LD A,H
CP #90
JR NZ,LP_UP1

LD HL,#8FFF
LD DE,#9FFF
AND A
PUSH AF

LP_UP3 POP AF
LD A,(HL)
RLA
PUSH AF
LD (DE),A
DEC HL
DEC DE
LD A,L
CP #FF
JR NZ,LP_UP3
LD A,H
AND #0F
CP #0F
JR NZ,LP_UP3
LD BC,#2000
ADD HL,BC
EX DE,HL
ADD HL,BC
EX DE,HL
LD A,D
CP #0F
JR NZ,LP_UP3
POP AF
RET

;***************************************
;Проц. CLS устанавливает атрибуты:

CLS LD HL,#5800
LD (HL),5
LD DE,#5801
LD BC,#2FF
LDIR
RET

;****************************************
;Картинка #40х#40 = #1000 бит = #200 байт

PICTURE
DB #00,#00,#00,#00,#7F,#F0,#00,#00
DB #00,#00,#00,#1F,#FF,#FF,#80,#00
DB #00,#00,#00,#7F,#FF,#FF,#E0,#00
DB #00,#00,#03,#FF,#FF,#FF,#FC,#00
DB #00,#00,#1F,#FF,#FF,#FF,#FE,#00
DB #00,#00,#3F,#FF,#FF,#FF,#FE,#00
DB #00,#00,#FF,#FE,#1F,#FF,#FC,#00
DB #00,#01,#FF,#F0,#03,#FF,#FC,#00
DB #00,#07,#FF,#00,#00,#1F,#F8,#00
DB #00,#0F,#F8,#00,#00,#0F,#F8,#00
DB #00,#1F,#C0,#00,#00,#C1,#F0,#00
DB #00,#3F,#00,#18,#00,#E0,#70,#00
DB #00,#7E,#00,#18,#01,#E0,#20,#00
DB #00,#F0,#00,#18,#01,#E0,#00,#00
DB #01,#F0,#01,#FF,#81,#C0,#04,#00
DB #03,#E7,#03,#FF,#31,#C0,#0E,#00
DB #03,#C7,#00,#1C,#79,#C0,#0F,#00
DB #07,#87,#00,#18,#F9,#C0,#0F,#80
DB #0F,#00,#5E,#19,#99,#C0,#1F,#C0
DB #0F,#0E,#7E,#19,#99,#C0,#1F,#C0
DB #1E,#0E,#67,#39,#B1,#C0,#3F,#F0
DB #1C,#0E,#67,#31,#B1,#C0,#3F,#F0
DB #1C,#0C,#67,#33,#E1,#C0,#0F,#F8
DB #38,#0C,#67,#33,#C1,#C0,#07,#F8
DB #30,#1C,#67,#33,#89,#C0,#03,#F8
DB #30,#18,#67,#31,#99,#80,#01,#FC
DB #30,#18,#67,#31,#99,#80,#00,#FC
DB #60,#18,#07,#31,#F1,#80,#E0,#7C
DB #60,#18,#03,#30,#E1,#80,#E0,#7E
DB #60,#00,#00,#30,#00,#00,#E0,#3E
DB #E0,#00,#00,#00,#00,#00,#E0,#3E
DB #E0,#00,#00,#00,#00,#00,#E0,#1E

Оглавление издания: Adventurer #08

  • От автора - Shaitan
    Технические детали нового интерфейса программы для ZX Spectrum. Обсуждаются улучшения и функции, такие как прокрутка и изменение цвета. Предоставлены инструкции по навигации с помощью клавиатуры и кнопок.
  • От автора
    Введение от автора и информация о редакционной команде.
  • Презентация
    Статья представляет программный установщик для создания автозапускаемых дисков и знакомит с новой адвентюрной игрой, созданной с помощью QUILL доктором Лазером.
  • Презентация программного обеспечения TRICK
    Статья представляет TRICK, новое программное обеспечение для защиты программ, разработанное Eternity Industry, и обсуждает его бета- и коммерческие версии. Автор, Александр Калинин (aka Paracels/EI), обращает внимание на предыдущие недостатки программного обеспечения и подчеркивает его улучшенный интерфейс. В статье также содержатся детали приобретения программы и приглашение читателям заказать её.
  • Презентация
    Статья содержит подробное руководство пользователя для HELP_Z80, бесплатной утилиты для ZX Spectrum, которая служит электронным справочником по командам микропроцессора Z80. В ней описывается, как загрузить и использовать программное обеспечение, включая объяснения команд, функции поиска и интеграцию с ассемблерами. Кроме того, включены распределение памяти, функциональные особенности и ссылки для дальнейшего чтения.
  • Интерфейс
    Статья обсуждает отзывы читателей о интерфейсе журнала, касаясь вопросов цен и тенденций программного обеспечения в сообществе ZX Spectrum. В ней представлено письмо от читателя, который высказывает мысли о ценах на игры и уменьшении числа пользователей платформы. Также обсуждаются разработки программного обеспечения и вовлеченность пользователей.
  • Интерфейс
    Статья делится опытом автора после покупки Амиги, сравнивая ее с ПК и обсуждая ее использование для игр, графики и музыки, отмечая при этом некоторые ограничения программного обеспечения.
  • Интерфейс
    Статья обсуждает проблемы поддержки пользователей со стороны производителей 'железа' SCORPION и NEMO для устройств ZX Spectrum. Критика SCORPION за плохое обслуживание клиентов при том, что они являются лидерами рынка, и похвала NEMO за оперативную поддержку. Автор выражает беспокойство о текущем состоянии рынка 'железа' для ZX Spectrum.
  • Интерфейс
    Статья обсуждает будущее платформы Spectrum, затрагивая демографию пользователей, проблемы производства софта и возможности эволюции аппаратного обеспечения.
  • Интерфейс
    Статья обсуждает разочарования пользователя Speccy в связи с проблемами аппаратного обеспечения, трудностями современной вычислительной техники и преданностью платформе Speccy.
  • Интерфейс
    Статья рассматривает жизнь и судьбы пользователей ZX Spectrum, включая личные воспоминания автора о друзьях и их взаимодействии с компьютерами.
  • Система
    Статья рассматривает различные программы для ZX Spectrum, включая текстовые редакторы, аудиоплееры и графические утилиты. В ней представлены независимые мнения о их характеристиках и удобстве использования, выделяя как сильные, так и слабые стороны. В статье подчеркивается эволюция и улучшение программных средств, доступных для этой классической платформы.
  • Обзор игрушек
    Обзор заметных игр для ZX Spectrum с акцентом на графику, звук и игровые механики. Каждая игра сопровождается кратким описанием и рейтингом. Рекомендуется любителям ретро-игр.
  • Обзор игрушек
    Статья рассматривает демо-версии различных игр, подчеркивая их потенциал и уникальные особенности. Акцентируется внимание на дефиците таких релизов на рынке и оцениваются качество и механика выбранных игр. Автор делится мнениями о прогрессе и ожиданиях к будущим полным версиям этих игр.
  • Гости
    Статья описывает образование и деятельность группы Eternity Industry, её участников, проекты и планы на будущие релизы и соревнования.
  • Гости - Dr. John
    Интервью с Феликсом из Virtual Brothers о его переходе от ZX Spectrum к ПК, разработке игры 'Винни-Пух' и планах на будущее.
  • Гости
    Интервью с музыкантами Маратом и Демоном из группы 'Disgust', обсуждающими свою музыкальную эволюцию, влияния и взгляды на жизнь и творчество.
  • Раскрутка
    Статья представляет собой подробный мануал к игре 'ENCYCLOPEDIA of WAR', описывающий выбор армий, типы юнитов и механики битвы.
  • Раскрутка
    Статья представляет собой руководство по игре, описывающее необходимые предметы и стратегии для преодоления различных испытаний, включая столкновения с динозаврами и навигацию по деревням.
  • Раскрутка
    Статья представляет собой обзор игры в жанре arcade adventure 'ELOPEMENT' от Omega HG, описывая ее особенности и давая советы по прохождению.
  • Раскрутка
    Статья описывает текстовую адвентюру 'Остров тьмы' на QUILL, предлагая советы для игроков. Упоминаются механики и персонажи, включая загадки и взаимодействия. В конце представлена карта острова.
  • Раскрутка 'Knightmare'
    Статья описывает игру 'Knightmare', подробно рассказывая о командах, механике игрового процесса и начальных квестах. Игрок управляет рыцарем, который должен взаимодействовать с персонажами и решать загадки для продвижения. Это руководство по навигации в игровом окружении и целям.
  • Обмен опытом
    Статья критикует адвентюрную игру 'Island of Darkness' Пауля Москоу, подчеркивая её нелогичный дизайн, отсутствие подробных описаний предметов и нехватку подсказок для игроков.
  • Обмен опытом
    Статья представляет собой мануал по доработке ассемблера ZX ASM 3.0, вводя функции отладки и управления выполнением программ на ZX Spectrum.
  • Обмен опытом
    Статья описывает феномен, наблюдаемый с видеоконтроллером ZX Spectrum, когда переключение между двумя экранами может создавать неожиданные визуальные артефакты. В ней изложена конкретная программа, которая демонстрирует этот эффект за счет быстрой смены экранов. Автор обсуждает последствия и возможные применения данного поведения.
  • Обмен опытом - Иван Рощин
    Статья представляет собой руководство по переносу эффекта заставки 'iris.ss' из Dos Navigator на ZX Spectrum, включая исходный код и советы по модификации.
  • Обмен опытом - Иван Рощин
    Описание процедуры OPEN_W для создания границ окна. Включает детали о настройке символов и размеров. Используется PRSYM для печати символов.
  • Обмен опытом - Maximum
    Введение в операции с длинными числами для разработки игр на ZX Spectrum, включая сложение, вычитание и преобразование в ASCII.
  • Обмен опытом
    Статья обсуждает кастомизацию графического редактора ART STUDIO путем создания дополнительных модулей, которые улучшают его функциональность, включая функции воспроизведения музыки и отображения координат курсора.
  • Обмен опытом
    Статья описывает программу, разработанную для улучшения визуального качества атрибутного сообщения с пиксельным движением на ZX Spectrum. Приведены детали реализации, включая использование массивов данных для задания траектории движения и рендеринга изображений. Программа снабжена комментариями для облегчения понимания и может быть изменена для создания различных эффектов.
  • Оттяг
    Статья содержит юмористические зарисовки и комментарии о различных аспектах жизни и технологий, включая анекдоты о вымышленном персонаже и его опыте с процессором Pentium.
  • Тест фармацевта
    Статья представляет собой юмористические тесты, предназначенные для определения, является ли человек настоящим фармацевтом или самозванцем, с ситуационными вопросами и оценкой знаний.
  • Странности и самооценка в 'Оттяг'
    Статья 'Оттяг' представляет собой юмористическую и критическую самооценку автора, исследующую различные жизненные опыты и причуды, подчеркивающие его необычные черты личности.
  • Юмористический Тест: Оцени Свое Чувство Юмора
    Статья представляет собой юмористический тест для оценки чувства юмора и сексуальных установок через различные ситуационные вопросы, раскрывающие абсурдные и комические перспективы.
  • Оттяг
    Статья представляет собой юмористический тест для определения, какой ты студент — от весельчака до старательного ученика. В ней есть ряд вопросов оtypичных студенческих действиях и реакциях. Результаты классифицируют студентов по набранным баллам от беззаботных до ботаников.
  • Как Правильно Мучить Windows 95 - Maximum
    Статья описывает иронический подход к установке и эксплуатации операционной системы Windows 95, включая способы ее 'мучения' и троллинга. В тексте используются гиперболизированные примеры взаимодействия с ОС для создания комичного эффекта. Это развлекательный материал с элементами юмора.
  • Оттяг
    Статья - это юмористическая нарративная история о Винни-Пухе и его друзьях, которые возвращаются в Вечнозеленый лес, где их беззаботная жизнь превращается в хаос. Описываются их шалости, включая пьянство и злоключения, когда они воссоединяются и сталкиваются с различными трудностями. История раскрывает личности персонажей и их взаимодействия в комедийном ключе.
  • Новелла
    Статья описывает юмористическую новеллу, в которой капрал Джонлан рассказывает о своем первом военном задании и общении с внуком за пивом.
  • Новелла
    Новелла описывает приключенческий побег из базы глотов на старом космическом корабле, подчеркивая столкновения и хитрые маневры главного героя.
  • Новелла
    Статья рассказывает о забавной истории о двух ежиках, Пухлом и Заразe, которые после странного события обзаводятся крыльями и должны справляться с новыми обстоятельствами. История сочетает фантазию и юмор, поскольку персонажи сталкиваются с неожиданными изменениями и трудностями. Это новелла, демонстрирующая imaginative storytelling.
  • Новости
    Статья обсуждает последние новости из Рыбинска, связанные с пати FunTop, описывая вклад различных участников и команд в журнал 'Adventurer' и конкурс демо.
  • Новости
    Статья сообщает о событиях в сообществе Спектрумистов Ярославля, включая информацию о разработчиках программного обеспечения и их текущих проектах.
  • Реклама
    Статья представляет собой сборник рекламных объявлений и анонсов, связанных с ZX Spectrum, приглашая к сотрудничеству программистов, художников и музыкантов, а также подробно описывая, как получить журнал и программное обеспечение.