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

Scenergy #02
        Комментарии к исходникам,
       опубликованным в 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
(обычно это самая последняя строчка файла)
но тогда вы лишитесь механизма контроля за
выделением памяти.

 После  всех  этих изменений все программы
должны  будут  компилироваться, и работать
нормально.