Интервью с Busy
Скачать Интервью в формате журнала:
https://vk.com/doc51607_484367731
Вступление:
Это Интервью с спектрумистом busy я нашёл в Чехословацком журнале "BiT", посвященном ZX Spectrum. Интервью очень объёмное и это неудивительно, ведь busy - спектрумист до мозга костей. О компьютерах и программах он может говорить бесконечно, причём с подробностями, которые понимает только он сам, поэтому перевод обещал быть трудным во всех отношениях. С самого начала я столкнулся с ужасными по качеству сканами страниц журнала, видимо сделанными кем-то "на коленке". Поэтому пришлось после работы FineRider вручную исправлять битые символы Словацкого языка. И только потом переводить в нескольких онлайн переводчиках, которые упорно не хотели понимать принадлежность этого текста к Словацкому или Чешскому языку, то и дело подменяя словари. Я бы сказал что этот перевод получился чем то средним, между тем "как оно есть" и тем как должно быть, дополненное мной по смыслу. В журнале это Интервью было разбито на части, поэтому публиковалось 4 месяца к ряду с надписью "продолжение следует...". Изначально я приготовился к четырём листам перевода, но в процессе обнаружил, что редакторы журнала невнимательно отнеслись к своей работе, ведь один и тот же кусок Интервью опубликовали дважды в разных журналах за разные месяцы. То есть редакторы BiT просто не понимали что они делают формируя тексты в журнале или же они так же как и я сошли с ума после общения с программистом busy.
Что значит переводить текст программиста? Да это безумие парни! Я реально допереводился до настоящих глюков. После перевода 2 листа, который закончился в 3 часа ночи мне приснился сон в котором Busy и его одноклассник приехали ко мне домой в Россию. На моё удивление их пустила моя тёща, в тот момент, когда меня не было дома. Придя в квартиру я застал друга busy спящего в кресле, а самого Бузю ходящего "как смерть с косой" по комнате (видимо фото Бузи на ночь насмотрелся). Я сразу же расчехлил свою пентеву, чтобы показать 3 новых части мегадемо, которые в реалии параллельно переводу делал с гоблином. И показал бы, если бы не предательская кошка "Персик" нагадившая "Realtime", но всё же наяву в лоток в 6 утра, который хочешь не хочешь вынесешь, потому что запах слишком душистый. Вот такое случается, когда ты увлечён одновременно трудным переводом и созданием мегадемо, причём занимаешься этим без перерыва с утра до ночи и с ночи до утра. Ну да ладно, как говорится - это всё лирика, давайте читать получившееся чтиво:
Интервью с Busy от октября 1992 года дополненное в 2018 году.
Бузи похожий на смерть с косой.
1.Где и когда Вы родились?
- Я родился 24 декабря 1970 года в городе Братислава. Сейчас правда не вспомню, почему же я решил родиться в тот самый день... Итак сегодня, 18 октября 1992 года), я наслаждаюсь своим юбилеем 21.8142 (+/- 0,0001) лет.
2. Следующий вопрос, который является стандартным: как случилось, что Вы стали спектрумистом?
- Это произошло в феврале 1987 года, как только первый компьютер "Delta +" был импортирован в Прагу. Тогда мои одноклассники уговорили меня купить его. Поскольку ранее начинал работать на легендарном PMD-85 я уже знал основы Basic. Во время второго семестра 1987 года я изучил основы программирования на Delta+. А в ноябре 1988 года продал Delta+ и купил ZX Spectrum 128k +2. Он сохранился у меня до сегодняшних дней.
3. У Вас до этого был свой компьютер?
Нет, до этого момента у меня не было своего компьютера. В школе был небольшой PMD-85, на котором я занимался программированием на языке Basic.
4. Когда Вы написали свои первые программы?
Две моих первых программы написанные на ZX Spectrum Basic хорошо мне запомнились. Я сделал их примерно через неделю после покупки своего"плюсика" (Delta+). Это была одна простая программа рисования и ещё более простая стрелялка под названием «Traf ma!».
У обоих программ было около 2 килобайт кода. Я тогда ещё постигал азы Бейсика и мало знал об эстетике написания строк. Сразу после этого компьютер сломался (сгорела ULA). Я не чинил её до мая 1987 года и продолжал при этом программировать в течении трёх месяцев на компьютере в школе.
5. Какие программы ты уже сделал?
Об этом мне легко говорить. Упомяну основные направления моей деятельности. Первое - это музыкальные демонстрации, которые показывают графику и звуковые возможности ZX Spectrum. Ещё я написал много копировщиков и системных программ. Так же создавал программы для математических вычислений, драйверы несколько отладчиков для BT-100 и NL-2805 (которыми пользуюсь в настоящее время). Я также являюсь соавтором нескольких упаковщиков. Ещё несколько раз занимался развлекательными программами. Я даже немного вникал в искусственный интеллект создав программу, которая разговаривала с пользователем. Я предпочитаю делать рискованные просто «нереальные» демонстрации с интересными решениями программиста и нереальными загрузчиками.
6. Ты известен, как автор множества копировщиков. Расскажи почему ты их делал?
Это началось в те времена когда у меня был Delta+. Сначала я использовал в работе знаменитый MR Copy+, а потом TF Copy 87. Но поскольку я был вечно недовольным пользователем, мне хотелось чтобы в программе было больше свободной памяти. Итак, в октябре 1988 года я разработал свой первый экземпляр для ZX Spectrum 48k, который имел 45056 кб свободной памяти. Когда я купил ZX Spectrum 128k, сразу же выпустил новый копировщик. Он имел 123126 кб свободной памяти. Но время шло вперёд и в итоге я сделал 23 копировщика под различные типы ZX Spectrum: 48кб (свободной памяти 45330 кб), 128кб (126,208), 80кб (77056), и Didaktik Gamma (76544). Увеличение памяти вполне очевидно. Они не могли сжимать информацию, но были оснащены 17-битным счётчиком, поэтому они могли копировать блоки размером более 64 кб. Для 48к я ещё сделал один неизданный копировщик "спартанского" вида, который умел выполнять только команды: LOAD, SAVE, CLEAR. При этом он отображал только одну строчку, но зато имел 48082 байта свободной памяти. Так же я планирую сделать для 128 кб подобный копировщик, который по моим расчётам должен содержать 129024 свободных байта. Но пока что я не знаю как его сделать.
7. Ultrasoft сейчас (1992 год) продаёт твой MRS (Memory resident system) версия 08Е. Что можешь рассказать о этой программе?
Прежде всего я хотел бы уточнить, что MRS, это не только моё творение. Оригинальная версия была сделана в 1986 году в Институте прикладной кибернетики в городе Братислава. Она была сделана пани Джедличкой и Титкой. (Jedlička и Titka.) В октябре 1987 года мне записали эту программу знакомые одноклассники. Я немного разобрался как она сделана, но сам бы я не смог её сделать (даже используя компьютер Прометей) Как уже говорил ранее, я очень недовольный человек и постоянно пытаюсь что то улучшить в коде программы. Я начал убирать лишнее и улучшать код оптимизируя его. Поскольку MRS служит для программирования я начал самостоятельно её дорабатывать под свои нужды. Поэтому в начале 1988 года мир увидел версию 04.
Позже были выпущены неудачные версии 05 и 06. Однако в начале января того же года у меня произошёл значительный скачёк в программировании поэтому была выпущена версия 07. В дополнение к другим полезным вещам, она имела возможность "перемещать" библиотеку практически в любой адрес памяти. Ну, а в конце 1989 года произошел ещё один более ярко выраженный прорыв в программировании, была выпущена версия 08. Поскольку библиотека, которая была во всех версиях не использовалась (даже мной ) я удалил её полностью. Я полностью переписал все мои усовершенствования и части программы, сделав компактную сборку MRS. Все функции, которые требовали работы с памятью ПЗУ были переписаны так, чтобы не завесить от ПЗУ (вплоть до прерываний). Поэтому MRS мог использоваться с ОЗУ 64 кб. Эта версия имела 64 символа в каждой строке. После этого я сделал к MRS одну утилиту - дизассемблер, который создавал исходный текст с метками, не только при переходе, но и там где это было необходимо.
В этой версии очень удобно обрабатывать самомодифицирующиеся программы, потому что вы можете исправлять инструкции в середине регистра. Затем, уже на практике я использовал данную программу и выловил ещё несколько ошибок, которые исправил. Итак, в декабре 1989 года, новая версии программы за номером 08Е увидела свет или тьму (это по Вашему желанию). Теперь эту версию продает Ultasoft.
8. Менее распространенным является твой монитор отладчик. Расскажи, как ты его делал?
Итак, тут нужно окунуться в историю процесса. В древние времена, когда воду фильтровали через песок прежде чем налить в кувшин, и не было известно секретных инструкций процессора Z80, кто-то обнаружил, что регистр IX, может быть разделен на верхний и нижний байт. Потом с каждым годом открывали всё больше и больше новых инструкций. Однажды меня накрыло и я написал короткую программу, протестировав все 1788 комбинаций. Среди них я нашёл 1268, которые делали нечто иное, чем NOP. В табличках из которых только 700. На основе полученной информации я сделал пятую версию своего монитора отладчика (SMM.05.) В дополнение к дизассемблеру эта версия выполняла другие функции монитора: несколько способов отражения содержимого памяти (ASCII, байты, hex, dex); интеллектуальная строка памяти, а так же интеллектуальный поиск событий в памяти, работа с магнитофоном и так далее...
https://busy.speccy.cz/tvorba/zxprogs.htm
9. Какие ещё системные программы ты сделал?
Я сделал несколько системных программ для работы с магнитофоном. Сложное название "Таре Сode 3.2", которая не только осуществляет запись, но так же контролирует четность записи, (осуществляет проверку записи) различает скорость записи, имеет возможно распечатывать данные на принтере. Основное отличие от других подобных программ в том, что у пользователя появляется магнитофон с управлением ленточным механизмом на компьютере. Эта программа оснащена логикой управления ленточным механизмом магнитофона. Следующая программа «Recorder Justage» использовалась для регулировки положения головки. (сходство названия программы с аналогичной на компьютере С64 не случайно). Я так же написал несколько драйверов на VT-100. Последний мог набирать 116 символов в строке с стандартным размером 8*8 символов и печатать текст в качестве NLQ - в режиме наивысшего качества.
10. Я думаю, ты являешься самым известным создателем "нереальных" демонстрационных программ?
Да, точно - так оно и есть. Всем известно что некоторые вещи не могут быть сделаны потому что просто не могут быть реализованы. Но кое-где находится такой человек, который это всё равно сделает, даже понимая что это сделать в принципе не возможно. Вот такой человек действительно похож на меня, потому что я то же знал что это не возможно и брался делать код. Началось всё 28 июля 1987 года, когда я обнаружил, что на одном атрибуте можно использовать только два цвета. Я написал программу, которая рисовала четыре квадрата в одном атрибуте, каждый своим цветом. Самое интересное, что в те годы у меня ещё не было опыта работы на компьютере ZX Spectrum. Плюс к этому я не знал машинного кода и поэтому сделал всё на языке Basic. Программа называлась "4 Colors" Поскольку у меня была Delta+, программа работала с 48 кб памяти, а так же на других клонах. Цвета в атрибутах могли немного смещаться, иначе этот эффект мог не проявиться вообще.
https://busy.speccy.cz/tvorba/4colors.htm
Затем я создал целую серию таких демонстрационных программ, которые рисовали на границе бордера и папера, что на ZX Spectrum сделать было не возможно. Это были музыкальные демонстрации:
Hercules
https://zxaaa.net/view_demo.php?id=4515
MDA Demo
https://www.zxaaa.net/view_demo.php?id=9642
Overscan Demo
https://www.zxaaa.net/view_demo.php?id=9558
Мои друзья, которые увидели эти программы позвонили мне и сказали, раз я в состоянии сделать такое на ZX Spectrum, то не мог бы я сделать программу, которая не будет сбрасываться при нажатии на кнопку "Reset". Итак, в начале 1989 года я создал программу которая при нажатии сброса не давала компьютеру сброситься и вместо этого писала на экране сообщение - "Кто нажал сброс?"
Моя программа не использовала второго экрана на 128 кб. И работала в режиме 48кб. Помимо этого я сделал несколько типов шрифтов на бордере. Последний, меньше по размеру и красочнее чем в игре Sentinel. Все мультиколорные программы, которые я описывал ранее имели больше цветов по оси Y. Но в начале 1992 года мне удалось сделать демонстрацию, которая имела ещё больше количество цветов в атрибуте. По оси X атрибут мог иметь любой из трёх цветов.
https://youtu.be/iJoaFt_V_5o
https://www.zxaaa.net/view_demo.php?id=9639
Interlace
11. Твоя серия программ Song In Lines, стала очень знаменитой, расскажи о ней?
Так и есть. Примерно в июне 1988 года мой друг показал мне программу с С64, которая называется Song in hires
https://www.youtube.com/watch?v=AiHyTJsE3AU
На экране менялись очень красочные линии и при этом играла очень приятная музыка. Мне очень сильно понравилась эта программа. Я выяснил по какому принципу работают эти линии (это было не трудно). В августе сделал нулевую версию программы, которая называлась так же Super Line.
https://zxaaa.net/view_demo.php?id=1997
В то время у меня был только ZX Spectrum+ без AY процессора, поэтому эта версия была без музыки. Затем, когда у меня появился ZX Spectrum 128 с AY процессором я сделал версию программы FX Sountrack I. Мне казалось что музыка Fuxoft идеальная для моей программы. Я немного обновил графику, добавил новые функции и это была первая версия с названием Song In Lines.
https://www.zxaaa.net/view_demo.php?id=1996
Затем, после того как я сделал "FX Soundtrack 2,3" и в последствии 4, я подготовил вторую, третью и четвертую версии. Каждая последующая версия имела новые графические возможности и более быструю графику, чем предыдущая. Это достигалось за счёт оптимизации кода и поиска новых решений. Четвертая версия стала напоминать оригинальную демонстрацию "Song in heres" на С64. Именно эта версия находится на демонстрационной кассете к компьютеру Didaktik M.
https://www.zxaaa.net/view_demo.php?id=1985
Потом музыкант Fuxoft перешёл на Amiga, и получалось так, что новой музыки FX Soundtrack 5 не будет и в связи с этим не будет моей пятой версии. Что естественно в последствии не произошло. В то время у нас появился ещё один талантливый музыкант (VOODOO), который так же создал свой собственный SoundTrack (музыкальный сборник), который назвал VMP "Voodoo music pack".
https://www.zxaaa.net/view_demo.php?id=1128
В тот момент я был очень злой, поэтому сделал пятую версию "Song in lines". Она включала в себя помимо улучшений графики демонстрируемой на экране во время исполнения музыки, ещё весь пак музыки «FX Sountrack 4» и пак музыки от VMP, что в общей сложности составило 37 потрясающих мелодий с общим временем воспроизведения - 95 минут.
https://www.zxaaa.net/view_demo.php?id=1978
Естественно, что всё это не уместилось в 48 кб памяти и мне пришлось использовать 128 кб. Поэтому, помимо этой версии я сделал сокращенную версию для 48 кб, которая не имела начального эффекта в интро и там отсутствовали мелодии Fuxoft. В остальном эта версия работала точно так же как на 128 кб.
https://www.zxaaa.net/view_demo.php?id=1977
Скажу для интересующихся, что в четвертой версии "inter-polator", который рисует прямые линии в три раза быстрее чем прошит в ПЗУ спектрума, а в последней пятой версии он работает в семь с половиной раз быстрее.
12. Вы так же сделали несколько игр?
Нет, создание игр меня не привлекало. Просто потому что для того чтобы создать хорошую игру, уровня, как это делают нынешние мировые игровые студии (в разумное количество времени), во первых для этого мне потребовалось бы применить непропорциональное количество усилий, а во вторых, потому что у меня просто нет на это времени. Я предпочитаю создавать системные программы для пользователей. Хотя я делал пару игрушек, таких как BS MIX 9-5, Bludisko. Это были простые игрушки без какой либо глубокой мысли.
https://busy.speccy.cz/tvorba/bsmix.htm
Хотя я сейчас ещё могу упомянуть одну программу, которая хоть и относится к игре, но мне не хотелось бы её относить к игрушкам. Это Genius18, программа обладающая искусственным интеллектом, которая может вести беседу с игроком на любую тему. Она знает ответы на разные вопросы и когда вы в чем то её пытаетесь убедить она начинает с Вами спорить. Хотя делает это она не очень хорошо, потому что интеллект программы не слишком высокий, вероятно на уровне двух летнего ребёнка.
https://busy.speccy.cz/tvorba/genius.htm
13. В какие игры ты предпочитал играть?
Я даже не могу вспомнить, когда я последний раз играл в какую ни будь игру. Но если нужно ответить на этот вопрос, скажу что мне нравиться играть в игры в которых есть вечная жизнь, бесконечная энергия, бесконечные патроны и так далее... Мне не нравиться преодолевать препятствия в борьбе. Мне гораздо интереснее просто посмотреть как выглядят разные уровни без боя. Я всё же упомяну в ответе на этот вопрос конкретные названия игр в которые я играл. Когда то это был "Exolon 87", сейчас "Netherworld", "Midnight Resistange", а из симуляторов "Chase HQ". Обратите внимание что все игры из моего списка имеют приятную AY музыку.
14. Создавал ли ты музыку сам, подобно музыканту Франтишек Фука?
Нет, потому что у меня нет музыкального слуха. (я даже немного глуховат). Но многих людей интересует то что генерирует аудио процессор AY-3-8912 или AY-3-8910 (далее просто AY). Поскольку у меня ZX Spectrum 128k, в нём есть звуковой процессор и во всех моих демо есть AY музыка. Я люблю слушать стерео звук, поэтому через неделю после того как купил свой ZX Spectrum 128 (это было в конце ноября 1988 года) я распаял стерео выход и подключил его как А-правый канал, B-левый и С посредине. Neskór когда начинал производить такой модуль под названием AY - "Melodik" для компьютера Didaktik Skalica сказал мне что будет делать его как ACB-Stereo и я с ним согласился.
Я даже адаптировал мелодии Fuxoft, чтобы они звучали правильно для каналов ACB Stereo. Музыканты, например такие как Noro, Qjeta пишут музыку под формат ACB. Сейчас написано много музыки в этом формате. Вот почему я хотел бы попросить всех производителей AY модулей делать стерео выходы с такой распайкой, чтобы не было путаницы в звучании.
15. Вы упомянули что у Вас есть расширение под стерео выход AY в ZX Spectrum. А у Вас было подключено ещё какое-то оборудование ?
Конечно! Я использовал интерфейс, состоящий из двух микросхем 8255 на 64 кб, так же там была внешняя аккумуляторная батарея. В ПЗУ у меня зашито: собственная дисковая и операционная система; MRS и другие системные программы. Адресация проходит в четырех банках размером по 16 кб, вместо исходного ПЗУ и контролера дисковода. Я заказал сборку этой платы в фирме "MDV h&s". В принципе там не было ничего такого особенного, чтобы я не смог сделать сам, просто у меня не было на это время. Кроме того я подключил контроллер "Z80-DMA" к шине данных. Я уже говорил что после того как купил ZX Spectrum 128k сделал аудио выход ACB как на плате расширении AY-Melodik. Так же я установил 8bit D/A ЦАП преобразователь. Так же я планирую подключить аккумулятор для постоянной работы часов на компьютере, как это сделано на IBM PC. Ещё я собираюсь сделать одно процессорный аналого-цифровой преобразователь. Так же с приятелем я хотел аппаратно подключить к ZX Spectrum звуковой процессор от компьютера Sam Coupe или C64. Мы думаем, что каких либо препятствий в этом нет. Но потом отказались от этой идеи. Да и похоже, что мы были единственные, кто хотел бы это сделать.
16. Вы упомянули в одном из своих ответов про собственную дисковую систему. С чем она была совместима?
Когда я начинал разрабатывать свою дисковую систему мне хотелось чтобы она была совместима с MS-DOS. Но структура каталога MS-DOS имеет иную философию, нежели чем это сделано в ZX Spectrum. (например у неё нет начального адреса). Все дисковые системы ZX Spectrum, которые я знаю имеют фиксированную длину каталога. Меня этот факт всегда бесил, когда у меня есть 500кб свободного места и при этом уже полный каталог. Кроме того ни одна дисковая система на ZX Spectrum не умеет работать с HD форматом. (слышал, якобы Beta Disk это умеет, но я до сих пор не видел его) Я придумал собственный формат диска (совместимый только с собой), который имеет следующие характеристики: на одной дискете может быть 64 подкаталога расположенных в виде древа, полностью динамические, позволяют каждому каталогу иметь любое количество файлов (практически максимальное значение 65280). На одной 3,5HD дискете помещается 1,8 мб данных, и это чистая отформатированная ёмкость дискеты. Благодаря шести килобайтам кэш памяти, скорость записи в три раза быстрее чем это реализовано в D40 или D80. И при всём этом, моя система занимает 8 кб. Самое главное что помимо стандартных команд Вы можете эмулировать загрузку и сохранение дисков по адресам # 562 и # 4c6. Это значит, что все программы которые корректно вызывают эти процедуры в ПЗУ автоматически будут работать с моим диском, поэтому у меня нет проблем с загрузкой таких программ с моего диска и их совместимостью.
17. Вы планируете покупать себе компьютер Sam Coupe?
Нет, не планирую. Конечно же у него есть свои преимущества: 6мгц, 512 кб, 6 канальный звук. Но мне кажется это всего лишь немного лучше чем у ZX Spectrum. По моему мнению, имеющиеся производственные технологии сейчас позволяют сделать графический режим с характеристиками: не менее 640 на 512 точек, а общее количество цветов может быть такое же как на видеокарте VGA , то есть 262 тысячи. Так же мне не очень нравится звук Sam Coupe. Почему они не сделали звук, такой же как на Amiga, ведь памяти у него достаточно? Существуют программы, которые выглядят почти так же как на Amiga, но их недостатком является то, что они занимают слишком много тактов процессора. Так же говорят что на Sam Coupe будут работать все программы с ZX Spectrum. Но у меня есть около 60% программ с ZX Spectrum 128k, которые точно не будут работать на компьютере Sam Coupe. И вероятнее всего этого никогда не произойдёт.
18. Что скажете насчёт IBM PC ?
Я бы приобрёл себе IBM PC, но не хочу тратить столько денег. Я думаю что PC/AT с картой Super VGA и звуковой картой Sound Blaster является серьёзным конкурентом для компьютера Amiga в графике, и даже звучит лучше благодаря карте Sound Blaster. И если это 386, 26 Мегагерц (или больше), тогда это точно намного лучше и мощнее. Amiga сейчас дешевле, но и цены не стоят на месте. То что для IBM PC было дорого вчера, сегодня уже стоит намного дешевле. В настоящее время мне хватает моего ZX Spectrum и моей собственной дисковой системы. Если я в ближайшее время всё таки куплю IBM PC, боюсь что буду использовать его только как жесткий диск (или в качестве вспомогательного процессора) для ZX Spectrum.
19. Каковы Ваши планы на будущее?
Ну, их более чем достаточно! Сначала я сделаю очередную версию MRS (65535) - это будет новая дисковая система, которая будет иметь более совершенный поиск по каталогам потому что он будет в 10 раз быстрее. Так же я буду делать несколько полезных системных программ, таких как: компрессор экранов, дискета для D80 и так далее. Я сейчас не всё могу рассказать, потому что хочу чтобы это было сюрпризом.
20. От некоторых Ваших друзей я узнал что Вы глубоко верующий человек. Это правда?
Да это правда. Ведь каждый из нас во что-то верит. Атеист считает что Бога нет. Но я всё же верю в истинный смысл этого слова. Я верю в истинного Бога в его сына Исуса Христа, а так же в святого духа. Мыслители говорят, что вера и наука являются взаимоисключающими вещами, но я обнаружил, что это совсем не так. Моя вера помогла мне, когда я делал программы совместимости и не знал как их закончить. Вера помогает мне преодолевать все трудности и доделывать свои программы. Верующие люди часто более спокойные, а во время спокойного состояния человек стремится к высшему, изобретать и т. д.
21. Что Вы хотите добавить напоследок?
Я хочу пожелать читателям журнала "Зарулём" больших успехов в жизни и приобретения новых знаний.
Перевод сделал ААА, 07.10. 2018 году.
Интервью с Busy
Новые демонстрации сделанные busy, о которых мир не знал!
https://www.youtube.com/watch?v=FDT45i9S-Gw
https://youtu.be/fxKHEeSQF-U
https://www.youtube.com/watch?v=FDT45i9S-Gw
https://youtu.be/fxKHEeSQF-U