Welcome to eComStation.RU site!

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:
telegram

Форум обсуждение

telegram

Send message

telegram

+7-981-8529467 (Санкт-Петербург)

telegram

t.me/os2guru

eComStation.RU


ru · en · de · es · it · pt · cz · pl · fr
OS/2 - это совершенно другая операционная система для PC (ArcaOS, eComStation, IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
Что такое OS/2?  Новости  Установка  Обновление  
 
 
Применение  Будущее  Сообщество  Купить  
(Карта сайта)

 
 

Отчет: OS/2 совместимое оборудование

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

eCo Software Developer Connection


About DevCon
Subscription to DevCon
Budget of DevCon
FAQ


Roadmap
eCo Software runtime
eCo Software toolkit
Contacts

  Вы можете перевести эту страничку на русский язык
Присылайте готовый текст через веб-форму

Development of device drivers

Detailed information:

Template of 32-bit driver for eComStation

Download eCo Software simple 32-bit driver.
  • 32-bit driver
  • interaction with ACPI driver

KEE interface

To develop modern drivers you should use DevHlp, KEE interfaces. Read DDK, pddref.inf for details.

Tutorials

Suspend/resume

eCS supports suspend/resume for one-core and multi-core desktops and notebooks. You can use APM interface (read DDK -> in_out.inf, Input/Output Device Driver Reference) or hidden kernel function SaveRestore()

/*
*  Function SaveRestore
* @pkt     standard drivers packet
* @return  None
* Note: This function is undocemmented in pddref.inf
*/
void
SaveRestore(
    PRPSAVERESTORE pkt)
{
    PrintDevCall((PRPH)pkt, "SaveRestore");
    if (PSD)
    {
        PSD->AcpiOsPrintf("APM:SaveRestore - %x\n",(ULONG)pkt->FuncCode);
    }
    pkt->rph.Status |= STDON;

}

 dd    OFFSET FLAT:SaveRestore  ; Command code 20h SaveRestore

 

Please share information with other developers how to:

  • How to process command line parameters?
  • How to gather log, so user can call: copy acpica$ acpi.log
  • How to register driver in resource manager? So users can see it via rmview /IRQ

Programming PCI devices

To create new driver, you need

Wakeup PCI devices

Examples:

  • Wake up sleeping PCI devices at boot time (by Veit) driver, source code
  • Source code of USB drivers (DDK)

Read/write ports from Ring3

Example how to read/write to the ports

Маппинг физической памяти в линейный

В результате этой операции подставляется данный физический адрес под некоторый линейный адрес. Пример мапинга через драйвер SCREEN$ (thx LightElf)

Driver debugging

if you are going to do driver debugging, a trap dump partition is a must have. It will save you a lot of time. A usable kernel debugger setup will save you a even more time, but this can be problematic on newer systems that lack a serial port.
Read details: OS/2 Diagnostic Tools and Tips by Steven Levine.

Useful links

 

 
Обучение новичков

Списки протестированного OS/2 оборудования

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2021 eCo Software, All rights reserved
Сибирский Медведь технологическая компания
eComStation is a registered trademark of Serenity Systems International
OS/2 Warp is a registered trademark of IBM Corporation
ArcaOS is a registered trademark of Arca Noae
 

 

 
Картинка дня: