Поступило важное дополнение про туннель от wbc которое полностью объясняет как он сделан, приведу его полностью:

на самом деле это обычный табличный туннель, просто в табличке подряд идут смещения для четной и нечетной строки в столбце, потому что 8x4

а иллюзия многослойности достигается просто хитрой текстурой :)

соответственно 4 верхних строки знакомета — инк, 4 нижних — папер

далее в иннерлупе читаем два тексела из текстурок и накладываем :)

________ZX Spectrum Demo________________________________________________________

 1. TIRATOK by deMarche                                               255 8.79    29 votes
 2. GABBA by stardust                                                 210 8.40    25 votes
 3. Hara Mamba, Scene! by SibKrew                                     255 8.23    31 votes
 4. SleepInvaders by errorsoft                                        233 7.77    30 votes


По сумме у Габбы меньше потому что меньше голосов. Непонятно почему такой разброс
Очень крутая работа! Спасибо за статью, побольше бы таких
Очень фановая и яркая работа получилась. И [имхо] очень непривычно на российском демопати видеть несколько крутейший работ в одной номинации. Отвыкли мы именно от competition, настолько, что я даже сам переживаю за пикочак (габбу, tension....), которые заняли вторые места. Ширу — молодец крч!
  • avatar aa-dav
  • 0
Отличная статья!
Никак не ожидал что даже для обвязочного кода демы будет достаточно cc65 — рассматривал код который он генерирует и плакать хотелось. Особенно адово с локальными переменными/параметрами дела обстоят. Всё-таки для 8-битных реалий компилятор — это падение производительности где то на порядок. Хотя если всё на глобальных переменных мутить может и будет получше.
Чертовски рад за консольку благодаря таким работам. И, надеюсь, это ещё не предел.
Отлично, всегда очень интересно читать про такие вещи! Спасибо!
Не знаю заметил ли ты, но перед пати много обсуждалось как определять места и считать баллы. Мне искренне интересно, можно ли как-то примирить результаты двух популярных систем счёта, которые в данном случае довольно существенно разошлись.
  • avatar sq
  • 0
Как будто ты не знал, на что идёшь, когда писал этот коммент!)
Господи, Саша :)
  • avatar sq
  • 0
У этого человека должно быть очень много друзей)

(Вадим, сразу скажу, что я не про тебя!)
Нет, Саша, разницу в 45 баллов тебе так объяснить не получится :)
  • avatar sq
  • 0
Это значит, что кто-то условно поставил Тиратоку 10 баллов, а Габбе 1? Хмм, интересно, кому бы такое могло придти в голову?
Между прочим, результаты голосования крайне интересные:
________ZX Spectrum Demo________________________________________________________

 1. TIRATOK by deMarche                                               255 8.79
 2. GABBA by stardust                                                 210 8.40
 3. Hara Mamba, Scene! by SibKrew                                     255 8.23
 4. SleepInvaders by errorsoft                                        233 7.77
 5. Snipe by eYe-Q + z                                                202 7.48
 6. rewind by thesuper                                                205 7.32
 7. cadefemo by rasmer                                                176 6.29
 8. DiHalt Winter 2020 invitation by eYe-Q                            166 5.72
 9. inercia 2019 invtro by ScenePt All Stars                          136 4.69

Т.е. если бы считали не по средним, а по сумме баллов, Тираток разделил бы первое место с Хара Мамбой, Инвейдерсы пришли бы третьими, а Габба свалилась бы аж на 4-е место!
  • avatar wbcbz7
  • 0
достатояно поставить 49гц, а артефакты обычно незаметны (кстати, в анриле стоит поменять в настройках display driver на hardware blt или hardware 3d, тогда будет использоваться Direct3D вместо GDI для отрисовки и каринка будет намного плавнее)
  • avatar wbcbz7
  • 2
в общем, я обделался :) окончательный фикс:
x0=0x5050               ; бряк на выполнение по адресу 0x5050
r0=0x5050               ; на чтение
w0=0x5050               ; на запись
w0=0x0000-0x2000        ; на запись в диапазон 0000-2000
  • avatar wbcbz7
  • 0
w0=0x0000-0x2000 ; на запись в диапазон 0000-2000
  • avatar wbcbz7
  • 0
ох уж этот shift+enter :)
w0=0x5050     ; бряк на выполнение по адресу 0x5050
r0=0x5050     ; на чтение
r0=0x5050     ; на запись

  • avatar wbcbz7
  • 1
в ветке UnrealSpeccy от tsl (про десофтовский не знаю) можно сгрузить бряки в файл bpx.ini в папке с эмулем и они автоматически подцепятся :)

кроме того, пути к файлам меток\бряков можно передать аргументами командной строки:
параметры командной строки

можно запускать эмулятор, указав следующие параметры командной строки:

/i <файл>       указать собственный файл конфигурации, по умолчанию:
				имя_исполняемого_файла_эмулятора_без_расширения.ini
/l <файл>       указать файл меток, по умолчанию: user.l
/b <файл>       указать файл ловушек, по умолчанию: bpx.ini


Я не смог разобраться, поддерживаются ли выраения для бряков в bpx.ini, но read/write/execute бряки точно поддерживаются :)
формат примерно такой:
w0=0x5050     ; бряк на выполнение по адресу 0x5050
r0=0x5050     ; бряк на выполнение по адресу 0x5050
  • avatar sq
  • 1
(Минусаторов сразу предупреждаю, что это ШУТКА. Что такое «шутка», можно посмотреть на википедии. Или, если вы (что весьма вероятно) ей не доверяете — в БСЭ).