|
Scenergy
#02
31 декабря 1999 |
|
Coding - Комментарии к исходникам, опубликованным в Scenergy #1

Комментарии к исходникам,
опубликованным в Scenergy #1
Как вы, наверняка, помните - в Scenergy#1
были опубликованы несколько исходников в
качестве приложения к статьям из раздела
Coding. Перед публикацией я проверил все
исходники - они компилируются и работают
прекрасно. Однако недавно я узнал, что у
некоторых людей возникли проблемы с
запуском этих программ. Оказалось, что я
просто забыл дать необходимые пояснения.
Итак, для всех кто пытался компилировать
и запускать исходники из архивов MusSinc.Z
и BumpSRC.Z и у кого они глючили, поясню,
что вам нужно выполнить 3 условия, прежде
чем они заработают нормально.
1) Установить стек по адресу #5FFF. По
умолчанию в TASM'е он установлен на #61A8,
а я во всех своих программах использую
память, начиная с адреса #6000 и поэтому у
себя я исправил в BASIC загрузчике TASM'а
CLEAR VAL "24999" на CLEAR VAL "24575". И
вам советую сделать то же самое. После
этого исправления исходники из архива
BumpSRC.Z должны нормально заработать.
2) В исходниках интро из архива MusSinc.Z
я использовал директиву TASM'а .PAGE, для
того чтобы подгрузить в страницы нужные
мне данные. Это удобно если у вас стоит
512кб памяти и TASM сидит в верхней памяти
(как у меня). Однако если же у вас 128кб и
TASM сидит внизу - то ни к чему хорошему
такие подгрузки не приведут. Поэтому вам
надо закомментировать подгрузку музыки в
страницу (строки 78-80 файла INTRO.A) и
после компиляции вручную из STS подгрузить
музыку (файл P.VISION.C) в банк #16 по
адресу #C000 (задаются метками MUSIC_PAGE
и MUSIC соответственно. Метки определены в
файле RES_EQUS.A).
3) В файле MEMORY.A, в самом конце стоит
следующая конструкция:
.PAGE #57
ORG #FEE4
DEFW START_ADR
ORG #FEFE
DEFW START_ADR
.PAGE #10
ORG START_ADR
Она "патчит" STS чтобы при входе в нее
адрес запуска соответствовал стартовому
адресу программы.
Однако проблема в том, что у меня STS
сидит в верхней памяти (да еще использует
собственный экран :) ) и банк, в котором
она расположена, задан здесь числом:
.PAGE #57
Обычно же STS сидит в банке #17, так что
здесь просто необходимо поправить номер
банка STS на тот в который вы этот STS
грузите.
Можно также просто закомментировать во
всех исходниках вызов макроса DISPLAY_INFO
(обычно это самая последняя строчка файла)
но тогда вы лишитесь механизма контроля за
выделением памяти.
После всех этих изменений все программы
должны будут компилироваться, и работать
нормально.
Другие статьи номера:
Похожие статьи:
В этот день... 13 ноября