Зато я понял, что хотел fifan, когда говорил о раскладках MX в контроллере клавы.
Добавим еще 2 раскладки.
---------- Post added at 16:16 ---------- Previous post was at 16:15 ----------
Я сделал еще одну кнопку.
QWERTY MODE будет переключать QWERTY/ЙЦУКЕН раскладки и светится Scroll Lock-ом
MX MODE будет переключать раскладку MX и светится Caps Lock-ом
---------- Post added at 16:17 ---------- Previous post was at 16:16 ----------
А что делает кнопка ПС (или LF) ?
---------- Post added at 16:35 ---------- Previous post was at 16:17 ----------
Идеи по BIOS-у SD-контроллера.
Сейчас в MK используется библиотека PetitFAT, очень ограниченная в возможностях. А еще и тормозная. Но переделывать её некогда.
Поэтому функции BIOS я буду составлять исходя из его ограничений.
При включении компьютера, если вставлена флешка, автоматически будет загружаться файл /boot.rks.
Загрузка в память файла /boot.rks и запуск.
uchar boot();
Адрес 0D800h
Адрес памяти, куда будет загружаться файл берется из заголовка файла.
На выходе A - код ошибки. Если нет ошибки, файл запускается
Загрузка в память произвольного файла и запуск.
uchar exec(const char* fileName);
Адрес 0D803h
HL - имя файла
На выходе A - код ошибки. Если нет ошибки, файл запускается
Начать поиск файлов в папке
uchar findFirst(const char* pathName);
Адрес 0D806h
HL - имя папки и маска
На выходе A - код ошибки. 0 - если нет ошибки
Продолжить поиск файлов
ushort findNext(FileInfo* result, ushort max);
Адрес 0D809h
HL - адрес, куда записывать информацию о файлах
DE - максимальное кол-во файлов
На выходе
A - код ошибки. 0 - если нет ошибки
HL - кол-во записанных файлов
Загрузка в память произвольной области файла
ushort readFile(const char* fileName, ulong offset, ushort size, void* destAddr);
Адрес 0D80Сh
HL - имя файла
BC - адрес памяти, куда загружать.
DE - максимальная длина
PUSH - смещение в файле (32 бита)
На выходе
A - результат. 0-нет ошибки
HL - размер загруженного файла
Сохранение области памяти в произвольное место файла
uchar readFile(const char* fileName, ulong offset, ushort size, const void* srcAddr);
Адрес 0D80Fh
HL - имя файла
BC - адрес памяти, куда загружать.
DE - длина
PUSH - смещение в файле (32 бита)
На выходе
A - результат. 0-нет ошибки
+ еще 26 резервных точек входа.
* Функции сохранения в файл не могут создавать новые файлы и изменять размер существующих. А так же должны записывать данные выровненные по смещению 512 байт, длинной кратной 512 байтам.
---------- Post added at 17:19 ---------- Previous post was at 16:35 ----------
Я подумал, подумал. Во первых будет сложно засунуть 4 раскладки в 512 байт памяти, а во вторых лень их настраивать.
Я сделаю подмену клавиш в прошивке, когда включен режим MX
Отсутствующие клавиши TAB и AP2 на MX, будут заменяться на клавиши TAB (которая была ПВ) и AP2 (которая была F).
И сдвигать все клавиши верхнего ряда Специалиста вправо.
Последний раз редактировалось vinxru; 13.03.2013 в 17:48.
Драйвер Монитор-4 использует эту раскладку:
Нортон тоже. Все более старые мониторы, ЕМНИП, тоже. Драйвер от М я не знаю - не встречался. МХ использовал раскладку, показанную выше: значение функциональных клавиш сдвинуто, это верно. Но я все равно придерживаюсь раскладки из Монитора-4, это мой утёнок, увы.Код:00 01 02 03 04 05 06 07 8A 8B 8C 1F 3B 31 32 33 34 35 36 37 38 39 30 2D 6A 63 75 6B 65 6E 67 7B 7D 7A 68 3A 66 79 77 61 70 72 6F 6C 64 76 7C 2E 71 7E 73 6D 69 74 78 62 60 2C 2F 7F 81 0C 19 1A 09 1B 20 08 80 18 0A 0D
Тем не менее, напоминаю основную мысль, сказанную выше: аппаратно клавиатуры все одинаковы, разница лишь в интерпретации нескольких клавиш. Чего не скажешь за Орионовские варианты, правда?
Ага. Радио 86РК то же под УКНЦ-шную клавиатуру выпускались. Это например Электроника КР02-КР04
Два вечера пытался заставить функцию сортировки файлов работать. Работает.
vinxru, а когда будет готова прошивка под PS/2 адаптер? На следующей недели уже начну его паять.
Ок, постораюсь доделать в ближайшее время:
1) Режим MX
2) Горячее подключение клавиатуры.
---------- Post added at 10:56 ---------- Previous post was at 10:10 ----------
Сортировка, отображение информации о файле, при выходе из папки курсор позиционируется на эту папку.
0. Доделать SD BIOS
1. Надо еще расширения сделать по правому краю, отображение атрибутов.
2. Свой драйвер клавиатуры.
3. Файл привязки расширений к программам
4. Сохранение командной строки куда нибудь в ОЗУ, что бы запущенные программы могли это найти.
5. Сохранение состояние коммандера на диск, что бы при возврате из программ просмотра, можно было восстановить состояние. (Папку, положение скролла и курсора)
6. Совсем в далеком будущем, копирование, переименование, удаление файлов, удаление папок, выделение файлов, изменение атрибутов, поиск по диску, CTRL+L, изменение сортировки, разные виды панелей, определение размера папки нажатием F3
7. Программу просмотра, редактор.
8. Еще позже меню и все горячие клавиши и функции Volcov Commander.
Все это не сразу. Сначала сделаю командер в режиме read/only
---------- Post added at 12:48 ---------- Previous post was at 10:56 ----------
Как проще всего отмыть канифоль?
Последний раз редактировалось vinxru; 14.03.2013 в 13:36.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)