Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
en:docs:os2:api:vio [2021/09/14 09:47] – prokushev | en:docs:os2:api:vio [2021/09/14 09:51] (current) – prokushev | ||
---|---|---|---|
Line 78: | Line 78: | ||
Return to application | Return to application | ||
</ | </ | ||
+ | |||
In OS/2 2.0 and later VIO still 16-bit. In late OS/2 versions (3.x?) actual code of Video subsystem and Base Video Subsysten was moved to DOSCALLS.DLL (see Fig). VIOCALLS and BVSCALLS is a forwarders to DOSCALLS. | In OS/2 2.0 and later VIO still 16-bit. In late OS/2 versions (3.x?) actual code of Video subsystem and Base Video Subsysten was moved to DOSCALLS.DLL (see Fig). VIOCALLS and BVSCALLS is a forwarders to DOSCALLS. | ||
- | |||
- | < | ||
- | Application calls VioGetAnsi in VIOCALLS | ||
- | VIOCALLS forwards to DOSCALLs | ||
- | VioGetAnsi calls VioRoute | ||
- | if AVS registered then VioRoute calls AVS VioGetAnsi | ||
- | if AVS VioGetAnsi requires to call BVS then VioRouter сalls BVS VioGetAnsi | ||
- | BVSCALLS forwards to DOSCALLS | ||
- | else VioRouter calls BVS VioGetAnsi | ||
- | BVSCALLS forwards to DOSCALLS | ||
- | |||
- | Return to application | ||
- | </ | ||
As not part of official OS/2 distribution three independed versions of 32-to-16 bit wrapper subsystems was developed (See Fig). EXMWRAP.DLL was part of eComstation 1.0 and later releases. | As not part of official OS/2 distribution three independed versions of 32-to-16 bit wrapper subsystems was developed (See Fig). EXMWRAP.DLL was part of eComstation 1.0 and later releases. | ||
- | |||
< | < | ||
Line 123: | Line 110: | ||
|DDD|DDD=Global Video Subsystem | |DDD|DDD=Global Video Subsystem | ||
</ | </ | ||
+ | |||
+ | < | ||
+ | Application calls VioGetAnsi in VIOCALLS | ||
+ | VIOCALLS forwards to DOSCALLS | ||
+ | VioGetAnsi calls VioRoute | ||
+ | if AVS registered then | ||
+ | VioRoute calls AVS VioGetAnsi | ||
+ | if AVS VioGetAnsi requires to call BVS then | ||
+ | VioRouter сalls BVS VioGetAnsi | ||
+ | BVSCALLS forwards to DOSCALLS | ||
+ | else | ||
+ | VioRouter calls BVS VioGetAnsi | ||
+ | BVSCALLS forwards to DOSCALLS | ||
+ | If GVS registered then | ||
+ | VioRouter calls GVS VioGetAnsi | ||
+ | Return to application | ||
+ | </ | ||
osFree attempts to combine all aproaches and provide following callflow | osFree attempts to combine all aproaches and provide following callflow |