• avatar Raider
  • 1
Нет, бэкбуфера нет. Рисует прямиком на 48k экран.
  • avatar aa-dav
  • 0
P.P.S.
Вопрос именно в том как получается всё плавно но за 2 инта и без разрывов.
  • avatar aa-dav
  • 0
Потому что за 1 int (1/50sec, 50fps) не успевает.
Т.е. он где то бэкбуферит чтобы потом за два инта проскочить и вылезти как по его документации писано «за два инта на 25 фпс»?
  • avatar Raider
  • 0
каким то образом
Поэтому вопрос — как и зачем.

Вопрос до конца не понятен. Почему за 2int'а? Потому что за 1 int (1/50sec, 50fps) не успевает. Не хватает производительности CPU. Если на реальном «железном» спектруме включить 7Mhz «turbo» Zynaps начинает стабильно работать в 50fps, причем графика не сечется, спрайты монстриков не исчезают.
по геймплею чётко видно, что нижние и верхние препятствия на скроллящейся части экрана никогда не пересекаются лишь приближаясь ровно к центру
Есть фоновая графика уровня в Zynaps и по центру, это не на первом уровне.
Относительно «демо-анимы» можно поговорить отдельно, хотя не знаю интересна ли тебе эта тема. Я лично считаю аниму просто один из приёмов в репертуаре, не главным, но безусловно полезным. Я делал демо чисто на аниме, я делал демо с элементами анимации; я не знаю всё, что закодил ты, но я смотрел Iris и я могу себе представить, что для тебя как для олдскул кодера у меня анимы очень много. Поэтому скажу так. Не всё что я делаю в своих демо основано на быстро распаковываемых данных. Но я безусловно держу эту опцию в уме и при необходимости/возможности — применяю.
Я не считаю что всё нужно паковать одним компрессором. Есть компрессоры которые жмут хуже, но намного быстрее распаковывают; они полезны в своей нише. Есть компрессоры, которые прекрасно жмут, но распаковывают часами (см. Shrinkler на диаграмме в комментарии чуть выше).

Короче, есть некая условная грань оптимальности Парето. Как бы если ты готов затратить некое конечное кол-во вычислительных ресурсов, ты не сможешь получить сжатие выше, чем позволяет эта грань. Грань на данным момент показана на диаграмме в комментарии выше по треду. Глядя на эту грань, я выбираю себе лучший компрессор для текущей задачи. Например, для универсального сжатия в ядре демо я сейчас использую MegaLZ; LZSA2 для меня в этой роли сейчас на втором месте, из-за слегка худшего сжатия графики. Но если в демо что-то не будет успевать на стыках, я поставлю LZSA2 и решу эту проблему. В то же самое время, один из эффектов у меня сейчас в демо требует покадровой распаковки атрибутов (пикселы сделаны эффектом, а вот раскраска — анимацией). В этом случае скорость абсолютно важна, поэтому в эффекте задействован LZSA1.

Некоторые успехи товарищей на других платформах ты можешь увидеть на моей диаграмме. Если очень коротко, я протестировал дохренища всего, не думаю что много упущено. Всегда есть потенциал что-то упустить из вида; но фундаментально, на Z80, с моей точки зрения все ведущие игроки сейчас обозначены.

И, да, запаковка на Z80 представляется мне абсолютно архаичной. С моей точки зрения в ней тупо нет смысла.
  • avatar Raider
  • 0
Напомни, что именно является «святым граалем» твоих поисков оптимального компрессора.
Могу ошибаться, но с моей точки зрения, это поиск наиболее сильного сжатия (требование №1 к любому компрессору) в то же время при самой высокой скорости _распаковки_ на z80.
При этом запаковка на z80, как таковая, абсолютно не принимается в расчет.
Видимо, всё это для целей демо-«анимы», т.е. основанных на быстро распаковываемых данных. Подтверди, так это или не так.
Изучал ли ты успехи товарищей на других 8-битных платформах? Каковы они?
  • avatar random
  • 1
2019

  ZX Spectrum 640K Demo
- -------------------------------------------------------------------------- -
       01  165 theend by thesuper ( shown 2, 34 votes, avg=4.853 )
       02  113 Hello world by moronizzz/buchaos crew ( shown 1, 35 votes, avg=3.229 )

  Combined Demo
- -------------------------------------------------------------------------- -
       01  138 mad about u by b/fly girls ( shown 1, 37 votes, avg=3.730 )
       02   84 Alistra by vertver/MZPE ( shown 2, 32 votes, avg=2.625 )

  Realtime AY Music
- -------------------------------------------------------------------------- -
       01   99 CCRT by EA/Antares ( shown 1, 21 votes, avg=4.714 )

  Realtime Graphics
- -------------------------------------------------------------------------- -
       01  181 Lost by moroz1999/dblk ( shown 2, 43 votes, avg=4.209 )
       02  177 Safe Landing by Matej 'Retro' Jan / Retronator ( shown 3, 42 votes, avg=4.214 )
       03  174 Что-то by Cangetsu ( shown 1, 43 votes, avg=4.047 )

  Realtime 53c Graphics
- -------------------------------------------------------------------------- -
       01  136 TrainOfChaos by TmK/deMarche ( shown 9, 29 votes, avg=4.690 )
       02  122 Chaos vs. Solarpunk by Matej 'Retro' Jan / Retronator ( shown 5, 30 votes, avg=4.067 )
       03  118 cc-train by nodeus/lfg ( shown 2, 29 votes, avg=4.069 )
       04  111 Рельсы для слабаков by moroz1999/dblk ( shown 7, 28 votes, avg=3.964 )
       05  107 Chaos model 968М  by BlastOff/BlastOff ( shown 6, 29 votes, avg=3.690 )
       06  105 Train entering the Chaos by Creonix/Brain Wave ( shown 3, 28 votes, avg=3.750 )
       07  104 cafechaos by neppieneppie/sibCrew ( shown 8, 26 votes, avg=4.000 )
       08  100 Might by Creonix/Brain Wave ( shown 4, 28 votes, avg=3.571 )
       09   83 No Train No Pain by Desiment/ ( shown 1, 29 votes, avg=2.862 )

  Wild Demo
- -------------------------------------------------------------------------- -
       01  197 1895 by Строков Андрей ( shown 4, 41 votes, avg=4.805 )
       02  165 Noch by Dmitry_Milk ( shown 2, 40 votes, avg=4.125 )
       03  160 Весёлая Птичка by azya ( shown 3, 39 votes, avg=4.103 )
       04  103 River by Venus Lucifer ( shown 1, 39 votes, avg=2.641 )

  Tiny Intro
- -------------------------------------------------------------------------- -
       01  149 Geometric Doodle by xmen/ ( shown 1, 38 votes, avg=3.921 )
       02  147 tunnel 253b by riddle ( shown 3, 38 votes, avg=3.868 )
       03  143 CCtro by frog/ROi ( shown 2, 37 votes, avg=3.865 )

  Animation/Video
- -------------------------------------------------------------------------- -
       01  115 северная сказка by ENOTiLAB ( shown 2, 33 votes, avg=3.485 )
       02  106 CCTT by CCTT ( shown 3, 31 votes, avg=3.419 )
       03   86 Gradiental Dancer by Creonix/Brain Wave ( shown 1, 33 votes, avg=2.606 )

  ZX Spectrum Graphics
- -------------------------------------------------------------------------- -
       01  169 Road to Spectropolis by Matej 'Retro' Jan / Retronator ( shown 5, 38 votes, avg=4.447 )
       02  164 RIP R.H. by moroz1999/dblk ( shown 6, 36 votes, avg=4.556 )
       03  160 Dog by dman/pcb ( shown 1, 37 votes, avg=4.324 )
       04  134 memories by Error/ErrorSoft ( shown 3, 37 votes, avg=3.622 )
       05  133 Entwurf by pixelrat ( shown 4, 37 votes, avg=3.595 )
       06   98 Instant Win by Jabberwock /doom2d.org ( shown 2, 34 votes, avg=2.882 )

  ZX Spectrum Beeper Music
- -------------------------------------------------------------------------- -
       01  119 Tribute to Masters by Darkman007/Quite ( shown 1, 27 votes, avg=4.407 )

  ZX Spectrum AY-Music
- -------------------------------------------------------------------------- -
       01  131 Navel of Mind by Darkman007/Quite ( shown 3, 31 votes, avg=4.226 )
       02  127 PRP by EA/Antares ( shown 5, 29 votes, avg=4.379 )
       02  127 Night City Drive by Sergei Smirnov aka Gogin ( shown 1, 31 votes, avg=4.097 )
       04  118 slowed by scalesmann/march[ing]_cats ( shown 2, 30 votes, avg=3.933 )
       05  103 pinch me in the bar by fatalsnipe ( shown 4, 28 votes, avg=3.679 )

  Tiny MP3 Music
- -------------------------------------------------------------------------- -
       01  113 Torque by Quiet/Insiders ( shown 4, 26 votes, avg=4.346 )
       02   95 The tragedy of that fat by |<ypa/)esa/Hi to M.A.M., dedanis, nagz
               & my depression ( shown 2, 25 votes, avg=3.800 )
       03   82 Rush by Saibogu/ ( shown 3, 24 votes, avg=3.417 )
       04   76 AtariSMN81 - Track for CC2019 by AtariSMN81 ( shown 1, 24 votes, avg=3.167 )

  Multichannel Traditional Music
- -------------------------------------------------------------------------- -
       01  141 Light Force Striker by Atekuro Kusoskei/OSC, AGK, and Mod Archive ( shown 7, 30 votes, avg=4.700 )
       02  134 Electronic BassMan by Darkman007/Quite ( shown 6, 31 votes, avg=4.323 )
       03  122 The Treasure Dive by adkd ( shown 5, 32 votes, avg=3.813 )
       04  117 Dancing With Fish by adkd ( shown 4, 33 votes, avg=3.545 )
       05  109 The False God by |<ypa/)esa/Hi to M.A.M., dedanis, nagz & my
               depression ( shown 3, 34 votes, avg=3.206 )
       06   95 haunebu by krotan ( shown 1, 32 votes, avg=2.969 )
       07   91 nemertini by krotan ( shown 2, 32 votes, avg=2.844 )

  Combined Photo (Heritage)
- -------------------------------------------------------------------------- -
       01  124 Skulls by Evangeliana ( shown 9, 32 votes, avg=3.875 )
       02  115 Собор Петра и Павла (вроде) by Evangeliana ( shown 6, 29 votes, avg=3.966 )
       03  114 Lumivaara by April Ryan/Aurora Hunters ( shown 10, 31 votes, avg=3.677 )
       04  110 Winter wonder forest by April Ryan/Aurora Hunters ( shown 4, 29 votes, avg=3.793 )
       05  107 Villa "Mechta" by Chichiri ( shown 8, 29 votes, avg=3.690 )
       05  107 Рыбинское водохранилище by ShaMAN ( shown 1, 31 votes, avg=3.452 )
       07  105 Baptistery by Chichiri ( shown 5, 29 votes, avg=3.621 )
       07  105 .old by Error/ErrorSoft ( shown 2, 30 votes, avg=3.500 )
       09  102 Colmar by draugven/cc^TRBL ( shown 7, 27 votes, avg=3.778 )
       10   86 Шуваловский парк by ShaMAN ( shown 3, 30 votes, avg=2.867 )

  Astro Photo
- -------------------------------------------------------------------------- -
       01  164 Moonbulb by binary animal ( shown 7, 36 votes, avg=4.556 )
       02  157 Такое удивительное небо! by Evangeliana ( shown 5, 36 votes, avg=4.361 )
       03  156 Заходы Солнца за пол-года by Rubelson ( shown 17, 35 votes, avg=4.457 )
       04  153 Toward north by binary animal ( shown 10, 35 votes, avg=4.371 )
       05  152 Обратная сторона луны by Evangeliana ( shown 3, 37 votes, avg=4.108 )
       06  151 Сияние над Крестовой горой by Darina ( shown 8, 36 votes, avg=4.194 )
       07  149 Магия Розового by Damir ( shown 11, 34 votes, avg=4.382 )
       08  148 Восход Луны by xmen/ ( shown 4, 37 votes, avg=4.000 )
       09  142 The SAR ARC by April Ryan/Aurora Hunters ( shown 18, 32 votes, avg=4.438 )
       10  138 MilkyWay by Chichiri ( shown 15, 33 votes, avg=4.182 )
       11  134 Однажды на Севере by Damir ( shown 14, 33 votes, avg=4.061 )
       12  133 У старого дуба by Darina ( shown 9, 33 votes, avg=4.030 )
       13  132 The one when I drowned my phone taking it. by Johan Lebedevski ( shown 16, 33 votes, avg=4.000 )
       14  130 8 минут и 20 секунд светового прошлого by Владимир Покалюк ( shown 2, 34 votes, avg=3.824 )
       15  129 Green Night by April Ryan/Aurora Hunters ( shown 13, 32 votes, avg=4.031 )
       16  128 The one when I didn't drown my phone taking it but wet my feet.
               by Johan Lebedevski ( shown 6, 33 votes, avg=3.879 )
       17  119 Pier to Aurora by Chichiri ( shown 12, 32 votes, avg=3.719 )
       18  107 Лунное затмение by ShaMAN ( shown 1, 34 votes, avg=3.147 )

  Aerial Photo
- -------------------------------------------------------------------------- -
       01  140 Лахта by Evangeliana ( shown 5, 33 votes, avg=4.242 )
       02  126 Кукольные коттеджи by Evangeliana ( shown 6, 33 votes, avg=3.818 )
       03  125 Петропавловская крепость by ShaMAN ( shown 3, 33 votes, avg=3.788 )
       04  113 Выше только самолёты by Владимир Покалюк ( shown 2, 34 votes, avg=3.324 )
       05  110 Муравьи by ShaMAN ( shown 4, 31 votes, avg=3.548 )
       06   91 cls by Error/ErrorSoft ( shown 1, 33 votes, avg=2.758 )

  HandDrawn Graphics
- -------------------------------------------------------------------------- -
       01  193 Ludovicus by Erik Mooi  / dSr ( shown 8, 42 votes, avg=4.595 )
       02  179 circus by Irina ( shown 6, 41 votes, avg=4.366 )
       03  176 Hangry Angry  by Irina ( shown 5, 40 votes, avg=4.400 )
       03  176 NADEJDA by GOROD_OLBANIA ( shown 4, 41 votes, avg=4.293 )
       05  133 burnt sugar by volv.victory@gmail.com/ ( shown 7, 40 votes, avg=3.325 )
       06  125 Trilobit by AtariSMN81 ( shown 1, 38 votes, avg=3.289 )
       07  114 Valentine day by AtariSMN81 ( shown 2, 39 votes, avg=2.923 )
       08  102 uH aHH Warrior by CoaXCable/CoolPHat ^ WIJ DEMOS ( shown 3, 39 votes, avg=2.615 )

  ASCII/ANSI Graphics
- -------------------------------------------------------------------------- -
       01  135 Blood by dman/pcb ( shown 2, 35 votes, avg=3.857 )
       01  135 Sweet Dreams are made of Weeds by CoaXCable/CoolPHat ^ Hoodlum ^
               WIJ DEMOS ( shown 1, 33 votes, avg=4.091 )
  • avatar Anadara
  • 0
Хорошая книга — это книга Bob Pape, или ещё какая-то была по вселенной?
Отлично, спасибо!
На этом графике показаны результаты 3х распаковщиков MegaLZ — самый медленный это старый («DEC40.asm», 110 байт), совпадающий по скорости с Hrum — это новый оптимизированный по размеру (92 байта) и тот, который чуть быстрее 3*LDIR — новый оптимизированный по скорости (234 байта).
Учти что график генерируется на основе старого корпуса (того же, что в 2017 году), а табличка выше — на основе нового. Я буду переходить на новый корпус из-за того, что в старом было маловато графики (где-то 20% данных) и великовата средняя длина файла, что слегка искажает результаты тестов (скажем, на старом корпусе LZSA2 слегка обходит MegaLZ по сжатию, т.к. имеет намного большее окно, а отставание на графике не так заметно из-за небольшого кол-ва графики в корпусе). С поправкой на эти моменты, вот где я сейчас:

Круто! А у тебя нет свежего графика «коэффициент сжатия/скорость распаковки» посмотреть где теперь что?
  • avatar aa-dav
  • 0
в данном случае я и не говорил про программиста.
программисту на опкоды тоже начхать обычно, важен только полный (со всеми дополнительными данными) размер команд, если он у всех одинаков (как в исходном арме) или можно подобрать аналоги нужного размера — тогда это еще можно с толком использовать, если нет — ну не похрен ли, сколько там опкод занимает
  • avatar Anadara
  • 1
Спасибо, как опубликуем, я скину ссылку сюда.
Мои статьи можно размещать где угодно и кому угодно, в принципе и авторство указывать не обязательно, мне это совсем не критично. Я не отношусь к тому, что пишу, как к чему-то действительно серьезному или глубоко проработанному, любое распространение приветствуется.
  • avatar Anadara
  • 1
Можно разместить твою статью о R-Type у нас на сайте, естественно с указанием твоего авторства и активной ссылкой на статью здесь?
Хорошее радио! На тему шмапов от меня будет еще одна статья любопытная, где-то в сентябре.
  • avatar Anadara
  • 1
Отличная статья, очень интересно. Сам недавно увлёкся шмапами, даже замутили своё радио на эту тему (shmupradio.com), кому близки и интересны скролл-шутеры — присоединяйтесь, помимо музыки мы переводим старые интервью с разработчиками и композиторами — vk.com/shootemupradio