• avatar VBI
  • 1
Райдер извини за оффтоп, но
Откуда даВинчи добывал инфу о строительстве мостов, и какой был редактор у Баха?
Спасибо тебе за информацию, это было очень полезно. Кстати… у меня какое-то дежавю… я ведь что-то спрашивал, и твой ответ был примерно таким же, масса подробной информации...
Если ты помнишь код этой процедуры, там есть «командочки» и лист составлен из «паттернов».
И вообще, код процедуры очень линейно простой, в нем нельзя не разобраться.
Тогда я не видел еще ни одного трекера, и думал что это просто такая система сжатия.
Вопросом я этим задаюсь потому что постоянно обдумываю, как оно всё было, не хватает информации по типу книги о R-Type. Меня интересуют, в основном, два вопроса. Во-первых, откуда тогда добывали информацию по программированию графики, хотя бы тех же спрайтов, а во-вторых, меня не покидает ощущение, что для упомянутой мной музыки был (хотя бы внутристудийный) какой-то редактор… Ну и конечно же, в историческом разрезе интересует на чем все тогда рисовали графику, писали код и чем отлаживались.
Я чуть попозже спрошу у Оливеров, кто что делал в каждой части. Если об этом в книге ничего не будет.
Ха, так даже ещё интереснее, потому что получается, тебе пришлось переоткрыть самостоятельно почти все магистральные направления в биперных движках 1980-х. Я прочёл больше кода из-за того, что в какой-то момент делал сборник своей любимой биперной музыки и мне пришлось разобраться в структуре движков, в основном для выдирания.

Скважность у тебя в Tritone я и так знал что оригинальная (хотя Savage содержит очень похожие идеи) — слишком ни на что не похож движок. Про ZX7 я наврал; я имел в виду конечно ZX10, просто нумерация у Дика безумная. Когда я выравнивал Octode, мне очень нужно было ускорить обработку каналов и я написал с десяток вариантов обновления 8-битных счётчиков. Представь себе моё удивление, когда я уже потом прочёл код ZX10 и понял, что он делает там совершенно то же самое, что оказалось в итоге сделано в Octode XL.
и так неплохо получилось))
  • avatar Nuts_
  • 0
речь похоже идет про три часа ночи (утра) субботы?
родилась кстати тут у меня одна мыслишка…
  • avatar Shiru
  • 6
Однако, нигде не читал про фурор по Plip Plop. Зато он когда-то вызвал фурор среди меня, впечатлил звук и пщщщщ в конце. Нам надо бы систематизировать всю эту информацию по возможной генеалогии движок и где-то записать.

Про линии заимствования касательно моих движков — а вот мимо. Я всегда очень не любил ковырять чужой код, не из принципа, а просто не хватало ума. Только в последнее время осилил до конца разбирать небольшие чужие процедуры типа движков Lyndon Sharp'а. Когда писал свои, вообще не подсматривал в код, но иногда смотрел на форму сигналов в аудиоредакторе и думал, как можно было бы получить что-то похожее. QChan был оригинальной идеей (изначально она в Stocker), т.к. я на тот момент в упор не понимал объяснений AlCo про движок Фоллина и Beep Tracker, но понимал идею ШИМ, до которой додумался сам в конце 90-х (в поделках тех лет у меня была 'громкость' в биперных эффектах). В Tritone чередование из Phaser, а в Phaser, пожалуй да, из Wham, но контроль скважности пришёл в голову самостоятельно, уже не помню, как. В Octode идея тоже возникла спонтанно, в процессе экспериментов, так как я тогда не понимал идею с буфером в ZX-7 и попробовал сделать более тупо. Ну и до биперных движков я написал несколько эмуляторов разных звуковых чипов, пару MOD-плееров, софтовый MIDI-синт с сэмплами и всякое подобное. То есть подходил к теме с несколько другой стороны.
Shiru, ну как же, ты не можешь не знать что первый (одноголосный) движок Смита — из Пинг Понга (май 1986) — вызвал в своё время фурор, т.к. был первым движком с нетривиальным звуком ударных. Думаю, многие не понимали, что ударные прерывающие, так что речь шла о как бы двух каналах — ударных и соло. Идея контролировать биперный движок через прерывания — явно из Plip Plop (её нет ни в Wham, ни у Фоллина), т.е. Joffa наверняка писал свой код до двухканального движка (они называли это driver) Whittacker'а, который использован в Dizzy (1987 год).

Движки Follin'а мне, кстати, похожими не кажутся, т.к. Фоллин контролирует ширину иголок, а движки Смита/Уиттекера — честно меняют скважность. Если бы я должен был провести линии заимствования, я бы предположил что-то типа:

Plip Plop -> Dizzy / Special FX / Dark Fusion -> 4chan etc
Wham -> Savage -> Tritone
Follin -> ZX7 -> Octode

Когда я писал свой первый движок, я в основном опирался на движок из Wham, и внедрил в него нечто похожее на движок из Dizzy (движок Смита мне всегда казался переусложнённым, я не люблю его код и по сей день). Т.е. ветки, конечно, могут и пересекаться.
мы принесем их в жертву?
  • avatar Shiru
  • 9
Есть две разных процедуры с очень похожим по коду циклом генерации звука, и собственно звуком. Наиболее явно они отличаются звучанием ударных.

Одна скорее всего впервые появилась в первом Dizzy, 1987 год. Кто её написал — непонятно. Среди авторов, помимо братьев Оливеров, фигурирует Jon Paul Eldridge — может быть он. Далее она регулярно встречается в играх Code Masters, и автор музыки там практически всегда David Whittaker. Возможно, процедура всё же его (и музыка в первом Dizzy), так как известно, что он писал свои плееры. Он на контакт не идёт. Может быть, можно узнать что-то у братьев Оливеров, но они тоже не очень открыты для общения.

Вторую написал Jonathan 'Joffa' Smith. Впервые замечена в 1988 году. Она называется Fuzz Click, но в биперных кругах её часто называют Special FX Engine, так как оригинальное имя долгое время было неизвестно, и она регулярно применялась в играх Special FX, с музыкой Keith Tinman'а (известно, что он писал её вручную в виде текста, но сам программировать не умел). В 1990 её выдернули чехи и сделали редактор Orfeus Music Assembler, там минимальные отличия в наборе ударных. В 2010 версия процедуры из Fire Fly стала первым движком в Beepola. К сожалению, Jonathan умер тогда же, в 2010, и мы не узнали у него, почему такое сходство. Но он говорил на форуме WoS (сообщения утеряны при обновлении форума), что написал движок сам, и не возражал против его использования.

Обе процедуры довольно похожи по устройству на движки Tim Follin'а. Возможно, уши растут оттуда. А может, Jonathan подсмотрел код в Dizzy и сделал аналог по мотивам. А может, в порядке безумной теории, был какой-нибудь древний компьютерный журнал, где рассматривался подобный способ генерации звука, например для Apple II — ведь там тоже был только бипер, и были многоканальные движки, а платформа заметно более старая.

Ещё надо добавить, что у Jonathan'а до Fuzz Click был одноканальный движок Plip Plop, похожий на одноканальный движок Follin'а. Его использовали в куче игр Ocean, а потом, судя по всему, взяли и доработали испанцы из Topo Soft. Испанцы же часто использовали доработанный движок Wham The Music Box. Так что версия с подглядыванием-заимствованием наиболее вероятна, это было в порядке вещей.
  • avatar tsl
  • 4
Да, большое спасибо, я напрочь забыл про CALL/RET/JUMP! Добавлю в текст. На самом деле, я и собирался их использовать. Кроме них есть ещё другие приёмы. Стек графического контекста, например.

Матрицы относятся только к битмапам, они и называются BitmapTransformХ.

Есть ещё команда трансляции, проще говоря — Х и У скроллка для всех последующих объектов. Фактически, можно получать «неограниченное» количество пиксельных (и не только) плоскостей с индивидуальными «регистрами сдвига».
  • avatar TmK
  • 0
P.S.: Кто из приезжающих/имеющих представителя на патиплейс не приготовил первоместные проды сам виноват, чур потом не жалеть )))
Пользуясь моментом, спрошу.
А чья двухголосая процедура в Dizzy1, Trantor, Hyper Active, Batman, и многих других игрухах? Где/как отыскать следы ее авторства и историю?
В свое время, году в 91-92м я ее изучал, она очень часто встречается.
В дисплейлистах есть CALL/RET, а это значит что они могут быть древовидные.
Отсюда, не обязательно формировать весь дисплейлист заново, достаточно патчить в основном дисплейлисте команды CALL, подключая уже готовые дисплейлисты. Немного неясно, матрицы относятся только к битмэпам, или нет. Если матрицы способны двигать всё, то в начале дисплейлиста можно располагать матрицу и, таким образом, получать сложные иерархические трансформации сцены, с которыми легко справится Z80.
Profit!
Стоит добавить, что дела обстояли ровно так же лет 10-12 назад.
Причина по которой я испугался, была такой же — постоянные манипуляции с регистром IX, когда надо, и когда не надо.
Отсюда вывод, пилить надо свое. По словам z80 gcc patch в groups.google.com отыскивается что-то интересное, к сожалению, дальше я не продвинулся.
Также, на github'е валяются всевозможные форки LLVM в разной степени допиленности.
  • avatar VBI
  • 0
Ну наконец-то становится понятно что оно, и с чем его есть)
А эта азиаточка на CSP будет?
  • avatar TmK
  • 2
Вообще конечно надо в пятницу до дождя поставить палатки и при себе иметь дождевик, хоть самый простой, хоть крутой — можно в пределах 300руб найти в гипермаркете на любой вкус. и комплект запасной сухой одежды и теплую одежду.
  • avatar TmK
  • 3
По поводу погоды:
Перед экраном будет натянут тент с пологими краями.
думаю 6х6 метров мы сможем накрыть точно, а может и больше
  • avatar tsl
  • 0
А сорри, не на то ответил =)