GAMESRVR is a full-screen support library for DIVE game applications.
Program is distributed as ZIP package: download to temporary directory and unpack to destination folder. See below for download link(s).
Following ones are the download links for manual installation:
GAMESRVR (12/9/1995, International Business Machines Corporation (IBM)) | Readme/What's new |
GAMESRVR.DLL -- Full-screen support for DIVE game applications
Overview:
---------
The purpose of the GameSrvr is to support games in video modes other
than that used by the OS/2 desktop. The reason for this is quite
simple: SPEED.
Most games on the market today use the 320x200x256 VGA mode. There are
a number of reasons for using this mode that outweigh the mediocre
resolution of 320 by 200 pels in 256 colors.
Compatibility: This mode exists on all VGA and SuperVGA cards.
Ease of Use: This mode uses a flat frame buffer and exactly one byte
per pel. This greatly simplifies the coding of graphics routines,
since hardware registers and bit packing can be ignored.
Speed: Not only are the graphics algorithms faster due to their
simplicity, but the buffer is only 64000 bytes. Compare this to a
typical desktop resolution of 1024x768x256 with a frame buffer of
786432 bytes, more than 12 times larger and slower. If the
resolution or number of colors is increased, this will only get
worse.
By using the functions provided by the GameSrvr, PM programs can be
written to use the full screen without paying the penalty of a large
frame buffer.
Installation and Use:
---------------------
To install the GameSrvr, run GSRVINST.EXE to perform the following
steps:
Copy GAMESRVR.DLL and DIVE.DLL to d:\OS2\DLL, where d is the boot
drive.
Add the GAMESRVR key to the PM_ED_HOOKS application in OS2.INI with
the key value of d:\OS2\DLL\GAMESRVR.DLL, where d is the boot drive.
If SVGADATA.PMI exists in the d:\OS2 directory, copy SVGA.EXE to
d:\OS2, then execute SVGA ON INIT to rebuild the SVGADATA.PMI file,
adding the 320x200x256 mode.
Depending on the video card that you have installed, the installation may
end in the full-screen DOS session where SVGA.EXE was executed. If so,
you should type EXIT to return to your OS/2 session.
The system will have to be rebooted to allow these changes to take
effect. Applications written to use the GameSrvr will automatically
take advantage of its presence.
Once an application has initialized with GameSrvr, the user can switch
to full screen mode by hitting "ALT + HOME" ( Only the home key on the
key pad will work ). This mechanism is supported by GameSrvr directly.
An application can also provide a user interface that takes advantage
of GameSrvr APIs to switch to full screen mode.
Programming:
------------
The GameSrvr is loaded at execution time by performing a DosLoadModule
on GAMESRVR. If this is successful, the address of the
InitGameFrameProc routine my be queried using DosQueryProcAddr. When
you call this routine with the handle of the frame window of the
application, it subclasses the frame window procedure. This allows the
GameSrvr to process all messages sent to the application, especially
focus change messages which may require restoration of the original
desktop mode.
Communication with the GameSrvr is through the following three messages:
WM_SetVideoMode (0x04A0)
This message uses mp1 to select either one of the preset game window
styles or a specific video mode, as extracted from the table of
supported video modes.
mp1 == 0 restores the original mode of the desktop, as well as the
original size and location of the application's window.
mp1 == 1 restores the original mode of the desktop, but expands the
size of the client window so that only the client window
and the command bar are visible.
mp1 == 2 expands the client window to fill the screen, then sets the
video mode to the standard 320x200x256 game mode.
mp1 > 2 expands the client window to fill the screen, then sets the
video mode defined by the VIDEOMODEINFO structure addressed
by mp1.
The return value from this message is 1, if successful, otherwise 0.
WM_NotifyVideoModeChange (0x04A1)
This message is generated by the GameSrvr to notify the application
immediately before and again immediately after a video mode change.
mp1 == 0 indicates that the video mode is about to change.
mp1 == 1 indicates that the video mode change is complete.
In both cases, mp2 contains the address of the VIDEOMODEINFO
structure which describes the video mode or 0 or 1, as described for
the WM_SetVideoMode message. The value of 2 will never be returned.
Instead it is transformed into a pointer to a VIDEOMODEINFO
structure.
The return value of this message is ignored.
WM_GetVideoModeTable (0x04A2)
This message is used only if you wish to select a video mode other
than the standard 320x200x256 mode.
mp1 is the address of a PVOID to receive the address of an array of
VIDEOMODEINFO structures describing all of the modes
supported by the current display card. This array is
allocated for you. You may delete it yourself or allow it
to be automatically deleted at process termination.
mp2 is the address of a ULONG to receive the number of structures in
the array that was allocated.
The return value from this message is 1, if successful, otherwise 0.
|
hobbes.nmsu.edu/download/pub/os2/dev/runtimes/graphics/GAMESRVR_1995-09-12.zip | local copy |
This work is licensed under a Creative Commons Attribution 4.0 International License.
Comments
Martin Iturbide
Sat, 02/09/2023 - 05:28
Permalink
New Link: https://hobbes.nmsu
Add new comment