Welcome to eComStation.RU site!

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

Frequently asked questions and answers:

eComStation.RU

ru · en · de · es · it · pt · cz · pl · fr
eComStation is a greatly different operating system for PC (IBM OS/2 Warp)
Applications, news, reviews, support of users, hardware, questions and answers.
 
      What is OS/2?NewsInstallUpdateUsageFutureCommunityBuy    
(Map of the site)

 
 
Report: OS/2 compatible hardware

 
Update

 
Applications

 
Advantages:

 
For developer:

 
( )

 
Companies:

 
History:

 
()

 
Advice:

 
( )

 
Technologies:

 
( , , ..)

 

 
Solutions

 
New eComStation:

 
Future:

 
( )

 
( )

 
OS/2 artefacts:

 
Gadgets:

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

Mapping physical memory to linear

Use this method (via SCREEN$) memory mapping via 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

 

 
For dummies

Database of OS/2 compatible hardware

 
Reviews


     
  Why eComStation?
Features
Advantages
Usage
Clips and screenshots
   eComStation for
for businessmen
for students and engineers
for reselles of computers
community of users
   Developer
Distribute the program
Description of API, libraries
Start new project
Competition
   Applications
On-line catalogue
Select from eCo Market
   Support service
Contact the web-master
Buy eComStation
Frequently asked questions
for Beginners
 
 
© 2001 - 2014 eCo Software, All rights reserved
eComStation is a registered trademark of Serenity Systems International
OS/2 Warp is a registered trademark of IBM Corporation
 

 

 
Picture of the day: