PDA

Просмотр полной версии : Стандарт на размещение данных в CMOS



Prusak
28.03.2005, 14:42
А существует ли стандарт на размещение данных в ячейках памяти CMOS-часов (ячейки 14-63)? Тот же Quick Commander использует несколько ячеек CMOS-памяти под свои нужды. Если стандарта нет, то не мешало бы как-то определиться с этим вопросом, чтобы, напрмер, я мог в своих программах использовать несколько ячеек CMOS-памяти без риска убить их при использовании других программных подуктов, которые тоже хранят какие-то настройки в CMOS-памяти.

Spectre
28.03.2005, 17:55
А существует ли стандарт на размещение данных в ячейках памяти CMOS-часов (ячейки 14-63)? Тот же Quick Commander использует несколько ячеек CMOS-памяти под свои нужды. Если стандарта нет, то не мешало бы как-то определиться с этим вопросом, чтобы, напрмер, я мог в своих программах использовать несколько ячеек CMOS-памяти без риска убить их при использовании других программных подуктов, которые тоже хранят какие-то настройки в CMOS-памяти.

Вот выдержки из моей (Andrey Bogdanovich) переписки с Pawel Kislyak (RealSoft) и Dima Bystrov (Alone Coder) на эту тему:

---------------------------------------------------
DB>> в QC используется CMOS? какие ячейки и подо что?
AB> QC и RC используют одинаковые ячейки:

AB> #10 - Drive (0-2 биты)
AB> #15 - Config
AB> #16 - Cursor (1..128, то есть на единицу больше реального)

Раскладка RC и QC 4.00 (в 3.10 немного не так):

PK>>>> ----------------------------------------------
PK>>>> Конфигурация панелей:
PK>>>> биты 0-2 дисковод пассивной панели
PK>>>> бит 3 - вкл-на ли Basic маска на актив.панели
PK>>>> бит 4 - ... Basic маска на пассивной панели
бит 5 - чей конфиг: 0 - RC, 1 - QC
PK>>>> бит 6 - какая панель активна
PK>>>> бит 7 - информация вкл/выкл (в QC не используется)
PK>>>> ----------------------------------------------

DB> thanx for info :) а теперь скажи, какой умник вам обоим посоветовал
DB> использовать ячейки #15 и #16, в которых аж с 1997 года
DB> документированно сидит
DB> надпись для Gluk Reset Service? :)))

> Озу пользователя мною частично использовано:
> #0E - режим запуска boot'ов (48/128/вся память)
> #0F - сейчас не использую (в ранних версиях был атрибут часов)
> #10 - номер дисковода
> #11 - байт #АА - контроль наличия м/с и необходимости вывода
> часов. Кнопка "9" в Глюке инвертирует этот байт
> #12 - флаг "user message", если = "G", то вместо стандартного
> "MR GLUK RESET SERVICE V5.1" будет выводится мессага из часов.
> Она начинается с адреса #13 и заканчивается байтом #ff, длина
> не более 30 байт, контрольные коды не допускаются (будут взяты
> из пзу-шного знакогенератора и выведены).

PK> Эти ячейки использованы с благословления народа в REAL.SPECCY и
PK> ZX.SPECTRUM. Почитал что в Gluk reset service они используются для
PK> хранения строки текста выводящегося при старте, ну не изврат ли?
PK> Забивать драгоценную память CMOS текстом? Пусть Alco просто уберёт
PK> это из Gluk reset service.

AB>>>>> Хороший ответ. :) Я, кстати, подумываю маску в CMOS сохранять.

PK>>>> Ну это из той же оперы :), в крайнем случае только однобуквенное
PK>>>> расширение маски. Я сохраняю только Basic маску и этого вполне
PK>>>> достаточно.

AB>>> Слушай, а кто успел наложить лапу на распределение CMOS ячеек?
AB>>> Кроме Gluk'а много еще утилит активно юзающие CMOS память?

PK>> Я таких не знаю. На компах с HDD типа Scorp'ов там вроде хранится
PK>> инфа об устройствах.

AB> Это да, но из всей доки на SMUC что у меня есть, нигде нету описания
AB> ячеек. Можно было-бы на него ориентируясь сохранять в CMOS'е маску не
AB> обращая внимания на AlCo (он если что переделает свой Gluk, да и не так
AB> уж много народу им пользуются).

PK>А ты спроси, надо ли это кому-нибудь. Я за всё время юзания RC
PK>маской файла наверно воспользовался всего пару раз, использовал
PK>в основном маску расширения. К тому же у меня есть быстрый поиск.

Prusak
29.03.2005, 09:32
Можно использовать в качестве CMOS-часов микросхему DS12887 (или DS12887A) - у нее объем памяти 128 байт против 64 байт в КР512ВИ1 и использовать под свои нужды ячейки 64-127, а основной массив оставить под все остальные программы.