Автор Тема: Про упаковщик "Sledge Hammer"  (Прочитано 610 раз)

Оффлайн jaws

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 10194
  • Karma: +504/-0
    • Просмотр профиля
Про упаковщик "Sledge Hammer"
« : Февраль 14, 2014, 07:29:54 pm »
По просьбе трудящихся :) выкладываю небольшие пояснения по использованию данного упаковщика:

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





Упаковка нескольких файлов подразумевает изменение загрузочных адресов программ.



Также важной вещью является соблюдение стартового адреса упаковываемой программы и понимание того, какое указать значение для 1-ого регистра. Но если Вы собираетесь упаковывать уже готовую программу написанную в ассемблере без изменения RAM и ROM, то выше приведённый пример Вам подойдёт.
« Последнее редактирование: Февраль 14, 2014, 07:44:56 pm от jaws »

Оффлайн crazy_bender

  • Jr. Member
  • **
  • Сообщений: 62
  • Karma: +6/-0
    • Просмотр профиля
Re: Про упаковщик "Sledge Hammer"
« Ответ #1 : Февраль 15, 2014, 10:27:21 am »
спасибо за ответ ))) но я делал также но почему то не работало.  попробую еще раз с тем же файлом и если не получится то выложу здесь и сам паковщик и файл.

Оффлайн jaws

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 10194
  • Karma: +504/-0
    • Просмотр профиля
Re: Про упаковщик "Sledge Hammer"
« Ответ #2 : Февраль 16, 2014, 09:34:12 am »
Выкладывай - разберёмся, что за заморочка. Кстати, хочу сразу предупредить, что с бейсик программами такой вариант не проходит никак, их нужно сначала упаковать, чтобы прога стартовала именно с SYS ХХХХ и финалом 3 это тоже не делается - пробовал, подходит вариант запуска бейсик программы и моментальная "заморозка" - "freeze" картриджем action replay. Если нужна просто упаковка одного файла, то лучше всего пользоваться упаковщиками или фризерами именно картриджей.
Sledge hammer интересно использовать для упаковки нескольких файлов, но при этом не надо забывать, что в программу должен быть вмонтирован адресный переносчик, т.е. примерно так:
- ты упаковал две игрушки в один файл
- сделал стартовое меню для выбора одной из них
- после выбора конкретной игры сначала переход идёт к адресу переносчика, затем он её (игру) переносит на правильный адрес и с него же (переносчика) идёт старт программы, т.е. переход по адресу.

Чтобы проще было, напишу цифрами:
1- Сначала стартует твоё меню.
2- Две игры стартуют с адреса $080d (2061), могут быть и разные адреса, но тогда в программе меню нужно написать строчку на изменение адресов в переносчике. При этом с какого адреса переносить в любом случае надо прописывать по результатам выбора.
3- Меню записано с адреса $0801, игра1 - $2000, игра2 - $6000 (но их стартовые адреса $080d)
4- После выбора 1 или 2 идёт переадресация на переносчик, в котором указано с какого адреса ($2000 или $6000) начинать перенос и на какой адрес переносить.
5-нужная программа переносится на свои правильные адреса и стартует с указанного адреса - $080d

Ещё проще упаковывать несколько файлов, которые записаны со своих правильных адресов(с которых и стартуют), т.е. тебе нужно просто собрать кучку файлов в один без изменения адресов загрузки.

Т.е. к примеру, ты написал некоторое кол-во подпрограмм в турбо ассемблере и тебе их надо собрать в одну программу - они все записаны со своих стартовых адресов, выбираешь по порядку свои файлы в sledge hammer и упаковываешь в один - очень удобно.
« Последнее редактирование: Февраль 16, 2014, 09:50:45 am от jaws »