1 Отредактировано garnizon (04-06-2018 16:34)

Тема: Drol на Агате, поклёп?

В детстве я переиграл в кучу Apple-игр на девятке и не припомню что бы какие-то из них неправильно работали, кроме одной.....

Всем наверное известна игра DROL про кренделя с ракетным рюкзаком.
По идее в игре три уровня после которых показывается мульт, потом идут те же уровни но усложненные,
и опять мульт, и так много раз.

Собственно вот видео с полным прохождением игры:
https://www.youtube.com/watch?v=cHC6Ro2M-s0

Помню в детстве было много разговоров что на Агате эта игра виснет,
т.е. первые три уровня проходятся нормально, а когда начинается мульт - игра зависает.
Оказалось что это правда.
Да, надо сказать что версия гулявшая по союзу была крякнутая, о чем повествовала вот такая заставка перед игрой:
http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=406&download=1

Недавно скачал с VitualApple эту самую крякнутую версию и попробовал поиграть.
На реальном Агате действительно всё виснет как только начинается мульт. 
Но самое интересное что и в эмуляторах (любых, в т.ч. AppleWin) все тоже самое.....
Вот такая картинка на экране когда игра виснет:
http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=407&download=1

Хотя судя по видео (выше) там продолжается мульт ( 01:16 ) и начинаются уровни снова.   

Так может дело не в Агате.... а в этой крякнутой версии?

Может кто-нибудь попробовать на оригинальном Apple её, виснет она там или нет?
В аттаче специально версия игры где враги не трогают (спасибо Володе) - можно за буквально минуту дойти до мульта.

На первом уровне надо дотронутся до девочки с шариком и до бегемота,
на втором надо дотронутся до мальчика с вертолетом и крокодила,
на третьем уровне  спуститься на самый нижний этаж и пройти правее до связанного человека.

Управление: стрелка влево, стрелка вправо, A, Z, Space.

Post's attachments

Attachment icon DROL1.PNG 11.16 kb, 735 downloads since 2018-06-04 

Attachment icon DROL2.PNG 13.35 kb, 735 downloads since 2018-06-04 

Attachment icon Drol-crk.dsk 140 kb, 326 downloads since 2018-06-04 

2 Отредактировано Voldemar0 (04-06-2018 17:36)

Re: Drol на Агате, поклёп?

На самом деле там есть обращение какому -то эпловскому устройству, которого на агате нет. Или какой-то фиче: выполняется чтение порта C050 и ожидается определённое значение в нём. То ли таймер, то ли что-то ещё. В агате эти порты являются только программными переключателями и значений, вроде как, возвращать не должны. Фрагмент повторяется несколько раз, так что может быть это элемент недоломанной защиты, но может быть и нет. Выполняется раза три за мультик.

3

Re: Drol на Агате, поклёп?

Привет, попробовал "Drol-crk.dsk" на A2. Она виснет на той-же сцене.
В невзломанную версию удалось пройти только один уровень ;)

4 Отредактировано garnizon (10-06-2018 18:22)

Re: Drol на Агате, поклёп?

А я вообще не смог найти не взломанную - в смысле оригинальную. У тебя на фирменном диске была?

5

Re: Drol на Агате, поклёп?

Нет конечно, у меня тоже из интернета, но я имел ввиду без хака на бессмертие.
Прикладываю несколько найденных версий, они все чем-то отличаются.

Post's attachments

Attachment icon drol.zip 281.02 kb, 326 downloads since 2018-06-17 

6 Отредактировано Voldemar0 (21-06-2018 20:01)

Re: Drol на Агате, поклёп?

328b - DROL.dsk === drol (Apple Bandit crack).dsk

одинаковые, отличия только в секторах 3/0 и 0/14 - там сигнатуры ломателей

-==-

Гибель героя, в зависимости от противников и уровней, обрабатывается в разных местах кода, но это всегда одна и та же последовательность кода: A9 FF 85 1E.
Интересно, что во всех образах, хотя и она и находится в разных секторах, но всегда по одинаковым смещениям. Т.е. в основе всех версий одна и та же авторская сборка.
Можно написать автоломалку: A9 FF 85 1E -> A9 FF EA EA.
Кто нибудь возьмётся ?

7 Отредактировано Dohtur Frag (18-06-2023 04:49)

Re: Drol на Агате, поклёп?

Я подправил опрос $c050 (CLRTEXT = $C050 ;display graphics - включение графического режима) - игра перестала виснуть.
Я в электрической части не силён.
Нашёл вот такую документацию https://mirrors.apple2.org.za/Apple%20I … iption.pdf
Там расписано как работает А][ на электрическом уровне.
Может кто-нибудь сможет разобратсья, что читается из $c050. Возможно тогда станет понятно почему виснет на Агате.

8

Re: Drol на Агате, поклёп?

У Эпла C050 - включение графического режима, насколько я помню, важен сам адрес, чтение или запись - неважно. Возможно, срабатывает только на запись (чтение не пробовал), но данные неважны, а читаться может либо 0xFF, либо Z-состояние шины, т.е. всякая фигня

9 Отредактировано Dohtur Frag (18-06-2023 03:44)

Re: Drol на Агате, поклёп?

На примере 328b-Drol.dsk
****Примечание****
- Рядом с Номером Сектора, в скобках, указано количество вхождений искомых байт.

1. Если хотите получить неограниченное количество жизней:
- Трек 6, Сектор 3(2).
Ищите первое вхождение (их там 2, нам нужно первое) A5 5E 10 02 A9 00 - меняете на A5 5E A9 00 85 5E.

2. Если хотите получить бессмертие (т.е. не умирать от врагов):
- Трек 8, Сектор 1(1);
- Трек B, Сектор 9(1);
- Трек 11, Сектор 9(1);
- Трек 17, Сектор 9(1).
Ищите A5 1E 30 - меняете на A5 1E EA EA.

3. Если хотите чтоб игра не висла на мультике:
- Трек 1D, Сектор 8(1);
- Трек 1D, Сектор 9(2).
Ищите AD 50 C0 C9 80 - меняете на AD 50 C0 C9 80 EA EA.

PS (это реклама)
Всё это легко сделать в секторном редакторе TheBest.

PPS
Спс Garnizon & Voldemar0 за помощь. И AlexBel тоже.

10

Re: Drol на Агате, поклёп?

AlexBel пишет:

У Эпла C050 - включение графического режима, насколько я помню, важен сам адрес, чтение или запись - неважно. Возможно, срабатывает только на запись (чтение не пробовал), но данные неважны, а читаться может либо 0xFF, либо Z-состояние шины, т.е. всякая фигня

В данной игре (и не только в ней), управление видеорежимом как раз через чтение сделано (LDA $C050, $C052, $C057...).

11 Отредактировано AlexBel (18-06-2023 08:36)

Re: Drol на Агате, поклёп?

Dohtur Frag пишет:
AlexBel пишет:

У Эпла C050 - включение графического режима, насколько я помню, важен сам адрес, чтение или запись - неважно. Возможно, срабатывает только на запись (чтение не пробовал), но данные неважны, а читаться может либо 0xFF, либо Z-состояние шины, т.е. всякая фигня

В данной игре (и не только в ней), управление видеорежимом как раз через чтение сделано (LDA $C050, $C052, $C057...).

http://forum.agatcomp.ru//misc.php?action=pun_attachment&item=1229&download=1

Post's attachments

Attachment icon A2_modes.PNG 118.65 kb, 233 downloads since 2023-06-18 

12

Re: Drol на Агате, поклёп?

> У Эпла C050 - включение графического режима, насколько я помню, важен сам адрес, чтение или запись - неважно.

В этой игре есть такой кусок:

68DE-  A2 02 ..    ""."     LDX   #02             <==                                                                                               
68E0-  AD 50 C0    "-p@"    LDA   C050                                                                                                              
68E3-  C9 80 ..    "I."     CMP   #80                                                                                                               
68E5-  D0 F7 ..    "PВ"     BNE   68DE                                                                                                              

На кой он нужен - не ясно.

Тут два варианта:

1) Эпл реально что-то возвращает там, но не потому что должен, а потому что так получилось.
И авторы игры были уверены в том, что так и должно быть, поэтому используют эту проверку для чего-то, чего я даже предположить не могу.

2) Было какое-то опциональное устройство (возможно, плотно связанное с дисплеем), которое через эти порты что-то возвращает. Идея примерно в том, что для переключения ДК подходит любая операция (чтение/запись), но никто же не запрещает делать её несколько раз. ДК же при чтении шину данных не напрягает и твоё устройство может что-то на неё выставлять. А адрес не имеет значения: включил ты, например, C050, ну и включай её хоть каждую секунду, одновременно получая состояние джойстика хитрого какого нибудь, например. Такая себе экономия портов. А если этой загадочной железки нет, возможно, что порт откликается как-то фиксированно (но не так, как на агате) и вроде как всё нормально, никому это обращение не должно мешать.

13 Отредактировано garnizon (19-06-2023 18:36)

Re: Drol на Агате, поклёп?

Вы забываете главное, все известные образы этой игры, нормально не работают не только на агате, но и на всех моделях Apple и Правец. И в эмуляторах тоже. Везде одно и тоже - зависание после третьего уровня, ровно на мульте.

14 Отредактировано AlexBel (19-06-2023 19:57)

Re: Drol на Агате, поклёп?

Думаю, крайне маловероятно, что Drol требовал какое-то дополнительное устройство для отдачи данных через порт включения графики. Это же просто игра, работающая в графическом режиме, ничего особенного в ней нет. Не думаю, что зависание игры на мультфильме имеет какую-то связь с получением данных из порта C050. Есть много игр с криво сломанной защитой или просто некачественно скопированных, которые ведут себя некорректно.
И, кроме этого, если бы была какая-то железка, требующая порт в компьютере, не логичнее ли было воспользоваться специально выделенным под I/O пространством для каждого из слотов? Определить, в какой из слотов вставлена железка, несложно.
Думаю, этот странный участок кода - либо результат взлома (мало ли что потом осталось, вообще не факт, что это, изначально исполняемый код), либо ошибка чтения, либо попытка запутать тех, кто будет копаться (если так, то это получилось).
Посмотрел схему компьютера, не нашёл, где могут считываться какие-то осмысленные данные с С050. Может, плохо искал...

15 Отредактировано garnizon (29-06-2023 01:32)

Re: Drol на Агате, поклёп?

Возможно у Дрола внутренняя защита была. Если защита проходила, она могла вносить модификацию в код программы, которая отключала зависание. Но так как защиту просто отрезали - изменения не вносятся и виснет.
А хакеры, взломали игру, она копируется. Всё. Дальше их не волнует. Работает она или нет. Запускается - всё ОК.

Хакеры "MPG" это the Midwest Pirates Guild (612 это код миннеаполиса).


Credits:

Broken by  Apple bandit/mpg
thanks to  the burglar/mpg

brought to
you by  sinbad & messenger

the midwest pirate's guild/1200 club

call the safehouse 612/724-7066

Про эту группу много гуглится. Есть даже интервью с одним из хакеров:

https://archive.org/details/bbs-2003052 … The+Freeze

+-+Tape+3+of+3.avi

16 Отредактировано garnizon (29-06-2023 12:11)

Re: Drol на Агате, поклёп?

Спасибо Dohtur Frag что разобрался и пофиксил всё. В аттаче архив, там три версии:

1) обычная игра. Не зависает, всё работает.

2) тоже самое что "1", но не кончаются жизни (бессмертие)

3) тоже самое что "1", но враги не убивают, некоторые при встрече сами погибают, другие просто не наносят урона (неуязвимость)


Кстати, заставка от "MPG" интересная. Упаковка странная. рассчитана на то, чтобы картинка красиво появлялась. Спасибо Snake за подробности.

Post's attachments

Attachment icon drol-AgatComp.zip 137.92 kb, 63 downloads since 2023-06-28 

17 Отредактировано garnizon (29-06-2023 01:45)

Re: Drol на Агате, поклёп?

Текст фирменной инструкции (спасибо  Вадиму Игоревичу - распознал с фото):


Drol
Apple Instructions

Beware:
A witch doctor’s curse is about to envelop you and your Apple computer,  wreaking havoc on ordinary reality, digital circuitry and network TV reception. Be careful!

Getting started:
Naively, you slide your Drol disk into your disk drive, turn on your computer’s power switch and boot the Drol disk.
Pressing a joystick button (or any key if you’re using keyboard control), you innocently pass the point of no return and wake up in the chaotic dream world of Drol.

Your mission:
Others have been lured to this dream world before you - a little girl, a boy, their pet lizard, their pet crocodile and their mother.
Your task is to find them and bring them back to waking reality — safe and happily reunited.

MISSION 1 ... Rescue the little girl and her pet lizard (with rocket pack). Watch out for scorpions, flying turkeys, and (on higher levels) green vacuum cleaners!

MISSION 2 ... Rescue the little boy and his pet crocodile. Watch out for monsters, magnets, and the witch doctor!

MISSION 3 ... Rescue the mother. Watch out for serpents and flying weapons of all kinds!

Luckily, you’re wearing your trance-resistant, anti-gravity rescue suit. You’re also well-armed with an unlimited supply of luminous reality pellets, which you can shoot to disintegrate monsters and other enemy phantoms that the witch doctor has cleverly conjured to thwart you. You start with five lives. For each round of three missions completed successfully, you earn one extra life.


Each time you complete a mission, a curtain of dreams will descend, transporting you to your next mission.
Your wide-screen radar-scope at the top of the screen will prove indispensable in your quest.

Controls:
You may use joystick or keyboard control.
For joystick control:
Use up/down/left/right movements of the joystick.
Press the joystick button to fire.

For Keyboard control:
Apple II / II +               Apple 2e (USE CAPS LOCK)
          A = up                             A= up
◄—= left    right =—►    К = left    right =L
         Z=down                            Z=down
Press the spacebar to fire.

Scoring:
35    points...    Scorpions, Monsters, Snakes
100    points...    Daggers, swords, arrows, balloon, helicopter, witch doctor
300    points...    Rescue girl/rescue boy
500    points...    Rescue mother
500    points...    Roast turkey
0    points...    Hatchets

Survival tips:
Flying turkeys must be shot at repeatedly. Green vacuum cleaners are indestructible. At advanced levels additional perils will appear.

Special keys:
CTRL-R    Restart
CTRL-J    Change to joystick control
CTRL-К    Change to keyboard control
CTRL-S    Toggle sound on/off
CTRL-V    Toggle volume high/low
ESC    Pause (press any key to resume)
^Broderbund Software"
BR0DERBUND SOFTWARE, INC./ENTERTAINMENT SOFTWARE DIVISION 17 Paul Drive,

San Rafael, California 94903
® 1983 by Broderbund Software, Inc. Apple ll/ll > /He is a registered trademark of Apple Computer, Inc.

18 Отредактировано garnizon (29-06-2023 01:52)

Re: Drol на Агате, поклёп?

Прошел до  99 уровня, враги совсем озверевшие.  После 99 начался 00, думал всё с начала, фиг там, совсем звери враги стали. Еще прикол (этого нет в инструкции), иногда (мне попалась только раз 5) из небытия появляется мелкая такая НЛО и начинает палить (видимо для особо заигравшихся).

Счётчики очков только до 99999, уровни до 99, жизней только 79. Видно что автор понимал нереальность так долго играть :)

Post's attachments

NLO.png, 3.69 kb, 561 x 384
NLO.png 3.69 kb, 63 downloads since 2023-06-28 

19

Re: Drol на Агате, поклёп?

garnizon пишет:

Прошел до  99 уровня, враги совсем озверевшие.  После 99 начался 00, думал всё с начала, фиг там, совсем звери враги стали. Еще прикол (этого нет в инструкции), иногда (мне попалась только раз 5) из небытия появляется мелкая такая НЛО и начинает палить (видимо для особо заигравшихся).

Счётчики очков только до 99999, уровни до 99, жизней только 79. Видно что автор понимал нереальность так долго играть :)

Наверное, этот НэЛэО - что-то вроде шаровой молнии в Mario Bros, что появляется, если слишком долго возишься.

20

Re: Drol на Агате, поклёп?

> Наверное, этот НэЛэО - что-то вроде шаровой молнии в Mario Bros, что появляется, если слишком долго возишься.

В shamus тоже такое есть :)

21

Re: Drol на Агате, поклёп?

Voldemar0 пишет:

> Наверное, этот НэЛэО - что-то вроде шаровой молнии в Mario Bros, что появляется, если слишком долго возишься.

В shamus тоже такое есть :)

Ага, тень :)