Цитата:
На AGD для 48K ZX Spectrum, всегда учитывайте следующие параметры:
Нижние ссылки памяти:
─ диапазон памяти, начиная с адреса 23552, зарезервирован для основных системных переменных; во избежание возможных сбоев рекомендуется размещать подпрограммы не раньше адреса 24600;
─ нижняя полезная память начинается с адреса 24600 до начального адреса проекта AGD (-1).
Верхняя ссылка на память:
─ проект AGD не может превышать адрес 64767;
─ верхняя свободная память начинается с конечного адреса проекта AGD (+1) до 64767.
Еще о верхней памяти, есть некоторые полезные сведения из официальных инструкций AGD:
На самом верху оперативной памяти последние 768 байтов от 64768 до 65535 используются в качестве фиктивной области карты столкновений, чтобы различать различные типы блоков - стены, лестницы, пустое пространство и т. Д. В конце игры для двигателя частиц используется область размером 300 байт, если вы решите использовать лазеры, паровые следы или взрывы. Этот буфер не существует в движках головоломки или эффектов.
Это понятно. Но я хочу передавать параметры процедурам через внутренние переменные A, B, C, D, E, F, G, H, I, J, K, L. Как бы узнать их адреса? Сейчас редко найдёшь игру на AGD без ассемблерных вставок. Например, в игре Doom Pit сделанной на AGD во всю используется ассемблер. В этой игре и шрифты разные( а не один), и музыка в разных уровнях разная. Получается, кто знает все тонкости устройства AGD - тот всегда игрушку сделает лучше.