Именно его я и использую в эмуляторе, в архиве с сайта Пыхонина с несколькими мониторами он помечен как "стандартный".
Вид для печати
Зато я понял, что хотел fifan, когда говорил о раскладках MX в контроллере клавы.
Добавим еще 2 раскладки.
http://s019.radikal.ru/i607/1303/cf/1649f837657a.png
---------- 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).
И сдвигать все клавиши верхнего ряда Специалиста вправо.
Драйвер Монитор-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 ----------
Сортировка, отображение информации о файле, при выходе из папки курсор позиционируется на эту папку.
http://s019.radikal.ru/i616/1303/4b/3ff9de5d3624.jpg
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 ----------
Как проще всего отмыть канифоль?