Отключение автоторможение в автосимуляторе под DOS

Тема в разделе "WASM.RESEARCH", создана пользователем Llirik, 14 авг 2018.

  1. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    468
    А как установить бряк? ведь код в отладчике почему-то 16-битный
     
  2. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    А регистры 32 бита. Как я понял bp 43B40 ставит в 16битный сегмент (3B40:0040), a bp 0x43B40 по 32битному адресу (0000:43B40). Может кстати и не срастается у отладчика с этими LE-файлами.
     
  3. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    468
    Нет. Эти бряки не срабатывают( а почему именно этот адрес? я хочу сделать это для своей мамы) Это единственная игра, в которую она сама с удовольствием играет)
     
  4. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    Попробуй тогда другой отладчик под досбохом. Инсталлятор скачать тут https://sourceforge.net/projects/openwatcom/ (для дос), установить в досбоксе.
    Код (Text):
    1. cd watcom\binw
    2. wd /tr=rsi
    Без этого параметра /tr=rsi отладчик не хочет игру загружать. С ним вроде срастается.
     
  5. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    468
    Скачать-то скачал, только пока не понял, как его установить)
     
  6. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    переименьвать в owc.exe и запустить в досбоксе, это инсталлятор
     
  7. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    468
    Не могу установить этот отладчик. Выдаёт
     

    Вложения:

  8. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    Ты видимо свежий скачал. Вот установленный http://sendfile.su/1437104 (папка в E:\123 у меня)
    Рабочий конфиг (с переменными окружения, которые ватком хочет засунуть в autoexec.bat):
    Код (Text):
    1. [autoexec]
    2. @echo off
    3. SET PATH=Z:\
    4. keyb RU 866
    5. mount C "E:\123\"
    6. mount D "E:\123\PowerF1\"
    7. echo.
    8. D:
    9. cd\
    10. Z:\config.com -securemode > nul
    11. PATH C:\WATCOM\BINW;%PATH%
    12. SET INCLUDE=C:\WATCOM\H
    13. SET FINCLUDE=C:\WATCOM\SRC\FORTRAN;C:\WATCOM\SRC\FORTRAN\DOS
    14. SET WATCOM=C:\WATCOM
    15. SET EDPATH=C:\WATCOM\EDDAT
    16. SET WIPFC=C:\WATCOM\WIPFC
    17. C:\watcom\binw\wd /tr=rsi D:\F1
    Но там дичь какая-то с адресным пространством этих rational executable. По всей видимости на старте там загружен только стаб, игра загружается в процессе, а как остановить ее и вылезти в отладчик, не знаю. В интернете советуют удаленную отладку (winserv /tr=rsi), но сервер регистрироваться не хочет. Боюсь лучший вариант ставить win98 под вмварой и в ней по справке (help в отладчике) настраивать удаленную отладку.
     
    Последнее редактирование: 19 авг 2018
  9. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Странное - у меня игра не запускается, пишет "cannot open dig.ini", далее "cannot load mouse-gfx". Ini я ей подкладывал из папки sound, все равно не видит его.
    Если не сложно, поделитесь настроенным досбоксом, пжл.

    FIXED: сделал Mount каталога игры на диск D:, и с "диска" D: оно запустилось.
     
    Последнее редактирование: 19 авг 2018
  10. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    http://sendfile.su/1437221 скинул всю папку, в ней копия установленного досбокс и инсталлер. Ничего в нем настраивать не надо, нужный конф вписан в run.bat, все пути настроены под E:\123 Ошибка потому что D-fend знает как игру запустить, а голый досбокс нет.
     
    _edge нравится это.
  11. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    468
    Просто надо в f1.cfg сменить пути, а для настройки звука запустить Setsound.bat
     
  12. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    тут https://www.old-games.ru/forum/thre...ogramm-pod-dos4gw-le-reassemblirovanie.76471/ пусть не решение найти, так хоть настроение поднять.

    рекомендуют именно старую Иду

    скачал ida 4.1 https://vetusware.com/download/IDA 4.1 _Freeware_/?id=10963 , оно смогло в LE, который я вытащил через SB /u f1.exe ( sb это из dos32a )

    Ида текстовая, но поняла LE, в отличии от IDA7 free, и даже узнала Flirt-сингнатуры

    это у меня такой путь нестандартный, )

    но

    сейчас проблема не столько дизассемблировать, сколько "всплыть" в игре, верно?

    подумал, раньше "трейнеры" для игр делали, "замораживая" определенное значение. то есть, нужен аналог ArtMoney для dos+4gw extender.

    то есть теперь время гуглить "artmoney аналоги под дос" https://chemax.ru/tools2.php
     
    Последнее редактирование: 20 авг 2018
  13. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    596кб кода, если брать за среднюю длину инструкции 2.5 байта ~244к строк, ~8.5 байт на строку. Ничего удивительного.
    А чем это поможет? Знать бы где это значение обрабатывается, а пару нопов и без заморозки найдется куда вставить.
     
    Последнее редактирование: 20 авг 2018
  14. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Попробовал поместить PowerF1 в VMware Вин98+Softice, игра не запускается, пролетает "cannot ... Dig.ini" и черный экран. F1.cfg исправлял; даже subst d: c:\powerf1 не спасает )
    Ice работает, только он в этом видеорежиме некорректно отображается )

    вот еще что нарыл, https://www.vogons.org/viewtopic.php?t=24744
    https://recon.cx/2010/slides/recon_swars.pdf
    ну и бессмертный Fravia, http://acrigs.com/FRAVIA/yamato.htm
     
    Последнее редактирование: 20 авг 2018
  15. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Этот dos4gw не "топит" резиденты. То есть взяв тот же Game Buster, он вызывается по Ctrl twice, и даже что-то показывает.

    Что подумал. Можно попробовать отдельной TSR перехватить int 1c, таймер, и выводить в углу экрана cs:dntknw:e)ip прерванного прерыванием таймера, кода. Можно как-то связать с нажатием этой F4, то есть если была нажата эта клавиша, TSR начинает 100 своих вызовов показывать (e)ip кода, потом перестает. Логировать в файл конечно было бы верхом совершенства, но мне что-то не нравится идея вызова int 21 внутри int 1c.
     
  16. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    Я сидел как в окопе под курской дугой, там где был капитан старшиною :meeting:
     
  17. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    Попробовал олей приаттачиться к досбоксу, найти вход в эту функцию в памяти досбокса и вставить int3 принудительно - в отладчик ничего не вывалилось, попробовал найти строчку AutoBrakeFlag и поставить на нее бряк на обращение - не сработало. Похоже этот обработчик не вызывается ни в процессе, ни при выходе из игры. Можно было бы еще в самом файле int3 туда воткнуть, но боюсь с тем же успехом.
     
  18. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    А ларец-то просто открывался.
    Код (Text):
    1. WORD[DWORD[10BC08+((DWORD[00117418]+0x10)>>16)*4]+0x1C0] - статус Automatic Break
    идеально было бы воткнуться сюда, но хз как воевать с релоками
    Код (Text):
    1. cseg01:0004D0D6 66 A1 56 07 13 00                                               mov     ax, word_130756
    2. cseg01:0004D0FB 66 A1 58 07 13 00                                               mov     ax, word_130758
    3. cseg01:0004D129 66 A1 56 07 13 00                                               mov     ax, word_130756
    можно xor eax,eax и нопы поставить здесь
    Код (Text):
    1. cseg01:00045C2E 66 8B 82 C0 01 00 00                                            mov     ax, [edx+1C0h]
    2. cseg01:00045CC2 66 8B 82 C0 01 00 00                                            mov     ax, [edx+1C0h]
    Как в игре понять, что автоторможения нету? Я даже с места двинуться не могу, не знаю кнопки.
     
  19. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.954
    http://sendfile.su/1437529
    Вобщем грязненько но похоже сделал. Проверить не знаю как, при нажатии на F4 всегда OFF показывает, хотя патчил не это.
     
    Llirik нравится это.
  20. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    468
    f13nd, огромаднейщее Вам спасибо!!!!!
    Надо зайти в "CONTROLS" и настроить управление) Можно клавой управлять, можно мышкой, можно джойстиком, а можно и комбинировать это всё) При отключённом автоторможении не вписаться в медленные повороты, не отпустив кнопку газа и не давя на тормоз. Советую Вам всегда играть в режиме SplitScreen, даже если Вы играете один. В одиночном режиме игра ведёт себя как-то странно)
    Ещё мешают надписи на экране информирующие на каком месте, сколько кругов, скорость, горючее....... У первого игрока эти надписи отключаются клавишей Ф6 или Ф5, забыл уже, а у второго игрока нет, как было с автоторможением, но это не очень важно) Я хотел в VirtualBox поставить dos, а в нём SoftIce, но не успел. сделать?