![]() |
Игра "Exolon"
Quote:
Я задействовал аппаратный таймер на ВИ53 в нестандартном режиме. Обычно он использовался для вывода звука, а у меня - просто считал время до синхроимпульса. А поскольку Вектор полностью синхронизирован, то счётчик никогда никуда не "уплывал" на реальном Векторе. Почему я использовал такой странный механизм вместо стандартной схемы с прерываниями? Да по тем же причинам экономии тактов. Дело в том, что для прорисовки персонажей, чтобы выиграть в скорости, я нестандартно использовал стековый регистр. Устанавливал стек на адрес, откуда, положим, нужно было переслать данные на экран и делал: "pop d", после одной этой команды в 12 тактов имел два регистра (d и e) с данными и инкрементированный счётчик ардеса, окруда брать следующие данные. А если бы прерывания были разрешены, вызов подпрограммы прерываний портил бы стек с данными. И потом, было очень интересно использовать тот же таймер в нестандартном режиме. Потом, конечно, я придумал немного другое решение, но его реализация не получила широкого распространения, т.к. программа уже "ушла в народ". |
Quote:
|
Quote:
Добавлено через 19 минут maxkit, еще какой-нибудь софт/игры (кроме Exolon-а) был написан? Может что-нибудь сохранилось в домашних архивах? |
Quote:
|
Quote:
О пакете Макринского - ничего не слышал. В те годы никакого интернета не было, все были разрознены. Единственная информация - ежемесячный "листок" из Кишенёва. Вначале я увидел ZX-Spectrum. Игры на нём произвели впечатление. Затем попалась книжка по нему, где была система команд процессора и организация экрана и портов. Стало обидно, что на Векторе нет таких игр. Долго выбирал, какую бы игру попробовать адаптировать, в итоге выбрал Exolon, как ту, которая мне нравилась более других. В общем, вначале, как водится, написал на Векторе загрузчик спектрумовских программ с магнитофона. Загрузил, начал ковыряться. Дизассемблера у меня не было, и писать его было лень. Потому, просто распечатал весь код из Монитора-отладчика. В друх форматах: в виде дисассембленого кода и в виде дампа. Многие команды совпадали, а те, что не совпдали - исправлял на бумаге ручкой. Самое сложное было - условные переходы, они на Z-80 были двухбайтовыми (код + смещение), из-за чего мнемоника "сбивалась". В общем, пару недель просидел над правкой "дизассемблированного" кода. Когда с этим закончил, понял, что "в лоб" переписать - не получится. Просто не хватит скорости. Z-80 вообще более быстр, к тому же имел, ещё и некоторые "быстрые" команды, аналогов которых не было в i8080. Всё писалось в общей тетради "порциями", которые анализировались, оптимизировались там же. Там же расставлялись и реальные адреса ссылок. В общем - много ненужной работы за неимением нормальных средств разработки. Затем вводилось прямо в мониторе-отладчике. Дисковода у меня тогда не было, потому приходилось работать в не очень комфортных условиях. Ни нормального ассемблера (который потом появился, вместе с дисководом и операционной системой). Всё выглядело так. Я загружал в монитор-отладчик уже написанный код с кассеты. Затем вводил с тетрадки новый "кусок", запускал, тестировал, если всё работало так, как я и предполагал - выгружал на две разные кассеты (на всякий случай) уже новый вариант. Благо, что квазидиск тогда у меня уже был, и монитор-отладчик можно было в "теневой области" запускать. Старался всё сделать по максимуму. Конечно, можно было что-то упроситить, но я со своим юношеским максимализмом (тогда мне было лет 14) старался не идти на компромисы. В общем, никогда мне не работалось с таким интересом, как тогда. Учитывая ещё, что делалось всё на чистом энтузиазме. Потом, конечно, я пытался как-то поставить дело на коммерческую основу. Одна организация в Харькове захотела "купить" игру и уверила, что готова купить и последующие. В общем, в результате я им её отдал, даже подписав документ о том, что никому её не буду сам распростарять. В итоге, разумеется, ни одной копейки за это не получил, что и отвернуло меня в конечном итоге от разработки игр. Дело, конечно, было не в деньгах (ну какой подросток работать ночами из любви к деньгам?), а в обмане. Я ведь, по "контракту" не имел права даже друзьям раздать игру бесплатно. Потом, конечно, поняв суть "сотрудничесва", я всё-таки раздал игру всем, кому хотел. И если бы меня не обманули тогда, продолжал бы работать и дальше бесплатно на тот момент. В общем, ввиду этого всего ещё несколько проектов, которые были готовы наполовину, так и остались недоделанными. А ведь пользователи Вектора могли тогда заполучить и Flying Shark, и Zynaps, и Barbarian, и Freddy Hardest (как ни странно, я работал над ними параллельно, хотел выпустить целый блок игр, как Лебедев). Но - увы, "слесарь - охладел к воротам". В общем, после этого, как и у всех, появился PC и я увлёкся FreeBSD. Вот такая моя история. Сейчас было очень приятно найти страницу о Векторе и окунуться в эту атмосферу. Также очень приятно было бы познакомиться с людьми, которые были тогда столпами разработки ПО для него, хотя бы вот с упомянутым Лебедевым, Глеклером, людьми из ПО "Счётмаш", которые адаптировали игры с MSX, и т.д. С несколькими разработчиками я знаком лично (с разработчиком ОС Т-34, например). |
Tim0xA, после Exolon'а ни одной законченной игры не выпустил, забросив игры по нескольким причинам. Наполовину сделанными остались Flying Shark, Freddy Hardest, Barbarian, Zynaps. Хотел выпустить их одновременно, как Лебедев. И самое обидное, что все технические сложности уже были решены, даже с Zynaps'ом (вот задался я такой задачей, сделать такой же горизонтальный скроллинг, как там). Но потом просто как-то отошёл от этого.
Занимался ещё вместе с группой харьковских программистов всякой всячиной, типа написания альтернативного ПО для модема (Векторовского), но оно не получило широкого распространения, т.к. потом мы с товарищами ухитрились подключать стандартные ISA-модемы к порту расширения. Также помогал в работе над альтернативными харьковскими "драйверами устройсвт" - библиотекой в .REL-формате, которая должна была заменить стандартные "драйверы". Потом, помню, написал распаковщик для ZIP-формата, но он работал только с квазидиском. Насчёт проблем с эмуляторами из-за Exolon'а - прошу прощения, но тогда я просто не думал, что когда-то кто-то будет это ещё и эмулировать. Кстати, уже после выпуска Exolon'а, выяснилось, что в Векторе i8080 работал ещё медленнее, чем написано по документации. Там каждый "цикл" (не путать с "тактом") зачем-то расширялся до 4-х тактов, если даже занимал меньше. Скажем, по документации, команды, выполняющиеся за 5 тактов - на самом деле выполнялись 8. Или те, что выполнялись 10 тактов, на Векторе - 12. А я тогда всё никак не мог понять, почему же музыка в Exolon (она была программной, с помощью "магнитофонного" бита) едва уловимо "фальшивит" (я, как скрипач, слышу), хотя всё было просчитано идеально до такта, согласно документации на i8080. |
Quote:
Quote:
Quote:
В Харькове еще была такая фирма "Тень", которая выпускала очень хороший софт. Есть связь с "теневыми" разработчиками? Quote:
|
Quote:
Quote:
Quote:
А вообще, думаю, всё дело в увлечённости и энтузиазме. Если человеку интересно, он способен на многое. |
Quote:
|
Quote:
Quote:
Т.е. весь набор инструментов: рекомпилятор, эмуляторы MSX и В06Ц, ассемблер с дизассемблером, HEX-редактор. |
| All times are GMT +4. The time now is 23:47. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.