Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> !!! MS-DOS source code... 
:(
    Опции темы
Zigmund
  Дата 27.4.2002, 12:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











люди! не дайте мне погибнуть!
разыскиваю сиходный текст MS-DOS 6.0/6.22. Поскольку нужно разобраться с некоторыми недокументированными возможностями!
Я знаю, что есть сие в наличие на диске "CDBOOM! Виртульная библиотека прогаммиста: исходники, документация...".
У нас в городе такого диска не нашлось вообще. Вот поэтому и прошу ВАС, у кого есть исходники ДОСа, написать мне!
Поверьте, ЭТО меня спасет!
Заранее спасибо. 
  Вверх
Chingachguk
Дата 27.4.2002, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва




Извини, что немного не в тему вопроса, но на старом форуме был сходный вопрос и на него никто _исходниками_доса_ не ответил ...

Поэтому хочу задать вопрос: а так ли нужны все исходники ? Почему нельзя анализировать код в отладчике ? Вряд ли ты хочешь вернуть работу с файлами в 6.22 к FCB вместо дескрипторов, верно ? ;) Некоторые "недокументированные" возможности кое-где уже описаны, например я читал про плюху с вызовом "CALL 5" ...


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Zgimund
  Дата 27.4.2002, 22:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Однако, дело обстоит не так. Я получил работающий драйвер консоли (дос 6.22). и тама прячутся два места о которых я понятия не имею.
Например до сих пор не видел толкового описания ax=4100h int15h.... типа ожидание события от внешнего устройства по маске.... :)
можно поговорить по этому поводу, да надо, ведь в другой раздел форума бегти... :)

спасибо за ответ.... Вы - первый...  :huh
  Вверх
Chingachguk
Дата 27.4.2002, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва




Из Ральфа Брауна. Может, поможет ;)

Цитата

--------B-1541-------------------------------
INT 15 - SYSTEM - WAIT ON EXTERNAL EVENT (CONVERTIBLE and some others)
AH = 41h
AL = condition type (see #0367)
BH = condition compare or mask value
BL = timeout value times 55 milliseconds
   00h means no timeout
DX = I/O port address if AL bit 4 set
ES:DI -> user byte if AL bit 4 clear
Return: after event or timeout occurs
Note: call AH=C0h and examine bit 3 of feature byte 1 to determine whether
 this function is supported
SeeAlso: AH=83h,AH=86h,AH=C0h

Bitfields for external event wait condition type:
Bit(s) Description (Table 0367)
0-2 condition to wait for
0 any external event
1 compare and return if equal
2 compare and return if not equal
3 test and return if not zero
4 test and return if zero
3 reserved
4 1=port address, 0=user byte
5-7 reserved


PS Извиняюсь, не совсем понял, Вы имеете исходник драйвера, но не понятна часть его кода ?...


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Zigmund
  Дата 28.4.2002, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.4.2002




Именно так дело и обстоит. Я не совсем понимаю некоторый участок кода(строк 10). А что пишет Ральф Браун я знаю, а вот конкретнее... что это за ивент, от чего, как происходит ожидание...

предлагаю Вам на рассмотрение именно непонятный кусок кода (функция Nondestructable Read) откуда станет ясно, что мне дейчтвительно необходимы эти исходники для точного описания процессов:


       mov    al,byte ptr XSAV         ;- проверка введенного ранее символа
       or     al,al
       jne    @возврат_символа
       mov    ah, 11h
       int    16h
       jne    @символ_в_буфере_клавы_есть_извлечь_его_и_возвратить

;--------------[ICH WEiB NICHT, WAS DAS IST!]

;       cmp    byte ptr [0079h],00h
; 70h:79h - адрес где-то в районе заголовка COM1 ?????!
; зачем туды смотреть, ведь там всегда ноль, либо мне неизвестны случаи
;когда там что-то иное
       or     ax,ax
       jne    @возврат_символа
       les    bx,[RHPtr] ; - заголовок "запроса"
       test   es:word ptr [bx+03],0400h
;^^^^^ проверка слова статуса  на 11-ый бит (но почему-то "резервед"???!;)
       je     @set_status

       mov    ax,4100h
       xor    bl,bl
       int    15h
;^^^^^^^^^ не могу понять зачем енто. Для реакции на CTRL-C?
@set_status:
       mov    ah,83h ; -set busy & done
       mov    es:[di+3],ax    ; store status into request header
       ret
......................................."скиппед"


Спасибо...
PM MAIL   Вверх
Chingachguk
Дата 28.4.2002, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва




Я посмотрю повнимательнее и отпишу, если что в голову придет ;)


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Chingachguk
Дата 30.4.2002, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва




Я вот прочел в книге П. Нортона "IBM PS и PS/2" такую фичу:

Ловушки ROM BIOS

В PS и PS/2 ROM Bios предоставляют ряд "ловушек". Эти ловушки реализованы в виде "служб" прерывания Int 15h, Однако для того, чтобы использовать их, вы должны написать подпрограмму-обработчик прерывания int 15h {...}

mov ah,ServNumber ; Выполняется внутри BIOS
...
UserHandler proc far ; <- вектор int 15h
cmp ah,ServNumber
jz Service
jmp Old15hHandler
Service:
...
iret

Фишка в том, что хватая сервис int 15h, ты ловишь момент передачи управления биосом на один из его базовых сервисов и можешь его тем самым расширить. Если я правильно понял, конечно.

Что в твоем случае ? Я бы посмотрел, не ловит ли твой драйвер int 15h, и вообще кто там сидит на нем реально.

Вот ;)


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.1263 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.