Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
Уже давно Post #418495 я с интересом поглядывал на Комикс Зону. Но, тогда, неуловимый глюк с крысой появляющейся вне клетки, почти в самом начале игры стал непреодолимым препятствием для начала проекта... Так вот, не прошло и трех лет и нескольких сотен бесплодных попыток, как мне наконец удалось повторить этот глюк под запись!!! http://dehacked.2y.net/microstorage.php/info/1131252642/Cage%20Glitch%20Comix%20Zone.gmv Теперь, надеюсь на помощь наших славных экспертов, feos и/или r57shell, способных разобраться как именно он работает.
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Круть! Для упрощения сравнения запость плиз неудачную попытку тоже.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
feos wrote:
Круть! Для упрощения сравнения запость плиз неудачную попытку тоже.
Обычно же крыс всегда же в клетке появляется => можешь для сравнения взять опубликованный мувик: http://tasvideos.org/954M.html
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Сегодня уже не успею разобрать причину, но вот скрипт для объектов на скорую руку. Download крыса-кун.lua
Language: lua

gui.register(function() camx = memory.readwordsigned(0xffc000) camy = memory.readwordsigned(0xffc002) base = memory.readlong(0xffbec0)-0xff000000 for i=0,500 do this = memory.readlong(base)-0xff000000 if this ~= 0 and this == 0xff633c or this == 0xff654e then x = memory.readwordsigned(this+0x1a)-camx y = memory.readwordsigned(this+0x1c)-camy end base = this end end)
В твоем мувике адрес высоты крысы - $ff656a, в публикации - $ff6358. На спавне всегда пишется позиция $14a, потом увеличивается на 1, и у тебя крыса проваливается мимо пола клетки.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
feos wrote:
Сегодня уже не успею разобрать причину, но вот скрипт для объектов на скорую руку.
Спасибо, спешки особо нет. Сейчас на ТАС вообще времени почти нет, даже не знаю когда пилить буду... Однако Комикс Зона это такой лакомый кусочек, так что думаю для нее удастся по пару часиков в неделю выкраивать. Я посчитал, глюк с клеткой всего сорок с небольшим кадров экономит, немного меньше чем я ожидал, но улучшение есть улучшение, какое уж есть :) Надеюсь сетап не сильно долгий будет, а то вообще облом получится, хехе. Кстати скрипт чето не работает, наверное галку Disable HTML поставить забыл.
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
WST
She/Her
Active player (489)
Joined: 10/6/2011
Posts: 1697
Location: RU · ID · AM
Ох ты ж, наконец-то, кто-то воспроизвёл эту багу! Очень здорово, что теперь можно продолжить ТАС этой игрушки! Обожаю её.
Кстати скрипт чето не работает, наверное галку Disable HTML поставить забыл.
Боюсь показаться банальным, но мож просто скрипт для BizHawk, а тасишь на Gens? :)
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Archanfel wrote:
Кстати скрипт чето не работает, наверное галку Disable HTML поставить забыл.
А какой работы ты от него ждешь? Он же ничего не делает, просто читает объекты.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
feos wrote:
А какой работы ты от него ждешь? Он же ничего не делает, просто читает объекты.
Не знаю чего ждал, обычно скрипты выводят что-нибудь на экран, а не только читают :) Ладно не буду отвлекать, главное понять от чего зависит стартовое положение крыса и как это нужное нам аномальное значение искусственно вызывать.
WST wrote:
Очень здорово, что теперь можно продолжить ТАС этой игрушки! Обожаю её.
Да, старый ТАС этой игрушки просто шикарный, один из моих любимых на сеге. Давно хотел к нему приложится, но крыс мешал. Теперь, надеюсь с феосовой помощью, крыса удастся выдрессировать и можно будет начать записывать. Кстати в задержке есть и свой плюс, за три прошедших года, пару новых улучшений нашлось - в частности, изменение маршрута на втором уровне и более быстрый способ убийства шаолиньского босса. Еще есть несколько потенциально полезных тактик использования самолетиков, но их предстоит тестить на местах, все упирается в менеджмент здоровья.
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Player (98)
Joined: 12/12/2013
Posts: 378
Location: Russia
По адресу 1DEB84 есть проверка $2A(A6) на 1, и если это не так, то пропускает проверку $26(A6) на меньше $F6 Так вот $26(A6) в обоих мувиках в том месте имеет значение EE. (по адресам FF69CA, FF65C6 в публикации и бажном соответственно) Но вот в публикации на эту вторую проверку он не попадает, потому что $2A(A6) не 1 а точнее $1D1, и поэтому попадает на другую, по которой уходит на код который обнуляет вертикальную скорость падения мыши - то есть она не падает. А в бажном $2A(A6) равна как раз 1, и он на проверке на меньше $F6 сразу прыгает на путь "ничего не делать", поэтому скорость не обновляет, а она растёт. Что интереснее, этот $2A в обоих случаях часто переписывается мусором. В публикации именно каким-то мусором там получается $1D1. Аналогично в бажном мувике каким-то мусором получается $1. Может кому получится найти как заставить там оказаться мусору, или кто-то поймёт что за мусор. Но судя по коду, в бажной версии туда попадает распакованный кусок архива.
Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
Пока честно говоря мудрено, непонятно каким образом можно туда нужное значение прописать... Но это уже что-то. Дай пожалуйста скрипт, где это важное $2A, перезаписываемое мусором, на экран выводится. Поиграюсь со скриптом, посмотрю как значения будут меняются, вдруг удастся найти закономерность.
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Dimon12321
He/Him
Editor, Reviewer, Experienced player (596)
Joined: 4/5/2014
Posts: 1219
Location: Romania
Я в этом сплошной дилетант, но напишу что-нибудь типа я тоже присутствую =)
TASing is like making a film: only the best takes are shown in the final movie.
Player (98)
Joined: 12/12/2013
Posts: 378
Location: Russia
Language: Lua

cage = {} gui.register(function() camx = memory.readwordsigned(0xffc000) camy = memory.readwordsigned(0xffc002) base = 0xffbec0 while true do this = memory.readlong(base) if this == 0 then break end this = this - 0xff000000 x, y = nil,nil if this ~= 0 and this ~= 0xff6298 then -- and this == 0xff633c or this == 0xff654e then x = memory.readwordsigned(this+0x1a)-camx y = memory.readwordsigned(this+0x1c)-camy --gui.drawtext(x,y,string.format("%X",this)) end base = this end for i,v in ipairs(cage) do gui.drawtext(0,i*8,string.format("%X",memory.readwordunsigned(v+0x2A))) end end) gens.registerbefore(function() cage = {} end) memory.registerexec(0x1DEB62,function() table.insert(cage,AND(memory.getregister('a6'),0xFFFFFF)) end)
на экране в левом верхнем углу кажет значение когда есть клетка.
Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
r57shell wrote:
на экране в левом верхнем углу кажет значение когда есть клетка.
А нельзя это значение всегда показывать? Просто когда клетка появилась, от него к сожалению совершенно нет толку т.к. манипулировать уже поздно, с тем же успехом можно на крыса посмотреть... Или до этого момента оно вообще не существует?
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Player (98)
Joined: 12/12/2013
Posts: 378
Location: Russia
каждый раз разное место. и место известно только когда она появится. и по значению можно посмотреть раньше, так как крыса можно посмотреть немного позже. как минимум можешь поискать что ты можешь сделать чтоб повлиять на значение.
Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
Единственное, что заметил два значения образуются значительно чаще других: 1111 и 0. Еще иногда попадаются близкие и кратные к 1111: 1110, 1116, 2222, 4444... Все остальные значения рандомно мусорные и полностью лишены логики, не вижу никакой системы за что можно зацепится. Боюсь пока повторить глюк столь же трудно как и в первый раз (=почти невозможно), про необходимую оптимизацию вообще молчу. Может можно еще что-нибудь сделать? Очень не хочется опять бросать, так толком и не начав. Ведь хороший ТАС мог бы получиться, столько всего раскопал - новые трюки, нетривиальные решения, мелкие и крупные хитрости, математически точные броски самолетиков... Будет печально если вся эта феерия так не увидит свет из-за какой-то упрямой крысы.
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
WST
She/Her
Active player (489)
Joined: 10/6/2011
Posts: 1697
Location: RU · ID · AM
Честно говоря, мне приходилось умышленно не применять известные мне трюки из-за того, что их слишком трудно воспроизвести. К примеру, в Сонике есть трюк с влезанием в стенку (точнее, в пол) в нижней части петли, который включает в себя сворачивание в клубок. Но как я один раз обнаружил на практике, этот же трюк можно осуществить и персонажем, который не умеет сворачиваться в клубок, в частности, это Эми и розовый Наклз. Но это несоизмеримо труднее при прочих равных исходных условиях (скорость, форма петли). Я лишь знаю, что это возможно, потому что один раз это со мной приключилось, но так как я тратил многие тысячи циклов перезаписи на попытки воспроизвести этот трюк в серьёзных проектах, я на него забил. Не хотелось бы, конечно, чтобы так же получилось с этой крысой.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Player (98)
Joined: 12/12/2013
Posts: 378
Location: Russia
Archanfel wrote:
Единственное, что заметил два значения образуются значительно чаще других: 1111 и 0. Еще иногда попадаются близкие и кратные к 1111: 1110, 1116, 2222, 4444... Все остальные значения рандомно мусорные и полностью лишены логики, не вижу никакой системы за что можно зацепится.
Сейчас не так важно что туда попадает, важнее понять что на это влияет. То есть, как можно поменять последние фреймы до появления клетки чтобы это значение было другим.
Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
WST wrote:
умышленно не применять известные мне трюки из-за того, что их слишком трудно воспроизвести.
Этот вариант никуда не годится. Как можно начинать симфонию с фальшивой ноты?
r57shell wrote:
Сейчас не так важно что туда попадает, важнее понять что на это влияет. То есть, как можно поменять последние фреймы до появления клетки чтобы это значение было другим.
Самое банальное, что влияет - это место в котором спускаемся вниз к клетке (конечно в идеале желательно занять самое левое, но сдвинуться на несколько пикселей вправо ради манипуляции кажется вполне приемлемым). Направление куда смотрит персонаж в момент спуска тоже иногда влияет. Также если спускаться во время переката часто получаются другие значения. Вот мой базовый мувик (101 кадр улучшения), куда хотелось бы инкрустировать крысо-глюк, исходное значение там (1DF). http://dehacked.2y.net/microstorage.php/info/1205120466/Comix%20Zone%20%281DF%29.gmv И несколько примеров, изменения этого значения {отличных от вышеупомянутых банальных способов}: V1-Если сдвигаем удар по люку на 1 кадр, с 1531 на 1532, то получаем новое значение (8811). http://dehacked.2y.net/microstorage.php/info/261819805/Comix%20Zone%20%288811%29.gmv Стоит отметить, что влияют не только последние кадры, но и то что происходило на предыдущих экранах тоже. V2-Например если смотреть влево, когда берем предметы, для этого редактируем кадры 592-594, то получаем значение (1FFF). http://dehacked.2y.net/microstorage.php/info/182827343/Comix%20Zone%20%281FFF%29.gmv V3- Если заменить в кадре 1209 [>] на [^>], добавив небольшое подергивание на втором экране получаем (111). http://dehacked.2y.net/microstorage.php/info/387413960/Comix%20Zone%20%28111%29.gmv И таких примеров можно придумывать еще и еще, а их комбинации рано или поздно дадут весь возможный спектр значений. Но, тупо перебрать все варианты не представляется возможным т.к. их слишком много.
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
WST wrote:
Я лишь знаю, что это возможно, потому что один раз это со мной приключилось, но так как я тратил многие тысячи циклов перезаписи на попытки воспроизвести этот трюк в серьёзных проектах, я на него забил.
Так а зачем уповать на удачу? Если запись этого трюка есть, просто бегаешь по форуму и всех просишь раздебажить. Вот если записи нету, там да, сложно.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
WST
She/Her
Active player (489)
Joined: 10/6/2011
Posts: 1697
Location: RU · ID · AM
feos wrote:
WST wrote:
Я лишь знаю, что это возможно, потому что один раз это со мной приключилось, но так как я тратил многие тысячи циклов перезаписи на попытки воспроизвести этот трюк в серьёзных проектах, я на него забил.
Так а зачем уповать на удачу? Если запись этого трюка есть, просто бегаешь по форуму и всех просишь раздебажить. Вот если записи нету, там да, сложно.
Дело в том, что причина, вроде бы, ясна. Просто нужно выровняться правильно и таким образом на большой скорости «проскочить» некоторый участок между 2 кадрами. На скоростях более 6000 sp/f это случается весьма часто, но на более типичных скоростях около 3000-4000 едва ли возможно. Переход в крутящееся состояние на мгновение уменьшает Y-координату персонажа, тем самым сокращая минимальную скорость, необходимую для того, чтобы трюк стал возможным. Я скидывал запись этого бага марзоджру, но он ничего толкового не смог из этого извлечь. На самом деле он гораздо чаще рекомендует метод проб и ошибок, чем может показаться :)
Archanfel wrote:
Этот вариант никуда не годится. Как можно начинать симфонию с фальшивой ноты?
А так, ТАС получить хочется, а воспроизвести не могу ни я, ни кто-либо из друзей. Ни marzojr, ни feeuzz, ни Evil_3D не воспроизводили эту штуку, хотя пытались. Я вам больше скажу, это далеко не единственный такой трюк, который я умышленно не делаю. Можете называть меня плохим TAS-ером, но есть и другие похожие места. Например, при игре за Наклза в S3&K в одном месте скорость (~4300) позволяет пролететь сквозь стенку толщиной 16 пикселей, и это сократило бы время, но никто это ещё никогда не сделал, потому что нужно как следует спозиционироваться, чтобы пропустить эту стенку, а горизонтального контроля в тот момент нет, поэтому выравниваться надо несколько заранее — в момент получения буста, и большой вопрос, можно ли там спозиционироваться. Подобных микрозадачек при тасинге этой игры возникают десятки, но их некому решать, точнее, если всякий раз застопориваться, ты вряд-ли когда-нибудь придёшь к результату. Хотя, конечно, Аглар и Зурггрифф такие задачки обычно решают, но у них и мозгов серьёзно так побольше)))))
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Да, круто конечно. Весело видать тасить на двиге в котором даже знание всех условий не помогает :D
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
Есть ли подвижки в решении крысиного вопроса? 🐀 Совсем глухарь, или есть шансы на положительный исход?
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
Комикс Зона - одна из лучших сеговских игр. Рано или поздно ТАС должен будет переродиться. В зависимости от того, как сильно его улучшат, есть три варианта: Малая колесница - 10 секунд улучшения и менее. Большая колесница - около 20 секунд улучшения. Алмазная колесница - 30 секунд улучшения и более. Если кто-нибудь другой возьмется его улучшать, то в 99,99% он остановится на первых двух вариантах. Я же достаточно безумен что бы замахнуться на третий вариант, и создать такой ТАС, которого достойна эта игра. Трудновоспроизводимый крысиный глюк это единственное, что останавливает меня сделать это. Один раз этот глюк случайно получился, (что уже чудо), но без тайного искусства Обратной Инженерии не разобраться, как его повторить. Поэтому пришлось просись помощи ведающих feos и r57shell. От вас зависит, будет ли рожден "Бодхисаттва бумажных самолетиков".
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Editor
Joined: 11/17/2015
Posts: 61
r57shell wrote:
По адресу 1DEB84 есть проверка $2A(A6) на 1, и если это не так, то пропускает проверку $26(A6) на меньше $F6 Так вот $26(A6) в обоих мувиках в том месте имеет значение EE. (по адресам FF69CA, FF65C6 в публикации и бажном соответственно) Но вот в публикации на эту вторую проверку он не попадает, потому что $2A(A6) не 1 а точнее $1D1, и поэтому попадает на другую, по которой уходит на код который обнуляет вертикальную скорость падения мыши - то есть она не падает. А в бажном $2A(A6) равна как раз 1, и он на проверке на меньше $F6 сразу прыгает на путь "ничего не делать", поэтому скорость не обновляет, а она растёт. Что интереснее, этот $2A в обоих случаях часто переписывается мусором. В публикации именно каким-то мусором там получается $1D1. Аналогично в бажном мувике каким-то мусором получается $1. Может кому получится найти как заставить там оказаться мусору, или кто-то поймёт что за мусор. Но судя по коду, в бажной версии туда попадает распакованный кусок архива.
Раз EE сразу меньше, предположу, что $F6 - значение, а не адрес. Исходя из этого, позволю себе поделиться парой домыслов. Я, признаться, об обратной инженерии больше мечтать могу, но тем не менее. Если представить себе предметный смысл таких проверок, мне это кажется похожим на проверку достижения падающим персонажем пола, чтобы в таком случае обнулить ему скорость. Тот факт, что прямо сейчас персонаж падает, определяется отдельным признаком в структуре данных состояния этого персонажа (объекта). Тот факт, что признак состояния падения жестко проверяется на равно 1 (как и наличие в "мусоре" данных, не касающихся логики игрового процесса), может указывать на то, что движок игры использует для отслеживания состояния объектов динамические структуры данных. Когда игра создает объект "крысу", возможно, она не инициализирует признак падения, подразумевая, что по умолчанию падать не надо, а после по совпадению, на выбранном месте в куче там оказывается "мусор", равный 1, и крыса сразу делается падающей. С другой стороны, по этой логике, любой подвижный персонаж в игре может при своем появлении с пренебрежимо малой вероятностью взять и провалиться... Почему не проваливаются друг в друга бочки и ящики? Возможно, без участия Скетча крыса спавнится неаккуратно. Возможно, что любая встреча с крысой может быть чревата таким падением ее сквозь пол. Возможно, я ошибаюсь, и был бы рад это признать, так как если я окажусь прав, симуляция проявления такого бага это Masterjun'инг какой-то.
Totally irrelevant link My consoles: PS2 (PS1 as bw\c), NDS Lite (GBA as bw/c), 3DS XL, Wii U (vWii theoretically), PS4 slim.
Skilled player (1457)
Joined: 11/26/2011
Posts: 656
Location: RU
Рад сообщить, что мне все-таки удалось организовать невозможный побег крыса! Поскольку даже обратная инженерия оказалась бессильна симулировать появления такого бага, пришлось проводить грубый перебор. Первые две недели интенсивных тестов вручную (перебирал примерно по сотне значений в день) к сожалению не принесли желаемого результата. И надежд, что случайно повезет становилось все меньше и меньше. Однако на этой неделе придумал как можно значительно ускорить этот процесс. Ускоренный перебор я реализовал так: записал 100 различных вариантов прохождения третьего экрана, 16 вариантов второго экрана и 4 варианта первого экрана. Затем в тасэдиторе долго и упорно копипастил все сочетания трех экранов, создав таким образом партию из 100x16x4=6400 уникальных мувиков. Потом один за одним просматривал сгенерированные мувики на перемотке и проверял где крыс. Эксперимент №5276 удался - подопытный объект сбежал из клетки. Теперь улучшению Комикс Зоны определенно быть.
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)