Inferno #06
03 декабря 2004

Интервью - интервью с AIG - кодером из группы MKHG.

         *AIG* (Илья Анисковец)
       Вопросы задаёт Alone Coder.

Q> Поскольку  ты  человек  известный, то я 
очень  хотел бы взять у тебя небольшое ин- 
тервью для IG #6, который выйдет через ме- 
сяц-другой. Подтверди  только, что  ты тут 
есть, и я вопросы наберу с бумажки... 
A> Я есть :) 
Q> Ура :) 
Желательно побольше килобайт:) Можешь сво- 
бодно приводить куски из старой переписки, 
цитаты из FM, рисунки,фотографии (особенно 
свою, в цвете),куски кода - всё постараюсь 
опубликовать!Если сможешь привлечь к учас- 
тию в заполнении вопросов других мэтров,то 
я обоими руками за,даже могу придумать для 
них дополнительные вопросы :) 
A> Насчет  кода  я  постараюсь  что-нибудь 
отыскать и прислать. Насчет фоток у меня,к
сожалению, в цифре ничего нет, но попробую
на днях отсканировать что-нибудь.
Q> Фотка безусловно нужна. Ты видел,во что 
мы их конвертим?:) Конвертор до сих пор не 
распространялся,лежит в исходниках.Всё из- 
за неприличного размера exe - 740352 байта 
:( 
A> Фотка будет чуть позже. 

Q> 1. Ты  известен миру как программист на 
ZX Spectrum. Были  ли у тебя попытки осво- 
ить звук, графику,паяльник? Сохранились ли 
примеры? 
A> Попыток  практически не было, так как я 
понимал,что звук - это не моё,да и графика
тоже...Hу,а паяльник мне просто был не ин-
тересен, слишком часто я обжигался :)

Q> 2. Какая твоя первая, так сказать,заре- 
лизенная прога? 
A> Сейчас  так  точно уже сказать не могу, 
но, если  не  считать многочисленных дем и
интрошек, то  самая  первая все-таки MASM.
Хотя  нет... первым был тетрис 5 in 1, по-
моему... Игрушка, которую  мы вместе с KSA
написали (несколько вариантов тетриса+змея
+ещё  что-то). Сам тетрис сделал я, змею и
остальные  виды - я уже  не помню, что там
ещё было,- делал Стас.
Q> Я его нашёл:) Действительно,он в Рязани 
не светился...Сразу возник вопрос по пово- 
ду  фирменной бегущей строчки с регулируе- 
мой скоростью - это MKHG у вас позаимство- 
вали или вы у них?:) Или вы и были в MKHG? 
A> В MKHG сначала начал числиться KSA, по- 
том и я.Так что с какого-то времени мы бы-
ли в MKHG. Стас, кстати,сделал очень много
интрошек  в рамках работы с Исаевым в сос-
таве группы MKHG.

Q> 3. Какие твои  программы  по  поводу ZX 
более-менее  известны, кроме  MASM, UnRar, 
кроссассемблера и редактора для него? 
A> Думаю,этим списком и ограничиваются мои 
программы, ну,если не считать демы (Unreal
(KSA+AIG),AY megademo и т.д...) и игрушку, 
о которой я уже говорил, а также некоторое
количество интро к играм, которые я делал.

Q> 4. Используется ли в твоём кроссассемб- 
лере код В.С. Медноногова (сколько процен- 
тов?), или  это  независимый  проект? Если 
Медноногов  тут имеет место, то  при каких 
обстоятельствах  были  переданы исходники? 
Желательно  рассказать  читателям  в форме 
детектива :) 
A> Сам  ассемблер  задумывался  как аналог 
известного x86 ассемблера NASM. Потому ис-
ходников ассемблера Медноногова обнаружить
в  коде невозможно в связи с их полным от-
сутствием.Первоначально я хотел просто пе-
реписать NASM так,чтобы он работал с кома-
ндами  Z80, однако  мои  попытки с треском
провалились. Я столкнулся с кучей проблем,
связанных с тем,что вычислитель NASM рабо-
тал  не так, как это требуется для Speccy.
Он кушал круглые скобки, которые требуются
для  адресации  в Z80, и было очень сложно
заставить его работать 100% правильно. Од-
нако не скрою,что некоторые идеи я брал из
исходников NASM, но  в общем ассемблер пи-
сался с нуля.

Q> 5. Почему  не выпускалось версий MASM с 
исправленными ошибками? Они же видны,а fix 
своего собственного детища - весьма лёгкое 
занятие... Когда я писал в MASM'е (всего я 
проработал в нём полгода-год,в 1997 году), 
я очень  чертыхался  по  поводу  некоторых 
глюков... 
A> Версии  не выпускались по многим причи- 
нам, одна из них - что в 1996 году я купил
x86 PC, вторая - что я поступил в МГТУ им. 
H.Э.Баумана. 
Q> А что это за институт? Hа кого ты учил- 
ся и с каким успехом? 
A> Московский  Государственный Технический 
Университет имени H.Э.Баумана (в простона- 
родии "бауманский"). Учился  я там  6 лет,
специальность "Системы автоматического уп-
равления". Закончил успешно :) 

Q> 6. Участвовал  ли  ты в других проектах 
KSA, например, в Monster Commander? 
A> Monster Commander ... хм... Дело в том, 
что мы со Стасом всегда соревновались, кто
круче - кто быстрее - кто лучше, это помо-
гало  нам  разрабатывать  более интересные
решения.Стас начал писать эту программу и,
конечно, позвонил мне,рассказал,какую кру-
тую процедуру рисования окошек с тенью,за-
головком он сделал.И тут началось...Он пе-
реслал  мне свою процедуру, я ее уменьшил,
потом  он  уменьшил, потом  опять я, потом
опять он,и так далее :) Сама процедура,по-
следняя версия у меня осталась,однако сей-
час я её,к сожалению,показать не смогу,так
как диск у меня где-то дома. Но постараюсь
найти.
Q> Попробуй,хотя в Monster главное,всё-та- 
ки,- процедура копирования :) Она была ре- 
волюционная. 
A> Однако менеджер он делал полностью сам. 
Hаши совместные проекты - это демонстрашка
Unreal, Tetris, MASM, возможно,ещё что-то, 
но я уже не вспомню.
Q> Остались  ли у тебя или у KSA исходники 
Monster Commander? 
A> Исходников  полностью, по-моему, у меня 
нет. Но возможно, они есть у Стаса...
Q> Есть ли шанс увидеть их опубликованными 
где-либо? Программа того стоит.Меня не ус- 
траивает  логика работы Perfect Commander, 
который  торчит  в  Gluk Reset Service (на 
днях я их оба декомпилировал). 
A> Я спросил  у Стаса, он говорит, что нет 
исходников :(

Q> 7. Что в  MASM  принадлежит  KSA, а что 
тебе? В самом подробном изложении :) 
A> Hасчет MASM история была такова... 
Я решил писать ассемблер, окрылённый идеей
сделать  его  лучше и быстрее, чем TASM от
RST7. Прошло несколько дней, я написал ре- 
дактор и первую версию транслятора. Позво-
нил Стас и предложил писать ассемблер вме-
сте, я согласился и передал ему исходники.
Стас  переписал  блок  работы  с метками и
укрутил скорость работы транслятора.В кон-
це концов, я уже даже не могу сказать точ-
но,где чья часть.Мы всегда работали плотно
над изменением всего кода, и под конец не-
льзя было понять, кто это придумал. Иногда
мы долго спорили об этом :)
Q> А он  далеко от тебя жил/живёт? Реально 
ли застать его дома? 
A> Он  жил  рядом с метро Сходненская, я в 
Химках. В принципе близко.

Q> 8. Когда  возникла  идея  начать Unrar? 
Какой срок прошёл от задумки до начала ра- 
боты над Unrar? А в случае MASM? 
A> Идея  написать  Unrar  у меня появилась 
летом  2000 года. Просто потому, что мне в
руки  попались  исходники Unrar на PC, и я
решил сделать аналог.В то время я уже имел
некоторый  практический  опыт с C, поэтому
взялся за этот проект. Причем с самого на-
чала я не старался сделать Unrar быстрым,я
просто хотел,чтобы он работал. Метод,кото-
рым я воспользовался, назывался Copy/Paste
:) Копируешь процедуру на C в код Z80, за-
комметрируешь  её, и вперёд, делать полный
аналог на ассемблере.
────────────────────────────────────────── 
 ;  if (NewLhd.Flags & LHD_PASSWORD) 
         ld a,(NewLhd_Flags)
         and LHD_PASSWORD
        jz EF_nopassword
;  { 
 ;    if (*Password==0) 
         ld a,(Password)
         or a
        jnz EF_passelse
;    { 
 ;      if (GetPassword(1)!=1) 
         rst #10
         defm "Password not entered!"
         defb #00
         scf
        ret
;        ErrExit(EEMPTY,USER_BREAK); 
 ;      TmpPassword=(SolidType) ? 2 : 1; 
         ld a,(SolidType)
         or a
         ld a,1
         jz $+3
         inc a
        ld (EF_TmpPassword),a
 ;    } 
        jr EF_nopassword
────────────────────────────────────────── 
Так  потихоньку я её и делал, однако сразу
столкнулся  с ограничением по размеру, что
не  могло  меня не огорчать. Сколько точно
времени  прошло  с момента задумки MASM, я
не знаю,точнее,не помню,но не очень много.

Q> 9. Каким  образом ты распространял свои 
программы, и  как  это вообще было принято 
делать в застойные годы? 
A> Обычно  распространение программ велось 
через  точки  продажи на Митинском (бывшем
Тушинском)  радиорынке + Исаев распростра-
нял  программы по всей России. Также у нас
появились  модемы, поэтому  между собой мы
передавали программы с помощью телефона.
Q> Как я обнаружил, благодаря этим модемам 
многие программы не ушли дальше Москвы :( 
A> Хорошие были модемы всё-таки... 

Q> 10. Кто такой был Максим Миронов, памя- 
ти которого посвящён Unrar? Поподробнее... 
A> Максим Миронов был моим другом,вместе с 
ним и ещё одним моим старым другом Алекса-
ндром Самсоновым мы придумывали  множество 
интересных проектов на PC, многие из них я
реализовал только сейчас, а некоторые,воз-
можно,скоро будут реализованы.Он учился со
мной в одной школе,жил в одном доме. Весе-
лый отзывчивый человек,всегда был готов во
всём помочь. В 1998 году его не стало. Hо-
чью, он возвращался домой, купил по дороге
арбуз.В подъезде нашего дома его встретили
двое. Hесколько  раз  ударили бейсбольными
битами по голове и ножом в спину. Отмороз-
ков так и не нашли.
Q> Hапоминает  историю с нашим Dr.Envelope 
(убит год назад) :( 

Q> 11. Почему ты не доделал Unrar? Когда я 
начинал  его ломать, Jerri, помнится, даже 
не  верил, что я оттуда что-нибудь хорошее 
выломаю, - по его мнению, там распаковщика 
вообще не было (ведь последние твои версии 
вообще  перестали  что-либо распаковывать, 
Jerri смотрел именно их)... 
A> Да,действительно,последние версии Unrar 
были  нерабочими, всё  потому, что я решил
переписать  его  "с нуля"  под  свой новый
кросс-ассемблер.Однако это мне не удалось,
одна  из  причин - отсутствие достаточного
свободного  времени.  Получилась  путаница
в  версиях, и  проект пришлось заморозить.
Появилась идея  разместить проект на  www.
sourceforge.net,  чтобы  привлечь  сторон- 
них  разработчиков, я даже зарегистрировал
соответствующий проект http://sourceforge.
net/projects/zxunrar/, однако дальше реги- 
страции дело не пошло.
Q> Это можно исправить:) (Хотя не особенно 
нужно. И  нет  у  меня инета.) Hо что даёт 
размещение  проекта на sourceforge? Дейст- 
вительно ли находятся люди,желающие продо- 
лжить  проект? Есть  какие-нибудь примеры, 
цифры? 
A> Смотря  какие проекты, а так куча людей 
хостятся на sourceforge... Из самых извес-
тных проектов:
eMule 
BitTorrent 
7-Zip 
phpMyAdmin 
Q> Каким  образом их разрабатывают вместе? 
Опиши процесс,мне непонятно. Читателям тем 
более :) 

Q> 12. Где  ты  сейчас  работаешь? Сколько 
часов  в  неделю (с учётом/без учёта  пути 
туда-обратно)? Hа  что уходит твоё время и 
творческий потенциал? 
A> Я работаю  в платной  справочной службе 
0909  и 898, обслуживающей  компании  МТС, 
Мегафон  и др. Подробнее  можно прочитать, 
например, на сайте МТС: http://www.mts.ru/
service/short_voice/898/.  График  у  меня 
свободный,но ненормированный :) Вот,напри-
мер,сегодня суббота,а я на работе. Я руко-
водитель  отдела  разработки  программного
обеспечения,занимаюсь внутрикорпоративными
проектами, биллингом.
Q> Что такое "биллинг"? 
A> Биллинг(Billing) - сервис взимания пла- 
ты.
До работы мне ехать примерно 1 час,обратно
минут 20 :) если на машине.Свободного вре-
мени  у  меня практически нет, ещё немного
надо уделять личной жизни, однако паралле-
льно я работаю над сторонними проектами.Из
моих  последних законченных проектов:
www.spamprotection.com - почтовая  система 
с защитой от спама;
www.agataonline.ru - интернет-магазин  ку- 
пальников;
Также я занимаюсь корпоративными решениями
по защите от спама.
Q> Hадеюсь, не  благодаря тебе электронная 
переписка  множества  людей  была нарушена 
появлением  полтора-два  года назад "анти- 
спамовых" (на деле почти случайных, но си- 
льно  не  любящих  фидошников) фильтров на 
гейте 2:5020/128, домене mail.ru и ещё не- 
разбери-где? ;) 
A> Я работаю  на этом рынке только с зару- 
бежными клиентами.
Год  назад  закончил курсы Oracle OCPDev и
сдал экзамены,теперь работаю в этом напра-
влении. Хочу написать стратегическую игру,
но пока это только мечты...

Q> 13. Читаешь ли ты наш журнал и нашу га- 
зету? 
A> К сожалению, я редко  читаю  что-то  из 
мира  Speccy. У меня  есть  IP нода в Fido
2:5020/2028, но  даже  она простаивает. Hо 
иногда  я захожу на сайт fido-online и чи-
таю ZX.SPECTRUM  и REAL.SPECCY. Газеты  на
спектруме я не читаю, так как нет спектру-
ма, да и не знаю, честно говоря,где их ис-
кать...
Q> zx.da.ru :) 
A> Я бы с удовольствием читал,если бы была 
выложена версия для x86 PC, которую не на-
до было бы запускать под эмулятором.
Q> Я бы  слал лично тебе текстом, но забу- 
ду... Ещё  один любитель газет в текстовом 
виде  CyberDaemon  регулярно запрашивает у 
меня AlCoNews, а так я забуду, конечно... 

Q> 14. Планируешь  ли  появиться на каком- 
либо party,где будут присутствовать ZX-то- 
варищи? Hа каких таких мероприятиях ты уже 
был? 
A> Я  не  был ни на одном пати. Почему, не 
знаю, но не был. Хотя сейчас, скорее всего
бы,приехал,если бы данное мероприятие про-
ходило в Москве.

Q> 15. Много ли  ты читаешь и что? Были ли 
периоды, когда ты читал больше? 
A> Я читаю много, однако не читаю книг во- 
обще. Читаю в интернете,интересные научные
труды, новые  разработки, меня  интересует
всё,что касается новых технологий, а также
финансов.
Q> Hе мог бы ты привести наименований два- 
дцать? И,если наименования не говорящие,то 
вкратце суть? 
A> Мне очень нравятся труды Д. Кнута, при- 
чём  не  только  "Искусство программирова-
ния". По финансам  меня интересует литера- 
тура,связанная с валютным рынком и ценооб-
разованием, фундаментальный  и технический
анализ.

Q> Hе пробовал ли сочинительствовать? 
A> Сочинять я не умею, наверное,потому,что 
привык всегда основываться на фактах.
Q> Попробую переформулировать:ты не пробо- 
вал  писать тексты, не имеющие отношения к 
компьютерам? Вот я, например,полгода назад 
составил  реестр  ошибок  и подтасовок в 4 
книгах  по "новой хронологии" академика А. 
Фоменко. В принципе, этот процесс ещё про- 
должается,но уже с другими авторами (Калю- 
жный, Каспаров, Аджиев, Жабинский...). 
A> К сожалению, нет :) 

Q> 16. Следишь ли за новостями в плане ZX? 
Если нет, то когда прекратил следить? 
A> Я читаю иногда конференцию ZX.SPECTRUM, 
вот, в  принципе, и всё. Совсем никогда не
прекращал, хотя  последний  год обращал на
это меньше внимания.

Q> 17. Куда податься человеку, приехавшему 
из глухой сибирской деревни в Москву,чтобы 
проведать дядьку AIG? Раскрой свои контак- 
тные адреса и срок их действия. 
A> Вы  всегда  можете  связаться  со  мной 
по  телефону  775-7782  (мобильный), почта
aig@0909.ru, ICQ 20184998. Стучитесь,пиши- 
те, я всегда рад спектрумистам :)
Q> Hу, тогда уж и домашний адрес скажи :) 
A> Дом у меня всегда меняется,так как я то 
и дело снимаю квартиру.
Q> Что ты перевозишь  при каждом переезде? 
И сколько длится переезд? 
Q> А сейчас KSA тоже постоянно меняет мес- 
то жительства, как и ты? 

A> Можно подъехать ко мне на работу.Мы по- 
сидим, попьем кофе и обязательно поговорим
:)
Q> И рабочий тоже :) 
A> Большая Декабрьская, д.3, рядом с метро 
"ул. 1905 года".

Q> 18. Когда  стране праздновать твой день 
рождения? И  сколько лет в ближайший такой 
день тебе исполнится? 
A> 28 января 1980 года я родился в славном 
городе Красногорск,Московской области. Со-
ответственно, скоро мне 25 лет.



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

Inferno - Вступление от редактора.

Интервью - интервью с AIG - кодером из группы MKHG.

Sofтинка - ACE 0.888: отличия от 0.666

Sofтинка - макро-ассемблер отладчик ALASM 4.47: отличия от 4.44

For Coderz - Арифметическое кодирование.

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

Sofтинка - BGE 4 графический редактор для ZX.

События - The Compo 2: результаты голосования.

For Coderz - Декомпиляция программ - оживление старых прог.

Inferno - Ошибки в предыдущих номерах.

For Coderz - Маленькие программерские хитрости.

DIY - Схема моего электрофумигатора.

Gameland - о пройденных играх: Imperia 2, Hexagonal Filler, From Beyond.

Железо - устройство расширенной клавиатуры (58 клавиш).

Gamedev - Игровой цикл - цикл, внутри которого вызываются все подпрограммы игры.

Gameland - прохождение Lords of Time от Level 9.

For Coderz - Макросы ч.2 - облегчаем себе жизнь при программировании.

Inferno - Письма в редакцию.

Gameland - прохождение уровней игры Чёрный Ворон.

For Coderz - Описание модульной структуры программ.

Inferno - Об оболочке.

Sofтинка - преимущества упаковочного алгоритма Optimal LZH.

События - серпуховский фестиваль ParaDiGMus party 2003. Как это было.

События - серпуховский фестиваль ParaDiGMus party 2003. Afterparty.

Gameland - прохождение игры The Price of Magik от Level 9.

Железо - Описание блока памяти от принтера Robotron CM 6329.01 M. Часть 1.

Железо - Описание блока памяти от принтера Robotron CM 6329.01 M. Часть 2.

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

DIY - советы по ремонту часов, Dream Cast и джойстика.

Интервью - Интервью с Shaitan/Stars of Keladan: Interred Inferno.

Gameland - прохождение игры Snowball от Level 9.

Железо - Видеомагнитофон GoldStar RN800AW Art vision. История ремонта.

Железо - Видеомагнитофон GoldStar RN800AW Art vision. Советы по разборке и ремонту.

Интервью - интервью с музыкантом Visual^Extreme (Сергей Агапов).

Gamedev - о сборке игры Wolfenstein 2004. Часть 1.

Gamedev - о сборке игры Wolfenstein 2004. Часть 2.

For Coderz - Как получить на звуковом устройстве больше бит.


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

Похожие статьи:
От авторов - Мы собираемся посвящать вас о событиях в Латвии, играх, программирование.
Авторы журнала - ZX-Format No.4
От авторов - Об изменениях в оболочке газеты.

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