1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Arcade Volleyball

Тема в разделе "Установка и запуск игр", создана пользователем AndyFox, 21 фев 2014.

  1. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.238
    Скомпилированная под DOS игра для Электроники МС 1502 вешает DOSBox SVN Daum. Другие подобные игры работают. Это русифицированная версия игры Arcade Volleyball. Игра отсюда - http://www.old-games.ru/forum/showpost.php?p=1075676&postcount=40
     

    Вложения:

    • voley.zip
      Размер файла:
      27,5 КБ
      Просмотров:
      34
    Последнее редактирование: 21 фев 2014
    SoftCat, compart и Val07og нравится это.
  2.  
  3. Val07og

    Val07og

    Регистрация:
    1 апр 2008
    Сообщения:
    897
    AndyFox, игра как-то странно скомпилирована под DOS - она должна была быть скомпилирована с директивой наподобие .ORG 0100h. С этого адреса в DOS запускаются COM файлы. А она почему-то считает, что должна запускаться с адреса 0000h.

    Её можно запустить таким "загрузчиком", например: Посмотреть вложение fix_vol.rar . Скопировать в папку к файлу VOLEY.COM и запустить FIX.BAT - он сделает новый файл fvoley.com, который будет запускаться в DOSBox'е.
    Но "Выход" в игре не нажимать! :) Для выхода из игры закрывать сам DOSBox.
    Потому что игра будет загружена в память не так, как положено нормальному COM файлу, из-за чего команда выхода сработает неправильно.
     
    SoftCat, compart, Dimouse и 2 другим нравится это.
  4. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.238
    Val07og, спасибо за помощь. Оказывается существует три вида компиляции с кассет: от С. Коваленко, С. Москаленко, Ю. Сазанова. Соответственно нашлась правильно работающая версия - http://www.old-games.ru/forum/showpost.php?p=1075820&postcount=51
     

    Вложения:

    • voley.zip
      Размер файла:
      27,7 КБ
      Просмотров:
      32
    compart нравится это.
  5. Val07og

    Val07og

    Регистрация:
    1 апр 2008
    Сообщения:
    897
    AndyFox, а она тоже неправильно работает на выходе. :)
    Что неудивительно - там почти такой же загрузчик.
     
    compart и AndyFox нравится это.
  6. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    163
    Val07og, да в Волейболе заголовок делает сдвиг сегмента на 20h. Поэтому подразумевается, что игра должна запускаться с нулевого адреса, как и все кассетные программы.
    Но посмотрите под отладчиком игру Искатель, которая лежит вот здесь:
    http://www.old-games.ru/forum/showpost.php?p=1075278&postcount=36
    Заголовок примерно такой же, но делает сдвиг сегмента на 10h. Этот заголовок универсальный, то есть игра может запускаться как с нулевого адреса, так и с адреса 100h. При запуске игры как COM-файла (с адреса 100h), на первом проходе "задвигается" PSP, а на втором проходе "задвигается" заголовок.
    В Волейболе, кстати, можно просто этот сдвиг поменять на 10h. И тогда можно также запускать как COM-файл. Поменял в файле всего один байт, посмотрите во вложении. Да, кстати, в заголовке явно есть ошибка: нарушается баланс стека. Из-за этого некорректный выход из игры. Ошибку нетрудно исправить.
     

    Вложения:

    • voley.zip
      Размер файла:
      27,5 КБ
      Просмотров:
      26
    Последнее редактирование: 6 мар 2014
    compart, AndyFox и Val07og нравится это.
  7. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    163
    Лучше сделать сдвиг сегмента не на 10h, а на 30h (посмотрите во вложении). При этом не будет проблем с балансом стека, но зато пропадёт универсальность. То есть игру можно запускать только как COM-файл (со смещения 100h). Хотя даже при этом из игры не получается корректно выйти.
     

    Вложения:

    • voley.zip
      Размер файла:
      27,5 КБ
      Просмотров:
      29
    compart, AndyFox и Val07og нравится это.
  8. Val07og

    Val07og

    Регистрация:
    1 апр 2008
    Сообщения:
    897
    SoftCat, даже если убрать промашку по стеку (так: Посмотреть вложение voley100.7z , если не ошибаюсь), это всё равно не помогает при выходе. Наверное, DOS ожидает, что выход будет в том же CS, в котором COM файл загружался. Честно говоря, не разбирался подробней.
    Но да, так можно сделать смещение 256 байт, и файл запустится без дополнительного загрузчика.
     
    compart, AndyFox и SoftCat нравится это.
  9. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    163
    Val07og, да, так можно. Вы сдвинули на 1 байт код и промашки по стеку не будет. Будет 3 прохода по заголовку со сдвигом сегмента на 10h каждый, если игру загружать с адреса 100h, и будет 2 прохода по заголовку, если игру загружать с нулевого адреса.
    А во вложении моего предыдыдущего сообщения просто изменен сдвиг сегмента на 30h и, тем самым, также решена проблема со стеком. Будет всего один проход по заголовку, но игру можно запускать только с адреса 100h.
    При выходе это ничего не помогает, я знаю.
    И ещё, в Вашем загрузчике loader.bin есть инструкция push 0. Эта инструкция не будет работать на процессорах 8086 и 8088, поэтому в подобных случаях лучше делать push через регистр.
     
    Последнее редактирование: 7 мар 2014
    compart, Val07og и AndyFox нравится это.
  10. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    163
    Val07og, а чем Вы редактируете COM-файл? Я этим занимался давно и с помощью программ под DOS.
     
    compart и AndyFox нравится это.
  11. Val07og

    Val07og

    Регистрация:
    1 апр 2008
    Сообщения:
    897
    SoftCat, тем же, чем и раньше - IDA для разбора, Hiew для правки (правда, он платным стал). Наверное, можно ещё что-нибудь из этого попробовать.
     
    compart, AndyFox и SoftCat нравится это.
  12. lordi

    lordi

    Регистрация:
    4 дек 2008
    Сообщения:
    247
    SoftCat, бесплатный hex-редактор - xvi32
     
    AndyFox, Val07og и SoftCat нравится это.
  13. Val07og

    Val07og

    Регистрация:
    1 апр 2008
    Сообщения:
    897
    Offtop
    lordi, просто редактор должен быть немного специфичным – с возможностью ассемблирования.
     
    compart и AndyFox нравится это.
  14. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    4.238
    compart, lordi и Val07og нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление