PC-01 Lviv
http://pc01.lviv.ua/forum/

Бессмертие и прочие секреты игр
http://pc01.lviv.ua/forum/viewtopic.php?f=3&t=202
Page 1 of 1

Author:  liberation [ 27 Oct 2012, 23:06 ]
Post subject:  Бессмертие и прочие секреты игр

Листая старую тетрадь расстрелянного генерала Собственно, я не о том. Пересматривая старые бумаги, я нашел свой материал о популярном во все времена лайфхаке - обессмерчивании игр. Сохранивший список оказался мал, хотя я помню, что наработок было больше, но все равно пускаю его к публикации. Да и тема такая, что ее всегда можно с удовольствием дополнить любому желающему.

Итак,
1. Cheese
0x9FE5 = 0xC3, 0x9FE6 = 0x69

2. Moon Base
"Вечная жизнь": 0x9093 = 0xC3
Максимальная энергия: 0x8F60 = 0x39, 0x8F68 = 0x39

3. Алмазы
0x87D0 = 00

4. Moon44
0x8EB5 = 00

5. Putup
"Вечная жизнь": 0x9099 = 00
Скорость игры: 0x9801 = 00-0xFF

6. Seymour
0xA103 = 00
Или после вызова помощи нажать кл. "N"

7. Орел/Eagles
0x4660 = 0xC9

Author:  liberation [ 01 Nov 2012, 12:11 ]
Post subject:  Re: Бессмертие и прочие секреты игр

У Антона нашел подборку хинтов из бюллетеня "Coman":

1. БАШНЯ
918F = FF

2. МЯЧИК
9555 = FF

3. ЛЕГЕНДА
A2DE = FF

4. АЛИ-БАБА
9430 = 00

5. УЗНИК
1CDF = 00

6. ПАТРУЛЬ
8217 = 00

7. AEROCOBRA
984B = FF

8. SQUASH
9942 = FF

9. KING VALLEY
9C8D = FF

10. ОРЕЛ
466B = 00

11. CAVE
85F9 = 00

12. СТРАННИК
8C6B = 00

Author:  Speeker [ 15 May 2015, 09:08 ]
Post subject:  Re: Бессмертие и прочие секреты игр

В игре странник был интересный баг. Тогда я еще совсем пацаненок был отладчиками не пользовался но было одно место залетев на которое попалал на "зубы" да так что когда снова появлялся то появлялся там же и о чудо после того как забиралась 0 жизнь счетчик становился в FF - 255 жизней )))) как сейчас понимаю видно там не поставили проверку и число загонялось в отрицательное. а то и было FF. Могу конечно и ошибаться но баг в то время приятно порадовал ))))
Еще, ребята, подскажите где можно скачть эти игры - странник и узник, что б запустить на домашнем симе, а не играть с сайта!

Author:  Zelya [ 15 May 2015, 18:57 ]
Post subject:  Re: Бессмертие и прочие секреты игр

Quote:
Еще, ребята, подскажите где можно скачть эти игры - странник и узник, что б запустить на домашнем симе, а не играть с сайта!
На странице с игрой есть столбик "Files" с файлами для скачки.

А не поделились бы Вы воспоминаниями о том прекрасном времени, в стиле нашего "фирменного" раздела Почитай-ка ? :)

Author:  doorsfan [ 21 Mar 2016, 18:30 ]
Post subject:  Re: Бессмертие и прочие секреты игр

а как на реале можно было делать poke? насколько помню (26 лет прошло), без ",R" загрузить можно было. Пропатчить - тоже. Но стартовый адрес оставался неизвестен и старт в тех 5 игрушках (30 минут кассеты) не совпадал с адресом загрузки!

Author:  sadfsdfsdaf [ 30 Jul 2020, 12:02 ]
Post subject:  Re: Бессмертие и прочие секреты игр

Quote:
а как на реале можно было делать poke? насколько помню (26 лет прошло), без ",R" загрузить можно было. Пропатчить - тоже. Но стартовый адрес оставался неизвестен и старт в тех 5 игрушках (30 минут кассеты) не совпадал с адресом загрузки!
Если игрушка не перетирает бейсик и служебные области, то проблем нет. Если перетирает, то нужен лишний шаг с загрузкой по смещению.
А вообще, поиск стартового адреса в своё время для меня был ещё тем развлечением :-) Из-за этого я и начал дизассемблировать программы и пытался догадываться - где же начало (копировщиков у меня не было тогда).
Code:
manual.lvv:

589.0196339 00001-01 35 01
Приложение 3
ПЕРСОНАЛЬНАЯ ЭВМ ПК-01 "ЛЬВОВ"
РУКОВОДСТВО ПРОГРАММИСТУ
                   
│ BEA4/BEA5 │ 48804/48805 │ CODFL_ORG │ начало CODE-файла      │
│ BEA6/BEA7 │ 48806/48807 │ CODFL_END │ конец CODE-файла       │
│ BEA9/BEAA │ 48809/48810 │ CODFL_RUN │ старт CODE-файла       │
│ BEAB/BEAC │ 48811/48812 │ OFFSET    │ смещение CODE-файла    │
Итого:
Code:
BLOAD "",,32768
PRINT PEEK(48809);" ";PEEK(48810)
И дальше уже думать что с этим делать, если программа грузится вне области бейсика, то:
Code:
BLOAD ""
PRINT PEEK(48809);" ";PEEK(48810)
Ну, а дальше уже можно делать правку, например:
Code:
POKE 23456, 255
И запускать:
Code:
DEF USR=12345:Q=USR(Q)
Есть ещё вариант, как сделал Константин Сливаков:
Code:
warez-d4.rar\ARCHIVE\GAMES.BIN\AEROCOBR.LVT
Тут маленькая программа в кодах, которая грузит и патчит основную, можно её взять за основу.
Code:
;
; BLOAD "36CE" 6FF9-707A,6FF9   CkSum: 0036CE
;
6FF9:  21 02 70  !.П  START:     lxi       h, ON_ERROR
6FFC:  22 f1 be  "??             shld      $LOAD_ERR           ; адр.перех. по ОШИБ.В/В (0BEF1h)
6FFF:  cd 36 f8  ?6?  LOOP:      call      @CLS                ; 2.3.1 Очистка экрана (0F836h)
7002:  21 3b 70  !;П  ON_ERROR:  lxi       h, MSG_BANNER
7005:  cd a4 e4  ???             call      @TEXT               ; 2.2.7 Вывод на экран текстового сообщения (0E4A4h)
7008:  cd 06 f8  ?.?             call      @KY*                ; 2.2.2 Ввод символа без отработки специальных функций (0F806h)
700B:  fe 31 --  ?1-             cpi       '1'
700D:  ca 15 70  ?.П             jz        DO_LOAD
7010:  fe 30 --  ?0-             cpi       '0'
7012:  c2 ff 6f  ??О             jnz       LOOP
7015:  f5 -- --  ?--  DO_LOAD:   push      psw
7016:  cd 36 f8  ?6?             call      @CLS                ; 2.3.1 Очистка экрана (0F836h)
7019:  21 6a 70  !ЙП             lxi       h, MSG_CMD
701C:  cd a4 e4  ???             call      @TEXT               ; 2.2.7 Вывод на экран текстового сообщения (0E4A4h)
701F:  21 8c be  !??             lxi       h, $SAVE_NAME       ; имя файла запись/эталон (0BE8Ch)
7022:  11 70 70  .ПП             lxi       d, FILE_NAME
7025:  01 06 00  ...             lxi       b, 00006h
7028:  cd 1f e1  ?.?             call      @MOVE               ; 2.6.7 Перемещение массивов (0E11Fh)
702B:  cd 94 dd  ???             call      @BLOAD              ; 2.5.6 Прием кодового файла (0DD94h)
702E:  f1 -- --  ?--             pop       psw
702F:  fe 30 --  ?0-             cpi       '0'
7031:  ca 3e 9a  ?>?             jz        09A3Eh
7034:  af -- --  ?--             xra       a
7035:  32 b3 99  2??             sta       099B3h
7038:  c3 3e 9a  ?>?             jmp       09A3Eh
703B:  --------  ---  MSG_BANNER DB 13, 'АВТОР СЛЫВАКОВ К.Г.', 13, 'НУЖНА ВЕЧНАЯ ЖИЗНЬ?(1/0)', 13, 0
706A:  --------  ---  MSG_CMD:   DB 'BLOAD"'
7070:  --------  ---  FILE_NAME: DB 'AEROC1'
7076:  --------  ---  MSG_CMD_EN DB '",R', 13, 0

; lines: 29


Attachments:
File comment: Черновик дизассемблера, которым делался фрагмент кода
AEROCOBR.zip [51.61 KiB]
Downloaded 922 times

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/