PDA

Просмотр полной версии : Игра "Exolon"



maxkit
15.04.2009, 12:27
про exelon могу сказать, что у меня нет слов!, неужели автор ненашел более разумного способа засинхронезироваться с экраном? если долго в него играть, то всеравно синхронизация сбивается (вернее уплывает), видимо всетаки есть какие то неточности в информации о времени выполнения команд.

Дело было не в синхронизации с экраном. Exolon, на самом деле - не "рекомпиляция", ибо никакой рекомпиляцией не получилось бы добиться приемлемой скорости на Векторе. Это полностью переписанная программа.
Я задействовал аппаратный таймер на ВИ53 в нестандартном режиме. Обычно он использовался для вывода звука, а у меня - просто считал время до синхроимпульса. А поскольку Вектор полностью синхронизирован, то счётчик никогда никуда не "уплывал" на реальном Векторе.

Почему я использовал такой странный механизм вместо стандартной схемы с прерываниями? Да по тем же причинам экономии тактов. Дело в том, что для прорисовки персонажей, чтобы выиграть в скорости, я нестандартно использовал стековый регистр. Устанавливал стек на адрес, откуда, положим, нужно было переслать данные на экран и делал: "pop d", после одной этой команды в 12 тактов имел два регистра (d и e) с данными и инкрементированный счётчик ардеса, окруда брать следующие данные. А если бы прерывания были разрешены, вызов подпрограммы прерываний портил бы стек с данными. И потом, было очень интересно использовать тот же таймер в нестандартном режиме.

Потом, конечно, я придумал немного другое решение, но его реализация не получила широкого распространения, т.к. программа уже "ушла в народ".

maxkit
15.04.2009, 12:53
Как уже сказали звук там перенесен не AY-шный, а биперный. Я смотрел игру под эмулятором и мне показалось, что ничего не тормозило и звук был нормальный. А если бы я не знал, что эта игрушка запущена под эмулятором Вектора, то я бы не сомневался, что это самый настоящий спектрумовский Exolon - игрушка действительно перенесена идеально, не смотря на тормозной процессор.

Сколько лет прошло, а даже сейчас приятно прочитать положительный отзыв о проделанной работе :-)

Tim0xA
15.04.2009, 13:22
Сколько лет прошло, а даже сейчас приятно прочитать положительный отзыв о проделанной работе :-)
Какие люди! "Exolon" - очень качественный порт. Знаменит еще и тем, что заставил эмуляторщиков попотеть над эмуляцией таймера :)

Добавлено через 19 минут
maxkit, еще какой-нибудь софт/игры (кроме Exolon-а) был написан? Может что-нибудь сохранилось в домашних архивах?

Tim0xA
15.04.2009, 13:49
Дело было не в синхронизации с экраном. Exolon, на самом деле - не "рекомпиляция", ибо никакой рекомпиляцией не получилось бы добиться приемлемой скорости на Векторе. Это полностью переписанная программа.
Я раньше думал, что для портирования Exolon-а использовалось что-то вроде пакета Макринского для рекомпиляции Z80->ВМ80А плюс, естественно, куча ручной работы по оптимизации кода. Хотелось бы узнать подробности о том, как был создан Exolon, что в нем осталось от оригинала кроме графики и т.д. Его скорость действительно впечатляет.

maxkit
15.04.2009, 16:16
Я раньше думал, что для портирования Exolon-а использовалось что-то вроде пакета Макринского для рекомпиляции Z80->ВМ80А плюс, естественно, куча ручной работы по оптимизации кода. Хотелось бы узнать подробности о том, как был создан Exolon, что в нем осталось от оригинала кроме графики и т.д. Его скорость действительно впечатляет.

Рассказ об Exolon будет смешным, т.к. это пример неправильной организации труда :-)

О пакете Макринского - ничего не слышал. В те годы никакого интернета не было, все были разрознены. Единственная информация - ежемесячный "листок" из Кишенёва.

Вначале я увидел ZX-Spectrum. Игры на нём произвели впечатление. Затем попалась книжка по нему, где была система команд процессора и организация экрана и портов. Стало обидно, что на Векторе нет таких игр. Долго выбирал, какую бы игру попробовать адаптировать, в итоге выбрал Exolon, как ту, которая мне нравилась более других.

В общем, вначале, как водится, написал на Векторе загрузчик спектрумовских программ с магнитофона. Загрузил, начал ковыряться. Дизассемблера у меня не было, и писать его было лень. Потому, просто распечатал весь код из Монитора-отладчика. В друх форматах: в виде дисассембленого кода и в виде дампа. Многие команды совпадали, а те, что не совпдали - исправлял на бумаге ручкой. Самое сложное было - условные переходы, они на Z-80 были двухбайтовыми (код + смещение), из-за чего мнемоника "сбивалась". В общем, пару недель просидел над правкой "дизассемблированного" кода.

Когда с этим закончил, понял, что "в лоб" переписать - не получится. Просто не хватит скорости. Z-80 вообще более быстр, к тому же имел, ещё и некоторые "быстрые" команды, аналогов которых не было в i8080.

Всё писалось в общей тетради "порциями", которые анализировались, оптимизировались там же. Там же расставлялись и реальные адреса ссылок. В общем - много ненужной работы за неимением нормальных средств разработки. Затем вводилось прямо в мониторе-отладчике. Дисковода у меня тогда не было, потому приходилось работать в не очень комфортных условиях. Ни нормального ассемблера (который потом появился, вместе с дисководом и операционной системой). Всё выглядело так. Я загружал в монитор-отладчик уже написанный код с кассеты. Затем вводил с тетрадки новый "кусок", запускал, тестировал, если всё работало так, как я и предполагал - выгружал на две разные кассеты (на всякий случай) уже новый вариант. Благо, что квазидиск тогда у меня уже был, и монитор-отладчик можно было в "теневой области" запускать.

Старался всё сделать по максимуму. Конечно, можно было что-то упроситить, но я со своим юношеским максимализмом (тогда мне было лет 14) старался не идти на компромисы.

В общем, никогда мне не работалось с таким интересом, как тогда. Учитывая ещё, что делалось всё на чистом энтузиазме. Потом, конечно, я пытался как-то поставить дело на коммерческую основу. Одна организация в Харькове захотела "купить" игру и уверила, что готова купить и последующие. В общем, в результате я им её отдал, даже подписав документ о том, что никому её не буду сам распростарять. В итоге, разумеется, ни одной копейки за это не получил, что и отвернуло меня в конечном итоге от разработки игр.

Дело, конечно, было не в деньгах (ну какой подросток работать ночами из любви к деньгам?), а в обмане. Я ведь, по "контракту" не имел права даже друзьям раздать игру бесплатно. Потом, конечно, поняв суть "сотрудничесва", я всё-таки раздал игру всем, кому хотел. И если бы меня не обманули тогда, продолжал бы работать и дальше бесплатно на тот момент. В общем, ввиду этого всего ещё несколько проектов, которые были готовы наполовину, так и остались недоделанными. А ведь пользователи Вектора могли тогда заполучить и Flying Shark, и Zynaps, и Barbarian, и Freddy Hardest (как ни странно, я работал над ними параллельно, хотел выпустить целый блок игр, как Лебедев). Но - увы, "слесарь - охладел к воротам". В общем, после этого, как и у всех, появился PC и я увлёкся FreeBSD.

Вот такая моя история.

Сейчас было очень приятно найти страницу о Векторе и окунуться в эту атмосферу. Также очень приятно было бы познакомиться с людьми, которые были тогда столпами разработки ПО для него, хотя бы вот с упомянутым Лебедевым, Глеклером, людьми из ПО "Счётмаш", которые адаптировали игры с MSX, и т.д. С несколькими разработчиками я знаком лично (с разработчиком ОС Т-34, например).

maxkit
15.04.2009, 16:43
Tim0xA, после Exolon'а ни одной законченной игры не выпустил, забросив игры по нескольким причинам. Наполовину сделанными остались Flying Shark, Freddy Hardest, Barbarian, Zynaps. Хотел выпустить их одновременно, как Лебедев. И самое обидное, что все технические сложности уже были решены, даже с Zynaps'ом (вот задался я такой задачей, сделать такой же горизонтальный скроллинг, как там). Но потом просто как-то отошёл от этого.
Занимался ещё вместе с группой харьковских программистов всякой всячиной, типа написания альтернативного ПО для модема (Векторовского), но оно не получило широкого распространения, т.к. потом мы с товарищами ухитрились подключать стандартные ISA-модемы к порту расширения.
Также помогал в работе над альтернативными харьковскими "драйверами устройсвт" - библиотекой в .REL-формате, которая должна была заменить стандартные "драйверы". Потом, помню, написал распаковщик для ZIP-формата, но он работал только с квазидиском.

Насчёт проблем с эмуляторами из-за Exolon'а - прошу прощения, но тогда я просто не думал, что когда-то кто-то будет это ещё и эмулировать. Кстати, уже после выпуска Exolon'а, выяснилось, что в Векторе i8080 работал ещё медленнее, чем написано по документации. Там каждый "цикл" (не путать с "тактом") зачем-то расширялся до 4-х тактов, если даже занимал меньше. Скажем, по документации, команды, выполняющиеся за 5 тактов - на самом деле выполнялись 8. Или те, что выполнялись 10 тактов, на Векторе - 12. А я тогда всё никак не мог понять, почему же музыка в Exolon (она была программной, с помощью "магнитофонного" бита) едва уловимо "фальшивит" (я, как скрипач, слышу), хотя всё было просчитано идеально до такта, согласно документации на i8080.

Tim0xA
15.04.2009, 16:47
Вот такая моя история.
Спасибо большое, было очень интересно почитать. История создания "Exolon"-а впечатляет.

А ведь пользователи Вектора могли тогда заполучить и Flying Shark, и Zynaps, и Barbarian, и Freddy Hardest
Мне из перечисленного особенно люб Flying Shark, там замечательный вертикальный скроллинг, хотелось бы увидеть, как его можно было реализовать на Векторе. Очень жаль, что этого не случилось :(

С несколькими разработчиками я знаком лично (с разработчиком ОС Т-34, например).
Хорошо было бы пригласить разработчиков ОС Т-34 на форум пообщаться.

В Харькове еще была такая фирма "Тень", которая выпускала очень хороший софт. Есть связь с "теневыми" разработчиками?


...людьми из ПО "Счётмаш", которые адаптировали игры с MSX
Это точно. У нас с ivagor-ом есть некоторый опыт рекомпиляции программ с MSX на Вектор (http://www.sensi.org/~svo/scalar/categories/15). Я вообщем-то занимался только рекомпиляцией кода с Z80 на ВМ80А, а оптимизацию кода и адаптацию под конкретное железо (и не только для Вектора) делал ivagor. Но в нашем распоряжении есть интернет, эмуляторы, мощный инструментарий. До сих пор диву даюсь, как подобное было возможно сделать в те годы буквально "на коленках" или "с тетрадкой, ручкой, монитором-отладчиком и без дисковода". Воистину, фантастика.

maxkit
15.04.2009, 17:04
Мне из перечисленного особенно люб Flying Shark, там замечательный вертикальный скроллинг, хотелось бы увидеть, как его можно было реализовать на Векторе. Очень жаль, что этого не случилось :(
Там всё достаточно просто. На Spectrum'e всё, происходившее на экране в этой игре, рисовалось в некоторой области памяти, а потом всё это пересылалась в экранную область, чтобы спрайти не "мигали" при перерисовке. Поскольку игра была, по сути, монохромной, на Векторе всё это совершенно замечательно реализовывалось путём рисования в теневой плоскости экрана и дальнейшим поочерёдным переключением экранных плоскостей.


Хорошо было бы пригласить разработчиков ОС Т-34 на форум пообщаться.

В Харькове еще была такая фирма "Тень", которая выпускала очень хороший софт. Есть связь с "теневыми" разработчиками?

Разработчики ОС Т-34 - это и есть "Тень", а именно - Сергей Терентьев. Я знаком с ним лично, напишу ему об этом форуме.


Это точно. У нас с ivagor-ом есть некоторый опыт рекомпиляции программ с MSX на Вектор (http://www.sensi.org/~svo/scalar/categories/15). Я вообщем-то занимался только рекомпиляцией кода с Z80 на ВМ80А, а оптимизацию кода и адаптацию под конкретное железо (и не только для Вектора) делал ivagor. Но в нашем распоряжении есть интернет, эмуляторы, мощный инструментарий. До сих пор диву даюсь, как подобное было возможно сделать в те годы буквально "на коленках" или "с тетрадкой, ручкой, монитором-отладчиком и без дисковода". Воистину, фантастика.

Значит, действительно правда то, что программы для Вектора разрабатывались не на самом Векторе? А чем вы пользовались, если не секрет? Тогда этот вопрос интересовал чрезвычайно. Я понимал, что так вот, кустарным способом, как делал я, работать неправильно, но как "правильно" - тогда было непонятно.

А вообще, думаю, всё дело в увлечённости и энтузиазме. Если человеку интересно, он способен на многое.

svofski
15.04.2009, 17:16
Там каждый "цикл" (не путать с "тактом") зачем-то расширялся до 4-х тактов, если даже занимал меньше.
Известно почему, надо же еще и экран сканировать и память обновлять. Такты жалко конечно, но такие времена были.

Tim0xA
15.04.2009, 17:34
Значит, действительно правда то, что программы для Вектора разрабатывались не на самом Векторе?
Как делались адаптации с MSX в те годы - я сам хотел бы узнать :)


А чем вы пользовались, если не секрет?
Я доработал рекомпилятор Валерия Бостана "MSX->PC" таким образом, чтобы он преобразовывал коды Z80 в ВМ80А, заменяя отсутствующие в ВМ80А команды аналогами-макросами. В разработке макросов мне активно помогал ivagor. Работа была начата еще в 2000 году, потом был 8-летний перерыв и что-то вдруг снова заставило нас вернуться к этой теме уже в 2008 году. Рекомпилятор был доведен до ума и наконец-то был получен первый результат - рекомпилированный код игры MSX "Tank Battalion". Работоспособность кода проверялась в эмуляторе BlueMSX. Фактически эта была та же игра для MSX, но уже без уникальных Z80 команд. Далее этот файл взял ivagor, добавил к нему свои процедуры эмуляции MSX BIOS + V9918, оптимизировал и в итоге мы получили знаменитые танчики на Векторе http://www.sensi.org/~svo/scalar/ware/2/.
Т.е. весь набор инструментов: рекомпилятор, эмуляторы MSX и В06Ц, ассемблер с дизассемблером, HEX-редактор.

maxkit
15.04.2009, 17:39
Известно почему, надо же еще и экран сканировать и память обновлять. Такты жалко конечно, но такие времена были.
Да, это понятно, но не всегда нужно было до 4-х тактов расширять. Мы в Харькове даже перепрошивали м/с РТ5, чтобы "освободить" такты, но идея не получила широкого распространения. Всё-таки, нестандартный Вектор получался после этого. А некоторые программы (кажется, из Кирова), отказывались запускаться. Там какая-то "хитрая" система декодирования была при запуске, которая, похоже, была чувствительна к синхронизации.

svofski
15.04.2009, 17:45
Может быть они поэтому так и сделали? Иначе очень сложно было считать тактики. Вообще невелика была бы потеря, да только в 8080 уж очень много циклов занимают обидные для такого расклада 5 тактов.

Tim0xA
15.04.2009, 17:45
Мы в Харькове даже перепрошивали м/с РТ5, чтобы "освободить" такты, но идея не получила широкого распространения. Всё-таки, нестандартный Вектор получался после этого.
Речь идет наверное о РЕ3. Кстати, это интересная идея. Таким образом можно было бы получить нечто вроде турбо-режима, а проблему несовместимости обойти переключателем между стандартной и турбированной ПЗУ (или разместить обе прошивки в ПЗУ большей емкости и переключаться между банками, что более корректно).

maxkit
15.04.2009, 17:51
Может быть они поэтому так и сделали? Иначе очень сложно было считать тактики. Вообще невелика была бы потеря, да только в 8080 уж очень много циклов занимают обидные для такого расклада 5 тактов.
Просто их далеко не всегда нужно считать до одного. На том же ZX-Spectrum - невозможно до такта вычислить (ну, или, возможно, но не тривиальным сложением), и ничего. Разумеется, "недочёты" в схеме были, но в целом - отличная была машина. Правда, в СССР всегда приходилось догонять, а так, среди отечественных разработок, равных Вектору и так не было. И потом, я не представляю, кто бы в СССР взялся разрабатывать какой-нибудь, скажем ANTIC, как для Atari, так что спасибо и на том.

maxkit
15.04.2009, 17:53
Речь идет наверное о РЕ3. Кстати, это интересная идея. Таким образом можно было бы получить нечто вроде турбо-режима, а проблему несовместимости обойти переключателем между стандартной и турбированной ПЗУ (или разместить обе прошивки в ПЗУ большей емкости и переключаться между банками, что более корректно).
Да, возможно. Просто за эти годы что-то стёрлось из памяти. То что "Р" - точно. И опытный образец точно работал, и по скорости - точно выигрывал. Но там та же история, что и с заменой процессора. В Харькове в 90-х почти все уважающие себя "Вектористы" были с процессором ВМ1, только вот писать под него код - опять же не имело смысла, т.к. остальные не смогли бы его запускать.

Tim0xA
15.04.2009, 17:57
В Харькове в 90-х почти все уважающие себя "Вектористы" были с процессором ВМ1, только вот писать под него код - опять же не имело смысла, т.к. остальные не смогли бы его запускать.
Я давно уже ищу реальный ВМ1, может есть надежда раздобыть его в Харькове у кого-нибудь? Мы тут недавно эмуляцию ВМ80А добили http://zx.pk.ru/showthread.php?t=9826 Вывели на чистую воду эмуляторщиков-халтурщиков всеми мыслимыми и немыслимыми тестами ;) Хотелось бы исследовать ВМ1, чтобы получить его корректную модель симуляции.

maxkit
15.04.2009, 17:58
Я давно уже ищу реальный ВМ1, может есть надежда раздобыть его в Харькове у кого-нибудь? Мы тут недавно эмуляцию ВМ80А добили http://zx.pk.ru/showthread.php?t=9826 Вывели на чистую воду эмуляторщиков-халтурщиков всеми мыслимыми и немыслимыми тестами ;) Хотелось бы исследовать ВМ1, чтобы получить его корректную модель симуляции.
Я, как и обещал, написал письмо Сергею, возможно, он сможет чем-то помочь в плане ВМ1.

maxkit
15.04.2009, 18:14
Как делались адаптации с MSX в те годы - я сам хотел бы узнать :)


Я доработал рекомпилятор Валерия Бостана "MSX->PC" таким образом, чтобы он преобразовывал коды Z80 в ВМ80А, заменяя отсутствующие в ВМ80А команды аналогами-макросами. В разработке макросов мне активно помогал ivagor. Работа была начата еще в 2000 году, потом был 8-летний перерыв и что-то вдруг снова заставило нас вернуться к этой теме уже в 2008 году. Рекомпилятор был доведен до ума и наконец-то был получен первый результат - рекомпилированный код игры MSX "Tank Battalion". Работоспособность кода проверялась в эмуляторе BlueMSX. Фактически эта была та же игра для MSX, но уже без уникальных Z80 команд. Далее этот файл взял ivagor, добавил к нему свои процедуры эмуляции MSX BIOS + V9918, оптимизировал и в итоге мы получили знаменитые танчики на Векторе http://www.sensi.org/~svo/scalar/ware/2/.
Т.е. весь набор инструментов: рекомпилятор, эмуляторы MSX и В06Ц, ассемблер с дизассемблером, HEX-редактор.
Спасибо, очень интересно. Просто удивительно, что на Векторе сейчас появляются новые программы. Хотя, у меня у самого время от времени появляется желание написать что-нибудь для того старого железа на старом ассемблере.

MAF
18.04.2009, 06:33
Спасибо, очень интересно. Просто удивительно, что на Векторе сейчас появляются новые программы. Хотя, у меня у самого время от времени появляется желание написать что-нибудь для того старого железа на старом ассемблере.
Ностальгия это называется, но с другой стороны может и хорошо, что она появляется - нужно отдушину себе давать...

P.S. Я вон за целый день так с компьютерным железом натра%юсь, что к PC дома подходить противно.... До тошноты...
P.S.S. По сути - до Валерки Бостана я в принципе могу достучаться, если надо, так же как и попробую Юру Макринского выцепить в очередной заезд в Киш.. Вопрос только когда это будет...
ЗюЫюЫю Теекс, а эмулятор у меня все так же не живет... Обломъ-с

maxkit
20.04.2009, 13:52
Ностальгия это называется, но с другой стороны может и хорошо, что она появляется - нужно отдушину себе давать...
Да, пожалуй. Разработка игр меня всегда увлекала. Но сейчас такое время, что одному разрабатывать конкурентноспособные игры практически невозможно. В те годы человек мог как-то и графику сам нарисовать, и программу написать. А сейчас подходы изменились, программисты уже почти не программируют а "собирают" из готовых "кусков", нужна команда, и т.д.

ivagor
14.01.2013, 17:42
Кое что из остатков, находящихся в релизном состоянии. Версия EXOLONа с автоподстройкой под клоны вектора.

PPC
15.01.2013, 16:43
Кое что из остатков, находящихся в релизном состоянии. Версия EXOLONа с автоподстройкой под клоны вектора.
Попробовал EXOLON под i8085. С какого-то уровня, вроде с 3-го жизни перестали уменьшаться. Оно так и должно быть?

ivagor
15.01.2013, 17:41
С какого-то уровня, вроде с 3-го жизни перестали уменьшаться. Оно так и должно быть?
Только с 3го уровня? Странно, это бессмертная версия и жизни вобще не должны уменьшаться (делал "как для себя", а я не готов к хардкору в аркадах). Попробовал в EMU и VV - не уменьшаются. Может какая то определенная версия эмулятора имеет особенности и в ней почему то жизни уменьшаются даже в бессмертном варианте EXOLONа?

---------- Post added at 19:41 ---------- Previous post was at 19:37 ----------

Пожалуй мне надо было упомянуть в readme, что версия бессмертная.

PPC
15.01.2013, 23:13
Только с 3го уровня?
Вот сейчас уже точно не скажу, но показалось что на первом уровне жизни уменьшались, хотя возможно что и нет.

А версия без бессмертия с поддержкой всех процов будет?

ivagor
16.01.2013, 10:36
А версия без бессмертия с поддержкой всех процов будет?
Тогда уж надо бы версию с отключаемыми читами и заставкой, наверно я такую сделаю.
А вобще с использованием квазидиска (или для 6128) можно было бы сделать (я не про себя, это просто мысли вслух) улучшенный вариант EXOLONа - задействовать все 4 плоскости, посчитать заранее (а не в рилтайме) сдвиги спрайтов, прикрутить музыку и эффекты для АY.

PPC
16.01.2013, 15:25
Тогда уж надо бы версию с отключаемыми читами и заставкой, наверно я такую сделаю.

Это было бы здорово! Насчёт отключения заставки, правда не уверен, всё-же она придаёт некий шарм и напоминает о преемственности. Неплохо было-бы иметь несколько уровней сложности, когда вначале даётся, скажем 10, 20 и 30 жизней.


А вобще с использованием квазидиска (или для 6128) можно было бы сделать (я не про себя, это просто мысли вслух) улучшенный вариант EXOLONа
6128, насколько я могу понять - вообще рулёзная машинка для игр. Очень жаль, что она вышла таким малым тиражом и не получила широкого распространения. Ей бы ещё один проц в параллель, и был бы игровой супермонстр.
В любом случае, сдаётся мне, что на 6128 возможно было-бы даже нечто подобное Принцу Персии сделать. В цветах и красотах. Только это реально туча труда чтобы было хоть более-менее плавно.

А вообще, здорово было бы замутить что-то типа Dune-II для Вектора. Ну пусть не прямой порт, а навеянное. Прелесть в том, что для игр такого типа скорость перерисовки игрового поля не так критична как для уровневых аркад. Но это тоже всё не про себя, а "мысли вслух".

PS. Уже по 3му разу переписываю физику и гравитацию в роботах и всё недоволен.

ivagor
16.01.2013, 16:43
Это было бы здорово! Насчёт отключения заставки, правда не уверен, всё-же она придаёт некий шарм и напоминает о преемственности. Неплохо было-бы иметь несколько уровней сложности, когда вначале даётся, скажем 10, 20 и 30 жизней.
Тут я неудачно выразился. Хотел сказать с (отключаемыми читами) и (заставкой). Заставку я имел в виду картинку со спека. Не оригинальную, с планетами, а, кажется, польскую, там где крутой космодесантник (есть ее облагороженная обработка под вектор, но не знаю где лежит). Насчет выбора количества жизней я как то не очень проникся, это вряд ли.

ivagor
16.01.2013, 19:34
Кое как добавил пару читов в автофиксовый EXOLON. Заставочную картинку все же не стал прилеплять.
Заменил распаковщик на быструю версию b2m, но чтобы выпендриться я ее еще микроскопически ускорил.

blackinwoman
20.12.2017, 00:08
ivagor, maxkit,

а что за прикол у Вектора с клавиатурой, я пробовал разные версии данной игры и если нажимать РУСЛАТ и стрелки перемещения то игра подвисает или выходит в меню, если перезапустить БЛК+СБР, то музыка играет, но игру уже не запустить ... Это общеизвестный баг Вектора или что то может быть полудохлое на плате ?

svofski
20.12.2017, 01:51
Это общеизвестный баг Вектора
По-моему это общеизвестная особенность этой игры.

Сначала нажать РУС/ЛАТ, будет заставка без анимации но с музыкой. Теперь РУС/ЛАТ надо подержать, может быть долго. Тогда музыка кончится и в меню заиграют звездочки. И там уже можно нажать 1 и начнется игра.

blackinwoman
20.12.2017, 20:34
svofski, потестировал еще раз, в версии размещенной выше, нажатие на курсорную клавишу вниз вешает игру ... с чем это может быть связано ?

svofski
20.12.2017, 20:50
blackinwoman, а в других версиях как? Реала у меня, к сожалению, нет. В моем эмуляторе работают все версии, нажатие клавиши вниз приседает героя.

blackinwoman
20.12.2017, 20:53
еще тест перестал запускаться
http://sensi.org/scalar/ware/621/

точнее рисует заставку, а далее крашится с мусором на экране, опять же при нажатии клавиши ВК
память тестируется без сбоев

- - - Добавлено - - -


а в других версиях как?
ну удается пройти несколько шагов и сбрасывается в меню

svofski
20.12.2017, 20:59
Может быть с вашим Вектором не все идеально? В категории test (http://sensi.org/scalar/categories/test/) есть разные тесты памяти, таймера и комбинированные.

blackinwoman
20.12.2017, 21:12
svofski, как все сложно, может действительно битая память попалась в верхних адресах, но этот тест не показывает ошибок
http://sensi.org/scalar/ware/555/


вот этот http://sensi.org/scalar/ware/648/
начинает заполнять память 1 и к верхним адресам на экране появляется мусор, как бы еще понять, как он показывает битую микросхему ...

blackinwoman
21.12.2017, 00:58
похоже дело не в памяти, а в чем то еще типа ВИ53 или порта клавиатуры ...

почитав тему про отладку эмуляции ВИ53 и запустив тесты
http://sensi.org/scalar/ware/650/
возник вопрос, в тесте i82532 должен на бипер идти звук ?
во всех остальных звук есть, в этом только щелчок при запуске

svofski
21.12.2017, 01:26
Там несколько разных тестов. Звуки в них явления побочные, потому что они все были созданы для уточнения поведения счетчиков в ВИ53. Сам я на реале их не гонял, но подозреваю, что в них должны быть слышны какие-то щелчки или даже низкочастотный рокот. С программной точки зрения, если картинки совпадают с теми, что на фотках в архиве, проблем быть не должно.

Exolon чувствителен к таймеру, он им отслеживает строку, которая в настоящий момент сканируется. Так что если с ВИ53 проблемы, Exolon может вести себя странно.

ivagor
21.12.2017, 08:11
начинает заполнять память 1 и к верхним адресам на экране появляется мусор, как бы еще понять, как он показывает битую микросхему ...
Если речь про "пробегающую помеху" при проверке старших адресов, то это нормально. Можно сравнить с эмулятором - на реале как в эмуляторе или иначе?

Насчет таймера - exolon еще может странно среагировать на проблемы с таймером, но тест устройств - вряд ли.
Может лучше D30 ("системную" ВВ55) проверить?

blackinwoman
21.12.2017, 13:46
ivagor,

смысл такой что при нагреве что то деградирует в Векторе и засирается шина, от этого и ошибки памяти в тесте http://sensi.org/scalar/ware/648/ , почему только в нем, а с заводским тест прогоном все нормально, дело в том что если клавиатура не опрашивается, т.е. ВВ55 не программируется, то все работает без проблем ...
может быть конечно это микросхема шинного формирователя, я делал эксперименты с охлаждением микросхемы и вроде бы была зависимость, т.к. эффект плавающий, иногда проще и быстрее просто поменять микросхемы, чем сидеть над платой часами ...

да теперь я понял насколько люди были правы по рассказам про мучения ремонта и обслуживания советских компов, где из за деградирующих специальных микросхем приходилось тратить уйму времени на поиск неисправности ... хоть в спектрумы собраны на рассыпухе, там полегче с диагностикой ...

svofski
21.12.2017, 14:48
Я слышал, что ВВ55 имеют дурную репутацию. Может правда есть смысл ее поменять на свеженькую.

- - - Добавлено - - -

А кстати, что если приделать к ВВ55 активное охлаждение? Хороший радиатор на термопасту и вентилятор. Период полураспада увеличится, или нет?

blackinwoman
21.12.2017, 15:52
А кстати, что если приделать к ВВ55 активное охлаждение? Хороший радиатор на термопасту и вентилятор. Период полураспада увеличится, или нет?

нет, я проверял, не хочу время тратить впустую на проверки уже, проще по схеме поменять

TomaTLAB
21.12.2017, 16:13
ВВ55 если работают, то работают. Но любят дохнуть от любого чиха (особенно если наружу во внешний мир торчат) и тогда начинают мозги канифолить.
Были у нас как-то стенды с ISA платами АЦП от "Руднев-Шиляев", так они там и горели пачками, пока все на буржуйские КМОП на заменили.

ivagor
21.12.2017, 17:41
дело в том что если клавиатура не опрашивается, т.е. ВВ55 не программируется, то все работает без проблем
Если на экране что-то видно, значит ВВ55 D30 программировали - на ней установка видеорежима, скролл, номер цвета палитры/бордюр

blackinwoman
21.12.2017, 17:45
Если на экране что-то видно, значит ВВ55 D30 программировали - на ней установка видеорежима, скролл, номер цвета палитры/бордюр

ах вот оно что, но я судил по 20 ноге, там был или лог 0 и тогда все работало или импульсы и тогда все накрывалось

svofski
21.12.2017, 17:58
А что такое у нее на 20 ноге?

blackinwoman
21.12.2017, 18:21
А что такое у нее на 20 ноге?

ряд клавиатурный, идет на шлейф, ну и на остальных ногах идущих на шлейф, факт идет опрос

ivagor
21.12.2017, 18:23
20я нога D30 - это бит 2 порта B
на чтение - это один из битов текущей выбранной линейки клавиатуры
на запись - один из битов номера палитры/бордюра

svofski
21.12.2017, 18:58
Ладно, хозяин похоже настроен решительно =) Подождем результатов замены.

blackinwoman
21.12.2017, 20:03
замена дала эффект, но не полностью :

во первых чип друго завода - греется меньше, да и прошолый грелся не сильно
во вторых хоть теперь можно поиграть в exolon
в третьих при нажатии на плату в тесте показали ошибки, тоесть либо дорожка треснула, либо дело не в В55А или просто так совпало ... надо тестировать дальше

попутно вопрос по квазидиску, там единый стандарт был или разные ни с чем не совместимые ? проще говоря в combodevice чем потестировать диск, заводским тестом его не видит, хотя AY работает

Syntal
21.12.2017, 21:26
попутно вопрос по квазидиску, там единый стандарт был или разные ни с чем не совместимые ? проще говоря в combodevice чем потестировать диск, заводским тестом его не видит, хотя AY работает
Квазидиск вроде как Кишиневский стандарт, реализации на местах может аппаратно малость отличались, но программно одно и тоже. Омский вариант только под свой какой-то ДОС делался.

В Combodevice квазидиск Техпрогоновский тест должен проходить нормально и всякие kdtest, kdtest2 тоже без проблем.

blackinwoman
21.12.2017, 21:46
В Combodevice квазидиск Техпрогоновский тест должен проходить нормально и всякие kdtest, kdtest2 тоже без проблем.

у меня они не запускаются нормально, может быть что по адресации конфликтуют с 32кб ПЗУ ?

Syntal
21.12.2017, 22:35
у меня они не запускаются нормально, может быть что по адресации конфликтуют с 32кб ПЗУ ?
Нет, у меня тоже на 32 кБайт ПЗУ переделано. Как подсоединено? Кабелем или разъем в разъем?

blackinwoman
22.12.2017, 00:36
разъем в разъем
разьем в разьем

я плис проверял, не проверял на плате логику пока

засирание шины данных я вроде победил

Syntal
22.12.2017, 06:52
Напишите маркировку ПЛИС, статОЗУ и регистра. Где плату брали? Из моих тиражей (без шелкографии или с ней) или последующие от инициативных товарищей? Лучше сразу фото и желательно фотки что на экране от kdtest, kdtest2, техпрогона.

blackinwoman
22.12.2017, 17:20
Напишите маркировку ПЛИС
epm7128slc84-15n


статОЗУ
as6c4008-55pcn


регистра
555ир23



Где плату брали?
где смог найти
http://zx-pk.com/forum/viewtopic.php?f=7&t=1588&hilit=combodevice



Лучше сразу фото и желательно фотки что на экране от kdtest,
http://saveimg.ru/thumbnails/22-12-17/4c8163c8632357b8f4f4c246f36f527d.jpg (http://saveimg.ru/show-image.php?id=ef4b0423e0d7c6d46ae0f07e9b269cdd)



kdtest2
заполняется сеткой, потом синий экран



техпрогона
пишет модуль не найден

blackinwoman
23.12.2017, 00:34
в combodevice сигнал CAS с разьема Вектора не используется ? с Векторной РЕ3 он идет всегда в лог 1 и никакого сигнала там нет, это нормально ?

что за сигнал БЛК на 38 ноге разьема ? тоже идет с этой РЕ3 и тоже в лог 1

Syntal
23.12.2017, 09:21
Можно попросить Модератора отцепить от данной темы сообщения с последнего абзаца сообщения #49 в профильную тему про Combodevice
http://zx-pk.ru/threads/22217-combodevice.html


в combodevice сигнал CAS с разьема Вектора не используется ? с Векторной РЕ3 он идет всегда в лог 1 и никакого сигнала там нет, это нормально ?

CAS не используется. На РЕЗ (D37) делаются CASы для четырех линеек основного ОЗУ и для ВУ (квазидиска). То что сигнал в 1, это нормально при отсутствии обращения к Квазидиску.

что за сигнал БЛК на 38 ноге разьема ? тоже идет с этой РЕ3 и тоже в лог 1

БЛК идет не с РЕ3, а на РЕ3 и как раз управляет выдачей CAS на ВУ.

БЛК должен формироваться самим ВУ (в частности Combodevice) при обращении в программах к адресам, куда подставляется квазидиск.

Посмотри БЛК с ПЛИС вообще в ноль когда-нибудь падает при запуске прог, обращающихся к квазидиску? На статОЗУ сигналы OE, WE, CS что из себя представляют?

blackinwoman
24.12.2017, 00:27
Syntal, вопрос на засыпку, а kdtest
http://sensi.org/scalar/ware/619/
как себе ведет без платы combodevice в слоте ?
у меня так же, как и с платой, т.е. мерцает экраном


оказалось когда нету обмена с портом квазидиска и БЛК не работает, так и должно быть

разобрался, это я с 32к ПЗУ перестарался, была сопля под дополнительными ногами пзу и сигнал БЛК был всегда подвязан к +5

Syntal
24.12.2017, 10:23
разобрался, это я с 32к ПЗУ перестарался, была сопля под дополнительными ногами пзу и сигнал БЛК был всегда подвязан к +5
Теперь все тесты пашут?

blackinwoman
24.12.2017, 12:26
Теперь все тесты пашут?
тест квазидиска да, AY работает, остальное я пока не знаю как проверить

ivagor
22.01.2019, 17:59
Музычку в эксолоне можно было сделать лучше, например так (через таймер). Причем это намного проще, чем потеть над оптимизацией биперного плеера, который все равно на 100% соответствовать оригиналу не сможет.

svofski
22.01.2019, 18:54
ivagor, спасибо! Наконец-то я услышал, как она должна звучать. Оригинал (в смысле Векторовский) я всегда в панике вырубал как можно скорее. Я добавлю к архиву в картотеку?

ivagor
22.01.2019, 19:15
Спасибо на добром слове :) Раз такой вариант устраивает не только меня, значит надо попробовать вставить его в игрушку. Надеюсь до конца недели сделаю, может даже завтра, тогда можно будет добавить в картотеку сразу законченное изделие. А если не получится (или я резко займусь чем-то другим), тогда можно будет и "демонстрацию" в картотеку поместить. Т.е. лучше немного подождать.

svofski
22.01.2019, 20:31
ivagor, отлично, ждем ;)

ivagor
23.01.2019, 18:26
Заменил в версии с фиксом и читами (https://zx-pk.ru/threads/11067-igra-quot-exolon-quot.html?p=568330&viewfull=1#post568330) биперную музыку на таймерную.

svofski
25.01.2019, 00:53
ivagor, Exolon не инициализирует 8255. После стандартного загрузчика в CW практически стопудово лежит $88, но вообще никто же не сказал, что он загружается из стандартного загрузчика. Там может и $00 быть, а тогда РУС/ЛАТ не определяется.

ivagor
25.01.2019, 09:07
Да, надо поправить для полного счастья. Только 00 в 00 не проблема, эксолон его сам туда записывает(после первой заставки, перед музыкой), оригинальный так и много раз (во время музыки и параллельно смотрит порт 1 на предмет РУС/ЛАТ) :) Вот если в РУС записать что-то вроде 80h, то будет веселее. Но за все время жизни этой игрушки с 93 никто не написал о проблемах связанных с невозможностью ее запустить, т.е. на практике ничего страшного. Хотя можно написать специальную досовскую запускалку игрушек, которая коварно установит неправильный режим ВВ55 :)

- - - Добавлено - - -

Кстати, там же еще и палитра программируется до инициализации ВВ55. Т.е. самый злой прикол - запрограммировать перед запуском эксолона старшую половину C на вывод, остальное - на ввод.

svofski
25.01.2019, 10:57
Но за все время жизни этой игрушки с 93 никто не написал о проблемах связанных с невозможностью ее запустить, т.е. на практике ничего страшного.
Я ее запускал всегда нажатием F12, то есть БЛК+СБР, вместо предлагаемого РУС/ЛАТ. Но твоя версия по сбросу не запускается.

Проблема в том, чтобы покинуть эту самую первую заставку, которая перед музыкой. Он опрашивает РУС/ЛАТ, а порты запрограммированы на вывод. Отчасти это проблема моего эмулятора, который не пытается исполнить код загрузчика перед тем, как запустить ROM.

ivagor
25.01.2019, 12:15
Предлагаю разделить вопросы инициализации ВВ55, возможности рестарта и работоспособности в v06x.

Рестарт через БЛК+СБР у меня не предусмотрен, т.к. автор его не рекомендовал в данной игрушке и описал штатные способы рестарта через комбинации клавиш. Пара вариантов оригинального exolonа (с названиями exolon.rom) удачно ресетится с первого экрана в твоем эмуляторе, т.к. их распаковщик прописывает адреса 0-2. Добавлю это и в модифицированной версии на всякий случай. Exolond.com и exolonl.rom по сбр+блк корректно не рестартуют.

Подробнее по работоспособности в v06x. Запустили
v06x.exe --rom EXOLON.ROM
нажали F12, ждем, когда проиграет музычку (т.к. на РУС/ЛАТ реакции нет). Появились звезды, жмем 1, начинается игровой процесс. При первом выстреле пушки вылетаем в меню. Этот только у меня так? Проблема в моем компе, ос или в старой версии эмулятора?

svofski
25.01.2019, 13:03
Подробнее по работоспособности в v06x. Запустили
v06x.exe --rom EXOLON.ROM
нажали F12, ждем, когда проиграет музычку (т.к. на РУС/ЛАТ реакции нет). Появились звезды, жмем 1, начинается игровой процесс. При первом выстреле пушки вылетаем в меню. Этот только у меня так? Проблема в моем компе, ос или в старой версии эмулятора?
У меня так же. Скорее всего еще какие-то тонкости 8255 недоделаны.

x-code
25.01.2019, 15:50
Музычку в эксолоне можно было сделать лучше, например так (через таймер)

Можно нескромно спросить - а исходники планируется выкладывать на всеобщее обозрение? :v2_blush:
Или, хотя бы, общий принцип работы?

Насколько я понимаю, ценой большой загрузки процессора (на заставке он всё равно по большей части простаивает) биперная музыка позволяла делать звуковые эффекты более сложные, нежели можно выжать из 8253 (пример - игры Zynaps и Dark Fusion (https://www.youtube.com/watch?v=oYopnpLGVDw) на ZX-Spectrum, хотя насчёт последней я не уверен, что там не AY...)

ivagor
25.01.2019, 16:06
исходники планируется выкладывать на всеобщее обозрение?
Исходник таймерного проигрывателя? Там все совершенно стандартно, никаких эффектов - берем делитель, пишем в таймер, ждем и так по кругу. Такие исходники вроде неоднократно публиковались в векторовских изданиях.

Суперкрутые спековские биперные проигрыватели, типа savage (https://www.youtube.com/watch?v=6AVWgrD9_1M) (Part 1 Music (https://www.youtube.com/watch?v=6AVWgrD9_1M&t=304s) пожалуй моя любимая спековская биперная музыка из детства), chronos (https://www.youtube.com/watch?v=u-D24A_N4d4) не представляется возможным перенести на вектор с приемлемой скоростью.
Но у таймера свои фишки, талантливый музыкант/программист мог бы выжать из него такое, что в свою очередь невозможно будет повторить на бипере спека.

Lethargeek
25.01.2019, 18:23
Dark Fusion на ZX-Spectrum, хотя насчёт последней я не уверен, что там не AY
бипер там, причем "двухбитный", о существовании которого всё время говорили большевики говорил блаккат :)
(хотя вероятнее, что немного разный звук на d3/mic и d4/ear это случайность)

ivagor
25.01.2019, 19:19
Обновил модернизированную версию (https://zx-pk.ru/threads/11067-igra-quot-exolon-quot.html?p=996003&viewfull=1#post996003). Добавил инициализацию ВВ55. Возможность ресета тоже добавил, но все же рекомендую использовать предусмотренный автором рестарт через УС+СС+РУС/ЛАТ.

- - - Добавлено - - -

svofski, посмотрел бегло io.h
1. Если писать в порт 0, то мы запишем значение в CW, независимо от того, MS это или BSR.
2. При чтении порта 1 проверяется бит 3 CW (про бит 0 и нижнюю половину думаю можно пропустить) и в зависимости от него в старшую половину выдается либо записанное в порт значение либо реальное состояние клавиш и магнитофонного входа.
Как я понял, у тебя получается, что при записи 0 или 1 (т.е. BSR) в порт 0 мы меняем CW. А при чтении порта 1 смотрим бит 3 CW - там 0, и выдаем старшую половину PC - там тоже все нули (после смены режимов в обработчике). Т.е. якобы УС+СС+РУС/ЛАТ нажаты - и вылетаем в меню.

svofski
26.01.2019, 01:35
ivagor, спасибо! Обновил эмулятор.

А вот теперь, когда музыка играется таймером, возникает вопрос: зачем сначала слушать музыку, а потом любоваться звездочками, если можно слушать музыку, любуясь звездочками? ;)

ivagor
26.01.2019, 10:39
Про звезды с музыкой я думал, в спековском ay со звездами играет. Но надо еще поразбираться, пока нет желания. Может созрею одновременно на звезды и ay. И через таймер ay-ковский музон будет круче, чем биперный.


Музычку в эксолоне можно было сделать лучше, например так (через таймер). Причем это намного проще, чем потеть над оптимизацией биперного плеера, который все равно на 100% соответствовать оригиналу не сможет.
После преодоления звукового барьера на специалисте мне захотелось опровергнуть это свое утверждение. Жирный многокилобайтный плеер с развернутыми циклами на векторе догнал (и даже совсем чуть-чуть обогнал) спековский оригинал по скорости основного цикла, т.е. по диапазону вверх. Но обогнал не так сильно, как на специалисте, высокие ноты все равно неточные (как и на спеке). И тогда я решил транспонировать вниз на полоктавы (где низкие ноты более точные) - вот такой вариант мне понравился, можно слушать. Все ноты (как для спеца) я не пересчитывал, но парочку подкорректировал.
Исходник прилагаю. Там есть параметр DownTune, который определяет, на сколько полутонов транспонировать вниз. Можно побаловаться в интервале от 0 до 7. Но скорее всего придется корректировать ноты для нормального проигрывания созвучий. Такой вот местами почти хорошо темперированный эксолон.
У каждого эмулятора свои плюсы и минусы, для бипера лучший - v06x. Там звук какой-то даже слишком рафинированный, иногда кажется что это таймер, где же грязь, скрежет и шипение.

- - - Добавлено - - -

Кстати, хотя векторовский плеер получился медленнее специалистовского (т.к. у нас нет отображения портов на память + векторовские тормоза), зато освободился один регистр. Сложно сказать, для чего его можно использовать, но он есть.

svofski
26.01.2019, 10:45
Вот тут должны возникать споры о корректности исполнения биперной музыки 80-х в современной темперации. Должны появляться аутентичные исполнители итд.

ivagor
26.01.2019, 10:54
Несомненно. Аналогии с барочной музыкой прослеживаются.
1. Например ля в эксолоне чуть заниженная (как и весь строй). Хотя кто-то может сказать что наоборот - завышенная, а я смотрю не с той стороны. Только официальные ноты помогут рассудить этот спор.
2. Вибрато не используется.

- - - Добавлено - - -

3. Самое аутентичное звучание будет только на векторе где-нибудь так 1991 года выпуска.

goodboy
26.01.2019, 11:19
Только официальные ноты помогут рассудить этот спор.
тут надо изучать именно оригинал на с64.
мне попадалась (сходу не нашёл) утилита под win которая играя sid на выходе даёт дамп с нотами для каждого канала

ivagor
26.01.2019, 13:06
Можно попробовать подойти к вопросу "какие ноты" без иронии, серьезно. Но C64 я не потяну. Глянул спековский AY. Там ноты вполне четкие, но отличающиеся от бипера. Если брать первые ноты заставки, то в бипере что-то в районе соль-диезов малой и второй октав. А в AY (если брать только 2 голоса, 3го в бипере нет) фа малой и второй октав. Т.е. музыку транспонировали для адаптации к конкретному устройству звукоизвлечения. Таблицы нот для бипера и AY имеют разные диапазоны. У AY самая низкая нота в таблице - ля-диез большой октавы, а у бипера в мелодии встречаются и более низкие ноты.
Теоретически wav с музыкой C64 можно попробовать посмотреть в звуковом редакторе на предмет определения нот, но думаю для практики в этом нет особого смысла. Хотя для истории было бы интересно знать.

x-code
27.01.2019, 10:29
Исходник таймерного проигрывателя? Там все совершенно стандартно, никаких эффектов - берем делитель, пишем в таймер, ждем и так по кругу. Такие исходники вроде неоднократно публиковались в векторовских изданиях.

Но таким образом мы можем манипулировать только частотой (и, возможно, скважностью) генерируемого таймером меандра, верно? То есть, никаких огибающих, обертонов, и никаких шумовых эффектов таким образом не получишь?

Правда, здесь вспоминается Rise Out (https://www.youtube.com/watch?v=dQ82jbYHnaA), но не факт, что в ней "ритм-секция" играется полностью на таймере, а не с привлечением бипера.


Но у таймера свои фишки, талантливый музыкант/программист мог бы выжать из него такое, что в свою очередь невозможно будет повторить на бипере спека.

Так вот это же и самое интересное - что можно выжать из таймера такого, что невозможно повторить на бипере, и что, при этом, звучало бы интересно?
Навскидку, в голову приходит только грамотно распорядиться полифонией, но ИМХО апогей в этом плане уже был достигнут в плеере Сергея Новикова (Fatax, Eraser).

ivagor
27.01.2019, 10:39
Но таким образом мы можем манипулировать только частотой (и, возможно, скважностью) генерируемого таймером меандра, верно? То есть, никаких огибающих, обертонов, и никаких шумовых эффектов таким образом не получишь?
Да, конечно. В биперном проигрывателе эксолона ничего такого (эффектов) и нет.


Так вот это же и самое интересное - что можно выжать из таймера такого, что невозможно повторить на бипере, и что, при этом, звучало бы интересно?
Навскидку, в голову приходит только грамотно распорядиться полифонией, но ИМХО апогей в этом плане уже был достигнут в плеере из семейства игр Fatax.
У таймера заметно более широкие возможности по диапазону в сочетании с точностью + все это на 3 голоса без проблем + проигрыватель можно разместить в обработчике прерываний (и параллельно что-то делать другое) + бипер можно использовать для ударных/шумовых эффектов.
Fatax (и другие игры с музыкой Новикова) - это исторический пример использования на векторе частотного вибрато и биений для придания звучанию окраски, колорита. Теперь есть примеры такого рода и покруче: AYковые мелодии через "эмулятор AY" (таймер+бипер) и последние достижения SegaBoyя. vinxru еще вроде подобную музычку делал.
Кстати, я уже писал в теме про музыку, но могу повторить, что у векторовского таймера есть преимущество по диапазону и относительно AY. Хотя AY по другим возможностям заметно круче.

x-code
27.01.2019, 11:02
последние достижения SegaBoyя.

Спасибо, очень любопытно! Вот такую годноту бы и на Вектор... но, как я понял, SegaBoy использует аппаратные доработки, чтобы получить возможность управлять не только частотой, но и амплитудой сигнала. Причём, насколько могу судить, схемотехника этих наработок переносится на "Вектор" практически 1-в-1 - возможно, только дешифрацию адреса придётся сделать по-другому, т.к. в Векторе нет DMA, на готовом сигнале CS которого "паразитирует" оригинальная схема.

ivagor
27.01.2019, 11:13
Первый вариант castlevania SegaBoyя я переносил на вектор (и не только на вектор), можно и поздние варианты (и другие мелодии) перенести, только надо найти мотивацию, технических сложностей там нет. Они и без управления громкостью звучат хорошо.

- - - Добавлено - - -

А с управлением громкостью можно на AY.