nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 05:57



Reply to topic  [ 3 posts ] 
Глюки Estex (Биоса) 
Author Message
Doomed
User avatar

Joined: 11 Dec 2003 14:34
Posts: 413
Reply with quote
Ниже идет список глюков, с которыми пришлось "познакомиться"
лично, за время сидения за Спринтером. Кому еще что попадалось ?.


1. Функция "Сохранить текущий путь" (1Eh) имеет недостаток:
а) При сохранении корневого пути запоминает символ "\".
б) Но в то же время, при сохранении не корневого пути,
не ставит в конце строки символ "\".
Нужно привести к какому-то одному формату.

2. Функция "Закрыть файл" (12h) не закрывает файл, если он расположен (был открыт/создан) не в тек. пути. Приходится принудительно устанавливать диск и путь расположения закрываемого файла и только после этого его закрывать ;(.
Функция должна бы брать все данные о файле из его дескриптора, чего она не делает.
Важное замечание!: Доработать DSS, чтобы система не трапалась (ее функции), при переполнении макс. числа (9 ?) открытых дескрипторов.

3. Функция "Удалить файл" (0Eh) имеет недостаток:
Удаляет файл в тек. каталоге, при формате записи "prog.bin", но не удаляет файл, указанный с диском и путем расположения, например
"a:\test\prog.bin".

4. Функции опроса клавиатуры (30h,31h,..) не выдают признак (7,6 биты регистра "B") нажатия "Shift" для клавиш "Home","End","PgUp",
"PgDn" и клавиш управления курсором. У спец. клавиш, признак нажатия "Shift" (биты 7,6) выдается только для F1..F12.

5. Не происходит скроллинг экрана, когда идет "переполнение" последней 32-й строки и 80-й символ - не код завершения строки. Происходит просто переход в начало первой строки экрана, с продолжением вывода строки (с наложением на старые данные экрана).

6. Estex не корректно работает с VFAT (которая фактически и используется в Виндах). Трабл в следующем. Если в имени файла присутствует хотя бы одна строчная (маленькая) буква, то для такого имени Винда создает в каталоге две записи: первая для длинного имени, вторая - имя формата 8.3. Т.е. на одно имя файла в каталоге имеется две записи. Если файл с таким именем удалить в Estex, то будет удалено (помечено удаленным) только вторая запись файла, имеющая формат 8.3, а первая запись останется не удаленной.
p.s. Эта ошибка легко исправляется нортоновским "ndd" или др. утилитой проверки логич. структуры диска.
Если имя файла состоит только из одних прописных (больших) букв, то Винда создает в каталоге лишь одну запись для имени файла (как MS-DOS до v6.22 включительно). Такой файл корректно удаляется Estex.
Вывод: Для корректного удаления файлов под ОС Спринтера, их имена должны содержать только прописные буквы.

_________________
Vasil Ivanov
vasil-i@yandex.ru


19 Feb 2004 14:36
Profile
Doomed
User avatar

Joined: 11 Dec 2003 14:34
Posts: 413
Reply with quote
Глюки и недостатки ДОС (Биоса)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Дата: 29.04.2004


1. Функция "Сохранить текущий путь" (1Eh) имеет недостаток:
а) При сохранении корневого пути запоминает символ "\".
б) Но в то же время, при сохранении не корневого пути,
не ставит в конце строки символ "\".
У MS-DOS такой же глюк, но это не меняет "погоду" ;). Нужно привести
к какому-то одному формату.

2. Функция "Закрыть файл" (12h) не закрывает файл, если он расположен
(был открыт/создан) не в тек. пути. Приходится принудительно устанав-
ливать диск и путь расположения закрываемого файла и только после этого
его закрывать ;(. Это происходит из-за того, что DSS текущей реализации
позволяет коppектно pаботать только в пpеделах одного диска. Т.е. пеpед
закpытием файла, текущим диском должен быть тот, где этот файл находится.
Важное замечание: Доработать DSS, чтобы система, в определенных случаях,
не трапалась при переполнении макс. числа (9) открытых дескрипторов.

3. Функция "Удалить файл" (0Eh) имеет недостаток:
Удаляет файл в тек. каталоге, при формате записи "prog.bin", но не уда-
ляет файл, указанный с диском и путем расположения, например:
"a:\test\prog.bin".

4. Функции опроса клавиатуры (30h,31h,..) не выдают признак (7,6 биты
регистра "B") нажатия "Shift" для клавиш "Home","End","PgUp","PgDn" и
клавиш управления курсором. У спец. клавиш, признак нажатия "Shift"
(биты 7,6) выдается только для F1..F12.

5. Не происходит скроллинг экрана, когда идет "переполнение" последней 32-й
строки и 80-й символ - не код завершения строки. Происходит просто пере-
ход в начало первой строки экрана, с продолжением вывода строки (с нало-
жением на старые данные экрана).

6. Estex не корректно работает с VFAT (которая фактически и используется в
Виндах). Трабл в следующем. Если в имени файла присутствует хотя бы одна
строчная (маленькая) буква, то для такого имени Винда создает в каталоге
две записи: первая для длинного имени, вторая - имя формата 8.3. Т.е. на
одно имя файла в каталоге имеется две записи. Если файл с таким именем
удалить в Estex, то будет удалено (помечено удаленным) только вторая за-
пись файла, имеющая формат 8.3, а первая запись останется не удаленной.
p.s. Эта ошибка легко исправляется нортоновским "ndd" или др. утилитой
проверки логич. структуры диска.
Если имя файла состоит только из одних прописных (больших) букв, то Винда
создает в каталоге лишь одну запись для имени файла (как MS-DOS до v6.22
включительно). Такой файл корректно удаляется Estex.
Вывод: Для корректного удаления файлов под ОС Спринтера, их имена должны
содержать только прописные буквы.

7. При включенном в Биосе пункте "System Disk: 1-st FDD" и при отсутствии
дискеты в дисководе, в некоторых случаях не сбрасывается обращение к дис-
ководу.

8. Нет биосной функции "54h" (DRV_VERIFY) верификации секторов, описанной в
документации. Поэтому она всегда возвращает установленный флаг "Carry".

9. Доработать функцию "32h" (DSS_ECHOKEY), чтобы нормально мигал курсор.

10. Функции ДОС 0Ah (Create) и 0Bh (Create new file) перед созданием файла
не проверяют число уже открытых дескрипторов. При переполнении числа
открытых дескрипторов, эти функции все-равно создают запись нового файла
в каталоге, хотя и выдают признак ошибки.
Эти функции также не отслеживают имя файла на недопустимые символы. Если
имя файла содержит недопустимый символ - функции просто "зависают".
Такая ситуация с именами файлов может возникнуть например при автомати-
ческом создании имен.

_________________
Vasil Ivanov
vasil-i@yandex.ru


29 Apr 2004 13:23
Profile
God
User avatar

Joined: 03 Feb 2003 13:53
Posts: 1078
Reply with quote
Post 
Борисов в известность поставлен


29 Apr 2004 15:20
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: No registered users and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.