По AGD у нас спец @kas29
Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.
Seamos realistas y hagamos lo imposible!
Ernesto Che GuevaraПереехал сюда: SteinBlume (ex ATM CP/M Explorer)
http://era-cg.su
jerri, у меня два руководства на русском, но ни в одном не освещён вопрос использования ассемблера, хотя я видел игры, где ассемблер применяют.
¡Un momento, señor fiscal!
Насколько я знаю, в оригинальном AGD нельзя:
- использовать ассемблерные вставки,
- подключать музыку из самого AGD (решается с помощью сторонней утилиты).
Однако, на данный момент имеется куча форков (модификаций/ответвлений), в том числе и AGD на PC (результат само собой будет для спектрума, а разработка на PC). Возможно, какая-то из неоригинальных версий умеет и вставки, и музыку.
Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.
Seamos realistas y hagamos lo imposible!
Ernesto Che GuevaraПереехал сюда: SteinBlume (ex ATM CP/M Explorer)
http://era-cg.su
Black Cat / Era CG, можно через коммаду asm.
https://www.funspot.it/agd-asm-calls/
Осталось только понять что к чему.
¡Un momento, señor fiscal!
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
А. Ну там написано.
В общем это по сути маш. код. 205 - опкод команды CALL, 80 и 195 - это 80+195*256=50000. То есть CALL 50000.Код:ASM 205 ASM 80 ASM 195
- - - Добавлено - - -
Техника такая. Пишем игру на AGD (следим чтобы место осталось). Пишем процедурки на асме, ассемблируем их, запоминаем адреса. Подгружаем их в загрузчике до запуска самой игры. А в AGD игре вызываем их в нужных местах, как в примере.
Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.
Seamos realistas y hagamos lo imposible!
Ernesto Che GuevaraПереехал сюда: SteinBlume (ex ATM CP/M Explorer)
http://era-cg.su
Black Cat / Era CG, через гугл перевёл сведения о свободных участках памяти для ассемблерных процедур.
Это понятно. Но я хочу передавать параметры процедурам через внутренние переменные A, B, C, D, E, F, G, H, I, J, K, L. Как бы узнать их адреса? Сейчас редко найдёшь игру на AGD без ассемблерных вставок. Например, в игре Doom Pit сделанной на AGD во всю используется ассемблер. В этой игре и шрифты разные( а не один), и музыка в разных уровнях разная. Получается, кто знает все тонкости устройства AGD - тот всегда игрушку сделает лучше.На AGD для 48K ZX Spectrum, всегда учитывайте следующие параметры:
Нижние ссылки памяти:
─ диапазон памяти, начиная с адреса 23552, зарезервирован для основных системных переменных; во избежание возможных сбоев рекомендуется размещать подпрограммы не раньше адреса 24600;
─ нижняя полезная память начинается с адреса 24600 до начального адреса проекта AGD (-1).
Верхняя ссылка на память:
─ проект AGD не может превышать адрес 64767;
─ верхняя свободная память начинается с конечного адреса проекта AGD (+1) до 64767.
Еще о верхней памяти, есть некоторые полезные сведения из официальных инструкций AGD:
На самом верху оперативной памяти последние 768 байтов от 64768 до 65535 используются в качестве фиктивной области карты столкновений, чтобы различать различные типы блоков - стены, лестницы, пустое пространство и т. Д. В конце игры для двигателя частиц используется область размером 300 байт, если вы решите использовать лазеры, паровые следы или взрывы. Этот буфер не существует в движках головоломки или эффектов.
О! Всё нашёл!
https://www.funspot.it/peek-and-poke-in-agd/
- - - Добавлено - - -
ZX_NOVOSIB, ну ты можешь посмотреть что сделано и внести свои предложения, например, по сценарию игры или найдёшь похожие игры для примера оформления игрового мира.
Последний раз редактировалось Smalovsky; 15.02.2020 в 00:59.
¡Un momento, señor fiscal!
goodboy, на стандартном движке так не сделать. Эффектов много.
¡Un momento, señor fiscal!
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)