+12.69
Рейтинг
56.96
Сила
  • avatar Raider
  • 2
«Специалист» я паял, и он у меня был два года, в том возрасте это как сейчас 10 лет. =) Помню, вверх-вниз это INR/DCR L, влево-вправо INR/DCR H. Я понял, что ты мечтал бы о квадратном экране 1:1 с организацией 32 столбца по 256 байт = 8192 байта, пол-памяти. Дальнейшее ведет к милому сердцу обсасыванию техдеталей, с включением хотелок и мечталок на полную мощь, но история не терпит сослагательного наклонения. Увы…
  • avatar Raider
  • 0
Если сузить вопрос до «выполнили задачу или нет», выполнили конечно. В особенности если учесть что R.Altwasser на тот момент было 24 года, делал он всё в одну каску, и сроки стояли весьма сжатые. Про деньги тоже молчу. А ведь это 81й год, карандаш с бумагой, паяльник и макетки.
Кто бы знал что всё это будет жить не благодаря, а вопреки?
  • avatar Raider
  • 0
Ты слишком широко воспринял мысль, я не про экран в целом. Я про то как биты адреса заданы в данном конкретном случае экрана 32x192. Они заданы самым приятным образом.
Software ты тоже мыслишь очень широко — любое вообще, втч воображаемое :)
  • avatar Raider
  • 0
Сам не знаю. Чето сначала написал, потом стёр, а потом и вовсе завис от таких философских вопросов…
  • avatar Raider
  • 0
У нас -20° и метель
  • avatar Raider
  • 1
Blog writing contention.

Стар я стал. Это всё сон и работа. Вот не спал бы как раньше, и не работал — точно бы всё было в срок… ;)
  • avatar Raider
  • 1
Товарищ aa-dav настолько шустрый, что пока он задал вопрос и я писал ответную статью, за ночь ему не только успели накидать комментариев, но он успел на их основании выкатить вторую статью. К счастью, мое объяснение более полное, нежели чем «магия». Это потребовало времени.
У Kawai K5000 проблема в том что при интересном базовом тембре звук эволюционирует весьма мало. Поэтому звуки кажутся скучными/ретро.
В теории, при достаточном количестве гармоник аддитивным синтезом (АС) можно воссоздать любой тембр (*). Ибо он представляет собой IDFT, где управляя во времени компонентами спектра с определенной точностью приближаются желаемые тембры.
АС по моему мнению уступил другим методам потому что напрямую креативная работа с ним затруднена. Достаточно представить, что когда мы вручную меняем одну настройку (из 64-х или более) звук меняется весьма незначительно. Мы ведь просто подмешиваем в сигнал синусоиду и всё на этом. На деле все еще сложнее, так как требуется задавать огибающую. Все это очень нудно и скучно, звук меняется незначительно.
Толи дело FM синтез с фильтрами! Параметров немного, но зато стоит их немного «пошевелить», и они сразу дают интересное тембральное богатство. Параметры влияют на звук резво, интересно и непредсказуемо. Сплошной креатив, противоположность скуке АС.
Зато у АС есть преимущество. С помощью компьютера, выполняющего DFT, для АС можно легко «снять» любой интересный тембр.

* — при желании воссоздать можно не только тембр, но и звук, правда по закону обратимости time domain <-> frequency domain гармоник должно быть столько, сколько сэмплов в оригинальном звуке, иначе будут потери (которые можно трактовать как сжатие :) )
  • avatar Raider
  • 0
А про нее ничего неизвестно? :))
Frances
Едва ли кто-то додумывался с наскока до крутых процедур. Факт, что ковыряние кода было обычной практикой. Даже на приставках, там в коде встречаются сообщения для ковырятелей.
Да, я тоже по-умолчанию склоняюсь к тому, что дизассемблировали код, и таким образом учились. Наверняка же были какие-то игры, произведшие впечатление. Сбрасывали magic button и потом изучали, видимо, путь был таков.
У тебя получилась прямо вводная мини-статья. Благодарю, но к сожалению, большая часть написанного тобой мне уже известна. Меня интересуют, все же, детали…
До ZX Spectrum были другие домашние компьютеры, причём даже с аппаратными спрайтами. А до них были другие штуковины, показывающие графику, от понгов до аркадных машин, и всякие радиолюбительские и компьютерные журналы, где всё это обсуждалось.
А вот какие конкретно журналы — на WOS их немало.
Так что у первых программистов на ZX перед глазами был вполне устоявшийся пример
Мне интересна информация, например, истории конкретных техник быстрого вывода спрайта. Вопрос возникает в связи с тем что не так-то просто додуматься «с наскока», не зная основных принципов, скажем, использования стека. (Тут вряд ли кто-то догадывается, сколько времени я убил изучая как сделаны наиболее качественные игрушки). Я пролистал журналы «Sinclair User» или «Your Sinclair», но особо ничего такого там не нашел. Есть, конечно, шанс, что люди просто дизассемблировали игрушки (как это делал я) постепенно улучшая свое мастерство, либо куски кода передавались «вербально», как в той же Activision, но так или иначе, конкретика пока что все еще неизвестна. Я списывался в начале 2000х с некоторыми из программистов, но честно говоря, общение шло очень туго, ничего особо я не выяснил. Все это интересно еще и потому что нам-то куча игр доставалась совершенно бесплатно, но в Англии или Ирландии они, вообще говоря, стоили денег.
Касательно редактора. Я не знаю насчёт этого движка в варианте 'от Code Masters' (про Special FX явно говорилось, что редактора не было). Whittaker пришёл с C64, и рано сел на Amiga, а трекеры первым делом появились там, так что в принципе мог сделать свой редактор.
Да понятно, вопросом я задаюсь исключительно потому, что эта Whittaker-процедура довольно-таки «стандартна». Есть небольшие вариации процедурок ударных, но генератор, коды команд, и интерпретатор паттернов везде без изменений. Я не считал, но мне кажется, игр с ней штук ~20-30, если не больше. К тому же, в некоторых играх встречаются неиспользованные музычки (короткие музыкальные проигрыши — услышать их можно ставя передавая в инициализацию код отличный от нуля, первой командой типично идет ноль — #3E #00). Отсюда, логично предположить что был какой-то «кит» для написания музыки. Я видел и игрался с твоим «трекером» на SDL, но скорее всего ты представляешь себе редактор слишком серьезно. Но на самом деле он может представлять собой краткую инструкцию на экране «1 — PLAY. 2. CH1 3. CH2 4. DEL NOTE» и реагировать на нажатие кнопок, мэппя их как piano roll, и инкрементируя нотную позицию. В момент набора на такой простейшей «пианоле» ты слышишь ноты, и в целом неплохо наигрываешь мелодию. Для того чтобы услышать как будет играться набранное, нажимаешь «PLAY». Сия очень примитивная на первый взгляд «пианолька» во-первых быстро пишется, во-вторых очень и очень неплохо справляется со своей задачей, и запросто может оказаться, что нечто подобное там и было. По крайней мере, мы таких примитивных редакторов в свое время наклепали несколько — для North-Star подобных «пищалок» и для своих самодельных процедур. (Я тогда столь серьезно этим увлекался что спаял частотомер чтобы настраивать свои нотные таблицы.)
Anyway, thanx.
А это ты узнаешь, когда услышишь хлопок одной ладони…
Спасибо тебе за информацию, это было очень полезно. Кстати… у меня какое-то дежавю… я ведь что-то спрашивал, и твой ответ был примерно таким же, масса подробной информации...
Если ты помнишь код этой процедуры, там есть «командочки» и лист составлен из «паттернов».
И вообще, код процедуры очень линейно простой, в нем нельзя не разобраться.
Тогда я не видел еще ни одного трекера, и думал что это просто такая система сжатия.
Вопросом я этим задаюсь потому что постоянно обдумываю, как оно всё было, не хватает информации по типу книги о R-Type. Меня интересуют, в основном, два вопроса. Во-первых, откуда тогда добывали информацию по программированию графики, хотя бы тех же спрайтов, а во-вторых, меня не покидает ощущение, что для упомянутой мной музыки был (хотя бы внутристудийный) какой-то редактор… Ну и конечно же, в историческом разрезе интересует на чем все тогда рисовали графику, писали код и чем отлаживались.
Пользуясь моментом, спрошу.
А чья двухголосая процедура в Dizzy1, Trantor, Hyper Active, Batman, и многих других игрухах? Где/как отыскать следы ее авторства и историю?
В свое время, году в 91-92м я ее изучал, она очень часто встречается.
В дисплейлистах есть CALL/RET, а это значит что они могут быть древовидные.
Отсюда, не обязательно формировать весь дисплейлист заново, достаточно патчить в основном дисплейлисте команды CALL, подключая уже готовые дисплейлисты. Немного неясно, матрицы относятся только к битмэпам, или нет. Если матрицы способны двигать всё, то в начале дисплейлиста можно располагать матрицу и, таким образом, получать сложные иерархические трансформации сцены, с которыми легко справится Z80.
Profit!
Стоит добавить, что дела обстояли ровно так же лет 10-12 назад.
Причина по которой я испугался, была такой же — постоянные манипуляции с регистром IX, когда надо, и когда не надо.
Отсюда вывод, пилить надо свое. По словам z80 gcc patch в groups.google.com отыскивается что-то интересное, к сожалению, дальше я не продвинулся.
Также, на github'е валяются всевозможные форки LLVM в разной степени допиленности.
А эта азиаточка на CSP будет?
Продолжай…
  • avatar Raider
  • 1
Понятно, что дальнейшее давно не актуально, но чисто для истории…
История повторяется… 14-16 лет назад существовал сайт scenergy.natm.ru Вот он сохраненный в веб-архиве: https://web.archive.org/web/20030413120756/http://scenergy.natm.ru/rus/links.html (В самом низу «Demoscene Banners Collection»). В конечном итоге, если покопаться с WebArchive, попадаем на страницу https://web.archive.org/web/20060106142602/http://banner.scenosaurus.org/
140 баннеров.