Compiler: Masmv8.2
Hi there..
I want to know how i can stay in BlueScreenMode and how i can write custom messages to the blue screen without a default message. (using shellmessage in vmm.inc)The main Goal is that i can ENTER blue screenmode.And i must be able 2 write strings 2 it!After i call lets say a function i must be able to exit the blue screen mode.I use loader.asm and Deviceio(handle,ID,,,,,where id = Function_doBlueScreenPopup equ 4 etc.
Thanks Josh
Hi there..
I want to know how i can stay in BlueScreenMode and how i can write custom messages to the blue screen without a default message. (using shellmessage in vmm.inc)The main Goal is that i can ENTER blue screenmode.And i must be able 2 write strings 2 it!After i call lets say a function i must be able to exit the blue screen mode.I use loader.asm and Deviceio(handle,ID,,,,,where id = Function_doBlueScreenPopup equ 4 etc.
Thanks Josh
To enter blue screen mode, you must send system control message 0x10.
Now, you can use the following functions to draw to the screen:
VDD_Msg_ClrScrn (EAX=background color, EBX=VM handle)
Clears the screen
VDD_Msg_BakColor (EAX=background color, EBX=VM handle)
Sets the text background color
VDD_Msg_ForColor (EAX=foreground color, EBX=VM handle)
Sets the text foreground color
VDD_Msg_SetCursPos (EAX=row, EDX=column, EBX=VM handle)
Sets the cursor position
VDD_Msg_TextOut (EAX=row, ECX=length, EDX=column, EBX=VM handle, ESI=string)
The following functions do keyboard related tasks:
VKD_Get_Msg_Key (EBX=must be the virtual machine that has the keyboard focus)
Returns a scan code in AL and some flags in AH. Bits 2, 3, 4 and 7 indicate shift, ctrl, alt and extended keys respectively.
If no key was pressed, this function returns 0.
VKD_Peek_Msg_Key (EBX=same as above)
This does the same as the previous function, but doesn't remove the key.
VKD_Flush_Msg_Key_Queue (EBX=same as above)
This function flushes the key queue.
When you're done, send system control message 0x11.
Now, you can use the following functions to draw to the screen:
VDD_Msg_ClrScrn (EAX=background color, EBX=VM handle)
Clears the screen
VDD_Msg_BakColor (EAX=background color, EBX=VM handle)
Sets the text background color
VDD_Msg_ForColor (EAX=foreground color, EBX=VM handle)
Sets the text foreground color
VDD_Msg_SetCursPos (EAX=row, EDX=column, EBX=VM handle)
Sets the cursor position
VDD_Msg_TextOut (EAX=row, ECX=length, EDX=column, EBX=VM handle, ESI=string)
The following functions do keyboard related tasks:
VKD_Get_Msg_Key (EBX=must be the virtual machine that has the keyboard focus)
Returns a scan code in AL and some flags in AH. Bits 2, 3, 4 and 7 indicate shift, ctrl, alt and extended keys respectively.
If no key was pressed, this function returns 0.
VKD_Peek_Msg_Key (EBX=same as above)
This does the same as the previous function, but doesn't remove the key.
VKD_Flush_Msg_Key_Queue (EBX=same as above)
This function flushes the key queue.
When you're done, send system control message 0x11.