en:docs:win16:logo

This is part of Win16 API which allow to create versions of program from one source code to run under OS/2 and Win16. Under OS/2 program can be running under Win-OS/2 if program is Windows NE executable, and with help on Windows Libraries for OS/2, if it is OS/2 NE executable. Here is a WLO to OS/2 API mapping draft

2021/09/01 04:23 · prokushev · 0 Comments

Windows LOGO file is a raw binary with following structure

Offset Description
0 'LOGO' signature
4 Draw logo entry point
7 Restore screen entry point

On exit of Draw logo entry point ax contains address of last required byte for restore call. All higher this address can be discarded to save memory. Format of logo data can be any (depends on Draw Logo code)

DOS 7+ Boot Logo API:

Interrupt 2Fh - Multiplex

DOS-LOGO Support Input Output
Subservice Name Description Register Value Description
AX=4A32h BL 00h DOS-LOGO Is Session & Get Logo Checksum Check to see if the boot logo is active. Since the boot logo is invisible to programs and device drivers, this is the real way of knowing if the boot logo has been activated. The checksum is used internally by the operating system to see if the logo pixel data has been untouched. AX 0000h Logo is in session (turned on).
FFFFh Logo is not in session (turned off).
DX Checksum of the logo's pixels in video ram (A000h:8000h) from when it was first drawn. Compare this checksum against the current video ram's checksum to see if the logo can be put back into session once more.
01h DOS-LOGO Resume Session DOS-LOGO allows the operating system and device drivers to have priority access to the interrupt table when the boot logo is in session. After the DOS-LOGO session has been paused, use this subservice to resume it.
Note: A paused DOS-LOGO session cannot restore the video mode.
N/A
02h DOS-LOGO Pause Session The operating system or other device drivers might want the priority to the interrupt table when the boot logo is in session. Pausing the boot logo will not change the video mode, but will allow access to unmodified DOS-LOGO resources. Use subservice 01h (DOS-LOGO ResumeSession) to actiavate the boot logo after it has been paused. N/A
03h DOS-LOGO Restore Previous Video Mode A DOS-LOGO session will automatically restore the previous video mode and its text if the user presses the keyboard key Escape, or if the current running program requests user input.
But in order for a program or device driver to restore the video mode in other ways, calling this subservice is the correct way to do it.
Note: Changing video mode from a program/device driver during a DOS-LOGO session will not restore the previous video mode and its text.
N/A
04h DOS-LOGO Turn On Session The operating system calls this subservice to start the DOS-LOGO session, meaning that the boot logo will be animated and can be aborted by the user pressing the keyboard key Escape. The return value is the previous animation rotation info from when the boot logo was last in session.
Note: This subservice is used in complex redisplay boot logo operations by the operating system. It is only supported for backward compatibility.
Use subservice 06h (DOS-LOGO Redisplay and Enter Session).
AX The animation rotation info from the previous session.
05h DOS-LOGO Turn Off Session Turns off the DOS-LOGO session. N/A
06h DOS-LOGO Redisplay and Enter Session This subservice is new for the DOS-LOGO device driver. It does the hard work of redisplaying the boot logo once it has been aborted by a program or by the user. In order for a boot logo to be redisplayed, the video ram must have been untouched since the last time the boot logo was displayed. A graphics mode switch without the 7th bit turned on will cause the video buffer to be erased, thus destroying the logo's loaded pixel art.
DOS-LOGO Redisplay and Enter Session does all of the work from the subservices above. Therefore use this subservice in first hand. When it comes to redisplaying the boot logo, the above subservices are left for backward compatibility only.
N/A