(с)Highlander (Max Melnikov, 500:3432/13). +----------------------------------------+ + Системное ПЗУ Кворума, плюсы и минусы. + +----------------------------------------+ Начну сразу, без рaссусоливaний. K плюсам можно отнести: - Загрузчик с диска по сбросу (CP/M или TR-DOS) - В 48 режиме настройка BASIC ПЗУ (фирменное/кворумовское, работа с лентой normal/turbo) - Встроенные тесты (память, магнитофон, цвета, сопроцессор) - NMI сервис Минусы: - При определении TR-DOS диска происходит запуск TR-DOS`a в 48-ом режиме. - Тест памяти не тестирует первые 8 кБ пятой страницы, стек находится в нетестируемой части пятой страницы, и активно используется. - При NMI на стек ложатся: адрес возврата (с этим ничего поделать низя, т.к. этим заведует процессор), регистры AF, ВС, DE, HL. Если в памяти нет резидента, практически полностью убивается 6-я страница и возврат в прерванную программу только в 48-ом режиме. Я пишу альтернативную прошивку, коротко о том что в нее будет входить: - Тест всей памяти. - Загрузка с диска, причем если определится TR-DOS дискета, будет менюшка, в которой выбирается вариант запуска (TR-DOS 48/128, или встроенный boot 48/128). Если диск нестандартный (не TR-DOS и не CP/M) считается, что диск с автозапуском, выбор только TR-DOS 48/128. - Если ПЗУ объемом 128 кБ, то будет ROM диск на 64 кБ (что туда записать еще не знаю) - По NMI переход на резидент если он есть, если нет, то нечто типа MagOS`a на скорпе (6 128-х програм если 1 МБ, 2 если 512, если 256 то ни одной). Так же можно будет скинуть три седьмых страницы (типа там STS, HELP Рощина, еще че-нить) - Если стоит CMOS то в нем сохраняются все настройки. Тут некоторые граждане не знают как прибить STD (теневик, на NMI резидентом висящий), Дык очень просто: XOR A LD ВС,#7FFD OUT (#00),A LD A,#40 OUT (C),A XOR A LD (#C066),A LD A,#10 OUT (C),A LD A,#A8 OUT (#00),A и все, STD не вызозовется, только после этой процедурки будет вкюченa 0-я страница, a комп в 128-ом режиме. Чтобы (вдруг кому надо) получить 48-ой режим, в строке LD A,#A8 нужно заменить #A8 на #Е8 (зaблокируется порт #7FFD).