Просмотр полной версии : Не получается починить
Ну вот, тема для "на досуге". Если у добрых людей, мир не без которых, возникнет желание помочь, милости просим.
Итак:
1) Не могу найти корректный чит к игре Attack of the Killer Tomatoes (http://www.worldofspectrum.org/infoseekid.cgi?id=0000326). Все, что есть, какие-то отстойные и герой мрёт.
2) Не знаю, как в Great Gurianos (http://www.worldofspectrum.org/infoseekid.cgi?id=0002130) сделать, чтоб ты мог убить скелета в конце.
3) С читом в Aliens (http://www.worldofspectrum.org/infoseekid.cgi?id=0000161) тоже проблемы.
Slider, вроде автор сам так сделал :)
Slider, вроде автор сам так сделал :) В Great Gurianos.
ну да :) в Great Gurianos
В алиенс нужен чит только на оружие
потому как сюжет же
Я знаю. Но нужно это убрать. Чтоб можно было скелета мочить, а потом начинать сначала.
---------- Post added at 08:34 ---------- Previous post was at 08:33 ----------
ну да :) в Great Gurianos
В алиенс нужен чит только на оружие
потому как сюжет же
Сюжет-сюжетом, а обязательно, чтоб меня хавали? Можно ж, наверное, это обойти? Или чтоб одного героя никогда не убивали - ну, как-то так?..
Не знаю, как в Great Gurianos сделать, чтоб ты мог убить скелета в конце.http://www.worldofspectrum.org/forums/showpost.php?p=303601&postcount=71
Отлично! Вечерком попробую мочкануть скелетона ;)
Shadow Maker
15.12.2011, 18:24
Читы вечером.
Вопрос - какой чит ты хочешь в Алиенах? Чтобы вообще чтоли никто никого зажрать не мог? Предлагаю тока Рипли сделать мега-неубиваемой.
---------- Post added at 18:24 ---------- Previous post was at 17:21 ----------
По поводу томатов у меня получилось вот что:
Время:
7741, B6
85DB, B6
Энергия:
8459, B6
Минут 20 пытался сдохнуть, не смог. Если сможешь - расскажи где, буду искать. Плюс может игре там где-то по сценарию положено увеличивать время? В общем кто-нить пусть этих томатов пройдет, тогда и ясно будет.
какой чит ты хочешь в Алиенах? Чтобы вообще чтоли никто никого зажрать не мог? Предлагаю тока Рипли сделать мега-неубиваемой
Думаю, этот чит подойдет. Остальным можно сделать только энергию, а монстры пусть их едят ;)
Shadow Maker
17.12.2011, 03:15
В общем неохота было делать из Рипли терминатора, мне Бишоп всегда нравился, так что всем халява :)
865C, 2; 7776, 2 - алиены не нападают
626B, C3 - не умираешь от луж с кислотой
7C5A, 0 - стамина не тратится при управлении человеком
6F69, B6 - стамина не тратится при удаленной ходьбе (кто не знал - можно задать маршрут передвижения самостоятельно, то есть скажем если натыкать на клавиатуре 3 S и переключиться на другого члена - тот, которым натыкали пойдет 3 комнаты на юг, удобно и не теряешь зря время в поисках двери).
86A0, 0 - исключается заражение паразитами.
7926, 0 - вечное оружие
Как еще помереть в игре я не нашел, так что пожалуй это всё.
Но если все эти читы включить, то можно тупо за 10 минут пройти всю игру одним персонажем.
bp 62ad - текущая комната текущего персонажа
В Cisco Heat, в процессе игры слева на рамке появляются и исчезают в хаотичном порядке полоски. Интресно, это чинится?.. В демо-версии такая же фигня :(
В Cisco Heat, когда едешь на машине, справа на рамке появляются и исчезают в хаотичном порядке полоски. Интресно, это чинится?.. скорее слева и даже когда не едешь. в игре ещё очень интересный опрос клавиатуры.
Да, слева, точно!
А опрос клавиатуры я уже поправил ;)
lord NETHER
19.01.2012, 11:53
Насчёт Гурианоса -это что -шутка?.. Я его с братом проходил в бытность Спектрума! Речь о том, что последний скелет зеркалкой отбивает удары игрока? Так мы и его валили!..
не могет такого быть! аффтар специально сделал так, чтоб скелет не умирал, потому что не нашел памяти на финал кат. и нету у скелета никакой "зеркалки". там, вроде как меч
lord NETHER
20.01.2012, 15:39
Я имел в виду, что последний скелет щитом зеркально отбивал все удары игрока. Но мы его валили, если речь об этом!
Не буду даже спорить. Есть факты. Что вы валили там в конце - остается загадкой ;)
Программа - могу утверждать на все 100% - не поддерживала окончание игры!
Кста, народ это тоже знает!..
---------- Post added at 22:59 ---------- Previous post was at 22:56 ----------
Ну, в общем - если случайно удалось завалить урода в конце когда-то, то теперь это можно сделать всегда!..
lord NETHER
22.01.2012, 23:50
Но есть на свете чудеса!
lord NETHER
23.01.2012, 13:06
Кстати -почитать ZX-ревю, так люди Ракслу находили, а тут скелета забить, делов-то!..
В Cisco Heat, в процессе игры слева на рамке появляются и исчезают в хаотичном порядке полоски
До сих пор не могу справиться :(
До сих пор не могу справиться
Насколько я помню было несколько версий для 48 и для 128, может там не мерцает?
Насколько я помню было несколько версий для 48 и для 128, может там не мерцает? игра только под 128к, насколько я помню в одной из версий анрила можно было поставить брекпоинт отслеживающий изменение заданной ячейки, наверное надо попробовать этот вариант.
насколько я помню в одной из версий анрила можно было поставить брекпоинт отслеживающий изменение заданной ячейки, наверное надо попробовать этот вариант.
Очень может быть, но скорее всего это мусор из стека который случайно туда попал при неправильном прерывании.
А как работает эта хрень? Оно что, ПЗУ подменяет или где?..
У меня на реале оно не работает, равно как и существующие tr-dos-релизы :(
Slider, ты о чем?
если об отсутствии им2 то да
включено ром128 а оно обрабатывает прерывание через ром48
---------- Post added at 20:52 ---------- Previous post was at 20:51 ----------
реал у тебя какой?
ну типа без пзу128... :(
а места ж там - швах... некуда нормальный обработчик прерываний с таблицей и засунуть-то... :(
---------- Post added at 19:39 ---------- Previous post was at 19:30 ----------
включено ром128 а оно обрабатывает прерывание через ром48
А как именно это работает?
unreal -> escape -> и смотри по адресу #38
Это я видел. В принципе, КАК оно перехватывает прерывания??? Типа, если режим IM1 оно лезет в #0038?..
moroz1999
06.03.2012, 01:27
Это я видел. В принципе, КАК оно перехватывает прерывания??? Типа, если режим IM1 оно лезет в #0038?..
«IM 1».
После включения питания в «СПЕКТРУМЕ» устанавливается режим прерываний 1. «IM 1» - называется маскируемым прерыванием первого типа и выполняет обращение по адресу 0038Н, что обеспечивает сканирование клавиатуры и изменение встроенного системного таймера, но если подключено ПЗУ контроллера дисководов или интерфейса микродрайва, то все, что делается при включении прерывания- это немедленный возврат без сканирования клавиатуры или каких-либо других действий, т.е. по адресу 0038Н в этих ПЗУ записан код возврата из прерывания «RETI» (eturn from interrupt) - ED 4DH.
Вот если бы подобная инфа была в вики-подобном виде в интернете, дефицит zx-кодеров был бы куда как менее острым. А так, остаётся только шариться по книжкам или на zxpress, кто в курсе.
Shadow Maker
06.03.2012, 01:31
Если IM1 она лезет на #38 каждое прерывание и ей пофигу, чего записано в регистр I. И таблицу ей не надо для этого.
---------- Post added at 01:31 ---------- Previous post was at 01:29 ----------
Вот если бы подобная инфа была в вики-подобном виде в интернете, дефицит zx-кодеров был бы куда как менее острым. А так, остаётся только шариться по книжкам или на zxpress, кто в курсе.
Ты его щас еще больше запутаешь. В случае Road Blaster включено 128 ПЗУ, у которого на #38 всякие пуши и переход на #5b00.
Вообще инфа и так есть, вот считай первое, что попалось по словами "IM1 zx spectrum" - http://tezxas.ticalc.org/technica.htm
Interrupt emulation
The only source of interrupt on ZX Spectrum is nonprogramable timer that bits 50 times per second. Processor then jumps to address got from table pointed by I register in case IM2, or to address 38h (IM0 and IM1).
А так ниже идут ссылки на WOS и так далее.
И даже вик я разных видел много по этой теме, чет не найду прямо вот сейчас, только http://scratchpad.wikia.com/wiki/Category:ZX_Spectrum_technical_information эта вот пока попалась.
Ковыряю Gladiator. В 48к-режиме там в бейсике есть такая строка: RANDOMIZE1+USR 27400. Тогда играет beeper-музыка. Вопрос: что делает это мерзкий RANDOMIZE?
Я так понимаю, что в ячейки 23670 и 23671 заносится 1 и 0 соответственно. Но если туда сунуть эти значения (без RANDOMIZE), ничего не происходит и музыка не играет.
В чем фишка?
Ковыряю Gladiator. В 48к-режиме там в бейсике есть такая строка: RANDOMIZE1+USR 27400
в данном случае еденица передаётся как параметр (для чего мне пока непонятно, дальше идёт шаманство с участием калькулятора), randomize (23670/23671) тут не причём, с таким-же успехом можно подставить PRINT или LIST
John North
10.06.2012, 09:26
По идее сначала выполняется «уср», потом к содержимому «бц» идёт «плюс один», потом уже «рандомизе» этой суммы..
Не?
По идее сначала выполняется «уср», потом к содержимому «бц» идёт «плюс один», потом уже «рандомизе» этой суммы..
Не?нет, код стартует на исполнение с 27400, при этом на стеке калькулятора уже лежит 1. короче по адресу 27422 ставим команду LD A,1 и делаем RANDOMIZE USR 27422.
John North
10.06.2012, 10:47
Как хитрО ..
Как запустить первую программу? Интересно, что это?..
Жаль... :( Надежда была на легенькую аркаду...
Почему Elite Supertrax виснет в Анриле? На реале, как ни странно, все работает.
Снап сброшен рядом с точкой, где оно виснет...
У меня всё работает. Унрил 0.37.6
Не получается ПРОЙТИ игру Predator1. В последнем уровне нужно завалить Чужого бревном (так написано на WOS). Дествительно, бревно вроде как висит на веревке. Но что с ним делать - ума не приложу... :(
Shadow Maker
29.10.2012, 09:47
Поднять надо на веревке его и предатора под бревно, его и завалит.
http://www.youtube.com/watch?feature=player_embedded&v=yVYR-ozm68k
вспомнил про 2ую часть (типа тира с мишенью),
там в конце не получалось убить хищника
(или надо много стрелять в определённую часть тела ? )
......................
глянул RZX вроде нет проблем с финалом, а в юности они были :v2_conf2:
Shadow Maker
29.10.2012, 10:13
Ну в юности у нас не было оригинальных версий, вполне мог быть какой-нибудь баг от дискофикаторов или ломателей.
Это я почему не мог пройти? Потому что у меня велосипеда не было!
Это, бл, потому, что когда KEMPSTON выбираешь не работают кнопки ENTER и ПРОБЕЛ - две самые главные кнопки в игре (которыми предметы берешь и бомбы бросаешь)
Криводелы хреновы!.. :(
Yumiko in the haunted Mansion - не получается зачитить эту игруху... :(
хз... отупел, наверное... :(
попробовал поиграть. финал - когда время кончается ?
или душу могут утащить раньше ?
Ну, я тоже увидел только один фактор - время...
Yumiko in the haunted Mansion - не получается зачитить эту игруху... :(
И что, никто не поможет?..
Yami за душой приходит всегда случайно. от времени в игре это не зависит.
goodboy, а разве не от света свечи зависит?
goodboy, а разве не от света свечи зависит?понял - в начале свет на 4ре полоски, а когда кругом синева то капут.
Есть такая игра - Super Wonder Boy in Monsterland
Иностранные друзья с форума починили в ней кучу всего - теперь она проходима от начала до конца.
Но, чтобы мне сделать полноценный релиз, нужны тайминги для пентагона в режиме пауза (там мультиколор). Я в нем ни "бэ" ни "мэ", VNN больше не с нами... :(
Может, кто умеет такое сделать?
Ниже - код с таймингами для 48к - вдруг он поможет:
;================================================= ============================
; pause 48k timing alteration (by Metalbrain)
;================================================= ============================
org $b059
defb $72, $01, $62, $6b
defb $ed, $b0, $01, $fe
defb $01, $11, $00, $02
defb $21, $05, $04, $ed
defb $59, $ed, $51, $ed
defb $59, $ed, $61, $ed
defb $61, $ed, $61, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $51, $ed
defb $51, $ed, $51, $ed
defb $59, $ed, $61, $ed
defb $61, $00, $2d, $20
defb $da, $2e, $05, $c3
defb $96, $b0, $00, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $61, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $51, $ed
defb $59, $ed, $51, $ed
defb $59, $ed, $61, $ed
defb $59, $00, $2d, $20
defb $da, $2e, $05, $c3
defb $c2, $b0, $00, $ed
defb $59, $ed, $51, $ed
defb $59, $ed, $61, $ed
defb $61, $ed, $59, $ed
defb $59, $ed, $41, $ed
defb $41, $ed, $41, $ed
defb $59, $ed, $51, $ed
defb $51, $ed, $51, $ed
defb $59, $ed, $61, $ed
defb $61, $00, $2d, $20
defb $da, $2e, $05, $c3
defb $ee, $b0, $00, $ed
defb $59, $ed, $51, $ed
defb $59, $ed, $61, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $51, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $61, $ed
defb $59, $00, $2d, $20
defb $da, $2e, $05, $c3
defb $1a, $b1, $00, $ed
defb $59, $ed, $51, $ed
defb $59, $ed, $61, $ed
defb $61, $ed, $61, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $51, $ed
defb $59, $ed, $59, $ed
defb $59, $ed, $61, $ed
defb $59, $00, $2d, $20
defb $da, $00
;================================================= ============================
нужны тайминги для пентагона в режиме пауза (там мультиколор). Ниже - код с таймингами для 48к - вдруг он поможет:
там скорее скролл на бордюре (и в оригинале он расчитан на 128ой комп).
если я ничего не путаю то строка рисуется за то-же число тактов как и на пентагоне. надо только увеличить начальную задержку перед первой линией.
Есть такая игра - Super Wonder Boy in Monsterland
Иностранные друзья с форума починили в ней кучу всего - теперь она проходима от начала до конца.
Вышла ещё более пропатченная версия - http://www.worldofspectrum.org/forums/showpost.php?p=731011&postcount=113
надо только увеличить начальную задержку перед первой линией.
не помогает. надпись становится читаемой, но слово "pause" наискосок, а не ровно, как должно быть :(
---------- Post added at 11:17 ---------- Previous post was at 11:15 ----------
Вышла ещё более пропатченная версия - http://www.worldofspectrum.org/forums/showpost.php?p=731011&postcount=113
До того, как она вышла, я уже и сам разобрался, как там проверить на конец всех уровней и когда вызывать очистку буфера врагов, а когда нет. Так что уже есть полноценно рабочая версия. Только вот, пока, с мультиколором беда.
Alex Rider
22.10.2013, 14:59
У ZX128 228 тактов в строке, у Pentagon - 224. Надо добавить в каждую строку по 4 такта.
Alex Rider, а может убавить?
Alex Rider
22.10.2013, 15:48
jerri, ога, точно ;)
У ZX128 228 тактов в строке, у Pentagon - 224. Надо добавить в каждую строку по 4 такта.
чуток перепутал модели, у 48ого 224t
Так сколько добавлять все же нужно?..
Slider, мы тута посовещались и решили что убавлять надо 4 такта
Alex Rider
22.10.2013, 17:18
мы тута посовещались и решили что убавлять надо 4 такта
Все-таки да, убавлять. Если изображение косит вправо вниз, значит, что ждем лишние такты (луч бежит по экрану быстрее, чем думает программа) - надо убавлять. Если влево-вниз, значит, не хватает тактов, надо добавить.
там как раз есть лишние NOP`ы по 4t
но код вывода самомодефицируемый,
короче проще переписать всю процедуру заново.
там как раз есть лишние NOP`ы по 4t
но код вывода самомодефицируемый,
короче проще переписать всю процедуру заново.
Во-во! :)
Дык, может кто сделать?..
Slider, а там случайно генератора нет?
Slider, а там случайно генератора нет?
Сорри, но я вообще не рублю в этих штуках, так что не понимаю, о чем ты :(
Если нужно - смогу вечером выдернуть процедуру из игры...
Hacker VBI
23.10.2013, 11:17
Slider, как не рублю!?
мы же ещё в пятом классе мультиколор проходили! ;)
придумал как мне кажется изящное решение (оригинальный код практически не меняется). Слайдер сам всё расскажет чуть позже.
блин, как оказалось ушлые буржуи применили тот-же трюк,ихний код Слайдер выложил в 56ом посту. (224t)
мягко говоря непонятно о какой тогда помощи он просит. :mad:
неужели так трудно (да хоть на глазок) рассчитать первоначальную задержку :mad::mad::mad:
introspec
23.10.2013, 21:52
У меня не было возможности посмотреть на код, но имейте в виду, что синхронизацию на классике часто делают без выравнивания на такт, просто используя подтормаживание медленной памяти. Не возьмусь посмотреть прямо сейчас, но если не получится вычинить подручными средствами, то я смогу посмотреть через неделю-другую.
придумал как мне кажется изящное решение (оригинальный код практически не меняется). Слайдер сам всё расскажет чуть позже
Рассказываю.
Гуд конструкцию
nop
nop
dec l
jr nz, m1 (вверх, на начало аутов)
ld l,05
jp m2
out (c),e
m2: out (c),d
превратил в
nop
dec l
jr nz,m1 (вверх, на начало аутов)
ld l,05
jp m2
nop
out (c),e
m2: out (c),d
Т.е. все команды с их кол-вом тактов остались, за вычетом лишнего NOP, а JP перепрыгивает чуть дальше!
Маладэц! ;)
---------- Post added at 21:13 ---------- Previous post was at 21:11 ----------
синхронизацию на классике часто делают без выравнивания на такт, просто используя подтормаживание медленной памяти
Ну, у нас, скорее, надо было под пентагон настроить - оно к классике и так привязано ;) так что все получилось ;)
introspec
23.10.2013, 22:16
Ну, у нас, скорее, надо было под пентагон настроить - оно к классике и так привязано ;) так что все получилось ;)
Нене, я исключительно в том смысле, что подгонка к пентагону может иногда оказываться реально нетривиальной.
Т.е. все команды с их кол-вом тактов остались, а JP перепрыгивает лишнюю срань!
ты кажется не понял что пауза между выводом двух строк сократилась на 4ре такта.
осталось написать грамотный патч который сдвигает 4команды (8байтов) на байт назад и увеличивает на 1 смещение для jr nz.
и так в пяти местах. мне кажется это интересней, а не переписание всей процедуры заново.
---------- Post added at 21:30 ---------- Previous post was at 21:28 ----------
подгонка к пентагону может иногда оказываться реально нетривиальной.
такое обычно бывает нужно для совпадения картинки на бордюре с экранной по вертикали
ты кажется не понял что пауза между выводом двух строк сократилась на 4ре такта
Понял, конечно - ты же один NOP убрал-то! ;)
introspec
24.10.2013, 01:23
такое обычно бывает нужно для совпадения картинки на бордюре с экранной по вертикали
Да, я понимаю :)
Цитата: Сообщение от Alex Rider
У ZX128 228 тактов в строке, у Pentagon - 224. Надо добавить в каждую строку по 4 такта.
чуток перепутал модели, у 48ого 224t
Дык э-э-э... Что, у Пентагона и 48-й классики одинаковое кол-во тактов в строке - 224? Патч ГудБоя будет работать и на Пенте и на 48к? :eek_std:
introspec
24.10.2013, 10:48
Что, у Пентагона и 48-й классики одинаковое кол-во тактов в строке - 224?
Ага.
Патч ГудБоя будет работать и на Пенте и на 48к?
Нет, т.к. разное время от инта до начала экрана. Кроме того, из-за наличия задержек памяти (если, конечно, ваша программа лезет в память когда не надо или пишет в порт когда не надо), будут ещё и дополнительные отличия.
В игре Through the Trap Door (http://www.worldofspectrum.org/infoseekid.cgi?id=0005390) запуск по адресу #867f берется какое-то значение с бейсик-ячейки и суется по адресу #d3cb
И, вот, непонятно, что делает процедура по этому адресу и какое там должно быть значение... :(
В игре Through the Trap Door берется какое-то значение с бейсик-ячейки
блин, это классика жанра - имитация получения случайного числа.
например в dizzy2 сразу после загрузки произносится одна фраза из трёх,
а её выбор зависит от значения в (frames)
имитация получения случайного числа
а зачем оно нужно в данной игре - не в курсе? и для tr-dos, получается, нужно сдвигать на 112 байт адрес этой ячейки, так?
Адрес ячейки находится в системных переменных, поэтому сдвигать ничего не нужно.
На Вирте один-единственный релиз этой игрухи: http://vtrdos.ru/gamez/m/MOUNTAIN.ZIP
В режиме демо (если долго в меню выбора управления ничего не нажимать) игра зависает. Всему виной чит, который указан на WOS.
Я, в желании ее починить, нашел другой чит, который к зависанию не приводит.
Но всплыла другая проблема. С выбранным чит-мод ты успешно проезжаешь все 4 уровня, игра начинается обратно с первого и тут, через некоторое время, игра начинает нещадно глючить.
Увидеть всю глубину глубин можно, нажав в эмуле Unreal кнопочку NumLock (т.е. выбрать max speed YES).
Файл с читом (не приводящим к зависанию в demo mode) здесь: https://www.dropbox.com/s/wopsv5j9zzi0h83/1.sna?dl=0
Аналогичный глюк наблюдается как в вышеупомянутой версии от MagicSoft, так и непосредственно в фирменном tzx-файле со включенным чит-режимом.
Вопрос: что делать?
- - - Добавлено - - -
P.S. Если перехватить программу в конце 4го уровня и направить ее принудительно на Game Over, то глюка нет! Можно попытаться всунуть проверку. Вижу в этом единственный выход. Места, правда, почти нет...
- - - Добавлено - - -
P.P.S. А игра откровенно глючная - в графике велосипедиста местами артефакты, лишние точки на лого Кодемастеров, в правом верхнем углу игровой рамки. Тут-то я все починил, а вот основной глюк - нет... :(
в графике велосипедиста местами артефакты
http://savepic.net/9638559.png
это авторский косяк, графика накладывается на системные переменные,
а после загрузки (через 1366) прерывания разрешены.
вот некоторые переменные (опрос клавы/таймер) и меняются.
.......................
во время игры есть опрос кнопок
s/s+q - quit
s/s+p/p - pause
из `запоротого` первого уровня можно выйти в меню,
заново этот уровень начнётся правильно,
значит портится не карта/спрайты, а какие-то указатели на них
Ну, в общем пошел по пути наименьшего сопротивления и сделал после 4го, последнего уровня, принудительный Game Over. Выложил в "Новые TR-DOS релизы". Или скачивайте так - http://zx-pk.ru/attachment.php?attachmentid=61967&d=1502740455. А потом проверьте, пожалуйста!..
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot