Принял, смотрю.
Музыкальный файл ты дизассемблировал полностью, чтобы без запарки иметь его в исходном файле.
Это рациональная идея. Только в следующий раз, когда будешь дизассемблировать, поставь галочку "в виде DEFB" (в EmulZWin "As Data Block"). Так будет надёжнее. Ибо кто его знает, вдруг попадётся код, синонимичный другому коду, и после туда-сюда-ассемблера, код изменится. Или недокументированная команда какая нибудь попадётся, которую дизассемблер не прожуёт...
Оказывается я ошибся, когда решил, что поставив метку LastAddr в конец кода, мы получим действительно конец кода. Дело в том что LikePascal после этой метки запишет свои внутренние подпрограммы. Так что метка LastAddr не будет нам показывать место, за которым свободная память. Сейчас я собираюсь переписать свой Im2Init, чтобы таблица прерываний лежала внутри тела программы.
И ты зря закомментировал asm(MUSINIT);. Он нужен конечно! Andrew771 тебе не глядя посоветовал, у него опыт работы с другим музыкальным редактором, так что в этом вопросе не полагайся на него.
- - - Добавлено - - -
Andrew771, В будущих версиях можно было-бы предусмотреть особую метку в конце программы, чтобы после неё выделять свободную память.






Ответить с цитированием