PDA

Просмотр полной версии : Ассемблер z80 и RAM



moronizzz
18.07.2016, 22:33
Здравствуйте,

Пожалуйста, подскажите, какую область памяти "правильно" использовать для хранения данных в случае например кодирования под ZX Spectrum 48k? В большинстве примеров используется "addr", или "address", вместо конкретных адресов. Пишут, что всё от 0x5CB6 до 0xFFFF доступно для использования, но каждый блок адресов для чего-то используется. Нужно использовать место между RAMTOP и UDG? Или сразу ниже RAMTOP и идти вниз? Или вверх от 0x5CB6 (после system variables)? Или место между STKEND и адресом на который указывает SP?

SAM style
18.07.2016, 23:38
Обычно между RAMTOP и FFFF. В загрузчике делается CLEAR на адрес расположения кода минус один. Например, код с 32768 = CLEAR 32767, а потом загружаем код с 32768.
Если не пользоваться процедурами ПЗУ, которым нужны системные переменные, то можно занимать всю память с 0x5B00 до 0xFFFF (адреса 0x4000..0x5AFF отведены под экран)

PATHNK
19.07.2016, 10:20
Также учитываем, что видео память работает медленнее чем обычная с 0x8000.
Плюс нюансы страниц памяти 128К модели, которые здесь обсуждались не раз.