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

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

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

Электроника МС 1502

Тема в разделе "IBM PC-несовместимое", создана пользователем Nil, 26 май 2011.

  1. Pol Kin

    Pol Kin

    Регистрация:
    20 янв 2015
    Сообщения:
    22
    SoftCat, вся графика в файле MONSTRS (сначала процедура, потом данные). Программа ожидает его по адресу &H1100:0.
     

    Вложения:

    • Battle.rar
      Размер файла:
      4,9 МБ
      Просмотров:
      75
    AndyFox нравится это.
  2. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    162
    Pol Kin, вот файл monstrs.m. В начало файла надо добавить для GW-BASIC'а 8 байт заголовка следующего содержания:
    Код:
     0   Содержит значение 0FDh, признак заголовка файла. 
    
    1-2  Значение сегмента адреса в  оперативной  памяти  информации, 
         которая была переписана в файл. 
    
    3-4  Значение  смещения  адреса в оперативной памяти информации, 
         которая была переписана в файл. 
    
    5-6  Длина  записанной  в файл информации. 
    
     7   Содержит значение 00, признак конца заголовка файла. 
    
    Значение сегмента 1100h (в файле записан сначала младший байт, а потом старший) для GW-BASIC'а не подходит. Надо подобрать подходящее значение и, естественно, поменять это значение ещё и в файле battle.bas. В GW-BASIC'е загружается этот файл следующей директивой:
    Код:
    BLOAD "MONSTRS.M"
    
    А Вы файл monstrs.m в Мониторе МС1502 загружали или в Бейсике?
     

    Вложения:

    • monstrs.zip
      Размер файла:
      4,7 КБ
      Просмотров:
      78
    Последнее редактирование: 7 мар 2015
    AndyFox нравится это.
  3. Pol Kin

    Pol Kin

    Регистрация:
    20 янв 2015
    Сообщения:
    22
    В Бейсике.
     
  4. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    162
    Pol Kin, а Вы можете выложить файл battle.bas в wav-файле?
     
  5. Pol Kin

    Pol Kin

    Регистрация:
    20 янв 2015
    Сообщения:
    22
    Выкладываю.
     

    Вложения:

  6. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    162
    С запоротым спрайтом тоже можете выложить wav. Могу попробовать восстановить.
     
  7. Pol Kin

    Pol Kin

    Регистрация:
    20 янв 2015
    Сообщения:
    22
    Этот файл грузится, но результат загрузки не совпадает с результатом в MESS. Такое ощущение, что перед кодом стоит один лишний байт.
    Похоже, я разобрался, в чём там дело. С данными всё в порядке, но в файле .M записан не тот адрес загрузки. Если набрать нужный адрес в команде BLOAD, глюки с графикой пропадают. Разберусь с архивом и выложу.
     
  8. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    162
    Файл BATTLE.B загружается в МС1502 (при эмуляции в MESS) по адресу 1100h:081Eh, а файл MONSTRS.M -- по адресу 1100h:0000h и имеет размер данных в чистом виде (без заголовка) 1BBCh = 7100 байт. То есть этот файл перекрывает начало программы на Бейсике. Какой из этих файлов Вы загружаете первым?
     
  9. Pol Kin

    Pol Kin

    Регистрация:
    20 янв 2015
    Сообщения:
    22
    Сначала .B, потом .M.
     
  10. Pol Kin

    Pol Kin

    Регистрация:
    20 янв 2015
    Сообщения:
    22
    Я удалил из файла monstrs.m восьмой байт (00) и переправил в бейсике сегмент на 5100. После этого игра заработала в DOSBox. Загружал так:
    LOAD "BATTLE1"
    def seg=&h5100
    BLOAD "monstrs1.m",0
    Правда, поскольку какая-либо синхронизация скорости в игре не предусмотрена, она работает с переменной скоростью и эффекты получаются комические:)
     

    Вложения:

    • cas.rar
      Размер файла:
      10 КБ
      Просмотров:
      79
  11. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    162
    Это я ошибся с размером заголовка, поэтому получился один лишний байт в начале. Заголовок .M-файла имеет размер 7 байт и содержит следующие поля:
    Код:
     0   Содержит значение 0FDh, признак заголовка файла. 
    1-2  Значение сегмента адреса в  оперативной  памяти  информации, 
         которая была переписана в файл. 
    3-4  Значение  смещения  адреса в оперативной памяти информации, 
         которая была переписана в файл. 
    5-6  Длина  записанной  в файл информации. 
    
    А в конец .M-файла надо ещё добавить (для GW-BASIC'а) байт 1Ah.
    В файле monstrs.m прописываем сегмент 5100h, а в файл battle.bas добавляем строчку:
    Код:
    5 BLOAD "MONSTRS.M"
    
    Тогда не надо будет отдельно загружать файл monstrs.m. Результат моей правки во вложении.
    Кстати, несмотря на то, что в кассетном заголовке файла battle.b записан начальный адрес 1100h:081Eh, этот файл загружается в МС1502 (при эмуляции в MESS) по адресу 0060h:081Eh. То есть он никак не пересекается в памяти с файлом monstrs.m.
     

    Вложения:

    • battle.zip
      Размер файла:
      10,4 КБ
      Просмотров:
      83
    Последнее редактирование: 7 мар 2015
  12. Pol Kin

    Pol Kin

    Регистрация:
    20 янв 2015
    Сообщения:
    22
    Да, это работает.
    А DOSBox или MESS можно как-то переключить в монохромный режим?
     
  13. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    162
    Вот здесь можно скачать утилиты:
    http://emu80.org/files/devga10.zip
    В DOSBox в режиме VGA или SVGA можно запустить BWON.COM или SG.COM.
     
  14. yplus

    yplus

    Регистрация:
    13 апр 2006
    Сообщения:
    754
    А ещё в конфиге досбокса можно указать в пункте [dosbox]
    machine=cga_mono
    И не надо никаких дополнительных утилит.

    ---------- Сообщение добавлено в 20:02 ---------- Предыдущее сообщение размещено в 19:44 ----------

    В случае с MESS в меню по Tab можно будет выбрать в System Configuration разные режимы... только они, похоже, не работают...
     
    AndyFox, real vision и SoftCat нравится это.
  15. Pol Kin

    Pol Kin

    Регистрация:
    20 янв 2015
    Сообщения:
    22
    Мне тоже так кажется.
    Тоже не вышло - ругается на недопустимое значение параметра.

    А вот это работает.
     
  16. yplus

    yplus

    Регистрация:
    13 апр 2006
    Сообщения:
    754
    Странно. Наверно, памяти для виртуальной видеокарты выделено много? Впрочем, раз удался способ с BWON.COM - и то славно. :)
     
  17. Pol Kin

    Pol Kin

    Регистрация:
    20 янв 2015
    Сообщения:
    22
    Может, у меня DOSBox старой версии - я им редко пользуюсь.
     
  18. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    162
    Pol Kin, давайте сделаем другую Вашу игру на Бейсике с битым спрайтом? Вы можете выложить WAV'ы?
     
  19. Pol Kin

    Pol Kin

    Регистрация:
    20 янв 2015
    Сообщения:
    22
    Выкладываю архив с wav.
    Мне удалось запустить свой пиксельный редактор, с помощью которого мы делали графику, и проверить спрайты. Все спрайты в порядке, битых нет. Но в библиотеке LIB2 записан не тот адрес загрузки по умолчанию (файл, видимо, был сохранён из редактора). Если вручную загрузить его на 6500 - игра успешно работает.

    Не работает дополнительная функция - сохранение результатов в файл. То есть, включить её можно, но она что-то портит в памяти и игра после одного полёта либо вообще вылетает, либо корявит графику. Возможно, эта ошибка в программе была и раньше (я не помню), ибо в некоторых файлах результатов на кассете оказался мусор. Мы играли обычно без неё, на саму игру она никак не влияет.
     

    Вложения:

    • Cobra.part1.rar
      Размер файла:
      8,6 МБ
      Просмотров:
      77
    • Cobra.part2.rar
      Размер файла:
      8,6 МБ
      Просмотров:
      73
    • Cobra.part3.rar
      Размер файла:
      493,4 КБ
      Просмотров:
      70
    • Cobra.txt
      Размер файла:
      490 байт
      Просмотров:
      255
    AndyFox нравится это.
  20. SoftCat

    SoftCat

    Регистрация:
    23 апр 2009
    Сообщения:
    162
    Сделал дисковый вариант для GW-BASIC'а. Все три BLOAD я поставил в начало BAS-файла. Выкладываю результат, проверьте как работает.
     

    Вложения:

    • cobra.zip
      Размер файла:
      9,9 КБ
      Просмотров:
      78
    AndyFox нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление