Посвящается всем, для кого «Дубна», «Ленинград» или просто «Спектрум» были не просто железом, а порталом в удивительный мир.
От автора: Звук, который стоил кружки чая
Первым компьютером был «Дубна 48К» с кассетным магнитофоном. Спустя годы, когда появился Спектрум 128 с дисководом и быстрой загрузкой, пришло разочарование: ушла магия. Исчезло то самое «пищание», по которому опытный пользователь различал загрузку картинки от машинного кода, пропало томительное ожидание, когда после нажатия «Play» судьба игры висела на волоске от помех на кассете.
Эта книга — не просто техническое руководство. Это
ностальгическое путешествие в 2013 год (и немного в прошлое), когда настоящий Спектрум остался лишь в памяти, а все эксперименты проводились под окнами Windows XP и 7. Изначально это был личный дневник программиста, попытка законсервировать знания, чтобы не забыть «как это делалось». Со временем записки превратились в полноценное исследование для тех, кто хочет вдохнуть жизнь в старые форматы с помощью современных инструментов.
Оглавление: Что внутри?
ЧАСТЬ 1: Настройка эмуляторов и обзор ПО под Windows
Погружение начинается с выбора инструмента. Разбираем плюсы и минусы эмуляторов и шаг за шагом настраиваем Spectaculator для самой аутентичной загрузки с «ленты» в реальном времени. Чтобы кружка чая снова была уместна.
ЧАСТЬ 2. Создание
Магия создания цифровых лент. Вы узнаете, как создавать самозапускающиеся блоки, прятать машинный код в символьных массивах, работать с переполнением памяти в 65535 байт и даже записывать картинки с «вылезающими» за края строками.
ЧАСТЬ 3. Работы по модификации ПЗУ эмулятора ZX-Spectrum
Хардкорный режим: меняем прошивку! Научитесь изменять встроенный шрифт, переписывать сообщения интерпретатора BASIC, менять легендарные цвета полос загрузки и даже внедрять в ПЗУ собственные программы.
ЧАСТЬ 4. Создание блоков данных утилитами под Windows XP и 7
Эмулятор — не единственный инструмент. Создаем BASIC-программы «из воздуха», конструируем звуковые .wav файлы данных вручную, учимся работать с заголовками и собираем блоки кода по кусочкам.
ЧАСТЬ 5. Примеры создания сложных программ с помощью эмуляторов и утилит
Синтез знаний. Создаем длинные «невидимые» блоки Program:, запускаем код через RANDOMIZE USR, пытаемся нарисовать ZX-DESKTOP (привет, Windows!) и экспериментируем с короткими пилот-тонами.
ЧАСТЬ 6. Работа с сигналом и звуком загружаемых данных
*Высший пилотаж. Превращаем сигнал загрузки в музыку, исследуем его форму в звуковом редакторе, учимся править сигнал вручную, чтобы влиять на цвет полос, и восстанавливаем
.tap файлы из аудио.
ПРИЛОЖЕНИЯ
Полезные таблицы: экономичные эквиваленты чисел для старых добрых оптимизаций и полный набор русских символов, чтобы вернуть кириллицу туда, где ей самое место.
Для кого эта книга?
Для тех, кто хочет не просто запустить старую игру в эмуляторе, а понять как именно она работала на уровне сигнала и кода. Для энтузиастов, инди-разработчиков ретро-игр и просто романтиков, которым не хватает "синего экрана" и терпеливого ожидания загрузки. Я понимаю, что для большинства это уже не актуально, но если хотя бы несколько человек найдут здесь что-то новое и полезное — всё было не зря.