PDA

Просмотр полной версии : BASIC + Paged memory



valker
11.05.2007, 15:50
Можно ли работать со страничной памятью из Бейсика?
Что я имею в виду:
1. настроить область программ так, чтобы программа, переменные и стек лежали ниже 0xC000
2. переключать страницы через бейсиковский OUT

Вопросы:
1. Это реально?
2. Если да, то кто-нибудь, где-нибудь так делал?

Sonic
11.05.2007, 16:04
1. CLEAR 49151
2. Можно.

Делал или нет в реально существующих продуктах - я не знаю. Но это возможно и проблем с этим нет.

GriV
11.05.2007, 18:24
Когда я копал ещё магнитофонную версию Neverending Story там был бейсик загрузчик который сам щёлкал страничками. Как уже правильно было отмечено это сопровождалось CLEAR ниже #C000 (49152 т.е.).
Он выбирал страничку и грузил туда данные - музыку, код, графику и т.д.
Активизация страничек была следующим образом: в системную область (C_PAGE вроде) записывался номер нужной странички, далее шёл прямой бейсиковский OUT 32765,<номер_странички> и уже стандартный LOAD "" CODE.

Т.е. ответ - да, подружить можно, и фирменные игры так делали. Другой вопрос зачем это бэйсику надо...

Sonic
14.05.2007, 10:13
Активизация страничек была следующим образом: в системную область (C_PAGE вроде) записывался номер нужной странички, далее шёл прямой бейсиковский OUT 32765,<номер_странички> и уже стандартный LOAD "" CODE.

Ах, да, это если мы работаем в 128 бейсике, иначе он будет иметь тенденцию щелкать страничку обратно. Для 48 бейсика переменную устанавливать не надо.

Nomy Graphics
15.05.2007, 11:19
а адресочек этой переменной никто не подскажет?

Sonic
15.05.2007, 14:17
#5B5C