23348-23383 ?
23348-23383 ?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Это надо было упомянуть в стартовом посте. NMI_ADD нужна для выставления собственной процедуры обработки немаскируемого прерывания. Но из-за ошибки в ПЗУ она не используется. Так что, если не планируется использование немаскируемого прерывания, или, как минимум, перехват его обработчика после исправления ошибки в ПЗУ, её можно юзать.
P_RAMT - указатель на адрес верха физического ОЗУ. Естественно, на исправной машине от 48к в ней всегда #FFFF. Используется она командой CLEAR. Может, теоретически, использоваться расширителями Бейсика.
Теоретически, можно использовать память в переменных каналов/потоков, если достаточно плотно с ними поразбираться. А вот системные переменные калькулятора трогать точно не стоит.
Я занимался расширением ПЗУ в своё время. Для своих задач я использовал под переменные верх буфера принтера. Да, программы могут затирать его, но для моих целей это было некритично.
Имейте ввиду, некоторые программы используют содержимое ПЗУ для декодирования своих загрузчиков, а некоторые тесты - для расчета контрольных сумм, так что расширение фирмвари ВСЕГДА ведет к некоторой потере совместимости.
Кроме того, и это более важно, очень много программ использует свободное место в ПЗУ как таблицу векторов прерывания IM 2 (сходу вспомню Bomb Jack и Rambo). Допись туда своего кода ведет, естественно, к потере работоспособности этих программ - с этим столкнулись пользователи клонов с расширенным ПЗУ, а также пользователи оригинальных +2А/+3. Частично проблему можно решить, оставляя байты #FFFF хотя бы по адресам #3XFF-#3XFF+1, т.к. на исправной машине без подключенной редкой периферии (AMX Mouse) на шине данных в момент прерывания всегда #FF.
А ещё некоторые программы используют проверку содержимого свободной области для выяснения, запущена ли программа под 48к или 128к (использующем свободную область ПЗУ Бейсика 48), и принятия решения, проигрывать ли музыку на бипере или AY, в частности Golden Axe и Exolon. Соответственно, при запуске таких программ на 48к с измененным ПЗУ мы остаемся без музыки.
Последний раз редактировалось Spectramine; 29.04.2018 в 08:11.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)