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 (обычно это самая последняя строчка файла) но тогда вы лишитесь механизма контроля за выделением памяти. После всех этих изменений все программы должны будут компилироваться, и работать нормально.
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября