Add support for Print Screen key and interrupt. The keypress allows Descent 1 and 2 ingame screenshot feature to be used, the keypress and interrupt allow the Horror Hotel (TSR text adventure) hotkey to work, and the compatible interrupt handler location fixes a game bug in The Forgotten Land.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3961
This commit is contained in:
parent
18f5c4c565
commit
26dd1635b5
5 changed files with 39 additions and 2 deletions
|
@ -256,7 +256,15 @@ Bitu CALLBACK_SetupExtra(Bitu callback, Bitu type, PhysPt physAddress, bool use_
|
|||
phys_writew(physAddress+0x0b,(Bit16u)0x20e6); // out 0x20, al
|
||||
phys_writeb(physAddress+0x0d,(Bit8u)0x58); // pop ax
|
||||
phys_writeb(physAddress+0x0e,(Bit8u)0xcf); //An IRET Instruction
|
||||
return (use_cb?0x15:0x0f);
|
||||
phys_writeb(physAddress+0x0f,(Bit8u)0xfa); // cli
|
||||
phys_writew(physAddress+0x10,(Bit16u)0x20b0); // mov al, 0x20
|
||||
phys_writew(physAddress+0x12,(Bit16u)0x20e6); // out 0x20, al
|
||||
phys_writeb(physAddress+0x14,(Bit8u)0x55); // push bp
|
||||
phys_writew(physAddress+0x15,(Bit16u)0x05cd); // int 5
|
||||
phys_writeb(physAddress+0x17,(Bit8u)0x5d); // pop bp
|
||||
phys_writeb(physAddress+0x18,(Bit8u)0x58); // pop ax
|
||||
phys_writeb(physAddress+0x19,(Bit8u)0xcf); //An IRET Instruction
|
||||
return (use_cb?0x20:0x1a);
|
||||
case CB_IRQ9: // pic cascade interrupt
|
||||
if (use_cb) {
|
||||
phys_writeb(physAddress+0x00,(Bit8u)0xFE); //GRP 4
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue