VirtualBox

Changeset 67694 in vbox for trunk/src/VBox/Devices/PC


Ignore:
Timestamp:
Jun 29, 2017 12:38:16 PM (8 years ago)
Author:
vboxsync
Message:

BIOS: INT 13h, INT 15h always returns with interrupts enabled.

Location:
trunk/src/VBox/Devices/PC/BIOS
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/disk.c

    r63562 r67694  
    132132
    133133    BX_DEBUG_INT13_HD("%s: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", __func__, AX, BX, CX, DX, ES);
     134
     135    SET_IF();   /* INT 13h always returns with interrupts enabled. */
    134136
    135137    bios_dsk = read_word(0x0040,0x000E) :> &EbdaData->bdisk;
  • trunk/src/VBox/Devices/PC/BIOS/floppy.c

    r67069 r67694  
    474474    BX_DEBUG_INT13_FL("%s: AX=%04x BX=%04x CX=%04x DX=%04x ES=%04x\n", __func__, AX, BX, CX, DX, ES);
    475475
     476    SET_IF();   /* INT 13h always returns with interrupts enabled. */
     477
    476478    switch ( GET_AH() ) {
    477479    case 0x00: // diskette controller reset
  • trunk/src/VBox/Devices/PC/BIOS/notes.txt

    r60610 r67694  
    1414- Keystroke check (INT 16h, fn 01h/10h) always enables interrupts on return.
    1515  DOS POWER.EXE depends on that in some situations.
     16
     17- MS-DOS 5.0/V setup assumes that INT 13h always returns with interrupts
     18  enabled.
     19
     20- INT 15h also always returns with interrupts enabled (even for unsupported
     21  functions).
    1622
    1723- MS-DOS 6.2/V is a rare user of the INT 15h keyboard intercept routines.
  • trunk/src/VBox/Devices/PC/BIOS/orgs.asm

    r67490 r67694  
    17641764                mov     bp, sp
    17651765                and     byte ptr [bp + 6], 0FEh
     1766                or      word ptr [bp + 6], 0200h
    17661767                pop     bp
    17671768                iret
     
    17691770                push    bp
    17701771                mov     bp, sp
    1771                 or      byte ptr [bp + 6], 1
     1772                or      word ptr [bp + 6], 0201h
    17721773                pop     bp
    17731774                iret
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette